summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure11
1 files changed, 8 insertions, 3 deletions
diff --git a/configure b/configure
index 09c6d383e1..cea2abb3d5 100755
--- a/configure
+++ b/configure
@@ -581,7 +581,7 @@ enable(){
check_requested() {
for var; do
- eval test "x\$${var#!}_requested" = "xyes" && die "${var#*_} ${var/_*} cannot be enabled"
+ eval test "x\$${var#!}_requested" = "xyes" && die "${var%%_*} cannot be enabled"
done
}
@@ -641,7 +641,7 @@ enable_deep_weak(){
do_enable_deep_force(){
for var; do
enabled $var && continue
- eval sel="\$${var}_select\ \$${var}_suggest\ \$${var}_select_any"
+ eval sel="\$${var}_deps\ \$${var}_deps_any\ \$${var}_select\ \$${var}_suggest\ \$${var}_select_any"
pushvar var
enable_deep_force $sel
popvar var
@@ -650,14 +650,18 @@ do_enable_deep_force(){
enable_deep_force(){
do_enable_deep_force $*
- enable $*
+ for var; do
+ is_in $var $ALL_COMPONENTS $COMPONENT_LIST $LIBRARY_LIST && enable $var
+ done
}
request(){
+ disable $* # force the refresh of the dependencies
for var; do
enable ${var}_requested
done
enable_deep_force $*
+ enable $*
}
enabled(){
@@ -3260,6 +3264,7 @@ for opt do
;;
--enable-?*|--disable-?*)
eval $(echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g')
+ test $action = enable && action="request"
if is_in $option $COMPONENT_LIST; then
eval $action \$$(toupper ${option%s})_LIST
elif is_in $option $CMDLINE_SELECT; then