X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=ca11a85553ecdc15ebcbe88a8879f2f2c3e17f1f;hb=89145fbbfecfe9ba1471573ef11fc90e469ae943;hp=a11b9a10a2c3f94d9c76b897c6fcde66a27e1490;hpb=4fa661a857f16d4afd322920442b075c2a84ec4c;p=ffmpeg diff --git a/configure b/configure index a11b9a10a2c..ca11a85553e 100755 --- a/configure +++ b/configure @@ -54,8 +54,10 @@ if test "$E1" != 0 || test "$E2" = 0; then exit 1 fi +test -d /usr/xpg4/bin && PATH=/usr/xpg4/bin:$PATH + show_help(){ -cat <>$f - done - done + map 'eval echo "$v \${$v:-no}"' "$@" | + awk "BEGIN { split(\"$files\", files) } + { + c = \"$pfx\" toupper(\$1); + v = \$2; + sub(/yes/, 1, v); + sub(/no/, 0, v); + for (f in files) { + file = files[f]; + if (file ~ /\\.h\$/) { + printf(\"#define %s %d\\n\", c, v) >>file; + } else if (file ~ /\\.asm\$/) { + printf(\"%%define %s %d\\n\", c, v) >>file; + } else if (file ~ /\\.mak\$/) { + n = -v ? \"\" : \"!\"; + printf(\"%s%s=yes\\n\", n, c) >>file; + } + } + }" } print_enabled(){ - test "$1" = -n && end=" " && shift || end="\n" suf=$1 shift for v; do - enabled $v && printf "%s$end" ${v%$suf}; + enabled $v && printf "%s\n" ${v%$suf}; done } @@ -636,6 +643,12 @@ add_host_ldflags(){ append host_ldflags $($host_ldflags_filter "$@") } +add_compat(){ + append compat_objs $1 + shift + map 'add_cppflags -D$v' "$@" +} + check_cmd(){ log "$@" "$@" >> $logfile 2>&1 @@ -699,11 +712,8 @@ ld_o(){ check_ld(){ log check_ld "$@" - flags='' - libs='' - for f; do - test "${f}" = "${f#-l}" && flags="$flags $f" || libs="$libs $f" - done + flags=$(filter_out '-l*' "$@") + libs=$(filter '-l*' "$@") check_cc $($cflags_filter $flags) || return flags=$($ldflags_filter $flags) libs=$($ldflags_filter $libs) @@ -776,11 +786,13 @@ EOF check_mathfunc(){ log check_mathfunc "$@" func=$1 - shift + narg=$2 + shift 2 + test $narg = 2 && args="f, g" || args="f" disable $func check_ld "$@" < -float foo(float f) { return $func(f); } +float foo(float f, float g) { return $func($args); } int main(void){ return 0; } EOF } @@ -862,6 +874,9 @@ check_exec_crash(){ static void sighandler(int sig){ raise(SIGTERM); } +int foo(void){ + $code +} int main(void){ signal(SIGILL, sighandler); signal(SIGFPE, sighandler); @@ -869,7 +884,7 @@ int main(void){ #ifdef SIGBUS signal(SIGBUS, sighandler); #endif - { $code } + foo(); } EOF } @@ -945,7 +960,7 @@ apply(){ cp_if_changed(){ cmp -s "$1" "$2" && echo "$2 is unchanged" && return mkdir -p "$(dirname $2)" - cp -f "$1" "$2" + $cp_f "$1" "$2" } # CONFIG_LIST contains configurable options, while HAVE_LIST is for @@ -965,6 +980,16 @@ COMPONENT_LIST=" protocols " +LIBRARY_LIST=" + avcodec + avdevice + avfilter + avformat + avresample + avutil + swscale +" + PROGRAM_LIST=" avconv avplay @@ -974,12 +999,8 @@ PROGRAM_LIST=" CONFIG_LIST=" $COMPONENT_LIST + $LIBRARY_LIST $PROGRAM_LIST - avcodec - avdevice - avfilter - avformat - avresample avisynth bzlib dct @@ -1004,6 +1025,7 @@ CONFIG_LIST=" libopencore_amrwb libopencv libopenjpeg + libopus libpulse librtmp libschroedinger @@ -1017,6 +1039,7 @@ CONFIG_LIST=" libxavs libxvid lsp + lzo mdct memalign_hack network @@ -1030,7 +1053,6 @@ CONFIG_LIST=" small sram static - swscale swscale_alpha thumb vaapi @@ -1048,6 +1070,7 @@ THREADS_LIST=' ' ARCH_LIST=' + aarch64 alpha arm avr32 @@ -1065,6 +1088,8 @@ ARCH_LIST=' sh4 sparc sparc64 + tilegx + tilepro tomi x86 x86_32 @@ -1093,24 +1118,58 @@ ARCH_EXT_LIST=" armv6 armv6t2 armvfp - mmi neon ppc4xx vfpv3 vis " +HAVE_LIST_CMDLINE=' + inline_asm + symver + yasm +' + HAVE_LIST_PUB=' bigendian fast_unaligned ' +MATH_FUNCS=" + atanf + atan2f + cbrtf + cosf + exp2 + exp2f + expf + isinf + isnan + ldexpf + llrint + llrintf + log2 + log2f + log10f + lrint + lrintf + powf + rint + round + roundf + sinf + trunc + truncf +" + HAVE_LIST=" $ARCH_EXT_LIST $(add_suffix _external $ARCH_EXT_LIST) $(add_suffix _inline $ARCH_EXT_LIST) + $HAVE_LIST_CMDLINE $HAVE_LIST_PUB $THREADS_LIST + $MATH_FUNCS aligned_malloc aligned_stack alsa_asoundlib_h @@ -1120,25 +1179,23 @@ HAVE_LIST=" asm_mod_y attribute_may_alias attribute_packed - cbrtf closesocket cmov - cpuid cpunop + CryptGenRandom dcbzl dev_bktr_ioctl_bt848_h dev_bktr_ioctl_meteor_h dev_ic_bt8xx_h dev_video_bktr_ioctl_bt848_h dev_video_meteor_ioctl_meteor_h + direct_h dlfcn_h dlopen dos_paths dxva_h ebp_available ebx_available - exp2 - exp2f fast_64bit fast_clz fast_cmov @@ -1152,29 +1209,21 @@ HAVE_LIST=" GetProcessTimes GetSystemTimeAsFileTime getrusage + getservbyport gettimeofday gnu_as ibm_asm inet_aton - inline_asm io_h isatty - isinf - isnan jack_port_get_latency_range ldbrx libdc1394_1 libdc1394_2 - llrint - llrintf local_aligned_16 local_aligned_8 localtime_r - log2 - log2f loongson - lrint - lrintf machine_ioctl_bt848_h machine_ioctl_meteor_h malloc_h @@ -1183,15 +1232,12 @@ HAVE_LIST=" mkstemp mm_empty mmap + mprotect msvcrt nanosleep poll_h posix_memalign rdtsc - rint - round - roundf - rweflags sched_getaffinity sdl sdl_video_size @@ -1214,7 +1260,6 @@ HAVE_LIST=" struct_sockaddr_sa_len struct_sockaddr_storage struct_v4l2_frmivalenum_discrete - symver symver_asm_label symver_gnu_asm sysconf @@ -1227,8 +1272,6 @@ HAVE_LIST=" sys_time_h sys_videoio_h threads - trunc - truncf unistd_h usleep vfp_args @@ -1236,16 +1279,13 @@ HAVE_LIST=" windows_h winsock2_h xform_asm - xgetbv xmm_clobbers - yasm " # options emitted with CONFIG_ prefix but not available on command line CONFIG_EXTRA=" aandcttables ac3dsp - avutil error_resilience gcrypt golomb @@ -1257,6 +1297,7 @@ CONFIG_EXTRA=" huffman lgplv3 lpc + mpegaudio mpegaudiodsp mpegvideo mpegvideoenc @@ -1270,15 +1311,15 @@ CONFIG_EXTRA=" CMDLINE_SELECT=" $ARCH_EXT_LIST $CONFIG_LIST + $HAVE_LIST_CMDLINE $THREADS_LIST asm cross_compile debug extra_warnings logging + lto optimizations - symver - yasm " PATHS_LIST=' @@ -1321,6 +1362,7 @@ CMDLINE_SET=" target_exec target_os target_path + toolchain " CMDLINE_APPEND=" @@ -1338,8 +1380,6 @@ armvfp_deps="arm" neon_deps="arm" vfpv3_deps="armvfp" -mmi_deps="mips" - altivec_deps="ppc" ppc4xx_deps="ppc" @@ -1381,10 +1421,13 @@ need_memalign="altivec neon sse" symver_if_any="symver_asm_label symver_gnu_asm" +log2_deps="!msvcrt" + # subsystems dct_select="rdft" mdct_select="fft" rdft_select="fft" +mpegaudio_select="mpegaudiodsp" mpegaudiodsp_select="dct" mpegvideoenc_select="mpegvideo" @@ -1403,7 +1446,9 @@ atrac3_decoder_select="mdct" binkaudio_dct_decoder_select="mdct rdft dct sinewin" binkaudio_rdft_decoder_select="mdct rdft sinewin" cavs_decoder_select="golomb mpegvideo" +comfortnoise_encoder_select="lpc" cook_decoder_select="mdct sinewin" +cscd_decoder_select="lzo" cscd_decoder_suggest="zlib" dca_decoder_select="mdct" dnxhd_encoder_select="aandcttables mpegvideoenc" @@ -1447,16 +1492,16 @@ loco_decoder_select="golomb" mdec_decoder_select="error_resilience mpegvideo" mjpeg_encoder_select="aandcttables mpegvideoenc" mlp_decoder_select="mlp_parser" -mp1_decoder_select="mpegaudiodsp" -mp1float_decoder_select="mpegaudiodsp" -mp2_decoder_select="mpegaudiodsp" -mp2float_decoder_select="mpegaudiodsp" -mp3_decoder_select="mpegaudiodsp" -mp3adu_decoder_select="mpegaudiodsp" -mp3adufloat_decoder_select="mpegaudiodsp" -mp3float_decoder_select="mpegaudiodsp" -mp3on4_decoder_select="mpegaudiodsp" -mp3on4float_decoder_select="mpegaudiodsp" +mp1_decoder_select="mpegaudio" +mp1float_decoder_select="mpegaudio" +mp2_decoder_select="mpegaudio" +mp2float_decoder_select="mpegaudio" +mp3_decoder_select="mpegaudio" +mp3adu_decoder_select="mpegaudio" +mp3adufloat_decoder_select="mpegaudio" +mp3float_decoder_select="mpegaudio" +mp3on4_decoder_select="mpegaudio" +mp3on4float_decoder_select="mpegaudio" mpc7_decoder_select="mpegaudiodsp" mpc8_decoder_select="mpegaudiodsp" mpeg_vdpau_decoder_select="vdpau mpegvideo_decoder" @@ -1483,6 +1528,7 @@ msmpeg4v3_encoder_select="h263_encoder" mss2_decoder_select="vc1_decoder" nellymoser_decoder_select="mdct sinewin" nellymoser_encoder_select="mdct sinewin" +nuv_decoder_select="lzo" png_decoder_select="zlib" png_encoder_select="zlib" qcelp_decoder_select="lsp" @@ -1570,6 +1616,8 @@ libopencore_amrnb_encoder_deps="libopencore_amrnb" libopencore_amrwb_decoder_deps="libopencore_amrwb" libopenjpeg_decoder_deps="libopenjpeg" libopenjpeg_encoder_deps="libopenjpeg" +libopus_decoder_deps="libopus" +libopus_encoder_deps="libopus" libschroedinger_decoder_deps="libschroedinger" libschroedinger_encoder_deps="libschroedinger" libspeex_decoder_deps="libspeex" @@ -1593,7 +1641,7 @@ eac3_demuxer_select="ac3_parser" flac_demuxer_select="flac_parser" ipod_muxer_select="mov_muxer" matroska_audio_muxer_select="matroska_muxer" -matroska_demuxer_suggest="zlib bzlib" +matroska_demuxer_suggest="bzlib lzo zlib" mov_demuxer_suggest="zlib" mp3_demuxer_select="mpegaudio_parser" mp4_muxer_select="mov_muxer" @@ -1610,6 +1658,7 @@ rtsp_muxer_select="rtp_muxer http_protocol rtp_protocol" sap_demuxer_select="sdp_demuxer" sap_muxer_select="rtp_muxer rtp_protocol" sdp_demuxer_select="rtpdec" +smoothstreaming_muxer_select="ismv_muxer" spdif_muxer_select="aac_parser" tg2_muxer_select="mov_muxer" tgp_muxer_select="mov_muxer" @@ -1685,13 +1734,17 @@ scale_filter_deps="swscale" yadif_filter_deps="gpl" # libraries -avdevice_deps="avcodec avformat" -avformat_deps="avcodec" +avcodec_deps="avutil" +avdevice_deps="avutil avcodec avformat" +avfilter_deps="avutil" +avformat_deps="avutil avcodec" +avresample_deps="avutil" +swscale_deps="avutil" # programs -avconv_deps="avcodec avfilter avformat avresample swscale - aformat_filter asyncts_filter - format_filter fps_filter scale_filter setpts_filter" +avconv_deps="avcodec avfilter avformat avresample swscale" +avconv_select="aformat_filter asyncts_filter + format_filter fps_filter scale_filter setpts_filter" avplay_deps="avcodec avformat swscale sdl" avplay_select="rdft" avprobe_deps="avcodec avformat" @@ -1700,49 +1753,6 @@ avserver_extralibs='$ldl' doc_deps="texi2html" -# tests - -mpg_test_deps="mpeg1system_muxer mpegps_demuxer" -seek_lavf_mxf_d10_test_deps="mxf_d10_test" - -test_deps(){ - suf1=$1 - suf2=$2 - shift 2 - for v; do - dep=${v%=*} - tests=${v#*=} - for name in ${tests}; do - append ${name}_test_deps ${dep}$suf1 ${dep}$suf2 - done - done -} - -test_deps _muxer _demuxer \ - aiff \ - pcm_alaw=alaw \ - asf \ - au \ - avi \ - dv=dv_fmt \ - ffm \ - flv=flv_fmt \ - gxf \ - matroska=mkv \ - mmf \ - mov \ - pcm_mulaw=mulaw \ - mxf="mxf mxf_d10" \ - nut \ - ogg \ - rawvideo=pixfmt \ - rm \ - swf \ - mpegts=ts \ - voc \ - wav \ - yuv4mpegpipe=yuv4mpeg \ - # default parameters logfile="config.log" @@ -1760,14 +1770,14 @@ shlibdir_default="$libdir_default" ar_default="ar" cc_default="gcc" host_cc_default="gcc" +cp_f="cp -f" ln_s="ln -sf" -nm_default="nm" +nm_default="nm -g" objformat="elf" pkg_config_default=pkg-config ranlib="ranlib" yasmexe="yasm" -nm_opts='-g' nogas=":" # machine @@ -1779,15 +1789,7 @@ target_os_default=$(tolower $(uname -s)) host_os=$target_os_default # configurable options -enable $PROGRAM_LIST - -enable avcodec -enable avdevice -enable avfilter -enable avformat -enable avresample -enable avutil -enable swscale +enable $LIBRARY_LIST $PROGRAM_LIST enable asm enable debug @@ -1893,23 +1895,15 @@ ALL_COMPONENTS=" $PROTOCOL_LIST " -find_tests(){ - map "echo ${2}\${v}_test" $(ls "$source_path"/tests/ref/$1 | grep -v '[^-a-z0-9_]') -} - -LAVF_TESTS=$(find_tests lavf) -LAVFI_TESTS=$(find_tests lavfi) -SEEK_TESTS=$(find_tests seek seek_) - -ALL_TESTS="$LAVF_TESTS $LAVFI_TESTS $SEEK_TESTS" - for n in $COMPONENT_LIST; do v=$(toupper ${n%s})_LIST eval enable \$$v eval ${n}_if_any="\$$v" done -enable $ARCH_EXT_LIST $ALL_TESTS +disable snow_decoder snow_encoder + +enable $ARCH_EXT_LIST die_unknown(){ echo "Unknown option \"$1\"." @@ -1956,6 +1950,9 @@ for opt do ;; --enable-debug=*) debuglevel="$optval" ;; + --disable-programs) + disable $PROGRAM_LIST + ;; --disable-everything) map 'eval unset \${$(toupper ${v%s})_LIST}' $COMPONENT_LIST ;; @@ -2020,8 +2017,6 @@ if enabled cross_compile; then die "Must specify target arch and OS when cross-compiling" fi -set_default arch target_os - ar_default="${cross_prefix}${ar_default}" cc_default="${cross_prefix}${cc_default}" nm_default="${cross_prefix}${nm_default}" @@ -2030,7 +2025,30 @@ ranlib="${cross_prefix}${ranlib}" sysinclude_default="${sysroot}/usr/include" -set_default cc nm pkg_config sysinclude +case "$toolchain" in + clang-asan) + cc_default="clang" + add_cflags -faddress-sanitizer + add_ldflags -faddress-sanitizer + ;; + clang-tsan) + cc_default="clang" + add_cflags -fthread-sanitizer + add_ldflags -fthread-sanitizer + ;; + msvc) + cc_default="c99wrap cl" + ld_default="c99wrap link" + nm_default="dumpbin -symbols" + ar_default="lib" + target_os_default="win32" + ;; + ?*) + die "Unknown toolchain $toolchain" + ;; +esac + +set_default arch cc pkg_config sysinclude target_os enabled cross_compile || host_cc_default=$cc set_default host_cc @@ -2041,7 +2059,7 @@ fi exesuf() { case $1 in - mingw32*|cygwin*|*-dos|freedos|opendos|os/2*|symbian) echo .exe ;; + mingw32*|win32|win64|cygwin*|*-dos|freedos|opendos|os/2*|symbian) echo .exe ;; esac } @@ -2097,9 +2115,50 @@ EOF die "Sanity test failed." fi +ccc_flags(){ + for flag; do + case $flag in + -std=c99) echo -c99 ;; + -mcpu=*) echo -arch ${flag#*=} ;; + -mieee) echo -ieee ;; + -O*|-fast) echo $flag ;; + -fno-math-errno) echo -assume nomath_errno ;; + -g) echo -g3 ;; + -Wall) echo -msg_enable level2 ;; + -Wno-pointer-sign) echo -msg_disable ptrmismatch1 ;; + -Wl,*) echo $flag ;; + -f*|-W*) ;; + *) echo $flag ;; + esac + done +} + +msvc_flags(){ + for flag; do + case $flag in + -fomit-frame-pointer) echo -Oy ;; + -g) echo -Z7 ;; + -Wall) echo -W4 -wd4244 -wd4127 -wd4018 -wd4389 \ + -wd4146 -wd4057 -wd4204 -wd4706 -wd4305 \ + -wd4152 -wd4324 -we4013 -wd4100 -wd4214 \ + -wd4996 -wd4273 ;; + -std=c99) ;; + -fno-math-errno) ;; + -fno-common) ;; + -fno-signed-zeros) ;; + -lz) echo zlib.lib ;; + -lavifil32) echo vfw32.lib ;; + -lavicap32) echo vfw32.lib user32.lib ;; + -l*) echo ${flag#-l}.lib ;; + *) echo $flag ;; + esac + done +} + pgi_flags(){ for flag; do case $flag in + -flto) echo -Mipa=fast,libopt,libinline,vestigial ;; -fomit-frame-pointer) echo -Mnoframe ;; -g) echo -gopt ;; *) echo $flag ;; @@ -2124,6 +2183,8 @@ suncc_flags(){ prescott|nocona) echo -xarch=sse3 -xchip=pentium4 ;; *-sse3) echo -xarch=sse3 ;; core2) echo -xarch=ssse3 -xchip=core2 ;; + corei7) echo -xarch=sse4_2 -xchip=nehalem ;; + corei7-avx) echo -xarch=avx -xchip=sandybridge ;; amdfam10|barcelona|bdver*) echo -xarch=sse4_1 ;; athlon-4|athlon-[mx]p) echo -xarch=ssea ;; k8|opteron|athlon64|athlon-fx) @@ -2158,6 +2219,7 @@ tms470_flags(){ -mfpu=neon) echo --float_support=vfpv3 --neon ;; -mfpu=vfp) echo --float_support=vfpv2 ;; -mfpu=vfpv3) echo --float_support=vfpv3 ;; + -mfpu=vfpv3-d16) echo --float_support=vfpv3d16 ;; -msoft-float) echo --float_support=vfplib ;; -O[0-3]|-mf=*) echo $flag ;; -g) echo -g -mn ;; @@ -2213,10 +2275,9 @@ probe_cc(){ _type=ccc _ident=$($_cc -V | head -n1 | cut -d' ' -f1-3) _DEPFLAGS='-M' - debuglevel=3 - _ldflags='-Wl,-z,now' # calls to libots crash without this _cflags_speed='-fast' _cflags_size='-O1' + _flags_filter=ccc_flags elif $_cc --vsn 2>/dev/null | grep -q "ARM C/C++ Compiler"; then test -d "$sysroot" || die "No valid sysroot specified." _type=armcc @@ -2233,15 +2294,12 @@ probe_cc(){ _depflags='-MMD' _cflags_speed='-O3' _cflags_size='-Os' - elif $_cc -version 2>/dev/null | grep -q TMS470; then + 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' - _cflags='-D__gnuc_va_list=va_list -D__USER_LABEL_PREFIX__=' _cc_e='-ppl -fe=$@' _cc_o='-fe=$@' - as_default="${cross_prefix}gcc" - ld_default="${cross_prefix}gcc" _depflags='-ppa -ppd=$(@:.o=.d)' _cflags_speed='-O3 -mf=5' _cflags_size='-O3 -mf=2' @@ -2278,11 +2336,34 @@ probe_cc(){ 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 -Mlre -Mpre' + 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; then + _type=msvc + _ident=$($cc 2>&1 | head -n1) + _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)' + _DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -showIncludes -Zs' + _cflags_speed="-O2" + _cflags_size="-O1" + # Nonstandard output options, to avoid msys path conversion issues, relies on wrapper to remap it + if $_cc 2>&1 | grep -q Linker; then + _ld_o='-out $@' + else + _ld_o='-Fe$@' + fi + _cc_o='-Fo $@' + _cc_e='-P -Fi $@' + _flags_filter=msvc_flags + _ld_lib='lib%.a' + _ld_path='-libpath:' + _flags='-nologo' + _cflags='-D_USE_MATH_DEFINES -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64' + if [ $pfx = hostcc ]; then + append _cflags -Dsnprintf=_snprintf + fi fi eval ${pfx}_type=\$_type @@ -2351,6 +2432,17 @@ if [ -z "$CC_DEPFLAGS" ] && [ "$dep_cc" != "$cc" ]; then DEPCCFLAGS=$_flags 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='$@' +else + arflags="rc" + ar_o='$@' +fi + add_cflags $extra_cflags add_asflags $extra_cflags @@ -2389,39 +2481,32 @@ fi # Deal with common $arch aliases case "$arch" in + aarch64|arm64) + arch="aarch64" + ;; arm*) arch="arm" ;; - mips|mipsel|IP*) + mips*|IP*) arch="mips" ;; - mips64*) - arch="mips" - subarch="mips64" - ;; - parisc|hppa) + parisc*|hppa*) arch="parisc" ;; - parisc64|hppa64) - arch="parisc" - subarch="parisc64" - ;; - "Power Macintosh"|ppc|powerpc) + "Power Macintosh"|ppc*|powerpc*) arch="ppc" ;; - ppc64|powerpc64) - arch="ppc" - subarch="ppc64" - ;; s390|s390x) arch="s390" ;; sh4|sh) arch="sh4" ;; - sun4u|sparc64) + sun4u|sparc*) arch="sparc" - subarch="sparc64" + ;; + tilegx|tile-gx) + arch="tilegx" ;; i[3-6]86|i86pc|BePC|x86pc|x86_64|amd64) arch="x86" @@ -2434,6 +2519,71 @@ enable $arch # Add processor-specific flags if test "$cpu" = generic; then : do nothing + +elif enabled aarch64; then + + case $cpu in + armv*) + cpuflags="-march=$cpu" + ;; + *) + cpuflags="-mcpu=$cpu" + ;; + esac + +elif enabled alpha; then + + cpuflags="-mcpu=$cpu" + +elif enabled arm; then + + case $cpu in + armv*) + cpuflags="-march=$cpu" + subarch=$(echo $cpu | sed 's/[^a-z0-9]//g') + ;; + *) + cpuflags="-mcpu=$cpu" + case $cpu in + cortex-a*) subarch=armv7a ;; + cortex-r*) subarch=armv7r ;; + cortex-m*) enable thumb; subarch=armv7m ;; + arm11*) subarch=armv6 ;; + arm[79]*e*|arm9[24]6*|arm96*|arm102[26]) subarch=armv5te ;; + armv4*|arm7*|arm9[24]*) subarch=armv4 ;; + esac + ;; + esac + +elif enabled avr32; then + + case $cpu in + ap7[02]0[0-2]) + subarch="avr32_ap" + cpuflags="-mpart=$cpu" + ;; + ap) + subarch="avr32_ap" + cpuflags="-march=$cpu" + ;; + uc3[ab]*) + subarch="avr32_uc" + cpuflags="-mcpu=$cpu" + ;; + uc) + subarch="avr32_uc" + cpuflags="-march=$cpu" + ;; + esac + +elif enabled bfin; then + + cpuflags="-mcpu=$cpu" + +elif enabled mips; then + + cpuflags="-march=$cpu" + elif enabled ppc; then case $(tolower $cpu) in @@ -2450,20 +2600,20 @@ elif enabled ppc; then disable altivec ;; g3|75*|ppc75*|powerpc75*) - cpuflags="-mcpu=750 -mpowerpc-gfxopt" + cpuflags="-mcpu=750" disable altivec ;; g4|745*|ppc745*|powerpc745*) - cpuflags="-mcpu=7450 -mpowerpc-gfxopt" + cpuflags="-mcpu=7450" ;; 74*|ppc74*|powerpc74*) - cpuflags="-mcpu=7400 -mpowerpc-gfxopt" + cpuflags="-mcpu=7400" ;; g5|970|ppc970|powerpc970) - cpuflags="-mcpu=970 -mpowerpc-gfxopt -mpowerpc64" + cpuflags="-mcpu=970" ;; power[3-7]*) - cpuflags="-mcpu=$cpu -mpowerpc-gfxopt -mpowerpc64" + cpuflags="-mcpu=$cpu" ;; cell) cpuflags="-mcpu=cell" @@ -2483,6 +2633,18 @@ elif enabled ppc; then ;; esac +elif enabled sparc; then + + case $cpu in + cypress|f93[04]|tsc701|sparcl*|supersparc|hypersparc|niagara|v[789]) + cpuflags="-mcpu=$cpu" + disable vis + ;; + ultrasparc*|niagara[234]) + cpuflags="-mcpu=$cpu" + ;; + esac + elif enabled x86; then case $cpu in @@ -2496,7 +2658,7 @@ elif enabled x86; then disable cmov ;; # targets that do support conditional mov (cmov) - i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|amdfam10|barcelona|atom|bdver*) + i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|corei7*|amdfam10|barcelona|atom|bdver*) cpuflags="-march=$cpu" enable cmov enable fast_cmov @@ -2509,71 +2671,6 @@ elif enabled x86; then ;; esac -elif enabled sparc; then - - case $cpu in - niagara) - cpuflags="-mcpu=$cpu" - disable vis - ;; - sparc64) - cpuflags="-mcpu=v9" - ;; - esac - -elif enabled arm; then - - case $cpu in - armv*) - cpuflags="-march=$cpu" - subarch=$(echo $cpu | sed 's/[^a-z0-9]//g') - ;; - *) - cpuflags="-mcpu=$cpu" - case $cpu in - cortex-a*) subarch=armv7a ;; - cortex-r*) subarch=armv7r ;; - cortex-m*) enable thumb; subarch=armv7m ;; - arm11*) subarch=armv6 ;; - arm[79]*e*|arm9[24]6*|arm96*|arm102[26]) subarch=armv5te ;; - armv4*|arm7*|arm9[24]*) subarch=armv4 ;; - esac - ;; - esac - -elif enabled alpha; then - - enabled ccc && cpuflags="-arch $cpu" || cpuflags="-mcpu=$cpu" - -elif enabled bfin; then - - cpuflags="-mcpu=$cpu" - -elif enabled mips; then - - cpuflags="-march=$cpu" - -elif enabled avr32; then - - case $cpu in - ap7[02]0[0-2]) - subarch="avr32_ap" - cpuflags="-mpart=$cpu" - ;; - ap) - subarch="avr32_ap" - cpuflags="-march=$cpu" - ;; - uc3[ab]*) - subarch="avr32_uc" - cpuflags="-mcpu=$cpu" - ;; - uc) - subarch="avr32_uc" - cpuflags="-march=$cpu" - ;; - esac - fi add_cflags $cpuflags @@ -2604,13 +2701,35 @@ EOF check_host_cflags -std=c99 check_host_cflags -Wall +check_64bit(){ + arch32=$1 + arch64=$2 + expr=$3 + check_code cc "" "int test[2*($expr) - 1]" && + subarch=$arch64 || subarch=$arch32 +} + case "$arch" in - alpha|ia64|mips|parisc|sparc) + alpha|ia64) + spic=$shared + ;; + mips) + check_64bit mips mips64 '_MIPS_SIM > 1' + spic=$shared + ;; + parisc) + check_64bit parisc parisc64 'sizeof(void *) > 4' + spic=$shared + ;; + ppc) + check_64bit ppc ppc64 'sizeof(void *) > 4' + ;; + sparc) + check_64bit sparc sparc64 'sizeof(void *) > 4' spic=$shared ;; x86) - subarch="x86_32" - check_code cc "" "int test[(int)sizeof(char*) - 7]" && subarch="x86_64" + check_64bit x86_32 x86_64 'sizeof(void *) > 4' if test "$subarch" = "x86_64"; then spic=$shared fi @@ -2639,7 +2758,7 @@ case $target_os in # guards for processor-specific code, instead suppress # generation of the HWCAPS ELF section on Solaris x86 only. enabled_all suncc x86 && echo "hwcap_1 = OVERRIDE;" > mapfile && add_ldflags -Wl,-M,mapfile - nm_opts='-P -g' + nm_default='nm -P -g' ;; netbsd) disable symver @@ -2710,9 +2829,32 @@ case $target_os in dlltool="${cross_prefix}dlltool" ranlib=: enable dos_paths - check_cflags -fno-common add_cppflags -U__STRICT_ANSI__ ;; + win32|win64) + if enabled shared; then + # Link to the import library instead of the normal static library + # for shared libs. + LD_LIB='%.lib' + # Cannot build shared and static libraries at the same time with + # MSVC. + disable static + fi + shlibdir_default="$bindir_default" + SLIBPREF="" + SLIBSUF=".dll" + SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' + SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)' + SLIB_CREATE_DEF_CMD='makedef $(SUBDIR)lib$(NAME).ver $(OBJS) > $$(@:$(SLIBSUF)=.def)' + SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)' + SLIB_INSTALL_LINKS= + SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)' + SLIB_INSTALL_EXTRA_LIB='$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)' + SHFLAGS='-dll -def:$$(@:$(SLIBSUF)=.def) -implib:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)' + objformat="win32" + ranlib=: + enable dos_paths + ;; cygwin*) target_os=cygwin shlibdir_default="$bindir_default" @@ -2726,8 +2868,6 @@ case $target_os in SHFLAGS='-shared -Wl,--out-implib,$(SUBDIR)lib$(FULLNAME).dll.a' objformat="win32" enable dos_paths - check_cflags -fno-common - add_cppflags -U__STRICT_ANSI__ ;; *-dos|freedos|opendos) network_extralibs="-lsocket" @@ -2736,7 +2876,6 @@ case $target_os in add_cppflags -U__STRICT_ANSI__ ;; linux) - add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 enable dv1394 ;; irix*) @@ -2756,21 +2895,20 @@ case $target_os in SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)' SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(shell echo $(NAME) | cut -c1-6)$(LIBMAJOR)$(SLIBSUF)' SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR) INITINSTANCE TERMINSTANCE > $(SUBDIR)$(NAME).def; \ - echo PROTMODE >> $(SUBDIR)$(NAME).def; \ - echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(SUBDIR)$(NAME).def; \ - echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(SUBDIR)$(NAME).def; \ - echo EXPORTS >> $(SUBDIR)$(NAME).def; \ - emxexp -o $(OBJS) >> $(SUBDIR)$(NAME).def' + echo PROTMODE >> $(SUBDIR)$(NAME).def; \ + echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(SUBDIR)$(NAME).def; \ + echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(SUBDIR)$(NAME).def; \ + echo EXPORTS >> $(SUBDIR)$(NAME).def; \ + emxexp -o $(OBJS) >> $(SUBDIR)$(NAME).def' SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(NAME).def; \ - emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib $(SUBDIR)$(NAME).def;' + emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib $(SUBDIR)$(NAME).def;' SLIB_INSTALL_EXTRA_LIB='$(LIBPREF)$(NAME)_dll.a $(LIBPREF)$(NAME)_dll.lib' enable dos_paths ;; gnu/kfreebsd) - add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE + add_cppflags -D_BSD_SOURCE ;; gnu) - add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 ;; qnx) add_cppflags -D_QNX_SOURCE @@ -2788,6 +2926,25 @@ 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 + AVSERVERLDFLAGS= + ;; + minix) + ;; + plan9) + add_cppflags -D_C99_SNPRINTF_EXTENSION \ + -D_REENTRANT_SOURCE \ + -D_RESEARCH_SOURCE \ + -DFD_SETSIZE=96 \ + -DHAVE_SOCK_OPTS + add_compat strtod.o strtod=avpriv_strtod + network_extralibs='-lbsd' + exeobjs=compat/plan9/main.o + disable avserver + ln_s='ln -s -f' + cp_f='cp' + ;; none) ;; *) @@ -2799,8 +2956,10 @@ esac if check_cpp_condition features.h "defined __UCLIBC__"; then libc_type=uclibc + add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 elif check_cpp_condition features.h "defined __GLIBC__"; then libc_type=glibc + add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 elif check_header _mingw.h; then libc_type=mingw check_cpp_condition _mingw.h \ @@ -2809,18 +2968,33 @@ elif check_header _mingw.h; then die "ERROR: MinGW runtime version must be >= 3.15." elif check_cpp_condition newlib.h "defined _NEWLIB_VERSION"; then libc_type=newlib + add_cppflags -U__STRICT_ANSI__ elif check_func_headers stdlib.h _get_doserrno; then libc_type=msvcrt - add_cflags -Dstrtod=avpriv_strtod - add_cflags -Dsnprintf=avpriv_snprintf \ - -D_snprintf=avpriv_snprintf \ - -Dvsnprintf=avpriv_vsnprintf + add_compat strtod.o strtod=avpriv_strtod + add_compat msvcrt/snprintf.o snprintf=avpriv_snprintf \ + _snprintf=avpriv_snprintf \ + vsnprintf=avpriv_vsnprintf elif check_cpp_condition stddef.h "defined __KLIBC__"; then libc_type=klibc fi test -n "$libc_type" && enable $libc_type +# hacks for compiler/libc/os combinations + +if enabled_all tms470 glibc; 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 +fi + +if enabled_all ccc glibc; then + add_ldflags -Wl,-z,now # calls to libots crash without this +fi + esc(){ echo "$*" | sed 's/%/%25/g;s/:/%3a/g' } @@ -2830,6 +3004,7 @@ echo "config:$arch:$subarch:$cpu:$target_os:$(esc $cc_ident):$(esc $LIBAV_CONFIG check_cpp_condition stdlib.h "defined(__PIC__) || defined(__pic__) || defined(PIC)" && enable pic set_default $PATHS_LIST +set_default nm # we need to build at least one lib type if ! enabled_any static shared; then @@ -2877,10 +3052,10 @@ enabled pic && enable_pic check_cc <=0.9.1"; } - enabled libvpx_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_enc_init_ver -lvpx || - die "ERROR: libvpx encoder version must be >=0.9.1"; } } + enabled libvpx_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VPX_CQ" -lvpx || + die "ERROR: libvpx encoder version must be >=0.9.6"; } } enabled libx264 && require libx264 x264.h x264_encoder_encode -lx264 && { check_cpp_condition x264.h "X264_BUILD >= 118" || die "ERROR: libx264 version must be >= 0.118."; } @@ -3292,7 +3462,7 @@ enabled jack_indev && check_lib2 jack/jack.h jack_client_open -ljack && enabled_any sndio_indev sndio_outdev && check_lib2 sndio.h sio_open -lsndio enabled libcdio && - check_lib2 "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open "-lcdio_paranoia -lcdio_cdda -lcdio" + check_lib2 "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio enabled x11grab && require X11 X11/Xlib.h XOpenDisplay -lX11 && @@ -3305,10 +3475,8 @@ if ! disabled vda && check_header VideoDecodeAcceleration/VDADecoder.h; then fi if ! disabled vdpau && enabled vdpau_vdpau_h; then -check_cpp_condition \ - vdpau/vdpau.h "defined VDP_DECODER_PROFILE_MPEG4_PART2_ASP" || - { echolog "Please upgrade to libvdpau >= 0.2 if you would like vdpau support." && - disable vdpau; } + check_cpp_condition vdpau/vdpau.h "defined VDP_DECODER_PROFILE_MPEG4_PART2_ASP" || + { echolog "Please upgrade to libvdpau >= 0.2 if you would like vdpau support." && disable vdpau; } fi enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel" @@ -3360,17 +3528,31 @@ void ff_foo(void) {} EOF fi -if [ -n "$optflags" ]; then - add_cflags $optflags -elif enabled small; then - add_cflags $cflags_size -elif enabled optimizations; then - add_cflags $cflags_speed -else - add_cflags $cflags_noopt +if [ -z "$optflags" ]; then + if enabled small; then + optflags=$cflags_size + elif enabled optimizations; then + optflags=$cflags_speed + else + optflags=$cflags_noopt + fi +fi + +check_optflags(){ + check_cflags "$@" + enabled lto && check_ldflags "$@" +} + + +if enabled lto; then + test "$cc_type" != "$ld_type" && die "LTO requires same compiler and linker" + check_cflags -flto + check_ldflags -flto $cpuflags fi -check_cflags -fno-math-errno -check_cflags -fno-signed-zeros + +check_optflags $optflags +check_optflags -fno-math-errno +check_optflags -fno-signed-zeros if enabled icc; then # Just warnings, no remarks @@ -3398,22 +3580,23 @@ if enabled icc; then fi elif enabled ccc; then # disable some annoying warnings - add_cflags -msg_disable cvtu32to64 - add_cflags -msg_disable embedcomment - add_cflags -msg_disable needconstext - add_cflags -msg_disable nomainieee - add_cflags -msg_disable ptrmismatch1 - add_cflags -msg_disable unreachcode + add_cflags -msg_disable bitnotint + add_cflags -msg_disable mixfuncvoid + add_cflags -msg_disable nonstandcast + add_cflags -msg_disable unsupieee elif enabled gcc; then - check_cflags -fno-tree-vectorize + check_optflags -fno-tree-vectorize check_cflags -Werror=implicit-function-declaration check_cflags -Werror=missing-prototypes check_cflags -Werror=declaration-after-statement + check_cflags -Werror=vla elif enabled llvm_gcc; then check_cflags -mllvm -stack-alignment=16 elif enabled clang; then check_cflags -mllvm -stack-alignment=16 check_cflags -Qunused-arguments + check_cflags -Werror=implicit-function-declaration + check_cflags -Werror=missing-prototypes elif enabled armcc; then # 2523: use of inline assembler is deprecated add_cflags -W${armcc_opt},--diag_suppress=2523 @@ -3426,8 +3609,19 @@ elif enabled tms470; then add_cflags -pds=824 -pds=837 elif enabled pathscale; then add_cflags -fstrict-overflow -OPT:wrap_around_unsafe_opt=OFF +elif enabled msvc; then + enabled x86_32 && disable aligned_stack fi +case $target_os in + osf1) + enabled ccc && add_ldflags '-Wl,-expect_unresolved,*' + ;; + plan9) + add_cppflags -Dmain=plan9_main + ;; +esac + enabled_any $THREADS_LIST && enable threads enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; } @@ -3436,7 +3630,6 @@ check_deps $CONFIG_LIST \ $CONFIG_EXTRA \ $HAVE_LIST \ $ALL_COMPONENTS \ - $ALL_TESTS \ ! enabled_any memalign posix_memalign aligned_malloc && enabled_any $need_memalign && enable memalign_hack @@ -3475,9 +3668,6 @@ if enabled arm; then echo "ARM VFP enabled ${armvfp-no}" echo "NEON enabled ${neon-no}" fi -if enabled mips; then - echo "MMI enabled ${mmi-no}" -fi if enabled ppc; then echo "AltiVec enabled ${altivec-no}" echo "PPC 4xx optimizations ${ppc4xx-no}" @@ -3513,6 +3703,7 @@ echo "libopencore-amrnb support ${libopencore_amrnb-no}" echo "libopencore-amrwb support ${libopencore_amrwb-no}" echo "libopencv support ${libopencv-no}" echo "libopenjpeg enabled ${libopenjpeg-no}" +echo "libopus enabled ${libopus-no}" echo "libpulse enabled ${libpulse-no}" echo "librtmp enabled ${librtmp-no}" echo "libschroedinger enabled ${libschroedinger-no}" @@ -3581,6 +3772,8 @@ DEPASFLAGS=$DEPASFLAGS \$(CPPFLAGS) YASM=$yasmexe DEPYASM=$yasmexe AR=$ar +ARFLAGS=$arflags +AR_O=$ar_o RANLIB=$ranlib LN_S=$ln_s CPPFLAGS=$CPPFLAGS @@ -3589,6 +3782,7 @@ ASFLAGS=$ASFLAGS AS_C=$AS_C AS_O=$AS_O CC_C=$CC_C +CC_E=$CC_E CC_O=$CC_O LD_O=$LD_O LD_LIB=$LD_LIB @@ -3634,6 +3828,8 @@ CFLAGS-avplay=$sdl_cflags ZLIB=$($ldflags_filter -lz) LIB_INSTALL_EXTRA_CMD=$LIB_INSTALL_EXTRA_CMD EXTRALIBS=$extralibs +COMPAT_OBJS=$compat_objs +EXEOBJS=$exeobjs INSTALL=install LIBTARGET=${LIBTARGET} SLIBNAME=${SLIBNAME} @@ -3649,22 +3845,16 @@ SAMPLES:=${samples:-\$(LIBAV_SAMPLES)} EOF get_version(){ - lcname=$1 + lcname=lib${1} name=$(toupper $lcname) file=$source_path/$lcname/version.h - eval $(grep "#define ${name}_VERSION_M" "$file" | awk '{ print $2"="$3 }') + eval $(awk "/#define ${name}_VERSION_M/ { print \$2 \"=\" \$3 }" "$file") eval ${name}_VERSION=\$${name}_VERSION_MAJOR.\$${name}_VERSION_MINOR.\$${name}_VERSION_MICRO eval echo "${lcname}_VERSION=\$${name}_VERSION" >> config.mak eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> config.mak } -get_version libavcodec -get_version libavdevice -get_version libavfilter -get_version libavformat -get_version libavresample -get_version libavutil -get_version libswscale +map 'get_version $v' $LIBRARY_LIST cat > $TMPH <>config.mak <> $TMPH # Do not overwrite an unchanged config.h to avoid superfluous rebuilds. @@ -3725,15 +3909,15 @@ test -n "$WARNINGS" && printf "\n$WARNINGS" # build pkg-config files pkgconfig_generate(){ -name=$1 -shortname=${name#lib}${build_suffix} -comment=$2 -version=$3 -libs=$4 -requires=$5 -enabled ${name#lib} || return 0 -mkdir -p $name -cat < $name/$name.pc + name=$1 + shortname=${name#lib}${build_suffix} + comment=$2 + version=$3 + libs=$4 + requires=$5 + enabled ${name#lib} || return 0 + mkdir -p $name + cat < $name/$name.pc prefix=$prefix exec_prefix=\${prefix} libdir=$libdir @@ -3749,7 +3933,7 @@ Libs: -L\${libdir} -l${shortname} $(enabled shared || echo $libs) Libs.private: $(enabled shared && echo $libs) Cflags: -I\${includedir} EOF -cat < $name/$name-uninstalled.pc + cat < $name/$name-uninstalled.pc prefix= exec_prefix= libdir=\${pcfiledir} @@ -3769,6 +3953,6 @@ pkgconfig_generate libavutil "Libav utility library" "$LIBAVUTIL_VERSION" "$LIBM pkgconfig_generate libavcodec "Libav codec library" "$LIBAVCODEC_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION" pkgconfig_generate libavformat "Libav container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec = $LIBAVCODEC_VERSION" pkgconfig_generate libavdevice "Libav device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "libavformat = $LIBAVFORMAT_VERSION" -pkgconfig_generate libavfilter "Libav video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" -pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$extralibs" +pkgconfig_generate libavfilter "Libav video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION" +pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION" pkgconfig_generate libswscale "Libav image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM" "libavutil = $LIBAVUTIL_VERSION"