summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>2016-02-17 15:27:11 +0000
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>2016-02-17 15:36:50 +0000
commitf97ee815cf25580cbb9d6bed304d9c22895f7074 (patch)
tree855cec51f3e953214aaa00faac014827266d1f3a /configure
parent6c31c99289e39ac1bf2b44828d2795086aa0d6a8 (diff)
Revert "configure: Revert recent changes to disable-everything"
Following merges make it work as before. This reverts commit cefad29df93ab88ebab584e6ee151d5339d9329f. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure66
1 files changed, 54 insertions, 12 deletions
diff --git a/configure b/configure
index 6d815cc48a..09c6d383e1 100755
--- a/configure
+++ b/configure
@@ -579,8 +579,15 @@ enable(){
set_all yes $*
}
+check_requested() {
+ for var; do
+ eval test "x\$${var#!}_requested" = "xyes" && die "${var#*_} ${var/_*} cannot be enabled"
+ done
+}
+
disable(){
set_all no $*
+ check_requested $*
}
enable_weak(){
@@ -631,6 +638,28 @@ enable_deep_weak(){
done
}
+do_enable_deep_force(){
+ for var; do
+ enabled $var && continue
+ eval sel="\$${var}_select\ \$${var}_suggest\ \$${var}_select_any"
+ pushvar var
+ enable_deep_force $sel
+ popvar var
+ done
+}
+
+enable_deep_force(){
+ do_enable_deep_force $*
+ enable $*
+}
+
+request(){
+ for var; do
+ enable ${var}_requested
+ done
+ enable_deep_force $*
+}
+
enabled(){
test "${1#!}" = "$1" && op='=' || op=!=
eval test "x\$${1#!}" $op "xyes"
@@ -690,7 +719,7 @@ do_check_deps(){
append allopts $cfg
eval dep_all="\$${cfg}_deps"
- eval dep_any="\$${cfg}_deps_any"
+ eval dep_any="\$${cfg}_deps_any\ \$${cfg}_select_any"
eval dep_sel="\$${cfg}_select"
eval dep_sgs="\$${cfg}_suggest"
eval dep_ifa="\$${cfg}_if"
@@ -2827,7 +2856,7 @@ tls_schannel_protocol_deps="schannel"
tls_schannel_protocol_select="tcp_protocol"
tls_securetransport_protocol_deps="securetransport"
tls_securetransport_protocol_select="tcp_protocol"
-tls_protocol_deps_any="tls_schannel_protocol tls_securetransport_protocol tls_gnutls_protocol tls_openssl_protocol"
+tls_protocol_select_any="tls_schannel_protocol tls_securetransport_protocol tls_gnutls_protocol tls_openssl_protocol"
udp_protocol_select="network"
udplite_protocol_select="network"
unix_protocol_deps="sys_un_h"
@@ -3138,12 +3167,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(){
@@ -3210,10 +3233,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 avutil
;;
@@ -3230,6 +3253,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="request"
list=$(filter "$name" $list)
[ "$list" = "" ] && warn "Option $opt did not match anything"
$action $list
@@ -3237,7 +3261,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
@@ -3280,7 +3303,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
)
@@ -3289,6 +3312,25 @@ disable_components(){
map 'disable_components $v' $LIBRARY_LIST
echo "# $0 $FFMPEG_CONFIGURATION" > $logfile
+
+# 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 $FFMPEG_CONFIGURATION" > $logfile
set >> $logfile
test -n "$valgrind" && toolchain="valgrind-memcheck"