- 06 May, 2016 2 commits
-
-
Ying Wang authored
Change-Id: Ibae51f8db69d8ab3b5ae7c086f519236e5d2043e
-
Ying Wang authored
Previously if a library has custom generated headers in LOCAL_GENERATED_SOURCES and export its include path with LOCAL_EXPORT_C_INCLUDE_DIRS, there is almost no way for the users of the library to set up dependency of their object files on the generated headers. This change makes the generated sources dependency of the library's export_includes, which is guaranteed generated before client code gets compiled. Also we added proto-generated cpp files to my_generated_sources so that we can deal solely with $(my_generated_sources). Because many Android.mks assume the generted .pb.hs are in $(generated_sources_dir) instead of $(intermediates), we have to generate the source files in $(generated_sources_dir) and make a copy in $(intermediates). Bug: 28622149 Change-Id: I73b21443fa706f3735faf16356ed8c08fbfecca6 (Cherry-pick from commit 05f9f358)
-
- 25 Apr, 2016 1 commit
-
-
Keun Soo Yim authored
Change-Id: I76b81529a97b672e08632703d2f6a2777ee8811e
-
- 29 Mar, 2016 2 commits
-
-
Shinichiro Hamaji authored
There was a typo in binary.mk. compile-dotdot-XXX-file in definitions.mk was also using -include. Bug: 26839129 Bug: 27886012 Change-Id: I4a0145fb70413998cc65d30d2efcd68af07b4800 (cherry picked from commit 72904774)
-
Shinichiro Hamaji authored
Also specify "-d keepdepfile" to ninja so .P files won't be deleted by ninja. -include for .s files are removed because GCC doesn't generate .d files for .s files. Bug: 26839129 Bug: 27886012 Change-Id: If00e93c7a33449ec314a5cdba438475a32979f4e (cherry picked from commit 4037c422)
-
- 27 Feb, 2016 1 commit
-
-
Chih-Hung Hsieh authored
* When WITH_STATIC_ANALYZER is set and non-zero, and clang compiler is used, call new clang ccc-analyzer or c++-analyzer. * Otherwise, if WITH_SYNTAX_CHECK is set and non-zero, call compiler with -fsyntax-only. * Replace "--sysroot=path" with "--sysroot path", to work with ccc-analyzer. * ccc-analyzer executes the original compilation command to generate object files before calling clang with --analyze to do static analysis. * When clang is called with --analyze, macro __clang_analyzer__ is defined. BUG: 13287788 (cherry picked from commit 765c1ea6d7272fae04d435b9bac79087a2f6aabf) Change-Id: I6e51e51ff4ed3ce514f60d090494dcdf6e520b04
-
- 04 Feb, 2016 1 commit
-
-
Dan Willemsen authored
*.o files that are passed in via LOCAL_GENERATED_SOURCES are added directly to all_objects, they are not mixed with the normal_objects that we track. So omit them from they my_gen_src_files list so that we don't warn that they're unused. Change-Id: I94b85504032e70fbcc00207d6200557700dd0a89
-
- 02 Feb, 2016 1 commit
-
-
Dan Willemsen authored
Objective-C .m/.mm files were not being tracked, so they were showing up as unused source files (on Darwin). They were also triggering an internal build system warning because the new object list did not match the current list. Change-Id: I01fff8c5587fe168106c60782080d60744311f6f
-
- 28 Jan, 2016 1 commit
-
-
Dan Willemsen authored
We have been reordering objects to the linker based on how they were generated. In soong, they're ordered based on the order listed in the src_files. Keep track of which source files created which object files so that we can create the ordered list. Optionally change the order, based on BINARY_OBJECTS_ORDER. That way we can compare make and soong builds. Since we're keeping track of the used source files, warn when an entry in LOCAL_SRC_FILES is not used. (whether it is an unused file like a header, or a typo) LOCAL_GENERATED_SOURCES is not verified, since it is valid to add headers and other files in that list (to set up dependencies). Change-Id: I1dfbbb3aa570c11c1db3b7133e46ed0b8c3b8989
-
- 26 Jan, 2016 1 commit
-
-
Shinichiro Hamaji authored
This was a regression since kati has been introduced. This CL introduces include-depfile function to make it easier to write Makefiles which work with both make and kati. As ninja can handle only a single dependency file per a build rule, now we merge multiple .d files generated by llvm-rs-cc into a .d file. Change-Id: Iaf64a8f0523ab98115837e6e06abd50f06620363
-
- 20 Jan, 2016 2 commits
-
-
Christopher Wiley authored
Both aidl and clang/gcc were putting their dependencies in the same place. Move aidl's dependencies to a file ending with .aidl.P rather than the compiler's .P. While here, inform kati that we have these special dep files. Bug:26409006 Test: Rebuild, note both files being generated Change-Id: I29d2eea822235d60713c2059f3a314e475eb5aa3
-
Christopher Wiley authored
Transform ../ to dotdot/ for C++ generateds from .aidl source files. This forces us to use one layer of indirection to calculate the build rules for .aidl files, since we can no longer use a pattern rule. This was tested by modifying system/tools/aidl's Android.mk to refer to its .aidl files by going up two directories and then repeating the directories again. When I print the build rules with $(info) I see that dotdot/ appears in appropriate places (C++ paths, but not .aidl paths). Bug: 26407018 Test: Described above. Change-Id: I397c9d10408c0c66d8b5a247a1f34eb4bf4f74ce
-
- 19 Jan, 2016 1 commit
-
-
Dan Willemsen authored
This effectively changes the default instruction set of assembly files from arm to thumb in order to match the default for C/C++. Change-Id: I8684f144a1195b53b3e0fdd04cacf77f6a131c7e
-
- 13 Jan, 2016 1 commit
-
-
Ying Wang authored
- For .l/.y source files, generate .c files; for .ll/.yy source files, generate c++ files. - Simplified the rules by adding the generated sources to my_generated_sources. - Simplified generated header file naming by always using .h extension with bison's "--defines=" option. - Removed the unnecesarry conditional inclusion to the generated headers. Bison already automatically generates such things. Bug: 26492989 Change-Id: I9ab6dc149c258f7642bc36c3fa32f90ff7ee51a4
-
- 12 Jan, 2016 1 commit
-
-
Ying Wang authored
- For .l/.y source files, generate .c files; for .ll/.yy source files, generate c++ files. - Simplified the rules by adding the generated sources to my_generated_sources. - Simplified generated header file naming by always using .h extension with bison's "--defines=" option. - Removed the unnecesarry conditional inclusion to the generated headers. Bison already automatically generates such things. Bug: 26492989 Change-Id: I9ab6dc149c258f7642bc36c3fa32f90ff7ee51a4
-
- 06 Jan, 2016 1 commit
-
-
Chih-Hung Hsieh authored
When USE_CLANG_PLATFORM_BUILD is not set, default will be clang/llvm. USE_CLANG_PLATFORM_BUILD=false can be used to select gcc as default. Bug: 23163853 Bug: 26102335 Change-Id: I434176732fa4a382be9d8d8642a1c705b023cf84
-
- 15 Dec, 2015 1 commit
-
-
Ying Wang authored
Host binaries may be run during the build process and the internal implementation of the shared libraries makes a difference for the build result. This change makes sure host tools get re-linked and re-run when any of its dependency libraries gets updated. DEX2OAT is such a host tool. We also changed DEX2OAT as full dependency of dex-preoptimization, so we rebuild the odex files if DEX2OAT itself, or any dependency libraries changed. Bug: 24597504 Change-Id: Idf0d9be82ccebd826d9c5b405a39cff437e0af29
-
- 13 Dec, 2015 1 commit
-
-
Stephen Hines authored
This reverts commit 3c8036da. Change-Id: I930bbebce8396d7c0abd847530640a696d3418e7
-
- 11 Dec, 2015 1 commit
-
-
Dan Albert authored
This was previously working because for some reason prebuilts/ndk had a tangled mess of hand assembled symlinks that pointed lib -> lib64 for the multilib architectures. Change-Id: I294d67f58f2008b1a53790cf676f5223df449cbc
-
- 10 Dec, 2015 2 commits
-
-
Chih-Hung Hsieh authored
When USE_CLANG_PLATFORM_BUILD is not set, default will be clang/llvm. USE_CLANG_PLATFORM_BUILD=false can be used to select gcc as default. BUG: 23163853 BUG: 26102335 Change-Id: I00604c2aef4849e8c3505b2c4002eb1c46cd1fd1
-
Dan Albert authored
The linker can't do --hash-style=gnu for mips. Change-Id: I66a77067f8be6fc92ca686d3e6e159beb72cf76b
-
- 09 Dec, 2015 2 commits
-
-
Dan Albert authored
Sometimes we don't want any STL. Change-Id: I08b4389b7882702c0e483a1456f7775fe4da1c75
-
Dan Albert authored
Change-Id: I1c3b7415c654b783c6bb7e38a40d4c279826400f
-
- 04 Dec, 2015 1 commit
-
-
Dan Willemsen authored
Error out if there is a file listed in LOCAL_SRC_FILES_EXCLUDE but not in LOCAL_SRC_FILES. This should catch typos or other mistakes that would otherwise be missed. Change-Id: Iaddf575a6ce35238998ac47b59591a7d05fbcd0d
-
- 01 Dec, 2015 1 commit
-
-
Colin Cross authored
There is currently an intentional incremental rebuild issue with import_includes. export_includes might get updated with an identical version, but we don't want to force everything downstream of it to rebuild. When BUILDING_WITH_NINJA==true, only update export_includes if it changes, and use .KATI_RESTAT to only run downstream rules if it changes. import_includes will only be updated if one of the export_includes files is updated, so object files can have a normal dependency on import_includes instead of an order-only dependency. All downstream object files will now be recompiled if their imported include paths change. Bug: 25910568 Change-Id: I626f3b24ac02ac1309049cf1ce66cfe8ec816513
-
- 25 Nov, 2015 1 commit
-
-
Michael Wright authored
Bug: 25608286 Change-Id: I0334061b548970959e46392dc3a1feed8533548c
-
- 19 Nov, 2015 2 commits
-
-
Christopher Wiley authored
The export_includes file for a library needs to express a dependency on all generated exported headers. For aidl generated headers, express a dependency on the .cpp file instead, since the generator promises to generate this file last. Unfortunately, the C++ headers generated from a .aidl file depend on the contents of the file. Change-Id: I9402b364e4538b502c0958ac8c7bd72cb0add724
-
Christopher Wiley authored
It is common for developers to generate/compile AIDL in a static library, then link that library into an executable. When doing this, developers need to export the generated headers. Bug: 25779424 Test: a refactoring of the aidl Android.mk shows this works Change-Id: I4f7d471a601d2a683cb5a9da5e02e3fab576c26a
-
- 17 Nov, 2015 1 commit
-
-
Christopher Wiley authored
(cherry picked from commit 2df75d17) Bug: 23599697 Change-Id: Iae25f62fa9e2375a36d1a930887b2bcfd9e3f8a2 Test: test application compiles generated code
-
- 04 Nov, 2015 1 commit
-
-
Shinichiro Hamaji authored
When a shared object is rebuilt, all dependent libraries and executables are rebuilt. Such rebuild is unnecessary when there is no interface change. With this patch, .toc files will be generated for all .so files. The rule which generates .toc files has ninja's restat=1 and .toc files are not changed ninja won't rebuild dependent targets. Performance: $ m && touch bionic/libc/stdio/stdio.c && time m Before: 1m03s (2563 targets) After: 21s (90 targets) Bug: 24597504 Change-Id: Ia5dd950273d143f4e99eee8bef7478f1a94cd138
-
- 26 Oct, 2015 1 commit
-
-
Dan Albert authored
Our GCC does not use a valid C++14 ABI. Bug: http://b/25022512 Change-Id: I6f4b3450137c24a6a0c00bf956bae7a0ba280094
-
- 19 Oct, 2015 1 commit
-
-
Christopher Wiley authored
Bug: 23599697 Test: test application compiles generated code Change-Id: I35255517dd0b7ef7a82134be1c862093eaa3ce6b
-
- 17 Oct, 2015 1 commit
-
-
Colin Cross authored
LOCAL_SRC_FILES_EXCLUDE will be used to filter files out of LOCAL_SRC_FILES. A common usage will be to use LOCAL_SRC_FILES_EXCLUDE_<arch> to remove a source file that will be replaced with an arch-optimized version. Change-Id: I75cc6114c47fb784bab65cae8f618c4f395f07bb
-
- 14 Oct, 2015 1 commit
-
-
Peter Qiu authored
Bug:None Change-Id: I6e3898c71f54ede08a27f5be93e95a2b219e5ea6
-
- 08 Oct, 2015 1 commit
-
-
Dan Albert authored
Using both can cause duplicate symbol errors. Change-Id: Id8ee13a81d32e3248ff1cdc468f49a26ecde6b57
-
- 28 Sep, 2015 2 commits
-
-
Colin Cross authored
Ninja has an implicit dependency on the command being run, and kati will regenerate the ninja manifest if any read makefile changes, so there is no need to have dependencies on makefiles. This won't catch all the cases where LOCAL_ADDITIONAL_DEPENDENCIES contains a .mk file, because a few users of LOCAL_ADDITIONAL_DEPENDENCIES don't include base_rules.mk, but it will fix the most common ones. Bug: 23566977 Change-Id: I66de882421376303ab7233c8ce7274548f6b2199
-
Nicolas Geoffray authored
Change-Id: I152ad7b41cfa05f2f59f51c6d8bd1e427f1a1649
-
- 26 Sep, 2015 1 commit
-
-
Shinichiro Hamaji authored
Goma's client recognizes -fprofile-use= flag so shoulde be compatible with Android's FDO build. Change-Id: I0d21d6f530cd05770f8dc12e9dc33a5db49a9c7d
-
- 23 Sep, 2015 2 commits
-
-
Dan Albert authored
This reverts commit 021b7651. Bug: http://b/24166967 Change-Id: I3ca9ed36fa3b55c7eb129c209903676879720acd
-
Dan Albert authored
This reverts commit 1576da24. Bug: http://b/24166967 Change-Id: Ibd7eec5c261e85a0474243991be7ee1860c9e14d
-