incompatible_fork_abi
'
+MATH_FUNCS="
+ cbrtf
+ exp2
+ exp2f
+ isinf
+ isnan
+ llrint
+ llrintf
+ log2
+ log2f
+ lrint
+ lrintf
+ rint
+ round
+ roundf
+ 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_types_h
attribute_may_alias
attribute_packed
- cbrtf
clock_gettime
closesocket
cmov
dxva_h
ebp_available
ebx_available
- exp2
- exp2f
fast_64bit
fast_clz
fast_cmov
inet_aton
io_h
isatty
- isinf
- isnan
jack_port_get_latency_range
kbhit
ldbrx
libdc1394_1
libdc1394_2
- llrint
- llrintf
local_aligned_16
local_aligned_8
localtime_r
- log2
- log2f
loongson
- lrint
- lrintf
lzo1x_999_compress
machine_ioctl_bt848_h
machine_ioctl_meteor_h
posix_memalign
pthread_cancel
rdtsc
- rint
- round
- roundf
sched_getaffinity
sdl
sdl_video_size
termios_h
texi2html
threads
- trunc
- truncf
unistd_h
usleep
vfp_args
txtpages_deps="makeinfo"
doc_deps_any="manpages htmlpages podpages txtpages"
-# tests
-colormatrix1_test_deps="colormatrix_filter"
-colormatrix2_test_deps="colormatrix_filter"
-mpg_test_deps="mpeg1system_muxer mpegps_demuxer"
-png_test_deps="zlib"
-pp_test_deps="mp_filter"
-pp2_test_deps="mp_filter"
-pp3_test_deps="mp_filter"
-pp4_test_deps="mp_filter"
-pp5_test_deps="mp_filter"
-pp6_test_deps="mp_filter"
-seek_flashsv_flv_test_deps="zlib"
-seek_lavf_mxf_d10_test_deps="mxf_d10_test"
-
-test_deps(){
- suf1=$1
- suf2=$2
- shift 2
- for v; do
- dep=${v%=*}
- tests=${v#*=}
- for name in ${tests}; do
- append ${name}_test_deps ${dep}$suf1 ${dep}$suf2
- done
- done
-}
-
-test_deps _muxer _demuxer \
- aiff \
- pcm_alaw=alaw \
- asf \
- au \
- avi \
- dv=dv_fmt \
- ffm \
- flv=flv_fmt \
- gxf \
- matroska=mkv \
- mmf \
- mov="mov ismv" \
- pcm_mulaw=mulaw \
- mxf="mxf mxf_d10" \
- nut \
- ogg="ogg ogg_vp3" \
- rawvideo=pixfmt \
- rm \
- swf \
- mpegts=ts \
- voc \
- wav \
- yuv4mpegpipe=yuv4mpeg \
-
# default parameters
logfile="config.log"
$PROTOCOL_LIST
"
-find_tests(){
- map "echo ${2}\${v}_test" $(ls "$source_path"/tests/ref/$1 | grep -v '[^-a-z0-9_]')
-}
-
-LAVF_FATE_TESTS=$(find_tests lavf-fate)
-LAVF_TESTS=$(find_tests lavf)
-LAVFI_TESTS=$(find_tests lavfi)
-SEEK_TESTS=$(find_tests seek seek_)
-
-ALL_TESTS="$LAVF_FATE_TESTS $LAVF_TESTS $LAVFI_TESTS $SEEK_TESTS"
-
for n in $COMPONENT_LIST; do
v=$(toupper ${n%s})_LIST
eval enable \$$v
eval ${n}_if_any="\$$v"
done
-enable $ARCH_EXT_LIST $ALL_TESTS
+enable $ARCH_EXT_LIST
die_unknown(){
echo "Unknown option \"$1\"."
die "Must specify target arch and OS when cross-compiling"
fi
-set_default arch target_os postproc_version
+set_default postproc_version
# Check if we should build alternative libpostproc version instead of current
if test "$postproc_version" = $ALT_PP_VER; then
ld_default="c99wrap link"
nm_default="dumpbin -symbols"
ar_default="lib"
+ target_os_default="win32"
;;
?*)
die "Unknown toolchain $toolchain"
;;
esac
-set_default cc cxx pkg_config strip sysinclude yasmexe
+set_default arch cc cxx pkg_config strip sysinclude target_os yasmexe
enabled cross_compile || host_cc_default=$cc
set_default host_cc
exesuf() {
case $1 in
- mingw32*|cygwin*|*-dos|freedos|opendos|os/2*|symbian) echo .exe ;;
+ mingw32*|win32|win64|cygwin*|*-dos|freedos|opendos|os/2*|symbian) echo .exe ;;
esac
}
-Wall) echo -W4 -wd4244 -wd4127 -wd4018 -wd4389 \
-wd4146 -wd4057 -wd4204 -wd4706 -wd4305 \
-wd4152 -wd4324 -we4013 -wd4100 -wd4214 \
- -wd4996 -wd4554 ;;
+ -wd4554 \
+ -wd4996 -wd4273 ;;
-std=c99) ;;
-fno-math-errno) ;;
-fno-common) ;;
enable dos_paths
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
+ ;;
cygwin*)
target_os=cygwin
shlibdir_default="$bindir_default"
disabled crystalhd || check_lib libcrystalhd/libcrystalhd_if.h DtsCrystalHDVersion -lcrystalhd || disable crystalhd
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
+for func in $MATH_FUNCS; do
+ check_mathfunc $func
+done
# these are off by default, so fail if requested and not available
enabled avisynth && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32
enabled libaacplus && require "libaacplus >= 2.0.0" aacplus.h aacplusEncOpen -laacplus
enabled libass && require_pkg_config libass ass/ass.h ass_library_init
enabled libbluray && require libbluray libbluray/bluray.h bd_open -lbluray
-enabled libcdio && require2 libcdio "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open "-lcdio_paranoia -lcdio_cdda -lcdio"
+enabled libcdio && require2 libcdio "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio
enabled libcelt && require libcelt celt/celt.h celt_decode -lcelt0 &&
{ check_lib celt/celt.h celt_decoder_create_custom -lcelt0 ||
die "ERROR: libcelt must be installed and version must be >= 0.11.0."; }
enabled_any sndio_indev sndio_outdev && check_lib2 sndio.h sio_open -lsndio
+
enabled x11grab &&
require X11 X11/Xlib.h XOpenDisplay -lX11 &&
require Xext X11/extensions/XShm.h XShmCreateImage -lXext &&
$CONFIG_EXTRA \
$HAVE_LIST \
$ALL_COMPONENTS \
- $ALL_TESTS \
if test $target_os = "haiku"; then
$CONFIG_EXTRA \
$ALL_COMPONENTS \
-cat >>config.mak <<EOF
-LAVF_FATE_TESTS=$(print_enabled -n _test $LAVF_FATE_TESTS)
-LAVF_TESTS=$(print_enabled -n _test $LAVF_TESTS)
-LAVFI_TESTS=$(print_enabled -n _test $LAVFI_TESTS)
-SEEK_TESTS=$(print_enabled -n _test $SEEK_TESTS)
-EOF
-
echo "#endif /* FFMPEG_CONFIG_H */" >> $TMPH
echo "endif # FFMPEG_CONFIG_MAK" >> config.mak