[SCM] libav/experimental: recursive feature dependency checking

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:56:15 UTC 2013


The following commit has been merged in the experimental branch:
commit 799c9e9bcbacd96e37513720b54bc519ac4ad825
Author: Måns Rullgård <mans at mansr.com>
Date:   Sun Feb 11 15:49:37 2007 +0000

    recursive feature dependency checking
    
    Originally committed as revision 7930 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/configure b/configure
index 66ace8c..359caf6 100755
--- a/configure
+++ b/configure
@@ -216,6 +216,25 @@ set_all(){
     done
 }
 
+pushvar(){
+    for var in $*; do
+        eval level=\${${var}_level:=0}
+        eval ${var}_${level}="\$$var"
+        eval ${var}_level=$(($level+1))
+    done
+}
+
+popvar(){
+    for var in $*; do
+        eval level=\${${var}_level:-0}
+        test $level = 0 && continue
+        eval level=$(($level-1))
+        eval $var="\${${var}_${level}}"
+        eval ${var}_level=$level
+        eval unset ${var}_${level}
+    done
+}
+
 enable(){
     set_all yes $*
 }
@@ -258,10 +277,21 @@ disabled_any(){
 
 check_deps(){
     for cfg; do
+        enabled ${cfg}_checking && die "Circular dependency for $cfg."
+        disabled ${cfg}_checking && continue
+        enable ${cfg}_checking
+
         eval dep_all="\$${cfg}_deps"
         eval dep_any="\$${cfg}_deps_any"
+
+        pushvar cfg dep_all dep_any
+        check_deps $dep_all $dep_any
+        popvar cfg dep_all dep_any
+
         enabled_all $dep_all || disable $cfg
         enabled_any $dep_any || disable $cfg
+
+        disable ${cfg}_checking
     done
 }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list