Commit Graph

145 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
a79995c64b configure: clean up temp gcov (.gcno) files
Change-Id: I792e4ef7d81aa81beb28091a37a61bafb91b30f4
2014-03-25 15:25:16 -07:00
James Zern
c0d673775a configure: test -m(mmx|sse|sse2|sse3) flags
<=sse2 isn't strictly necessary on x86_64, but this is more consistent
with the rest of the flags and should be harmless

Change-Id: Ice0f1d1c4c7510ee90af2a62dbd3d6508db63487
2014-03-18 20:28:23 -07:00
James Zern
f1e8d58a5c configure: test for -mssse3
fixes compile with older versions of gcc

Change-Id: If529f3102dbc926be8d5fb91d4161fa686c11840
2014-03-18 17:30:56 -07:00
James Zern
c37ecba7f7 configure: factorize gcc machine option checks
check_gcc_machine_option() replaces individual -m* checks

Change-Id: I0f4a82020c0541b99209321907e80e071d1245e1
2014-03-18 17:25:31 -07:00
James Zern
2e3ed02c6d Merge "Avoid unknown warning warnings and fix -Werror on macosx." 2014-03-06 20:28:01 -08:00
James Zern
f45fe16684 configure.sh: quote local variables
fixes issue #711

specifying a multiword CC, e.g., CC='gcc -m32', would cause the failure
under dash

reported in
https://bugs.gentoo.org/show_bug.cgi?id=498136

patch by floppymaster at gmail dot com

Change-Id: I2ba246f765646161538622739961ec0f6c2d8c2d
2014-03-06 15:58:37 -08:00
Tom Finegan
4c6c4a6756 Avoid unknown warning warnings and fix -Werror on macosx.
clang on macosx does not support -Wunused-but-set-variable; adding the flag
causes additional warnings about the flag. As a more generalized fix, use
-Werror when checking compiler flag support in order to avoid using
unsupported warning flags.

Change-Id: I2529862e211f880d56491eac3b9fa90fff1aa5c3
2014-03-06 14:54:49 -08:00
Tom Finegan
8ed6277f53 configure: Use "cat -n" instead of "pr -n -t"
Configuration logging is passed through pr, but nothing configure
does actually requires pr. Use cat instead.

Change-Id: I451217882a329c2bfb8942ac86ac624a7feef670
2014-03-05 15:18:23 -08:00
James Zern
707648c3cc configure: remove x86inc debug message
+ break long line

Change-Id: I12c1524451a7ce697128801a3328de318cfeabdc
2014-02-27 15:07:38 -08:00
James Zern
8fcac74256 configure: use -Werror when testing CXX flags w/clang
Change-Id: Ia7d827d391941b4b507e568c99cc83531273433c
2014-02-05 17:31:48 -08:00
Johann
e813843b46 Disable avx/avx2 for Visual Studio 2010
VS2010 only supports avx. There is currently no avx code
in libvpx so don't create a special case for it.

Change-Id: Iacb10ea4762155412e04f23904b4324d01451fbd
2013-11-18 13:30:19 -08:00
Johann
5d0c33b8e5 Build iOS targets with XCode 5
Thanks to armando.dicianno for the patch

Fixes issue #603

Change-Id: I91ec030e5674b82c05115ed4dfbdb8ccbff22b66
2013-11-15 08:36:31 -08:00
Yaowu Xu
9b744922dd disable avx/avx2 for old versions of MSVC
Change-Id: Ifb40757c9c6b353482cfeef929af282ee0136c6c
2013-11-06 12:29:48 -08:00
Erik Niemeyer
e6863ef318 CL for adding AVX-AVX2 support in libvpx.
Change-Id: Idc03f3fca4bf2d0afd33631ea1d3caf8fc34ec29
2013-10-29 15:11:16 -07:00
Yunqing Wang
51af8a5103 Adjust icc compiler options
"-no-prec-div" option helps codec performance, so it was added back.
"-no-intel-extensions" was added to suppress link warning #10237.
option '-use-asm' is deprecated and removed.

Tested icc 32bit build and 64bit build.

Change-Id: I736ec2619857efd425ef76338dc52f8fbc0bcc7e
2013-10-11 20:17:59 -07:00
Jim Bankoski
437f63144a intel compiler build no longer supports -axSSE2 or -no-prec-div
Change-Id: Id129cf4021903c554ffdc57bf13df9fbb98f800e
2013-09-26 11:54:57 -07:00
James Zern
ccb6bdca75 configure: fix action expansion
enable|disable -> (enable|disable)_feature

Change-Id: I7494913c78ebe8bb532fa6545e0ae53a79ccd388
2013-08-21 19:00:08 -07:00
James Zern
42ab401fd3 configure: rename enable() to enable_feature()
+ disable() -> disable_feature() for balance

this avoids shadowing the bash builtin 'enable' allowing the scripts to
be linted with checkbashisms

Change-Id: Ia11cf86c92ec25bd14e69427b0ac0a9a61a5f7a5
2013-08-21 18:11:45 -07:00
Guillaume Martres
3526f1cd5e Get rid of bashisms in the main build scripts
The conversion was done with the help of the checkbashisms script
and https://wiki.ubuntu.com/DashAsBinSh .

Change-Id: Id64ecefb35c8d72302f343cd2ec442e7ef989d47
2013-08-13 18:48:35 -07:00
Jim Bankoski
a93b115cd6 reworked config for use_x86_inc
Support enabling it or disabling it.  Moved read out to configure.sh
so that its done once instead of in make and in config.

Change-Id: I73a9190cf31de9f03e8a577f478fa522f8c01c8b
2013-08-05 17:35:25 -07:00
James Zern
32bca36f51 Merge "configure: default configure log to config.log" 2013-07-22 12:55:29 -07:00
Morton Jonuschat
fe4a52077f Make libvpx compile on OSX 10.9 (Mavericks)
Change-Id: Ibf2555f1c0d00e91d416eb39201a5a91df7fab27
2013-07-19 21:22:18 +02:00
James Zern
e636af13e7 configure: default configure log to config.log
this is consistent with autoconf

Change-Id: I1860831693789259ee35d644775653d6a460cc77
2013-07-18 14:17:00 -07:00
John Koleszar
d0ed677a34 Merge branch 'master' into experimental
Change-Id: Ie648398b82f7311143709f55c0e30ba452f50eff
2013-06-11 16:29:28 -07:00
Martin Storsjo
ad484fc6be Add support for armv7-win32-vs11
The arm assembly files are named .s after conversion, to reuse
as much of the existing makefile infrastructure for conversion to
gas format as possible. Within the generated visual studio project,
only the converted assembly sources are available, which might not
be optimal for actually developing it, but is acceptable for
just building the library.

Multithreading is disabled since the traditional win32 threading
functions aren't available on WinRT/Windows Phone 8.

Building of vpx itself and the examples succeed, while building the
tests fail due to them using functions not available in the
windows store/windows phone API subsets - therefore the unit tests
are disabled.

This works for building in Visual Studio Express 2012 for Windows
Phone, while Visual Studio Express 2012 for Windows 8 (for
"Windows Store" apps) seems to reject the vcxproj files due to
not supporting "classic style native application or managed
projects". The built static library should be compatible with that
platform though.

Change-Id: Idcd7eca60bfaaaeb09392a9cd7a02e4a670e3b30
2013-05-22 02:08:25 +03:00
Martin Storsjo
bd91bebe48 configure: Add x86*-vs10/11 targets
Change-Id: I4be8ca12ccdce86d1409b7121cff94b4784ab31c
2013-05-21 09:57:02 +03:00
Martin Storsjo
132422d9ab Add an option for building for arm in thumb mode
Change-Id: I5a46645064c2fe1c13287cf06c3244820b4e699e
2013-05-13 12:49:40 +03:00
James Zern
3fa5b39d6f configure: use .cc as c++ extension
clang++ will warn causing flag check failures when using -Werror

Change-Id: Ib7157140a7af2cf5bc41f86ea9ff8d9527f30414
2013-05-03 14:36:56 -07:00
Johann
b4e390981c Merge "Add __inline__ to INLINE definition." 2013-05-03 09:38:56 -07:00
Johann
9ebc99fcac Add __inline__ to INLINE definition.
When using 'always_inline' 'inline' should be specified as well.

Thanks to Digit for identifying this:
https://chromiumcodereview.appspot.com/14820003/

Change-Id: If1647fac91b85ecabe6d3cd04290d5c08c5a11ea
2013-05-02 12:32:02 -07:00
Martin Storsjo
2ce4783982 configure: arm: Check __ARM_PCS_VFP if the float ABI hasn't been defined
The support for detecting hardfp toolchains in af9dd50e is a
step in the right direction, but that particular switch case
isn't executed at all if the toolchain variable is set.

This fixes cross building from x86 ubuntu to armhf ubuntu,
in configurations such as
"CROSS=arm-linux-gnueabihf- ./configure --target=armv7-linux-gcc".

Change-Id: I6f141361e40374fbab564f9196d90e598fe9a0f6
2013-05-01 23:10:29 +03:00
Johann
32a5c52856 Merge branch 'master' into experimental
Conflicts:
	vp9/common/vp9_findnearmv.c
	vp9/common/vp9_rtcd_defs.sh
	vp9/decoder/vp9_decodframe.c
	vp9/decoder/x86/vp9_dequantize_sse2.c
	vp9/encoder/vp9_rdopt.c
	vp9/vp9_common.mk

Resolve file name changes in favor of master. Resolve rdopt changes in
favor of experimental, preserving the newer experiments.

Change-Id: If51ed8f457470281c7b20a5c1a2f4ce2cf76c20f
2013-04-26 12:57:10 -07:00
Johann
53a4620271 Change default iOS dev path
This can be manually overridden with --libc=

Change-Id: I0b857c751d5dc5423f79785e934bc8a714758e75
2013-04-24 14:26:35 -07:00
John Koleszar
7f7d1357a2 Merge branch 'experimental' into master
VP9 preview bitstream 2, commit '868ecb55a1528ca3f19286e7d1551572bf89b642'

Conflicts:
	vp9/vp9_common.mk

Change-Id: I3f0f6e692c987ff24f98ceafbb86cb9cf64ad8d3
2013-04-16 06:49:46 -07:00