X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=configure;h=e5133caf680987c7cd5f0fdb0cdda4bfbd463a4d;hb=ec5dc2c1af47e6f19e2bc482b3a1be09ba9e31bb;hp=0ecacceadb90614794c1847fbe84607514f5dc5b;hpb=3155a644a69cda08739ed57f22c5ce443a80d657;p=ffmpeg diff --git a/configure b/configure index 0ecacceadb9..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]" @@ -87,7 +86,7 @@ show_help(){ echo " --enable-libamr-wb enable libamr-wb floating point audio codec" echo " --enable-libfaac enable FAAC support via libfaac [default=no]" echo " --enable-libfaad enable FAAD support via libfaad [default=no]" - echo " --enable-libfaadbin build FAAD support with runtime linking [default=no]" + echo " --enable-libfaadbin open libfaad.so.0 at runtime [default=no]" echo " --enable-libgsm enable GSM support via libgsm [default=no]" echo " --enable-libmp3lame enable MP3 encoding via libmp3lame [default=no]" echo " --enable-libnut enable NUT (de)muxing via libnut," @@ -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,10 +604,13 @@ CONFIG_LIST=' libxvid memalign_hack mpegaudio_hp + muxers network + parsers powerpc_perf pp protocols + small swscaler vhook v4l @@ -612,7 +621,6 @@ CONFIG_LIST=' THREADS_LIST=' beosthreads - os2threads pthreads w32threads ' @@ -651,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 @@ -665,24 +675,28 @@ HAVE_LIST=" fast_64bit fast_cmov fast_unaligned + fork freetype2 + GetProcessTimes + getrusage imlib2 inet_aton - localtime_r lrintf machine_ioctl_bt848_h 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=" @@ -707,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" @@ -721,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" @@ -754,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" @@ -801,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" @@ -840,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" @@ -854,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" @@ -867,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\"`" @@ -898,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\"." @@ -905,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 @@ -948,8 +962,6 @@ for opt do ;; --disable-opts) optimize="no" ;; - --enable-small) optimize="small" - ;; --enable-sunmlib) mlib="yes" ;; --disable-strip) dostrip="no" @@ -980,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 ;; *) @@ -1095,7 +1112,6 @@ case $targetos in fi ;; sunos) dv1394="no" - FFLDFLAGS="" FFSERVERLDFLAGS="" SHFLAGS="-shared -Wl,-h,\$@" add_extralibs "-lsocket -lnsl" @@ -1108,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)' @@ -1132,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" @@ -1156,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 ;; @@ -1164,8 +1180,12 @@ case $targetos in targetos=cygwin shlibdir="$bindir" dv1394="no" - VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libswscale -L$(BUILD_ROOT)/libavutil' - VHOOKLIBS='-lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lswscale$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)' + VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil' + VHOOKLIBS='-lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)' + if enabled swscaler; then + VHOOKSHFLAGS="$VHOOKSHFLAGS -L\$(BUILD_ROOT)/libswscale" + VHOOKLIBS="$VHOOKLIBS -lswscale\$(BUILDSUF)" + fi osextralibs="" EXESUF=".exe" SLIBPREF="cyg" @@ -1181,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" ;; @@ -1227,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){ @@ -1522,16 +1524,21 @@ 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 -check_func localtime_r enabled zlib && check_lib zlib.h zlibVersion -lz || zlib="no" # ffserver uses poll(), @@ -1593,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 <&1 | grep xlc`"; then add_cflags "-O5" add_ldflags "-O5" @@ -1756,7 +1770,7 @@ if enabled gprof; then add_ldflags "-p" fi -VHOOKCFLAGS="-fPIC `echo $CFLAGS | sed s/-mdynamic-no-pic//`" +VHOOKCFLAGS="-fPIC" # find if .align arg is power-of-two or not if test $asmalign_pot = "unknown"; then @@ -1838,7 +1852,7 @@ echo "libamr-nb support ${libamr_nb-no}" echo "libamr-wb support ${libamr_wb-no}" echo "libfaac enabled ${libfaac-no}" echo "libfaad enabled ${libfaad-no}" -echo "faadbin enabled ${libfaadbin-no}" +echo "libfaad dlopened ${libfaadbin-no}" echo "libgsm enabled ${libgsm-no}" echo "libmp3lame enabled ${libmp3lame-no}" echo "libnut enabled ${libnut-no}" @@ -1848,7 +1862,7 @@ echo "libvorbis enabled ${libvorbis-no}" echo "x264 enabled ${libx264-no}" echo "XviD enabled ${libxvid-no}" echo "zlib enabled ${zlib-no}" -if disabled gpl; then +if ! enabled gpl; then echo "License: LGPL" else echo "License: GPL" @@ -1861,12 +1875,12 @@ echo "/* Automatically generated by configure - do not modify! */" > $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 @@ -1890,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 @@ -1962,9 +1972,8 @@ fi echo "#define restrict $_restrict" >> $TMPH -if test "$optimize" = "small"; then +if enabled small; then echo "#define always_inline" >> $TMPH - echo "#define CONFIG_SMALL 1" >> $TMPH fi echo "SRC_PATH=\"$source_path\"" >> config.mak @@ -2005,6 +2014,7 @@ if enabled source_path_used; then libavutil \ libswscale \ tests \ + tools \ vhook \ " FILES="\ @@ -2015,7 +2025,6 @@ if enabled source_path_used; then libpostproc/Makefile \ libavutil/Makefile \ libswscale/Makefile \ - vhook/Makefile \ doc/texi2pod.pl \ " for dir in $DIRS ; do