aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2016-05-04 02:36:29 +0800
committerbdrewery <bdrewery@FreeBSD.org>2016-05-04 02:36:29 +0800
commit0a048aa3ee12ffefa3ae11b1ae280d3c1e52006b (patch)
treeda9fbf634e44326e82c97c471e29c6904b1c6d17
parent4b7b6c31e9e487f0dde73fabda65adc40c5dbfa5 (diff)
downloadfreebsd-ports-gnome-0a048aa3ee12ffefa3ae11b1ae280d3c1e52006b.tar.gz
freebsd-ports-gnome-0a048aa3ee12ffefa3ae11b1ae280d3c1e52006b.tar.zst
freebsd-ports-gnome-0a048aa3ee12ffefa3ae11b1ae280d3c1e52006b.zip
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
-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}}