diff --git a/mk/pkginstall/bsd.pkginstall.mk b/mk/pkginstall/bsd.pkginstall.mk index 21be90142325..c61eb4f55457 100644 --- a/mk/pkginstall/bsd.pkginstall.mk +++ b/mk/pkginstall/bsd.pkginstall.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkginstall.mk,v 1.28 2007/07/23 15:23:47 jlam Exp $ +# $NetBSD: bsd.pkginstall.mk,v 1.29 2007/07/27 18:37:35 jlam Exp $ # # This Makefile fragment is included by bsd.pkg.mk and implements the # common INSTALL/DEINSTALL scripts framework. To use the pkginstall @@ -686,6 +686,46 @@ ${_INSTALL_SHELL_FILE}: ../../mk/pkginstall/shell ${TOUCH} ${TOUCH_ARGS} ${.TARGET}; \ fi +# SHLIB_TYPE +# The type of shared library supported by the platform. +# +# Default value: ${_OPSYS_SHLIB_TYPE} +# +# LDCONFIG_ADD_CMD +# LDCONFIG_REMOVE_CMD +# Command-line to be invoked to update the system run-time library +# search paths database when adding and removing a package. +# +# Default value: ${LDCONFIG} +# +SHLIB_TYPE= ${_SHLIB_TYPE_cmd:sh} +_SHLIB_TYPE_cmd= \ + ${SETENV} PKG_INFO_CMD=${PKG_INFO_CMD:Q} \ + ${SH} ${.CURDIR}/../../mk/scripts/shlib-type ${_OPSYS_SHLIB_TYPE:Q} + +LDCONFIG_ADD_CMD?= ${_LDCONFIG_ADD_CMD.${OPSYS}} +LDCONFIG_REMOVE_CMD?= ${_LDCONFIG_REMOVE_CMD.${OPSYS}} +_LDCONFIG_ADD_CMD.${OPSYS}?= ${LDCONFIG} +_LDCONFIG_REMOVE_CMD.${OPSYS}?= ${LDCONFIG} +FILES_SUBST+= LDCONFIG_ADD_CMD=${LDCONFIG_ADD_CMD:Q} +FILES_SUBST+= LDCONFIG_REMOVE_CMD=${LDCONFIG_REMOVE_CMD:Q} + +.if ${SHLIB_TYPE} == "a.out" +RUN_LDCONFIG?= yes +.else +RUN_LDCONFIG?= no +.endif + +_INSTALL_SHLIBS_FILE= ${_PKGINSTALL_DIR}/shlibs +.if !empty(RUN_LDCONFIG:M[Yy][Ee][Ss]) +_INSTALL_UNPACK_TMPL+= ${_INSTALL_SHLIBS_FILE} +.endif + +${_INSTALL_SHLIBS_FILE}: ../../mk/pkginstall/shlibs + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} + ${_PKG_SILENT}${_PKG_DEBUG} \ + ${SED} ${FILES_SUBST_SED} ../../mk/pkginstall/shlibs > ${.TARGET} + # FONTS_DIRS. are lists of directories in which the font databases # are updated. If this is non-empty, then the appropriate tools is # used to update the fonts database for the font type. The supported diff --git a/mk/plist/shlibs b/mk/pkginstall/shlibs similarity index 95% rename from mk/plist/shlibs rename to mk/pkginstall/shlibs index d9a90f955253..be36408b88b2 100644 --- a/mk/plist/shlibs +++ b/mk/pkginstall/shlibs @@ -1,4 +1,4 @@ -# $NetBSD: shlibs,v 1.1 2007/07/23 15:23:48 jlam Exp $ +# $NetBSD: shlibs,v 1.7 2007/07/27 18:37:35 jlam Exp $ # # Generate a +SHLIBS script that updates the system run-time library # search paths database for the package. diff --git a/mk/plist/plist.mk b/mk/plist/plist.mk index 25b652ef34f6..5b2651e1f626 100644 --- a/mk/plist/plist.mk +++ b/mk/plist/plist.mk @@ -1,4 +1,4 @@ -# $NetBSD: plist.mk,v 1.28 2007/07/23 15:23:48 jlam Exp $ +# $NetBSD: plist.mk,v 1.29 2007/07/27 18:37:35 jlam Exp $ # # This Makefile fragment handles the creation of PLISTs for use by # pkg_create(8). @@ -157,13 +157,6 @@ _SHLIB_AWKFILE.a.out= ${.CURDIR}/../../mk/plist/shlib-aout.awk _SHLIB_AWKFILE.dylib= ${.CURDIR}/../../mk/plist/shlib-dylib.awk _SHLIB_AWKFILE.none= ${.CURDIR}/../../mk/plist/shlib-none.awk -# SHLIB_TYPE is the type of shared library supported by the platform. -SHLIB_TYPE= ${_SHLIB_TYPE_cmd:sh} -_SHLIB_TYPE_cmd= \ - ${SETENV} ECHO=${TOOLS_ECHO:Q} FILE_CMD=${TOOLS_FILE_CMD:Q} \ - TEST=${TOOLS_TEST:Q} PKG_INFO_CMD=${PKG_INFO_CMD:Q} \ - ${SH} ${.CURDIR}/../../mk/scripts/shlib-type ${_OPSYS_SHLIB_TYPE:Q} - ###################################################################### # GENERATE_PLIST is a sequence of commands, terminating in a semicolon, @@ -258,33 +251,3 @@ INFO_FILES_cmd= \ ${SETENV} ${_PLIST_AWK_ENV} ${AWK} ${_PLIST_INFO_AWK} | \ ${AWK} '($$0 !~ "-[0-9]*(\\.gz)?$$") { print }' .endif - -# LDCONFIG_ADD_CMD -# LDCONFIG_REMOVE_CMD -# Command-line to be invoked to update the system run-time library -# search paths database when adding and removing a package. -# -# Default value: ${LDCONFIG} -# -LDCONFIG_ADD_CMD?= ${_LDCONFIG_ADD_CMD.${OPSYS}} -LDCONFIG_REMOVE_CMD?= ${_LDCONFIG_REMOVE_CMD.${OPSYS}} -_LDCONFIG_ADD_CMD.${OPSYS}?= ${LDCONFIG} -_LDCONFIG_REMOVE_CMD.${OPSYS}?= ${LDCONFIG} -FILES_SUBST+= LDCONFIG_ADD_CMD=${LDCONFIG_ADD_CMD:Q} -FILES_SUBST+= LDCONFIG_REMOVE_CMD=${LDCONFIG_REMOVE_CMD:Q} - -.if ${SHLIB_TYPE} == "a.out" -RUN_LDCONFIG?= yes -.else -RUN_LDCONFIG?= no -.endif - -_INSTALL_SHLIBS_FILE= ${_PKGINSTALL_DIR}/shlibs -.if !empty(RUN_LDCONFIG:M[Yy][Ee][Ss]) -_INSTALL_UNPACK_TMPL+= ${_INSTALL_SHLIBS_FILE} -.endif - -${_INSTALL_SHLIBS_FILE}: ../../mk/plist/shlibs - ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} - ${_PKG_SILENT}${_PKG_DEBUG} \ - ${SED} ${FILES_SUBST_SED} ../../mk/pkginstall/shlibs > ${.TARGET}