Before this patch trying to enable only https by issuing

    --disable-protocols --enable-protocol=https --enable-gnutls

does not enable https, and

    --disable-all --enable-protocols

does not enable libavformat and the protocols component.

Now the default-enabled options are set after the explicitly
disabled/enabled options are evaluated.
---

Now even simpler, still not errors out though.
Should work fine for Vittorio's use-case.

 configure | 31 +++++++++++++++++++++----------
 1 file changed, 21 insertions(+), 10 deletions(-)

diff --git a/configure b/configure
index 2f0d677..11d9590 100755
--- a/configure
+++ b/configure
@@ -2529,12 +2529,6 @@ ALL_COMPONENTS="
     $PROTOCOL_LIST
 "

-for n in $COMPONENT_LIST; do
-    v=$(toupper ${n%s})_LIST
-    eval enable \$$v
-    eval ${n}_if_any="\$$v"
-done
-
 enable $ARCH_EXT_LIST

 die_unknown(){
@@ -2597,10 +2591,10 @@ for opt do
             disable $PROGRAM_LIST
         ;;
         --disable-everything)
-            map 'eval unset \${$(toupper ${v%s})_LIST}' $COMPONENT_LIST
+            map 'eval disable \${$(toupper ${v%s})_LIST}' $COMPONENT_LIST
         ;;
         --disable-all)
-            map 'eval unset \${$(toupper ${v%s})_LIST}' $COMPONENT_LIST
+            map 'eval disable \${$(toupper ${v%s})_LIST}' $COMPONENT_LIST
             disable $LIBRARY_LIST $PROGRAM_LIST doc
         ;;
         --enable-random|--disable-random)
@@ -2616,6 +2610,7 @@ for opt do
             is_in "${thing}s" $COMPONENT_LIST || die_unknown "$opt"
             eval list=\$$(toupper $thing)_LIST
             name=$(echo "${optval}" | sed "s/,/_${thing}|/g")_${thing}
+            test $action = enable && action="enable_deep"
             $action $(filter "$name" $list)
         ;;
         --enable-avserver|--disable-avserver*)
@@ -2625,7 +2620,6 @@ for opt do
         --enable-?*|--disable-?*)
             eval $(echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g')
             if is_in $option $COMPONENT_LIST; then
-                test $action = disable && action=unset
                 eval $action \$$(toupper ${option%s})_LIST
             elif is_in $option $CMDLINE_SELECT; then
                 $action $option
@@ -2666,7 +2660,7 @@ disabled logging && logfile=/dev/null
 # is disabled, see AVCODEC_LIST and following _LIST variables.

 disable_components(){
-    disabled ${1} && disable $(
+    disabled ${1} && disable_weak $(
         eval components="\$$(toupper ${1})_COMPONENTS"
         map 'eval echo \${$(toupper ${v%s})_LIST}' $components
     )
@@ -2674,6 +2668,23 @@ disable_components(){

 map 'disable_components $v' $LIBRARY_LIST

+# Mark components that had not been enabled/disabled explicitly
+# as enabled
+
+for n in $COMPONENT_LIST; do
+    v=$(toupper ${n%s})_LIST
+    eval enable_weak \$$v
+    eval ${n}_if_any="\$$v"
+done
+
+# Make so that disabled libraries are enabled if a component
+# of them is requested
+
+for n in $LIBRARY_LIST; do
+    v=$(toupper ${n})_COMPONENTS
+    eval ${n}_if_any="\$$v"
+done
+
 echo "# $0 $LIBAV_CONFIGURATION" > $logfile
 set >> $logfile

--
2.6.1

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to