summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2012-12-09 17:34:14 +0000
committerMans Rullgard <mans@mansr.com>2012-12-09 21:20:58 +0000
commitd4f8cecc86ea36021b716c3f8ce76a54d7944fc7 (patch)
treeaf36f38a49b435b684fc06f844ceb4a1afd749af /configure
parent774e6fc9edecc00eab7a47dacfc9a7b9845b1286 (diff)
configure: fix automatic processing of _extralibs in check_deps
This fixes the automatic use of $foo_extralibs when feature foo is enabled indirectly through a _select or _suggest. Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure19
1 files changed, 15 insertions, 4 deletions
diff --git a/configure b/configure
index 3e7356e3c3..882f43c462 100755
--- a/configure
+++ b/configure
@@ -535,12 +535,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"
@@ -550,7 +551,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; }
@@ -560,8 +561,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
@@ -570,6 +569,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