summaryrefslogtreecommitdiff
path: root/Mk
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2016-05-03 18:36:29 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2016-05-03 18:36:29 +0000
commit0e0764a17558d9357360486065912960f8bfb3d9 (patch)
treeda9fbf634e44326e82c97c471e29c6904b1c6d17 /Mk
parentrc.d/svscan: Use -f to daemon(8) again. (diff)
Fix excluding implied options.
This fixes the devel/git-lite port to not get PERL despite being excluded. PR: 207460 PR: 202701 With hat: portmgr Differential Revision: https://reviews.freebsd.org/D5538
Notes
Notes: svn path=/head/; revision=414547
Diffstat (limited to 'Mk')
-rw-r--r--Mk/bsd.options.mk10
1 files changed, 10 insertions, 0 deletions
diff --git a/Mk/bsd.options.mk b/Mk/bsd.options.mk
index 37b3b2c988c0..7f353c1518f0 100644
--- a/Mk/bsd.options.mk
+++ b/Mk/bsd.options.mk
@@ -216,6 +216,16 @@ OPTIONS_DEFAULT+= ${OPTIONS_DEFAULT_${ARCH}}
_ALL_EXCLUDE= ${OPTIONS_EXCLUDE_${ARCH}} ${OPTIONS_EXCLUDE} \
${OPTIONS_SLAVE} ${OPTIONS_EXCLUDE_${OPSYS}}
+.for opt in ${OPTIONS_DEFINE:O:u}
+. if !${_ALL_EXCLUDE:M${opt}}
+. for opt_implied in ${${opt}_IMPLIES}
+. if ${_ALL_EXCLUDE:M${opt_implied}}
+_ALL_EXCLUDE+= ${opt}
+. endif
+. endfor
+. endif
+.endfor
+
# Remove options the port maintainer doesn't want
.for opt in ${_ALL_EXCLUDE:O:u}
OPTIONS_DEFAULT:= ${OPTIONS_DEFAULT:N${opt}}