diff options
author | rillig <rillig@pkgsrc.org> | 2007-03-18 11:09:32 +0000 |
---|---|---|
committer | rillig <rillig@pkgsrc.org> | 2007-03-18 11:09:32 +0000 |
commit | 322a55983b1da5e5119466a6f5aa1a32385d3974 (patch) | |
tree | ee4263efa481a87f25760744515bf1bbc5626113 /mk | |
parent | e45eb01127646c23bcdf158d69b795b8549616b5 (diff) | |
download | pkgsrc-322a55983b1da5e5119466a6f5aa1a32385d3974.tar.gz |
Added a procedure to determine the build options of a package. This file
can be used instead of writing the same code in every package.
Diffstat (limited to 'mk')
-rw-r--r-- | mk/pkg-build-options.mk | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/mk/pkg-build-options.mk b/mk/pkg-build-options.mk new file mode 100644 index 00000000000..e288e2bb243 --- /dev/null +++ b/mk/pkg-build-options.mk @@ -0,0 +1,39 @@ +# $NetBSD: pkg-build-options.mk,v 1.1 2007/03/18 11:09:32 rillig Exp $ +# +# This procedure determines the PKG_OPTIONS that have been in effect +# when the package ${pkg} has been built. When the package is not yet +# installed, the current PKG_OPTIONS are queried. +# +# Parameters: +# pkgbase +# The basename of the package. +# +# Returns: +# PKG_BUILD_OPTIONS.${pkgbase} +# The build options of the package. +# +# Example: +# pkgbase := wine +# .include "../../mk/pkg-build-options.mk" +# +# TODO: Query the installed package if it exists. +# + +.if defined(BUILDLINK_DEPTH) && !empty(BUILDLINK_DEPTH) +. for b in ${pkgbase} +. if !defined(PKG_BUILD_OPTIONS.${b}) +PKG_BUILD_OPTIONS.${b} != \ + cd ${BUILDLINK_PKGSRCDIR.${b}} \ + && ${MAKE} ${MAKEFLAGS} \ + show-var VARNAME=PKG_OPTIONS + +MAKEFLAGS+= PKG_BUILD_OPTIONS.${b}=${PKG_BUILD_OPTIONS.${b}:Q} +. endif + +MAKEVARS+= PKG_BUILD_OPTIONS.${b} +. endfor +.else +. for b in ${pkgbase} +PKG_FAIL_REASON+= "[pkg-build-options.mk] This file may only be included from a buildlink3.mk file (pkgbase=${b})." +. endfor +.endif |