Commit graph

25695 commits

Author SHA1 Message Date
Colin Cross
615d66e2c2 Merge "Make export_includes a restat rule" 2015-12-01 01:42:26 +00:00
Colin Cross
6b9bddde6f Make export_includes a restat rule
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
2015-11-30 17:33:26 -08:00
Colin Cross
bff3c9b4c1 Merge changes I1de10391,I4399ca26,Iec3b2b0b
* changes:
  Use libstdc++ for ijar
  Build ijar for apps build
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-12-01 00:00:36 +00:00
Tao Bao
6d6e0481fa Merge "releasetools: Allow logging the diff for incrementals." 2015-11-30 20:09:39 +00:00
Tao Bao
d62c603573 releasetools: Allow logging the diff for incrementals.
Add an option "--log_diff <filename>" to ota_from_target_files.py
script. When enabled, it logs the differences between the source
and target builds into <filename> when generating incremental OTAs.

Also move target_files_diff.py into releasetools/ so that it can be
packed into otatools.zip.

Bug: 25372309
Change-Id: Ifd4ed0f2f12ef040ee377621ec8c35a873cec34f
2015-11-30 11:26:40 -08:00
Colin Cross
b15149cb2f Use libstdc++ for ijar
For some reason ijar won't build against libc++ for TARGET_BUILD_APPS
builds, but does build with libstdc++.

(cherry picked from commit 718bab6aec)

Bug: 25904002
Change-Id: I1de103918faa5bb574af6f12cc954e7fed44dc62
2015-11-30 11:16:30 -08:00
Shinichiro Hamaji
80876a6303 Build ijar for apps build
This fixes git_master-linux-apps build.

(cherry picked from commit 9084705744)

Change-Id: I4399ca2662e08c9b3cc2ad5a317e84d91b728115
2015-11-30 11:16:28 -08:00
Shinichiro Hamaji
89b255ab71 Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

(cherry picked from commit c1f5d9c203)

Bug: 24597504
Change-Id: Iec3b2b0b0e674bee5d80cce3c300dc8fad6e7c13
2015-11-30 11:16:23 -08:00
Shinichiro Hamaji
2ff3ad9045 Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"" 2015-11-27 03:59:30 +00:00
Shinichiro Hamaji
d17c3a57f6 Merge "Revert "Build ijar for apps build"" 2015-11-27 03:59:18 +00:00
Shinichiro Hamaji
3ae7f66bab Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
This reverts commit c1f5d9c203.

Change-Id: I7e9969a060e3f1380154da65e76134168aee15d8
2015-11-27 03:58:51 +00:00
Shinichiro Hamaji
ea2da50e17 Revert "Build ijar for apps build"
This reverts commit 9084705744.

Change-Id: I8a9958788c51dcec5028ef396cb67abd541ce31f
2015-11-27 03:57:17 +00:00
Colin Cross
41dca40376 Merge "Revert "Use libstdc++ for ijar"" 2015-11-26 22:20:38 +00:00
Colin Cross
39cca23d41 Revert "Use libstdc++ for ijar"
This reverts commit 718bab6aec.

Change-Id: I9aa222fc2936d7d89ae0700eeef505c6b317d777
2015-11-26 22:20:22 +00:00
Colin Cross
c97b5272d7 Merge "Use libstdc++ for ijar" 2015-11-26 22:10:31 +00:00
Colin Cross
718bab6aec Use libstdc++ for ijar
For some reason ijar won't build against libc++ for TARGET_BUILD_APPS
builds, but does build with libstdc++.

Change-Id: I8e900b0f764f0bb8f827705cb9173f07e4f33862
2015-11-26 14:09:50 -08:00
Colin Cross
ec4db56e58 Merge "Build ijar for apps build" 2015-11-26 17:34:50 +00:00
Paul Duffin
623799d3e0 Merge "Fix generated-sources-dir-for for COMMON" 2015-11-26 11:39:30 +00:00
Shinichiro Hamaji
9084705744 Build ijar for apps build
This fixes git_master-linux-apps build.

Change-Id: I1a77b2495d98d89f570cb165d7f25f617c9af9aa
2015-11-26 17:24:40 +09:00
Shinichiro Hamaji
c9a1b27845 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files" 2015-11-26 05:25:58 +00:00
Paul Duffin
699a32217a Fix generated-sources-dir-for for COMMON
When the 4th argument specified is non-empty then it attempts to
use either HOST_OUT_GEN_COMMON or TARGET_OUT_GEN_COMMON
depending on whether the 3rd argument is non-empty or not
respectively. Unfortunately, those two variables do not exist,
the correct names for those variables is HOST_OUT_COMMON_GEN and
TARGET_OUT_COMMON_GET.

Change-Id: I66edb02824c06e0f504ebe04ff80ddbd77a16c95
2015-11-25 13:14:23 +00:00
Tao Bao
7b5eddd52b Merge "target_files_diff: Allow writing outputs to file." 2015-11-24 23:57:44 +00:00
Tao Bao
5dd9a2ce11 target_files_diff: Allow writing outputs to file.
Also clean up some pylint warnings.

Bug: 25372309
Change-Id: I226bfd72cb1310ba77352f8d367803e815e1cfa3
2015-11-24 15:23:20 -08:00
Ying Wang
deeb2d2453 Merge "Fix typo." 2015-11-24 22:09:49 +00:00
Ying Wang
6cce4026ff Fix typo.
Change-Id: I299076791c620968fa7a5c420b5ca21ea4d30b51
2015-11-24 14:09:11 -08:00
Ying Wang
81bbac6a0f Merge "Don't delete META-INF in jack-java-to-dex when packing resources." 2015-11-24 21:58:06 +00:00
Ying Wang
3be52e6692 Don't delete META-INF in jack-java-to-dex when packing resources.
LOCAL_DONT_DELETE_JAR_META_INF is meant for deleting resources carried
by static Java libraries, see comment in clear_vars.mk.
For a module's own resources, we should pick up whatever in
LOCAL_JAVA_RESOURCE_DIRS.
The same applies  when building .jack from a  prebult jar in
transform-jar-to-jack.

Bug: 25860887
Change-Id: I20c120e039342a1124362c5f8747eace94b03931
(cherry-pick from commit 996ae38ffd)
2015-11-24 13:57:10 -08:00
Chih-hung Hsieh
b0d9108795 Merge "Move mips64 target to clang by default." 2015-11-24 21:13:38 +00:00
Chih-hung Hsieh
80d6b0a9c6 Merge "Move mips target to clang by default." 2015-11-24 21:13:17 +00:00
Alex Klyubin
0aaf7aa53c Merge "Clean up compiler warnings in signapk." 2015-11-24 17:30:42 +00:00
Alex Klyubin
c218d3eca3 Clean up compiler warnings in signapk.
Bug: 25794543
Change-Id: Ia7da4fbaed77af4020e5aa0b14fe5e1bd8521edb
2015-11-24 09:27:55 -08:00
Shinichiro Hamaji
84639d127b Merge "Prevent findleaves.py from traversing copies of $(OUT_DIR)" 2015-11-24 04:54:02 +00:00
Chih-Hung Hsieh
4dcd769f2c Move mips64 target to clang by default.
Bug: 23163853
Change-Id: Ia3d449f908b09ce95b3de246c8c699d171dcbaa3
2015-11-20 13:35:44 -08:00
Chih-Hung Hsieh
990407e0a5 Move mips target to clang by default.
Bug: 23163853
Change-Id: I408ffd90ff2ff075e03962fffd1681fccf0319d3
2015-11-20 13:32:22 -08:00
Neil Fuller
8f354bc8c2 Merge "Use sensible default locations for Java" 2015-11-20 10:16:17 +00:00
Tao Bao
4ed5735a68 Merge "releasetools: Fix the bug with TARGET_NO_RECOVERY." 2015-11-20 04:47:42 +00:00
Ying Wang
01f49a3d5e Merge "Increase droiddoc -J-Xmx to 1600MB." 2015-11-20 02:33:11 +00:00
Ying Wang
02bcb27b4a Increase droiddoc -J-Xmx to 1600MB.
As we occasionally see  java.lang.OutOfMemoryError when running
doc-comment-check-docs.

Bug: 25787786
Change-Id: I6c505c96ec36d09d28d400e03027b169870c49bb
2015-11-19 18:31:01 -08:00
Tao Bao
48550cceb0 releasetools: Fix the bug with TARGET_NO_RECOVERY.
The packaging script is broken when we set TARGET_NO_RECOVERY and
SYSTEM_ROOT_IMAGE both. With TARGET_NO_RECOVERY set, we don't have
RECOVERY/RAMDISK/etc/recovery.fstab. It thus fails the assertion in
common.LoadRecoveryFSTab() that "/" must exist in fstab when enabling
SYSTEM_ROOT_IMAGE.

Change-Id: Id509d724f18be7cf7389dd786924ead894ac0cc1
2015-11-19 17:14:21 -08:00
Christopher Wiley
b2055df782 Merge "Fix race in C++ AIDL file generation" 2015-11-19 22:01:27 +00:00
Christopher Wiley
2d91c61ef0 Fix race in C++ AIDL file generation
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
2015-11-19 13:52:15 -08:00
Colin Cross
7926e42209 Merge "Switch to using kati env script" 2015-11-19 21:11:01 +00:00
Christopher Wiley
0c595d4730 Merge "Export generated AIDL headers" 2015-11-19 19:17:47 +00:00
Christopher Wiley
c7e936f530 Export generated AIDL headers
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
2015-11-19 11:04:18 -08:00
Neil Fuller
91e012cd99 Use sensible default locations for Java
Use sensible default locations for Java based on
the EXPERIMENTAL_USE_JAVA8 flag.

Bug: 25786468
Change-Id: I7ec035b5329785efc41b3f971d5e3ae202293576
2015-11-19 16:41:36 +00:00
Stephen Hines
af9e29d040 Merge "Rename AArch64 ASan target runtime library to match upstream convention." 2015-11-19 16:14:08 +00:00
Shinichiro Hamaji
6a378a3a7a Prevent findleaves.py from traversing copies of $(OUT_DIR)
by putting blank Android.mk and CleanSpec.mk in $(OUT_DIR).

Bug: 25732342
Change-Id: I3fcc4efddb9ee5ce309502e978f0589335af8371
2015-11-19 18:31:29 +09:00
Shinichiro Hamaji
c1f5d9c203 Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

Bug: 24597504
Change-Id: Id54953aea25e497c8ebbe783b03f13b488577c6a
2015-11-19 17:10:35 +09:00
Stephen Hines
bf45029dc4 Rename AArch64 ASan target runtime library to match upstream convention.
Rename from
 libclang_rt.asan-arm64-android.so
to
 libclang_rt.asan-aarch64-android.so

Change-Id: I6d73f458f437440c1de5bc72d2188d392c80cb98
2015-11-18 22:13:16 -08:00
Dan Albert
ec18c0fdfe Merge "Really allow overriding the LLVM prebuilts path." 2015-11-19 06:04:30 +00:00