pthreads
sdl
sdl_video_size
+ soundcard_h
+ sys_soundcard_h
threads
w32threads
'
dc1394_demuxer_deps="dc1394"
dv1394_demuxer_deps="dv1394"
gxf_muxer_deps="gpl"
-nut_muxer_deps="libnut"
+libnut_demuxer_deps="libnut"
+libnut_muxer_deps="libnut"
ogg_muxer_deps="libogg"
redir_demuxer_deps="network"
rtp_muxer_deps="network"
TMPH="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.h"
# default parameters
+
logging="yes"
logfile="config.err"
+
+# installation paths
PREFIX="/usr/local"
libdir='${PREFIX}/lib'
shlibdir="$libdir"
incdir='${PREFIX}/include/ffmpeg'
mandir='${PREFIX}/man'
bindir='${PREFIX}/bin'
+
+# toolchain
cross_prefix=""
cross_compile="no"
cc="gcc"
ranlib="ranlib"
make="make"
strip="strip"
+asmalign_pot="unknown"
+
+# machine
arch=`uname -m`
cpu="generic"
powerpc_perf="no"
altivec="default"
dcbzl="no"
mmi="default"
+bigendian="no"
+
case "$arch" in
i386|i486|i586|i686|i86pc|BePC)
arch="x86_32"
arch="unknown"
;;
esac
-gprof="no"
-video4linux="yes"
-video4linux2="yes"
-bktr="no"
-audio_oss="yes"
+
+# OS
+beos_netserver="no"
+mingw32="no"
+os2="no"
+wince="no"
+
+# non-library system interfaces
audio_beos="no"
-x11grab="no"
+audio_oss="yes"
+bktr="no"
dv1394="yes"
+video4linux2="yes"
+video4linux="yes"
+
+# libraries
+amr_if2="no"
+amr_nb="no"
+amr_nb_fixed="no"
+amr_wb="no"
+avisynth="no"
dc1394="no"
-network="yes"
-ipv6="yes"
-zlib="yes"
+dlfcn_h="no"
+dlopen="no"
liba52="no"
liba52bin="no"
libdts="no"
libfaac="no"
-libfaad="no"
libfaad2="no"
+libfaad="no"
libfaadbin="no"
libgsm="no"
libmp3lame="no"
libogg="no"
libtheora="no"
libvorbis="no"
-xvid="no"
+mlib="no"
+x11grab="no"
x264="no"
-pp="no"
-mingw32="no"
-wince="no"
-os2="no"
-lstatic="yes"
-lshared="no"
-optimize="yes"
+xvid="no"
+zlib="yes"
+
+# configurable options
debug="yes"
-extrawarnings="no"
dostrip="yes"
-extralibs="-lm"
-bigendian="no"
-vhook="default"
-avisynth="no"
-dlfcn_h="no"
-dlopen="no"
+extrawarnings="no"
+ffmpeg="yes"
+ffplay="yes"
+ffserver="yes"
+gpl="no"
+gprof="no"
+ipv6="yes"
+lshared="no"
+lstatic="yes"
+memalign_hack="no"
mpegaudio_hp="yes"
+network="yes"
+optimize="yes"
+pp="no"
+protocols="yes"
+swscaler="no"
+vhook="default"
+
+# threading
+beosthreads="no"
+os2threads="no"
+pthreads="no"
+w32threads="no"
+thread_type="no"
+
+# build settings
+extralibs="-lm"
SHFLAGS='-shared -Wl,-soname,$@'
VHOOKSHFLAGS='$(SHFLAGS)'
-beos_netserver="no"
-protocols="yes"
-ffmpeg="yes"
-ffserver="yes"
-ffplay="yes"
LIBOBJFLAGS=""
FFLDFLAGS=-Wl,--warn-common
LDLATEFLAGS='-Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
EXESUF=""
BUILDSUF=""
-amr_nb="no"
-amr_wb="no"
-amr_nb_fixed="no"
-amr_if2="no"
-mlib="no"
-beosthreads="no"
-os2threads="no"
-pthreads="no"
-w32threads="no"
-thread_type="no"
-swscaler="no"
-gpl="no"
-memalign_hack="no"
-asmalign_pot="unknown"
LIB_INSTALL_EXTRA_CMD='$(RANLIB) "$(libdir)/$(LIB)"'
# OS specific
targetos=`uname -s`
case $targetos in
-BeOS)
-PREFIX="/boot/home/config"
-# helps building libavcodec
-add_cflags "-DPIC -fomit-frame-pointer"
-# 3 gcc releases known for BeOS, each with ugly bugs
-gcc_version="`$cc -v 2>&1 | grep version | cut -d ' ' -f3-`"
-case "$gcc_version" in
-2.9-beos-991026*|2.9-beos-000224*) echo "R5/GG gcc"
-mmx="no"
-;;
-*20010315*) echo "BeBits gcc"
-add_cflags "-fno-expensive-optimizations"
-;;
-esac
-SHFLAGS=-nostart
-# disable Linux things
-audio_oss="no"
-video4linux="no"
-video4linux2="no"
-dv1394="no"
-# enable BeOS things
-audio_beos="yes"
-# no need for libm, but the inet stuff
-# Check for BONE
-if (echo $BEINCLUDES|grep 'headers/be/bone' >/dev/null); then
-extralibs="-lbind -lsocket"
-else
-beos_netserver="yes"
-extralibs="-lnet"
-fi ;;
-SunOS)
-video4linux="no"
-video4linux2="no"
-audio_oss="no"
-dv1394="no"
-make="gmake"
-FFLDFLAGS=""
-FFSERVERLDFLAGS=""
-SHFLAGS="-shared -Wl,-h,\$@"
-add_extralibs "-lsocket -lnsl"
-;;
-NetBSD)
-video4linux="no"
-video4linux2="no"
-bktr="yes"
-audio_oss="yes"
-dv1394="no"
-make="gmake"
-add_extralibs "-lossaudio"
-;;
-OpenBSD)
-video4linux="no"
-video4linux2="no"
-bktr="yes"
-audio_oss="yes"
-dv1394="no"
-need_memalign="no"
-make="gmake"
-LIBOBJFLAGS="\$(PIC)"
-LDCONFIG="ldconfig -m \$(shlibdir)"
-SHFLAGS='-shared'
-SLIBNAME='$(SLIBPREF)$(NAME)$(SLIBSUF).$(LIBVERSION)'
-SLIBNAME_WITH_VERSION='$(SLIBNAME)'
-SLIBNAME_WITH_MAJOR='$(SLIBNAME)'
-add_extralibs "-lossaudio"
-;;
-FreeBSD)
-video4linux="no"
-video4linux2="no"
-bktr="yes"
-audio_oss="yes"
-dv1394="no"
-make="gmake"
-need_memalign="no"
-add_cflags "-pthread"
-;;
-GNU/kFreeBSD)
-video4linux="no"
-video4linux2="no"
-bktr="yes"
-audio_oss="yes"
-dv1394="no"
-add_cflags "-pthread"
-;;
-BSD/OS)
-video4linux="no"
-video4linux2="no"
-bktr="yes"
-audio_oss="yes"
-dv1394="no"
-extralibs="-lpoll -lgnugetopt -lm"
-make="gmake"
-strip="strip -d"
-;;
-Darwin)
-cc="cc"
-video4linux="no"
-video4linux2="no"
-audio_oss="no"
-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/$@'
-extralibs=""
-strip="strip -x"
-FFLDFLAGS="-Wl,-dynamic,-search_paths_first"
-SLIBSUF=".dylib"
-SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME).$(LIBVERSION)$(SLIBSUF)'
-SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME).$(LIBMAJOR)$(SLIBSUF)'
-FFSERVERLDFLAGS=-Wl,-bind_at_load
-;;
-MINGW32*)
-# Note: the rest of the mingw32 config is done afterwards as mingw32
-# can be forced on the command line for Linux cross compilation.
-mingw32="yes"
-;;
-CYGWIN*)
-targetos=CYGWIN
-shlibdir="$bindir"
-video4linux="no"
-video4linux2="no"
-audio_oss="yes"
-dv1394="no"
-VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil'
-VHOOKLIBS='-lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)'
-extralibs=""
-EXESUF=".exe"
-SLIBPREF="cyg"
-SLIBSUF=".dll"
-SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)'
-SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)'
-SHFLAGS='-shared -Wl,--out-implib=lib$(NAME).dll.a'
-;;
-Linux)
-LDLATEFLAGS="-Wl,--as-needed $LDLATEFLAGS"
-;;
-IRIX*)
-targetos=IRIX
-ranlib="echo ignoring ranlib"
-video4linux="no"
-video4linux2="no"
-audio_oss="no"
-make="gmake"
-;;
-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"
-extralibs=""
-pkg_requires=""
-video4linux="no"
-video4linux2="no"
-audio_oss="no"
-dv1394="no"
-ffserver="no"
-vhook="no"
-os2="yes"
-;;
-*)
-targetos="${targetos}-UNKNOWN"
-;;
+ BeOS|Haiku|Zeta)
+ PREFIX="$HOME/config"
+ # helps building libavcodec
+ add_cflags "-DPIC -fomit-frame-pointer"
+ # 3 gcc releases known for BeOS, each with ugly bugs
+ gcc_version="`$cc -v 2>&1 | grep version | cut -d ' ' -f3-`"
+ case "$gcc_version" in
+ 2.9-beos-991026*|2.9-beos-000224*) echo "R5/GG gcc"
+ mmx="no"
+ ;;
+ *20010315*) echo "BeBits gcc"
+ add_cflags "-fno-expensive-optimizations"
+ ;;
+ esac
+ LDCONFIG="echo ignoring ldconfig"
+ SHFLAGS=-nostart
+ # disable Linux things
+ dv1394="no"
+ # enable BeOS things
+ audio_beos="yes"
+ # no need for libm, but the inet stuff
+ # Check for BONE
+ # XXX: actually should check for NOT net_server
+ if (echo $BEINCLUDES|grep 'headers/be/bone' >/dev/null); then
+ extralibs="-lbind -lsocket"
+ else
+ beos_netserver="yes"
+ extralibs="-lnet"
+ fi ;;
+ SunOS)
+ dv1394="no"
+ make="gmake"
+ FFLDFLAGS=""
+ FFSERVERLDFLAGS=""
+ SHFLAGS="-shared -Wl,-h,\$@"
+ add_extralibs "-lsocket -lnsl"
+ ;;
+ NetBSD)
+ bktr="yes"
+ dv1394="no"
+ make="gmake"
+ add_extralibs "-lossaudio"
+ ;;
+ OpenBSD)
+ bktr="yes"
+ dv1394="no"
+ need_memalign="no"
+ make="gmake"
+ LIBOBJFLAGS="\$(PIC)"
+ LDCONFIG="ldconfig -m \$(shlibdir)"
+ SHFLAGS='-shared'
+ SLIBNAME='$(SLIBPREF)$(NAME)$(SLIBSUF).$(LIBVERSION)'
+ SLIBNAME_WITH_VERSION='$(SLIBNAME)'
+ SLIBNAME_WITH_MAJOR='$(SLIBNAME)'
+ add_extralibs "-lossaudio"
+ ;;
+ FreeBSD)
+ bktr="yes"
+ dv1394="no"
+ make="gmake"
+ need_memalign="no"
+ add_cflags "-pthread"
+ ;;
+ GNU/kFreeBSD)
+ bktr="yes"
+ dv1394="no"
+ add_cflags "-pthread"
+ ;;
+ BSD/OS)
+ bktr="yes"
+ dv1394="no"
+ extralibs="-lpoll -lgnugetopt -lm"
+ make="gmake"
+ strip="strip -d"
+ ;;
+ Darwin)
+ cc="cc"
+ 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/$@'
+ extralibs=""
+ strip="strip -x"
+ FFLDFLAGS="-Wl,-dynamic,-search_paths_first"
+ SLIBSUF=".dylib"
+ SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME).$(LIBVERSION)$(SLIBSUF)'
+ SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME).$(LIBMAJOR)$(SLIBSUF)'
+ FFSERVERLDFLAGS=-Wl,-bind_at_load
+ ;;
+ MINGW32*)
+ # Note: the rest of the mingw32 config is done afterwards as mingw32
+ # can be forced on the command line for Linux cross compilation.
+ mingw32="yes"
+ ;;
+ CYGWIN*)
+ targetos=CYGWIN
+ shlibdir="$bindir"
+ dv1394="no"
+ VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil'
+ VHOOKLIBS='-lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)'
+ extralibs=""
+ EXESUF=".exe"
+ SLIBPREF="cyg"
+ SLIBSUF=".dll"
+ SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)'
+ SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)'
+ SHFLAGS='-shared -Wl,--out-implib=lib$(NAME).dll.a'
+ ;;
+ Linux)
+ LDLATEFLAGS="-Wl,--as-needed $LDLATEFLAGS"
+ ;;
+ IRIX*)
+ targetos=IRIX
+ ranlib="echo ignoring ranlib"
+ make="gmake"
+ ;;
+ 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"
+ extralibs=""
+ pkg_requires=""
+ dv1394="no"
+ ffserver="no"
+ vhook="no"
+ os2="yes"
+ ;;
+ *)
+ targetos="${targetos}-UNKNOWN"
+ ;;
esac
# find source path
show_help
fi
-FFMPEG_CONFIGURATION=" "
-for opt do
- FFMPEG_CONFIGURATION="$FFMPEG_CONFIGURATION""$opt "
-done
+FFMPEG_CONFIGURATION="$@"
ENCODER_LIST=`sed -n 's/^[^#]*ENC.*, *\(.*\)).*/\1_encoder/p' "$source_path/libavcodec/allcodecs.c"`
DECODER_LIST=`sed -n 's/^[^#]*DEC.*, *\(.*\)).*/\1_decoder/p' "$source_path/libavcodec/allcodecs.c"`
EOF
exit 1
fi
- video4linux="no"
- video4linux2="no"
- audio_oss="no"
dv1394="no"
dc1394="no"
ffserver="no"
exit 1;
fi
-if enabled libtheora && disabled libogg; then
- die "libogg must be enabled to enable libtheora."
-fi
-
-if enabled libvorbis && disabled libogg; then
- die "libogg must be enabled to enable libvorbis."
+if disabled libogg; then
+ enabled libtheora && die "libogg must be enabled to enable libtheora."
+ enabled libvorbis && die "libogg must be enabled to enable libvorbis."
fi
if enabled_any libfaad libfaadbin ; then
EOF
if test "$?" != 0; then
echo "$cc is unable to create an executable file."
- if test -z "$cross_prefix" -a "$cross_compile" = no; then
+ if test -z "$cross_prefix" && disabled cross_compile ; then
echo "If $cc is a cross-compiler, use the --cross-compile option."
echo "Only do this if you know what cross compiling means."
fi
add_extralibs $ldl
fi
-if test "$targetos" = "CYGWIN" -a "$lstatic" = "yes" ; then
+if test "$targetos" = "CYGWIN" && enabled lstatic ; then
vhook="no"
echo
echo "At the moment vhooks don't work on Cygwin static builds."
##########################################
# imlib check
-temp_extralibs -lImlib2
-check_ld <<EOF && imlib2=yes || imlib2=no
-#include <X11/Xlib.h>
+imlib2=no
+if (imlib2-config --version) >/dev/null 2>&1 ; then
+ temp_cflags `imlib2-config --cflags`
+ temp_extralibs `imlib2-config --libs`
+ check_ld <<EOF && imlib2=yes
#include <Imlib2.h>
int main( void ) { return (int) imlib_load_font("foo"); }
EOF
-restore_flags
+ restore_flags
+fi
##########################################
# FreeType check
}
EOF
-# check for video4linux2 --- V4L2_PIX_FMT_YUV420
-enabled video4linux2 && check_cc <<EOF || video4linux2="no"
-#include <sys/time.h>
-#include <asm/types.h>
-#include <linux/videodev2.h>
-int dummy = V4L2_PIX_FMT_YUV420;
-struct v4l2_buffer dummy1;
-EOF
+enabled video4linux && check_header linux/videodev.h || disable video4linux
+enabled video4linux2 && check_header linux/videodev2.h || disable video4linux2
# check for ioctl_meteor.h, ioctl_bt848.h and alternatives
if enabled bktr; then
check_header dev/ic/bt8xx.h
fi
+enabled audio_oss &&
+ check_header sys/soundcard.h ||
+ check_header soundcard.h ||
+ disable audio_oss
+
# Deal with the x11 frame grabber
enabled x11grab &&
enabled gpl &&
# LIBOBJFLAGS may have already been set in the OS configuration
if test -z "$LIBOBJFLAGS" ; then
case "$arch" in
- x86_64|ia64|alpha|sparc*) LIBOBJFLAGS="\$(PIC)" ;;
+ x86_64|ia64|alpha|sparc*|power*) LIBOBJFLAGS="\$(PIC)" ;;
esac
fi
fi
echo "# Automatically generated by configure - do not modify!" > config.mak
echo "/* Automatically generated by configure - do not modify! */" > $TMPH
-echo "#define FFMPEG_CONFIGURATION "'"'"$FFMPEG_CONFIGURATION"'"' >> $TMPH
+echo "#define FFMPEG_CONFIGURATION \"$FFMPEG_CONFIGURATION\"" >> $TMPH
echo "PREFIX=$PREFIX" >> config.mak
echo "prefix=\$(DESTDIR)\${PREFIX}" >> config.mak