[FFmpeg-cvslog] configure: fix automatic processing of _extralibs in check_deps

Mans Rullgard git at videolan.org
Mon Dec 10 04:51:02 CET 2012


ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Sun Dec  9 17:34:14 2012 +0000| [d4f8cecc86ea36021b716c3f8ce76a54d7944fc7] | committer: Mans Rullgard

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 at mansr.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d4f8cecc86ea36021b716c3f8ce76a54d7944fc7
---

 configure |   19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/configure b/configure
index 3e7356e..882f43c 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



More information about the ffmpeg-cvslog mailing list