Bug 785638 - Use VP8 asm on ELF platforms by default. r=tterribe

This commit is contained in:
Jan Beich 2012-08-27 19:34:30 -04:00
parent 46273c945f
commit 5e71a26c0f
4 changed files with 23 additions and 66 deletions

View File

@ -5348,30 +5348,6 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
dnl See if we have assembly on this platform.
case "$OS_ARCH:$CPU_ARCH" in
Linux:x86)
VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
VPX_X86_ASM=1
;;
Linux:x86_64)
VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
VPX_X86_ASM=1
;;
SunOS:x86)
VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
VPX_X86_ASM=1
;;
SunOS:x86_64)
VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
VPX_X86_ASM=1
;;
OpenBSD:x86)
VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
VPX_X86_ASM=1
;;
OpenBSD:x86_64)
VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
VPX_X86_ASM=1
;;
Darwin:x86)
VPX_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC"
VPX_X86_ASM=1
@ -5407,6 +5383,19 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
VPX_ASM_SUFFIX="$ASM_SUFFIX"
VPX_ARM_ASM=1
fi
;;
*:x86)
if $CC -E -dM -</dev/null | grep -q __ELF__; then
VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
VPX_X86_ASM=1
fi
;;
*:x86_64)
if $CC -E -dM -</dev/null | grep -q __ELF__; then
VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
VPX_X86_ASM=1
fi
;;
esac
if test -n "$COMPILE_ENVIRONMENT" -a -n "$VPX_X86_ASM" -a -z "$VPX_AS"; then

View File

@ -363,12 +363,12 @@ cp $1/objdir/x86-win32-vs8/vpx_config.h vpx_config_x86-win32-vs8.h
# Should be same for all platforms...
cp $1/objdir/x86-win32-vs8/vpx_version.h vpx_version.h
# Config files for x86-linux-gcc, OpenBSD/i386 and Solaris x86
# Config files for x86-linux-gcc and other x86 elf platforms
cp $1/objdir/x86-linux-gcc/vpx_config.c vpx_config_x86-linux-gcc.c
cp $1/objdir/x86-linux-gcc/vpx_config.asm vpx_config_x86-linux-gcc.asm
cp $1/objdir/x86-linux-gcc/vpx_config.h vpx_config_x86-linux-gcc.h
# Config files for x86_64-linux-gcc, OpenBSD/amd64 and Solaris x86_64
# Config files for x86_64-linux-gcc and other x86_64 elf platforms
cp $1/objdir/x86_64-linux-gcc/vpx_config.c vpx_config_x86_64-linux-gcc.c
cp $1/objdir/x86_64-linux-gcc/vpx_config.asm vpx_config_x86_64-linux-gcc.asm
cp $1/objdir/x86_64-linux-gcc/vpx_config.h vpx_config_x86_64-linux-gcc.h

View File

@ -16,28 +16,12 @@
/* 32 bit MacOS. */
#include "vpx_config_x86-darwin9-gcc.h"
#elif defined(__linux__) && defined(__i386__)
/* 32 bit Linux. */
#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
/* 32 bit ELF platforms. */
#include "vpx_config_x86-linux-gcc.h"
#elif defined(__linux__) && defined(__x86_64__)
/* 64 bit Linux. */
#include "vpx_config_x86_64-linux-gcc.h"
#elif defined(__OpenBSD__) && defined(__i386__)
/* 32 bit OpenBSD. */
#include "vpx_config_x86-linux-gcc.h"
#elif defined(__OpenBSD__) && defined(__x86_64__)
/* 64 bit OpenBSD. */
#include "vpx_config_x86_64-linux-gcc.h"
#elif defined(__sun) && defined(__i386)
/* 32 bit Solaris. */
#include "vpx_config_x86-linux-gcc.h"
#elif defined(__sun) && defined(__x86_64)
/* 64 bit Solaris. */
#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
/* 64 bit ELF platforms. */
#include "vpx_config_x86_64-linux-gcc.h"
#else

View File

@ -15,30 +15,14 @@
/* 32 bit MacOS. */
#include "vpx_config_x86-darwin9-gcc.c"
#elif defined(__linux__) && defined(__i386__)
/* 32 bit Linux. */
#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
/* 32 bit ELF platforms. */
#include "vpx_config_x86-linux-gcc.c"
#elif defined(__linux__) && defined(__x86_64__)
/* 64 bit Linux. */
#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
/* 64 bit ELF platforms. */
#include "vpx_config_x86_64-linux-gcc.c"
#elif defined(__OpenBSD__) && defined(__i386)
/* 32 bit OpenBSD. */
#include "vpx_config_x86-linux-gcc.h"
#elif defined(__OpenBSD__) && defined(__x86_64)
/* 64 bit OpenBSD. */
#include "vpx_config_x86_64-linux-gcc.h"
#elif defined(__sun) && defined(__i386)
/* 32 bit Solaris. */
#include "vpx_config_x86-linux-gcc.h"
#elif defined(__sun) && defined(__x86_64)
/* 64 bit Solaris. */
#include "vpx_config_x86_64-linux-gcc.h"
#else
#error VPX_X86_ASM is defined, but assembly not supported on this platform!
#endif