diff --git a/configure b/configure index dba7d4678f04e5f0f5d802be0b325683c8e92337..3d9803ae4e9e4b7cf86f2569551ccd9a9073ab22 100755 --- a/configure +++ b/configure @@ -1332,20 +1332,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=" avio_reading_example avio_dir_cmd_example @@ -3176,6 +3195,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 $FFMPEG_CONFIGURATION" > $logfile set >> $logfile