[FFmpeg-devel] [PATCH 13/13] configure: Use a separate config_components.h header for $ALL_COMPONENTS
Martin Storsjö
martin at martin.st
Thu Feb 24 23:35:05 EET 2022
On Thu, 24 Feb 2022, Michael Niedermayer wrote:
> On Wed, Feb 23, 2022 at 04:29:51PM +0200, Martin Storsjö wrote:
>> This avoids unnecessary rebuilds of most source files if only the
>> list of enabled components has changed, but not the other properties
>> of the build, set in config.h.
>> ---
>> configure | 17 +++++++++++++++--
>> fftools/ffplay.c | 1 +
>> libavcodec/8svx.c | 1 +
>> libavcodec/a64multienc.c | 1 +
>> libavcodec/aac_ac3_parser.c | 1 +
>> libavcodec/aactab.c | 1 +
>> libavcodec/aarch64/h264cmc_neon.S | 1 +
>> libavcodec/ac3_parser.c | 1 +
>> libavcodec/ac3dec.c | 1 +
>> libavcodec/ac3enc.c | 1 +
>> libavcodec/ac3enc_template.c | 1 +
>> libavcodec/adpcm.c | 1 +
>> libavcodec/adpcmenc.c | 1 +
>> libavcodec/allcodecs.c | 1 +
>> libavcodec/aptxdec.c | 1 +
>> libavcodec/aptxenc.c | 1 +
>> libavcodec/arm/flacdsp_init_arm.c | 1 +
>> libavcodec/arm/h264cmc_neon.S | 1 +
>> libavcodec/assdec.c | 1 +
>> libavcodec/assenc.c | 1 +
>> libavcodec/asvdec.c | 1 +
>> libavcodec/asvenc.c | 1 +
>> libavcodec/audiotoolboxdec.c | 1 +
>> libavcodec/av1dec.c | 1 +
>> libavcodec/binkaudio.c | 1 +
>> libavcodec/bintext.c | 1 +
>> libavcodec/bsf.c | 1 +
>> libavcodec/cyuv.c | 1 +
>> libavcodec/flashsv.c | 1 +
>> libavcodec/g726.c | 1 +
>> libavcodec/gsmdec.c | 1 +
>> libavcodec/h263dec.c | 1 +
>> libavcodec/h264_slice.c | 1 +
>> libavcodec/h264dec.c | 2 ++
>> libavcodec/hevcdec.c | 1 +
>> libavcodec/huffyuvdec.c | 1 +
>> libavcodec/huffyuvenc.c | 1 +
>> libavcodec/idctdsp.c | 1 +
>> libavcodec/iff.c | 1 +
>> libavcodec/imc.c | 1 +
>> libavcodec/ituh263dec.c | 1 +
>> libavcodec/ituh263enc.c | 1 +
>> libavcodec/lcldec.c | 1 +
>> libavcodec/libgsmdec.c | 1 +
>> libavcodec/libgsmenc.c | 1 +
>> libavcodec/libopencore-amr.c | 1 +
>> libavcodec/libvpx.c | 1 +
>> libavcodec/libvpxdec.c | 1 +
>> libavcodec/libvpxenc.c | 1 +
>> libavcodec/libx264.c | 1 +
>> libavcodec/me_cmp.c | 1 +
>> libavcodec/metasound_data.c | 1 +
>> libavcodec/mjpegdec.c | 1 +
>> libavcodec/mjpegenc.c | 1 +
>> libavcodec/mlpdec.c | 1 +
>> libavcodec/mlpenc.c | 1 +
>> libavcodec/mpeg12dec.c | 1 +
>> libavcodec/mpeg12enc.c | 1 +
>> libavcodec/mpeg4videodec.c | 1 +
>> libavcodec/mpegaudiodec_fixed.c | 1 +
>> libavcodec/mpegaudiodec_float.c | 1 +
>> libavcodec/mpegvideo.c | 1 +
>> libavcodec/mpegvideo_enc.c | 1 +
>> libavcodec/mpegvideo_motion.c | 1 +
>> libavcodec/msmpeg4.c | 1 +
>> libavcodec/msmpeg4dec.c | 1 +
>> libavcodec/mvcdec.c | 1 +
>> libavcodec/options.c | 1 +
>> libavcodec/opus_pvq.c | 1 +
>> libavcodec/pcm.c | 1 +
>> libavcodec/pngdec.c | 1 +
>> libavcodec/pnmdec.c | 1 +
>> libavcodec/pnmenc.c | 1 +
>> libavcodec/proresdec2.c | 1 +
>> libavcodec/qpeldsp.c | 1 +
>> libavcodec/r210dec.c | 1 +
>> libavcodec/r210enc.c | 1 +
>> libavcodec/rv34_parser.c | 1 +
>> libavcodec/sonic.c | 1 +
>> libavcodec/sp5xdec.c | 1 +
>> libavcodec/speedhq.c | 1 +
>> libavcodec/speedhqenc.c | 1 +
>> libavcodec/srtdec.c | 1 +
>> libavcodec/srtenc.c | 1 +
>> libavcodec/textdec.c | 1 +
>> libavcodec/v408dec.c | 1 +
>> libavcodec/v408enc.c | 1 +
>> libavcodec/vc1dec.c | 1 +
>> libavcodec/vc1dsp.c | 1 +
>> libavcodec/videotoolbox.c | 1 +
>> libavcodec/vorbis_parser.c | 1 +
>> libavcodec/vp3.c | 1 +
>> libavcodec/vp56dsp.c | 1 +
>> libavcodec/vp8.c | 1 +
>> libavcodec/vp8dsp.c | 1 +
>> libavcodec/vp9.c | 1 +
>> libavcodec/wmadec.c | 1 +
>> libavcodec/wmaenc.c | 1 +
>> libavcodec/x86/flacdsp_init.c | 1 +
>> libavcodec/x86/hpeldsp_init.c | 1 +
>> libavfilter/aeval.c | 1 +
>> libavfilter/af_afade.c | 1 +
>> libavfilter/af_agate.c | 1 +
>> libavfilter/af_biquads.c | 1 +
>> libavfilter/af_sidechaincompress.c | 1 +
>> libavfilter/avf_showspectrum.c | 1 +
>> libavfilter/avf_showwaves.c | 1 +
>> libavfilter/f_bench.c | 1 +
>> libavfilter/f_cue.c | 1 +
>> libavfilter/f_drawgraph.c | 1 +
>> libavfilter/f_graphmonitor.c | 1 +
>> libavfilter/f_interleave.c | 1 +
>> libavfilter/f_latency.c | 1 +
>> libavfilter/f_loop.c | 1 +
>> libavfilter/f_metadata.c | 1 +
>> libavfilter/f_perms.c | 1 +
>> libavfilter/f_realtime.c | 1 +
>> libavfilter/f_reverse.c | 1 +
>> libavfilter/f_segment.c | 1 +
>> libavfilter/f_select.c | 1 +
>> libavfilter/f_sendcmd.c | 1 +
>> libavfilter/f_sidedata.c | 1 +
>> libavfilter/lut3d.h | 1 +
>> libavfilter/setpts.c | 1 +
>> libavfilter/settb.c | 1 +
>> libavfilter/src_movie.c | 1 +
>> libavfilter/trim.c | 1 +
>> libavfilter/vf_aspect.c | 1 +
>> libavfilter/vf_blend.c | 1 +
>> libavfilter/vf_colorconstancy.c | 1 +
>> libavfilter/vf_colorkey.c | 1 +
>> libavfilter/vf_convolution.c | 1 +
>> libavfilter/vf_convolve.c | 1 +
>> libavfilter/vf_drawbox.c | 1 +
>> libavfilter/vf_extractplanes.c | 1 +
>> libavfilter/vf_format.c | 1 +
>> libavfilter/vf_histogram.c | 1 +
>> libavfilter/vf_identity.c | 1 +
>> libavfilter/vf_lut.c | 1 +
>> libavfilter/vf_lut2.c | 1 +
>> libavfilter/vf_mix.c | 1 +
>> libavfilter/vf_neighbor.c | 1 +
>> libavfilter/vf_premultiply.c | 1 +
>> libavfilter/vf_setparams.c | 1 +
>> libavfilter/vf_stack.c | 1 +
>> libavfilter/vf_xmedian.c | 1 +
>> libavfilter/vsrc_testsrc.c | 1 +
>> libavformat/ac3dec.c | 1 +
>> libavformat/alp.c | 1 +
>> libavformat/amr.c | 1 +
>> libavformat/apm.c | 1 +
>> libavformat/aptxdec.c | 1 +
>> libavformat/argo_asf.c | 1 +
>> libavformat/argo_cvg.c | 1 +
>> libavformat/asfenc.c | 1 +
>> libavformat/au.c | 1 +
>> libavformat/av1dec.c | 1 +
>> libavformat/avidec.c | 1 +
>> libavformat/avienc.c | 1 +
>> libavformat/bintext.c | 1 +
>> libavformat/bit.c | 1 +
>> libavformat/codec2.c | 1 +
>> libavformat/concat.c | 1 +
>> libavformat/dashenc.c | 1 +
>> libavformat/demux.c | 1 +
>> libavformat/file.c | 1 +
>> libavformat/format.c | 1 +
>> libavformat/g726.c | 1 +
>> libavformat/gopher.c | 1 +
>> libavformat/hashenc.c | 1 +
>> libavformat/hls.c | 1 +
>> libavformat/hlsenc.c | 1 +
>> libavformat/http.c | 1 +
>> libavformat/ilbc.c | 1 +
>> libavformat/img2dec.c | 1 +
>> libavformat/img2enc.c | 1 +
>> libavformat/kvag.c | 1 +
>> libavformat/matroskadec.c | 1 +
>> libavformat/matroskaenc.c | 1 +
>> libavformat/mj2kdec.c | 1 +
>> libavformat/mlpdec.c | 1 +
>> libavformat/mmf.c | 1 +
>> libavformat/mov.c | 1 +
>> libavformat/movenc.c | 1 +
>> libavformat/mpeg.c | 1 +
>> libavformat/mpegenc.c | 1 +
>> libavformat/mpegts.c | 1 +
>> libavformat/network.c | 1 +
>> libavformat/oggenc.c | 1 +
>> libavformat/pcmdec.c | 1 +
>> libavformat/pcmenc.c | 1 +
>> libavformat/rawdec.c | 1 +
>> libavformat/rawenc.c | 1 +
>> libavformat/rawvideodec.c | 1 +
>> libavformat/riff.c | 1 +
>> libavformat/rtmpproto.c | 1 +
>> libavformat/rtsp.c | 1 +
>> libavformat/rtspdec.c | 1 +
>> libavformat/sdp.c | 1 +
>> libavformat/segment.c | 1 +
>> libavformat/swfenc.c | 1 +
>> libavformat/voc.c | 1 +
>> libavformat/wavdec.c | 1 +
>> libavformat/wavenc.c | 1 +
>> 204 files changed, 219 insertions(+), 2 deletions(-)
>
> breaks build on mingw64 here
>
> libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x570): undefined reference to `ff_h264_d3d11va2_hwaccel'
> libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x590): undefined reference to `ff_h264_d3d11va_hwaccel'
> libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x5b0): undefined reference to `ff_h264_dxva2_hwaccel'
> libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xab0): undefined reference to `ff_hevc_d3d11va2_hwaccel'
> libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xad0): undefined reference to `ff_hevc_d3d11va_hwaccel'
> libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xaf0): undefined reference to `ff_hevc_dxva2_hwaccel'
> libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc10): undefined reference to `ff_mpeg2_d3d11va2_hwaccel'
> libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc30): undefined reference to `ff_mpeg2_d3d11va_hwaccel'
> libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc50): undefined reference to `ff_mpeg2_dxva2_hwaccel'
> libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x710): undefined reference to `ff_wmv3_d3d11va2_hwaccel'
> libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x730): undefined reference to `ff_wmv3_d3d11va_hwaccel'
> libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x750): undefined reference to `ff_wmv3_dxva2_hwaccel'
> libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x890): undefined reference to `ff_vc1_d3d11va2_hwaccel'
> libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x8b0): undefined reference to `ff_vc1_d3d11va_hwaccel'
> libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x8d0): undefined reference to `ff_vc1_dxva2_hwaccel'
> libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x630): undefined reference to `ff_vp9_d3d11va2_hwaccel'
> libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x650): undefined reference to `ff_vp9_d3d11va_hwaccel'
> libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x670): undefined reference to `ff_vp9_dxva2_hwaccel'
> libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x570): undefined reference to `ff_h264_d3d11va2_hwaccel'
> libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x590): undefined reference to `ff_h264_d3d11va_hwaccel'
> libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x5b0): undefined reference to `ff_h264_dxva2_hwaccel'
> libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xab0): undefined reference to `ff_hevc_d3d11va2_hwaccel'
> libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xad0): undefined reference to `ff_hevc_d3d11va_hwaccel'
> libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xaf0): undefined reference to `ff_hevc_dxva2_hwaccel'
> libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc10): undefined reference to `ff_mpeg2_d3d11va2_hwaccel'
> libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc30): undefined reference to `ff_mpeg2_d3d11va_hwaccel'
> libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc50): undefined reference to `ff_mpeg2_dxva2_hwaccel'
> libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x710): undefined reference to `ff_wmv3_d3d11va2_hwaccel'
> libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x730): undefined reference to `ff_wmv3_d3d11va_hwaccel'
> libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x750): undefined reference to `ff_wmv3_dxva2_hwaccel'
> libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x890): undefined reference to `ff_vc1_d3d11va2_hwaccel'
> libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x8b0): undefined reference to `ff_vc1_d3d11va_hwaccel'
> libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x8d0): undefined reference to `ff_vc1_dxva2_hwaccel'
> libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x630): undefined reference to `ff_vp9_d3d11va2_hwaccel'
> libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x650): undefined reference to `ff_vp9_d3d11va_hwaccel'
> libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x670): undefined reference to `ff_vp9_dxva2_hwaccel'
> collect2: error: ld returned 1 exit status
> collect2: error: ld returned 1 exit status
> Makefile:127: recipe for target 'ffprobe_g.exe' failed
> make: *** [ffprobe_g.exe] Error 1
> make: *** Waiting for unfinished jobs....
> Makefile:127: recipe for target 'ffmpeg_g.exe' failed
> make: *** [ffmpeg_g.exe] Error 1
Thanks - I also ran into this one later and have it fixed locally.
// Martin
More information about the ffmpeg-devel
mailing list