diff options
-rw-r--r-- | mk/pbulk/pbulk-index.mk | 10 | ||||
-rw-r--r-- | mk/pkg-build-options.mk | 11 |
2 files changed, 17 insertions, 4 deletions
diff --git a/mk/pbulk/pbulk-index.mk b/mk/pbulk/pbulk-index.mk index 45c76d642fa..61a70320be7 100644 --- a/mk/pbulk/pbulk-index.mk +++ b/mk/pbulk/pbulk-index.mk @@ -1,4 +1,4 @@ -# $NetBSD: pbulk-index.mk,v 1.22 2016/09/08 15:19:18 joerg Exp $ +# $NetBSD: pbulk-index.mk,v 1.23 2016/12/17 23:41:52 joerg Exp $ # This Makefile fragment is included by bsd.pkg.mk and provides all # variables and targets related to the parallel bulk build @@ -104,6 +104,12 @@ pbulk-index: ${_PBULK_MULTI_NEEDED:@._t.@;done@} .endif +.if defined(PBULK_CACHE_DIRECTORY) +_PBULK_SCAN_DEPENDS= ${.MAKE.MAKEFILES:N${PBULK_CACHE_DIRECTORY}/*} +.else +_PBULK_SCAN_DEPENDS= ${.MAKE.MAKEFILES} +.endif + pbulk-index-item: @echo "PKGNAME="${PKGNAME:Q} @echo "ALL_DEPENDS="${_ALL_DEPENDS:Q} @@ -116,7 +122,7 @@ pbulk-index-item: @echo "USE_DESTDIR="${_USE_DESTDIR:Q} @echo "BOOTSTRAP_PKG="${BOOTSTRAP_PKG} @echo "USERGROUP_PHASE="${USERGROUP_PHASE:Q} - @echo "SCAN_DEPENDS="${.MAKE.MAKEFILES:Q} + @echo "SCAN_DEPENDS="${_PBULK_SCAN_DEPENDS:Q} .if defined(_PBULK_MULTI_NEEDED) @printf "MULTI_VERSION=" .for _t in ${_PBULK_MULTI_NEEDED} diff --git a/mk/pkg-build-options.mk b/mk/pkg-build-options.mk index ba0417acc3f..b4de4bfdded 100644 --- a/mk/pkg-build-options.mk +++ b/mk/pkg-build-options.mk @@ -1,4 +1,4 @@ -# $NetBSD: pkg-build-options.mk,v 1.10 2016/07/09 09:54:27 rillig Exp $ +# $NetBSD: pkg-build-options.mk,v 1.11 2016/12/17 23:41:51 joerg Exp $ # # This procedure determines the PKG_OPTIONS that have been in effect # when the package ${pkgbase} has been built. When the package is not @@ -40,13 +40,20 @@ PKG_FAIL_REASON+= "[pkg-build-options.mk] This file may only be included from a . endfor .else . for b in ${pkgbase} +. if !defined(PKG_BUILD_OPTIONS.${b}) && defined(PBULK_CACHE_DIRECTORY) +.sinclude "${PBULK_CACHE_DIRECTORY}/build-options.${b}" +. endif . if !defined(PKG_BUILD_OPTIONS.${b}) PKG_BUILD_OPTIONS.${b}!= \ echo ""; \ ${PKG_INFO} -Q PKG_OPTIONS ${b} 2>/dev/null \ || { cd ${BUILDLINK_PKGSRCDIR.${b}} \ && ${MAKE} ${MAKEFLAGS} show-var VARNAME=PKG_OPTIONS; } - +. if defined(PBULK_CACHE_DIRECTORY) +_PKG_BUILD_OPTIONS.${b}!= \ + echo PKG_BUILD_OPTIONS.${b:Q}=${PKG_BUILD_OPTIONS.${b:Q}} > ${PBULK_CACHE_DIRECTORY:Q}/build-options.${pkgbase}.$$$$; \ + mv ${PBULK_CACHE_DIRECTORY:Q}/build-options.${pkgbase}.$$$$ ${PBULK_CACHE_DIRECTORY:Q}/build-options.${pkgbase} +. endif MAKEFLAGS+= PKG_BUILD_OPTIONS.${b}=${PKG_BUILD_OPTIONS.${b}:Q} . endif |