From caf51240519139a5dd2067f7545adbb246f36194 Mon Sep 17 00:00:00 2001 From: jlam Date: Sat, 30 Aug 2003 10:22:00 +0000 Subject: Protect references to ${PREFIX} and ${X11BASE} directories from being removed when unbuildlinkifying files. Also properly convert -[IL]${DEPOTBASE}//path to -[IL]${BUILDLINK_DIR}/path in the seeded cache so that we can properly use pkgviews packages as dependencies for overwrite packages. --- mk/buildlink3/bsd.buildlink3.mk | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) (limited to 'mk') diff --git a/mk/buildlink3/bsd.buildlink3.mk b/mk/buildlink3/bsd.buildlink3.mk index 8ea7480b866..8f7ed28fa3e 100644 --- a/mk/buildlink3/bsd.buildlink3.mk +++ b/mk/buildlink3/bsd.buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.buildlink3.mk,v 1.1.2.29 2003/08/30 07:53:07 jlam Exp $ +# $NetBSD: bsd.buildlink3.mk,v 1.1.2.30 2003/08/30 10:22:00 jlam Exp $ # # An example package buildlink3.mk file: # @@ -422,7 +422,7 @@ CONFIGURE_ENV+= BUILDLINK_UPDATE_CACHE=no # The caching code, which greatly speeds up the build process, works only # on certain platforms. # -_BLNK_SEED_CACHE?= passthru transform # block +_BLNK_SEED_CACHE?= # passthru transform block _BLNK_CACHE_ALL= # empty _BLNK_CACHE_ALL+= Darwin-6*-* _BLNK_CACHE_ALL+= IRIX-*-* @@ -485,6 +485,12 @@ _BLNK_MANGLE_DIRS+= ${BUILDLINK_X11_DIR} _BLNK_MANGLE_DIRS+= ${WRKDIR} _BLNK_MANGLE_DIRS+= ${_BLNK_ALLOWED_RPATHDIRS} +# We only want these for the untransform case, so don't add these +# directories to _BLNK_{,UN}PROTECT_DIRS below. +# +_BLNK_MANGLE_DIRS+= ${PREFIX} +_BLNK_MANGLE_DIRS+= ${X11BASE} + _BLNK_MANGLE_START= _bUiLdLiNk_ _BLNK_MANGLE_END= \# .for _dir_ in ${_BLNK_MANGLE_DIRS} @@ -519,6 +525,13 @@ _BLNK_UNPROTECT_DIRS+= ${BUILDLINK_DIR} _BLNK_TRANSFORM+= mangle:${_dir_}:${_BLNK_MANGLE_DIR.${_dir_}} .endfor # +# Protect ${PREFIX} and ${X11BASE} from change when untransforming, e.g. +# when unbuildlinkifying files. +# +.for _dir_ in ${PREFIX} ${X11BASE} +_BLNK_TRANSFORM+= untransform:mangle:${_dir_}:${_BLNK_MANGLE_DIR.${_dir_}} +.endfor +# # Change references to ${DEPOTBASE}/ into ${LOCALBASE} so that # "overwrite" packages think headers and libraries for "pkgviews" packages # are just found in the default view. @@ -593,6 +606,13 @@ _BLNK_TRANSFORM+= no-rpath _BLNK_TRANSFORM+= rpath:${_BLNK_MANGLE_DIR.${_dir_}}:${_dir_} .endfor # +# Undo the protection for ${PREFIX} and ${X11BASE} so that the directory +# names are correct, e.g. when unbuildlinkifying files. +# +.for _dir_ in ${PREFIX} ${X11BASE} +_BLNK_TRANSFORM+= untransform:mangle:${_BLNK_MANGLE_DIR.${_dir_}}:${_dir_} +.endfor +# # Undo the protection so the correct directory names are passed to the # the wrappee. # @@ -1172,6 +1192,18 @@ ${_BLNK_WRAP_CACHE_ADD_TRANSFORM}: . endif # _BLNK_SEED_CACHE has "passthru" . if !empty(_BLNK_SEED_CACHE:Mtransform) . if ${PKG_INSTALLATION_TYPE} == "overwrite" + ${_PKG_SILENT}${_PKG_DEBUG} \ + ( ${ECHO} "-I${DEPOTBASE}/*)"; \ + ${ECHO} " arg=\"-I${BUILDLINK_DIR}/\$${arg#-I${DEPOTBASE}/[!/]*/}\""; \ + ${ECHO} " cachehit=yes"; \ + ${ECHO} " ;;"; \ + ) >> ${.TARGET} + ${_PKG_SILENT}${_PKG_DEBUG} \ + ( ${ECHO} "-L${DEPOTBASE}/*)"; \ + ${ECHO} " arg=\"-L${BUILDLINK_DIR}/\$${arg#-I${DEPOTBASE}/[!/]*/}\""; \ + ${ECHO} " cachehit=yes"; \ + ${ECHO} " ;;"; \ + ) >> ${.TARGET} ${_PKG_SILENT}${_PKG_DEBUG} \ ( ${ECHO} "-I${LOCALBASE}/*)"; \ ${ECHO} " arg=\"-I${BUILDLINK_DIR}/\$${arg#-I${LOCALBASE}/}\""; \ -- cgit v1.2.3