Commit 21c750f2 authored by Luca Barbato's avatar Luca Barbato

configure: Use `require` for the non-component options

And make sure to enable all the components needed
Signed-off-by: 's avatarLuca Barbato <lu_zero@gentoo.org>
parent 5eb56283
...@@ -489,7 +489,7 @@ enable(){ ...@@ -489,7 +489,7 @@ enable(){
check_requested() { check_requested() {
for var; do 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 done
} }
...@@ -549,7 +549,7 @@ enable_deep_weak(){ ...@@ -549,7 +549,7 @@ enable_deep_weak(){
do_enable_deep_force(){ do_enable_deep_force(){
for var; do for var; do
enabled $var && continue 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 pushvar var
enable_deep_force $sel enable_deep_force $sel
popvar var popvar var
...@@ -558,14 +558,18 @@ do_enable_deep_force(){ ...@@ -558,14 +558,18 @@ do_enable_deep_force(){
enable_deep_force(){ enable_deep_force(){
do_enable_deep_force $* do_enable_deep_force $*
enable $* for var; do
is_in $var $ALL_COMPONENTS $COMPONENT_LIST $LIBRARY_LIST && enable $var
done
} }
request(){ request(){
disable $* # force the refresh of the dependencies
for var; do for var; do
enable ${var}_requested enable ${var}_requested
done done
enable_deep_force $* enable_deep_force $*
enable $*
} }
enabled(){ enabled(){
...@@ -2650,6 +2654,7 @@ for opt do ...@@ -2650,6 +2654,7 @@ for opt do
;; ;;
--enable-?*|--disable-?*) --enable-?*|--disable-?*)
eval $(echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g') eval $(echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g')
test $action = enable && action="request"
if is_in $option $COMPONENT_LIST; then if is_in $option $COMPONENT_LIST; then
eval $action \$$(toupper ${option%s})_LIST eval $action \$$(toupper ${option%s})_LIST
elif is_in $option $CMDLINE_SELECT; then elif is_in $option $CMDLINE_SELECT; then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment