From d7a5a178c252b625537adc046392624ad543dea7 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Mon, 5 Oct 2015 03:41:41 +0200 Subject: [PATCH] configure: When disabling a library disable all the related components This way is sufficient to use the component specific configure variable and not guard against the global library configure variable in code that is outside it (e.g. checkasm). --- configure | 43 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 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 - indevs - muxers - outdevs parsers +" + +AVDEVICE_COMPONENTS=" + indevs + outdevs +" +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