Age | Commit message (Collapse) | Author |
|
after:
979e27c97 configure: add darwin20 support
make the condition more specific by including the trailing -gcc (-*)
Change-Id: I78f481b6c5ad9137e6b6973198e8671e806ee82c
|
|
this release will have arm64 and x86_64 support. in the future it might
be useful to move to mac/iphone targets to help disambiguate
arm64-darwin-gcc and arm64-darwin20-gcc.
Change-Id: I1f8b145303204af316955822f5e8bab51c47f353
|
|
Number signs are handled differently in Makefile variable parsing as
compared to bash variable parsing. See this demo:
```
$ cat Makefile
A=foo#bar
B='foo#bar'
C="foo#bar"
D=foo\#bar
E='foo\#bar'
F="foo\#bar"
$(info $(A))
$(info $(B))
$(info $(C))
$(info $(D))
$(info $(E))
$(info $(F))
$ make
foo
'foo
"foo
foo#bar
'foo#bar'
"foo#bar"
make: *** No targets. Stop.
$ make -v
GNU Make 4.2.1
```
In other words, the `#` character is evaluated first when parsing
Makefiles, causing the rest of the line to become a comment. The effect of
this is that paths that contain embedded `#` symbols are not handled
properly in the vpx build system.
To test this change, clone vpx to a directory containing a `#` symbol and
attempt a build. With this change, it worked for me on Fedora 31, however
without the change the build failed.
Change-Id: Iaee6383e2435049b680484cc5cefdea9f2d9df46
|
|
1.Add compile check to probe the native ability of
toolchain to decide whether a feature can be enabled.
2.Add runtime check to probe cpu supported features.
MSA will be prefered if MSA and MMI are both supported.
3.You can configure and build as following commands:
./configure --cpu=loongson3a && make -j4
Change-Id: I057553216dbc79cfaba9c691d5f4cdab144e1123
|
|
Change-Id: I3912c79d0f0f7a65fc753ae29bb10cdcac76878a
|
|
always set asm_conversion_cmd as e.g., vpx_config.asm may still be
generated with make when using --enable-external-build
BUG=webm:1535
Change-Id: I120452d4e06580b67119aee8d0a710998ac87a7a
|
|
disabled external_build will return an incorrect result for a value not
explicitly set on the command line; use ! enabled instead.
fixes ios build
Change-Id: I48dda3a06731bc9809c2266880797e1779e4c01c
|
|
When configuring with --enable-external-build the .mk files
are not expected to work. This avoids some spurious warnings
when configuring for darwin targets on other platforms.
Fixed: webm:1535
Change-Id: Idac2b397db1b595ba7ea9231c4eb835b6013abdc
|
|
Fixed: 1633
Change-Id: I7dd2b4873aeb548c7f9ebf7025baf15a8e65c68f
|
|
The oldest supported Visual Studio version has been vs14
since 539dc7649f67ec10097b3c8eb2c0073f0d0571ce.
Clean up scripts and remove dead code.
Change-Id: I6db5b053a55d7656275d3d48e35d672c8ce22067
|
|
Use sed to extract tgt_os
Change-Id: I2f7cd290102a2b591c6ae6e40766918b55abff10
|
|
Fix autodetection on MacOS 10.14. Without this it defaults
to generic-gnu
Change-Id: I19cd4a9f2fb106dff16ab5e38821a5f374add59c
|
|
this prevents redefinition warnings if a toolchain sets one
BUG=b/117240165
Change-Id: Ib5d8c303cd05b4dbcc8d42c71ecfcba8f6d7b90c
|
|
The previous change to disable some vsx functions did not clear
the test failures. Disable vsx by default until it is investigated
and fixed.
BUG=webm:1522
Change-Id: I8ba2e7261ea3eee5022832da7e4a22bf8daa0996
|
|
vsx optimizations do not support 32 bit tran_low_t values.
BUG=webm:1563
Change-Id: I9e6348078f6e4855acfd381133eb840a435b7f81
|
|
with g++ this avoids:
command line option ‘-Wno-missing-prototypes’ is valid for C/ObjC but
not for C++
the flag is necessary with clang.
BUG=webm:1584
Change-Id: I250c76483302d913999e5f9e0d09ee6449b052df
|
|
|
|
Note that when using --disable-runtime-cpu-detect the developer
must keep in mind what devices the library will be run on.
BUG=webm:1623
Change-Id: I0359e226bb678f8e5145bb30cd1cefc7e30c6c79
|
|
arm builds require too many tweaks to keep up with changes
to the ndk. Recommend ndk-build instead.
Update documentation and drop --sdk-path references. If
--enable-external-build is used instead we do not need the compiler
path.
BUG=webm:1622
Change-Id: Id024345afd7af988321f8f97ebab19c425cb0493
|
|
The last usage was removed in 2011:
https://chromium.googlesource.com/webm/libvpx/+/cbf923b12cec2fe7ceea0b94091d64953e56b1fe%5E%21/#F33
Change-Id: I6e837e6f1e55eeea6bbeb3159ce6ddf861bcbd72
|
|
In the distant past this was used to distinguish between
armv5/6/7 targets when building the assembly files. The
project has not supported armv5/6 for a long time.
BUG=webm:1623
Change-Id: Ibec70e6624b651df0fa6f882ab6f201dc73e92e2
|
|
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
|