summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/buildlink2/bsd.buildlink2.mk9
-rw-r--r--mk/buildlink2/fake-la12
2 files changed, 18 insertions, 3 deletions
diff --git a/mk/buildlink2/bsd.buildlink2.mk b/mk/buildlink2/bsd.buildlink2.mk
index 8985039ea5c..fa33dce0f6d 100644
--- a/mk/buildlink2/bsd.buildlink2.mk
+++ b/mk/buildlink2/bsd.buildlink2.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.buildlink2.mk,v 1.41 2002/10/13 07:13:42 jlam Exp $
+# $NetBSD: bsd.buildlink2.mk,v 1.42 2002/10/18 15:41:08 jlam Exp $
#
# An example package buildlink2.mk file:
#
@@ -933,6 +933,12 @@ ${_BLNK_LIBTOOL_FIX_LA}: ${.CURDIR}/../../mk/buildlink2/libtool-fix-la
${.ALLSRC} > ${.TARGET}.tmp
${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET}
+.if ${OBJECT_FMT} == "a.out"
+_RESET_LD_SO_CACHE?= ${LDCONFIG}
+.else
+_RESET_LD_SO_CACHE?= ${TRUE}
+.endif
+
${_BLNK_FAKE_LA}: ${.CURDIR}/../../mk/buildlink2/fake-la
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
${_PKG_SILENT}${_PKG_DEBUG}${SED} \
@@ -944,6 +950,7 @@ ${_BLNK_FAKE_LA}: ${.CURDIR}/../../mk/buildlink2/fake-la
-e "s|@DIRNAME@|${DIRNAME:Q}|g" \
-e "s|@ECHO@|${ECHO:Q}|g" \
-e "s|@EGREP@|${EGREP:Q}|g" \
+ -e "s|@RESET_LD_SO_CACHE@|${_RESET_LD_SO_CACHE:Q}|g" \
-e "s|@LIBTOOL@|${BUILDLINK_LIBTOOL:Q}|g" \
-e "s|@MKDIR@|${MKDIR:Q}|g" \
-e "s|@MV@|${MV:Q}|g" \
diff --git a/mk/buildlink2/fake-la b/mk/buildlink2/fake-la
index da40f702f3b..84b2bb5d0e8 100644
--- a/mk/buildlink2/fake-la
+++ b/mk/buildlink2/fake-la
@@ -1,6 +1,6 @@
#!@BUILDLINK_SHELL@
#
-# $NetBSD: fake-la,v 1.1 2002/09/18 00:46:59 jlam Exp $
+# $NetBSD: fake-la,v 1.2 2002/10/18 15:41:08 jlam Exp $
BASENAME="@BASENAME@"
CC="@CC@"
@@ -34,7 +34,15 @@ if [ ! -f $tmpdir/inst/$libbase.la ]; then
esac
${MKDIR} $tmpdir/inst
cd $tmpdir
- ${LIBTOOL} ${CC} -o $libbase.la -rpath $tmpdir/inst -version-info $version
+ ${ECHO} "static int i;" > nonempty.c # create a nonempty input file
+ ${LIBTOOL} --mode=compile ${CC} -c nonempty.c
+ ${LIBTOOL} ${CC} -o $libbase.la nonempty.lo -rpath $tmpdir/inst -version-info $version
${LIBTOOL} --mode=install ${CP} $libbase.la $tmpdir/inst >/dev/null
+
+ # Reset the ld.so cache as "libtool --mode=install" may have executed
+ # ldconfig to add "$tmpdir/inst" to the cache.
+ #
+ @RESET_LD_SO_CACHE@ >/dev/null 2>&1
+
fi
${SED} -e "s,$tmpdir/inst,$realdir,g" $tmpdir/inst/$libbase.la