diff --git a/configure b/configure
index 7d22c2a345..74881682d0 100755
--- a/configure
+++ b/configure
@@ -7791,17 +7791,30 @@ print_config ARCH_   "$config_files" $ARCH_LIST
 print_config HAVE_   "$config_files" $HAVE_LIST
 print_config CONFIG_ "$config_files" $CONFIG_LIST       \
                                      $CONFIG_EXTRA      \
-                                     $ALL_COMPONENTS    \
 
 echo "#endif /* FFMPEG_CONFIG_H */" >> $TMPH
-echo "endif # FFMPEG_CONFIG_MAK" >> ffbuild/config.mak
 
 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
 cp_if_changed $TMPH config.h
 touch ffbuild/.config
 
+# Copy config.asm before printing ALL_COMPONENTS; that's not needed in assembly.
 enabled x86asm && cp_if_changed $TMPASM config.asm
 
+# Reopen a new TMPH for config_components.h.
+cat > $TMPH <<EOF
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_COMPONENTS_H
+#define FFMPEG_CONFIG_COMPONENTS_H
+EOF
+
+print_config CONFIG_ "$config_files" $ALL_COMPONENTS
+
+echo "#endif /* FFMPEG_CONFIG_COMPONENTS_H */" >> $TMPH
+echo "endif # FFMPEG_CONFIG_MAK" >> ffbuild/config.mak
+
+cp_if_changed $TMPH config_components.h
+
 cat > $TMPH <<EOF
 /* Generated by ffmpeg configure */
 #ifndef AVUTIL_AVCONFIG_H
diff --git a/fftools/ffplay.c b/fftools/ffplay.c
index ac48d8765d..b79ae8fb58 100644
--- a/fftools/ffplay.c
+++ b/fftools/ffplay.c
@@ -24,6 +24,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 #include <inttypes.h>
 #include <math.h>
 #include <limits.h>
diff --git a/libavcodec/8svx.c b/libavcodec/8svx.c
index 6ef8cd73fe..760549d54a 100644
--- a/libavcodec/8svx.c
+++ b/libavcodec/8svx.c
@@ -37,6 +37,8 @@
  * http://aminet.net/mods/smpl/
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "avcodec.h"
 #include "internal.h"
diff --git a/libavcodec/a64multienc.c b/libavcodec/a64multienc.c
index 7bdf4a61b1..a1e0d711ba 100644
--- a/libavcodec/a64multienc.c
+++ b/libavcodec/a64multienc.c
@@ -24,6 +24,8 @@
  * a64 video encoder - multicolor modes
  */
 
+#include "config_components.h"
+
 #include "a64colors.h"
 #include "a64tables.h"
 #include "elbg.h"
diff --git a/libavcodec/aac_ac3_parser.c b/libavcodec/aac_ac3_parser.c
index e84d30aea2..a42ce5a0fb 100644
--- a/libavcodec/aac_ac3_parser.c
+++ b/libavcodec/aac_ac3_parser.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/channel_layout.h"
 #include "libavutil/common.h"
 #include "parser.h"
diff --git a/libavcodec/aactab.c b/libavcodec/aactab.c
index 0553f41a61..0f4941d5df 100644
--- a/libavcodec/aactab.c
+++ b/libavcodec/aactab.c
@@ -28,6 +28,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 #include "libavutil/mem_internal.h"
 #include "libavutil/thread.h"
 #include "aac.h"
diff --git a/libavcodec/aarch64/h264cmc_neon.S b/libavcodec/aarch64/h264cmc_neon.S
index 8be7578001..f8e9407854 100644
--- a/libavcodec/aarch64/h264cmc_neon.S
+++ b/libavcodec/aarch64/h264cmc_neon.S
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/aarch64/asm.S"
 
 /* chroma_mc8(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */
diff --git a/libavcodec/ac3_parser.c b/libavcodec/ac3_parser.c
index f3c7d27d59..86e8d417eb 100644
--- a/libavcodec/ac3_parser.c
+++ b/libavcodec/ac3_parser.c
@@ -21,6 +21,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 
 #include "libavutil/channel_layout.h"
 #include "parser.h"
diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index ae00373dcb..9a9f202f27 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -24,6 +24,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <stdio.h>
 #include <stddef.h>
 #include <math.h>
diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index 034aa0beb9..e9b2e5a19c 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -38,6 +38,7 @@
 #include "libavutil/opt.h"
 #include "libavutil/thread.h"
 #include "avcodec.h"
+#include "config_components.h"
 #include "encode.h"
 #include "internal.h"
 #include "me_cmp.h"
diff --git a/libavcodec/ac3enc_template.c b/libavcodec/ac3enc_template.c
index 5ecef3b178..fbe1dd1e04 100644
--- a/libavcodec/ac3enc_template.c
+++ b/libavcodec/ac3enc_template.c
@@ -26,6 +26,8 @@
  * AC-3 encoder float/fixed template
  */
 
+#include "config_components.h"
+
 #include <stdint.h>
 
 #include "libavutil/attributes.h"
diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
index cfde5f58b9..3c2f30b810 100644
--- a/libavcodec/adpcm.c
+++ b/libavcodec/adpcm.c
@@ -34,6 +34,9 @@
  * License along with FFmpeg; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
+
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "get_bits.h"
 #include "bytestream.h"
diff --git a/libavcodec/adpcmenc.c b/libavcodec/adpcmenc.c
index b0f6f209b7..fa7e6486ae 100644
--- a/libavcodec/adpcmenc.c
+++ b/libavcodec/adpcmenc.c
@@ -22,6 +22,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/opt.h"
 
 #include "avcodec.h"
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index 628d27fd75..74049afa8f 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -28,6 +28,7 @@
 #include <string.h>
 
 #include "config.h"
+#include "config_components.h"
 #include "libavutil/thread.h"
 #include "codec.h"
 #include "codec_id.h"
diff --git a/libavcodec/aptxdec.c b/libavcodec/aptxdec.c
index bdcc076c41..7f76c28e3b 100644
--- a/libavcodec/aptxdec.c
+++ b/libavcodec/aptxdec.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/channel_layout.h"
 #include "aptx.h"
 
diff --git a/libavcodec/aptxenc.c b/libavcodec/aptxenc.c
index 5ea6053c26..8f96dce735 100644
--- a/libavcodec/aptxenc.c
+++ b/libavcodec/aptxenc.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/channel_layout.h"
 #include "aptx.h"
 #include "encode.h"
diff --git a/libavcodec/arm/flacdsp_init_arm.c b/libavcodec/arm/flacdsp_init_arm.c
index c4a6e3a535..bac9ff1959 100644
--- a/libavcodec/arm/flacdsp_init_arm.c
+++ b/libavcodec/arm/flacdsp_init_arm.c
@@ -21,6 +21,7 @@
 #include "libavutil/attributes.h"
 #include "libavcodec/flacdsp.h"
 #include "config.h"
+#include "config_components.h"
 
 void ff_flac_lpc_16_arm(int32_t *samples, const int coeffs[32], int order,
                         int qlevel, int len);
diff --git a/libavcodec/arm/h264cmc_neon.S b/libavcodec/arm/h264cmc_neon.S
index 5a4159eedd..3687b02ede 100644
--- a/libavcodec/arm/h264cmc_neon.S
+++ b/libavcodec/arm/h264cmc_neon.S
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/arm/asm.S"
 
 /* chroma_mc8(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */
diff --git a/libavcodec/assdec.c b/libavcodec/assdec.c
index 319279490c..a9697d045d 100644
--- a/libavcodec/assdec.c
+++ b/libavcodec/assdec.c
@@ -23,6 +23,7 @@
 
 #include "avcodec.h"
 #include "ass.h"
+#include "config_components.h"
 #include "internal.h"
 #include "libavutil/internal.h"
 #include "libavutil/mem.h"
diff --git a/libavcodec/assenc.c b/libavcodec/assenc.c
index a6d107ded2..b7a88f9d44 100644
--- a/libavcodec/assenc.c
+++ b/libavcodec/assenc.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <string.h>
 
 #include "avcodec.h"
diff --git a/libavcodec/asvdec.c b/libavcodec/asvdec.c
index 60a4e138c4..36bedb5928 100644
--- a/libavcodec/asvdec.c
+++ b/libavcodec/asvdec.c
@@ -30,6 +30,7 @@
 #include "asv.h"
 #include "avcodec.h"
 #include "blockdsp.h"
+#include "config_components.h"
 #include "idctdsp.h"
 #include "internal.h"
 #include "mpeg12data.h"
diff --git a/libavcodec/asvenc.c b/libavcodec/asvenc.c
index ff96338e8a..96700aa9e3 100644
--- a/libavcodec/asvenc.c
+++ b/libavcodec/asvenc.c
@@ -23,6 +23,8 @@
  * ASUS V1/V2 encoder.
  */
 
+#include "config_components.h"
+
 #include "libavutil/attributes.h"
 #include "libavutil/mem.h"
 
diff --git a/libavcodec/audiotoolboxdec.c b/libavcodec/audiotoolboxdec.c
index 9939fef218..b7c746ef6f 100644
--- a/libavcodec/audiotoolboxdec.c
+++ b/libavcodec/audiotoolboxdec.c
@@ -23,6 +23,7 @@
 #include <AudioToolbox/AudioToolbox.h>
 
 #include "config.h"
+#include "config_components.h"
 #include "avcodec.h"
 #include "ac3_parser_internal.h"
 #include "bytestream.h"
diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c
index b354d8d03c..87f0ebb3bd 100644
--- a/libavcodec/av1dec.c
+++ b/libavcodec/av1dec.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/film_grain_params.h"
 #include "libavutil/pixdesc.h"
 #include "libavutil/opt.h"
diff --git a/libavcodec/binkaudio.c b/libavcodec/binkaudio.c
index f808141ba5..31e15a094e 100644
--- a/libavcodec/binkaudio.c
+++ b/libavcodec/binkaudio.c
@@ -28,6 +28,8 @@
  *  http://wiki.multimedia.cx/index.php?title=Bink_Audio
  */
 
+#include "config_components.h"
+
 #include "libavutil/channel_layout.h"
 #include "libavutil/intfloat.h"
 #include "libavutil/mem_internal.h"
diff --git a/libavcodec/bintext.c b/libavcodec/bintext.c
index 553f020738..d9e95a95b4 100644
--- a/libavcodec/bintext.c
+++ b/libavcodec/bintext.c
@@ -28,6 +28,8 @@
  * iCEDraw File decoder
  */
 
+#include "config_components.h"
+
 #include "libavutil/intreadwrite.h"
 #include "libavutil/xga_font_data.h"
 #include "avcodec.h"
diff --git a/libavcodec/bsf.c b/libavcodec/bsf.c
index 8ba021cb47..60761e6f7d 100644
--- a/libavcodec/bsf.c
+++ b/libavcodec/bsf.c
@@ -19,6 +19,7 @@
 #include <string.h>
 
 #include "config.h"
+#include "config_components.h"
 
 #include "libavutil/avassert.h"
 #include "libavutil/log.h"
diff --git a/libavcodec/cyuv.c b/libavcodec/cyuv.c
index cfaa5cfa66..50aa2322e9 100644
--- a/libavcodec/cyuv.c
+++ b/libavcodec/cyuv.c
@@ -28,6 +28,8 @@
  * Creative YUV (CYUV) Video Decoder.
  */
 
+#include "config_components.h"
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/libavcodec/dxva2_av1.c b/libavcodec/dxva2_av1.c
index 7b4483f855..228f72ba18 100644
--- a/libavcodec/dxva2_av1.c
+++ b/libavcodec/dxva2_av1.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/pixdesc.h"
 
diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c
index 5b23b28f12..6300b1418d 100644
--- a/libavcodec/dxva2_h264.c
+++ b/libavcodec/dxva2_h264.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 
 #include "dxva2_internal.h"
diff --git a/libavcodec/dxva2_hevc.c b/libavcodec/dxva2_hevc.c
index dbb701fb1c..c91bcf3eeb 100644
--- a/libavcodec/dxva2_hevc.c
+++ b/libavcodec/dxva2_hevc.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 
 #include "dxva2_internal.h"
diff --git a/libavcodec/dxva2_mpeg2.c b/libavcodec/dxva2_mpeg2.c
index 136f5f9e06..1989c588dc 100644
--- a/libavcodec/dxva2_mpeg2.c
+++ b/libavcodec/dxva2_mpeg2.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/log.h"
 
 #include "dxva2_internal.h"
diff --git a/libavcodec/dxva2_vc1.c b/libavcodec/dxva2_vc1.c
index 5fd6957d0c..cf660a50d2 100644
--- a/libavcodec/dxva2_vc1.c
+++ b/libavcodec/dxva2_vc1.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "dxva2_internal.h"
 #include "mpegutils.h"
 #include "mpegvideodec.h"
diff --git a/libavcodec/dxva2_vp9.c b/libavcodec/dxva2_vp9.c
index eaeab3af7a..dbe6c08ad1 100644
--- a/libavcodec/dxva2_vp9.c
+++ b/libavcodec/dxva2_vp9.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/pixdesc.h"
 
diff --git a/libavcodec/flashsv.c b/libavcodec/flashsv.c
index 00f77f4902..25e431ef68 100644
--- a/libavcodec/flashsv.c
+++ b/libavcodec/flashsv.c
@@ -33,6 +33,8 @@
  * downloaded from http://www.adobe.com/devnet/swf.html.
  */
 
+#include "config_components.h"
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <zlib.h>
diff --git a/libavcodec/g726.c b/libavcodec/g726.c
index 2a0148c1d5..3d851970d2 100644
--- a/libavcodec/g726.c
+++ b/libavcodec/g726.c
@@ -21,6 +21,9 @@
  * License along with FFmpeg; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
+
+#include "config_components.h"
+
 #include <limits.h>
 
 #include "libavutil/channel_layout.h"
diff --git a/libavcodec/gsmdec.c b/libavcodec/gsmdec.c
index c169112311..c0253977af 100644
--- a/libavcodec/gsmdec.c
+++ b/libavcodec/gsmdec.c
@@ -24,6 +24,8 @@
  * GSM decoder
  */
 
+#include "config_components.h"
+
 #include "libavutil/channel_layout.h"
 #include "avcodec.h"
 #include "get_bits.h"
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index 423036e97b..399b67d76b 100644
--- a/libavcodec/h263dec.c
+++ b/libavcodec/h263dec.c
@@ -27,6 +27,8 @@
 
 #define UNCHECKED_BITSTREAM_READER 1
 
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "error_resilience.h"
 #include "flvdec.h"
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index 110a41772a..ee84b3764d 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -25,6 +25,8 @@
  * @author Michael Niedermayer <michaelni@gmx.at>
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/display.h"
 #include "libavutil/film_grain_params.h"
diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
index 856fbca680..cc77c3169d 100644
--- a/libavcodec/h264dec.c
+++ b/libavcodec/h264dec.c
@@ -27,6 +27,8 @@
 
 #define UNCHECKED_BITSTREAM_READER 1
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/imgutils.h"
 #include "libavutil/opt.h"
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index 068750ddb6..4f49d95960 100644
--- a/libavcodec/hevcdec.c
+++ b/libavcodec/hevcdec.c
@@ -23,6 +23,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/attributes.h"
 #include "libavutil/common.h"
 #include "libavutil/display.h"
diff --git a/libavcodec/huffyuvdec.c b/libavcodec/huffyuvdec.c
index a5e0ef5818..8dc7864dd0 100644
--- a/libavcodec/huffyuvdec.c
+++ b/libavcodec/huffyuvdec.c
@@ -32,6 +32,8 @@
 
 #define UNCHECKED_BITSTREAM_READER 1
 
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "get_bits.h"
 #include "huffyuv.h"
diff --git a/libavcodec/huffyuvenc.c b/libavcodec/huffyuvenc.c
index 97497a8e75..39a434c720 100644
--- a/libavcodec/huffyuvenc.c
+++ b/libavcodec/huffyuvenc.c
@@ -28,6 +28,8 @@
  * huffyuv encoder
  */
 
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "encode.h"
 #include "huffyuv.h"
diff --git a/libavcodec/idctdsp.c b/libavcodec/idctdsp.c
index fbcec8436c..df3aeb0676 100644
--- a/libavcodec/idctdsp.c
+++ b/libavcodec/idctdsp.c
@@ -17,6 +17,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 #include "libavutil/attributes.h"
 #include "libavutil/common.h"
 #include "avcodec.h"
diff --git a/libavcodec/iff.c b/libavcodec/iff.c
index 1dcf0e00ed..6596130727 100644
--- a/libavcodec/iff.c
+++ b/libavcodec/iff.c
@@ -26,6 +26,8 @@
  * IFF ACBM/ANIM/DEEP/ILBM/PBM/RGB8/RGBN bitmap decoder
  */
 
+#include "config_components.h"
+
 #include <stdint.h>
 
 #include "libavutil/imgutils.h"
diff --git a/libavcodec/imc.c b/libavcodec/imc.c
index 116c273ba0..1d9685313f 100644
--- a/libavcodec/imc.c
+++ b/libavcodec/imc.c
@@ -29,6 +29,7 @@
  *  Only mono is supported.
  */
 
+#include "config_components.h"
 
 #include <math.h>
 #include <stddef.h>
diff --git a/libavcodec/ituh263dec.c b/libavcodec/ituh263dec.c
index 0c9473af56..f01c942f04 100644
--- a/libavcodec/ituh263dec.c
+++ b/libavcodec/ituh263dec.c
@@ -29,6 +29,8 @@
 
 #define UNCHECKED_BITSTREAM_READER 1
 
+#include "config_components.h"
+
 #include "libavutil/attributes.h"
 #include "libavutil/imgutils.h"
 #include "libavutil/internal.h"
diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c
index 8bedecb36e..dc8dd8c9ea 100644
--- a/libavcodec/ituh263enc.c
+++ b/libavcodec/ituh263enc.c
@@ -27,6 +27,8 @@
  * H.263 bitstream encoder.
  */
 
+#include "config_components.h"
+
 #include <limits.h>
 
 #include "libavutil/attributes.h"
diff --git a/libavcodec/lcldec.c b/libavcodec/lcldec.c
index f3b7a8ac1b..b2ef85e5f9 100644
--- a/libavcodec/lcldec.c
+++ b/libavcodec/lcldec.c
@@ -37,6 +37,8 @@
  * Supports: BGR24 (RGB 24bpp)
  */
 
+#include "config_components.h"
+
 #include <stdio.h>
 #include <stdlib.h>
 
diff --git a/libavcodec/libgsmdec.c b/libavcodec/libgsmdec.c
index ae4a952d99..2e6aa037ea 100644
--- a/libavcodec/libgsmdec.c
+++ b/libavcodec/libgsmdec.c
@@ -28,6 +28,7 @@
 // The idiosyncrasies of GSM-in-WAV are explained at http://kbs.cs.tu-berlin.de/~jutta/toast.html
 
 #include "config.h"
+#include "config_components.h"
 #if HAVE_GSM_H
 #include <gsm.h>
 #else
diff --git a/libavcodec/libgsmenc.c b/libavcodec/libgsmenc.c
index a2f6c1c62e..fab6b0cffb 100644
--- a/libavcodec/libgsmenc.c
+++ b/libavcodec/libgsmenc.c
@@ -28,6 +28,7 @@
 // The idiosyncrasies of GSM-in-WAV are explained at http://kbs.cs.tu-berlin.de/~jutta/toast.html
 
 #include "config.h"
+#include "config_components.h"
 #if HAVE_GSM_H
 #include <gsm.h>
 #else
diff --git a/libavcodec/libopencore-amr.c b/libavcodec/libopencore-amr.c
index 2df1c5090f..0d7c449175 100644
--- a/libavcodec/libopencore-amr.c
+++ b/libavcodec/libopencore-amr.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <inttypes.h>
 
 #include "libavutil/avstring.h"
diff --git a/libavcodec/libvpx.c b/libavcodec/libvpx.c
index cc055a0032..c2b00232d2 100644
--- a/libavcodec/libvpx.c
+++ b/libavcodec/libvpx.c
@@ -21,6 +21,7 @@
 #include <vpx/vpx_codec.h>
 #include "libvpx.h"
 #include "config.h"
+#include "config_components.h"
 
 #if CONFIG_LIBVPX_VP9_ENCODER
 #include <vpx/vpx_encoder.h>
diff --git a/libavcodec/libvpxdec.c b/libavcodec/libvpxdec.c
index b2aa205036..f59a03fc2f 100644
--- a/libavcodec/libvpxdec.c
+++ b/libavcodec/libvpxdec.c
@@ -23,6 +23,8 @@
  * VP8/9 decoder support via libvpx
  */
 
+#include "config_components.h"
+
 #define VPX_CODEC_DISABLE_COMPAT 1
 #include <vpx/vpx_decoder.h>
 #include <vpx/vpx_frame_buffer.h>
diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
index 8f94ba15dc..77b96a5cde 100644
--- a/libavcodec/libvpxenc.c
+++ b/libavcodec/libvpxenc.c
@@ -23,6 +23,8 @@
  * VP8/9 encoder support via libvpx
  */
 
+#include "config_components.h"
+
 #define VPX_DISABLE_CTRL_TYPECHECKS 1
 #define VPX_CODEC_DISABLE_COMPAT    1
 #include <vpx/vpx_encoder.h>
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index c5e0231b12..b8800db946 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/eval.h"
 #include "libavutil/internal.h"
 #include "libavutil/opt.h"
diff --git a/libavcodec/me_cmp.c b/libavcodec/me_cmp.c
index b2f87d2e1b..4c1de44eda 100644
--- a/libavcodec/me_cmp.c
+++ b/libavcodec/me_cmp.c
@@ -29,6 +29,7 @@
 #include "me_cmp.h"
 #include "mpegvideoenc.h"
 #include "config.h"
+#include "config_components.h"
 
 /* (i - 256) * (i - 256) */
 const uint32_t ff_square_tab[512] = {
diff --git a/libavcodec/metasound_data.c b/libavcodec/metasound_data.c
index 22b2730dda..b2044364fa 100644
--- a/libavcodec/metasound_data.c
+++ b/libavcodec/metasound_data.c
@@ -20,6 +20,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 #include "metasound_data.h"
 
 #if CONFIG_METASOUND_DECODER
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index 267609d96a..7ff6985bc4 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -30,6 +30,8 @@
  * MJPEG decoder.
  */
 
+#include "config_components.h"
+
 #include "libavutil/display.h"
 #include "libavutil/imgutils.h"
 #include "libavutil/avassert.h"
diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c
index 08671b0df7..5290bcf60c 100644
--- a/libavcodec/mjpegenc.c
+++ b/libavcodec/mjpegenc.c
@@ -30,6 +30,8 @@
  * MJPEG encoder.
  */
 
+#include "config_components.h"
+
 #include "libavutil/pixdesc.h"
 
 #include "avcodec.h"
diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c
index 29fac54542..36f2e9c1ae 100644
--- a/libavcodec/mlpdec.c
+++ b/libavcodec/mlpdec.c
@@ -24,6 +24,8 @@
  * MLP decoder
  */
 
+#include "config_components.h"
+
 #include <stdint.h>
 
 #include "avcodec.h"
diff --git a/libavcodec/mlpenc.c b/libavcodec/mlpenc.c
index d8783b6f56..0552d98d89 100644
--- a/libavcodec/mlpenc.c
+++ b/libavcodec/mlpenc.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "encode.h"
 #include "internal.h"
diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
index 9e4e26aa67..7791dcb5fd 100644
--- a/libavcodec/mpeg12dec.c
+++ b/libavcodec/mpeg12dec.c
@@ -25,6 +25,8 @@
  * MPEG-1/2 decoder
  */
 
+#include "config_components.h"
+
 #define UNCHECKED_BITSTREAM_READER 1
 #include <inttypes.h>
 
diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c
index 03692994b5..6110f117c6 100644
--- a/libavcodec/mpeg12enc.c
+++ b/libavcodec/mpeg12enc.c
@@ -28,6 +28,7 @@
 #include <stdint.h>
 
 #include "config.h"
+#include "config_components.h"
 #include "libavutil/attributes.h"
 #include "libavutil/avassert.h"
 #include "libavutil/log.h"
diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
index 0e0ebb674b..8fb5ec119e 100644
--- a/libavcodec/mpeg4videodec.c
+++ b/libavcodec/mpeg4videodec.c
@@ -22,6 +22,8 @@
 
 #define UNCHECKED_BITSTREAM_READER 1
 
+#include "config_components.h"
+
 #include "libavutil/internal.h"
 #include "libavutil/opt.h"
 #include "libavutil/thread.h"
diff --git a/libavcodec/mpegaudiodec_fixed.c b/libavcodec/mpegaudiodec_fixed.c
index f9f24330fd..ac0b1f3bb3 100644
--- a/libavcodec/mpegaudiodec_fixed.c
+++ b/libavcodec/mpegaudiodec_fixed.c
@@ -19,6 +19,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 #include "libavutil/samplefmt.h"
 
 #define USE_FLOATS 0
diff --git a/libavcodec/mpegaudiodec_float.c b/libavcodec/mpegaudiodec_float.c
index c7b7839997..912e6d189a 100644
--- a/libavcodec/mpegaudiodec_float.c
+++ b/libavcodec/mpegaudiodec_float.c
@@ -20,6 +20,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 #include "libavutil/samplefmt.h"
 
 #define USE_FLOATS 1
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index fc970e9614..3c793bcc22 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -27,6 +27,8 @@
  * The simplest mpeg encoder (well, it was the simplest!).
  */
 
+#include "config_components.h"
+
 #include "libavutil/attributes.h"
 #include "libavutil/avassert.h"
 #include "libavutil/imgutils.h"
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index c69114ea15..71c999fab0 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -31,6 +31,8 @@
  * The simplest mpeg encoder (well, it was the simplest!).
  */
 
+#include "config_components.h"
+
 #include <stdint.h>
 
 #include "libavutil/internal.h"
diff --git a/libavcodec/mpegvideo_motion.c b/libavcodec/mpegvideo_motion.c
index 876a7375f8..9a450b7c8e 100644
--- a/libavcodec/mpegvideo_motion.c
+++ b/libavcodec/mpegvideo_motion.c
@@ -21,6 +21,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/internal.h"
 #include "libavutil/mem_internal.h"
diff --git a/libavcodec/msmpeg4.c b/libavcodec/msmpeg4.c
index f12586dd64..455436e9c4 100644
--- a/libavcodec/msmpeg4.c
+++ b/libavcodec/msmpeg4.c
@@ -27,6 +27,8 @@
  * MSMPEG4 backend for encoder and decoder
  */
 
+#include "config_components.h"
+
 #include "libavutil/thread.h"
 
 #include "avcodec.h"
diff --git a/libavcodec/msmpeg4dec.c b/libavcodec/msmpeg4dec.c
index 29edd94427..afbeda4fac 100644
--- a/libavcodec/msmpeg4dec.c
+++ b/libavcodec/msmpeg4dec.c
@@ -22,6 +22,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/thread.h"
 
 #include "avcodec.h"
diff --git a/libavcodec/mvcdec.c b/libavcodec/mvcdec.c
index ae5ce4c0d7..410fd95875 100644
--- a/libavcodec/mvcdec.c
+++ b/libavcodec/mvcdec.c
@@ -24,6 +24,8 @@
  * Silicon Graphics Motion Video Compressor 1 & 2 decoder
  */
 
+#include "config_components.h"
+
 #include "libavutil/intreadwrite.h"
 
 #include "avcodec.h"
diff --git a/libavcodec/options.c b/libavcodec/options.c
index bba6078b62..5e396e9f29 100644
--- a/libavcodec/options.c
+++ b/libavcodec/options.c
@@ -24,6 +24,8 @@
  * Options definition for AVCodecContext.
  */
 
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "internal.h"
 #include "libavutil/avassert.h"
diff --git a/libavcodec/opus_pvq.c b/libavcodec/opus_pvq.c
index a4ab7c46eb..750360d737 100644
--- a/libavcodec/opus_pvq.c
+++ b/libavcodec/opus_pvq.c
@@ -23,6 +23,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "opustab.h"
 #include "opus_pvq.h"
 
diff --git a/libavcodec/pcm.c b/libavcodec/pcm.c
index e9b8eab484..e535446765 100644
--- a/libavcodec/pcm.c
+++ b/libavcodec/pcm.c
@@ -25,6 +25,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 #include "libavutil/attributes.h"
 #include "libavutil/float_dsp.h"
 #include "libavutil/thread.h"
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index a335a29b08..bd6feeadef 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -21,6 +21,8 @@
 
 //#define DEBUG
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/bprint.h"
 #include "libavutil/crc.h"
diff --git a/libavcodec/pnmdec.c b/libavcodec/pnmdec.c
index 01f9dade1a..57c426b0c9 100644
--- a/libavcodec/pnmdec.c
+++ b/libavcodec/pnmdec.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "internal.h"
 #include "put_bits.h"
diff --git a/libavcodec/pnmenc.c b/libavcodec/pnmenc.c
index 8378f90d08..58337a6499 100644
--- a/libavcodec/pnmenc.c
+++ b/libavcodec/pnmenc.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/intreadwrite.h"
 #include "libavutil/imgutils.h"
 #include "libavutil/pixdesc.h"
diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c
index 3ab6666f74..e3016df55d 100644
--- a/libavcodec/proresdec2.c
+++ b/libavcodec/proresdec2.c
@@ -28,6 +28,8 @@
 
 #define LONG_BITSTREAM_READER
 
+#include "config_components.h"
+
 #include "libavutil/internal.h"
 #include "libavutil/mem_internal.h"
 
diff --git a/libavcodec/qpeldsp.c b/libavcodec/qpeldsp.c
index 6e52b33657..c1eab6120d 100644
--- a/libavcodec/qpeldsp.c
+++ b/libavcodec/qpeldsp.c
@@ -29,6 +29,7 @@
 #include <stdint.h>
 
 #include "config.h"
+#include "config_components.h"
 #include "libavutil/attributes.h"
 #include "copy_block.h"
 #include "qpeldsp.h"
diff --git a/libavcodec/r210dec.c b/libavcodec/r210dec.c
index 476f1c0680..3acb5e58c7 100644
--- a/libavcodec/r210dec.c
+++ b/libavcodec/r210dec.c
@@ -21,6 +21,7 @@
  */
 
 #include "avcodec.h"
+#include "config_components.h"
 #include "internal.h"
 #include "libavutil/bswap.h"
 #include "libavutil/common.h"
diff --git a/libavcodec/r210enc.c b/libavcodec/r210enc.c
index 7a72ba4695..cd349f3b4f 100644
--- a/libavcodec/r210enc.c
+++ b/libavcodec/r210enc.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "encode.h"
 #include "internal.h"
diff --git a/libavcodec/rv34_parser.c b/libavcodec/rv34_parser.c
index 03469ed0d1..e17bc8562d 100644
--- a/libavcodec/rv34_parser.c
+++ b/libavcodec/rv34_parser.c
@@ -24,6 +24,8 @@
  * RV30/40 parser
  */
 
+#include "config_components.h"
+
 #include "parser.h"
 #include "libavutil/intreadwrite.h"
 
diff --git a/libavcodec/sonic.c b/libavcodec/sonic.c
index cf1cfb1460..560a5fc242 100644
--- a/libavcodec/sonic.c
+++ b/libavcodec/sonic.c
@@ -18,6 +18,9 @@
  * License along with FFmpeg; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
+
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "encode.h"
 #include "get_bits.h"
diff --git a/libavcodec/sp5xdec.c b/libavcodec/sp5xdec.c
index a1b43f8f80..e17e0d97b9 100644
--- a/libavcodec/sp5xdec.c
+++ b/libavcodec/sp5xdec.c
@@ -24,6 +24,8 @@
  * Sunplus JPEG decoder (SP5X).
  */
 
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "internal.h"
 #include "mjpeg.h"
diff --git a/libavcodec/speedhq.c b/libavcodec/speedhq.c
index fd4ea0d75e..77c5e46e4b 100644
--- a/libavcodec/speedhq.c
+++ b/libavcodec/speedhq.c
@@ -27,6 +27,7 @@
 #define BITSTREAM_READER_LE
 
 #include "config.h"
+#include "config_components.h"
 #include "libavutil/attributes.h"
 #include "libavutil/mem_internal.h"
 
diff --git a/libavcodec/speedhqenc.c b/libavcodec/speedhqenc.c
index e59af7f0d3..cd7b6e1763 100644
--- a/libavcodec/speedhqenc.c
+++ b/libavcodec/speedhqenc.c
@@ -27,6 +27,8 @@
  * SpeedHQ encoder.
  */
 
+#include "config_components.h"
+
 #include "libavutil/thread.h"
 
 #include "avcodec.h"
diff --git a/libavcodec/srtdec.c b/libavcodec/srtdec.c
index 4f16226b83..f7c131ff3d 100644
--- a/libavcodec/srtdec.c
+++ b/libavcodec/srtdec.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/common.h"
 #include "libavutil/intreadwrite.h"
diff --git a/libavcodec/srtenc.c b/libavcodec/srtenc.c
index 2e3ac55770..508770e319 100644
--- a/libavcodec/srtenc.c
+++ b/libavcodec/srtenc.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <stdarg.h>
 #include "avcodec.h"
 #include "libavutil/avstring.h"
diff --git a/libavcodec/textdec.c b/libavcodec/textdec.c
index 308553660a..420fcd1b14 100644
--- a/libavcodec/textdec.c
+++ b/libavcodec/textdec.c
@@ -23,6 +23,8 @@
  * Raw subtitles decoder
  */
 
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "ass.h"
 #include "internal.h"
diff --git a/libavcodec/v408dec.c b/libavcodec/v408dec.c
index 749b3b65e5..f1b84421b1 100644
--- a/libavcodec/v408dec.c
+++ b/libavcodec/v408dec.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "internal.h"
 
diff --git a/libavcodec/v408enc.c b/libavcodec/v408enc.c
index 31bf48406c..50766772c2 100644
--- a/libavcodec/v408enc.c
+++ b/libavcodec/v408enc.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/intreadwrite.h"
 #include "avcodec.h"
 #include "encode.h"
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index d9939a8ba1..1c92b9d401 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -26,6 +26,8 @@
  * VC-1 and WMV3 decoder
  */
 
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "blockdsp.h"
 #include "get_bits.h"
diff --git a/libavcodec/vc1dsp.c b/libavcodec/vc1dsp.c
index 04fc8b12f3..a29b91bf3d 100644
--- a/libavcodec/vc1dsp.c
+++ b/libavcodec/vc1dsp.c
@@ -24,6 +24,8 @@
  * VC-1 and WMV3 decoder
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/common.h"
 #include "libavutil/intreadwrite.h"
diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c
index 29c781cda4..9083f6ff29 100644
--- a/libavcodec/videotoolbox.c
+++ b/libavcodec/videotoolbox.c
@@ -21,6 +21,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 #include "videotoolbox.h"
 #include "libavutil/hwcontext_videotoolbox.h"
 #include "vt_internal.h"
diff --git a/libavcodec/vorbis_parser.c b/libavcodec/vorbis_parser.c
index 194ae13da3..a7d15d4ce9 100644
--- a/libavcodec/vorbis_parser.c
+++ b/libavcodec/vorbis_parser.c
@@ -25,6 +25,8 @@
  * Determines the duration for each packet.
  */
 
+#include "config_components.h"
+
 #include "libavutil/log.h"
 
 #include "get_bits.h"
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index e2418eb6fa..64532a70db 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -30,6 +30,8 @@
  * Theora decoder by Alex Beregszaszi
  */
 
+#include "config_components.h"
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/libavcodec/vp56dsp.c b/libavcodec/vp56dsp.c
index de6803e0fb..d368e3292d 100644
--- a/libavcodec/vp56dsp.c
+++ b/libavcodec/vp56dsp.c
@@ -22,6 +22,7 @@
 #include <stdint.h>
 
 #include "config.h"
+#include "config_components.h"
 #include "libavutil/attributes.h"
 #include "vp56dsp.h"
 #include "libavutil/common.h"
diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
index d779804e64..08338bc247 100644
--- a/libavcodec/vp8.c
+++ b/libavcodec/vp8.c
@@ -24,6 +24,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/imgutils.h"
 #include "libavutil/mem_internal.h"
 
diff --git a/libavcodec/vp8dsp.c b/libavcodec/vp8dsp.c
index 732a483b62..23f49b2c25 100644
--- a/libavcodec/vp8dsp.c
+++ b/libavcodec/vp8dsp.c
@@ -25,6 +25,8 @@
  * VP8 compatible video decoder
  */
 
+#include "config_components.h"
+
 #include "libavutil/common.h"
 #include "libavutil/intreadwrite.h"
 
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 7ef10f7a80..5da1b8a72e 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -21,6 +21,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "avcodec.h"
 #include "get_bits.h"
 #include "hwconfig.h"
diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c
index 9955aaa7d6..a27eb368e8 100644
--- a/libavcodec/wmadec.c
+++ b/libavcodec/wmadec.c
@@ -33,6 +33,8 @@
  * should be 4 extra bytes for v1 data and 6 extra bytes for v2 data.
  */
 
+#include "config_components.h"
+
 #include "libavutil/attributes.h"
 #include "libavutil/ffmath.h"
 
diff --git a/libavcodec/wmaenc.c b/libavcodec/wmaenc.c
index 66e3537cb0..7bd89556ea 100644
--- a/libavcodec/wmaenc.c
+++ b/libavcodec/wmaenc.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/attributes.h"
 #include "libavutil/ffmath.h"
 
diff --git a/libavcodec/x86/flacdsp_init.c b/libavcodec/x86/flacdsp_init.c
index 6315b6903e..ed2e5ed15b 100644
--- a/libavcodec/x86/flacdsp_init.c
+++ b/libavcodec/x86/flacdsp_init.c
@@ -22,6 +22,7 @@
 #include "libavcodec/flacdsp.h"
 #include "libavutil/x86/cpu.h"
 #include "config.h"
+#include "config_components.h"
 
 void ff_flac_lpc_32_sse4(int32_t *samples, const int coeffs[32], int order,
                          int qlevel, int len);
diff --git a/libavcodec/x86/hpeldsp_init.c b/libavcodec/x86/hpeldsp_init.c
index d89928cec6..6336587281 100644
--- a/libavcodec/x86/hpeldsp_init.c
+++ b/libavcodec/x86/hpeldsp_init.c
@@ -22,6 +22,8 @@
  * MMX optimization by Nick Kurshev <nickols_k@mail.ru>
  */
 
+#include "config_components.h"
+
 #include "libavutil/attributes.h"
 #include "libavutil/cpu.h"
 #include "libavutil/x86/cpu.h"
diff --git a/libavfilter/aeval.c b/libavfilter/aeval.c
index 42cfa81325..3717d9057a 100644
--- a/libavfilter/aeval.c
+++ b/libavfilter/aeval.c
@@ -23,6 +23,8 @@
  * eval audio source
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/channel_layout.h"
 #include "libavutil/eval.h"
diff --git a/libavfilter/af_afade.c b/libavfilter/af_afade.c
index c57709050e..5f12b1da43 100644
--- a/libavfilter/af_afade.c
+++ b/libavfilter/af_afade.c
@@ -23,6 +23,8 @@
  * fade audio filter
  */
 
+#include "config_components.h"
+
 #include "libavutil/opt.h"
 #include "audio.h"
 #include "avfilter.h"
diff --git a/libavfilter/af_agate.c b/libavfilter/af_agate.c
index 682f17c7dd..00990056cc 100644
--- a/libavfilter/af_agate.c
+++ b/libavfilter/af_agate.c
@@ -23,6 +23,8 @@
  * Audio (Sidechain) Gate filter
  */
 
+#include "config_components.h"
+
 #include "libavutil/audio_fifo.h"
 #include "libavutil/channel_layout.h"
 #include "libavutil/opt.h"
diff --git a/libavfilter/af_biquads.c b/libavfilter/af_biquads.c
index ee42b2a034..0da2643a3b 100644
--- a/libavfilter/af_biquads.c
+++ b/libavfilter/af_biquads.c
@@ -62,6 +62,8 @@
  *               V
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/channel_layout.h"
 #include "libavutil/ffmath.h"
diff --git a/libavfilter/af_sidechaincompress.c b/libavfilter/af_sidechaincompress.c
index c0ce82066b..f2bb55bc97 100644
--- a/libavfilter/af_sidechaincompress.c
+++ b/libavfilter/af_sidechaincompress.c
@@ -24,6 +24,8 @@
  * Audio (Sidechain) Compressor filter
  */
 
+#include "config_components.h"
+
 #include "libavutil/audio_fifo.h"
 #include "libavutil/channel_layout.h"
 #include "libavutil/common.h"
diff --git a/libavfilter/avf_showspectrum.c b/libavfilter/avf_showspectrum.c
index 610dc98c93..402868b5bb 100644
--- a/libavfilter/avf_showspectrum.c
+++ b/libavfilter/avf_showspectrum.c
@@ -26,6 +26,8 @@
  * (by Michael Niedermayer) and lavfi/avf_showwaves (by Stefano Sabatini).
  */
 
+#include "config_components.h"
+
 #include <float.h>
 #include <math.h>
 
diff --git a/libavfilter/avf_showwaves.c b/libavfilter/avf_showwaves.c
index 853f6bbdcb..cd9c96486c 100644
--- a/libavfilter/avf_showwaves.c
+++ b/libavfilter/avf_showwaves.c
@@ -23,6 +23,8 @@
  * audio to video multimedia filter
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/avstring.h"
 #include "libavutil/channel_layout.h"
diff --git a/libavfilter/f_bench.c b/libavfilter/f_bench.c
index 109a530d7c..9b55194dbc 100644
--- a/libavfilter/f_bench.c
+++ b/libavfilter/f_bench.c
@@ -16,6 +16,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/opt.h"
 #include "libavutil/time.h"
 #include "avfilter.h"
diff --git a/libavfilter/f_cue.c b/libavfilter/f_cue.c
index d90fe54b9a..9a1b7c03b8 100644
--- a/libavfilter/f_cue.c
+++ b/libavfilter/f_cue.c
@@ -18,6 +18,8 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/opt.h"
 #include "libavutil/time.h"
 #include "avfilter.h"
diff --git a/libavfilter/f_drawgraph.c b/libavfilter/f_drawgraph.c
index b6fcb3b75e..000255fc52 100644
--- a/libavfilter/f_drawgraph.c
+++ b/libavfilter/f_drawgraph.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "float.h"
 
 #include "libavutil/avstring.h"
diff --git a/libavfilter/f_graphmonitor.c b/libavfilter/f_graphmonitor.c
index 9cc5ea940e..e6a7c08360 100644
--- a/libavfilter/f_graphmonitor.c
+++ b/libavfilter/f_graphmonitor.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "float.h"
 
 #include "libavutil/pixdesc.h"
diff --git a/libavfilter/f_interleave.c b/libavfilter/f_interleave.c
index b60e89762f..74597a0ec6 100644
--- a/libavfilter/f_interleave.c
+++ b/libavfilter/f_interleave.c
@@ -23,6 +23,8 @@
  * audio and video interleaver
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/avstring.h"
 #include "libavutil/opt.h"
diff --git a/libavfilter/f_latency.c b/libavfilter/f_latency.c
index 6f16d6677e..f04fd726f2 100644
--- a/libavfilter/f_latency.c
+++ b/libavfilter/f_latency.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/opt.h"
 #include "avfilter.h"
 #include "filters.h"
diff --git a/libavfilter/f_loop.c b/libavfilter/f_loop.c
index f8ae4a6a3a..fff503776d 100644
--- a/libavfilter/f_loop.c
+++ b/libavfilter/f_loop.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/audio_fifo.h"
 #include "libavutil/fifo.h"
 #include "libavutil/internal.h"
diff --git a/libavfilter/f_metadata.c b/libavfilter/f_metadata.c
index 5f5091e9b7..82491f2bb8 100644
--- a/libavfilter/f_metadata.c
+++ b/libavfilter/f_metadata.c
@@ -23,6 +23,8 @@
  * filter for manipulating frame metadata
  */
 
+#include "config_components.h"
+
 #include <float.h>
 
 #include "libavutil/avassert.h"
diff --git a/libavfilter/f_perms.c b/libavfilter/f_perms.c
index 5e2f4ecdf4..e26a15fd06 100644
--- a/libavfilter/f_perms.c
+++ b/libavfilter/f_perms.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/lfg.h"
 #include "libavutil/opt.h"
 #include "libavutil/random_seed.h"
diff --git a/libavfilter/f_realtime.c b/libavfilter/f_realtime.c
index 9a60ded0ca..78da5dc3a7 100644
--- a/libavfilter/f_realtime.c
+++ b/libavfilter/f_realtime.c
@@ -18,6 +18,8 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/opt.h"
 #include "libavutil/time.h"
 #include "avfilter.h"
diff --git a/libavfilter/f_reverse.c b/libavfilter/f_reverse.c
index f7a7e716fa..813a32d0e9 100644
--- a/libavfilter/f_reverse.c
+++ b/libavfilter/f_reverse.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/opt.h"
 #include "avfilter.h"
 #include "formats.h"
diff --git a/libavfilter/f_segment.c b/libavfilter/f_segment.c
index dd94eb9360..03a071a05b 100644
--- a/libavfilter/f_segment.c
+++ b/libavfilter/f_segment.c
@@ -16,6 +16,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <stdint.h>
 
 #include "libavutil/avstring.h"
diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c
index b61d88f4fe..1cfe2d59e5 100644
--- a/libavfilter/f_select.c
+++ b/libavfilter/f_select.c
@@ -23,6 +23,8 @@
  * filter for selecting which frame passes in the filterchain
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/eval.h"
 #include "libavutil/fifo.h"
diff --git a/libavfilter/f_sendcmd.c b/libavfilter/f_sendcmd.c
index 04bfc84a06..857b841313 100644
--- a/libavfilter/f_sendcmd.c
+++ b/libavfilter/f_sendcmd.c
@@ -23,6 +23,8 @@
  * send commands filter
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/bprint.h"
 #include "libavutil/eval.h"
diff --git a/libavfilter/f_sidedata.c b/libavfilter/f_sidedata.c
index 8eccd4a06e..82bbaa0e7e 100644
--- a/libavfilter/f_sidedata.c
+++ b/libavfilter/f_sidedata.c
@@ -21,6 +21,8 @@
  * filter for manipulating frame side data
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/internal.h"
 #include "libavutil/frame.h"
diff --git a/libavfilter/lut3d.h b/libavfilter/lut3d.h
index bc32eac91c..97cd413233 100644
--- a/libavfilter/lut3d.h
+++ b/libavfilter/lut3d.h
@@ -21,6 +21,8 @@
 #ifndef AVFILTER_LUT3D_H
 #define AVFILTER_LUT3D_H
 
+#include "config_components.h"
+
 #include "libavutil/pixdesc.h"
 #include "framesync.h"
 #include "avfilter.h"
diff --git a/libavfilter/setpts.c b/libavfilter/setpts.c
index 054feb05f1..171fae88c0 100644
--- a/libavfilter/setpts.c
+++ b/libavfilter/setpts.c
@@ -24,6 +24,8 @@
  * video presentation timestamp (PTS) modification filter
  */
 
+#include "config_components.h"
+
 #include <inttypes.h>
 
 #include "libavutil/eval.h"
diff --git a/libavfilter/settb.c b/libavfilter/settb.c
index 67d310afbd..5f589004f8 100644
--- a/libavfilter/settb.c
+++ b/libavfilter/settb.c
@@ -23,6 +23,8 @@
  * Set timebase for the output link.
  */
 
+#include "config_components.h"
+
 #include <inttypes.h>
 #include <stdio.h>
 
diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c
index b89a680883..86b304213b 100644
--- a/libavfilter/src_movie.c
+++ b/libavfilter/src_movie.c
@@ -27,6 +27,8 @@
  * @todo support a PTS correction mechanism
  */
 
+#include "config_components.h"
+
 #include <float.h>
 #include <stdint.h>
 
diff --git a/libavfilter/trim.c b/libavfilter/trim.c
index e627903c64..06c50cd91a 100644
--- a/libavfilter/trim.c
+++ b/libavfilter/trim.c
@@ -19,6 +19,7 @@
 #include <stdint.h>
 
 #include "config.h"
+#include "config_components.h"
 
 #include "libavutil/channel_layout.h"
 #include "libavutil/common.h"
diff --git a/libavfilter/vf_aspect.c b/libavfilter/vf_aspect.c
index 2d1eaa954b..0a10a5a176 100644
--- a/libavfilter/vf_aspect.c
+++ b/libavfilter/vf_aspect.c
@@ -23,6 +23,8 @@
  * aspect ratio modification video filters
  */
 
+#include "config_components.h"
+
 #include <float.h>
 
 #include "libavutil/common.h"
diff --git a/libavfilter/vf_blend.c b/libavfilter/vf_blend.c
index 2d433e439f..c882086c51 100644
--- a/libavfilter/vf_blend.c
+++ b/libavfilter/vf_blend.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/imgutils.h"
 #include "libavutil/intfloat.h"
 #include "libavutil/eval.h"
diff --git a/libavfilter/vf_colorconstancy.c b/libavfilter/vf_colorconstancy.c
index ba6359462e..db7e20df53 100644
--- a/libavfilter/vf_colorconstancy.c
+++ b/libavfilter/vf_colorconstancy.c
@@ -28,6 +28,8 @@
  * J. van de Weijer, Th. Gevers, A. Gijsenij "Edge-Based Color Constancy".
  */
 
+#include "config_components.h"
+
 #include "libavutil/imgutils.h"
 #include "libavutil/opt.h"
 #include "libavutil/pixdesc.h"
diff --git a/libavfilter/vf_colorkey.c b/libavfilter/vf_colorkey.c
index ed43722c03..96e0f12878 100644
--- a/libavfilter/vf_colorkey.c
+++ b/libavfilter/vf_colorkey.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/opt.h"
 #include "libavutil/imgutils.h"
 #include "avfilter.h"
diff --git a/libavfilter/vf_convolution.c b/libavfilter/vf_convolution.c
index 6e6fe0d887..9a9c099e6d 100644
--- a/libavfilter/vf_convolution.c
+++ b/libavfilter/vf_convolution.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/imgutils.h"
 #include "libavutil/intreadwrite.h"
diff --git a/libavfilter/vf_convolve.c b/libavfilter/vf_convolve.c
index 55afb582b4..a61a32f007 100644
--- a/libavfilter/vf_convolve.c
+++ b/libavfilter/vf_convolve.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <float.h>
 
 #include "libavutil/imgutils.h"
diff --git a/libavfilter/vf_drawbox.c b/libavfilter/vf_drawbox.c
index 919652e50f..f1da075fe2 100644
--- a/libavfilter/vf_drawbox.c
+++ b/libavfilter/vf_drawbox.c
@@ -25,6 +25,8 @@
  * that needs to write in the input frame.
  */
 
+#include "config_components.h"
+
 #include "libavutil/colorspace.h"
 #include "libavutil/common.h"
 #include "libavutil/opt.h"
diff --git a/libavfilter/vf_extractplanes.c b/libavfilter/vf_extractplanes.c
index 0b26d92269..60b55578cf 100644
--- a/libavfilter/vf_extractplanes.c
+++ b/libavfilter/vf_extractplanes.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/imgutils.h"
 #include "libavutil/opt.h"
diff --git a/libavfilter/vf_format.c b/libavfilter/vf_format.c
index c78acbf87b..24b1c9ca61 100644
--- a/libavfilter/vf_format.c
+++ b/libavfilter/vf_format.c
@@ -23,6 +23,8 @@
  * format and noformat video filters
  */
 
+#include "config_components.h"
+
 #include <string.h>
 
 #include "libavutil/internal.h"
diff --git a/libavfilter/vf_histogram.c b/libavfilter/vf_histogram.c
index bf80b2c4fc..ced7cda6f4 100644
--- a/libavfilter/vf_histogram.c
+++ b/libavfilter/vf_histogram.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/colorspace.h"
 #include "libavutil/opt.h"
 #include "libavutil/parseutils.h"
diff --git a/libavfilter/vf_identity.c b/libavfilter/vf_identity.c
index cc30761388..84def7959b 100644
--- a/libavfilter/vf_identity.c
+++ b/libavfilter/vf_identity.c
@@ -23,6 +23,8 @@
  * Calculate the Identity between two input videos.
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/opt.h"
 #include "libavutil/pixdesc.h"
diff --git a/libavfilter/vf_lut.c b/libavfilter/vf_lut.c
index fd5b364797..621291cdad 100644
--- a/libavfilter/vf_lut.c
+++ b/libavfilter/vf_lut.c
@@ -24,6 +24,8 @@
  * value, and apply it to input video.
  */
 
+#include "config_components.h"
+
 #include "libavutil/attributes.h"
 #include "libavutil/bswap.h"
 #include "libavutil/common.h"
diff --git a/libavfilter/vf_lut2.c b/libavfilter/vf_lut2.c
index 868c0496fa..49755544b0 100644
--- a/libavfilter/vf_lut2.c
+++ b/libavfilter/vf_lut2.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/attributes.h"
 #include "libavutil/common.h"
 #include "libavutil/eval.h"
diff --git a/libavfilter/vf_mix.c b/libavfilter/vf_mix.c
index 8206517579..c04504bba0 100644
--- a/libavfilter/vf_mix.c
+++ b/libavfilter/vf_mix.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/imgutils.h"
 #include "libavutil/intreadwrite.h"
diff --git a/libavfilter/vf_neighbor.c b/libavfilter/vf_neighbor.c
index f48fb306b2..d6638779e5 100644
--- a/libavfilter/vf_neighbor.c
+++ b/libavfilter/vf_neighbor.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/imgutils.h"
 #include "libavutil/intreadwrite.h"
 #include "libavutil/pixdesc.h"
diff --git a/libavfilter/vf_premultiply.c b/libavfilter/vf_premultiply.c
index 4b60de7b7b..e077d46a9a 100644
--- a/libavfilter/vf_premultiply.c
+++ b/libavfilter/vf_premultiply.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/imgutils.h"
 #include "libavutil/pixdesc.h"
 #include "libavutil/opt.h"
diff --git a/libavfilter/vf_setparams.c b/libavfilter/vf_setparams.c
index b3893adc13..95a2d15c02 100644
--- a/libavfilter/vf_setparams.c
+++ b/libavfilter/vf_setparams.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/pixfmt.h"
 #include "libavutil/opt.h"
 #include "avfilter.h"
diff --git a/libavfilter/vf_stack.c b/libavfilter/vf_stack.c
index f584e8349b..aa32a1bf5e 100644
--- a/libavfilter/vf_stack.c
+++ b/libavfilter/vf_stack.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/imgutils.h"
 #include "libavutil/opt.h"
diff --git a/libavfilter/vf_xmedian.c b/libavfilter/vf_xmedian.c
index 148ab555bb..155e464ba6 100644
--- a/libavfilter/vf_xmedian.c
+++ b/libavfilter/vf_xmedian.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/imgutils.h"
 #include "libavutil/intreadwrite.h"
diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c
index 20b915d472..f859cf2f48 100644
--- a/libavfilter/vsrc_testsrc.c
+++ b/libavfilter/vsrc_testsrc.c
@@ -33,6 +33,8 @@
  * allyuv, smptebars and smptehdbars are by Paul B Mahol.
  */
 
+#include "config_components.h"
+
 #include <float.h>
 
 #include "libavutil/avassert.h"
diff --git a/libavformat/ac3dec.c b/libavformat/ac3dec.c
index ad9b65a9be..51461befd8 100644
--- a/libavformat/ac3dec.c
+++ b/libavformat/ac3dec.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/crc.h"
 #include "libavcodec/ac3_parser.h"
diff --git a/libavformat/alp.c b/libavformat/alp.c
index f46bdb4511..d4a8db240e 100644
--- a/libavformat/alp.c
+++ b/libavformat/alp.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/channel_layout.h"
 #include "avformat.h"
 #include "internal.h"
diff --git a/libavformat/amr.c b/libavformat/amr.c
index bc22c2f84f..c366b8f1b0 100644
--- a/libavformat/amr.c
+++ b/libavformat/amr.c
@@ -23,6 +23,8 @@
 Write and read amr data according to RFC3267, http://www.ietf.org/rfc/rfc3267.txt?number=3267
 */
 
+#include "config_components.h"
+
 #include "libavutil/channel_layout.h"
 #include "libavutil/intreadwrite.h"
 #include "avformat.h"
diff --git a/libavformat/apm.c b/libavformat/apm.c
index 1ced771745..7bf399f663 100644
--- a/libavformat/apm.c
+++ b/libavformat/apm.c
@@ -19,6 +19,9 @@
  * License along with FFmpeg; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
+
+#include "config_components.h"
+
 #include "avformat.h"
 #include "internal.h"
 #include "rawenc.h"
diff --git a/libavformat/aptxdec.c b/libavformat/aptxdec.c
index 7153e262a1..0fa5051785 100644
--- a/libavformat/aptxdec.c
+++ b/libavformat/aptxdec.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/opt.h"
 #include "avformat.h"
 
diff --git a/libavformat/argo_asf.c b/libavformat/argo_asf.c
index d26844d1e2..edf005c69d 100644
--- a/libavformat/argo_asf.c
+++ b/libavformat/argo_asf.c
@@ -19,6 +19,9 @@
  * License along with FFmpeg; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
+
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "avformat.h"
 #include "internal.h"
diff --git a/libavformat/argo_cvg.c b/libavformat/argo_cvg.c
index dfdf126c17..deca57a322 100644
--- a/libavformat/argo_cvg.c
+++ b/libavformat/argo_cvg.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/channel_layout.h"
 #include "avformat.h"
diff --git a/libavformat/asfenc.c b/libavformat/asfenc.c
index 041019b186..5b34f98a2b 100644
--- a/libavformat/asfenc.c
+++ b/libavformat/asfenc.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/dict.h"
 #include "libavutil/mathematics.h"
diff --git a/libavformat/au.c b/libavformat/au.c
index 9bd408f65c..4d5671f181 100644
--- a/libavformat/au.c
+++ b/libavformat/au.c
@@ -27,6 +27,8 @@
  * http://www.goice.co.jp/member/mo/formats/au.html
  */
 
+#include "config_components.h"
+
 #include "libavutil/bprint.h"
 #include "avformat.h"
 #include "internal.h"
diff --git a/libavformat/av1dec.c b/libavformat/av1dec.c
index 6e1c2a45ff..350f5360d5 100644
--- a/libavformat/av1dec.c
+++ b/libavformat/av1dec.c
@@ -20,6 +20,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 
 #include "libavutil/common.h"
 #include "libavutil/opt.h"
diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 455dce0733..3c749aec14 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <inttypes.h>
 
 #include "libavutil/avassert.h"
diff --git a/libavformat/avienc.c b/libavformat/avienc.c
index be2493ce55..e36e88335f 100644
--- a/libavformat/avienc.c
+++ b/libavformat/avienc.c
@@ -25,6 +25,7 @@
 #include "internal.h"
 #include "avi.h"
 #include "avio_internal.h"
+#include "config_components.h"
 #include "riff.h"
 #include "mpegts.h"
 #include "libavformat/avlanguage.h"
diff --git a/libavformat/bintext.c b/libavformat/bintext.c
index 1270c7fb2c..0465b86f4b 100644
--- a/libavformat/bintext.c
+++ b/libavformat/bintext.c
@@ -30,6 +30,8 @@
  * iCEDraw File demuxer
  */
 
+#include "config_components.h"
+
 #include "libavutil/intreadwrite.h"
 #include "libavutil/opt.h"
 #include "libavutil/parseutils.h"
diff --git a/libavformat/bit.c b/libavformat/bit.c
index 380cbd37cd..b1dc237dce 100644
--- a/libavformat/bit.c
+++ b/libavformat/bit.c
@@ -18,6 +18,9 @@
  * License along with FFmpeg; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
+
+#include "config_components.h"
+
 #include "avformat.h"
 #include "internal.h"
 #include "libavcodec/get_bits.h"
diff --git a/libavformat/codec2.c b/libavformat/codec2.c
index 0b992836b3..b10b5c34c4 100644
--- a/libavformat/codec2.c
+++ b/libavformat/codec2.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <memory.h>
 #include "libavcodec/codec2utils.h"
 #include "libavutil/channel_layout.h"
diff --git a/libavformat/concat.c b/libavformat/concat.c
index faeba2293a..dc0985e40c 100644
--- a/libavformat/concat.c
+++ b/libavformat/concat.c
@@ -21,6 +21,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/bprint.h"
 #include "libavutil/mem.h"
diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index 4709bc6615..1bd5aac956 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -21,6 +21,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 #if HAVE_UNISTD_H
 #include <unistd.h>
 #endif
diff --git a/libavformat/demux.c b/libavformat/demux.c
index ec34b65288..1fdee84933 100644
--- a/libavformat/demux.c
+++ b/libavformat/demux.c
@@ -22,6 +22,7 @@
 #include <stdint.h>
 
 #include "config.h"
+#include "config_components.h"
 
 #include "libavutil/avassert.h"
 #include "libavutil/avstring.h"
diff --git a/libavformat/file.c b/libavformat/file.c
index 7001750c80..063d7c5aa2 100644
--- a/libavformat/file.c
+++ b/libavformat/file.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/internal.h"
 #include "libavutil/opt.h"
diff --git a/libavformat/format.c b/libavformat/format.c
index 52b85c16a2..5f8155be59 100644
--- a/libavformat/format.c
+++ b/libavformat/format.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/bprint.h"
 #include "libavutil/opt.h"
diff --git a/libavformat/g726.c b/libavformat/g726.c
index 4b08d0a9f7..e64e54114c 100644
--- a/libavformat/g726.c
+++ b/libavformat/g726.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "avformat.h"
 #include "internal.h"
 #include "libavutil/opt.h"
diff --git a/libavformat/gopher.c b/libavformat/gopher.c
index 9bbe171640..9497ffacf2 100644
--- a/libavformat/gopher.c
+++ b/libavformat/gopher.c
@@ -24,6 +24,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 
 #include "libavutil/avstring.h"
 #include "avformat.h"
diff --git a/libavformat/hashenc.c b/libavformat/hashenc.c
index 622491d2e5..1aaba0b306 100644
--- a/libavformat/hashenc.c
+++ b/libavformat/hashenc.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/hash.h"
 #include "libavutil/intreadwrite.h"
diff --git a/libavformat/hls.c b/libavformat/hls.c
index 06bc46c23f..cf6ef9dfb6 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -27,6 +27,8 @@
  * https://www.rfc-editor.org/rfc/rfc8216.txt
  */
 
+#include "config_components.h"
+
 #include "libavformat/http.h"
 #include "libavutil/avstring.h"
 #include "libavutil/avassert.h"
diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index ef8973cea1..14eb7c4530 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -21,6 +21,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 #include <float.h>
 #include <stdint.h>
 #if HAVE_UNISTD_H
diff --git a/libavformat/http.c b/libavformat/http.c
index c79db955e8..c4eeb58cd0 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -20,6 +20,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 
 #if CONFIG_ZLIB
 #include <zlib.h>
diff --git a/libavformat/ilbc.c b/libavformat/ilbc.c
index 0cbdd3d5b8..b2ac8159a6 100644
--- a/libavformat/ilbc.c
+++ b/libavformat/ilbc.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "avformat.h"
 #include "internal.h"
 #include "rawenc.h"
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index 8608252d83..b9c06c5b54 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #define _DEFAULT_SOURCE
 #define _BSD_SOURCE
 #include <sys/stat.h>
diff --git a/libavformat/img2enc.c b/libavformat/img2enc.c
index ded91d6b98..9b3b8741c8 100644
--- a/libavformat/img2enc.c
+++ b/libavformat/img2enc.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/intreadwrite.h"
 #include "libavutil/avstring.h"
 #include "libavutil/dict.h"
diff --git a/libavformat/kvag.c b/libavformat/kvag.c
index a277c28128..3df2c4f670 100644
--- a/libavformat/kvag.c
+++ b/libavformat/kvag.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/channel_layout.h"
 #include "avformat.h"
 #include "avio_internal.h"
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 95e49cbe7f..53cd538580 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -29,6 +29,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 
 #include <inttypes.h>
 #include <stdio.h>
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index e8df5db3bd..93c969bf03 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -22,6 +22,7 @@
 #include <stdint.h>
 
 #include "config.h"
+#include "config_components.h"
 
 #include "av1.h"
 #include "avc.h"
diff --git a/libavformat/mj2kdec.c b/libavformat/mj2kdec.c
index 703ff91efb..2373f31b94 100644
--- a/libavformat/mj2kdec.c
+++ b/libavformat/mj2kdec.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/intreadwrite.h"
 #include "avformat.h"
 #include "rawdec.h"
diff --git a/libavformat/mlpdec.c b/libavformat/mlpdec.c
index f0996fef31..4834f697f3 100644
--- a/libavformat/mlpdec.c
+++ b/libavformat/mlpdec.c
@@ -21,6 +21,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "avformat.h"
 #include "avio_internal.h"
 #include "internal.h"
diff --git a/libavformat/mmf.c b/libavformat/mmf.c
index e836390bff..2db91febb5 100644
--- a/libavformat/mmf.c
+++ b/libavformat/mmf.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/channel_layout.h"
 #include "avformat.h"
 #include "avio_internal.h"
diff --git a/libavformat/mov.c b/libavformat/mov.c
index a842bf4464..5984b73050 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -23,6 +23,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <inttypes.h>
 #include <limits.h>
 #include <stdint.h>
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 14482abe8d..893deceb1b 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -21,6 +21,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <stdint.h>
 #include <inttypes.h>
 
diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c
index ca15d9f241..7eb24cd5c2 100644
--- a/libavformat/mpeg.c
+++ b/libavformat/mpeg.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/channel_layout.h"
 #include "avformat.h"
 #include "avio_internal.h"
diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c
index 64248695bd..79fd6b28b0 100644
--- a/libavformat/mpegenc.c
+++ b/libavformat/mpegenc.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <stdint.h>
 
 #include "libavutil/attributes.h"
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index e23f596490..da77b50669 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/buffer.h"
 #include "libavutil/common.h"
 #include "libavutil/crc.h"
diff --git a/libavformat/network.c b/libavformat/network.c
index 1ced314c92..21e20b3e9a 100644
--- a/libavformat/network.c
+++ b/libavformat/network.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <fcntl.h>
 #include "network.h"
 #include "tls.h"
diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c
index 31f47dadf6..016047f616 100644
--- a/libavformat/oggenc.c
+++ b/libavformat/oggenc.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <stdint.h>
 
 #include "libavutil/crc.h"
diff --git a/libavformat/pcmdec.c b/libavformat/pcmdec.c
index 63539a47c0..f6123ae90d 100644
--- a/libavformat/pcmdec.c
+++ b/libavformat/pcmdec.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "avformat.h"
 #include "internal.h"
diff --git a/libavformat/pcmenc.c b/libavformat/pcmenc.c
index cbfcee7b41..0cf497989a 100644
--- a/libavformat/pcmenc.c
+++ b/libavformat/pcmenc.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "avformat.h"
 #include "rawenc.h"
 
diff --git a/libavformat/rawdec.c b/libavformat/rawdec.c
index 15e26c03bd..17649bc077 100644
--- a/libavformat/rawdec.c
+++ b/libavformat/rawdec.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "avformat.h"
 #include "internal.h"
 #include "avio_internal.h"
diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c
index f8c267c4c9..c8e7ca818b 100644
--- a/libavformat/rawenc.c
+++ b/libavformat/rawenc.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/intreadwrite.h"
 
 #include "avformat.h"
diff --git a/libavformat/rawvideodec.c b/libavformat/rawvideodec.c
index 7b1a534452..514e4e044f 100644
--- a/libavformat/rawvideodec.c
+++ b/libavformat/rawvideodec.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/imgutils.h"
 #include "libavutil/parseutils.h"
 #include "libavutil/pixdesc.h"
diff --git a/libavformat/riff.c b/libavformat/riff.c
index f098c1d580..df7e9df31b 100644
--- a/libavformat/riff.c
+++ b/libavformat/riff.c
@@ -21,6 +21,7 @@
 
 #include <stddef.h>
 #include "config.h"
+#include "config_components.h"
 #include "libavutil/macros.h"
 #include "avformat.h"
 #include "internal.h"
diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
index 88557140f7..f97e3c3b8e 100644
--- a/libavformat/rtmpproto.c
+++ b/libavformat/rtmpproto.c
@@ -24,6 +24,8 @@
  * RTMP protocol
  */
 
+#include "config_components.h"
+
 #include "libavcodec/bytestream.h"
 #include "libavutil/avstring.h"
 #include "libavutil/base64.h"
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index f1992f193e..f8aa3dfe1e 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avassert.h"
 #include "libavutil/base64.h"
 #include "libavutil/bprint.h"
diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c
index eee6329025..bbabec7db8 100644
--- a/libavformat/rtspdec.c
+++ b/libavformat/rtspdec.c
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavutil/avstring.h"
 #include "libavutil/intreadwrite.h"
 #include "libavutil/mathematics.h"
diff --git a/libavformat/sdp.c b/libavformat/sdp.c
index d63a0b34c4..7644cb6c2a 100644
--- a/libavformat/sdp.c
+++ b/libavformat/sdp.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <string.h>
 #include "libavutil/avstring.h"
 #include "libavutil/base64.h"
diff --git a/libavformat/segment.c b/libavformat/segment.c
index e9b0aa4fa8..ef0529a920 100644
--- a/libavformat/segment.c
+++ b/libavformat/segment.c
@@ -24,6 +24,8 @@
  * @url{http://tools.ietf.org/id/draft-pantos-http-live-streaming}
  */
 
+#include "config_components.h"
+
 #include <float.h>
 #include <time.h>
 
diff --git a/libavformat/swfenc.c b/libavformat/swfenc.c
index 9eb22ee9b3..3b4aa614ca 100644
--- a/libavformat/swfenc.c
+++ b/libavformat/swfenc.c
@@ -20,6 +20,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include "libavcodec/put_bits.h"
 #include "libavutil/avassert.h"
 #include "libavutil/fifo.h"
diff --git a/libavformat/voc.c b/libavformat/voc.c
index 04ec0da9ba..a836ecb79b 100644
--- a/libavformat/voc.c
+++ b/libavformat/voc.c
@@ -20,6 +20,7 @@
  */
 
 #include "config.h"
+#include "config_components.h"
 #include "voc.h"
 #include "internal.h"
 
diff --git a/libavformat/wavdec.c b/libavformat/wavdec.c
index 01090b6947..c53e6a1841 100644
--- a/libavformat/wavdec.c
+++ b/libavformat/wavdec.c
@@ -28,6 +28,7 @@
 #include <stdint.h>
 
 #include "config.h"
+#include "config_components.h"
 #include "libavutil/avassert.h"
 #include "libavutil/dict.h"
 #include "libavutil/intreadwrite.h"
diff --git a/libavformat/wavenc.c b/libavformat/wavenc.c
index 2317700be1..75a97e8244 100644
--- a/libavformat/wavenc.c
+++ b/libavformat/wavenc.c
@@ -28,6 +28,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config_components.h"
+
 #include <stdint.h>
 #include <string.h>
 
