Age | Commit message (Collapse) | Author |
|
If WindowsTargetPlatformVersion is not set, the Visual Studio 15 (2017)
toolchain assumes that Windows 8.1 is being targeted. Since ARM64
support is only present and unlocked in Windows SDKs >= Windows 10 1809,
set that SDK as required in the vcxproj files.
Note that this will not be an issue in Visual Studio 16 or greater,
hence the -eq major version check.
https://developercommunity.visualstudio.com/content/problem/128836/windowstargetplatformversion-to-use-the-latest-ava.html
Bug: chromium:893460
Change-Id: Ib069501ad384d91349b1f635722dedd31a4edd97
|
|
Change-Id: Iacd1ad5673c71d350cad235e504da0e066dfc4a0
|
|
Change-Id: I86682ef1aac1991e1ef6965e7aa298f6619bee13
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Change-Id: I0a01e1a7c04bbc026a1db0ba90d516548a1eaaed
|
|
Change-Id: I50b32f37f77224ebf0470545152c83ae2ed3cfa3
|
|
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
|
|
Moves the check into a function, check_gcc_avx512_compiles,
that behaves somewhat similarly to check_gcc_machine_options.
Change-Id: I2bef3ddd98e636eef12d9d5e548c43282fac7826
|
|
Check GCC specific AVX512 flags only when GCC is enabled.
Change-Id: I15dc2a0dbf8bce37f4364fedfd34a0a34882104b
|
|
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
|
|
+ bump ios minimum to 7.0; 6.0 does not have full c++11 support
Change-Id: If838b036e7327fda514cd2e8156eeda122cf6c73
|
|
There is no convenient way to have both gnu and bsd
sed do in-place processing.
Change-Id: I95f2a378d5c1bd95debb446317cc18ad79835e49
|
|
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
|
|
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
|
|
check_lib can be a stub that always returns true - make sure to
still use check_headers as before 38dc27cc6.
Change-Id: I5d471de56b16c015a0b686fa6c6caefa35bb89b4
|
|
|
|
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
|
|
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
|
|
Clears a warning when generating VS project files with older versions of
bash:
declare: -n: invalid option
Change-Id: Id0c0bc17dc5a1599f7d2d73e3cc9259a45540f3f
|
|
|
|
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
|
|
This allows skipping elf specific features from the output.
Change-Id: I739299ba41286ca10415e056b4ffd561be5e0350
|
|
The relevant code that this conversion handled was removed in
c26a9ecaa21f4.
Change-Id: Iee40f95134e609c291c7c4e06bc50dcb895bc5e3
|
|
|
|
Like the arm-based target, set realtime-only on by default.
BUG=webm:873
Change-Id: I2e04cfc43390953435e985716a25f32b8d4fadda
|
|
Add darwin17 target
Change-Id: I349a2f6a0396c59269f567a03ae813e3e59ccefa
|
|
|
|
|
|
Allows them to pass the license check in chromium.
BUG=chromium:98319
Change-Id: Iefc1706152a549d8c4ae774c917596bf1c9492d8
|
|
Allows it to pass the license check in chromium.
BUG=chromium:98319
Change-Id: I5ba9c8c81ab9eb4168df09db9d2eab846e99e981
|
|
Allows them to pass the license check in chromium.
BUG=chromium:98319
Change-Id: Ib37bf45bdac8cf1edc62037dea17b734a5e37fa7
|
|
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
|
|
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
|
|
The added AVX-512 support requires the subset of AVX-512 added in Skylake-X.
Change-Id: I39666b00d10bf96d06c709823663eb09b89265b7
|
|
enable loongson mmi optimization: ../configure --enable-mmi
Change-Id: I7792c3adeac1d5b573917d7857bba6c1cc05fea5
|
|
these are rewritten to 12; 15 causes the open to fail under vs2017
Change-Id: I9c3fd38b632180fa10f1713d4a5d9d15aefd8569
|
|
BUG=webm:1428
Change-Id: Iba98aef1159724d106cf39b94d7b69843d76cd48
|
|
The flag `-mvsx` implies `-maltivec`.
Change-Id: I7544553eba131a533467b387f8bf329d57f5af5c
|
|
Change-Id: Ie640dff50a5db935bb57c5a2570b423ce8946f2c
|
|
match ppc* in rtcd to ensure vsx is included
Change-Id: I331a5d35e7160eeb69ebd14b98ba03ec5be6c600
|
|
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>
|
|
BUG=webm:1367
Change-Id: I3000b6d9f93ec49ca86d08151348d33d86bf0034
|
|
This should have been taken into account at 64347a10
Change-Id: Ie8e3ad7cbaab3e5799e04bd50f2639390b0a2428
|
|
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
|
|
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
|
|
commands are echo'd when V=1; libs.mk depends on this variable as well
Change-Id: I88f91b9260f16686cfccdf6bd3f29d246521b62e
|