commit | e4b02173f075d20357d614690c803cb0c9d9b0f5 | [log] [tgz] |
---|---|---|
author | Matthias Maennich <maennich@google.com> | Tue Jun 08 16:33:18 2021 +0100 |
committer | Matthias Maennich <maennich@google.com> | Tue Jun 08 16:33:18 2021 +0100 |
tree | 0ea60413261fbfba02f64082dd93c1e20287c691 | |
parent | 0e72fb915dc4e96e2248f31f2e1e425cf49a535c [diff] | |
parent | 3e6c016ad04449e1bc8e9dea77550f1a3b3ab6fd [diff] |
Merge branch upstream into master * aosp/upstream: strutil: replace SSE4 specialization with libc call Add diagnostic make file targets EvalIf: Consider any whitespace in variable names an error Expression Parser: Retain single '$' signs before terminators Update github actions to accommodate recent changes CommandEvaluator: Correct Makefile location for multi statement blocks cleanup: use [[fallthrough]] unconditionally Add support for -C <directory> Fix outstanding clang-format issues Fix github action to not use 'add-path' anymore Revert of code change in 97d8f1deb62d ("[C++] Fail for newlines in expanded rule statement") tests: ignore the error location that GNUMake emits testcases/tools/findleaves.py: migrate to python3 Signed-off-by: Matthias Maennich <maennich@google.com> Change-Id: I9e718fb9ab95bae768dac4c0e16588749e732654
kati is an experimental GNU make clone. The main goal of this tool is to speed-up incremental build of Android.
Currently, kati does not offer a faster build by itself. It instead converts your Makefile to a ninja file.
Building:
$ make ckati
The above command produces a ckati
binary in the project root.
Testing (best ran in a Ubuntu 18.04 environment):
$ make test $ go test --ckati $ go test --ckati --ninja $ go test --ckati --ninja --all
The above commands run all cKati and Ninja tests in the testcases/
directory.
Alternatively, you can also run the tests in a Docker container in a prepared test enviroment:
$ docker build -t kati-test . && docker run kati-test
For Android-N+, ckati and ninja is used automatically. There is a prebuilt checked in under prebuilts/build-tools that is used.
All Android's build commands (m, mmm, mmma, etc.) should just work.