summaryrefslogtreecommitdiff
path: root/build
AgeCommit message (Collapse)Author
2018-11-16Work around ARM64 Windows SDK arm_neon.h quirkJon Kunkee
Since the Windows SDK has an ARM32-only arm_neon.h, files including it during ARM64 Windows builds need to be redirected to arm64_neon.h. Instead of editing many files to include ARM64-Windows-specific ifdef logic, this commit introduces an ARM64-Windows-specific version of arm_neon.h that performs the needed redirection and lands earlier in the header search path than the ARM32-only arm_neon.h. Change-Id: Idc63947a238ca1bd0c479d8f4ad68950487947c6
2018-11-15Add ARM64 support to VS project generationJon Kunkee
Windows builds can use msbuild.exe to build libvpx through a set of generated Visual Studio project files. This commit adds awareness of ARM64 Windows to this process by adding ARM64 configurations and setting msbuild properties to consume the right SDK version. Change-Id: I1bbc01cbe7be3d53c4e1af6cd96c6e4170aa4915
2018-11-15Add ARM64 Windows to configure scriptsJon Kunkee
In order to correctly configure for Windows 10 on ARM, this change adds a --target value arm64-win64-vs15 to ./configure and adds feature enable/disable logic for the new platform. This is merely sufficient for Chromium targeting ARM64 Windows. Bug: 893460 Change-Id: I46194286f63104bdf6ac57d719fdf1e5d5fa72c8
2018-08-29rtcd: fix --required flagJohann
Always parse --required options. Previously they were only parsed for x86_64. Make entries passed in additive if there are existing required flags. Mark 'neon' as required for armv8/aarch64. BUG=chromium:876548 Change-Id: I55c6aad4536a9d8423e223e5616f3aa26d6b2941
2018-07-28arm: Consistently use unified syntax for asmMartin Storsjo
The ".syntax unified" directives in a few source files aren't valid ADS assembly directives, and they break compilation for windows, since ads2armasm_ms.pl doesn't handle them. Explicity add them via ads2gas.pl and ads2gas_apple.pl instead, and tweak one instruction to be valid unified syntax. Change-Id: I37f1709f163d11474597161fe02eb433859cb9b8
2018-07-11shell tests: Drop incorrect uses of readonly.Tom Finegan
Change-Id: I0a01e1a7c04bbc026a1db0ba90d516548a1eaaed
2018-06-27Support Power8/Power9 tuningLuca Barbato
Change-Id: I50b32f37f77224ebf0470545152c83ae2ed3cfa3
2018-06-21third_party/libyuv: update to a37e7bfeJohann
Fix mingw builds for x86_32 by updating past: https://chromium.googlesource.com/libyuv/libyuv/+/8fa02df3c0591754958a50 Pick up upstream fixes for clang 5 builds with --disable-optimizations. Disable libyuv by default when building for msa. We have not been able to update libyuv because of build issues with mips. This can be revisited when we update the mips compiler used in Jenkins. BUG=webm:1509,libyuv:793,webm:1514,webm:1518 Change-Id: Id0b9947cb5e0aa74f2f74746524ab6ff2d48796f
2018-06-15Clean up avx512 compiler support test.Tom Finegan
Moves the check into a function, check_gcc_avx512_compiles, that behaves somewhat similarly to check_gcc_machine_options. Change-Id: I2bef3ddd98e636eef12d9d5e548c43282fac7826
2018-06-13Fix avx512 related MSVC build failure.Tom Finegan
Check GCC specific AVX512 flags only when GCC is enabled. Change-Id: I15dc2a0dbf8bce37f4364fedfd34a0a34882104b
2018-06-07Add avx512 compile test.Tom Finegan
Some compiler releases allow the -mavx512f arg without actually implementing support. Test for this situation, and disable avx512 when it is detected by configure. BUG=webm:1536 Change-Id: I63952153bb4b24aa9f25267ed47a0fe845d61f8b
2018-05-19configure,ios: add missing c++11 checksJames Zern
+ bump ios minimum to 7.0; 6.0 does not have full c++11 support Change-Id: If838b036e7327fda514cd2e8156eeda122cf6c73
2018-05-18iosbuild.sh: portable sed usageJohann
There is no convenient way to have both gnu and bsd sed do in-place processing. Change-Id: I95f2a378d5c1bd95debb446317cc18ad79835e49
2018-05-11Remove ppc64 (big endian) from configureLuc Trudeau
Remove big endian PowerPC 64 from configure, as this build is problematic and not supported. PowerPC 64 will be limited to little endian (ppc64le). BUG=webm:1525 BUG=webm:1508 Change-Id: Id6a86d5913192549e03ac8f77879ba7526b752c8
2018-05-04configure: Disable pthread_h if linking failedMartin Storsjo
When doing both check_header and check_lib, the check_header call will already enable pthread_h if the header was found. This was overlooked when the pthread linking check was amended into a header check and a separate linking check in 9b7d4cce635e. This brings back the same result as the original check in 38dc27cc6. Change-Id: I0efb38f5780f7c79e2eb2b14290d6094096ea222
2018-04-19configure: Use both check_header and check_lib for pthreadsMartin Storsjo
check_lib can be a stub that always returns true - make sure to still use check_headers as before 38dc27cc6. Change-Id: I5d471de56b16c015a0b686fa6c6caefa35bb89b4
2018-04-18Merge "configure: Test linking pthreads before using it"Martin Storsjö
2018-04-14configure: Test linking pthreads before using itMartin Storsjo
This avoids enabling pthreads if only pthreads-w32 is available. pthreads-w32 provides pthread.h but has a link library with a different name (libpthreadGC2.a). Generally, always using win32 threads when on windows would be sensible. However, libstdc++ can be configured to use pthreads (winpthreads), and in these cases, standard C++ headers can pollute the namespace with pthreads declarations, which break the win32 threads headers that declare similar symbols - leading us to prefer pthreads on windows whenever available (see d167a1ae and bug 1132). Change-Id: Icd668ccdaf3aeabb7fa4e713e040ef3d67546f00
2018-04-04ios configure: quiet shell warningJohann
Generating file lists on a non-mac with: --target=x86-iphonsimulator-gcc --enable-external-build the lack of xcrun would cause a warning to print: libvpx/build/make/configure.sh: line 1397: [: : integer expression expected Change-Id: I4623b6c5b65296bc71986cd042823f4be9427b42
2018-03-26msvs build: only fix_file_list when it is brokenJohann
Clears a warning when generating VS project files with older versions of bash: declare: -n: invalid option Change-Id: Id0c0bc17dc5a1599f7d2d73e3cc9259a45540f3f
2018-03-23Merge "thumb: Remove a brittle, ugly and unused arm->thumb conversion"Martin Storsjö
2018-03-23configure: Add an armv7-win32-gcc targetMartin Storsjo
This builds for windows on arm, with llvm-mingw. The target triplet is named -gcc since that's how similar existing targets are named, even though it technically runs clang (via frontends named "$CROSS-gcc"). Assemble using $CC -c since there's no standalone assembler available (except perhaps llvm-mc). Change-Id: I2c9a319730afef73f811bad79f488dcdc244ab0d
2018-03-23ads2gas: Add a -noelf optionMartin Storsjo
This allows skipping elf specific features from the output. Change-Id: I739299ba41286ca10415e056b4ffd561be5e0350
2018-03-23thumb: Remove a brittle, ugly and unused arm->thumb conversionMartin Storsjo
The relevant code that this conversion handled was removed in c26a9ecaa21f4. Change-Id: Iee40f95134e609c291c7c4e06bc50dcb895bc5e3
2018-03-20Merge "x86 android: default on realtime-only"Johann Koenig
2018-03-19build: remove stale .git filesJohann
These were used for an older style of Visual Studio configurations. Change-Id: I51f07b30ad51c4da0c5caf1ede36cdb69b2d2b19
2018-03-12x86 android: default on realtime-onlyJohann
Like the arm-based target, set realtime-only on by default. BUG=webm:873 Change-Id: I2e04cfc43390953435e985716a25f32b8d4fadda
2018-03-12autodetect macOS High SierraJohann
Add darwin17 target Change-Id: I349a2f6a0396c59269f567a03ae813e3e59ccefa
2017-12-14Merge "add copyright to rtcd files"Johann Koenig
2017-12-14Merge "mark generated version header"Johann Koenig
2017-12-14add copyright to rtcd filesJohann
Allows them to pass the license check in chromium. BUG=chromium:98319 Change-Id: Iefc1706152a549d8c4ae774c917596bf1c9492d8
2017-12-14mark generated version headerJohann
Allows it to pass the license check in chromium. BUG=chromium:98319 Change-Id: I5ba9c8c81ab9eb4168df09db9d2eab846e99e981
2017-12-14mark generated rtcd headersJohann
Allows them to pass the license check in chromium. BUG=chromium:98319 Change-Id: Ib37bf45bdac8cf1edc62037dea17b734a5e37fa7
2017-12-01nasm defaults to -OxJohann
No need to specify default behaviour. The original change introducing nasm: https://chromium.googlesource.com/webm/libvpx/+/7be093ea4d50c8d38438f88cb9fa817c1c9de8dd mentions requiring 2.0.9, which was the first release to default to this behaviour: http://www.nasm.us/doc/nasmdoc2.html "The -Ox mode is recommended for most uses, and is the default since NASM 2.09." Change-Id: Ia914c4deede5aa447277b5189bb4fcf7e54c338d
2017-12-01pass 'win64' instead of 'x64' to the assemblerJohann
nasm does not accept x64 yasm has accepted (and appears to prefer) win64 at least as far back as 1.0.0: http://yasm.tortall.net/releases/Release1.0.0.html Change-Id: Ied881b1df0570da256b1bd7e131e7817e47f768f
2017-11-03Support building AVX-512 and implement sadx4 for AVX-512Kyle Siefring
The added AVX-512 support requires the subset of AVX-512 added in Skylake-X. Change-Id: I39666b00d10bf96d06c709823663eb09b89265b7
2017-07-31loongson mmi configuration patch.YinShiyou
enable loongson mmi optimization: ../configure --enable-mmi Change-Id: I7792c3adeac1d5b573917d7857bba6c1cc05fea5
2017-06-30gen_msvs_sln: fix solution version for 2015/17James Zern
these are rewritten to 12; 15 causes the open to fail under vs2017 Change-Id: I9c3fd38b632180fa10f1713d4a5d9d15aefd8569
2017-05-23Add support for Visual Studio 2017Gregor Jasny
BUG=webm:1428 Change-Id: Iba98aef1159724d106cf39b94d7b69843d76cd48
2017-04-19configure: Workaround clang not enabling altivec on -mvsxLuca Barbato
The flag `-mvsx` implies `-maltivec`. Change-Id: I7544553eba131a533467b387f8bf329d57f5af5c
2017-04-19configure: Match power*64* as ppc64Luca Barbato
Change-Id: Ie640dff50a5db935bb57c5a2570b423ce8946f2c
2017-03-29rtcd,unit tests: fix ppc64 buildJames Zern
match ppc* in rtcd to ensure vsx is included Change-Id: I331a5d35e7160eeb69ebd14b98ba03ec5be6c600
2017-03-08Add support for POWER8/VSXRafael de Lucena Valle
Add ppc, ppc64 and ppc64le on all_platforms and ARCH_LIST Add VSX flags and check for -mvsx Define empty setup_rtcd_internal Add Altivec detection based on: http://freevec.org/function/altivec_runtime_detection_linux Detect VSX at runtime when enabled Change-Id: I304f4d8c5fee0ff19b6483cd2e9cc50d6ddec472 Signed-off-by: Rafael de Lucena Valle <rafaeldelucena@gmail.com>
2017-01-27Add macOS Sierra support in configureJerome Jiang
BUG=webm:1367 Change-Id: I3000b6d9f93ec49ca86d08151348d33d86bf0034
2017-01-17Cygwin x86_64 support.Moriyoshi Koizumi
This should have been taken into account at 64347a10 Change-Id: Ie8e3ad7cbaab3e5799e04bd50f2639390b0a2428
2016-11-24build/make/Android.mk: correct rtcd template var refsJames Zern
the expansion of findstring and rtcd_dep_template_CONFIG_ASM_ABIS needs to be deferred until the block is parsed as makefile syntax rather than eval time where rtcd_dep_template_CONFIG_ASM_ABIS will be unset. this ensures vpx_config.asm is properly created. Change-Id: I7c38c6c082da78397936467482789dd468adc316
2016-11-23Android.mk,armv7: fix idct_neon.asm.S creationJames Zern
force this to be created before any other .S files. this change additionally removes the file from the source list as it doesn't need to be compiled on its own. Change-Id: I6b4cd56ef6059d08f75f06fb749cddf76e0e165e
2016-11-23build/make/Android.mk: set/use qexec appropriatelyJames Zern
commands are echo'd when V=1; libs.mk depends on this variable as well Change-Id: I88f91b9260f16686cfccdf6bd3f29d246521b62e
2016-11-18build/make/Android.mk: use -fPIC w/ENABLE_SHARED=1James Zern
fixes reloc errors like: R_X86_64_PC32 vpx_dsp/x86/deblock_sse2.o: requires dynamic R_X86_64_PC32 reloc against 'vpx_rv' which may overflow at runtime Change-Id: I218fc0e7c8258197f890d395f335e5a4fe82dccb
2016-11-14build/make/Android.mk: fix cpufeatures importJames Zern
use 'android/cpufeatures' rather than 'cpufeatures'; this matches the documentation, fixes compilation with r12b/r13 and still works with older ndks. Change-Id: I2f34233c164e6d4d46428f8905d5502cea4288a2