Commit graph

25698 commits

Author SHA1 Message Date
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
Dan Albert
2d6d5c6e53 Really allow overriding the LLVM prebuilts path.
Not sure why my previous testing was working without this, but kati is
a bit pickier about ?= vs :=.

Change-Id: I80243a3c93dec7fd9b8e6f92e2c6cc956706ace0
2015-11-18 18:01:31 -08:00
Colin Cross
153af5a27e Merge "Support LOCAL_ACP_UNAVAILABLE for prebuilts" 2015-11-17 21:25:44 +00:00
Colin Cross
ea20915b30 Switch to using kati env script
Kati generates a shell script to run ninja, but that makes it difficult
to customize the ninja command line.  Switch to sourcing the new env
script and then starting ninja manually.

Change-Id: I7139290a463018ddf5e05b4d61a0d2f18b1a2247
2015-11-17 12:10:13 -08:00
Tao Bao
128466cea5 Merge "releasetools: Pack updatable images into IMAGES/ for A/B update." 2015-11-17 05:32:56 +00:00
Ying Wang
2f05af74bc Merge "Remove unnecessary inheritance layer between aliases." 2015-11-17 02:45:38 +00:00
Colin Cross
d6f389299c Support LOCAL_ACP_UNAVAILABLE for prebuilts
Files built by soong will be installed using BUILD_PREBUILT, and may
include prerequesites of the acp binary.  Allow specifying
LOCAL_ACP_UNAVAILABLE:=true on prebuilts.

Change-Id: Iccfe61092f90b61f397a45f5334b0c1c0f439b32
2015-11-16 17:46:10 -08:00
Ying Wang
cc2001fb44 Remove unnecessary inheritance layer between aliases.
The extra inheritance layer may cause multiple
PRODUCT_DEVICE/PRODUCT_BRAND values for a product if it doesn't
explicitly override them, eg. gms.
The full_* are deprecated product names. We keep them just for backward
compatibility, for some tools may still use the full_* product names.

Bug: 25611987
Change-Id: I7ecebd422754c3ceb16507b8d9ced65d533fe7c3
2015-11-16 17:21:42 -08:00
Tao Bao
a0421cd1bd releasetools: Pack updatable images into IMAGES/ for A/B update.
Vendor-specific images (radio, bootloader and etc) used to stay in
RADIO/ in target_files zip. A/B updater expects them to be available
under IMAGES/. Make a copy for such images when calling
add_img_to_target_files.py.

We cannot move them directly from RADIO/ to IMAGES/, because we will
delete everything under IMAGES/ when signing for release.

Bug: 25674625
Change-Id: I977c879d0ff7e45c83b3f5c63844a5b135caa383
2015-11-16 16:42:43 -08:00
Dan Albert
9119f14943 Merge "Allow overriding the LLVM prebuilts path." 2015-11-16 18:28:24 +00:00
Dan Albert
8b1d17706f Allow overriding the LLVM prebuilts path.
The automated build will need to do a two stage build, and we want to
do that without altering the source directory. Building with
`make LLVM_PREBUILTS_BASE=/path/to/prebuilts` will build using an
arbitrary toolchain instead of the installed one.

Bug: http://b/17441393
Change-Id: I4ff5c5224fbb8ebeb3a752907d6c4cd0a925aa1e
2015-11-13 23:06:07 -08:00
Sen Jiang
99d5f361b4 Merge "Write AB_OTA_POSTINSTALL_CONFIG to META/postinstall_config.txt." 2015-11-13 19:14:00 +00:00
Sen Jiang
8f22e2a0bb Write AB_OTA_POSTINSTALL_CONFIG to META/postinstall_config.txt.
The config file will be passed to delta_generator to add the postinstall
field in the update payload.

Bug: 24537566
Change-Id: I06b8d9d0b2c37f9a3e7a844ac4d9e2eead8cd4d2
TEST: make dist
2015-11-13 10:46:09 -08:00
Shinichiro Hamaji
a50961ae95 Merge "Use GOMA_HERMETIC=error for USE_GOMA=true build" 2015-11-13 07:26:39 +00:00
Shinichiro Hamaji
21a18b7509 Use GOMA_HERMETIC=error for USE_GOMA=true build
With this flag, goma's client (gomacc) fails when local
compiler is different from goma's. Without this, goma's
backend finds a fallback compiler which looks closer to the
local compiler using version info, etc.

Bug: 25668061

Change-Id: I64ff81751f3fe960a557ddb2ca30a090c26c4327
2015-11-13 15:53:56 +09:00
Elliott Hughes
4b6bb08da3 Merge "Set WINVER as well as _WIN32_WINNT." 2015-11-13 03:09:25 +00:00
Dan Willemsen
67d993fc9c Merge "Sort dex and static lib resources" 2015-11-13 01:39:30 +00:00
Dan Albert
5f88dd0dd6 Merge "Make not having Jack non-fatal." 2015-11-13 01:16:08 +00:00
Dan Albert
6d6ba8aaf1 Merge "Allow globally disabling the relocation packer." 2015-11-13 01:15:55 +00:00
Dan Albert
fd8c722714 Make not having Jack non-fatal.
Not every build needs Java.

Bug: http://b/17441393
Change-Id: Ia55742cfd43c3a4f9c7873b87816bcce99f8156f
2015-11-12 15:29:12 -08:00
Dan Albert
52831d118c Allow globally disabling the relocation packer.
The relocation packer is part of prebuilts/misc, and pulling that
repository into the manifest requires pulling in a lot of other things
not needed by the simpler builds (like the clang toolchain manifest).

Bug: http://b/17441393
Change-Id: If4a94804fc1a3f81215b840247f8e332d0b510c1
2015-11-12 15:27:49 -08:00
Elliott Hughes
cf1c15c975 Set WINVER as well as _WIN32_WINNT.
Change-Id: I6ace26d6c25549cf42755423340af07e96e05779
2015-11-12 13:33:20 -08:00
Tao Bao
79dd4b2983 Merge "build: Remove check_prereq." 2015-11-12 16:41:45 +00:00
Yohann Roussel
94f86f8877 Sort dex and static lib resources
Before adding them to the apk or javalib.jar. This allows the entries
order to be reproducible and will help to have a reproducible build.

Bug: 25629246

Change-Id: Ie596aecfdd08047ea9f9071896a2b980e7200b41
2015-11-12 14:58:19 +01:00
Tao Bao
cb4abef523 build: Remove check_prereq.
check_prereq is a tool for recovery API v2, which has been obselete
since we moved to v3 in [1].

[1] commit e08991e02a7d678f2574e85289a34b2a9a537c82

Bug: 24621915
Change-Id: Ie96348fb56c5a3e029cac2417b59d8eb62dc085b
2015-11-11 21:26:29 -08:00
Dan Willemsen
ae8e6c8cda Merge "Make uncompressing jni libs in prebuilt APKs reproducible" 2015-11-12 05:23:05 +00:00
Dan Willemsen
5685af316e Merge "Add tool to diff two target files packages" 2015-11-12 05:16:29 +00:00
Dan Willemsen
5c64b4e81c Make uncompressing jni libs in prebuilt APKs reproducible
This was extracting the shared libraries into a temporary directory,
then adding them back into the zip file using the raw filesystem
ordering. Fix that by passing a sorted list to zip.

Bug: 24201956
Change-Id: I59c41151968be6faf289e04719a9992157eb405d
2015-11-11 18:26:38 -08:00
Chih-hung Hsieh
98c27a83da Merge "Revert "Enable gold linker for aarch64."" 2015-11-12 01:04:06 +00:00
Chih-hung Hsieh
65c7b5c6d6 Revert "Enable gold linker for aarch64."
This reverts commit a7f68ee9ea.

Change-Id: I8c15df8ce81859f1b950dbac0a47d7d24c0f4cc2
BUG: 25642296
2015-11-11 23:07:01 +00:00
Ying Wang
d1fd823f33 Merge "Add suffix .so to use directly libart.so" 2015-11-11 22:05:48 +00:00
Tao Bao
6af8ef528b Merge "releasetools: Support generating verify packages." 2015-11-11 21:53:11 +00:00
Marie Janssen
4eb44e7a41 Merge "envsetup: fix for provision to work on zsh" 2015-11-11 20:01:13 +00:00
Tao Bao
c1c01c6504 Merge "releasetools: Refactor ota_from_target_files.py." 2015-11-11 19:38:44 +00:00
Dan Willemsen
92d746d158 Merge "Create reproducible NOTICE collections" 2015-11-10 21:42:55 +00:00
Tao Bao
9bc6bb23b5 releasetools: Support generating verify packages.
We can generate a special OTA package that verifies all the partitions
(boot, recovery, system, vendor and etc) on a device. It also calls
device-specific script to verify bootloader and radio images. This
ensures a flashed device contains all the desired images faithfully.

Usage:
ota_from_target_files.py --gen_verify target_files.zip output.zip

Bug: 24679956
Change-Id: Ib3091d98c4b17a6fad305b3edf16d09efbda5c38
2015-11-10 12:49:33 -08:00
Dan Willemsen
8ae4984c2c Create reproducible NOTICE collections
Sort the lists of notice files instead of relying on the filesystem
ordering returned by os.walk

Bug: 23972440
Change-Id: Id32be9ce8e540244ad9d67b6fc7883fc2963fe5c
2015-11-10 12:37:23 -08:00
Tao Bao
767e3ac246 releasetools: Refactor ota_from_target_files.py.
Factor out some common lines between generating incremental and full
OTAs. Remove the outer while loop for cleaner logic.

Change-Id: I0a4d44a4a59b488748222c2031bd63f67d45e0b5
2015-11-10 12:23:10 -08:00
Marie Janssen
4afc2c0f6f envsetup: fix for provision to work on zsh
The -p option means something else on zsh and breaks this function.

Bug: None
Change-Id: Ie0ba8119e34c616f5b8f931806063d6b1d3d893e
2015-11-10 10:41:15 -08:00
randy.jeong
59bdffa76a Add suffix .so to use directly libart.so
It should be the complete name with suffix .so to use libart.
At present, unnecessarily falls back like below.
"Falling back from libart to libart.so after dlopen error:
dlopen failed: library "libart" not found"

Change-Id: Ie5da35a71d6661434d2097c842407e6a254f8f58
Signed-off-by: randy.jeong <randy.jeong@samsung.com>
2015-11-10 16:42:49 +09:00
Stephen Hines
106eb619e2 Merge "Switch from clang 3.6 to new clang repository (with 3.8)." 2015-11-10 05:59:40 +00:00
Stephen Hines
e8119e96fc Switch from clang 3.6 to new clang repository (with 3.8).
This reverts commit f7dbab16ff.

Bug: 23396112

Switch from "-fsanitize-undefined-trap-on-error" to
"-fsanitize-trap=all". The former ends up accidentally leaving
unresolved calls to __ubsan* helper functions in the object file with
clang 3.8. The latter is used when we don't include address sanitizer,
and replaces any misbehavior with a direct call to abort().
2015-11-09 16:32:11 -08:00
Lee Campbell
8b2c37c953 Merge "build: Add LINUX_KERNEL_COPYING license file" 2015-11-09 20:41:08 +00:00
Lee Campbell
b463fcde80 build: Add LINUX_KERNEL_COPYING license file
The build requires LINUX_KERNEL_COPYING when building
the notices. Change from depending on a file in
prebuilds/qemu-kernel to one in /build/core.

This is required as Brillo does not have the qemu-kernel
in its checkout.

BUG=25578534

Change-Id: Ieff6970035d27884c0769106e507284c1096c33f
2015-11-09 02:27:01 +01:00
Griff Hazen
0b4529239f Merge "Let qemu_props service set system properties in ro.emu and ro.emulator" 2015-11-08 00:59:09 +00:00
Griff Hazen
0517540e8d Let qemu_props service set system properties in ro.emu and ro.emulator
These boot properties are used by android wear emulator to configure
round and chin shaped devices.

Bug: 23324757
Change-Id: I812da02d771bba0ffc63b14459c7de7cbdeed142
2015-11-07 16:53:59 -08:00
Dan Willemsen
9956862b4b Add tool to diff two target files packages
This tool will help identify unexpected differences between two target
files packages. Expected changes (build number / date) are hidden, along
with known bugs.

It ignores anything that is just packaging for other files that are
already being diffed, like the recovery patching, and all of IMAGES/*

Bug 25372309

Change-Id: I4641754dd5dfbdfd3a89d8fa5262b9a9595e8e9c
2015-11-06 18:42:57 -08:00
Ying Wang
a23a97e3bf Merge "Tag "tests" alone doesn't prevent including emma.jar" 2015-11-06 19:27:52 +00:00