X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=e5133caf680987c7cd5f0fdb0cdda4bfbd463a4d;hb=ec5dc2c1af47e6f19e2bc482b3a1be09ba9e31bb;hp=77104ebb243b27d0f4dd9f5f501554dd6ef3b1aa;hpb=9d99cc5a8a575dc50f77c0de87057a1d54751fe5;p=ffmpeg diff --git a/configure b/configure index 77104ebb243..e5133caf680 100755 --- a/configure +++ b/configure @@ -71,7 +71,6 @@ show_help(){ echo " --enable-pp enable GPLed postprocessing support [default=no]" echo " --enable-swscaler software scaler support [default=no]" echo " --enable-beosthreads use BeOS threads [default=no]" - echo " --enable-os2threads use OS/2 threads [default=no]" echo " --enable-pthreads use pthreads [default=no]" echo " --enable-w32threads use Win32 threads [default=no]" echo " --enable-x11grab enable X11 grabbing [default=no]" @@ -134,6 +133,7 @@ show_help(){ echo " --disable-debug disable debugging symbols" echo " --disable-mpegaudio-hp faster (but less accurate)" echo " MPEG audio decoding [default=no]" + echo " --enable-gray enable full grayscale support (slower color)" echo " --disable-ffmpeg disable ffmpeg build" echo " --disable-ffserver disable ffserver build" echo " --disable-ffplay disable ffplay build" @@ -160,6 +160,13 @@ show_help(){ echo " --enable-protocol=NAME enables protocol NAME" echo " --disable-protocol=NAME disables protocol NAME" echo " --disable-protocols disables all protocols" + echo " --list-decoders show all available decoders" + echo " --list-encoders show all available encoders" + echo " --list-muxers show all available muxers" + echo " --list-demuxers show all available demuxers" + echo " --list-parsers show all available parsers" + echo " --list-protocols show all available protocols" + echo " --list-bsfs show all available bitstream filters" echo echo "Developer options (useful when working on FFmpeg itself):" echo " --enable-gprof enable profiling with gprof [$gprof]" @@ -561,24 +568,23 @@ apply(){ } CONFIG_LIST=' - encoders - decoders - parsers - bsfs - muxers - demuxers audio_beos audio_oss avisynth beos_netserver bktr + bsfs dc1394 + decoders + demuxers dv1394 + encoders ffmpeg ffplay ffserver gpl gprof + gray ipv6 liba52 liba52bin @@ -598,7 +604,9 @@ CONFIG_LIST=' libxvid memalign_hack mpegaudio_hp + muxers network + parsers powerpc_perf pp protocols @@ -613,7 +621,6 @@ CONFIG_LIST=' THREADS_LIST=' beosthreads - os2threads pthreads w32threads ' @@ -652,7 +659,9 @@ HAVE_LIST=" altivec_h arpa_inet_h byteswap_h + closesocket cmov + conio_h dcbzl dev_bktr_ioctl_bt848_h dev_bktr_ioctl_meteor_h @@ -668,6 +677,8 @@ HAVE_LIST=" fast_unaligned fork freetype2 + GetProcessTimes + getrusage imlib2 inet_aton lrintf @@ -675,15 +686,17 @@ HAVE_LIST=" machine_ioctl_meteor_h malloc_h memalign + mkstemp mlib - os2 ppc64 sdl sdl_video_size soundcard_h sys_poll_h sys_soundcard_h + termios_h threads + winsock2_h " CMDLINE_SELECT=" @@ -708,6 +721,7 @@ mmx_deps="x86" ssse3_deps="x86" # decoders / encoders +ac3_decoder_deps="gpl" dxa_decoder_deps="zlib" flashsv_decoder_deps="zlib" flashsv_encoder_deps="zlib" @@ -722,6 +736,7 @@ msmpeg4v2_decoder_deps="h263_decoder" msmpeg4v3_decoder_deps="h263_decoder" png_decoder_deps="zlib" png_encoder_deps="zlib" +svq3_decoder_deps="h264_parser" vc1_decoder_deps="h263_decoder" wmv1_decoder_deps="h263_decoder" wmv2_decoder_deps="h263_decoder" @@ -755,7 +770,6 @@ audio_demuxer_deps_any="audio_oss audio_beos" audio_muxer_deps_any="audio_oss audio_beos" dc1394_demuxer_deps="dc1394" dv1394_demuxer_deps="dv1394" -gxf_muxer_deps="gpl" libnut_demuxer_deps="libnut" libnut_muxer_deps="libnut" mp3_demuxer_deps="mpegaudio_parser" @@ -802,15 +816,13 @@ logfile="config.err" # installation paths PREFIX="/usr/local" -libdir='${PREFIX}/lib' +libdir='$(PREFIX)/lib' shlibdir="$libdir" -incdir='${PREFIX}/include/ffmpeg' -mandir='${PREFIX}/man' -bindir='${PREFIX}/bin' +incdir='$(PREFIX)/include/ffmpeg' +mandir='$(PREFIX)/man' +bindir='$(PREFIX)/bin' # toolchain -cross_prefix="" -cross_compile="no" cc="gcc" ar="ar" ranlib="ranlib" @@ -841,11 +853,8 @@ dostrip="yes" ffmpeg="yes" ffplay="yes" ffserver="yes" -gpl="no" ipv6="yes" -shared="no" static="yes" -memalign_hack="no" mpegaudio_hp="yes" network="yes" optimize="yes" @@ -855,8 +864,6 @@ vhook="default" # build settings SHFLAGS='-shared -Wl,-soname,$@' VHOOKSHFLAGS='$(SHFLAGS)' -LIBOBJFLAGS="" -FFLDFLAGS= LDLATEFLAGS='-Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil' FFSERVERLDFLAGS=-Wl,-E LDCONFIG="ldconfig" @@ -868,9 +875,7 @@ SLIBSUF=".so" SLIBNAME='$(SLIBPREF)$(NAME)$(SLIBSUF)' SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)' SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)' -EXESUF="" -BUILDSUF="" -LIB_INSTALL_EXTRA_CMD='$(RANLIB) "$(libdir)/$(LIB)"' +LIB_INSTALL_EXTRA_CMD='$(RANLIB) "$(LIBDIR)/$(LIB)"' # find source path source_path="`dirname \"$0\"`" @@ -899,6 +904,7 @@ DEMUXER_LIST=`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' "$source_path PROTOCOL_LIST=`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' "$source_path/libavformat/allformats.c"` enable $ENCODER_LIST $DECODER_LIST $PARSER_LIST $MUXER_LIST $DEMUXER_LIST $PROTOCOL_LIST $BSF_LIST +enable $ARCH_EXT_LIST die_unknown(){ echo "Unknown option \"$1\"." @@ -906,6 +912,13 @@ die_unknown(){ exit 1 } +show_list() { + for part in $*; do + echo $part | sed 's/_[^_]*$//' + done | sort + exit 0 +} + for opt do optval="${opt#*=}" case "$opt" in @@ -979,6 +992,11 @@ for opt do echo "$CMDLINE_SELECT" | grep -q "^ *$option\$" || die_unknown $opt $action $option ;; + --list-*) + NAME="${opt#--list-}" + NAME=$(toupper ${NAME%s}) + eval show_list \$${NAME}_LIST + ;; --help) show_help ;; *) @@ -1094,7 +1112,6 @@ case $targetos in fi ;; sunos) dv1394="no" - FFLDFLAGS="" FFSERVERLDFLAGS="" SHFLAGS="-shared -Wl,-h,\$@" add_extralibs "-lsocket -lnsl" @@ -1107,7 +1124,7 @@ case $targetos in dv1394="no" need_memalign="no" LIBOBJFLAGS="\$(PIC)" - LDCONFIG="ldconfig -m \$(shlibdir)" + LDCONFIG="ldconfig -m \$(SHLIBDIR)" SHFLAGS='-shared' SLIBNAME='$(SLIBPREF)$(NAME)$(SLIBSUF).$(LIBVERSION)' SLIBNAME_WITH_VERSION='$(SLIBNAME)' @@ -1131,8 +1148,8 @@ case $targetos in darwin) dv1394="no" need_memalign="no" - SHFLAGS="-dynamiclib -Wl,-single_module -Wl,-install_name,\$(shlibdir)/\$(SLIBNAME),-current_version,\$(SPPVERSION),-compatibility_version,\$(SPPVERSION) -Wl,-read_only_relocs,suppress" - VHOOKSHFLAGS='-dynamiclib -Wl,-single_module -flat_namespace -undefined suppress -Wl,-install_name,$(shlibdir)/vhook/$@' + SHFLAGS="-dynamiclib -Wl,-single_module -Wl,-install_name,\$(SHLIBDIR)/\$(SLIBNAME),-current_version,\$(SPPVERSION),-compatibility_version,\$(SPPVERSION) -Wl,-read_only_relocs,suppress" + VHOOKSHFLAGS='-dynamiclib -Wl,-single_module -flat_namespace -undefined suppress -Wl,-install_name,$(SHLIBDIR)/vhook/$@' osextralibs="" strip="strip -x" FFLDFLAGS="-Wl,-dynamic,-search_paths_first" @@ -1155,7 +1172,7 @@ case $targetos in SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)' SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)' SLIB_EXTRA_CMD="-lib /machine:i386 /def:\$(@:${SLIBSUF}=.def)" - SLIB_INSTALL_EXTRA_CMD="-install -m 644 \$(SLIBNAME_WITH_MAJOR:\$(SLIBSUF)=.lib) \"\$(shlibdir)/\$(SLIBNAME_WITH_MAJOR:\$(SLIBSUF)=.lib)\"" + SLIB_INSTALL_EXTRA_CMD="-install -m 644 \$(SLIBNAME_WITH_MAJOR:\$(SLIBSUF)=.lib) \"\$(SHLIBDIR)/\$(SLIBNAME_WITH_MAJOR:\$(SLIBSUF)=.lib)\"" SHFLAGS="-shared -Wl,--output-def,\$(@:${SLIBSUF}=.def),--out-implib,lib\$(SLIBNAME:\$(SLIBSUF)=.dll.a) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base" enabled network && add_extralibs -lws2_32 ;; @@ -1184,27 +1201,6 @@ case $targetos in targetos=irix ranlib="echo ignoring ranlib" ;; - os/2) - TMPE=$TMPE".exe" - ar="emxomfar -p128" - ranlib="echo ignoring ranlib" - strip="echo ignoring strip" - add_cflags "-Zomf" - FFLDFLAGS="-Zomf -Zstack 16384 -s" - SHFLAGS="-Zdll -Zomf" - FFSERVERLDFLAGS="" - LIBPREF="" - LIBSUF=".lib" - SLIBPREF="" - SLIBSUF=".dll" - EXESUF=".exe" - osextralibs="" - pkg_requires="" - dv1394="no" - ffserver="no" - vhook="no" - os2="yes" - ;; *) targetos="${targetos}-UNKNOWN" ;; @@ -1230,7 +1226,7 @@ ranlib="${cross_prefix}${ranlib}" strip="${cross_prefix}${strip}" # we need to build at least one lib type -if disabled_all static shared; then +if ! enabled_any static shared; then cat < int main(int argc, char ** argv){ @@ -1525,13 +1524,19 @@ fi check_header malloc.h check_func memalign -if disabled_all memalign memalign_hack && enabled need_memalign ; then +if ! enabled_any memalign memalign_hack && enabled need_memalign ; then die "Error, no memalign() but SSE enabled, disable it or use --enable-memalign-hack." fi check_header byteswap.h +check_func mkstemp + +check_header termios.h +check_header conio.h + check_header arpa/inet.h +check_header winsock2.h check_func inet_aton enabled zlib && check_lib zlib.h zlibVersion -lz || zlib="no" @@ -1595,6 +1600,9 @@ enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaa enabled libfaad && require2 libfaad faad.h faacDecOpen -lfaad enabled avisynth && require2 vfw32 "windows.h vfw.h" AVIFileInit -lvfw32 +# disable the native AC-3 decoder if liba52 is enabled +enabled liba52 && disable ac3_decoder + _restrict= for restrict_keyword in restrict __restrict__ __restrict; do check_cc < $TMPH echo "#define FFMPEG_CONFIGURATION \"$FFMPEG_CONFIGURATION\"" >> $TMPH echo "PREFIX=$PREFIX" >> config.mak -echo "prefix=\$(DESTDIR)\${PREFIX}" >> config.mak -echo "libdir=\$(DESTDIR)$libdir" >> config.mak -echo "shlibdir=\$(DESTDIR)$shlibdir" >> config.mak -echo "incdir=\$(DESTDIR)$incdir" >> config.mak -echo "bindir=\$(DESTDIR)$bindir" >> config.mak -echo "mandir=\$(DESTDIR)$mandir" >> config.mak +echo "prefix=\$(DESTDIR)\$(PREFIX)" >> config.mak +echo "LIBDIR=\$(DESTDIR)$libdir" >> config.mak +echo "SHLIBDIR=\$(DESTDIR)$shlibdir" >> config.mak +echo "INCDIR=\$(DESTDIR)$incdir" >> config.mak +echo "BINDIR=\$(DESTDIR)$bindir" >> config.mak +echo "MANDIR=\$(DESTDIR)$mandir" >> config.mak echo "MAKE=$make" >> config.mak echo "CC=$cc" >> config.mak echo "AR=$ar" >> config.mak @@ -1892,11 +1904,7 @@ echo "BUILD_STATIC=$static" >> config.mak echo "BUILDSUF=$BUILDSUF" >> config.mak echo "LIBPREF=$LIBPREF" >> config.mak echo "LIBSUF=\${BUILDSUF}$LIBSUF" >> config.mak -if enabled static; then - echo "LIB=$LIB" >> config.mak -else # Some Make complain if this variable does not exist. - echo "LIB=" >> config.mak -fi +echo "LIB=$LIB" >> config.mak echo "SLIBPREF=$SLIBPREF" >> config.mak echo "SLIBSUF=\${BUILDSUF}$SLIBSUF" >> config.mak echo "EXESUF=\${BUILDSUF}$EXESUF" >> config.mak @@ -2006,6 +2014,7 @@ if enabled source_path_used; then libavutil \ libswscale \ tests \ + tools \ vhook \ " FILES="\