diff options
-rw-r--r-- | Makefile.inc1 | 1 | ||||
-rw-r--r-- | share/mk/bsd.lib.mk | 11 |
2 files changed, 9 insertions, 3 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1 index abf4c18..ba1ee13 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -227,6 +227,7 @@ XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} -DNO_FORTRAN -DNO_GDB # world stage WMAKEENV= ${CROSSENV} \ DESTDIR=${WORLDTMP} \ + _SHLIBDIRPREFIX=${WORLDTMP} \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} WMAKE= ${WMAKEENV} ${MAKE} -f Makefile.inc1 diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 58bce19..a13df73 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -208,10 +208,15 @@ _libinstall: ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \ ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR} .if defined(SHLIB_LINK) - ln -fs ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK} -.if (${LIBDIR} != ${SHLIBDIR}) - ln -fs ${LIBDIR:C|/[^/]+|/..|g:S|^/||}${SHLIBDIR}/${SHLIB_NAME} \ +.if ${SHLIBDIR} == ${LIBDIR} + ln -fs ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK} +.else + ln -fs ${_SHLIBDIRPREFIX}${SHLIBDIR}/${SHLIB_NAME} \ ${DESTDIR}${LIBDIR}/${SHLIB_LINK} +.if exists(${DESTDIR}${LIBDIR}/${SHLIB_NAME}) + -chflags noschg ${DESTDIR}${LIBDIR}/${SHLIB_NAME} + rm -f ${DESTDIR}${LIBDIR}/${SHLIB_NAME} +.endif .endif .endif .endif |