Commit Graph

340 Commits

Author SHA1 Message Date
Johann
8645a53039 Allow specifying opt dependencies
If optimizations use more than one cpu feature, allow
specifying them so that '--disable-X' still works

https://code.google.com/p/webm/issues/detail?id=854

Change-Id: I3108ea37b397371a2be84dd5f2380b304db23f18
2014-09-11 13:43:48 -07:00
James Zern
c5795d8f05 gen_msvs_(vcx)proj.sh: set yasm format explicitly
use win32/win64 instead of $(PlatformName) (Win32/x64) for compatibility
with yasm 1.3.0. both format types were available since at least 0.8.0

BUG=843

Change-Id: I7917620490d0663b118ff08b96d1e5dbccba3703
2014-08-22 15:28:40 -07:00
Gordana Cmiljanovic
1c31e3ecc0 Add support for MIPS64.
Change-Id: I78e27bf942b4a825543e76be25546b6458bad8b6
2014-08-15 20:16:52 -07:00
Johann
d39610a452 Merge "Require armv6/media when building armv7" 2014-07-31 12:47:38 -07:00
James Zern
8753f9c5e3 configure.sh: avoid test -a/-o for compatibility
Change-Id: I0bea5cbccd6938fb967299c1d903b60dd2096ccc
2014-07-29 23:25:15 -07:00
KO Myung-Hun
07fa6adfe1 Remove 'local' from configure and configure.sh
'local' is not posix.

Change-Id: I46d7acfa574cbef686cee1b35022f5781485c3fa
2014-07-29 18:41:52 -07:00
Johann
24fbfa42f1 Require armv6/media when building armv7
When building with runtime cpu detect assume that armv7 targets can be
relied upon to have at least armv6 support. This may allow dead code
detectors to remove some _c functions.

Change-Id: Iaec4414011fcbbdf6f4ed0d90ef4a8fe8af540b5
2014-07-29 11:28:23 -07:00
KO Myung-Hun
2926d24478 Makefile: add -mstackrealign to CFLAGS on OS/2
This prevents SIGSEGV of test_libvpx.

Change-Id: I788743841469f4141bc8d29b1d1a8683cb00655c
2014-07-29 22:49:25 +09:00
James Zern
29943519a7 rtcd.pl: check for auto_help availability
'auto_help' was added to Getopt::Long in 2.33
this isn't strictly necessary as an unrecognized option (--help) will
issue a warning and then print the usage

Change-Id: Ia757553a4e19d22a8eb70768a8866ab1a76a0eec
2014-07-24 14:55:19 -07:00
KO Myung-Hun
11f2d4df95 Makefile: strip debugging informations only
--strip-unneeded causes SIGSEGV when accessing g_executable_path. So
test_libvpx crashes due to SIGSEGV in ::testing::InitGoogleTest().

OS/2, aout, strip v2.23.2

Change-Id: I2718d082447ee0d9ad0c021b9156c50e1ac085a6
2014-07-23 20:26:52 -07:00
Yunqing Wang
765485cab2 Add -DNDEBUG when config option debug is disabled
For gcc, when libvpx config option debug is disabled, added the
flag -DNDEBUG to disable the assertions in libvpx for some speedup.

Change-Id: Ifcb7b9e8ef5cbe5d07a24407b53b9a2923f596ee
2014-07-21 09:20:03 -07:00
Tom Finegan
4fae926494 iosbuild.sh: Add VPX_FRAMEWORK_TARGET preproc symbol
Mainly for determining the actual arch when running performance
tests.

Change-Id: Ia6a1c4fcf83e6db1bf94f3e869d146ec32df02f8
2014-07-17 16:47:31 -07:00
Jim Bankoski
943e43273b allow config options to limit max size of decode
This is a practical concern to allow us to fail in a decoder instance
if the size of a file is bigger than we can reasonably handle.

Change-Id: I0446b5502b1f8a48408107648ff2a8d187dca393
2014-07-17 07:07:48 -07:00
James Zern
8bf4c43def configure: defer x32 check until post toolchain setup
x32 would never be detected unless an explicit CC= was used
fixes:
...: -E: command not found

Change-Id: I465fd7b0979f782053bdda240ad68edbca5658e5
2014-06-27 21:00:13 -07:00
James Zern
9cd90d465a Merge "iosbuild.sh Add arm64 support to VPX.framework." 2014-06-27 16:20:38 -07:00
Tom Finegan
1fba21a2b1 Merge "configure.sh: Tweak default of use_x86inc for 64-bit, non-pic, and Darwin." 2014-06-27 16:17:35 -07:00
Tom Finegan
e87d68138d Add arm64-darwin-gcc target.
Change-Id: I251cca45db54d2947868e2b9c35cb54f86b10706
2014-06-26 11:30:52 -07:00
Tom Finegan
08d75a8ec9 configure.sh: Tweak default of use_x86inc for 64-bit, non-pic, and Darwin.
Mainly a readability fix.

Change-Id: Idfd4de9f25d9b9f9931d8e885d9d031473d5df6d
2014-06-25 21:15:33 -07:00
Tom Finegan
9a5e9e73a7 iosbuild.sh Add arm64 support to VPX.framework.
Change-Id: I30b1813b744c11c0ca4e84554539cc524e7ee034
2014-06-25 18:56:31 -07:00
Tom Finegan
19125ae121 Merge "iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework." 2014-06-18 16:57:36 -07:00
Tom Finegan
13681121e1 iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework.
- Rename build_targets to build_framework
- Add functions for creating the vpx_config shim and obtaining
  preproc symbols.

Change-Id: Ieca6938b9779077eefa26bf4cfee64286d1840b0
2014-06-18 12:51:30 -07:00
James Zern
74ec6fbeba Merge "gen_msvs_proj: fix in tree configure under cygwin" 2014-06-17 19:35:03 -07:00
Tom Finegan
66bacc025a iosbuild.sh: Add missing function comments.
Change-Id: Ib23a59475d566a7b7f44071614d730ceecfcfa60
2014-06-16 17:04:38 -07:00
James Zern
0a0492611c gen_msvs_proj: fix in tree configure under cygwin
strip trailing '/' from paths, this is later converted to '\' which
causes execution errors for obj_int_extract/yasm. vs10+ wasn't affected
by this issue, but make the same change for consistency.

gen_msvs_proj:
+ add missing '"' to obj_int_extract call
  unlike gen_msvs_vcproj, the block is duplicated
  missed in: 1e3d9b9 build/msvs: fix builds in source dirs with spaces

Change-Id: I76208e6cdc66dc5a0a7ffa8aa1edbefe31e4b130
2014-06-16 14:32:06 -07:00
Tom Finegan
10db0f9f31 iosbuild.sh: Move to build/make and tidy up a bit.
Change-Id: I625beea9db4b5f6db8f177c580a3adeac760a662
2014-06-13 11:03:56 -07:00
Tom Finegan
5d35bc686b Merge "Add target armv7s-darwin-gcc." 2014-06-11 12:13:11 -07:00
Tom Finegan
cd2088b44f Add target armv7s-darwin-gcc.
Really just armv7. This is a convenience target intended to make iOS
development with libvpx easier. Xcode projects with default settings
will fail to build when a framework lacks armv7s support when targetting
iOS7.

Change-Id: I7eb80d52eec25501febc0d2c3c0b4ed964b8ed5b
2014-06-10 18:52:58 -07:00
James Zern
3659fbd38c Merge "Makefile: skip .d inclusion for 'testdata' target" 2014-06-10 15:58:59 -07:00
Tom Finegan
664a422e3f Merge "Add x86_64-iphonesimulator-gcc target." 2014-06-10 10:30:56 -07:00
James Zern
4f83315d18 Makefile: skip .d inclusion for 'testdata' target
avoids some unnecessary work when pulling testdata in a freshly
configured tree

Change-Id: Ib43379b0e1549107f3f1b227afca49a899bcc3ab
2014-06-07 20:24:19 -07:00
James Zern
b9a569da41 Merge "gen_msvs_*proj.sh: speed up file generation" 2014-06-07 12:51:31 -07:00
James Zern
78d0968e09 gen_msvs_*proj.sh: speed up file generation
execute fix_path once on the source file list rather than once per entry

Change-Id: Ibc8226e391b3028c1b0bcfeab83c790387c9fe23
2014-06-07 12:13:43 -07:00
Tom Finegan
9b2597670f Add x86_64-iphonesimulator-gcc target.
macho64 x86_64 with:
- -miphoneos-version-min=5.0
- -isysroot from xcrun --sdk iphonesimulator

Change-Id: I1ba183e16d50c93d48f526e2dc43a7a6040741c5
2014-06-06 16:54:16 -07:00
James Zern
5f16b7b632 Merge changes I0e4d807f,Ia5ff575c,Ie4a1f313
* changes:
  gen_msvs_*proj.sh: strip SRC_PATH_BARE from obj names
  *.mk: pass SRC_PATH_BARE to all GEN_VCPROJ invocations
  build/msvs: fix builds in source dirs with spaces
2014-06-05 20:52:26 -07:00
Tom Finegan
4e6c555995 Add x86-iphonesimulator-gcc target.
macho32 i386 with:
- -miphoneos-version-min=5.0
- -isysroot from xcrun --sdk iphonesimulator

Change-Id: I6bb43eebab39a71cdb76264644eba14c22d736c2
2014-06-04 21:23:11 -07:00
James Zern
e0f416ce23 gen_msvs_*proj.sh: strip SRC_PATH_BARE from obj names
reduces the risk of exceeding msbuild command line length limits

Change-Id: I0e4d807f42c090a709a3dc365a02b929a3071688
2014-06-02 17:09:25 -07:00
James Zern
1e3d9b9e5d build/msvs: fix builds in source dirs with spaces
...when configured below the path containing spaces. configuring outside
the path containing spaces still won't work due to issues with the
makefiles, e.g.,
/path with spaces/git
/path with spaces/build1
/build2
configure/make in build1 will work, build2 will not

Change-Id: Ie4a1f313596d7457cadd67476ac1dbd3273ad46e
2014-06-02 16:02:43 -07:00
Tom Finegan
ca5d96315e Merge "Add make target for running example tests." 2014-05-20 15:48:04 -07:00
James Zern
e5b8bd020a configure.sh: only execute toupper when necessary
speeds up windows configure by ~40%

Change-Id: Ie3138b8fe39ff4c901c35c5d689c1ed12da34866
2014-05-19 11:36:12 -07:00
Tom Finegan
bc27d7e967 Add make target for running example tests.
Change-Id: I0d0dfda96b99cefb5ef5c16df4a024de5bf8007e
2014-05-15 21:35:01 -07:00
Johann
2f6f955a17 Remove intermediate step in vp8_dequantize_b
With the intrinsics it is no longer necessary to have a stub/helper
function.

Change-Id: I3695961c3c94f1bb750d3b7b29716e509ebba482
2014-05-14 12:24:18 -07:00
Johann
4dcc6d9707 Build armv7a-only code
Allow disabling the more generic NEON code.
Use filtered option to disable rtcd code.

Change-Id: Icb4500c1a2bac16eed3c5e3ec0c35e92e6bbbb9f
2014-05-14 12:23:33 -07:00
Johann
ce23931a3f Only build neon assembly for armv7 targets
Allow selectively building just the intrinsics for armv8

Change-Id: I2f29b2e4508b8b8e5649c2906b3159ad1d4ec477
2014-05-12 08:52:02 -07:00
Johann
09cbb6c1f7 Merge "Android NDK support for x86 and mips" 2014-05-07 08:54:13 -07:00
Martin Storsjo
65f13afd7d Fix building for arm with Visual Studio 2013
The microsoft build tools explicitly disallow building for arm in
the "desktop" target configuration; one has to target "Windows
Store" apps (aka WinRT/Metro) or Windows Phone. In Visual Studio
2012, one could just pick the v110_wp80 toolset which made the
vcxproj files buildable. In Visual Studio 2013, picking the v120_wp81
toolset isn't enough - one has to configure the vcxproj files
as an "AppContainerApplication". This has the implication that
you can't just build a plain .exe (such as the examples) - an .exe
project would need to have an AppxManifest file. Therefore we can
only build the library itself.

If loaded into Visual Studio for Windows (the Windows Store/Phone
version of Visual Studio, not the Desktop one), the obj_int_extract
project is omitted since it's treated as incompatible. Building
from the command line with msbuild works fine though.

The armv7-win32-vs12 target was added as part of a638bdf4 even
though actual use of it hadn't been tested.

Change-Id: Iee8088252cf790317aeb6b417d29058225f1f629
2014-05-05 13:26:37 +03:00
Johann
7d54e0f093 Android NDK support for x86 and mips
This does not do the full toolchain setup like the arm builds. It only
allows for ndk-builds. See the instructions in tests/android/README or
the webm jnin bindings project:
https://chromium.googlesource.com/webm/bindings/+/master/JNI/README.Android

Because this support is not quite polished, the build targets must be
forced. Please use
--force-target=x86-android-gcc --disable-ssse3 --disable-sse4_1 --disable-avx2
--force-target-mips-android-gcc

Change-Id: Ie2b6623f71ac816e3965c39bf97097e9d30b6e94
2014-05-02 07:26:46 -07:00
James Zern
5ba44e37a4 Makefile: add msvs_common.sh to DIST-SRCS
dist is broken in msvs currently due to a dependency on libs.mk which in
turn depends on the rest of the source tree, not just the examples

Change-Id: I3e313ceeae81eb29ef4bfb099d89756b43583eaa
2014-04-25 18:28:03 -07:00
James Zern
092a20f0a6 gen_msvs_*proj.sh: factorize some functions
-> msvs_common.sh

Change-Id: Id4878805183c0ec11e5d681e4bf820b598b085f9
2014-04-24 15:53:13 -07:00
James Zern
95735c3938 configure: quote some uses of source_path
doesn't completely fix configure/build in directories with spaces, but
it's good practice

Change-Id: Ic7a5b3a0aa9e297b34061af07e099de8b1f003cd
2014-04-23 16:58:36 -07:00
James Zern
792509d31f gen_msvs_vcxproj.sh: support cygwin style paths
Change-Id: I2f05a5d90b3ad6250d31f7b422af4c22527177d1
2014-04-23 12:47:32 -07:00