configure: add enable_weak and disable_weak
authorMåns Rullgård <mans@mansr.com>
Fri, 24 Oct 2008 23:18:08 +0000 (23:18 +0000)
committerMåns Rullgård <mans@mansr.com>
Fri, 24 Oct 2008 23:18:08 +0000 (23:18 +0000)
These functions enable/disable their options if these are unset,
leaving their old values otherwise.

Originally committed as revision 15689 to svn://svn.ffmpeg.org/ffmpeg/trunk

configure

index 542c9a7..5c7315b 100755 (executable)
--- a/configure
+++ b/configure
@@ -250,6 +250,14 @@ set_all(){
     done
 }
 
+set_weak(){
+    value=$1
+    shift
+    for var; do
+        eval : \${$var:=$value}
+    done
+}
+
 pushvar(){
     for var in $*; do
         eval level=\${${var}_level:=0}
@@ -277,6 +285,14 @@ disable(){
     set_all no $*
 }
 
+enable_weak(){
+    set_weak yes $*
+}
+
+disable_weak(){
+    set_weak no $*
+}
+
 do_enable_deep(){
     for var; do
         enabled $var && continue
@@ -292,6 +308,11 @@ enable_deep(){
     enable $*
 }
 
+enable_deep_weak(){
+    do_enable_deep $*
+    enable_weak $*
+}
+
 enabled(){
     test "${1#!}" = "$1" && op== || op=!=
     eval test "x\$${1#!}" $op "xyes"