diff --git a/configure b/configure index 48bfed279f..4e1ec2928a 100755 --- a/configure +++ b/configure @@ -582,12 +582,13 @@ is_in(){ return 1 } -check_deps(){ +do_check_deps(){ for cfg; do cfg="${cfg#!}" enabled ${cfg}_checking && die "Circular dependency for $cfg." disabled ${cfg}_checking && continue enable ${cfg}_checking + append allopts $cfg eval dep_all="\$${cfg}_deps" eval dep_any="\$${cfg}_deps_any" @@ -597,7 +598,7 @@ check_deps(){ eval dep_ifn="\$${cfg}_if_any" pushvar cfg dep_all dep_any dep_sel dep_sgs dep_ifa dep_ifn - check_deps $dep_all $dep_any $dep_sel $dep_sgs $dep_ifa $dep_ifn + do_check_deps $dep_all $dep_any $dep_sel $dep_sgs $dep_ifa $dep_ifn popvar cfg dep_all dep_any dep_sel dep_sgs dep_ifa dep_ifn [ -n "$dep_ifa" ] && { enabled_all $dep_ifa && enable_weak $cfg; } @@ -607,8 +608,6 @@ check_deps(){ disabled_any $dep_sel && disable $cfg if enabled $cfg; then - eval dep_extralibs="\$${cfg}_extralibs" - test -n "$dep_extralibs" && add_extralibs $dep_extralibs enable_deep $dep_sel enable_deep_weak $dep_sgs fi @@ -617,6 +616,18 @@ check_deps(){ done } +check_deps(){ + unset allopts + + do_check_deps "$@" + + for cfg in $allopts; do + enabled $cfg || continue + eval dep_extralibs="\$${cfg}_extralibs" + test -n "$dep_extralibs" && add_extralibs $dep_extralibs + done +} + print_config(){ pfx=$1 files=$2