summaryrefslogtreecommitdiff
path: root/build
AgeCommit message (Collapse)AuthorFilesLines
2022-05-25loongarch: Remove redundant codeyuanhecai1-14/+1
Simplify architecture support code and remove redundant code to improve efficiency. Bug: webm:1755 Change-Id: I03bc251aca115b0379fe19907abd165e0876355b
2022-03-26ads2armasm_ms.pl: fix thumb::FixThumbInstructions callJames Zern1-1/+1
broken since: 642529248 ads2gas[_apple].pl: remove unused stanzas Change-Id: I1eac77e2fe23cc3f162251e9e0102a4909f7b997
2022-03-23ads2gas: maintain whitespaceJohann2-19/+20
Don't use tabs during conversion. Save and restore existing spacing. Change-Id: Ib8f443db542c091d36e9ab9836e3e3e292d711f7
2022-03-23ads2gas: fix .size measurementJohann1-1/+2
The distance between PROC and END is used to generate .size information for debugging. When the leading underscore was removed the pattern used to match the function name broke. Change-Id: I90bf67d95ecdc2d214606e663773f88d2a2d6b9c
2022-03-22ads2gas*.pl: strip trailing whitespace after transformsJames Zern2-0/+2
Change-Id: I0bea977b256e464231706c72cc14a5c8b6e90775
2022-03-13ads2gas_apple.pl: remove gcc-ismsJohann1-22/+4
The gcc assembler was incompatible for a long time. It is now based on clang and accepts more modern syntax, although not enough to remove the script entirely. Change-Id: I667d29dca005ea02a995c1025c45eb844081f64b
2022-03-13ads2gas[_apple].pl: remove unused stanzasJohann3-199/+41
Many of the features in ads2gas are no longer used. Remove all patterns which are no longer used in libvpx. Simplify between the two to minimize differences. Change-Id: Ia1151eb8b694cbe51845a1374a876cc7b798899c
2022-02-10support visual studio 2022 (vs17)Gregor Jasny2-3/+7
Change-Id: I8380283d09b0c90183f224399f953dcc527181c5
2022-01-28libvpx[loongarch]: Add loongarch support.Jin Bo3-0/+100
LSX and LASX are enabled by default if compiler supports them. Bug: webm:1754 Change-Id: Ic36b113bc4313c50e9d2bbab91199b3aa46d00dc
2021-11-17MacOS 12 is darwin21Johann1-4/+4
Remove -mmacosx-version-min. The library does not use any calls which are affected by the platform version. There is also no version 10.16 as it went from 10.15 to 11 and now to 12. At some point it may be good to clarify that the bare -darwin- target is for iOS and the -darwinN- targets are for macOS. Change-Id: I2fd5f7cae2637905acf3ab77bfddfbe367abbb68
2021-10-09Android.mk: import LICENSE indicators from AOSPJames Zern1-0/+3
https://android-review.googlesource.com/c/platform/external/libvpx/+/1588942 https://android.googlesource.com/platform/external/libvpx/+/099828b5c770ef8630741721be4b6c25a8394204 Change-Id: Ieca1c882f82bcbc7546944b43af7fab358f925d2
2021-03-17Msvc builds convert to windows path w/msys envAdam B. Goode1-1/+2
Bug: webm:1720 Change-Id: I56689ad408f8086c511e1711dfa9c8d404727b2e
2021-03-03override assembler with --as option on msvsJerome Jiang2-8/+6
Bug: webm:1709 Change-Id: I962a64c00042fe95cc1cd845b187f71ad6cfd1b7
2020-12-11configure: add darwin20 cross-compile supportGregor Jasny1-2/+2
Change-Id: I91c0e832a6e76172397e97413329fd43edc81c78
2020-09-29configure.sh: fix arm64-darwin-gcc matchJames Zern1-1/+1
after: 979e27c97 configure: add darwin20 support make the condition more specific by including the trailing -gcc (-*) Change-Id: I78f481b6c5ad9137e6b6973198e8671e806ee82c
2020-09-25configure: add darwin20 supportJames Zern1-3/+11
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
2020-08-19Escape number sign in MakefilesDaniel Sommermann1-6/+9
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
2020-08-19Refine MMI & MSA detection for mipsjinbo3-15/+44
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
2020-03-31auto-detect darwin19Johann1-2/+6
Change-Id: I3912c79d0f0f7a65fc753ae29bb10cdcac76878a
2019-12-06configure.sh,darwin: fix asm conv w/external buildJames Zern1-2/+2
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
2019-10-31configure.sh,darwin: fix external_build checkJames Zern1-1/+1
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
2019-10-30darwin: disable compiler checksJohann1-49/+51
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
2019-10-29support visual studio 2019 (vs16)Johann2-4/+8
Fixed: 1633 Change-Id: I7dd2b4873aeb548c7f9ebf7025baf15a8e65c68f
2019-10-29remove old visual studio remnantsJohann2-52/+16
The oldest supported Visual Studio version has been vs14 since 539dc7649f67ec10097b3c8eb2c0073f0d0571ce. Clean up scripts and remove dead code. Change-Id: I6db5b053a55d7656275d3d48e35d672c8ce22067
2019-10-23simplify darwin autodetectionJohann1-34/+2
Use sed to extract tgt_os Change-Id: I2f7cd290102a2b591c6ae6e40766918b55abff10
2019-10-23add darwin18 targetJohann1-0/+8
Fix autodetection on MacOS 10.14. Without this it defaults to generic-gnu Change-Id: I19cd4a9f2fb106dff16ab5e38821a5f374add59c
2019-09-30namespace ARCH_* definesJames Zern2-12/+12
this prevents redefinition warnings if a toolchain sets one BUG=b/117240165 Change-Id: Ib5d8c303cd05b4dbcc8d42c71ecfcba8f6d7b90c
2019-06-20vsx: disable on all buildsJohann1-3/+2
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
2019-06-10ppc: disable vsx optimizations with hbdJohann1-1/+4
vsx optimizations do not support 32 bit tran_low_t values. BUG=webm:1563 Change-Id: I9e6348078f6e4855acfd381133eb840a435b7f81
2019-06-04configure: test -Wno-* flags used with libyuvJames Zern1-0/+1
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
2019-05-08Merge "android: clarify RTCD usage"Johann Koenig1-7/+9
2019-05-06android: clarify RTCD usageJohann1-7/+9
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
2019-05-06android: do not attempt standalone buildsJohann2-70/+6
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
2019-04-23remove WIDE_REFERENCE definitionJohann1-1/+0
The last usage was removed in 2011: https://chromium.googlesource.com/webm/libvpx/+/cbf923b12cec2fe7ceea0b94091d64953e56b1fe%5E%21/#F33 Change-Id: I6e837e6f1e55eeea6bbeb3159ce6ddf861bcbd72
2019-04-23remove ARCHITECTURE definitionJohann2-5/+0
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
2019-01-23Fix Windows SDK and VS version checksJon Kunkee1-6/+6
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
2019-01-17ads2gas: remove DO1STROUNDINGJohann2-2/+0
Change-Id: Iacd1ad5673c71d350cad235e504da0e066dfc4a0
2018-12-05remove old visual studio supportJohann1-19/+3
Change-Id: I86682ef1aac1991e1ef6965e7aa298f6619bee13
2018-11-16Work around ARM64 Windows SDK arm_neon.h quirkJon Kunkee2-1/+33
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 Kunkee1-0/+15
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 Kunkee1-12/+23
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 flagJohann1-1/+3
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 Storsjo2-1/+2
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 Finegan1-1/+1
Change-Id: I0a01e1a7c04bbc026a1db0ba90d516548a1eaaed
2018-06-27Support Power8/Power9 tuningLuca Barbato1-0/+7
Change-Id: I50b32f37f77224ebf0470545152c83ae2ed3cfa3
2018-06-21third_party/libyuv: update to a37e7bfeJohann1-0/+5
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 Finegan1-11/+21
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 Finegan1-1/+3
Check GCC specific AVX512 flags only when GCC is enabled. Change-Id: I15dc2a0dbf8bce37f4364fedfd34a0a34882104b
2018-06-07Add avx512 compile test.Tom Finegan1-0/+9
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 Zern2-2/+2
+ bump ios minimum to 7.0; 6.0 does not have full c++11 support Change-Id: If838b036e7327fda514cd2e8156eeda122cf6c73