- 24 Jan, 2017 2 commits
-
-
Treehugger Robot authored
-
Michael Maltese authored
Bug: https://github.com/android-ndk/ndk/issues/222 : CMake toolchain file's `CMAKE_CXX_COMPILER_ID_RUN=true` breaks compiler feature detection Bug: https://github.com/android-ndk/ndk/issues/253 : cmake toolchain file does not set CMAKE_CXX_COMPILER_VERSION Bug: https://gitlab.kitware.com/cmake/cmake/issues/16587 : Adding "-march=" to flags breaks determining compiler ID when cross-compiling with Clang The current comment reads: > Clang can fail to compile if CMake doesn't correctly supply the target > and external toolchain, but to do so, CMake needs to already know > that the compiler is clang. Tell CMake that the compiler is really > clang, but don't use CMakeForceCompiler, since we still want > compile checks. We only want to skip the compiler ID detection > step. The issue arises in CMakeDetermineCompilerId.cmake, which passes along user-specified flags like `-march=armv5te` but not the specified compiler target. On Clang, this fails, since the validity of `-march` depends on the current target. I've filed a bug for CMake to fix this (allow determining the compiler ID without using user flags). In the meantime, I think a more robust solution than overriding CMAKE_CXX_COMPILER_ID_RUN is to run the compiler ID checks before passing along any flags. The CMakeDetermineCCompiler.cmake and CMakeDetermineCXXCompiler.cmake modules are not marked for internal-use-only, and this method takes a more proactive approach to the problem. Change-Id: I2c250ebc2999b3f251417a9e3730b5e093e446d1
-
- 23 Jan, 2017 1 commit
-
-
Treehugger Robot authored
* changes: Use the linker scripts for libc++ in cmake. Set more clang CMake compiler info.
-
- 20 Jan, 2017 1 commit
-
-
Dan Albert authored
We had libc++_shared specified incorrectly here (wasn't using libandroid_support). Just use the linker scripts that were created to avoid this problem. Test: ./validate.py Bug: None Change-Id: Ifcc87954d2b889c63c618c7f70f57a5d747b00f2
-
- 19 Jan, 2017 2 commits
-
-
Dan Albert authored
Necessary for projects performing checks against the compiler version. We don't need this for GCC because cmake will compute it, but we have to hack around that for clang. Test: No useful test to add since this number has to be updated manually anyway. Bug: https://github.com/android-ndk/ndk/issues/253 Change-Id: I314c01628fe038a3fcade379b6a6119dce094572
-
Dan Albert authored
* changes: Remove support for awk tests. Remove awk from the NDK! Replace gen-windows-host-path.awk with Python. Remove gen-cywgin-deps-converter.awk. Remove unused awk scripts. Replace extract-debuggable.awk with Python. Replace extract-minsdkversion.awk with Python. Replace extract-platform.awk with Python.
-
- 18 Jan, 2017 6 commits
-
-
Treehugger Robot authored
-
Dan Albert authored
We don't have any awk in the NDK any more. Test: ./validate.py Bug: None Change-Id: I44ea7e10b1c25ca4c7b0050d2d00e6b426ecd1d1
-
Dan Albert authored
Test: ./validate.py Bug: None Change-Id: I5528663072f30a6def6656bad5113a3253fb9213
-
Dan Albert authored
No more awk dependencies! Test: nose2 Bug: None Change-Id: I518f9542ca336d2e606c3088c9a4f53b65fb5418
-
Dan Albert authored
As far as I can tell we don't need this at all. For one, Cygwin users can invoke ndk-build.cmd (and in fact, at the moment that's their only choice out of the box) and in that situation HOST_OS is "windows" rather than "cygwin" and this code doesn't get run at all. If you manually create the ndk-build (shell) shortcut for cygwin, this isn't needed anyway since all the paths in dep files seem to be relative paths. At some point we should figure out if we need the cygwin support at all. As far as I can tell it's just a bunch of hacks that we don't need. Test: ./run_tests.py --abi armeabi-v7a # In cygwin Bug: None Change-Id: Iff080a0bfdf318f781d0a4ca6455b36c0dbaea06
-
Dan Albert authored
Test: ./checkbuild.py Bug: None Change-Id: I5805d9456ec91f601eeb7253ca731a90f9cae73e
-
- 17 Jan, 2017 4 commits
-
-
Dan Albert authored
Test: nose2 Bug: None Change-Id: I5eb5bdbab09734aa3597541ca958feb5490a1858
-
Dan Albert authored
Test: nose2 Bug: None Change-Id: I259d7adbd5ffe88b637a2ed6b6bf19506c7e8a73
-
Dan Albert authored
Test: nose2 && ./run_tests.py --filter project-properties Bug: None Change-Id: I4479a66881f21f97cec6a213d560f190029f5a2c
-
Dan Albert authored
This was only being cleaned up on a clean exit, meaning the directory had to be manually removed before the next run. Test: ./validate.py # Wait for tests to start ^C ./validate.py # Doesn't abort Bug: None Change-Id: I507c10045ff69657743aecd840cb6ddabf2cce1b
-
- 13 Jan, 2017 6 commits
-
-
Treehugger Robot authored
-
Dan Albert authored
We don't really care about stlport any more, and these tests make up about 1/3 of the entire validate.py running time (from ~28 minutes to ~18 minutes). There are still some stlport tests here to make sure it doesn't break entirely, but we certainly don't need to be running the unit tests four different ways. Test: ./validate.py Bug: None Change-Id: I6734815450b8cab39d7432759d488b600d41862d
-
Treehugger Robot authored
-
Treehugger Robot authored
-
Dan Albert authored
This was generating things like "build\ndk-build\ndk-build..cmd". Test: ./checkbuild --module ndk-build-shortcut --system windows64 Bug: None Change-Id: Ic1dbafef6bf6a372f7421cfe63560d99e7fc711c
-
Dan Albert authored
adb pushing each file individually is a lot slower than pushing the whole test directory. The downside is that we have to push the whole directory even if a test filter means that we only need one executable (we can fix this in a follow up by looking at the test filter). This saves us a couple minutes in a validate.py run (22 minutes down from 25). Test: ./validate.py Bug: None Change-Id: I8b7e34106e84389cb63ff260af7019d98f4de277
-
- 12 Jan, 2017 2 commits
-
-
Treehugger Robot authored
-
Dan Albert authored
Having an exception thrown in a corner case of a test 75 minutes into a test run and bringing down the whole thing is terrible. Catch any exceptions in tests and translate them into failures. Test: ./validate.py --filter standalone-toolchain Bug: None Change-Id: Ib468e4639378c17a8851d7868eb62d18d95753ca
-
- 10 Jan, 2017 3 commits
-
-
http://cr/143493525.Treehugger Robot authored
-
Treehugger Robot authored
-
Yabin Cui authored
Test: run checkbuild.py. Change-Id: I33ca1dbfef4e61cfa586e3187ff67a6b89467ed0
-
- 09 Jan, 2017 1 commit
-
-
http://cr/143493525Dan Albert authored
Test: None, markdown only. Bug: https://github.com/android-ndk/ndk/issues/270 Change-Id: I53c7d65a83a39c9e2600b162330782238579458a
-
- 07 Jan, 2017 1 commit
-
-
Treehugger Robot authored
* changes: Include configuration in the test build dir. Use a temp dir within out for validate.py. Improve g++ use detection.
-
- 06 Jan, 2017 4 commits
-
-
Treehugger Robot authored
-
Dan Albert authored
Some people expect this to default to the latest, some expect the earliest, others expect it to be a required argument. The latter seems like the best choice, but we're stuck because it's historical and people don't like it when we change things, so just print a warning. Test: build/tools/make_standalone_toolchain.py --arch arm Bug: https://github.com/android-ndk/ndk/issues/270 Change-Id: Idb4cd6d90eeabb788778540e52c2c2eb809308cc
-
Treehugger Robot authored
* changes: Better Clang LTO: install LLVMgold to bfd-plugins. Support GCC LTO in cmake.
-
Treehugger Robot authored
* changes: Remove intermediate packaging step for GCC. Remove intermediate packaging for most builds.
-
- 05 Jan, 2017 5 commits
-
-
Dan Albert authored
ar will automatically load any plugins that are installed to ../lib/bfd-plugins. Rather than needing to fix all of our build systems, we can make LTO Just Work if we copy the gold plugin (and its dependencies) into the binutils directory. I've also added a test for cmake LTO. Test: ./validate.py --filter flto Bug: https://github.com/android-ndk/ndk/issues/108 Change-Id: I1db61b8ef3405474c64ff20478daa86ca41ab3b3
-
Dan Albert authored
Not that we actually care since GCC is deprecated, but it was easier to fix than add the ability to disable tests based on build system. Test: ./validate.py --filter flto # added in next commit Bug: None Change-Id: I18aebf9252a392e248b5960d2e14bc2f335f2e31
-
Dan Albert authored
Test: ./checkbuild.py --module gcc # diffed with prior install Bug: None Change-Id: Ie1405046ecdae1bcc6301fb920c355009947e138
-
Dan Albert authored
There's no reason for us to zip these just to unzip them now that the modular NDK is long gone. Now that we have a build system that can work with that, just install them. Test: ./checkbuild.py Bug: None Change-Id: Ic75d888e2ad15720a149fbe270d54a4f29b32ab0
-
Treehugger Robot authored
-
- 04 Jan, 2017 2 commits
-
-
Dan Albert authored
This gets LTO working for Clang on the supported hosts (no Windows support yet) and targets (we don't have gold for MIPS). This also switches us to the small code model when building executables for non-Intel targets (to match the PIC options). Test: ./validate.py --filter flto Bug: https://github.com/android-ndk/ndk/issues/108 Change-Id: I465e475282d17b2137dcebcbab53e53b9372c837
-
Treehugger Robot authored
-