|
|
|
@ -325,7 +325,7 @@ Optimization options (experts only): |
|
|
|
|
--disable-vfp disable VFP optimizations |
|
|
|
|
--disable-neon disable NEON optimizations |
|
|
|
|
--disable-inline-asm disable use of inline assembly |
|
|
|
|
--disable-yasm disable use of nasm/yasm assembly |
|
|
|
|
--disable-x86asm disable use of standalone x86 assembly |
|
|
|
|
|
|
|
|
|
Developer options (useful when working on Libav itself): |
|
|
|
|
--disable-debug disable debugging symbols |
|
|
|
@ -829,12 +829,12 @@ check_insn(){ |
|
|
|
|
echo "$2" | check_as && enable ${1}_external || disable ${1}_external |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
check_yasm(){ |
|
|
|
|
log check_yasm "$@" |
|
|
|
|
check_x86asm(){ |
|
|
|
|
log check_x86asm "$@" |
|
|
|
|
echo "$1" > $TMPS |
|
|
|
|
log_file $TMPS |
|
|
|
|
shift 1 |
|
|
|
|
check_cmd $yasmexe $YASMFLAGS "$@" -o $TMPO $TMPS |
|
|
|
|
check_cmd $x86asmexe $X86ASMFLAGS "$@" -o $TMPO $TMPS |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ld_o(){ |
|
|
|
@ -1533,7 +1533,7 @@ BUILTIN_LIST=" |
|
|
|
|
HAVE_LIST_CMDLINE=" |
|
|
|
|
inline_asm |
|
|
|
|
symver |
|
|
|
|
yasm |
|
|
|
|
x86asm |
|
|
|
|
" |
|
|
|
|
|
|
|
|
|
HAVE_LIST_PUB=" |
|
|
|
@ -1912,7 +1912,7 @@ fma3_deps="avx" |
|
|
|
|
fma4_deps="avx" |
|
|
|
|
avx2_deps="avx" |
|
|
|
|
|
|
|
|
|
mmx_external_deps="yasm" |
|
|
|
|
mmx_external_deps="x86asm" |
|
|
|
|
mmx_inline_deps="inline_asm" |
|
|
|
|
mmx_suggest="mmx_external mmx_inline" |
|
|
|
|
|
|
|
|
@ -2568,7 +2568,7 @@ pkg_config_default=pkg-config |
|
|
|
|
ranlib="ranlib" |
|
|
|
|
strip="strip" |
|
|
|
|
version_script='--version-script' |
|
|
|
|
yasmexe="yasm" |
|
|
|
|
x86asmexe="yasm" |
|
|
|
|
|
|
|
|
|
# machine |
|
|
|
|
arch_default=$(uname -m) |
|
|
|
@ -2817,6 +2817,11 @@ for opt do |
|
|
|
|
warn "avserver has been removed, the ${opt} option is only"\ |
|
|
|
|
"provided for compatibility and will be removed in the future" |
|
|
|
|
;; |
|
|
|
|
--enable-yasm|--disable-yasm) |
|
|
|
|
warn "The ${opt} option is only provided for compatibility and will be\n"\ |
|
|
|
|
"removed in the future. Use --enable-x86asm / --disable-x86asm instead." |
|
|
|
|
test $opt = --enable-yasm && x86asm=yes || x86asm=no |
|
|
|
|
;; |
|
|
|
|
--enable-?*|--disable-?*) |
|
|
|
|
eval $(echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g') |
|
|
|
|
if is_in $option $COMPONENT_LIST; then |
|
|
|
@ -4467,30 +4472,30 @@ EOF |
|
|
|
|
enabled ssse3 && check_inline_asm ssse3_inline '"pabsw %xmm0, %xmm0"' |
|
|
|
|
enabled mmxext && check_inline_asm mmxext_inline '"pmaxub %mm0, %mm1"' |
|
|
|
|
|
|
|
|
|
if ! disabled_any asm mmx yasm; then |
|
|
|
|
if check_cmd $yasmexe --version; then |
|
|
|
|
enabled x86_64 && yasm_extra="-m amd64" |
|
|
|
|
yasm_debug="-g dwarf2" |
|
|
|
|
if ! disabled_any asm mmx x86asm; then |
|
|
|
|
if check_cmd $x86asmexe --version; then |
|
|
|
|
enabled x86_64 && x86asm_extra="-m amd64" |
|
|
|
|
x86asm_debug="-g dwarf2" |
|
|
|
|
elif check_cmd nasm -v; then |
|
|
|
|
yasmexe=nasm |
|
|
|
|
yasm_debug="-g -F dwarf" |
|
|
|
|
x86asmexe=nasm |
|
|
|
|
x86asm_debug="-g -F dwarf" |
|
|
|
|
enabled x86_64 && test "$objformat" = elf && objformat=elf64 |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
YASMFLAGS="-f $objformat $yasm_extra" |
|
|
|
|
enabled pic && append YASMFLAGS "-DPIC" |
|
|
|
|
test -n "$extern_prefix" && append YASMFLAGS "-DPREFIX" |
|
|
|
|
X86ASMFLAGS="-f $objformat $x86asm_extra" |
|
|
|
|
enabled pic && append X86ASMFLAGS "-DPIC" |
|
|
|
|
test -n "$extern_prefix" && append X86ASMFLAGS "-DPREFIX" |
|
|
|
|
case "$objformat" in |
|
|
|
|
elf*) enabled debug && append YASMFLAGS $yasm_debug ;; |
|
|
|
|
elf*) enabled debug && append X86ASMFLAGS $x86asm_debug ;; |
|
|
|
|
esac |
|
|
|
|
|
|
|
|
|
check_yasm "movbe ecx, [5]" && enable yasm || |
|
|
|
|
die "yasm/nasm not found or too old. Use --disable-yasm for a crippled build." |
|
|
|
|
check_yasm "vextracti128 xmm0, ymm0, 0" || disable avx2_external |
|
|
|
|
check_yasm "vpmacsdd xmm0, xmm1, xmm2, xmm3" || disable xop_external |
|
|
|
|
check_yasm "vfmadd132ps ymm0, ymm1, ymm2" || disable fma3_external |
|
|
|
|
check_yasm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4_external |
|
|
|
|
check_yasm "CPU amdnop" || disable cpunop |
|
|
|
|
check_x86asm "movbe ecx, [5]" && enable x86asm || |
|
|
|
|
die "yasm/nasm not found or too old. Use --disable-x86asm for a crippled build." |
|
|
|
|
check_x86asm "vextracti128 xmm0, ymm0, 0" || disable avx2_external |
|
|
|
|
check_x86asm "vpmacsdd xmm0, xmm1, xmm2, xmm3" || disable xop_external |
|
|
|
|
check_x86asm "vfmadd132ps ymm0, ymm1, ymm2" || disable fma3_external |
|
|
|
|
check_x86asm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4_external |
|
|
|
|
check_x86asm "CPU amdnop" || disable cpunop |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
case "$cpu" in |
|
|
|
@ -5209,7 +5214,7 @@ fi |
|
|
|
|
echo "big-endian ${bigendian-no}" |
|
|
|
|
echo "runtime cpu detection ${runtime_cpudetect-no}" |
|
|
|
|
if enabled x86; then |
|
|
|
|
echo "${yasmexe} ${yasm-no}" |
|
|
|
|
echo "standalone assembly ${x86asm-no}" |
|
|
|
|
echo "MMX enabled ${mmx-no}" |
|
|
|
|
echo "MMXEXT enabled ${mmxext-no}" |
|
|
|
|
echo "3DNow! enabled ${amd3dnow-no}" |
|
|
|
@ -5328,8 +5333,8 @@ DEPCC=$dep_cc |
|
|
|
|
DEPCCFLAGS=$DEPCCFLAGS \$(CPPFLAGS) |
|
|
|
|
DEPAS=$as |
|
|
|
|
DEPASFLAGS=$DEPASFLAGS \$(CPPFLAGS) |
|
|
|
|
YASM=$yasmexe |
|
|
|
|
DEPYASM=$yasmexe |
|
|
|
|
X86ASM=$x86asmexe |
|
|
|
|
DEPX86ASM=$x86asmexe |
|
|
|
|
AR=$ar |
|
|
|
|
ARFLAGS=$arflags |
|
|
|
|
AR_O=$ar_o |
|
|
|
@ -5356,7 +5361,7 @@ LDFLAGS=$LDFLAGS |
|
|
|
|
LDEXEFLAGS=$LDEXEFLAGS |
|
|
|
|
SHFLAGS=$(echo $($ldflags_filter $SHFLAGS)) |
|
|
|
|
STRIPFLAGS=$STRIPFLAGS |
|
|
|
|
YASMFLAGS=$YASMFLAGS |
|
|
|
|
X86ASMFLAGS=$X86ASMFLAGS |
|
|
|
|
LIBPREF=$LIBPREF |
|
|
|
|
LIBSUF=$LIBSUF |
|
|
|
|
LIBNAME=$LIBNAME |
|
|
|
@ -5432,7 +5437,7 @@ EOF |
|
|
|
|
test -n "$malloc_prefix" && |
|
|
|
|
echo "#define MALLOC_PREFIX $malloc_prefix" >>$TMPH |
|
|
|
|
|
|
|
|
|
if enabled yasm; then |
|
|
|
|
if enabled x86asm; then |
|
|
|
|
append config_files $TMPASM |
|
|
|
|
printf '' >$TMPASM |
|
|
|
|
fi |
|
|
|
@ -5451,7 +5456,7 @@ echo "#endif /* LIBAV_CONFIG_H */" >> $TMPH |
|
|
|
|
cp_if_changed $TMPH config.h |
|
|
|
|
touch avbuild/.config |
|
|
|
|
|
|
|
|
|
enabled yasm && cp_if_changed $TMPASM config.asm |
|
|
|
|
enabled x86asm && cp_if_changed $TMPASM config.asm |
|
|
|
|
|
|
|
|
|
cat > $TMPH <<EOF |
|
|
|
|
/* Generated by ffconf */ |
|
|
|
|