X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=7f320fee18d63c43a37290232b2c898624943dff;hb=508378556631dc18d32247b4a4e35703758e1ca9;hp=cf10e54a89235dc9e52d9c818b25273ac51ca3af;hpb=adfd7892e3b8b40e7a1620f7254459d8e096a9a1;p=ffmpeg diff --git a/configure b/configure index cf10e54a892..7f320fee18d 100755 --- a/configure +++ b/configure @@ -73,7 +73,6 @@ Help options: --list-protocols show all available protocols --list-bsfs show all available bitstream filters --list-indevs show all available input devices - --list-outdevs show all available output devices --list-filters show all available filters Standard options: @@ -110,7 +109,6 @@ Program options: --disable-avconv disable avconv build --disable-avplay disable avplay build --disable-avprobe disable avprobe build - --disable-avserver deprecated, does nothing Component options: --disable-doc do not build documentation @@ -164,9 +162,6 @@ Individual component options: --enable-indev=NAME enable input device NAME --disable-indev=NAME disable input device NAME --disable-indevs disable input devices - --enable-outdev=NAME enable output device NAME - --disable-outdev=NAME disable output device NAME - --disable-outdevs disable output devices --disable-devices disable all devices --enable-filter=NAME enable filter NAME --disable-filter=NAME disable filter NAME @@ -237,6 +232,7 @@ External library support: The following libraries provide various hardware acceleration features: --enable-cuda Nvidia CUDA (dynamically linked) + --enable-cuvid Nvidia CUVID video decode acceleration --enable-d3d11va Microsoft Direct3D 11 video acceleration [auto] --enable-dxva2 Microsoft DirectX 9 video acceleration [auto] --enable-libmfx Intel MediaSDK (AKA Quick Sync Video) @@ -283,6 +279,7 @@ Toolchain options: --extra-objcflags=FLAGS add FLAGS to OBJCFLAGS [$CFLAGS] --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS] --extra-ldexeflags=ELDFLAGS add ELDFLAGS to LDEXEFLAGS [$LDEXEFLAGS] + --extra-ldsoflags=ELDFLAGS add ELDFLAGS to LDSOFLAGS [$LDSOFLAGS] --extra-libs=ELIBS add ELIBS [$ELIBS] --extra-version=STRING version string suffix [] --optflags=OPTFLAGS override optimization-related compiler flags @@ -340,14 +337,6 @@ Developer options (useful when working on Libav itself): used only for debugging purposes) --enable-xmm-clobber-test check XMM registers for clobbering (Win64-only; should be used only for debugging purposes) - --enable-random randomly enable/disable components - --disable-random - --enable-random=LIST randomly enable/disable specific components or - --disable-random=LIST component groups. LIST is a comma-separated list - of NAME[:PROB] entries where NAME is a component - (group) and PROB the probability associated with - NAME (default 0.5). - --random-seed=VALUE seed value for --enable/disable-random --disable-valgrind-backtrace do not print a backtrace under Valgrind (only applies to --disable-optimizations builds) --ignore-tests=TESTS comma-separated list (without "fate-" prefix @@ -358,8 +347,6 @@ EOF exit 0 } -quotes='""' - log(){ echo "$@" >> $logfile } @@ -524,13 +511,13 @@ disable_weak(){ enable_sanitized(){ for var; do - enable $(echo "$var" | sed 's/[^A-Za-z0-9_]/_/g') + enable $(sanitize_var_name $var) done } disable_sanitized(){ for var; do - disable $(echo "$var" | sed 's/[^A-Za-z0-9_]/_/g') + disable $(sanitize_var_name $var) done } @@ -563,12 +550,12 @@ enable_deep_weak(){ } enabled(){ - test "${1#!}" = "$1" && op== || op=!= + test "${1#!}" = "$1" && op="=" || op="!=" eval test "x\$${1#!}" $op "xyes" } disabled(){ - test "${1#!}" = "$1" && op== || op=!= + test "${1#!}" = "$1" && op="=" || op="!=" eval test "x\$${1#!}" $op "xno" } @@ -617,7 +604,6 @@ check_deps(){ enabled ${cfg}_checking && die "Circular dependency for $cfg." disabled ${cfg}_checking && continue enable ${cfg}_checking - append allopts $cfg eval dep_all="\$${cfg}_deps" eval dep_any="\$${cfg}_deps_any" @@ -638,15 +624,13 @@ check_deps(){ disabled_all $dep_con || disable $cfg disabled_any $dep_sel && disable $cfg - if enabled $cfg; then - enable_deep $dep_sel - enable_deep_weak $dep_sgs - for dep in $dep_all $dep_any $dep_sgs; do - # filter out library deps, these do not belong in extralibs - is_in $dep $LIBRARY_LIST && continue - enabled $dep && eval append ${cfg}_extralibs ${dep}_extralibs - done - fi + enabled $cfg && enable_deep_weak $dep_sel $dep_sgs + + for dep in $dep_all $dep_any $dep_sel $dep_sgs; do + # filter out library deps, these do not belong in extralibs + is_in $dep $LIBRARY_LIST && continue + enabled $dep && eval append ${cfg}_extralibs ${dep}_extralibs + done disable ${cfg}_checking done @@ -743,6 +727,10 @@ add_ldexeflags(){ append LDEXEFLAGS $($ldflags_filter "$@") } +add_ldsoflags(){ + append LDSOFLAGS $($ldflags_filter "$@") +} + add_stripflags(){ append STRIPFLAGS "$@" } @@ -909,6 +897,7 @@ check_objcflags(){ test_ldflags(){ log test_ldflags "$@" + set -- $($ldflags_filter "$@") check_ld "$@" < -int x; -EOF + disable_sanitized $headers + { + for hdr in $headers; do + print_include $hdr + done + echo "int x;" + } | check_cpp "$@" && enable_sanitized $headers } check_func(){ @@ -1022,8 +1013,8 @@ check_lib(){ enable $name && eval ${name}_extralibs="\$@" } -check_pkg_config(){ - log check_pkg_config "$@" +test_pkg_config(){ + log test_pkg_config "$@" name="$1" pkg_version="$2" pkg="${2%% *}" @@ -1036,8 +1027,15 @@ check_pkg_config(){ pkg_libs=$($pkg_config --libs $pkg_config_flags $pkg) check_func_headers "$headers" "$funcs" $pkg_cflags $pkg_libs "$@" && enable $name && - add_cflags "$pkg_cflags" && - eval $(sanitize_var_name ${name}_extralibs)="\$pkg_libs" + set_sanitized "${name}_cflags" $pkg_cflags && + set_sanitized "${name}_extralibs" $pkg_libs +} + +check_pkg_config(){ + log check_pkg_config "$@" + name="$1" + test_pkg_config "$@" && + eval add_cflags \$${name}_cflags } check_exec(){ @@ -1126,14 +1124,14 @@ require(){ } require_header(){ - log require "$@" - header="$1" + log require_header "$@" + headers="$1" shift - check_header "$header" "$@" || die "ERROR: $header not found" + check_header "$headers" "$@" || die "ERROR: $headers not found" } require_cpp_condition(){ - log require "$@" + log require_cpp_condition "$@" header="$1" condition="$2" shift 2 @@ -1196,12 +1194,6 @@ check_host_cpp_condition(){ EOF } -apply(){ - file=$1 - shift - "$@" < "$file" > "$file.tmp" && mv "$file.tmp" "$file" || rm "$file.tmp" -} - cp_if_changed(){ cmp -s "$1" "$2" && { test "$quiet" != "yes" && echo "$2 is unchanged"; } && return mkdir -p "$(dirname $2)" @@ -1221,7 +1213,6 @@ AVCODEC_COMPONENTS=" AVDEVICE_COMPONENTS=" indevs - outdevs " AVFILTER_COMPONENTS=" filters @@ -1232,16 +1223,11 @@ AVFORMAT_COMPONENTS=" protocols " -AVRESAMPLE_COMPONENTS="" -AVUTIL_COMPONENTS="" - COMPONENT_LIST=" $AVCODEC_COMPONENTS $AVDEVICE_COMPONENTS $AVFILTER_COMPONENTS $AVFORMAT_COMPONENTS - $AVRESAMPLE_COMPONENTS - $AVUTIL_COMPONENTS " EXAMPLE_LIST=" @@ -1264,6 +1250,7 @@ EXTRALIBS_LIST=" HWACCEL_LIBRARY_NONFREE_LIST=" cuda + cuvid libnpp " HWACCEL_LIBRARY_LIST=" @@ -1546,12 +1533,9 @@ HAVE_LIST_PUB=" HEADERS_LIST=" AVFoundation_AVFoundation_h - alsa_asoundlib_h - altivec_h arpa_inet_h cdio_paranoia_h cdio_paranoia_paranoia_h - d3d11_h dispatch_dispatch_h dev_bktr_ioctl_bt848_h dev_bktr_ioctl_meteor_h @@ -1559,19 +1543,13 @@ HEADERS_LIST=" dev_video_bktr_ioctl_bt848_h dev_video_meteor_ioctl_meteor_h direct_h - dlfcn_h + dxgidebug_h dxva_h - gsm_h io_h - mach_mach_time_h machine_ioctl_bt848_h machine_ioctl_meteor_h malloc_h poll_h - sndio_h - soundcard_h - stdatomic_h - sys_mman_h sys_param_h sys_resource_h sys_select_h @@ -1616,16 +1594,21 @@ MATH_FUNCS=" truncf " +SYSTEM_FEATURES=" + dos_paths + libc_msvcrt + MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS + section_data_rel_ro + threads + uwp +" + SYSTEM_FUNCS=" aligned_malloc clock_gettime closesocket CommandLineToArgvW - CoTaskMemFree - CryptGenRandom fcntl - flt_lim - fork getaddrinfo gethrtime getopt @@ -1638,12 +1621,10 @@ SYSTEM_FUNCS=" gmtime_r inet_aton isatty - LoadLibrary localtime_r mach_absolute_time MapViewOfFile memalign - mkstemp mmap mprotect nanosleep @@ -1660,14 +1641,21 @@ SYSTEM_FUNCS=" VirtualAlloc " +SYSTEM_LIBRARIES=" + sdl + vaapi_1 + vaapi_drm + vaapi_x11 + vdpau_x11 + wincrypt +" + TOOLCHAIN_FEATURES=" as_arch_directive as_fpu_directive as_func as_object_arch asm_mod_q - attribute_may_alias - attribute_packed blocks_extension ebp_available ebx_available @@ -1684,6 +1672,7 @@ TOOLCHAIN_FEATURES=" TYPES_LIST=" CONDITION_VARIABLE_Ptr + CUVIDDECODECREATEINFO_bitDepthMinus8 socklen_t struct_addrinfo struct_group_source_req @@ -1708,20 +1697,12 @@ HAVE_LIST=" $HEADERS_LIST $INTRINSICS_LIST $MATH_FUNCS + $SYSTEM_FEATURES $SYSTEM_FUNCS + $SYSTEM_LIBRARIES $THREADS_LIST $TOOLCHAIN_FEATURES $TYPES_LIST - dos_paths - dxva2_lib - libc_msvcrt - MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS - sdl - section_data_rel_ro - threads - vaapi_drm - vaapi_x11 - vdpau_x11 " # options emitted with CONFIG_ prefix but not available on the command line @@ -1734,6 +1715,10 @@ CONFIG_EXTRA=" blockdsp bswapdsp cabac + cbs + cbs_h264 + cbs_h265 + cbs_mpeg2 dirac_parse dvprofile faandct @@ -1751,7 +1736,7 @@ CONFIG_EXTRA=" h264parse h264pred h264qpel - hevc_ps + hevcparse hpeldsp huffman huffyuvdsp @@ -1781,6 +1766,7 @@ CONFIG_EXTRA=" qsv qsvdec qsvenc + qsvvpp rangecoder riffdec riffenc @@ -1857,7 +1843,6 @@ CMDLINE_SET=" optflags pkg_config pkg_config_flags - random_seed samples sysinclude sysroot @@ -1891,10 +1876,22 @@ vfpv3_deps="vfp" map 'eval ${v}_inline_deps=inline_asm' $ARCH_EXT_LIST_ARM altivec_deps="ppc" +dcbzl_deps="ppc" +ldbrx_deps="ppc" ppc4xx_deps="ppc" vsx_deps="altivec" power8_deps="vsx" +loongson_deps="mips" +mips32r1_deps="mips32" +mips32r2_deps="mips32" +mips32r6_deps="mips32" +mips64r1_deps="mips64" +mips64r2_deps="mips64" +mips64r6_deps="mips64" + +vis_deps="sparc" + cpunop_deps="i686" x86_64_select="i686" x86_64_suggest="fast_cmov" @@ -1917,7 +1914,7 @@ fma4_deps="avx" avx2_deps="avx" mmx_external_deps="x86asm" -mmx_inline_deps="inline_asm" +mmx_inline_deps="inline_asm x86" mmx_suggest="mmx_external mmx_inline" for ext in $(filter_out mmx $ARCH_EXT_LIST_X86_SIMD); do @@ -1948,13 +1945,18 @@ w32threads_deps="atomics_native" threads_if_any="$THREADS_LIST" # subsystems +cbs_h264_select="cbs golomb" +cbs_h265_select="cbs golomb" +cbs_mpeg2_select="cbs" dct_select="rdft" dirac_parse_select="golomb" error_resilience_select="me_cmp" -faandct_deps="faan fdctdsp" -faanidct_deps="faan idctdsp" +faandct_deps="faan" +faandct_select="fdctdsp" +faanidct_deps="faan" +faanidct_select="idctdsp" h264dsp_select="startcode" -hevc_ps_select="golomb" +hevcparse_select="golomb" intrax8_select="blockdsp idctdsp" mdct_select="fft" rdft_select="fft" @@ -1993,6 +1995,7 @@ bink_decoder_select="blockdsp hpeldsp" binkaudio_dct_decoder_select="mdct rdft dct sinewin wma_freqs" binkaudio_rdft_decoder_select="mdct rdft sinewin wma_freqs" cavs_decoder_select="blockdsp golomb h264chroma idctdsp qpeldsp videodsp" +clearvideo_decoder_select="idctdsp" cllc_decoder_select="bswapdsp" comfortnoise_encoder_select="lpc" cook_decoder_select="audiodsp mdct sinewin" @@ -2039,7 +2042,7 @@ h264_decoder_suggest="error_resilience" hap_decoder_select="snappy texturedsp" hap_encoder_deps="libsnappy" hap_encoder_select="texturedspenc" -hevc_decoder_select="bswapdsp cabac hevc_ps videodsp" +hevc_decoder_select="bswapdsp cabac hevcparse videodsp" huffyuv_decoder_select="bswapdsp huffyuvdsp" huffyuv_encoder_select="bswapdsp huffman huffyuvencdsp" iac_decoder_select="imc_decoder" @@ -2165,16 +2168,19 @@ zmbv_decoder_deps="zlib" zmbv_encoder_deps="zlib" # hardware accelerators -d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder" -dxva2_deps="dxva2api_h DXVA2_ConfigPictureDecode" -dxva2_lib_deps="dxva2" +d3d11va_deps="dxva_h ID3D11VideoDecoder" +dxva2_deps="dxva2api_h DXVA2_ConfigPictureDecode ole32" vda_deps="VideoDecodeAcceleration_VDADecoder_h blocks_extension pthreads" vda_extralibs="-framework CoreFoundation -framework VideoDecodeAcceleration -framework QuartzCore" h263_vaapi_hwaccel_deps="vaapi" h263_vaapi_hwaccel_select="h263_decoder" +h264_cuvid_hwaccel_deps="cuvid CUVIDH264PICPARAMS" +h264_cuvid_hwaccel_select="h264_decoder" h264_d3d11va_hwaccel_deps="d3d11va" h264_d3d11va_hwaccel_select="h264_decoder" +h264_d3d11va2_hwaccel_deps="d3d11va" +h264_d3d11va2_hwaccel_select="h264_decoder" h264_dxva2_hwaccel_deps="dxva2" h264_dxva2_hwaccel_select="h264_decoder" h264_mmal_hwaccel_deps="mmal" @@ -2187,8 +2193,12 @@ h264_vda_old_hwaccel_deps="vda" h264_vda_old_hwaccel_select="h264_decoder" h264_vdpau_hwaccel_deps="vdpau" h264_vdpau_hwaccel_select="h264_decoder" +hevc_cuvid_hwaccel_deps="cuvid CUVIDHEVCPICPARAMS" +hevc_cuvid_hwaccel_select="hevc_decoder" hevc_d3d11va_hwaccel_deps="d3d11va DXVA_PicParams_HEVC" hevc_d3d11va_hwaccel_select="hevc_decoder" +hevc_d3d11va2_hwaccel_deps="d3d11va DXVA_PicParams_HEVC" +hevc_d3d11va2_hwaccel_select="hevc_decoder" hevc_dxva2_hwaccel_deps="dxva2 DXVA_PicParams_HEVC" hevc_dxva2_hwaccel_select="hevc_decoder" hevc_qsv_hwaccel_deps="libmfx" @@ -2200,6 +2210,8 @@ mpeg1_vdpau_hwaccel_deps="vdpau" mpeg1_vdpau_hwaccel_select="mpeg1video_decoder" mpeg2_d3d11va_hwaccel_deps="d3d11va" mpeg2_d3d11va_hwaccel_select="mpeg2video_decoder" +mpeg2_d3d11va2_hwaccel_deps="d3d11va" +mpeg2_d3d11va2_hwaccel_select="mpeg2video_decoder" mpeg2_dxva2_hwaccel_deps="dxva2" mpeg2_dxva2_hwaccel_select="mpeg2video_decoder" mpeg2_mmal_hwaccel_deps="mmal" @@ -2214,6 +2226,8 @@ mpeg4_vdpau_hwaccel_deps="vdpau" mpeg4_vdpau_hwaccel_select="mpeg4_decoder" vc1_d3d11va_hwaccel_deps="d3d11va" vc1_d3d11va_hwaccel_select="vc1_decoder" +vc1_d3d11va2_hwaccel_deps="d3d11va" +vc1_d3d11va2_hwaccel_select="vc1_decoder" vc1_dxva2_hwaccel_deps="dxva2" vc1_dxva2_hwaccel_select="vc1_decoder" vc1_mmal_hwaccel_deps="mmal" @@ -2226,6 +2240,7 @@ vp8_qsv_hwaccel_deps="libmfx" vp8_vaapi_hwaccel_deps="vaapi VAPictureParameterBufferVP8" vp8_vaapi_hwaccel_select="vp8_decoder" wmv3_d3d11va_hwaccel_select="vc1_d3d11va_hwaccel" +wmv3_d3d11va2_hwaccel_select="vc1_d3d11va2_hwaccel" wmv3_dxva2_hwaccel_select="vc1_dxva2_hwaccel" wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel" wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel" @@ -2234,8 +2249,10 @@ wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel" nvenc_deps_any="libdl LoadLibrary" omx_deps="libdl pthreads" omx_rpi_select="omx" +qsv_deps="libmfx" qsvdec_select="qsv" qsvenc_select="qsv" +qsvvpp_select="qsv" vaapi_encode_deps="vaapi" hwupload_cuda_filter_deps="cuda" @@ -2244,33 +2261,27 @@ scale_npp_filter_deps="cuda libnpp" h264_mmal_decoder_deps="mmal" h264_nvenc_encoder_deps="nvenc" h264_omx_encoder_deps="omx" -h264_qsv_decoder_deps="libmfx" h264_qsv_decoder_select="h264_mp4toannexb_bsf h264_parser qsvdec h264_qsv_hwaccel" -h264_qsv_encoder_deps="libmfx" h264_qsv_encoder_select="qsvenc" h264_vaapi_encoder_deps="VAEncPictureParameterBufferH264" -h264_vaapi_encoder_select="vaapi_encode golomb" +h264_vaapi_encoder_select="cbs_h264 vaapi_encode" hevc_nvenc_encoder_deps="nvenc" -hevc_qsv_decoder_deps="libmfx" hevc_qsv_decoder_select="hevc_mp4toannexb_bsf hevc_parser hevc_qsv_hwaccel qsvdec" -hevc_qsv_encoder_deps="libmfx" -hevc_qsv_encoder_select="hevc_ps qsvenc" +hevc_qsv_encoder_select="hevcparse qsvenc" hevc_vaapi_encoder_deps="VAEncPictureParameterBufferHEVC" -hevc_vaapi_encoder_select="vaapi_encode golomb" +hevc_vaapi_encoder_select="cbs_h265 vaapi_encode" +mjpeg_qsv_encoder_deps="libmfx" +mjpeg_qsv_encoder_select="qsvenc" mjpeg_vaapi_encoder_deps="VAEncPictureParameterBufferJPEG" mjpeg_vaapi_encoder_select="vaapi_encode jpegtables" mpeg2_mmal_decoder_deps="mmal" -mpeg2_qsv_decoder_deps="libmfx" mpeg2_qsv_decoder_select="qsvdec mpeg2_qsv_hwaccel mpegvideo_parser" -mpeg2_qsv_encoder_deps="libmfx" mpeg2_qsv_encoder_select="qsvenc" mpeg2_vaapi_encoder_deps="VAEncPictureParameterBufferMPEG2" -mpeg2_vaapi_encoder_select="vaapi_encode" +mpeg2_vaapi_encoder_select="cbs_mpeg2 vaapi_encode" mpeg4_omx_encoder_deps="omx" vc1_mmal_decoder_deps="mmal" -vc1_qsv_decoder_deps="libmfx" vc1_qsv_decoder_select="qsvdec vc1_qsv_hwaccel vc1_parser" -vp8_qsv_decoder_deps="libmfx" vp8_qsv_decoder_select="qsvdec vp8_qsv_hwaccel vp8_parser" vp8_vaapi_encoder_deps="VAEncPictureParameterBufferVP8" vp8_vaapi_encoder_select="vaapi_encode" @@ -2283,7 +2294,7 @@ nvenc_hevc_encoder_select="hevc_nvenc_encoder" # parsers aac_parser_select="adts_header" h264_parser_select="golomb h264dsp h264parse" -hevc_parser_select="hevc_ps" +hevc_parser_select="hevcparse" mpegaudio_parser_select="mpegaudioheader" mpegvideo_parser_select="mpegvideo" mpeg4video_parser_select="error_resilience h263dsp mpegvideo qpeldsp" @@ -2291,7 +2302,12 @@ vc1_parser_select="vc1dsp" # bitstream_filters aac_adtstoasc_bsf_select="adts_header" +h264_metadata_bsf_select="cbs_h264" +h264_redundant_pps_bsf_select="cbs_h264" +hevc_metadata_bsf_select="cbs_h265" mjpeg2jpeg_bsf_select="jpegtables" +mpeg2_metadata_bsf_select="cbs_mpeg2" +trace_headers_bsf_select="cbs_h264 cbs_h265 cbs_mpeg2" # external libraries avisynth_deps="LoadLibrary" @@ -2414,24 +2430,19 @@ wtv_demuxer_select="mpegts_demuxer riffdec" xmv_demuxer_select="riffdec" xwma_demuxer_select="riffdec" -# indevs / outdevs +# indevs alsa_indev_deps="alsa" -alsa_outdev_deps="alsa" avfoundation_indev_deps="AVFoundation_AVFoundation_h objc_arc pthreads" avfoundation_indev_extralibs="-framework Foundation -framework AVFoundation -framework CoreVideo -framework CoreMedia" bktr_indev_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h dev_video_bktr_ioctl_bt848_h dev_ic_bt8xx_h" -dv1394_indev_deps="dv1394" -dv1394_indev_select="dv_demuxer" fbdev_indev_deps="linux_fb_h" jack_indev_deps="libjack" jack_indev_deps_any="sem_timedwait dispatch_dispatch_h" libcdio_indev_deps="libcdio" libdc1394_indev_deps="libdc1394" -oss_indev_deps_any="soundcard_h sys_soundcard_h" -oss_outdev_deps_any="soundcard_h sys_soundcard_h" +oss_indev_deps_any="sys_soundcard_h" pulse_indev_deps="libpulse" sndio_indev_deps="sndio" -sndio_outdev_deps="sndio" v4l2_indev_deps_any="linux_videodev2_h sys_videoio_h" vfwcap_indev_deps="vfw32 vfwcap_defines" xcbgrab_indev_deps="libxcb libxcb_shape" @@ -2501,10 +2512,14 @@ hqdn3d_filter_deps="gpl" interlace_filter_deps="gpl" movie_filter_deps="avcodec avformat" ocv_filter_deps="libopencv" +overlay_qsv_filter_deps="libmfx" +overlay_qsv_filter_select="qsvvpp" resample_filter_deps="avresample" scale_filter_deps="swscale" scale_qsv_filter_deps="libmfx" scale_vaapi_filter_deps="vaapi VAProcPipelineParameterBuffer" +vpp_qsv_filter_deps="libmfx" +vpp_qsv_filter_select="qsvvpp" # examples decode_audio_example_deps="avcodec avutil" @@ -2536,7 +2551,7 @@ avdevice_extralibs="libm_extralibs" avformat_extralibs="libm_extralibs" avfilter_extralibs="pthreads_extralibs libm_extralibs" avresample_extralibs="libm_extralibs" -avutil_extralibs="clock_gettime_extralibs cuda_extralibs libm_extralibs libmfx_extralibs nanosleep_extralibs pthreads_extralibs user32_extralibs vaapi_extralibs vaapi_drm_extralibs vaapi_x11_extralibs vdpau_x11_extralibs wincrypt_extralibs" +avutil_extralibs="clock_gettime_extralibs cuda_extralibs cuvid_extralibs d3d11va_extralibs libm_extralibs libmfx_extralibs nanosleep_extralibs pthreads_extralibs user32_extralibs vaapi_extralibs vaapi_drm_extralibs vaapi_x11_extralibs vdpau_x11_extralibs wincrypt_extralibs" swscale_extralibs="libm_extralibs" # programs @@ -2544,7 +2559,7 @@ avconv_deps="avcodec avfilter avformat avresample swscale" avconv_select="aformat_filter anull_filter asyncts_filter atrim_filter format_filter fps_filter null_filter resample_filter scale_filter trim_filter" -avconv_suggest="dxva2_lib ole32 psapi shell32" +avconv_suggest="psapi shell32" avplay_deps="avcodec avfilter avformat avresample sdl" avplay_select="rdft format_filter transpose_filter hflip_filter vflip_filter" avplay_suggest="shell32" @@ -2580,6 +2595,7 @@ pkg_config_default=pkg-config ranlib="ranlib" strip="strip" version_script='--version-script' +objformat="elf32" # machine arch_default=$(uname -m) @@ -2692,7 +2708,6 @@ HWACCEL_LIST=$(find_things hwaccel HWACCEL libavcodec/allcodecs.c) PARSER_LIST=$(find_things parser PARSER libavcodec/allcodecs.c) MUXER_LIST=$(find_things muxer _MUX libavformat/allformats.c) DEMUXER_LIST=$(find_things demuxer DEMUX libavformat/allformats.c) -OUTDEV_LIST=$(find_things outdev OUTDEV libavdevice/alldevices.c) INDEV_LIST=$(find_things indev _IN libavdevice/alldevices.c) FILTER_LIST=$(find_things filter FILTER libavfilter/allfilters.c) @@ -2716,7 +2731,6 @@ AVCODEC_COMPONENTS_LIST=" AVDEVICE_COMPONENTS_LIST=" $INDEV_LIST - $OUTDEV_LIST " AVFILTER_COMPONENTS_LIST=" @@ -2761,27 +2775,6 @@ show_list() { exit 0 } -rand_list(){ - IFS=', ' - set -- $* - unset IFS - for thing; do - comp=${thing%:*} - prob=${thing#$comp} - prob=${prob#:} - is_in ${comp} $COMPONENT_LIST && eval comp=\$$(toupper ${comp%s})_LIST - echo "prob ${prob:-0.5}" - printf '%s\n' $comp - done -} - -do_random(){ - action=$1 - shift - random_seed=$(awk "BEGIN { srand($random_seed); print srand() }") - $action $(rand_list "$@" | awk "BEGIN { srand($random_seed) } \$1 == \"prob\" { prob = \$2; next } rand() < prob { print }") -} - for opt do optval="${opt#*=}" case "$opt" in @@ -2791,11 +2784,14 @@ for opt do --extra-ldexeflags=*) add_ldexeflags $optval ;; + --extra-ldsoflags=*) + add_ldsoflags $optval + ;; --extra-libs=*) add_extralibs $optval ;; --disable-devices) - disable $INDEV_LIST $OUTDEV_LIST + disable $INDEV_LIST ;; --enable-debug=*) debuglevel="$optval" @@ -2810,14 +2806,6 @@ for opt do map 'eval unset \${$(toupper ${v%s})_LIST}' $COMPONENT_LIST disable $LIBRARY_LIST $PROGRAM_LIST doc ;; - --enable-random|--disable-random) - action=${opt%%-random} - do_random ${action#--} $COMPONENT_LIST - ;; - --enable-random=*|--disable-random=*) - action=${opt%%-random=*} - do_random ${action#--} $optval - ;; --enable-*=*|--disable-*=*) eval $(echo "${opt%%=*}" | sed 's/--/action=/;s/-/ thing=/') is_in "${thing}s" $COMPONENT_LIST || die_unknown "$opt" @@ -2825,10 +2813,6 @@ for opt do name=$(echo "${optval}" | sed "s/,/_${thing}|/g")_${thing} $action $(filter "$name" $list) ;; - --enable-avserver|--disable-avserver*) - warn "avserver has been removed, the ${opt} option is only"\ - "provided for compatibility and will be removed in the future" - ;; --enable-yasm|--disable-yasm) warn "The ${opt} option is only provided for compatibility and will be\n"\ "removed in the future. Use --enable-x86asm / --disable-x86asm instead." @@ -2876,6 +2860,19 @@ done disabled logging && logfile=/dev/null +# command line configuration sanity checks + +# we need to build at least one lib type +if ! enabled_any static shared; then + cat </dev/null | head -n1) _cflags_speed='-O5' _cflags_size='-O5 -qcompact' - elif $_cc -V 2>/dev/null | grep -q Compaq; then - _type=ccc - _ident=$($_cc -V | head -n1 | cut -d' ' -f1-3) - _DEPFLAGS='-M' - _cflags_speed='-fast' - _cflags_size='-O1' - _flags_filter=ccc_flags elif $_cc --vsn 2>/dev/null | grep -Eq "ARM (C/C\+\+ )?Compiler"; then test -d "$sysroot" || die "No valid sysroot specified." _type=armcc @@ -3323,16 +3260,6 @@ probe_cc(){ _depflags='-MMD' _cflags_speed='-O3' _cflags_size='-Os' - elif $_cc -version 2>/dev/null | grep -Eq 'TMS470|TI ARM'; then - _type=tms470 - _ident=$($_cc -version | head -n1 | tr -s ' ') - _flags='--gcc --abi=eabi -me' - _cc_e='-ppl -fe=$@' - _cc_o='-fe=$@' - _depflags='-ppa -ppd=$(@:.o=.d)' - _cflags_speed='-O3 -mf=5' - _cflags_size='-O3 -mf=2' - _flags_filter=tms470_flags elif $_cc -v 2>&1 | grep -q clang; then _type=clang _ident=$($_cc --version 2>/dev/null | head -n1) @@ -3362,14 +3289,6 @@ probe_cc(){ _cflags_speed='-O2' _cflags_size='-Os' _flags_filter='filter_out -Wdisabled-optimization|-Wtype-limits|-fno-signed-zeros' - elif $_cc -V 2>&1 | grep -q Portland; then - _type=pgi - _ident="PGI $($_cc -V 2>&1 | awk '/^pgcc/ { print $2; exit }')" - opt_common='-alias=ansi -Mdse -Mlre -Mpre' - _cflags_speed="-O3 -Mautoinline -Munroll=c:4 $opt_common" - _cflags_size="-O2 -Munroll=c:1 $opt_common" - _cflags_noopt="-O1" - _flags_filter=pgi_flags elif $_cc 2>&1 | grep -q 'Microsoft.*ARM.*Assembler'; then _type=armasm _ident=$($_cc | head -n1) @@ -3515,12 +3434,6 @@ fi if $ar 2>&1 | grep -q Microsoft; then arflags="-nologo" ar_o='-out:$@' -elif $ar 2>&1 | grep -q 'Texas Instruments'; then - arflags="rq" - ar_o='$@' -elif $ar 2>&1 | grep -q 'Usage: ar.*-X.*any'; then - arflags='-Xany -r -c' - ar_o='$@' else arflags="rc" ar_o='$@' @@ -3536,10 +3449,6 @@ if test -n "$sysroot"; then add_cppflags --sysroot="$sysroot" add_ldflags --sysroot="$sysroot" ;; - tms470) - add_cppflags -I"$sysinclude" - add_ldflags --sysroot="$sysroot" - ;; esac fi @@ -3858,51 +3767,49 @@ check_64bit(){ expr=$3 check_code cc "" "int test[2*($expr) - 1]" && subarch=$arch64 || subarch=$arch32 + enable $subarch } case "$arch" in aarch64|alpha|ia64) - spic=$shared + enabled shared && enable_weak pic ;; mips) check_64bit mips mips64 '_MIPS_SIM > 1' - spic=$shared + enabled shared && enable_weak pic ;; parisc) check_64bit parisc parisc64 'sizeof(void *) > 4' - spic=$shared + enabled shared && enable_weak pic ;; ppc) check_64bit ppc ppc64 'sizeof(void *) > 4' - spic=$shared + enabled shared && enable_weak pic ;; s390) check_64bit s390 s390x 'sizeof(void *) > 4' - spic=$shared + enabled shared && enable_weak pic ;; sparc) check_64bit sparc sparc64 'sizeof(void *) > 4' - spic=$shared + enabled shared && enable_weak pic ;; x86) check_64bit x86_32 x86_64 'sizeof(void *) > 4' - if test "$subarch" = "x86_64"; then - spic=$shared + if enabled x86_64; then + enabled shared && enable_weak pic + objformat=elf64 fi ;; esac -enable $subarch -enabled spic && enable_weak pic - -enabled x86_64 && objformat=elf64 || objformat="elf32" - # OS specific case $target_os in aix) SHFLAGS=-shared add_cppflags '-I\$(SRC_PATH)/compat/aix' enabled shared && add_ldflags -Wl,-brtl + arflags='-Xany -r -c' ;; android) disable symver @@ -3918,7 +3825,7 @@ case $target_os in ;; sunos) SHFLAGS='-shared -Wl,-h,$$(@F)' - enabled x86 && SHFLAGS="-mimpure-text $SHFLAGS" + enabled x86 && append SHFLAGS -mimpure-text network_extralibs="-lsocket -lnsl" # When using suncc to build, the Solaris linker will mark # an executable with each instruction set encountered by @@ -3935,7 +3842,6 @@ case $target_os in netbsd) disable symver oss_indev_extralibs="-lossaudio" - oss_outdev_extralibs="-lossaudio" ;; openbsd|bitrig) disable symver @@ -3943,7 +3849,6 @@ case $target_os in SLIB_INSTALL_NAME='$(SLIBNAME).$(LIBMAJOR).$(LIBMINOR)' SLIB_INSTALL_LINKS= oss_indev_extralibs="-lossaudio" - oss_outdev_extralibs="-lossaudio" ;; dragonfly) disable symver @@ -3967,21 +3872,19 @@ case $target_os in { check_cflags -mdynamic-no-pic && add_asflags -mdynamic-no-pic; } check_header dispatch/dispatch.h && add_cppflags '-I\$(SRC_PATH)/compat/dispatch_semaphore' + if test -n "$sysroot"; then + is_in -isysroot $cc $CPPFLAGS $CFLAGS || check_cppflags -isysroot $sysroot + is_in -isysroot $ld $LDFLAGS || check_ldflags -isysroot $sysroot + fi ;; msys*) die "Native MSYS builds are discouraged, please use the MINGW environment." ;; mingw32*|mingw64*) - if test $target_os = "mingw32ce"; then - disable network - else - target_os=mingw32 - fi - LIBTARGET=i386 - if enabled x86_64; then - LIBTARGET="i386:x86-64" - elif enabled arm; then - LIBTARGET=arm-wince + target_os=mingw32 + if enabled shared; then + # Cannot build both shared and static libs when using dllimport. + disable static fi check_ldflags -Wl,--nxcompat check_ldflags -Wl,--dynamicbase @@ -3990,14 +3893,14 @@ case $target_os in SLIBSUF=".dll" SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)' SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)' - SLIB_EXTRA_CMD=-'sed -e "s/ @[^ ]*//" $$(@:$(SLIBSUF)=.orig.def) > $$(@:$(SLIBSUF)=.def); $(DLLTOOL) -m $(LIBTARGET) -d $$(@:$(SLIBSUF)=.def) -l $(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib) -D $(SLIBNAME_WITH_MAJOR)' + SLIB_EXTRA_CMD='cp $(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a) $(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)' SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)' SLIB_INSTALL_LINKS= SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)' SLIB_INSTALL_EXTRA_LIB='lib$(SLIBNAME:$(SLIBSUF)=.dll.a) $(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)' - SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.orig.def) -Wl,--out-implib,$(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base' + SLIB_CREATE_DEF_CMD='EXTERN_PREFIX="$(EXTERN_PREFIX)" AR="$(AR_CMD)" NM="$(NM_CMD)" $(SRC_PATH)/compat/windows/makedef $(SUBDIR)lib$(NAME).ver $(OBJS) > $$(@:$(SLIBSUF)=.def)' + SHFLAGS='-shared -Wl,--out-implib,$(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a) -Wl,--enable-auto-image-base $$(@:$(SLIBSUF)=.def)' enabled x86_64 && objformat="win64" || objformat="win32" - dlltool="${cross_prefix}dlltool" ranlib=: enable dos_paths ;; @@ -4015,7 +3918,7 @@ case $target_os in SLIBSUF=".dll" SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)' SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)' - SLIB_CREATE_DEF_CMD='$(SRC_PATH)/compat/windows/makedef $(SUBDIR)lib$(NAME).ver $(OBJS) > $$(@:$(SLIBSUF)=.def)' + SLIB_CREATE_DEF_CMD='EXTERN_PREFIX="$(EXTERN_PREFIX)" $(SRC_PATH)/compat/windows/makedef $(SUBDIR)lib$(NAME).ver $(OBJS) > $$(@:$(SLIBSUF)=.def)' SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)' SLIB_INSTALL_LINKS= SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)' @@ -4046,7 +3949,6 @@ case $target_os in add_cppflags -U__STRICT_ANSI__ ;; linux) - enable dv1394 enable section_data_rel_ro ;; irix*) @@ -4095,9 +3997,6 @@ case $target_os in -l:drtaeabi.dso -l:scppnwdl.dso -lsupc++ -lgcc \ -l:libc.dso -l:libm.dso -l:euser.dso -l:libcrt0.lib ;; - osf1) - add_cppflags -D_OSF_SOURCE -D_POSIX_PII -D_REENTRANT - ;; minix) ;; none) @@ -4188,12 +4087,11 @@ EOF eval ${pfx}libc_type=default add_${pfx}cppflags -D_DEFAULT_SOURCE fi + eval test -n "\${${pfx}libc_type}" && enable ${pfx}libc_${libc_type} } probe_libc -test -n "$libc_type" && enable libc_$libc_type probe_libc host_ -test -n "$host_libc_type" && enable host_libc_$host_libc_type # hacks for compiler/libc/os combinations @@ -4201,44 +4099,16 @@ case $libc_type in bionic) add_compat strtod.o strtod=avpriv_strtod ;; - glibc) - if enabled tms470; then - CPPFLAGS="-I${source_path}/compat/tms470 ${CPPFLAGS}" - add_cppflags -D__USER_LABEL_PREFIX__= - add_cppflags -D__builtin_memset=memset - add_cppflags -D__gnuc_va_list=va_list -D_VA_LIST_DEFINED - add_cflags -pds=48 # incompatible redefinition of macro - elif enabled ccc; then - add_ldflags -Wl,-z,now # calls to libots crash without this - fi - ;; esac check_compile_assert flt_lim "float.h limits.h" "DBL_MAX == (double)DBL_MAX" || add_cppflags '-I\$(SRC_PATH)/compat/float' -esc(){ - echo "$*" | sed 's/%/%25/g;s/:/%3a/g' -} - -echo "config:$arch:$subarch:$cpu:$target_os:$(esc $cc_ident):$(esc $LIBAV_CONFIGURATION)" > avbuild/config.fate - check_cpp_condition stdlib.h "defined(__PIC__) || defined(__pic__) || defined(PIC)" && enable_weak pic set_default $PATHS_LIST set_default nm -# we need to build at least one lib type -if ! enabled_any static shared; then - cat <= 0.8.1" kvazaar.h kvz_api_get @@ -4761,7 +4613,7 @@ enabled libpulse && require_pkg_config libpulse libpulse-simple pulse/s enabled librtmp && require_pkg_config librtmp librtmp librtmp/rtmp.h RTMP_Socket enabled libschroedinger && require_pkg_config libschroedinger schroedinger-1.0 schroedinger/schro.h schro_init enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init -lspeex +enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg enabled libtwolame && require libtwolame twolame.h twolame_init -ltwolame enabled libvo_aacenc && require libvo_aacenc vo-aacenc/voAAC.h voGetAACEncAPI -lvo-aacenc @@ -4796,6 +4648,7 @@ enabled mmal && { check_lib mmal interface/mmal/mmal.h mmal_port_co check_lib mmal interface/mmal/mmal.h mmal_port_connect -lmmal_core -lmmal_util -lmmal_vc_client -lbcm_host; } || die "ERROR: mmal not found" && check_func_headers interface/mmal/mmal.h "MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS"; } +enabled nvenc && require_cpp_condition nvEncodeAPI.h "NVENCAPI_MAJOR_VERSION >= 6" enabled omx && require_header OMX_Core.h enabled omx_rpi && { check_header OMX_Core.h || { ! enabled cross_compile && add_cflags -isystem/opt/vc/include/IL && check_header OMX_Core.h ; } || @@ -4807,20 +4660,9 @@ enabled openssl && { { check_pkg_config openssl openssl openssl/ssl.h check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || die "ERROR: openssl not found"; } -enabled gnutls && check_lib gmp gmp.h mpz_export -lgmp - -if enabled nvenc; then - require_header nvEncodeAPI.h - require_cpp_condition nvEncodeAPI.h "NVENCAPI_MAJOR_VERSION >= 6" -fi - -# SDL is "special" and adds some CFLAGS that should not pollute anything else. -if enabled avplay; then - CFLAGS_SAVE=$CFLAGS - check_pkg_config sdl "sdl >= 1.2.1 sdl < 1.3.0" SDL_events.h SDL_PollEvent && - sdl_cflags=$pkg_cflags - CFLAGS=$CFLAGS_SAVE -fi +# SDL adds some CFLAGS that should not be part of the general CFLAGS. +enabled avplay && + test_pkg_config sdl "sdl >= 1.2.1 sdl < 1.3.0" SDL_events.h SDL_PollEvent ! disabled pod2man && check_cmd pod2man --help && enable pod2man || disable pod2man ! disabled texi2html && check_cmd texi2html -version && enable texi2html || disable texi2html @@ -4840,24 +4682,20 @@ check_lib vfw32 "windows.h vfw.h" capCreateCaptureWindow -lvfw32 check_cpp_condition vfw.h "WM_CAP_DRIVER_CONNECT > WM_USER" && enable vfwcap_defines # check for ioctl_meteor.h, ioctl_bt848.h and alternatives -{ check_header dev/bktr/ioctl_meteor.h && - check_header dev/bktr/ioctl_bt848.h; } || -{ check_header machine/ioctl_meteor.h && - check_header machine/ioctl_bt848.h; } || -{ check_header dev/video/meteor/ioctl_meteor.h && - check_header dev/video/bktr/ioctl_bt848.h; } || -check_header dev/ic/bt8xx.h +check_header "dev/bktr/ioctl_meteor.h dev/bktr/ioctl_bt848.h" || + check_header "machine/ioctl_meteor.h machine/ioctl_bt848.h" || + check_header "dev/video/meteor/ioctl_meteor.h dev/video/bktr/ioctl_bt848.h" || + check_header "dev/ic/bt8xx.h" check_header sys/soundcard.h -check_header soundcard.h -enabled_any alsa_indev alsa_outdev && +enabled alsa_indev && check_lib alsa alsa/asoundlib.h snd_pcm_htimestamp -lasound enabled libjack && require_pkg_config libjack jack jack/jack.h jack_port_get_latency_range -enabled_any sndio_indev sndio_outdev && check_lib sndio sndio.h sio_open -lsndio +enabled sndio_indev && check_lib sndio sndio.h sio_open -lsndio if enabled libcdio; then check_lib libcdio "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio || @@ -4874,8 +4712,20 @@ if enabled libxcb; then check_pkg_config libxcb_xfixes xcb-xfixes xcb/xfixes.h xcb_xfixes_get_cursor_image fi -enabled dxva2 && - check_lib dxva2_lib windows.h CoTaskMemFree -lole32 +# d3d11va requires linking directly to dxgi and d3d11 if not building for +# the desktop api partition +check_cpp < +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#error desktop, not uwp +#else +// WINAPI_FAMILY_APP, WINAPI_FAMILY_PHONE_APP => UWP +#endif +#else +#error no family set +#endif +EOF enabled vaapi && require vaapi va/va.h vaInitialize -lva @@ -4889,6 +4739,10 @@ enabled vaapi && enabled vaapi && check_lib vaapi_x11 "va/va.h va/va_x11.h" vaGetDisplay -lva -lva-x11 -lX11 +enabled vaapi && + check_cpp_condition "va/va.h" "VA_CHECK_VERSION(1, 0, 0)" && + enable vaapi_1 + enabled vdpau && check_cpp_condition vdpau/vdpau.h "defined VDP_DECODER_PROFILE_MPEG4_PART2_ASP" || disable vdpau @@ -4943,7 +4797,7 @@ EOF # add some linker flags check_ldflags -Wl,--warn-common check_ldflags -Wl,-rpath-link=libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample -enabled rpath && add_ldexeflags -Wl,-rpath,$libdir +enabled rpath && add_ldexeflags -Wl,-rpath,$libdir && add_ldsoflags -Wl,-rpath,$libdir test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic # add some strip flags @@ -4991,6 +4845,7 @@ if enabled proper_dce; then echo "X { local: *; };" > $TMPV if test_ldflags -Wl,${version_script},$TMPV; then append SHFLAGS '-Wl,${version_script},\$(SUBDIR)lib\$(NAME).ver' + quotes='""' check_cc < Makefile +esc(){ + echo "$*" | sed 's/%/%25/g;s/:/%3a/g' +} + +echo "config:$arch:$subarch:$cpu:$target_os:$(esc $cc_ident):$(esc $LIBAV_CONFIGURATION)" > avbuild/config.fate + config_files="$TMPH avbuild/config.mak" cat > avbuild/config.mak <$TMPASM + cat > $TMPASM <> $TMPH @@ -5506,7 +5353,7 @@ touch avbuild/.config enabled x86asm && cp_if_changed $TMPASM config.asm cat > $TMPH < avbuild/config.sh < $TMPH <> avbuild/config.sh + echo ${lib}_deps=\"$lib_deps\" >> $TMPH done + +cp_if_changed $TMPH avbuild/config.sh