summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure41
1 files changed, 36 insertions, 5 deletions
diff --git a/configure b/configure
index 14af2b74b4..ac4c2eb5c6 100755
--- a/configure
+++ b/configure
@@ -1129,20 +1129,39 @@ cp_if_changed(){
# CONFIG_LIST contains configurable options, while HAVE_LIST is for
# system-dependent things.
-COMPONENT_LIST="
+AVCODEC_COMPONENTS="
bsfs
decoders
- demuxers
encoders
- filters
hwaccels
+ parsers
+"
+
+AVDEVICE_COMPONENTS="
indevs
- muxers
outdevs
- parsers
+"
+AVFILTER_COMPONENTS="
+ filters
+"
+AVFORMAT_COMPONENTS="
+ demuxers
+ muxers
protocols
"
+AVRESAMPLE_COMPONENTS=""
+AVUTIL_COMPONENTS=""
+
+COMPONENT_LIST="
+ $AVCODEC_COMPONENTS
+ $AVDEVICE_COMPONENTS
+ $AVFILTER_COMPONENTS
+ $AVFORMAT_COMPONENTS
+ $AVRESAMPLE_COMPONENTS
+ $AVUTIL_COMPONENTS
+"
+
EXAMPLE_LIST="
avcodec_example
filter_audio_example
@@ -2600,6 +2619,18 @@ done
disabled logging && logfile=/dev/null
+# Disable all the library-specific components if the library itself
+# is disabled, see AVCODEC_LIST and following _LIST variables.
+
+disable_components(){
+ disabled ${1} && disable $(
+ eval components="\$$(toupper ${1})_COMPONENTS"
+ map 'eval echo \${$(toupper ${v%s})_LIST}' $components
+ )
+}
+
+map 'disable_components $v' $LIBRARY_LIST
+
echo "# $0 $LIBAV_CONFIGURATION" > $logfile
set >> $logfile