--enable-gray enable full grayscale support (slower color)
--disable-swscale-alpha disable alpha channel support in swscale
-Component options:
- --disable-doc do not build documentation
+Program options:
+ --disable-programs do not build command line programs
--disable-avconv disable avconv build
--disable-avplay disable avplay build
--disable-avprobe disable avprobe build
--disable-avserver disable avserver build
+
+Component options:
+ --disable-doc do not build documentation
--disable-avdevice disable libavdevice build
--disable-avcodec disable libavcodec build
--disable-avformat disable libavformat build
+ --disable-avutil disable libavutil build
--disable-swscale disable libswscale build
--disable-avfilter disable video filter support [no]
--disable-avresample disable libavresample build [no]
--disable-dct disable DCT code
--disable-dwt disable DWT code
--disable-lsp disable LSP code
+ --disable-lzo disable LZO decoder code
--disable-mdct disable MDCT code
--disable-rdft disable RDFT code
--disable-fft disable FFT code
done
}
-print_config_h(){
- enabled $1 && v=1 || v=0
- echo "#define $2 $v"
-}
-
-print_config_mak(){
- enabled $1 && v= || v=!
- echo "$v$2=yes"
-}
-
-print_config_asm(){
- enabled $1 && v=1 || v=0
- echo "%define $2 $v"
-}
-
print_config(){
pfx=$1
files=$2
shift 2
- for cfg; do
- ucname="$(toupper $cfg)"
- for f in $files; do
- "print_config_${f##*.}" $cfg ${pfx}${ucname} >>$f
- done
- done
+ map 'eval echo "$v \${$v:-no}"' "$@" |
+ awk "BEGIN { split(\"$files\", files) }
+ {
+ c = \"$pfx\" toupper(\$1);
+ v = \$2;
+ sub(/yes/, 1, v);
+ sub(/no/, 0, v);
+ for (f in files) {
+ file = files[f];
+ if (file ~ /\\.h\$/) {
+ printf(\"#define %s %d\\n\", c, v) >>file;
+ } else if (file ~ /\\.asm\$/) {
+ printf(\"%%define %s %d\\n\", c, v) >>file;
+ } else if (file ~ /\\.mak\$/) {
+ n = -v ? \"\" : \"!\";
+ printf(\"%s%s=yes\\n\", n, c) >>file;
+ }
+ }
+ }"
}
print_enabled(){
- test x"$1" = x-n && end=" " && shift || end="\n"
suf=$1
shift
for v; do
- enabled $v && printf "%s$end" ${v%$suf};
+ enabled $v && printf "%s\n" ${v%$suf};
done
}
check_mathfunc(){
log check_mathfunc "$@"
func=$1
- shift
+ narg=$2
+ shift 2
+ test $narg = 2 && args="f, g" || args="f"
disable $func
check_ld "$@" <<EOF && enable $func
#include <math.h>
-float foo(float f) { return $func(f); }
+float foo(float f, float g) { return $func($args); }
int main(void){ return 0; }
EOF
}
cp_if_changed(){
cmp -s "$1" "$2" && echo "$2 is unchanged" && return
mkdir -p "$(dirname $2)"
- cp -f "$1" "$2"
+ $cp_f "$1" "$2"
}
# CONFIG_LIST contains configurable options, while HAVE_LIST is for
protocols
"
+LIBRARY_LIST="
+ avcodec
+ avdevice
+ avfilter
+ avformat
+ avresample
+ avutil
+ swscale
+"
+
PROGRAM_LIST="
avconv
avplay
CONFIG_LIST="
$COMPONENT_LIST
+ $LIBRARY_LIST
$PROGRAM_LIST
- avcodec
- avdevice
- avfilter
- avformat
- avresample
avisynth
bzlib
dct
libxavs
libxvid
lsp
+ lzo
mdct
memalign_hack
network
small
sram
static
- swscale
swscale_alpha
thumb
vaapi
'
ARCH_LIST='
+ aarch64
alpha
arm
avr32
fast_unaligned
'
+MATH_FUNCS="
+ atanf
+ atan2f
+ cbrtf
+ cosf
+ exp2
+ exp2f
+ expf
+ isinf
+ isnan
+ ldexpf
+ llrint
+ llrintf
+ log2
+ log2f
+ log10f
+ lrint
+ lrintf
+ powf
+ rint
+ round
+ roundf
+ sinf
+ trunc
+ truncf
+"
+
HAVE_LIST="
$ARCH_EXT_LIST
$(add_suffix _external $ARCH_EXT_LIST)
$HAVE_LIST_CMDLINE
$HAVE_LIST_PUB
$THREADS_LIST
+ $MATH_FUNCS
aligned_malloc
aligned_stack
alsa_asoundlib_h
asm_mod_y
attribute_may_alias
attribute_packed
- cbrtf
closesocket
cmov
cpunop
dxva_h
ebp_available
ebx_available
- exp2
- exp2f
fast_64bit
fast_clz
fast_cmov
GetProcessTimes
GetSystemTimeAsFileTime
getrusage
+ getservbyport
gettimeofday
gnu_as
ibm_asm
inet_aton
io_h
isatty
- isinf
- isnan
jack_port_get_latency_range
ldbrx
libdc1394_1
libdc1394_2
- llrint
- llrintf
local_aligned_16
local_aligned_8
localtime_r
- log2
- log2f
loongson
- lrint
- lrintf
machine_ioctl_bt848_h
machine_ioctl_meteor_h
malloc_h
poll_h
posix_memalign
rdtsc
- rint
- round
- roundf
sched_getaffinity
sdl
sdl_video_size
sys_time_h
sys_videoio_h
threads
- trunc
- truncf
unistd_h
usleep
vfp_args
CONFIG_EXTRA="
aandcttables
ac3dsp
- avutil
error_resilience
gcrypt
golomb
binkaudio_dct_decoder_select="mdct rdft dct sinewin"
binkaudio_rdft_decoder_select="mdct rdft sinewin"
cavs_decoder_select="golomb mpegvideo"
+comfortnoise_encoder_select="lpc"
cook_decoder_select="mdct sinewin"
+cscd_decoder_select="lzo"
cscd_decoder_suggest="zlib"
dca_decoder_select="mdct"
dnxhd_encoder_select="aandcttables mpegvideoenc"
mss2_decoder_select="vc1_decoder"
nellymoser_decoder_select="mdct sinewin"
nellymoser_encoder_select="mdct sinewin"
+nuv_decoder_select="lzo"
png_decoder_select="zlib"
png_encoder_select="zlib"
qcelp_decoder_select="lsp"
flac_demuxer_select="flac_parser"
ipod_muxer_select="mov_muxer"
matroska_audio_muxer_select="matroska_muxer"
-matroska_demuxer_suggest="zlib bzlib"
+matroska_demuxer_suggest="bzlib lzo zlib"
mov_demuxer_suggest="zlib"
mp3_demuxer_select="mpegaudio_parser"
mp4_muxer_select="mov_muxer"
yadif_filter_deps="gpl"
# libraries
-avdevice_deps="avcodec avformat"
-avformat_deps="avcodec"
+avcodec_deps="avutil"
+avdevice_deps="avutil avcodec avformat"
+avfilter_deps="avutil"
+avformat_deps="avutil avcodec"
+avresample_deps="avutil"
+swscale_deps="avutil"
# programs
-avconv_deps="avcodec avfilter avformat avresample swscale
- aformat_filter asyncts_filter
- format_filter fps_filter scale_filter setpts_filter"
+avconv_deps="avcodec avfilter avformat avresample swscale"
+avconv_select="aformat_filter asyncts_filter
+ format_filter fps_filter scale_filter setpts_filter"
avplay_deps="avcodec avformat swscale sdl"
avplay_select="rdft"
avprobe_deps="avcodec avformat"
ar_default="ar"
cc_default="gcc"
host_cc_default="gcc"
+cp_f="cp -f"
ln_s="ln -sf"
nm_default="nm -g"
objformat="elf"
host_os=$target_os_default
# configurable options
-enable $PROGRAM_LIST
-
-enable avcodec
-enable avdevice
-enable avfilter
-enable avformat
-enable avresample
-enable avutil
-enable swscale
+enable $LIBRARY_LIST $PROGRAM_LIST
enable asm
enable debug
eval ${n}_if_any="\$$v"
done
+disable snow_decoder snow_encoder
+
enable $ARCH_EXT_LIST
die_unknown(){
;;
--enable-debug=*) debuglevel="$optval"
;;
+ --disable-programs)
+ disable $PROGRAM_LIST
+ ;;
--disable-everything)
map 'eval unset \${$(toupper ${v%s})_LIST}' $COMPONENT_LIST
;;
die "Sanity test failed."
fi
+ccc_flags(){
+ for flag; do
+ case $flag in
+ -std=c99) echo -c99 ;;
+ -mcpu=*) echo -arch ${flag#*=} ;;
+ -mieee) echo -ieee ;;
+ -O*|-fast) echo $flag ;;
+ -fno-math-errno) echo -assume nomath_errno ;;
+ -g) echo -g3 ;;
+ -Wall) echo -msg_enable level2 ;;
+ -Wno-pointer-sign) echo -msg_disable ptrmismatch1 ;;
+ -Wl,*) echo $flag ;;
+ -f*|-W*) ;;
+ *) echo $flag ;;
+ esac
+ done
+}
+
msvc_flags(){
for flag; do
case $flag in
-Wall) echo -W4 -wd4244 -wd4127 -wd4018 -wd4389 \
-wd4146 -wd4057 -wd4204 -wd4706 -wd4305 \
-wd4152 -wd4324 -we4013 -wd4100 -wd4214 \
- -wd4996 ;;
+ -wd4996 -wd4273 ;;
-std=c99) ;;
-fno-math-errno) ;;
-fno-common) ;;
prescott|nocona) echo -xarch=sse3 -xchip=pentium4 ;;
*-sse3) echo -xarch=sse3 ;;
core2) echo -xarch=ssse3 -xchip=core2 ;;
+ corei7) echo -xarch=sse4_2 -xchip=nehalem ;;
+ corei7-avx) echo -xarch=avx -xchip=sandybridge ;;
amdfam10|barcelona|bdver*) echo -xarch=sse4_1 ;;
athlon-4|athlon-[mx]p) echo -xarch=ssea ;;
k8|opteron|athlon64|athlon-fx)
_type=ccc
_ident=$($_cc -V | head -n1 | cut -d' ' -f1-3)
_DEPFLAGS='-M'
- debuglevel=3
- _ldflags='-Wl,-z,now' # calls to libots crash without this
_cflags_speed='-fast'
_cflags_size='-O1'
+ _flags_filter=ccc_flags
elif $_cc --vsn 2>/dev/null | grep -q "ARM C/C++ Compiler"; then
test -d "$sysroot" || die "No valid sysroot specified."
_type=armcc
# Deal with common $arch aliases
case "$arch" in
+ aarch64|arm64)
+ arch="aarch64"
+ ;;
arm*)
arch="arm"
;;
- mips|mipsel|IP*)
+ mips*|IP*)
arch="mips"
;;
- mips64*)
- arch="mips"
- subarch="mips64"
- ;;
- parisc|hppa)
- arch="parisc"
- ;;
- parisc64|hppa64)
+ parisc*|hppa*)
arch="parisc"
- subarch="parisc64"
;;
- "Power Macintosh"|ppc|powerpc)
+ "Power Macintosh"|ppc*|powerpc*)
arch="ppc"
;;
- ppc64|powerpc64)
- arch="ppc"
- subarch="ppc64"
- ;;
s390|s390x)
arch="s390"
;;
sh4|sh)
arch="sh4"
;;
- sun4u|sparc64)
+ sun4u|sparc*)
arch="sparc"
- subarch="sparc64"
;;
tilegx|tile-gx)
arch="tilegx"
# Add processor-specific flags
if test "$cpu" = generic; then
: do nothing
+
+elif enabled aarch64; then
+
+ case $cpu in
+ armv*)
+ cpuflags="-march=$cpu"
+ ;;
+ *)
+ cpuflags="-mcpu=$cpu"
+ ;;
+ esac
+
+elif enabled alpha; then
+
+ cpuflags="-mcpu=$cpu"
+
+elif enabled arm; then
+
+ case $cpu in
+ armv*)
+ cpuflags="-march=$cpu"
+ subarch=$(echo $cpu | sed 's/[^a-z0-9]//g')
+ ;;
+ *)
+ cpuflags="-mcpu=$cpu"
+ case $cpu in
+ cortex-a*) subarch=armv7a ;;
+ cortex-r*) subarch=armv7r ;;
+ cortex-m*) enable thumb; subarch=armv7m ;;
+ arm11*) subarch=armv6 ;;
+ arm[79]*e*|arm9[24]6*|arm96*|arm102[26]) subarch=armv5te ;;
+ armv4*|arm7*|arm9[24]*) subarch=armv4 ;;
+ esac
+ ;;
+ esac
+
+elif enabled avr32; then
+
+ case $cpu in
+ ap7[02]0[0-2])
+ subarch="avr32_ap"
+ cpuflags="-mpart=$cpu"
+ ;;
+ ap)
+ subarch="avr32_ap"
+ cpuflags="-march=$cpu"
+ ;;
+ uc3[ab]*)
+ subarch="avr32_uc"
+ cpuflags="-mcpu=$cpu"
+ ;;
+ uc)
+ subarch="avr32_uc"
+ cpuflags="-march=$cpu"
+ ;;
+ esac
+
+elif enabled bfin; then
+
+ cpuflags="-mcpu=$cpu"
+
+elif enabled mips; then
+
+ cpuflags="-march=$cpu"
+
elif enabled ppc; then
case $(tolower $cpu) in
disable altivec
;;
g3|75*|ppc75*|powerpc75*)
- cpuflags="-mcpu=750 -mpowerpc-gfxopt"
+ cpuflags="-mcpu=750"
disable altivec
;;
g4|745*|ppc745*|powerpc745*)
- cpuflags="-mcpu=7450 -mpowerpc-gfxopt"
+ cpuflags="-mcpu=7450"
;;
74*|ppc74*|powerpc74*)
- cpuflags="-mcpu=7400 -mpowerpc-gfxopt"
+ cpuflags="-mcpu=7400"
;;
g5|970|ppc970|powerpc970)
- cpuflags="-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
+ cpuflags="-mcpu=970"
;;
power[3-7]*)
- cpuflags="-mcpu=$cpu -mpowerpc-gfxopt -mpowerpc64"
+ cpuflags="-mcpu=$cpu"
;;
cell)
cpuflags="-mcpu=cell"
;;
esac
+elif enabled sparc; then
+
+ case $cpu in
+ cypress|f93[04]|tsc701|sparcl*|supersparc|hypersparc|niagara|v[789])
+ cpuflags="-mcpu=$cpu"
+ disable vis
+ ;;
+ ultrasparc*|niagara[234])
+ cpuflags="-mcpu=$cpu"
+ ;;
+ esac
+
elif enabled x86; then
case $cpu in
disable cmov
;;
# targets that do support conditional mov (cmov)
- i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|amdfam10|barcelona|atom|bdver*)
+ i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|corei7*|amdfam10|barcelona|atom|bdver*)
cpuflags="-march=$cpu"
enable cmov
enable fast_cmov
;;
esac
-elif enabled sparc; then
-
- case $cpu in
- niagara)
- cpuflags="-mcpu=$cpu"
- disable vis
- ;;
- sparc64)
- cpuflags="-mcpu=v9"
- ;;
- esac
-
-elif enabled arm; then
-
- case $cpu in
- armv*)
- cpuflags="-march=$cpu"
- subarch=$(echo $cpu | sed 's/[^a-z0-9]//g')
- ;;
- *)
- cpuflags="-mcpu=$cpu"
- case $cpu in
- cortex-a*) subarch=armv7a ;;
- cortex-r*) subarch=armv7r ;;
- cortex-m*) enable thumb; subarch=armv7m ;;
- arm11*) subarch=armv6 ;;
- arm[79]*e*|arm9[24]6*|arm96*|arm102[26]) subarch=armv5te ;;
- armv4*|arm7*|arm9[24]*) subarch=armv4 ;;
- esac
- ;;
- esac
-
-elif enabled alpha; then
-
- enabled ccc && cpuflags="-arch $cpu" || cpuflags="-mcpu=$cpu"
-
-elif enabled bfin; then
-
- cpuflags="-mcpu=$cpu"
-
-elif enabled mips; then
-
- cpuflags="-march=$cpu"
-
-elif enabled avr32; then
-
- case $cpu in
- ap7[02]0[0-2])
- subarch="avr32_ap"
- cpuflags="-mpart=$cpu"
- ;;
- ap)
- subarch="avr32_ap"
- cpuflags="-march=$cpu"
- ;;
- uc3[ab]*)
- subarch="avr32_uc"
- cpuflags="-mcpu=$cpu"
- ;;
- uc)
- subarch="avr32_uc"
- cpuflags="-march=$cpu"
- ;;
- esac
-
fi
add_cflags $cpuflags
check_host_cflags -std=c99
check_host_cflags -Wall
+check_64bit(){
+ arch32=$1
+ arch64=$2
+ expr=$3
+ check_code cc "" "int test[2*($expr) - 1]" &&
+ subarch=$arch64 || subarch=$arch32
+}
+
case "$arch" in
- alpha|ia64|mips|parisc|sparc)
+ alpha|ia64)
+ spic=$shared
+ ;;
+ mips)
+ check_64bit mips mips64 '_MIPS_SIM > 1'
+ spic=$shared
+ ;;
+ parisc)
+ check_64bit parisc parisc64 'sizeof(void *) > 4'
+ spic=$shared
+ ;;
+ ppc)
+ check_64bit ppc ppc64 'sizeof(void *) > 4'
+ ;;
+ sparc)
+ check_64bit sparc sparc64 'sizeof(void *) > 4'
spic=$shared
;;
x86)
- subarch="x86_32"
- check_code cc "" "int test[(int)sizeof(char*) - 7]" && subarch="x86_64"
+ check_64bit x86_32 x86_64 'sizeof(void *) > 4'
if test "$subarch" = "x86_64"; then
spic=$shared
fi
add_cppflags -U__STRICT_ANSI__
;;
win32|win64)
+ if enabled shared; then
+ # Link to the import library instead of the normal static library
+ # for shared libs.
+ LD_LIB='%.lib'
+ # Cannot build shared and static libraries at the same time with
+ # MSVC.
+ disable static
+ fi
+ shlibdir_default="$bindir_default"
+ SLIBPREF=""
+ SLIBSUF=".dll"
+ SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)'
+ SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
+ SLIB_CREATE_DEF_CMD='makedef $(SUBDIR)lib$(NAME).ver $(OBJS) > $$(@:$(SLIBSUF)=.def)'
+ SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
+ SLIB_INSTALL_LINKS=
+ SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)'
+ SLIB_INSTALL_EXTRA_LIB='$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)'
+ SHFLAGS='-dll -def:$$(@:$(SLIBSUF)=.def) -implib:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)'
objformat="win32"
ranlib=:
enable dos_paths
SHFLAGS='-shared -Wl,--out-implib,$(SUBDIR)lib$(FULLNAME).dll.a'
objformat="win32"
enable dos_paths
- add_cppflags -U__STRICT_ANSI__
;;
*-dos|freedos|opendos)
network_extralibs="-lsocket"
add_cppflags -U__STRICT_ANSI__
;;
linux)
- add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600
enable dv1394
;;
irix*)
enable dos_paths
;;
gnu/kfreebsd)
- add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE
+ add_cppflags -D_BSD_SOURCE
;;
gnu)
- add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600
;;
qnx)
add_cppflags -D_QNX_SOURCE
;;
minix)
;;
+ plan9)
+ add_cppflags -D_C99_SNPRINTF_EXTENSION \
+ -D_REENTRANT_SOURCE \
+ -D_RESEARCH_SOURCE \
+ -DFD_SETSIZE=96 \
+ -DHAVE_SOCK_OPTS
+ add_compat strtod.o strtod=avpriv_strtod
+ network_extralibs='-lbsd'
+ exeobjs=compat/plan9/main.o
+ disable avserver
+ ln_s='ln -s -f'
+ cp_f='cp'
+ ;;
none)
;;
*)
if check_cpp_condition features.h "defined __UCLIBC__"; then
libc_type=uclibc
+ add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600
elif check_cpp_condition features.h "defined __GLIBC__"; then
libc_type=glibc
+ add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600
elif check_header _mingw.h; then
libc_type=mingw
check_cpp_condition _mingw.h \
die "ERROR: MinGW runtime version must be >= 3.15."
elif check_cpp_condition newlib.h "defined _NEWLIB_VERSION"; then
libc_type=newlib
+ add_cppflags -U__STRICT_ANSI__
elif check_func_headers stdlib.h _get_doserrno; then
libc_type=msvcrt
add_compat strtod.o strtod=avpriv_strtod
add_cflags -pds=48 # incompatible redefinition of macro
fi
+if enabled_all ccc glibc; then
+ add_ldflags -Wl,-z,now # calls to libots crash without this
+fi
+
esc(){
echo "$*" | sed 's/%/%25/g;s/:/%3a/g'
}
check_inline_asm loongson '"dmult.g $1, $2, $3"'
+elif enabled parisc; then
+
+ if enabled gcc; then
+ case $($cc -dumpversion) in
+ 4.[3-8].*) check_cflags -fno-optimize-sibling-calls ;;
+ esac
+ fi
+
elif enabled ppc; then
enable local_aligned_8 local_aligned_16
elif enabled sparc; then
- enabled vis &&
- check_inline_asm vis '"pdist %f0, %f0, %f0"' -mcpu=ultrasparc &&
- add_cflags -mcpu=ultrasparc -mtune=ultrasparc
+ enabled vis && check_inline_asm vis '"pdist %f0, %f0, %f0"'
elif enabled x86; then
elf*) enabled debug && append YASMFLAGS $yasm_debug ;;
esac
- check_yasm "pextrd [eax], xmm0, 1" && enable yasm ||
+ check_yasm "vextractf128 xmm0, ymm0, 0" && enable yasm ||
die "yasm not found, use --disable-yasm for a crippled build"
- check_yasm "vextractf128 xmm0, ymm0, 0" || disable avx_external
check_yasm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4_external
check_yasm "CPU amdnop" && enable cpunop
fi
check_struct "sys/types.h sys/socket.h" "struct sockaddr" sa_len
check_type netinet/sctp.h "struct sctp_event_subscribe"
check_func getaddrinfo $network_extralibs
+ check_func getservbyport $network_extralibs
# Prefer arpa/inet.h over winsock2
if check_header arpa/inet.h ; then
check_func closesocket
check_lib math.h sin -lm && LIBM="-lm"
enabled vaapi && require vaapi va/va.h vaInitialize -lva
-check_mathfunc cbrtf
-check_mathfunc exp2
-check_mathfunc exp2f
-check_mathfunc isinf
-check_mathfunc isnan
-check_mathfunc llrint
-check_mathfunc llrintf
-check_mathfunc log2
-check_mathfunc log2f
-check_mathfunc lrint
-check_mathfunc lrintf
-check_mathfunc rint
-check_mathfunc round
-check_mathfunc roundf
-check_mathfunc trunc
-check_mathfunc truncf
+atan2f_args=2
+ldexpf_args=2
+powf_args=2
+
+for func in $MATH_FUNCS; do
+ eval check_mathfunc $func \${${func}_args:-1}
+done
# these are off by default, so fail if requested and not available
enabled avisynth && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32
enabled libvpx && {
enabled libvpx_decoder && { check_lib2 "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_dec_init_ver -lvpx ||
die "ERROR: libvpx decoder version must be >=0.9.1"; }
- enabled libvpx_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_enc_init_ver -lvpx ||
- die "ERROR: libvpx encoder version must be >=0.9.1"; } }
+ enabled libvpx_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VPX_CQ" -lvpx ||
+ die "ERROR: libvpx encoder version must be >=0.9.6"; } }
enabled libx264 && require libx264 x264.h x264_encoder_encode -lx264 &&
{ check_cpp_condition x264.h "X264_BUILD >= 118" ||
die "ERROR: libx264 version must be >= 0.118."; }
enabled_any sndio_indev sndio_outdev && check_lib2 sndio.h sio_open -lsndio
enabled libcdio &&
- check_lib2 "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open "-lcdio_paranoia -lcdio_cdda -lcdio"
+ check_lib2 "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio
enabled x11grab &&
require X11 X11/Xlib.h XOpenDisplay -lX11 &&
fi
elif enabled ccc; then
# disable some annoying warnings
- add_cflags -msg_disable cvtu32to64
- add_cflags -msg_disable embedcomment
- add_cflags -msg_disable needconstext
- add_cflags -msg_disable nomainieee
- add_cflags -msg_disable ptrmismatch1
- add_cflags -msg_disable unreachcode
+ add_cflags -msg_disable bitnotint
+ add_cflags -msg_disable mixfuncvoid
+ add_cflags -msg_disable nonstandcast
+ add_cflags -msg_disable unsupieee
elif enabled gcc; then
check_optflags -fno-tree-vectorize
check_cflags -Werror=implicit-function-declaration
elif enabled clang; then
check_cflags -mllvm -stack-alignment=16
check_cflags -Qunused-arguments
+ check_cflags -Werror=implicit-function-declaration
+ check_cflags -Werror=missing-prototypes
elif enabled armcc; then
# 2523: use of inline assembler is deprecated
add_cflags -W${armcc_opt},--diag_suppress=2523
enabled x86_32 && disable aligned_stack
fi
+case $target_os in
+ osf1)
+ enabled ccc && add_ldflags '-Wl,-expect_unresolved,*'
+ ;;
+ plan9)
+ add_cppflags -Dmain=plan9_main
+ ;;
+esac
+
enabled_any $THREADS_LIST && enable threads
enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; }
AS_C=$AS_C
AS_O=$AS_O
CC_C=$CC_C
+CC_E=$CC_E
CC_O=$CC_O
LD_O=$LD_O
LD_LIB=$LD_LIB
LIB_INSTALL_EXTRA_CMD=$LIB_INSTALL_EXTRA_CMD
EXTRALIBS=$extralibs
COMPAT_OBJS=$compat_objs
+EXEOBJS=$exeobjs
INSTALL=install
LIBTARGET=${LIBTARGET}
SLIBNAME=${SLIBNAME}
EOF
get_version(){
- lcname=$1
+ lcname=lib${1}
name=$(toupper $lcname)
file=$source_path/$lcname/version.h
eval $(awk "/#define ${name}_VERSION_M/ { print \$2 \"=\" \$3 }" "$file")
eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> config.mak
}
-get_version libavcodec
-get_version libavdevice
-get_version libavfilter
-get_version libavformat
-get_version libavresample
-get_version libavutil
-get_version libswscale
+map 'get_version $v' $LIBRARY_LIST
cat > $TMPH <<EOF
/* Automatically generated by configure - do not modify! */
pkgconfig_generate libavcodec "Libav codec library" "$LIBAVCODEC_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION"
pkgconfig_generate libavformat "Libav container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec = $LIBAVCODEC_VERSION"
pkgconfig_generate libavdevice "Libav device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "libavformat = $LIBAVFORMAT_VERSION"
-pkgconfig_generate libavfilter "Libav video filtering library" "$LIBAVFILTER_VERSION" "$extralibs"
-pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$extralibs"
+pkgconfig_generate libavfilter "Libav video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION"
+pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION"
pkgconfig_generate libswscale "Libav image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM" "libavutil = $LIBAVUTIL_VERSION"