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,"
check_ld(){
log check_ld "$@"
check_cc || return
- check_cmd $cc $LDFLAGS "$@" -o $TMPE $TMPO $extralibs
+ flags=''
+ libs=''
+ for f; do
+ test "${f}" = "${f#-l}" && flags="$flags $f" || libs="$libs $f"
+ done
+ check_cmd $cc $LDFLAGS $flags -o $TMPE $TMPO $extralibs $libs
}
check_cflags(){
powerpc_perf
pp
protocols
+ small
swscaler
vhook
v4l
freetype2
imlib2
inet_aton
- localtime_r
lrintf
machine_ioctl_bt848_h
machine_ioctl_meteor_h
memalign
mlib
os2
+ ppc64
sdl
sdl_video_size
soundcard_h
# machine
arch=`uname -m`
cpu="generic"
-powerpc_perf="no"
-cmov="no"
-fast_cmov="no"
-fast_unaligned="no"
-dcbzl="no"
-bigendian="no"
# OS
targetos=$(tolower $(uname -s))
-beos_netserver="no"
-os2="no"
# non-library system interfaces
-audio_beos="default"
audio_oss="yes"
bktr="yes"
dv1394="yes"
v4l="yes"
# libraries
-avisynth="no"
-dc1394="no"
-dlfcn_h="no"
-dlopen="no"
-liba52="no"
-liba52bin="no"
-libamr_nb="no"
-libamr_wb="no"
-libfaac="no"
-libfaad2="no"
-libfaad="no"
-libfaadbin="no"
-libgsm="no"
-libmp3lame="no"
-libnut="no"
-libogg="no"
-libtheora="no"
-libvorbis="no"
-libx264="no"
-libxvid="no"
-mlib="no"
-x11grab="no"
zlib="yes"
# configurable options
debug="yes"
dostrip="yes"
-extra_warnings="no"
ffmpeg="yes"
ffplay="yes"
ffserver="yes"
gpl="no"
-gprof="no"
ipv6="yes"
shared="no"
static="yes"
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
SHFLAGS='-shared -Wl,-soname,$@'
VHOOKSHFLAGS='$(SHFLAGS)'
;;
--disable-opts) optimize="no"
;;
- --enable-small) optimize="small"
- ;;
--enable-sunmlib) mlib="yes"
;;
--disable-strip) dostrip="no"
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"
disabled optimize || add_cflags -fomit-frame-pointer
# Add processor-specific flags
-POWERPCMODE="32bits"
if test $cpu != "generic"; then
warn_altivec(){
$1 altivec && echo "WARNING: Tuning for $2 but AltiVec $1.";
G5|g5|970|ppc970|PowerPC970|power4*|Power4*)
add_cflags "-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
warn_altivec disabled PPC970
- POWERPCMODE="64bits"
+ enable ppc64
;;
Cell|CELL|cell)
add_cflags "-mcpu=cell"
warn_altivec disabled Cell
- POWERPCMODE="64bits"
+ enable ppc64
;;
# targets that do NOT support conditional mov (cmov)
i[345]86|pentium|pentium-mmx|k6|k6-[23]|winchip-c6|winchip2|c3)
check_header arpa/inet.h
check_func inet_aton
-check_func localtime_r
enabled zlib && check_lib zlib.h zlibVersion -lz || zlib="no"
# ffserver uses poll(),
for thread in $THREADS_LIST; do
if enabled $thread; then
- if ! disabled thread_type ; then
+ if test -n "$thread_type"; then
die "ERROR: Only one thread type must be selected."
else
thread_type="$thread"
fi
done
+# test for lrintf in math.h
+check_exec <<EOF && lrintf=yes || lrintf=no
+#define _ISOC9X_SOURCE 1
+#include <math.h>
+int main( void ) { return (lrintf(3.999f) > 0)?0:1; }
+EOF
+
enabled_any libamr_nb libamr_wb && enable libamr
# these are off by default, so fail if requested and not available
enabled libfaad && require2 libfaad faad.h faacDecOpen -lfaad
enabled avisynth && require2 vfw32 "windows.h vfw.h" AVIFileInit -lvfw32
-# test for lrintf in math.h
-check_exec <<EOF && lrintf=yes || lrintf=no
-#define _ISOC9X_SOURCE 1
-#include <math.h>
-int main( void ) { return (lrintf(3.999f) > 0)?0:1; }
-EOF
-
_restrict=
for restrict_keyword in restrict __restrict__ __restrict; do
check_cc <<EOF && _restrict=$restrict_keyword && break
check_ldflags -Wl,--warn-common
check_ldflags $LDLATEFLAGS
-# not all compilers support -Os
-test "$optimize" = "small" && check_cflags -Os
-
-if enabled optimize; then
+if enabled small; then
+ check_cflags -Os # not all compilers support -Os
+ optimize="small"
+elif enabled optimize; then
if test -n "`$cc -v 2>&1 | grep xlc`"; then
add_cflags "-O5"
add_ldflags "-O5"
if test "$BUILDSUF" != ""; then
echo "build suffix $BUILDSUF"
fi
-echo "big-endian $bigendian"
+echo "big-endian ${bigendian-no}"
if test $arch = "x86_32" -o $arch = "x86_64"; then
- echo "MMX enabled $mmx"
- echo "CMOV enabled $cmov"
- echo "CMOV is fast $fast_cmov"
+ echo "MMX enabled ${mmx-no}"
+ echo "CMOV enabled ${cmov-no}"
+ echo "CMOV is fast ${fast_cmov-no}"
fi
if test $arch = "armv4l"; then
- echo "ARMv5TE enabled $armv5te"
- echo "ARMv6 enabled $armv6"
- echo "IWMMXT enabled $iwmmxt"
+ echo "ARMv5TE enabled ${armv5te-no}"
+ echo "ARMv6 enabled ${armv6-no}"
+ echo "IWMMXT enabled ${iwmmxt-no}"
fi
if test $arch = "mips"; then
- echo "MMI enabled $mmi"
+ echo "MMI enabled ${mmi-no}"
fi
if test $arch = "powerpc"; then
- echo "AltiVec enabled $altivec"
- echo "dcbzl available $dcbzl"
+ echo "AltiVec enabled ${altivec-no}"
+ echo "dcbzl available ${dcbzl-no}"
fi
-echo "gprof enabled $gprof"
-echo "debug symbols $debug"
-echo "strip symbols $dostrip"
-echo "optimize $optimize"
-echo "static $static"
-echo "shared $shared"
-echo "postprocessing support $pp"
-echo "software scaler enabled $swscaler"
-echo "video hooking $vhook"
+echo "gprof enabled ${gprof-no}"
+echo "debug symbols ${debug-no}"
+echo "strip symbols ${dostrip-no}"
+echo "optimize ${optimize-no}"
+echo "static ${static-no}"
+echo "shared ${shared-no}"
+echo "postprocessing support ${pp-no}"
+echo "software scaler enabled ${swscaler-no}"
+echo "video hooking ${vhook-no}"
if enabled vhook; then
- echo "Imlib2 support $imlib2"
- echo "FreeType support $freetype2"
+ echo "Imlib2 support ${imlib2-no}"
+ echo "FreeType support ${freetype2-no}"
fi
-echo "network support $network"
+echo "network support ${network-no}"
if enabled network; then
- echo "IPv6 support $ipv6"
+ echo "IPv6 support ${ipv6-no}"
fi
-echo "threading support $thread_type"
-echo "SDL support $sdl"
+echo "threading support ${thread_type-no}"
+echo "SDL support ${sdl-no}"
if enabled sdl_too_old; then
echo "-> Your SDL version is too old - please upgrade to have FFplay/SDL support."
fi
-echo "Sun medialib support $mlib"
-echo "AVISynth enabled $avisynth"
-echo "liba52 support $liba52"
-echo "liba52 dlopened $liba52bin"
-echo "libamr-nb support $libamr_nb"
-echo "libamr-wb support $libamr_wb"
-echo "libfaac enabled $libfaac"
-echo "libfaad enabled $libfaad"
-echo "faadbin enabled $libfaadbin"
-echo "libgsm enabled $libgsm"
-echo "libmp3lame enabled $libmp3lame"
-echo "libnut enabled $libnut"
-echo "libogg enabled $libogg"
-echo "libtheora enabled $libtheora"
-echo "libvorbis enabled $libvorbis"
-echo "x264 enabled $libx264"
-echo "XviD enabled $libxvid"
-echo "zlib enabled $zlib"
+echo "Sun medialib support ${mlib-no}"
+echo "AVISynth enabled ${avisynth-no}"
+echo "liba52 support ${liba52-no}"
+echo "liba52 dlopened ${liba52bin-no}"
+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 "libfaad dlopened ${libfaadbin-no}"
+echo "libgsm enabled ${libgsm-no}"
+echo "libmp3lame enabled ${libmp3lame-no}"
+echo "libnut enabled ${libnut-no}"
+echo "libogg enabled ${libogg-no}"
+echo "libtheora enabled ${libtheora-no}"
+echo "libvorbis enabled ${libvorbis-no}"
+echo "x264 enabled ${libx264-no}"
+echo "XviD enabled ${libxvid-no}"
+echo "zlib enabled ${zlib-no}"
if disabled gpl; then
echo "License: LGPL"
else
echo "SLIBSUF=\${BUILDSUF}$SLIBSUF" >> config.mak
echo "EXESUF=\${BUILDSUF}$EXESUF" >> config.mak
-case "$arch" in
- powerpc)
- if test "$POWERPCMODE" = "64bits"; then
- echo "#define POWERPC_MODE_64BITS 1" >> $TMPH
- fi
- ;;
-esac
-
if enabled bigendian; then
echo "WORDS_BIGENDIAN=yes" >> config.mak
echo "#define WORDS_BIGENDIAN 1" >> $TMPH
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
libpostproc/Makefile \
libavutil/Makefile \
libswscale/Makefile \
- tests/Makefile \
- vhook/Makefile \
doc/texi2pod.pl \
"
for dir in $DIRS ; do