--disable-sse42 disable SSE4.2 optimizations
--disable-avx disable AVX optimizations
--disable-fma4 disable FMA4 optimizations
+ --disable-avx2 disable AVX2 optimizations
--disable-armv5te disable armv5te optimizations
--disable-armv6 disable armv6 optimizations
--disable-armv6t2 disable armv6t2 optimizations
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
-libav-user@libav.org mailing list or IRC #libav on irc.freenode.net.
+libav-tools@libav.org mailing list or IRC #libav on irc.freenode.net.
EOF
if disabled logging; then
cat <<EOF
headers="$2"
funcs="$3"
shift 3
- $pkg_config --exists $pkg || return
+ check_cmd $pkg_config --exists --print-errors $pkg || return
pkg_cflags=$($pkg_config --cflags $pkg)
pkg_libs=$($pkg_config --libs $pkg)
check_func_headers "$headers" "$funcs" $pkg_cflags $pkg_libs "$@" &&
amd3dnow
amd3dnowext
avx
+ avx2
fma4
i686
mmx
sse42_deps="sse4"
avx_deps="sse42"
fma4_deps="avx"
+avx2_deps="avx"
mmx_external_deps="yasm"
mmx_inline_deps="inline_asm"
vp6a_decoder_select="vp6_decoder"
vp6f_decoder_select="vp6_decoder"
vp8_decoder_select="h264pred videodsp"
+webp_decoder_select="vp8_decoder"
wmapro_decoder_select="mdct sinewin"
wmav1_decoder_select="mdct sinewin"
wmav1_encoder_select="mdct sinewin"
dirac_demuxer_select="dirac_parser"
dxa_demuxer_select="riffdec"
eac3_demuxer_select="ac3_parser"
+f4v_muxer_select="mov_muxer"
flac_demuxer_select="flac_parser"
hls_muxer_select="mpegts_muxer"
ipod_muxer_select="mov_muxer"
objformat="elf"
pkg_config_default=pkg-config
ranlib="ranlib"
+strip="strip"
yasmexe="yasm"
nogas=":"
nm_default="${cross_prefix}${nm_default}"
pkg_config_default="${cross_prefix}${pkg_config_default}"
ranlib="${cross_prefix}${ranlib}"
+strip="${cross_prefix}${strip}"
sysinclude_default="${sysroot}/usr/include"
done
}
+cparser_flags(){
+ for flag; do
+ case $flag in
+ -Wno-switch) echo -Wno-switch-enum ;;
+ -Wno-format-zero-length) ;;
+ -Wdisabled-optimization) ;;
+ -Wno-pointer-sign) echo -Wno-other ;;
+ *) echo $flag ;;
+ esac
+ done
+}
+
msvc_common_flags(){
for flag; do
case $flag in
-Wall) echo -W4 -wd4244 -wd4127 -wd4018 -wd4389 \
-wd4146 -wd4057 -wd4204 -wd4706 -wd4305 \
-wd4152 -wd4324 -we4013 -wd4100 -wd4214 \
- -wd4996 -wd4273 ;;
+ -wd4273 ;;
esac
done
}
_ld_lib='lib%.a'
_ld_path='-libpath:'
_flags='-nologo'
- _cflags='-D_USE_MATH_DEFINES -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64'
+ _cflags='-D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64'
if [ $pfx = hostcc ]; then
append _cflags -Dsnprintf=_snprintf
fi
if [ $pfx = hostcc ]; then
append _cflags -Dsnprintf=_snprintf
fi
+ elif $_cc --version 2>/dev/null | grep -q ^cparser; then
+ _type=cparser
+ _ident=$($_cc --version | head -n1)
+ _depflags='-MMD'
+ _cflags_speed='-O4'
+ _cflags_size='-O2'
+ _flags_filter=cparser_flags
fi
eval ${pfx}_type=\$_type
# Link to the import library instead of the normal static library
# for shared libs.
LD_LIB='%.lib'
- # Cannot build shared and static libs at the same time with MSVC.
+ # Cannot build both shared and static libs with MSVC or icl.
disable static
fi
shlibdir_default="$bindir_default"
elf*) enabled debug && append YASMFLAGS $yasm_debug ;;
esac
- check_yasm "vextractf128 xmm0, ymm0, 0" && enable yasm ||
- die "yasm not found, use --disable-yasm for a crippled build"
+ check_yasm "movbe ecx, [5]" && enable yasm ||
+ die "yasm/nasm not found or too old. Use --disable-yasm for a crippled build."
check_yasm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4_external
check_yasm "CPU amdnop" && enable cpunop
fi
check_cflags -Wmissing-prototypes
check_cflags -Wstrict-prototypes
enabled extra_warnings && check_cflags -Winline
+enabled extra_warnings || check_cflags -Wno-maybe-uninitialized
# add some linker flags
check_ldflags -Wl,--warn-common
-Wl,--wrap,avcodec_decode_video2 \
-Wl,--wrap,avcodec_decode_subtitle2 \
-Wl,--wrap,avcodec_encode_audio2 \
- -Wl,--wrap,avcodec_encode_video \
+ -Wl,--wrap,avcodec_encode_video2 \
-Wl,--wrap,avcodec_encode_subtitle \
-Wl,--wrap,sws_scale ||
disable xmm_clobber_test
check_cflags -Werror=implicit-function-declaration
check_cflags -Werror=missing-prototypes
check_cflags -Werror=return-type
+elif enabled cparser; then
+ add_cflags -Wno-missing-variable-declarations
+ add_cflags -Wno-empty-statement
elif enabled armcc; then
# 2523: use of inline assembler is deprecated
add_cflags -W${armcc_opt},--diag_suppress=2523
enabled x86_32 && disable aligned_stack
enabled_all x86_32 debug && add_cflags -Oy-
enabled debug && add_ldflags -debug
+ enable pragma_deprecated
if enabled icl; then
- # basically -fstrict-aliasing that does not work (correctly) on icl 13.x
- check_cpp_condition "windows.h" "__ICL < 1300" && add_cflags -Qansi-alias
+ # -Qansi-alias is basically -fstrict-aliasing, but does not work
+ # (correctly) on icl 13.x.
+ check_cpp_condition "windows.h" "__ICL < 1300 || __ICL >= 1400" &&
+ add_cflags -Qansi-alias
# icl will pass the inline asm tests but inline asm is currently
# not supported (build will fail)
disable inline_asm
ARFLAGS=$arflags
AR_O=$ar_o
RANLIB=$ranlib
+STRIP=$strip
LN_S=$ln_s
CPPFLAGS=$CPPFLAGS
CFLAGS=$CFLAGS