Newer
Older
Fabrice Bellard
committed
#
# FFmpeg configure script
#
# Copyright (c) 2000, 2001, 2002 Fabrice Bellard
# Copyright (c) 2005-2006 Diego Biurrun
# Copyright (c) 2005-2006 Mans Rullgard
Fabrice Bellard
committed
#
# make sure we are running under a compatible shell
# try to make this part work with most shells
try_exec(){
type "$1" >/dev/null 2>&1 && exec "$@"
}
(: ${foo%%bar}) 2>/dev/null
E1="$?"
(: ${foo?}) 2>/dev/null
E2="$?"
if test "$E1" != 0 || test "$E2" = 0; then
echo "Broken shell detected. Trying alternatives."
export FF_CONF_EXEC
if test "0$FF_CONF_EXEC" -lt 1; then
FF_CONF_EXEC=1
try_exec bash "$0" "$@"
fi
if test "0$FF_CONF_EXEC" -lt 2; then
FF_CONF_EXEC=2
try_exec ksh "$0" "$@"
fi
if test "0$FF_CONF_EXEC" -lt 3; then
FF_CONF_EXEC=3
try_exec /usr/xpg4/bin/sh "$0" "$@"
fi
echo "No compatible shell script interpreter found."
echo "such as bash or ksh."
echo "THIS IS NOT A BUG IN FFMPEG, DO NOT REPORT IT AS SUCH."
echo "Instead, install a working POSIX-compatible shell."
echo "Disabling this configure test will create a broken FFmpeg."
if test "$BASH_VERSION" = '2.04.0(1)-release'; then
echo "This bash version ($BASH_VERSION) is broken on your platform."
echo "Upgrade to a later version if available."
fi
exit 1
fi
show_help(){
echo "Usage: configure [options]"
echo "Options: [defaults in brackets after descriptions]"
echo
echo "Standard options:"
echo " --help print this message"
echo " --log[=FILE|yes|no] log tests and output to FILE [config.err]"
echo " --prefix=PREFIX install in PREFIX [$PREFIX]"
echo " --libdir=DIR install libs in DIR [PREFIX/lib]"
Diego Biurrun
committed
echo " --shlibdir=DIR install shared libs in DIR [PREFIX/lib]"
echo " --incdir=DIR install includes in DIR [PREFIX/include/ffmpeg]"
echo " --mandir=DIR install man page in DIR [PREFIX/man]"
echo " --enable-mingw32 enable MinGW native/cross Windows compile"
echo " --enable-mingwce enable MinGW native/cross WinCE compile"
echo " --enable-static build static libraries [default=yes]"
echo " --disable-static do not build static libraries [default=no]"
echo " --enable-shared build shared libraries [default=no]"
echo " --disable-shared do not build shared libraries [default=yes]"
echo " --enable-pp enable GPLed postprocessing support [default=no]"
echo " --enable-swscaler software scaler support [default=no]"
echo " --enable-sunmlib use Sun medialib [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]"
echo " --enable-dc1394 enable IIDC-1394 grabbing using libdc1394"
echo " and libraw1394 [default=no]"
echo " --enable-a52 enable GPLed liba52 support [default=no]"
echo " --enable-a52bin open liba52.so.0 at runtime [default=no]"
echo " --enable-avisynth allow reading AVISynth script files [default=no]"
echo " --enable-dts enable GPLed libdts support [default=no]"
echo " --enable-faac enable FAAC support via libfaac [default=no]"
echo " --enable-faad enable FAAD support via libfaad [default=no]"
echo " --enable-faadbin build FAAD support with runtime linking [default=no]"
echo " --enable-libgsm enable GSM support via libgsm [default=no]"
echo " --enable-mp3lame enable MP3 encoding via libmp3lame [default=no]"
echo " --enable-libnut enable NUT (de)muxing via libnut,"
echo " native demuxer exists [default=no]"
echo " --enable-libogg enable Ogg muxing via libogg [default=no]"
echo " --enable-libtheora enable Theora encoding via libtheora [default=no]"
echo " --enable-vorbis enable Vorbis en/decoding via libvorbis,"
echo " native implementations exist [default=no]"
echo " --enable-x264 enable H.264 encoding via x264 [default=no]"
echo " --enable-xvid enable Xvid encoding via xvidcore,"
echo " native MPEG-4/Xvid encoder exists [default=no]"
echo " --enable-amr_nb enable amr_nb float audio codec"
echo " --enable-amr_nb-fixed use fixed point for amr-nb codec"
echo " --enable-amr_wb enable amr_wb float audio codec"
echo " --enable-amr_if2 enable amr_wb IF2 audio codec"
echo " --enable-gpl allow use of GPL code, the resulting libav*"
echo " and ffmpeg will be under GPL [default=no]"
echo ""
echo "Advanced options (experts only):"
echo " --source-path=PATH path to source code [$source_path]"
echo " --cross-prefix=PREFIX use PREFIX for compilation tools [$cross_prefix]"
echo " --cross-compile assume a cross-compiler is used"
echo " --cc=CC use C compiler CC [$cc]"
echo " --make=MAKE use specified make [$make]"
echo " --extra-cflags=ECFLAGS add ECFLAGS to CFLAGS [$CFLAGS]"
echo " --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS]"
echo " --extra-libs=ELIBS add ELIBS [$ELIBS]"
echo " --build-suffix=SUFFIX suffix for application specific build []"
echo " --arch=ARCH select architecture [$arch]"
Guillaume Poirier
committed
echo " --cpu=CPU selects the minimum cpu required (affects
instruction selection, may crash on older CPUs)"
echo " --powerpc-perf-enable enable performance report on PPC"
echo " (requires enabling PMC)"
echo " --disable-mmx disable MMX usage"
echo " --disable-armv5te disable armv5te usage"
echo " --disable-armv6 disable armv6 usage"
echo " --disable-iwmmxt disable iwmmxt usage"
echo " --disable-altivec disable AltiVec usage"
echo " --disable-audio-oss disable OSS audio support [default=no]"
echo " --disable-audio-beos disable BeOS audio support [default=no]"
echo " --disable-v4l disable video4linux grabbing [default=no]"
echo " --disable-v4l2 disable video4linux2 grabbing [default=no]"
echo " --disable-bktr disable bktr video grabbing [default=no]"
echo " --disable-dv1394 disable DV1394 grabbing [default=no]"
echo " --disable-network disable network support [default=no]"
echo " --disable-ipv6 disable ipv6 support [default=no]"
echo " --disable-zlib disable zlib [default=no]"
echo " --disable-vhook disable video hooking support"
echo " --enable-gprof enable profiling with gprof [$gprof]"
echo " --disable-debug disable debugging symbols"
echo " --disable-opts disable compiler optimizations"
echo " --enable-extra-warnings enable more compiler warnings"
echo " --disable-mpegaudio-hp faster (but less accurate)"
echo " MPEG audio decoding [default=no]"
echo " --disable-protocols disable I/O protocols support [default=no]"
echo " --disable-ffmpeg disable ffmpeg build"
echo " --disable-ffserver disable ffserver build"
echo " --disable-ffplay disable ffplay build"
echo " --enable-small optimize for size instead of speed"
echo " --enable-memalign-hack emulate memalign, interferes with memory debuggers"
echo " --disable-strip disable stripping of executables and shared libraries"
echo " --disable-encoder=NAME disables encoder NAME"
echo " --enable-encoder=NAME enables encoder NAME"
echo " --disable-decoder=NAME disables decoder NAME"
echo " --enable-decoder=NAME enables decoder NAME"
echo " --disable-encoders disables all encoders"
echo " --disable-decoders disables all decoders"
echo " --disable-muxer=NAME disables muxer NAME"
echo " --enable-muxer=NAME enables muxer NAME"
echo " --disable-muxers disables all muxers"
echo " --disable-demuxer=NAME disables demuxer NAME"
echo " --enable-demuxer=NAME enables demuxer NAME"
echo " --disable-demuxers disables all demuxers"
echo " --enable-parser=NAME enables parser NAME"
echo " --disable-parser=NAME disables parser NAME"
echo " --disable-parsers disables all parsers"
echo ""
echo "NOTE: Object files are built at the place where configure is launched."
exit 1
}
log(){
echo "$@" >>$logfile
}
log_file(){
log BEGIN $1
cat -n $1 >>$logfile
log END $1
}
echolog(){
echo "$@"
}
die(){
echolog "$@"
cat <<EOF
If you think configure made a mistake, make sure you are using the latest
version from SVN. If the latest version fails, report the problem to the
ffmpeg-devel@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
EOF
if enabled logging; then
cat <<EOF
Include the log file "$logfile" produced by configure as this will help
solving the problem.
EOF
else
cat <<EOF
Rerun configure with logging enabled (do not use --log=no), and include the
log this produces with your report.
EOF
fi
rm -f $TMPC $TMPO $TMPE $TMPS $TMPH
exit 1
}
# "tr '[a-z]' '[A-Z]'" is a workaround for Solaris tr not grokking "tr a-z A-Z"
toupper(){
echo "$@" | tr '[a-z]' '[A-Z]'
}
set_all(){
value=$1
shift
for var in $*; do
eval $var=$value
done
}
enable(){
set_all yes $*
}
disable(){
set_all no $*
}
enabled(){
eval test "x\$$1" = "xyes"
}
disabled(){
eval test "x\$$1" = "xno"
}
enabled_all(){
for opt; do
enabled $opt || return 1
done
}
disabled_all(){
for opt; do
disabled $opt || return 1
done
}
enabled_any(){
for opt; do
enabled $opt && return 0
done
}
disabled_any(){
for opt; do
disabled $opt && return 0
done
}
check_deps(){
for cfg; do
eval dep_all="\$${cfg}_deps"
eval dep_any="\$${cfg}_deps_any"
enabled_all $dep_all || disable $cfg
enabled_any $dep_any || disable $cfg
done
}
print_config(){
pfx=$1
header=$2
makefile=$3
shift 3
for cfg; do
if enabled $cfg; then
ucname="${pfx}`toupper $cfg`"
echo "#define ${ucname} 1" >> $header
echo "${ucname}=yes" >> $makefile
fi
done
}
flags_saved(){
(: ${SAVE_CFLAGS?}) 2>/dev/null
}
flags_saved && return
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
SAVE_CFLAGS="$CFLAGS"
SAVE_LDFLAGS="$LDFLAGS"
SAVE_extralibs="$extralibs"
}
restore_flags(){
CFLAGS="$SAVE_CFLAGS"
LDFLAGS="$SAVE_LDFLAGS"
extralibs="$SAVE_extralibs"
unset SAVE_CFLAGS
unset SAVE_LDFLAGS
unset SAVE_extralibs
}
temp_cflags(){
save_flags
CFLAGS="$CFLAGS $*"
}
temp_ldflags(){
save_flags
LDFLAGS="$LDFLAGS $*"
}
temp_extralibs(){
save_flags
extralibs="$extralibs $*"
}
append(){
var=$1
shift
flags_saved && eval "SAVE_$var=\"\$SAVE_$var $*\""
eval "$var=\"\$$var $*\""
}
add_cflags(){
append CFLAGS "$@"
}
add_ldflags(){
append LDFLAGS "$@"
}
add_extralibs(){
append extralibs "$@"
}
check_cmd(){
"$@" >>$logfile 2>&1
log check_cc "$@"
cat >$TMPC
log_file $TMPC
check_cmd $cc $CFLAGS "$@" -c -o $TMPO $TMPC
}
check_cpp(){
log check_cpp "$@"
log_file $TMPC
check_cmd $cc $CFLAGS "$@" -E -o $TMPO $TMPC
log check_ld "$@"
check_cmd $cc $LDFLAGS "$@" -o $TMPE $TMPO $extralibs
log check_cflags "$@"
check_cc "$@" <<EOF && add_cflags "$@"
int x;
EOF
}
check_ldflags(){
log check_ldflags "$@"
check_ld "$@" <<EOF && add_ldflags "$@"
int main(){
return 0;
}
EOF
}
check_header(){
log check_header "$@"
check_cpp "$@" <<EOF
#include <$header>
int x;
EOF
err=$?
var=`echo $header | sed 's/[^A-Za-z0-9_]/_/g'`
test "$err" = 0 && enable $var || disable $var
return $err
log check_func "$@"
func=$1
shift
check_ld "$@" <<EOF
extern int $func();
int main(){
$func();
}
EOF
err=$?
test "$err" = 0 && enable $func || disable $func
return $err
check_lib(){
log check_lib "$@"
header="$1"
func="$2"
shift 2
temp_extralibs "$@"
check_header $header && check_func $func && add_extralibs "$@"
err=$?
restore_flags
return $err
}
check_ld "$@" && { enabled cross_compile || $TMPE >>$logfile 2>&1; }
}
require(){
name="$1"
header="$2"
func="$3"
shift 3
check_lib $header $func "$@" || die "ERROR: $name not found"
apply(){
file=$1
shift
"$@" < "$file" > "$file.tmp" && mv "$file.tmp" "$file" || rm "$file.tmp"
}
CONFIG_LIST='
encoders
decoders
parsers
muxers
demuxers
amr
amr_nb
amr_nb_fixed
amr_wb
audio_beos
audio_oss
avisynth
beos_netserver
bktr
dc1394
dv1394
ffmpeg
ffplay
ffserver
gpl
ipv6
liba52
liba52bin
Diego Biurrun
committed
libfaac
libfaad
libfaadbin
libvorbis
memalign_hack
mpegaudio_hp
network
pp
protocols
swscaler
vhook
video4linux
video4linux2
x264
xvid
zlib
'
HAVE_LIST='
dev_bktr_ioctl_bt848_h
dev_bktr_ioctl_meteor_h
dev_ic_bt8xx_h
dev_video_meteor_ioctl_meteor_h
dev_video_bktr_ioctl_bt848_h
freetype2
gprof
imlib2
localtime_r
lrintf
machine_ioctl_bt848_h
machine_ioctl_meteor_h
malloc_h
memalign
mlib
sdl
sdl_video_size
TARGET_LIST='
altivec
armv5te
iwmmxt
mmi
mmx
'
flashsv_decoder_deps="zlib"
mpeg_xvmc_decoder_deps="xvmc"
png_decoder_deps="zlib"
png_encoder_deps="zlib"
x264_encoder_deps="x264"
xvid_encoder_deps="xvid"
zmbv_decoder_deps="zlib"
zmbv_encoder_deps="zlib"
aac_decoder_deps="libfaad"
mpeg4aac_decoder_deps="libfaad"
ac3_decoder_deps="liba52"
amr_nb_decoder_deps_any="amr_nb amr_nb_fixed"
amr_nb_encoder_deps_any="amr_nb amr_nb_fixed"
amr_wb_decoder_deps="amr_wb"
amr_wb_encoder_deps="amr_wb"
dts_decoder_deps="libdts"
faac_encoder_deps="libfaac"
libgsm_decoder_deps="libgsm"
libgsm_encoder_deps="libgsm"
mp3lame_encoder_deps="libmp3lame"
oggvorbis_decoder_deps="libvorbis"
oggvorbis_encoder_deps="libvorbis"
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"
nut_muxer_deps="libnut"
ogg_muxer_deps="libogg"
redir_demuxer_deps="network"
rtp_muxer_deps="network"
rtsp_demuxer_deps="network"
sdp_demuxer_deps="network"
v4l2_demuxer_deps="video4linux2"
video_grab_device_demuxer_deps_any="video4linux bktr"
x11_grab_device_demuxer_deps="x11grab"
Fabrice Bellard
committed
# set temporary file name
Fabrice Bellard
committed
TMPDIR1="${TMPDIR}"
Fabrice Bellard
committed
TMPDIR1="${TEMPDIR}"
Fabrice Bellard
committed
TMPDIR1="/tmp"
Fabrice Bellard
committed
TMPC="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.c"
TMPO="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.o"
TMPE="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}"
Fabrice Bellard
committed
TMPS="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.S"
TMPH="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.h"
logging="yes"
logfile="config.err"
PREFIX="/usr/local"
libdir='${PREFIX}/lib'
Diego Biurrun
committed
shlibdir="$libdir"
incdir='${PREFIX}/include/ffmpeg'
mandir='${PREFIX}/man'
bindir='${PREFIX}/bin'
Fabrice Bellard
committed
cross_prefix=""
cross_compile="no"
Fabrice Bellard
committed
strip="strip"
asmalign_pot="unknown"
# machine
arch=`uname -m`
Guillaume Poirier
committed
cpu="generic"
powerpc_perf="no"
Fabrice Bellard
committed
mmx="default"
Guillaume Poirier
committed
cmov="no"
fast_cmov="no"
Gildas Bazin
committed
iwmmxt="default"
Brian Foley
committed
altivec="default"
mmi="default"
case "$arch" in
i386|i486|i586|i686|i86pc|BePC)
arch="x86_32"
x86_64|amd64)
Reimar Döffinger
committed
canon_arch="`$cc -dumpmachine | sed -e 's,\([^-]*\)-.*,\1,'`"
if [ x"$canon_arch" = x"x86_64" -o x"$canon_arch" = x"amd64" ]; then
if [ -z "`echo $CFLAGS | grep -- -m32`" ]; then
arch="x86_64"
fi
Aurelien Jacobs
committed
fi
;;
# armv4l is a subset of armv[567]*l
arm|armv[4567]*l)
arch="armv4l"
Nick Kurshev
committed
alpha)
arch="alpha"
Nick Kurshev
committed
;;
"Power Macintosh"|ppc|ppc64|powerpc)
arch="powerpc"
;;
arch="mips"
;;
James Morrison
committed
sun4u|sparc64)
arch="sparc64"
;;
James Morrison
committed
sparc)
arch="sparc"
James Morrison
committed
;;
arch="sh4"
parisc|parisc64)
arch="parisc"
;;
s390|s390x)
arch="s390"
;;
m68k)
arch="m68k"
;;
ia64)
arch="ia64"
arch="bfin"
arch="unknown"
# OS
beos_netserver="no"
mingw32="no"
os2="no"
wince="no"
# non-library system interfaces
audio_beos="no"
video4linux2="yes"
video4linux="yes"
# libraries
amr_if2="no"
amr_nb="no"
amr_nb_fixed="no"
amr_wb="no"
avisynth="no"
liba52="no"
liba52bin="no"
Diego Biurrun
committed
libfaac="no"
Diego Biurrun
committed
libfaadbin="no"
Oded Shimon
committed
libnut="no"
libogg="no"
x264="no"
xvid="no"
zlib="yes"
# configurable options
debug="yes"
Michel Bardiaux
committed
dostrip="yes"
extrawarnings="no"
ffmpeg="yes"
ffplay="yes"
ffserver="yes"
gpl="no"
gprof="no"
ipv6="yes"
lshared="no"
lstatic="yes"
memalign_hack="no"
Fabrice Bellard
committed
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)'
LIBOBJFLAGS=""
LDLATEFLAGS='-Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
FFSERVERLDFLAGS=-Wl,-E
Jacob Meuser
committed
LDCONFIG="ldconfig"
LIBPREF="lib"
LIBSUF=".a"
Diego Biurrun
committed
LIB='$(LIBPREF)$(NAME)$(LIBSUF)'
SLIBPREF="lib"
SLIBSUF=".so"
Diego Biurrun
committed
SLIBNAME='$(SLIBPREF)$(NAME)$(SLIBSUF)'
SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
BUILDSUF=""
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
video4linux="no"
video4linux2="no"
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"
video4linux="no"
video4linux2="no"
FFSERVERLDFLAGS=""
SHFLAGS="-shared -Wl,-h,\$@"
add_extralibs "-lsocket -lnsl"
video4linux="no"
video4linux2="no"
bktr="yes"
audio_oss="yes"
dv1394="no"
make="gmake"
add_extralibs "-lossaudio"
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"
video4linux="no"
video4linux2="no"
bktr="yes"
add_cflags "-pthread"
video4linux="no"
video4linux2="no"
bktr="yes"
audio_oss="yes"
dv1394="no"
add_cflags "-pthread"
video4linux="no"
video4linux2="no"
bktr="yes"
extralibs="-lpoll -lgnugetopt -lm"
make="gmake"
Steven M. Schultz
committed
strip="strip -d"
Darwin)
video4linux="no"
video4linux2="no"
audio_oss="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=""
FFLDFLAGS="-Wl,-dynamic,-search_paths_first"
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"
;;
Felix Bünemann
committed
CYGWIN*)
shlibdir="$bindir"
video4linux="no"
video4linux2="no"
Felix Bünemann
committed
audio_oss="yes"
VHOOKSHFLAGS='-shared -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil'
VHOOKLIBS='-lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)'
Felix Bünemann
committed
extralibs=""
EXESUF=".exe"
Víctor Paesa
committed
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'
Felix Bünemann
committed
;;
Linux)
LDLATEFLAGS="-Wl,--as-needed $LDLATEFLAGS"
Michel Bardiaux
committed
IRIX*)
Michel Bardiaux
committed
ranlib="echo ignoring ranlib"
video4linux="no"
video4linux2="no"
Michel Bardiaux
committed
audio_oss="no"
make="gmake"
;;
OS/2)
TMPE=$TMPE".exe"
ar="emxomfar -p128"
Slavik Gnatenko
committed
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"
extralibs=""
pkg_requires=""
video4linux="no"
video4linux2="no"
audio_oss="no"
ffserver="no"
os2="yes"
;;
*)
targetos="${targetos}-UNKNOWN"
;;
Fabrice Bellard
committed
# find source path
source_path="`dirname \"$0\"`"
Fabrice Bellard
committed
source_path_used="yes"
if test -z "$source_path" -o "$source_path" = "." ; then
Fabrice Bellard
committed
source_path_used="no"
else
source_path="`cd \"$source_path\"; pwd`"
echo "$source_path" | grep -q '[[:blank:]]' &&
die "Out of tree builds are impossible with whitespace in source path."
if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
show_help
fi
Michel Bardiaux
committed
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"`
PARSER_LIST=`sed -n 's/^[^#]*PARSER.*, *\(.*\)).*/\1_parser/p' "$source_path/libavcodec/allcodecs.c"`
MUXER_LIST=`sed -n 's/^[^#]*_MUX.*, *\(.*\)).*/\1_muxer/p' "$source_path/libavformat/allformats.c"`
DEMUXER_LIST=`sed -n 's/^[^#]*DEMUX.*, *\(.*\)).*/\1_demuxer/p' "$source_path/libavformat/allformats.c"`
Michael Niedermayer
committed
enable $ENCODER_LIST $DECODER_LIST $PARSER_LIST $MUXER_LIST $DEMUXER_LIST
--log)
;;
;;
;;
Diego Biurrun
committed
--shlibdir=*) shlibdir="$optval"
;;
Fabrice Bellard
committed
;;
Fabrice Bellard
committed
;;
--cross-compile) cross_compile=yes
;;