X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=766f9c2f267c48a087a6605cf0c8944a7b226672;hb=a9179b5bd6f143b4a7ff48bb0d00c8f0a7cafb4b;hp=22c78e76f80a49a8fd04bbedf86fbd1e7ea9474e;hpb=15201e256035a3e8f9d3d7b96fc327467e1a8ead;p=ffmpeg diff --git a/configure b/configure index 22c78e76f80..766f9c2f267 100755 --- a/configure +++ b/configure @@ -86,6 +86,7 @@ Standard options: --shlibdir=DIR install shared libs in DIR [PREFIX/lib] --incdir=DIR install includes in DIR [PREFIX/include] --mandir=DIR install man page in DIR [PREFIX/share/man] + --enable-rpath use rpath when linking programs [USE WITH CARE] Licensing options: --enable-gpl allow use of GPL code, the resulting libs @@ -129,6 +130,7 @@ Component options: --disable-mdct disable MDCT code --disable-rdft disable RDFT code --disable-fft disable FFT code + --disable-faan disable floating point AAN (I)DCT code Hardware accelerators: --enable-dxva2 enable DXVA2 code @@ -208,10 +210,13 @@ External library support: --enable-libx264 enable H.264 encoding via x264 [no] --enable-libx265 enable HEVC encoding via x265 [no] --enable-libxavs enable AVS encoding via xavs [no] + --enable-libxcb enable X11 grabbing using XCB [no] + --enable-libxcb-shm enable X11 grabbing shm communication [auto] + --enable-libxcb-xfixes enable X11 grabbing mouse rendering [auto] --enable-libxvid enable Xvid encoding via xvidcore, native MPEG-4/Xvid encoder exists [no] --enable-openssl enable openssl [no] - --enable-x11grab enable X11 grabbing [no] + --enable-x11grab enable X11 grabbing (legacy) [no] --enable-zlib enable zlib [autodetect] Toolchain options: @@ -1065,7 +1070,7 @@ check_host_cpp(){ log check_host_cpp "$@" cat > $TMPC log_file $TMPC - check_cmd $host_cc $HOSTCPPFLAGS $HOSTCFLAGS "$@" $(hostcc_e $TMPO) $TMPC + check_cmd $host_cc $host_cppflags $host_cflags "$@" $(hostcc_e $TMPO) $TMPC } check_host_cppflags(){ @@ -1168,6 +1173,9 @@ EXTERNAL_LIBRARY_LIST=" libx264 libx265 libxavs + libxcb + libxcb_shm + libxcb_xfixes libxvid openssl x11grab @@ -1219,6 +1227,7 @@ SUBSYSTEM_LIST=" dct doc error_resilience + faan fft lsp lzo @@ -1431,6 +1440,7 @@ MATH_FUNCS=" SYSTEM_FUNCS=" aligned_malloc + clock_gettime closesocket CommandLineToArgvW CoTaskMemFree @@ -1449,6 +1459,7 @@ SYSTEM_FUNCS=" getservbyport GetSystemTimeAsFileTime gettimeofday + gmtime_r inet_aton isatty jack_port_get_latency_range @@ -1494,6 +1505,7 @@ TOOLCHAIN_FEATURES=" " TYPES_LIST=" + CONDITION_VARIABLE_Ptr socklen_t struct_addrinfo struct_group_source_req @@ -1545,6 +1557,8 @@ CONFIG_EXTRA=" bswapdsp cabac dvprofile + faandct + faanidct fdctdsp gcrypt golomb @@ -1582,6 +1596,7 @@ CONFIG_EXTRA=" tpeldsp videodsp vp3dsp + wma_freqs " CMDLINE_SELECT=" @@ -1596,6 +1611,7 @@ CMDLINE_SELECT=" logging lto optimizations + rpath " PATHS_LIST=" @@ -1721,6 +1737,8 @@ threads_if_any="$THREADS_LIST" # subsystems dct_select="rdft" error_resilience_select="me_cmp" +faandct_deps="faan fdctdsp" +faanidct_deps="faan idctdsp" intrax8_select="error_resilience" mdct_select="fft" rdft_select="fft" @@ -1753,8 +1771,8 @@ atrac1_decoder_select="mdct sinewin" atrac3_decoder_select="mdct" atrac3p_decoder_select="mdct sinewin" bink_decoder_select="blockdsp hpeldsp" -binkaudio_dct_decoder_select="mdct rdft dct sinewin" -binkaudio_rdft_decoder_select="mdct rdft sinewin" +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" cllc_decoder_select="bswapdsp" comfortnoise_encoder_select="lpc" @@ -1898,11 +1916,11 @@ vp7_decoder_select="h264pred videodsp" vp8_decoder_select="h264pred videodsp" vp9_decoder_select="videodsp" webp_decoder_select="vp8_decoder" -wmapro_decoder_select="mdct sinewin" -wmav1_decoder_select="mdct sinewin" -wmav1_encoder_select="mdct sinewin" -wmav2_decoder_select="mdct sinewin" -wmav2_encoder_select="mdct sinewin" +wmapro_decoder_select="mdct sinewin wma_freqs" +wmav1_decoder_select="mdct sinewin wma_freqs" +wmav1_encoder_select="mdct sinewin wma_freqs" +wmav2_decoder_select="mdct sinewin wma_freqs" +wmav2_encoder_select="mdct sinewin wma_freqs" wmavoice_decoder_select="lsp rdft dct mdct sinewin" wmv1_decoder_select="h263_decoder" wmv1_encoder_select="h263_encoder" @@ -2047,7 +2065,9 @@ mpegtsraw_demuxer_select="mpegts_demuxer" mxf_d10_muxer_select="mxf_muxer" nut_muxer_select="riffenc" nuv_demuxer_select="riffdec" +oga_muxer_select="ogg_muxer" ogg_demuxer_select="golomb" +opus_muxer_select="ogg_muxer" psp_muxer_select="mov_muxer" rtp_demuxer_select="sdp_demuxer" rtpdec_select="asf_demuxer rm_demuxer rtp_protocol mpegts_demuxer mov_demuxer" @@ -2058,6 +2078,7 @@ sap_muxer_select="rtp_muxer rtp_protocol rtpenc_chain" sdp_demuxer_select="rtpdec" smoothstreaming_muxer_select="ismv_muxer" spdif_muxer_select="aac_parser" +spx_muxer_select="ogg_muxer" tak_demuxer_select="tak_parser" tg2_muxer_select="mov_muxer" tgp_muxer_select="mov_muxer" @@ -2087,7 +2108,8 @@ sndio_outdev_deps="sndio_h" v4l2_indev_deps_any="linux_videodev2_h sys_videoio_h" vfwcap_indev_deps="capCreateCaptureWindow vfwcap_defines" vfwcap_indev_extralibs="-lavicap32" -x11grab_indev_deps="x11grab XShmCreateImage" +x11grab_indev_deps="x11grab" +x11grab_xcb_indev_deps="libxcb" # protocols ffrtmpcrypt_protocol_deps="!librtmp_protocol" @@ -2199,8 +2221,6 @@ ranlib="ranlib" strip="strip" yasmexe="yasm" -nogas=":" - # machine arch_default=$(uname -m) cpu="generic" @@ -2216,6 +2236,7 @@ enable $EXAMPLE_LIST $LIBRARY_LIST $PROGRAM_LIST enable asm enable debug enable doc +enable faan faandct faanidct enable optimizations enable safe_bitstream_reader enable static @@ -2541,8 +2562,9 @@ case "$toolchain" in add_ldflags -fprofile-arcs -ftest-coverage ;; hardened) - add_cflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all - add_ldflags -Wl,-z,relro -Wl,-z,now + add_cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 + add_cflags -fno-strict-overflow -fstack-protector-all + add_ldflags -Wl,-z,relro -Wl,-z,now ;; ?*) die "Unknown toolchain $toolchain" @@ -2616,6 +2638,17 @@ EOF die "Sanity test failed." fi +armasm_flags(){ + for flag; do + case $flag in + # Filter out MSVC cl.exe options from cflags that shouldn't + # be passed to gas-preprocessor + -M[TD]*) ;; + *) echo $flag ;; + esac + done +} + ccc_flags(){ for flag; do case $flag in @@ -2679,7 +2712,7 @@ msvc_flags(){ -Wall) echo -W4 -wd4244 -wd4127 -wd4018 -wd4389 \ -wd4146 -wd4057 -wd4204 -wd4706 -wd4305 \ -wd4152 -wd4324 -we4013 -wd4100 -wd4214 \ - -wd4273 ;; + -wd4273 -wd4701 ;; esac done } @@ -2823,7 +2856,7 @@ probe_cc(){ elif $_cc --vsn 2>/dev/null | grep -Eq "ARM (C/C\+\+ )?Compiler"; then test -d "$sysroot" || die "No valid sysroot specified." _type=armcc - _ident=$($_cc --vsn | head -n1 | sed 's/.*: //') + _ident=$($_cc --vsn | grep -i build | head -n1 | sed 's/.*: //') armcc_conf="$PWD/armcc.conf" $_cc --arm_linux_configure \ --arm_linux_config_file="$armcc_conf" \ @@ -2883,6 +2916,12 @@ probe_cc(){ _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) + # 4509: "This form of conditional instruction is deprecated" + _flags="-nologo -ignore 4509" + _flags_filter=armasm_flags elif $_cc 2>&1 | grep -q Microsoft; then _type=msvc _ident=$($cc 2>&1 | head -n1) @@ -3266,6 +3305,7 @@ elif enabled x86; then case $cpu in i[345]86|pentium) cpuflags="-march=$cpu" + disable i686 disable mmx ;; # targets that do NOT support nopl and conditional mov (cmov) @@ -3419,7 +3459,6 @@ case $target_os in add_extralibs -lpoll -lgnugetopt ;; darwin) - gas="gas-preprocessor.pl $cc" enabled ppc && add_asflags -force_cpusubtype_ALL SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)' enabled x86_32 && append SHFLAGS -Wl,-read_only_relocs,suppress @@ -3627,6 +3666,9 @@ probe_libc(){ elif check_${pfx}cpp_condition sys/brand.h "defined LABELED_BRAND_NAME"; then eval ${pfx}libc_type=solaris add_${pfx}cppflags -D__EXTENSIONS__ -D_XOPEN_SOURCE=600 + else + eval ${pfx}libc_type=default + add_${pfx}cppflags -D_DEFAULT_SOURCE fi } @@ -3777,14 +3819,27 @@ EOF return 0 } -if enabled asm; then - enabled arm aarch64 && nogas=die +if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then + nogas=: + enabled_any arm aarch64 && nogas=die enabled_all ppc altivec && nogas=warn + as_noop=-v + + case $as_type in + arm*) gaspp_as_type=armasm; as_noop=-h ;; + gcc) gaspp_as_type=gas ;; + *) gaspp_as_type=$as_type ;; + esac + + [ $target_os = "darwin" ] && gaspp_as_type="apple-$gaspp_as_type" + + check_cmd gas-preprocessor.pl -arch $arch -as-type $gaspp_as_type -- $as $as_noop && + gas="gas-preprocessor.pl -arch $arch -as-type $gaspp_as_type -- $as" if ! check_gas ; then as=${gas:=$as} check_gas || \ - $nogas "GNU assembler not found, install gas-preprocessor" + $nogas "GNU assembler not found, install/update gas-preprocessor" fi check_as <