Commit graph

8555 commits

Author SHA1 Message Date
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
Stephen Hines
4b191b40b7 Merge "Rename AArch64 ASan target runtime library to match upstream convention."
am: af9e29d040

* commit 'af9e29d040dc20aeb4cceb545d864d41ecf0bca5':
  Rename AArch64 ASan target runtime library to match upstream convention.
2015-11-19 16:20:00 +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
Dan Albert
e3b4114410 Merge "Really allow overriding the LLVM prebuilts path."
am: ec18c0fdfe

* commit 'ec18c0fdfe0475cb4eff2458cf1f825d37fbc2b5':
  Really allow overriding the LLVM prebuilts path.
2015-11-19 06:33:50 +00: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
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
b35469cb90 Merge "Support LOCAL_ACP_UNAVAILABLE for prebuilts"
am: 153af5a27e

* commit '153af5a27e48627c24bda68495d1a972c744aa00':
  Support LOCAL_ACP_UNAVAILABLE for prebuilts
2015-11-17 21:36:45 +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
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
Dan Albert
c00e0b841a Merge "Allow overriding the LLVM prebuilts path."
am: 9119f14943

* commit '9119f14943b3d90863660fec58b4967c9ba2ccaa':
  Allow overriding the LLVM prebuilts path.
2015-11-16 18:33:08 +00: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
48ea511512 Merge "Write AB_OTA_POSTINSTALL_CONFIG to META/postinstall_config.txt."
am: 99d5f361b4

* commit '99d5f361b4d587eed1b197f501bff64223dda3b9':
  Write AB_OTA_POSTINSTALL_CONFIG to META/postinstall_config.txt.
2015-11-13 19:17:06 +00: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
13248f9343 Merge "Use GOMA_HERMETIC=error for USE_GOMA=true build"
am: a50961ae95

* commit 'a50961ae9517cdaab83294e537f35922717e17f9':
  Use GOMA_HERMETIC=error for USE_GOMA=true build
2015-11-13 07:30:53 +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
8b0e2e5094 Merge "Set WINVER as well as _WIN32_WINNT."
am: 4b6bb08da3

* commit '4b6bb08da308004898ad7db177834f78c808eabb':
  Set WINVER as well as _WIN32_WINNT.
2015-11-13 03:11:39 +00:00
Elliott Hughes
4b6bb08da3 Merge "Set WINVER as well as _WIN32_WINNT." 2015-11-13 03:09:25 +00:00
Dan Willemsen
aa725f6769 Merge "Sort dex and static lib resources"
am: 67d993fc9c

* commit '67d993fc9cd01950f8994b7613362ea749be561a':
  Sort dex and static lib resources
2015-11-13 01:44:44 +00:00
Dan Willemsen
67d993fc9c Merge "Sort dex and static lib resources" 2015-11-13 01:39:30 +00:00
Dan Albert
37a9e5d568 Merge "Make not having Jack non-fatal."
am: 5f88dd0dd6

* commit '5f88dd0dd68356679ebdc5991c20bbbad657cc43':
  Make not having Jack non-fatal.
2015-11-13 01:18:32 +00:00
Dan Albert
18ace0f2fe Merge "Allow globally disabling the relocation packer."
am: 6d6ba8aaf1

* commit '6d6ba8aaf19b3f5cb209c0b60c7bfd1900411945':
  Allow globally disabling the relocation packer.
2015-11-13 01:18:24 +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
741c16686e Merge "build: Remove check_prereq."
am: 79dd4b2983

* commit '79dd4b29831b5fe5b6d9627c0b0373374c4e3036':
  build: Remove check_prereq.
2015-11-12 16:46:13 +00: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
0cfcb599ea Merge "Make uncompressing jni libs in prebuilt APKs reproducible"
am: ae8e6c8cda

* commit 'ae8e6c8cda704277ab84851c475ecd8bf4c484cb':
  Make uncompressing jni libs in prebuilt APKs reproducible
2015-11-12 05:25:24 +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
5188f77e8f Merge "Revert "Enable gold linker for aarch64.""
am: 98c27a83da

* commit '98c27a83da8caee0ed4e57c596d4f51e182588ef':
  Revert "Enable gold linker for aarch64."
2015-11-12 01:09:32 +00: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
d54b9e6ba0 Merge "Add suffix .so to use directly libart.so"
am: d1fd823f33

* commit 'd1fd823f3349c55ba1d7e3b022a6bbff9f1f2680':
  Add suffix .so to use directly libart.so
2015-11-11 22:12:24 +00:00
Ying Wang
d1fd823f33 Merge "Add suffix .so to use directly libart.so" 2015-11-11 22:05:48 +00: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
3f83ed0181 Merge "Switch from clang 3.6 to new clang repository (with 3.8)."
am: 106eb619e2

* commit '106eb619e242ef6694f66a862c1e21249de68f97':
  Switch from clang 3.6 to new clang repository (with 3.8).
2015-11-10 06:01:47 +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
5bd31df419 Merge "build: Add LINUX_KERNEL_COPYING license file"
am: 8b2c37c953

* commit '8b2c37c9533f94f81fd8b15257c56061ce10998c':
  build: Add LINUX_KERNEL_COPYING license file
2015-11-09 20:47:25 +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
Ying Wang
7c09c937b6 Merge "Tag "tests" alone doesn\'t prevent including emma.jar"
am: a23a97e3bf

* commit 'a23a97e3bf77bdd7fa01cd1f681d758a943db63a':
  Tag "tests" alone doesn't prevent including emma.jar
2015-11-06 19:31:00 +00:00
Ying Wang
a23a97e3bf Merge "Tag "tests" alone doesn't prevent including emma.jar" 2015-11-06 19:27:52 +00:00
Ying Wang
324ffb2785 Tag "tests" alone doesn't prevent including emma.jar
Only if an app has LOCAL_INSTRUMENTATION_FOR, it can get the emma
classes from the target app and we don't need to instrument the test app
itself.

Change-Id: If0fba50ddae757254fc58ca104d729d61603fd78
2015-11-06 11:22:28 -08:00
Steve Fung
dc43cddbf6 Merge "Add the build type to META folder in target files.zip"
am: 53a6fd6498

* commit '53a6fd649817e5d9909d9aaca0369c19840f8613':
  Add the build type to META folder in target files.zip
2015-11-06 03:23:31 +00:00
Steve Fung
53a6fd6498 Merge "Add the build type to META folder in target files.zip" 2015-11-06 03:18:35 +00:00
Steve Fung
4044b38f0a Add the build type to META folder in target files.zip
For AB builds, add the build type to META/build_type.txt so the
server can easily determine user, userdebug, and eng builds
from each other.

Bug: 25420005
Change-Id: I6e4de2ba36a6fd1208c65a434d4725bb93d2cee6
2015-11-05 15:04:11 -08:00
Than McIntosh
fbf9234233 Merge "Enable gold linker for aarch64."
am: 838ad09b17

* commit '838ad09b17c6525122e6e8881674030e6746a8c4':
  Enable gold linker for aarch64.
2015-11-05 11:52:25 +00:00
Than McIntosh
838ad09b17 Merge "Enable gold linker for aarch64." 2015-11-05 11:49:56 +00:00
Shinichiro Hamaji
7070e5dc59 Merge "Allow missing SONAME in .toc files"
am: 457345e58c

* commit '457345e58c9f273a467847e2086318d6d8380d5b':
  Allow missing SONAME in .toc files
2015-11-05 04:07:21 +00:00
Shinichiro Hamaji
f0972f7966 Allow missing SONAME in .toc files
At least one shared object in internal repo doesn't have
SONAME entry in its dynamic segment because it is created by
objcopy instead of a linker.

Change-Id: If7106da022ff1e4e925191402f9072795dc3ddcb
2015-11-05 12:51:08 +09:00
Shinichiro Hamaji
7557ad2bbd Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries"
am: 2f8ffa61be

* commit '2f8ffa61bee03593a89913806e863f73a8e646b7':
  Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries
2015-11-05 01:27:06 +00:00
Shinichiro Hamaji
2f8ffa61be Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries" 2015-11-05 00:46:04 +00:00
Than McIntosh
a7f68ee9ea Enable gold linker for aarch64.
[Second attempt, this time with updated mac prebuilt]

Switches default linker from -fuse-ld-bfd to
-fuse-ld=gold, and enables -Wl,--icf=safe. This
changes reduces /system/lib64/*.so text size
by about 2% for N9.

Change-Id: I587075aae9d70cb6b16e55dc9cd1052580ac2626
2015-11-04 19:34:50 -05:00
Ying Wang
3a5c02e295 Merge "Don\'t run ziptime on host zip files."
am: 7f50cf7f50

* commit '7f50cf7f501a7289cbe8c03eb20ed0f54edf5a99':
  Don't run ziptime on host zip files.
2015-11-04 18:19:54 +00:00
Ying Wang
5d88770f26 Don't run ziptime on host zip files.
ziptime fails on zip file larger than 2GB.
These zip files won't installed on device and we don't care that much
about their reprodudcibility across builds.

Change-Id: I47062928d075a59eda92dd5333e59502f490d1cb
2015-11-04 10:06:25 -08:00
Shinichiro Hamaji
0e7587a9ea Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries
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
2015-11-04 15:23:59 +09:00
Ying Wang
32078cd8b2 Merge "Sort out ANDROID_GOALS, KATI_GOALS and NINJA_GOALS."
am: 5dd68067a6

* commit '5dd68067a6a5e48b29882ca065606ab85b20d3d7':
  Sort out ANDROID_GOALS, KATI_GOALS and NINJA_GOALS.
2015-11-04 01:15:47 +00:00
Ying Wang
4a4a0bc38f Sort out ANDROID_GOALS, KATI_GOALS and NINJA_GOALS.
ANDROID_GOALS: any Android goals that need to be built.
KATI_GOALS: goals that we need to pass to Kati.
NINJA_GOALS: goals we need to pass to Ninja.

For modifier Android goals (dist, INTERNAL_MODIFIER_TARGETS),
we don't need to pass them to Ninja. See also commit
80e46c7c5c.
Restore the dist rule removed by the above commit.

Previously "droid" was never passed to Ninja. That's incorrect.
"make droid docs" should build both docs and droiod.
Fixed with this change.

Change-Id: I5c28061fe0ebe7848872ee349056d029b787ff71
2015-11-03 17:10:28 -08:00
Dan Willemsen
3665246dcb Merge "Don\'t use ziptime with unbundled builds"
am: 29a6675983

* commit '29a667598340624f38b0a08c3e9984afc375b12d':
  Don't use ziptime with unbundled builds
2015-11-04 00:33:44 +00:00
Dan Willemsen
a25ddad7d6 Don't use ziptime with unbundled builds
Some of the trees are unable to compile native code with the normal
build rules, even though they can build kati.

Bug: 24201956
Change-Id: I2afc3468480b2c78407d62323e6b82979c8ee254
2015-11-03 16:18:41 -08:00
Bill Yi
af05ad919a Merge commit '4f5e8cc3ca6da83f11bf42d04f1a57b9af16a582' into HEAD 2015-11-03 14:28:58 -08:00
Dan Willemsen
a0975edc16 Merge "Remove changing uids/timestamps from zip/jar files" 2015-11-03 21:38:45 +00:00
Ying Wang
fb89fd36b2 Merge "Don\'t check the host JDK tools when build/core/config.mk is called from envsetup.sh."
am: a63d379aab

* commit 'a63d379aab75fe3991320319f63faddd3b84b287':
  Don't check the host JDK tools when build/core/config.mk is called from envsetup.sh.
2015-11-03 00:40:38 +00:00
Ying Wang
a63d379aab Merge "Don't check the host JDK tools when build/core/config.mk is called from envsetup.sh." 2015-11-03 00:17:43 +00:00
Ying Wang
7fcd2f9086 Don't check the host JDK tools when build/core/config.mk is called from envsetup.sh.
Envsetup.sh (lunch) relies on config.mk to get build varaible values; while
config.mk may rely on envsetup.sh to set up JAVA_HOME/PATH.
Without this change config.mk may be checking the host JDK tools before
JAVA_HOME/PATH get set up.

Change-Id: I1e6b5e33147258832ce2f0a425f9526ef4782c43
2015-11-02 16:00:47 -08:00
Dan Willemsen
48a621c277 Remove changing uids/timestamps from zip/jar files
Pass -X to zip so that Unix UID/GID and extra timestamps aren't
saved into the zip files.

Add a new tool, ziptime, that uses a very stripped down copy of
zipalign. It no longer depends on libandroidfw, and now rewrites the
timestamps in place instead of making a copy of the zipfile. This should
improve speed and reduce disk requirements, especially with the large
packaging zip files.

Bug: 24201956
Change-Id: I50f68669f659da1b4393e964ad40b6aafb00c1e7
2015-11-02 14:51:54 -08:00
Gaurav Shah
af80a461d6 Merge "envsetup,product,ninja: enable symlink traversal"
am: f589c7b442

* commit 'f589c7b442feb02843bdf82305b599b686fc5204':
  envsetup,product,ninja: enable symlink traversal
2015-11-02 22:27:27 +00:00
Gaurav Shah
00b8cd9a15 Merge "Support build targets with no installable apps/packages"
am: aed6805380

* commit 'aed6805380810f51bb0d8b93fc5eac005a6de364':
  Support build targets with no installable apps/packages
2015-11-02 22:27:20 +00:00
Gaurav Shah
64ea350dd8 Merge "build: Add extra build customization for /product"
am: a80f1e3257

* commit 'a80f1e32575db5d66f4b4e6efdf79dd10dd2295e':
  build: Add extra build customization for /product
2015-11-02 22:27:14 +00:00
Gaurav Shah
881ec090c4 Merge "build: Add support for defining products in /product"
am: acb8a7c1f8

* commit 'acb8a7c1f8cacaf136edba1a25d64467d352a432':
  build: Add support for defining products in /product
2015-11-02 22:27:08 +00:00
Gaurav Shah
f589c7b442 Merge "envsetup,product,ninja: enable symlink traversal" 2015-11-02 22:22:50 +00:00
Gaurav Shah
aed6805380 Merge "Support build targets with no installable apps/packages" 2015-11-02 22:22:40 +00:00
Gaurav Shah
a80f1e3257 Merge "build: Add extra build customization for /product" 2015-11-02 22:22:32 +00:00
Gaurav Shah
acb8a7c1f8 Merge "build: Add support for defining products in /product" 2015-11-02 22:22:22 +00:00
Will Drewry
c13f9c952d envsetup,product,ninja: enable symlink traversal
When searching device, product, or hardware, allow
find to follow symlinks.

Add KATI_EMULATE_FIND=false to allow disabling the find
emulator which changes findleaves.py behavior wrt
symlinks.

BUG=24605247
TEST=works with CL:783781 (without the find wrapper in that CL)

Change-Id: Ia9d0e4add391a56f34828a09a6cec3f435ccc548
2015-11-02 14:18:45 -08:00
Gaurav Shah
67c2ed390f Support build targets with no installable apps/packages
Specifically, do not error out if no installable apps are found.

- When creating an archive of all the apps, and if no apps exist
for the target, generate an empty archive file.
- If building for a target with no installable jar(s) or apk(s),
generate an empty package stats file.

The former is just an output artifact. The latter is used
by the upload_pkg_stats.py script which correctly handles
an empty input file.

BUG: 23421592

Change-Id: I48db9f9e1f61914d8fd938130e09b41849685450
2015-11-02 14:18:30 -08:00
Lee Campbell
04ba31236e build: Add extra build customization for /product
This makes /product more consistent with /device & /vendor

BUG: 22030305

Change-Id: Ic65bfde7fb3e9fab8c8fb8d99af15404574abde0
2015-11-02 14:18:13 -08:00
Lee Campbell
455f6f458d build: Add support for defining products in /product
The build will now search for AndroidProducts.mk in /product

BUG: 22030305

Change-Id: I2d067d95d0c8dc1341a55167f9ac7f6926e04ce3
2015-11-02 14:17:47 -08:00
Ying Wang
cce30b6daa Merge "Add _asan suffix to ro.build.flavor for ASAN builds."
am: f0a8dd43b2

* commit 'f0a8dd43b26d49ad67e2c6c8c936e64a62df8582':
  Add _asan suffix to ro.build.flavor for ASAN builds.
2015-11-02 19:52:04 +00:00
Ying Wang
603e4ed594 Merge "Fix "make product-graph" and "make dump-products"."
am: 888f30aa44

* commit '888f30aa448370206a49ff7df940e134b8ff7017':
  Fix "make product-graph" and "make dump-products".
2015-11-02 19:51:57 +00:00
Ying Wang
f0a8dd43b2 Merge "Add _asan suffix to ro.build.flavor for ASAN builds." 2015-11-02 19:47:31 +00:00
Ying Wang
888f30aa44 Merge "Fix "make product-graph" and "make dump-products"." 2015-11-02 19:46:53 +00:00
Dan Willemsen
d8d06da814 Merge "Revert "Remove changing uids/timestamps from zip/jar files""
am: 49d8c5196e

* commit '49d8c5196eb690fc987673c27cb61087c5886be4':
  Revert "Remove changing uids/timestamps from zip/jar files"
2015-10-29 21:33:39 +00:00
Dan Willemsen
b589ae4e26 Revert "Remove changing uids/timestamps from zip/jar files"
This reverts commit 3c2c064c87.

zipalign depends on libandroidfw, and some setups don't include frameworks/base.

Bug: 24201956
Change-Id: I48ee95808924f6b2221f0a49ab205c2565096b1f
2015-10-29 21:26:18 +00:00
Dan Willemsen
a51b1d532e Merge "Remove changing uids/timestamps from zip/jar files"
am: 9f25219371

* commit '9f252193714c82dbce702e8055ffaa7eec4afe66':
  Remove changing uids/timestamps from zip/jar files
2015-10-29 19:12:37 +00:00
Dan Willemsen
3c2c064c87 Remove changing uids/timestamps from zip/jar files
Pass -X to zip so that Unix UID/GID and extra timestamps aren't
saved into the zip files.

Add a new option to zipalign, -t, to replace all timestamps with static
timestamps (2008 Jan 1 00:00:00). Use this for all non-APK zip files.
APK zip timestamps are set based on the certificate date in SignApk.

Bug: 24201956
Change-Id: Ifb619fc499ba9d99fc624f2acd5f8de36d78ef8e
2015-10-29 11:57:16 -07:00
Tao Bao
e5eb4567d4 Merge "Honor TARGET_NO_RECOVERY flag."
am: c448e91c3d

* commit 'c448e91c3d3d095f8f200c9925f7db2ad525132f':
  Honor TARGET_NO_RECOVERY flag.
2015-10-29 16:45:31 +00:00
Tao Bao
c448e91c3d Merge "Honor TARGET_NO_RECOVERY flag." 2015-10-29 16:13:52 +00:00
Ying Wang
21ec03d186 Add _asan suffix to ro.build.flavor for ASAN builds.
Bug: 25344475
Change-Id: I27f2472906631239ca725ee09da2ab791cad2195
2015-10-28 18:47:00 -07:00
Ying Wang
4f5e8cc3ca Merge "Normalize the product makefile path in inherit-product." am: aabff90bfe
am: 3482ea54a2

* commit '3482ea54a2fecc756c79a94f37a66113d21d7558':
  Normalize the product makefile path in inherit-product.
2015-10-28 23:59:12 +00:00
Ying Wang
3482ea54a2 Merge "Normalize the product makefile path in inherit-product."
am: aabff90bfe

* commit 'aabff90bfe2312a95d3cf57564845fef8dc469a2':
  Normalize the product makefile path in inherit-product.
2015-10-28 23:55:10 +00:00
Ying Wang
67132baa4d Fix "make product-graph" and "make dump-products".
- For unmodified "make product-graph" and "make dump-products",
  load only the current product configuration makefiles. This is much
  faster than loading all product makefiles.
- For "make product-graph ANDROID_PRODUCT_GRAPH=--all",
  "make dump-products ANDROID_DUMP_PRODUCTS=all", load all product
  makefiles.
- Move product-graph.mk out of build tasks, so we can skip loading all
  the Android.mks, which takes long and we don't really need them.
  More importantly, with all product makefiles loaded, modules in
  Android.mks are prone to clash (if they are conditionally included
  by variables set up in product makefiles) and lead to parse-time
  error.

Change-Id: Idc1d6b0c23eb2c8bb34fdd7a1fa4d56171768d21
2015-10-28 16:49:44 -07:00
Ying Wang
a174261042 Normalize the product makefile path in inherit-product.
Some vendor product makefiles call $(inherit-product) on the same
product makefile with different paths, by using "../" in relative paths.
However inherit-product requires unique path as ID for a product
makefile, for bookkeeping purpose.
Normalize the product makefile path in inherit-product, if the path
contains "../".

Change-Id: I1a864ce120c713d8e79ec179213b9fc9352aba53
2015-10-28 15:20:41 -07:00
Colin Cross
0dc087dff7 Merge "Remove use of .INTERMEDIATE" am: dda5e96b14
am: 24ef58d163

* commit '24ef58d1638716c1fdbc130e6cf871d052e9d672':
  Remove use of .INTERMEDIATE
2015-10-28 21:15:27 +00:00
Colin Cross
24ef58d163 Merge "Remove use of .INTERMEDIATE"
am: dda5e96b14

* commit 'dda5e96b144c15a75d625ceac7e92b50cf9c363a':
  Remove use of .INTERMEDIATE
2015-10-28 21:12:02 +00:00
Colin Cross
42470e915d Remove use of .INTERMEDIATE
make 3.81 has a bug where combining an up-to-date .INTERMEDIATE rule
with -j causes an infinite loop (http://savannah.gnu.org/bugs/?15919).
.INTERMEDIATE was only necessary to support multiple outputs while only
running a command once, remove .INTERMEDIATE by replacing
$(KATI_OUTPUTS) dependencies with $(KATI_BUILD_NINJA).  We can assume
that $(KATI_NINJA_SH) will be updated at the same time as
$(KATI_BUILD_NINJA), and not explicitly depend on it.

Also remove generateonly and fastincremental, which are no longer
necessary and were overcomplicating ninja.mk.  kati now always runs due
to FORCE, and ninja is run by a phony rule that depends on
$(KATI_BUILD_NINJA).

Bug: 25344116
Change-Id: I99d2713b1532ea11d83da9a11b1be26cfe13a5d2
2015-10-28 13:31:40 -07:00
Tao Bao
db45efa647 Honor TARGET_NO_RECOVERY flag.
Don't generate recovery.img when calling 'make dist' if
TARGET_NO_RECOVERY is set. The build system passes the flag to the
packaging script which then generates recovery.img conditionally.

Bug: 25329471
Change-Id: Ifbc999300d5c31e897878f81e231ae7dd2aca660
2015-10-27 20:00:10 -07:00
Colin Cross
1ac51c013e Merge "Error out early on nonstandard JDK directory layouts" am: 506113d267
am: e95cf75293

* commit 'e95cf75293c7111957229ae898ad1afd453ead50':
  Error out early on nonstandard JDK directory layouts
2015-10-27 19:22:07 +00:00
Colin Cross
e95cf75293 Merge "Error out early on nonstandard JDK directory layouts"
am: 506113d267

* commit '506113d2671e8f3dd5a46b63b7996accec6acb35':
  Error out early on nonstandard JDK directory layouts
2015-10-27 19:17:38 +00:00
Colin Cross
506113d267 Merge "Error out early on nonstandard JDK directory layouts" 2015-10-27 19:12:40 +00:00
Ying Wang
fd06048887 Merge "Revert "Enable gold linker for aarch64."" am: edfa0981c9
am: 5eccb209d0

* commit '5eccb209d06bcc9c7502d5767dbc6c9e2fc7f8c5':
  Revert "Enable gold linker for aarch64."
2015-10-27 18:55:19 +00:00
Ying Wang
5eccb209d0 Merge "Revert "Enable gold linker for aarch64.""
am: edfa0981c9

* commit 'edfa0981c958453215fbbfccdcf6d05662cf9583':
  Revert "Enable gold linker for aarch64."
2015-10-27 18:49:07 +00:00
Ying Wang
edfa0981c9 Merge "Revert "Enable gold linker for aarch64."" 2015-10-27 18:36:47 +00:00
Dan Albert
e4256f5759 Revert "Enable gold linker for aarch64."
Causes build failures on Darwin.

prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin/ld.gold: warning: cannot scan executable section 5 of out/target/product/flounder/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o for Cortex-A53 erratum because it has no mapping symbols.

prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin/ld.gold: warning: cannot scan executable section 8 of out/target/product/flounder/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o for Cortex-A53 erratum because it has no mapping symbols.

prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin/ld.gold: warning: cannot scan executable section 11 of out/target/product/flounder/obj/SHARED_LIBRARIES/libdl_intermediates/libdl.o for Cortex-A53 erratum because it has no mapping symbols.

prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin/ld.gold: error: treating warnings as errors

This reverts commit 127d110172.

Change-Id: I1d3de90f5ae777b66a8f94fbcc9ccde8a9e3001c
2015-10-27 18:18:46 +00:00
Ying Wang
86a7c218e0 Merge "Strip LOCAL_MODULE before referencing it." am: 411b2f90a9
am: fbb85a95b5

* commit 'fbb85a95b5d1089c335106c33ce3613e3e39702a':
  Strip LOCAL_MODULE before referencing it.
2015-10-27 00:16:05 +00:00
Ying Wang
fbb85a95b5 Merge "Strip LOCAL_MODULE before referencing it."
am: 411b2f90a9

* commit '411b2f90a95e5a471f248ec769826cf22dd12296':
  Strip LOCAL_MODULE before referencing it.
2015-10-27 00:12:53 +00:00
Ying Wang
227cdd02c4 Strip LOCAL_MODULE before referencing it.
Bug: 24985980
Change-Id: Ic97e852aa7a8bf2d9224d3d6656d33145cc67800
(cherry-pick from commit 4d20a32a79)
2015-10-26 17:06:08 -07:00
Dan Albert
bcaf671bb6 Merge "Drop GCC back to C++11." am: dba46710fe
am: a01ec70d92

* commit 'a01ec70d92fa95d0851171f9f40eeb6d4dcb7dd3':
  Drop GCC back to C++11.
2015-10-26 21:14:46 +00:00
Dan Albert
a01ec70d92 Merge "Drop GCC back to C++11."
am: dba46710fe

* commit 'dba46710fe5bb0ea3bea8c3c0fea76273d343ff3':
  Drop GCC back to C++11.
2015-10-26 21:10:15 +00:00
Dan Albert
da63739767 Drop GCC back to C++11.
Our GCC does not use a valid C++14 ABI.

Bug: http://b/25022512
Change-Id: I6f4b3450137c24a6a0c00bf956bae7a0ba280094
2015-10-26 11:28:33 -07:00
Than McIntosh
77bdc82f5f Merge "Enable gold linker for aarch64." am: 14c2d968b9
am: 52cc54dcee

* commit '52cc54dceeb17fa6818b6a3e1496c894cb2bd231':
  Enable gold linker for aarch64.
2015-10-26 12:31:34 +00:00
Than McIntosh
52cc54dcee Merge "Enable gold linker for aarch64."
am: 14c2d968b9

* commit '14c2d968b913573e7a21fe72723254c9cc277210':
  Enable gold linker for aarch64.
2015-10-26 12:27:28 +00:00
Than McIntosh
14c2d968b9 Merge "Enable gold linker for aarch64." 2015-10-26 12:22:26 +00:00
Colin Cross
ca440e58d1 Merge "Add dummy description for GET-INSTALL-PATH" am: 9d192f1c10
am: bc20982b40

* commit 'bc20982b405a228984f9242957a23db6d463aad2':
  Add dummy description for GET-INSTALL-PATH
2015-10-24 21:15:53 +00:00
Colin Cross
bc20982b40 Merge "Add dummy description for GET-INSTALL-PATH"
am: 9d192f1c10

* commit '9d192f1c1090a757c9218296457482d2ba737989':
  Add dummy description for GET-INSTALL-PATH
2015-10-24 21:13:05 +00:00
Colin Cross
9d192f1c10 Merge "Add dummy description for GET-INSTALL-PATH" 2015-10-24 21:09:34 +00:00
Colin Cross
ec1b561981 Add dummy description for GET-INSTALL-PATH
kati takes the first @echo command in a rule and turns it in to a ninja
description that gets pretty-printed.  The GET-INSTALL-PATH is only
@echo commands and is parsed by development/testrunner/runtest.py, so
it fails to parse the pretty-printed first test.

Add a dummy @echo to GET-INSTALL-PATH for kati to use as the
description, so the rest of the @echo commands are left unmodified.

Change-Id: I192fde48b26726a2f6760448f819243bd2f21312
2015-10-23 21:38:12 -07:00
Colin Cross
112753ca55 Error out early on nonstandard JDK directory layouts
On Darwin, javac may be located in a nonstandard directory layout such as:
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac
The sed command to replace bin/javac with lib/tools.jar would fail to
match, resulting in the HOST_JDK_TOOLS_JAR being set to the javac path.
Since javac exists, the checks for missing tools.jar would all pass, and
javac would be added to the classpath instead of tools.jar, and causing
hard to debug errors about missing com.sun.javadoc when building doclava.

Change the sed command to replace /javac$, which should always be found,
with /../lib/tools.jar.

Change-Id: I5072f04636a5c14b3aeaa3a5cc3b366feae89c37
2015-10-23 19:00:43 -07:00
Ying Wang
8ac0c4bebb Merge "Normalize java source file paths before running "sort -u"." am: 0d4dad46f4
am: 471d347b89

* commit '471d347b8928e6b030d94869a2a9229086b79528':
  Normalize java source file paths before running "sort -u".
2015-10-23 20:28:15 +00:00
Ying Wang
471d347b89 Merge "Normalize java source file paths before running "sort -u"."
am: 0d4dad46f4

* commit '0d4dad46f44d6f4a498a1a8205a4b26ae2e55ac5':
  Normalize java source file paths before running "sort -u".
2015-10-23 20:24:52 +00:00
Ying Wang
4d68879ca6 Normalize java source file paths before running "sort -u".
We rely on "sort -u" to dedupe aidl/logtags generated java files added
by both from $(all_java_sources) and from "find
$(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java".
But "sort -u" doesn't work if any of the aidl/logtags source file path
has "../" in it.
This change fixes this issue by normalizing the source file paths before
passing them to "sort -u".

Change-Id: I12d2c4e0397bed9f426a1ed9b13608d72d01e0df
2015-10-23 13:19:47 -07:00
Tao Bao
5ddc4ac802 Merge "Bump up the BBOTA version to 4." am: ac4ec1a4ea
am: ada3927e53

* commit 'ada3927e53f5ff99beb6919162ea186924cb7621':
  Bump up the BBOTA version to 4.
2015-10-23 18:49:59 +00:00
Tao Bao
ada3927e53 Merge "Bump up the BBOTA version to 4."
am: ac4ec1a4ea

* commit 'ac4ec1a4ea83a150e08ccd43f30fe34de52cdebf':
  Bump up the BBOTA version to 4.
2015-10-23 18:45:35 +00:00
Tao Bao
ac4ec1a4ea Merge "Bump up the BBOTA version to 4." 2015-10-23 18:38:03 +00:00
Ying Wang
a34fb5fe34 Merge "Make sure R.stamp is always created" am: 47e46f7725
am: 3d7584d9c3

* commit '3d7584d9c3b619619eaf10a0110f28f4f802f2cb':
  Make sure R.stamp is always created
2015-10-23 18:22:31 +00:00
Ying Wang
3d7584d9c3 Merge "Make sure R.stamp is always created"
am: 47e46f7725

* commit '47e46f77257e172c3603208587cce55c0a9fc28f':
  Make sure R.stamp is always created
2015-10-23 18:16:45 +00:00
Ying Wang
47e46f7725 Merge "Make sure R.stamp is always created" 2015-10-23 18:09:11 +00:00
Martin Arenlind
fb6985e4dc Make sure R.stamp is always created
When an app has a resource directory, but the
directory contain no resources, R.stamp is not created.

This leads to that such apps are always rebuilt,
even when there are no changes.

This patch changes so that an empty R.stamp is
created even if there are no resources.
This leads to that affected apps are not rebuilt
unless changed.

Change-Id: Ia63e5b1913a4456402700b615ba7f9d56d2da852
2015-10-23 11:07:28 -07:00
Tao Bao
eba409c4da Bump up the BBOTA version to 4.
To accommodate new changes (such as error correction in [1]) to BBOTA
in N release. We bump up the version to keep the OTA script backward
compatible.

Needs the matching CL in commit
1fdec8685af858c5ff4f45d2e3059186ab5ed2ab.

[1]: commit 0a7b47397db3648afe6f3aeb2abb175934c2cbca

Change-Id: Ib9158b455cd5905fe2d4742ce81feb1b7583054f
2015-10-23 10:45:36 -07:00
Alex Deymo
47d31960d5 Merge "Rename UPDATE_AB_PARTITIONS to AB_OTA_PARTITIONS." am: c82b873b9b
am: 7410ed86c6

* commit '7410ed86c6ffa165ee7cc4b142e9843c18ae61a6':
  Rename UPDATE_AB_PARTITIONS to AB_OTA_PARTITIONS.
2015-10-23 14:51:34 +00:00
Alex Deymo
7410ed86c6 Merge "Rename UPDATE_AB_PARTITIONS to AB_OTA_PARTITIONS."
am: c82b873b9b

* commit 'c82b873b9b6c234da128cdbc0dde6624e45f5b6d':
  Rename UPDATE_AB_PARTITIONS to AB_OTA_PARTITIONS.
2015-10-23 14:48:30 +00:00
Alex Deymo
49be2b115c Rename UPDATE_AB_PARTITIONS to AB_OTA_PARTITIONS.
In order to have all the A/B updater variables in the same AB_OTA_
namespace we rename UPDATE_AB_PARTITIONS to AB_OTA_PARTITIONS.

Bug: None
Test: `make dist` includes the partitions.txt file if properly configured.

Change-Id: Ied4faabd7e2f0ab8a5007afb44ad2f38df8d630d
2015-10-22 18:17:36 -07:00
Ian Pedowitz
36bf4976bb Bump Android to 6.0.1 am: 0a20c942c4 am: 1f9ba9f89e
am: 4919ed4afc

* commit '4919ed4afc0c289683bfb4932640f6f9b52ed9c7':
  Bump Android to 6.0.1
2015-10-22 22:04:15 +00:00
Zach Jang
dca5dd4f79 Update security string to 2015-12-01 am: 0f1512bc03 am: 7b4c7fe5b7
am: 5e994e0d9c

* commit '5e994e0d9cb29bbb5e57bb4389086a6e106f6acd':
  Update security string to 2015-12-01
2015-10-22 22:04:07 +00:00
Ian Pedowitz
0a20c942c4 Bump Android to 6.0.1
Bug: 24777474
Change-Id: Ibaca3c2d583aa92c8ca998b6d380ee720b71b1b8
2015-10-22 21:46:00 +00:00
Than McIntosh
127d110172 Enable gold linker for aarch64.
Switches default linker from -fuse-ld-bfd to
-fuse-ld=gold, and enables -Wl,--icf=safe. This
changes reduces /system/lib64/*.so text size
by about 2% for N9.

Change-Id: I0ef2483e1c47c34e63292dad6f6bf532359b733e
2015-10-22 09:44:48 -04:00
Yohann Roussel
8c8c868180 Merge changes from topic \'jack-server-1.3-a3\'
am: e0c7b4ec96

* commit 'e0c7b4ec96d4aa584f79a24aea7c682a114143d8':
  Remove LOCAL_JACK_EXTRA_ARGS
  Allow control of jack used for compilation
  Clean call-jack and its callers
2015-10-22 10:50:40 +00:00
Yohann Roussel
e0c7b4ec96 Merge changes from topic 'jack-server-1.3-a3'
* changes:
  Remove LOCAL_JACK_EXTRA_ARGS
  Allow control of jack used for compilation
  Clean call-jack and its callers
2015-10-22 10:46:37 +00:00
Stephen Hines
adb12a039a Merge "Revert "Switch from clang 3.6 to new clang repository (with 3.8).""
am: a7918b4948

* commit 'a7918b49488ad0daed6def7459fbf0f9d281b4b5':
  Revert "Switch from clang 3.6 to new clang repository (with 3.8)."
2015-10-21 16:39:12 +00:00
Stephen Hines
f7dbab16ff Revert "Switch from clang 3.6 to new clang repository (with 3.8)."
This reverts commit 1332828b6e.

Bug: 25141123

Change-Id: Idd5d8757095b2b370046a84aea76bc95e16f3876
2015-10-21 09:09:38 -07:00
Yohann Roussel
6528ea3086 Remove LOCAL_JACK_EXTRA_ARGS
Use of DEFAULT_JACK_EXTRA_ARGS and LOCAL_JACK_FLAGS provides all needed
support.

(cherry picked from commit d2b2983cc7)

Change-Id: I1cd76836792e7332bc3750408a860400b0957485
2015-10-21 17:22:27 +02:00
Yohann Roussel
8998d57404 Allow control of jack used for compilation
Version of Jack used to compile a module can now be control from
a dedicated mk located in prebuilts/sdk/tools

Bug: 24564814

(cherry picked from commit b68c9a498d)

Change-Id: I7809dc966026ff94b5cb2daa7e2c63762ca4768d
2015-10-21 17:22:05 +02:00
Yohann Roussel
b2c5558435 Clean call-jack and its callers
This is possible now that we have the new Jack server.
Also fix dependency from dex/jack target to jack script
instead of jack.jar.

(cherry picked from commit 5e50b34221)

Change-Id: I8e7aa5087ba8d73cc93140ddfca8f4ab2f505175
2015-10-21 17:02:25 +02:00
Stephen Hines
bbbd421809 Merge "Switch from clang 3.6 to new clang repository (with 3.8)."
am: f5782d6097

* commit 'f5782d609724b5f41506433392ca51e1bed9c828':
  Switch from clang 3.6 to new clang repository (with 3.8).
2015-10-21 00:22:02 +00:00
Colin Cross
8b63d67e1b Merge changes I2ba90314,I5f47307d
am: fc8b331858

* commit 'fc8b331858747f8207e3861c0ada2c4fd359f648':
  makeparallel: prepend flags to ninja command line
  Put NINJA_ARGS last
2015-10-21 00:21:52 +00:00
Stephen Hines
f5782d6097 Merge "Switch from clang 3.6 to new clang repository (with 3.8)." 2015-10-21 00:18:05 +00:00
Colin Cross
fc8b331858 Merge changes I2ba90314,I5f47307d
* changes:
  makeparallel: prepend flags to ninja command line
  Put NINJA_ARGS last
2015-10-21 00:15:33 +00:00
Andreas Gampe
3c131856ee Merge "Build: Fix DEX2OAT_TARGET_CPU_VARIANT setting"
am: 6c45f4493e

* commit '6c45f4493e125f4632ee0d0ed95d0198018cbb80':
  Build: Fix DEX2OAT_TARGET_CPU_VARIANT setting
2015-10-20 23:50:59 +00:00
Andreas Gampe
6c45f4493e Merge "Build: Fix DEX2OAT_TARGET_CPU_VARIANT setting" 2015-10-20 23:37:36 +00:00
Colin Cross
88dc18a319 Put NINJA_ARGS last
Put NINJA_ARGS at the end of the command line so it can contain tools,
which expect to be last.

Change-Id: I5f47307d01aa52eb74a333b19ffe3a7cd8950b01
2015-10-20 15:12:12 -07:00
Dan Willemsen
b93e8250d7 Merge "Stop encoding absolute paths in symbols"
am: 9f576acde6

* commit '9f576acde6c27149c9ca563f0a73e9f1c5e0e768':
  Stop encoding absolute paths in symbols
2015-10-20 20:52:09 +00:00
Dan Willemsen
9f576acde6 Merge "Stop encoding absolute paths in symbols" 2015-10-20 20:46:21 +00:00
Andreas Gampe
847b00bf1b Build: Fix DEX2OAT_TARGET_CPU_VARIANT setting
The secondary variant fallback was not set. The build system expects
the variants, so system properties were malformed for x86-64:

  [dalvik.vm.isa.x86.variant]: [dalvik.vm.isa.x86.features=default]

Bug: 24989387
Change-Id: Idbf54f81494f2650ad56080305807fd6b7ed4161
2015-10-19 18:21:18 -07:00
Zach Jang
0f1512bc03 Update security string to 2015-12-01
Change-Id: I525bab4579449dd285ba87d7ddc9cb36223bf7fd
2015-10-19 17:57:33 -07:00
Christopher Wiley
487cc7beaf Merge "Invoke the aidl-cpp compiler to generate C++"
am: ba39c5690a

* commit 'ba39c5690aae0bcd7102c0030a31b705ce1b92f1':
  Invoke the aidl-cpp compiler to generate C++
2015-10-19 23:49:58 +00:00
Christopher Wiley
2df75d17a8 Invoke the aidl-cpp compiler to generate C++
Bug: 23599697
Test: test application compiles generated code

Change-Id: I35255517dd0b7ef7a82134be1c862093eaa3ce6b
2015-10-19 16:18:03 -07:00
Dan Willemsen
3fc56a1fa1 am 77493047: Merge "Add support for LOCAL_SRC_FILES_EXCLUDE"
* commit '7749304741070af8239e02f68d688fc45fd877d1':
  Add support for LOCAL_SRC_FILES_EXCLUDE
2015-10-19 14:24:53 -07:00
Dan Willemsen
7749304741 Merge "Add support for LOCAL_SRC_FILES_EXCLUDE" 2015-10-19 21:21:40 +00:00
Sami Tolvanen
58a748d37e am 87f58261: Merge "Error correction: Append codes to verified partitions"
* commit '87f582611a5a5c23abf3237abe0e467e46111567':
  Error correction: Append codes to verified partitions
2015-10-19 02:55:51 -07:00
Sami Tolvanen
87f582611a Merge "Error correction: Append codes to verified partitions" 2015-10-19 09:49:18 +00:00
Colin Cross
a04abc8e23 Add support for LOCAL_SRC_FILES_EXCLUDE
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
2015-10-16 17:33:01 -07:00
Ying Wang
19fcc054bd am 19e4741d: Merge "Use direct dependency on the JNI so files."
* commit '19e4741df60643d4fdb876e77069bb63857a12b2':
  Use direct dependency on the JNI so files.
2015-10-16 01:25:15 +00:00
Ying Wang
19e4741df6 Merge "Use direct dependency on the JNI so files." 2015-10-16 01:19:48 +00:00
Ying Wang
d358f826e7 Use direct dependency on the JNI so files.
With the order-only dependency if the jni so files is updated,
make won't rebuild the system.img, which has dependency only on the apk
file.

Bug: 24865400
Change-Id: I9d5bee82b8a712a2c24dabaa0cd4c50174ea219f
2015-10-15 17:50:06 -07:00
Dan Albert
b56b2e9aa0 am 5baea143: Merge "Use libgcov OR libclang_rt.profile, not both."
* commit '5baea1436371dea7e14562b17431bcd2b6a55f7d':
  Use libgcov OR libclang_rt.profile, not both.
2015-10-15 18:48:42 +00:00
Dan Albert
5baea14363 Merge "Use libgcov OR libclang_rt.profile, not both." 2015-10-15 18:39:42 +00:00
Steve Fung
a6968d8f1d am 2af58637: Merge "Add the Product ID to target_files.zip"
* commit '2af586376d2b99c75a5672c72a704f2031adc0fe':
  Add the Product ID to target_files.zip
2015-10-15 18:19:52 +00:00
Steve Fung
2af586376d Merge "Add the Product ID to target_files.zip" 2015-10-15 18:13:41 +00:00
Peter Qiu
cf58d1f5fe am 7d3690eb: Merge "Export include path to D-Bus headers for multilib builds"
* commit '7d3690eb3572477b65c04c7a7964a3367c2f69a6':
  Export include path to D-Bus headers for multilib builds
2015-10-15 04:08:50 +00:00
Peter Qiu
7d3690eb35 Merge "Export include path to D-Bus headers for multilib builds" 2015-10-15 04:00:38 +00:00
Ying Wang
ef67c1963f am 84c5ae52: Merge "Use @arg-lsit-file for jar in add-carried-jack-resources"
* commit '84c5ae523201f17b94b5b0afe85a9af3f26c8231':
  Use @arg-lsit-file for jar in add-carried-jack-resources
2015-10-15 01:15:34 +00:00
Ying Wang
3a562a9942 Use @arg-lsit-file for jar in add-carried-jack-resources
Don't pass the arg list as argument in any bash command;
Instead store the arg list to the arg list file and
run "jar @arg-lsit-file".
Note we need to quote the arguments in the arg list file.

This fixed "argument list too long" build error on Mac.

Bug: 24789595
Change-Id: I718f84e540d82bb83516824894a473b2961da278
2015-10-14 17:48:21 -07:00
Dan Willemsen
6a66a887ba Stop encoding absolute paths in symbols
GCC & Clang encode the current working directory into the symbol files.
Even if the binaries are stripped before being installed, the build-id
hash will be different. This means that two different checkouts will
produce different installed binaries, even if the sources are identical.

To prevent this, set PWD=/proc/self/cwd, so that it replaces the
absolute path with the static path /proc/self/cwd. With GCC, use
-fdebug-prefix-map to remove that static path. Our clang does not yet
support this flag, but it was merged in r250094.

This does change the behavior when using gdb -- you now need to be in
$ANDROID_BUILD_TOP before gdb will load the sources.

Bug: 24204119
Change-Id: I792d65b042b7a3fdc78d567c5a6e93cdf0141b9b
2015-10-14 17:30:11 -07:00
Peter Qiu
425e01996a Export include path to D-Bus headers for multilib builds
Bug:None

Change-Id: I6e3898c71f54ede08a27f5be93e95a2b219e5ea6
2015-10-14 16:54:48 -07:00
Ying Wang
5b7aaeaa2e am ed4b0eeb: Merge "Revert "Use @arg-lsit-file for jar in add-carried-jack-resources""
* commit 'ed4b0eeb435903d9be502dcebd2c000f143df575':
  Revert "Use @arg-lsit-file for jar in add-carried-jack-resources"
2015-10-14 23:32:18 +00:00
Ying Wang
ed4b0eeb43 Merge "Revert "Use @arg-lsit-file for jar in add-carried-jack-resources"" 2015-10-14 23:09:14 +00:00
Ying Wang
3bfecc8b65 Revert "Use @arg-lsit-file for jar in add-carried-jack-resources"
This reverts commit 16f93d5661.

Change-Id: I925dae6a2d07792c61fcd3b6fd8718391ab993f8
2015-10-14 23:08:53 +00:00
Steve Fung
22d624a904 Add the Product ID to target_files.zip
When using the A/B updater, include the product id string to
target_files.zip.
This is needed by the Omaha backend.

Bug: 24946811
Change-Id: I2ce5f6cffe440c29a1820348ee215c71cec07861
2015-10-14 15:56:50 -07:00
Ying Wang
5d012538fb am 37572684: Merge "Use @arg-lsit-file for jar in add-carried-jack-resources"
* commit '3757268466d8fe9438e45e989728a74f14a162c6':
  Use @arg-lsit-file for jar in add-carried-jack-resources
2015-10-14 21:47:50 +00:00
Ying Wang
3757268466 Merge "Use @arg-lsit-file for jar in add-carried-jack-resources" 2015-10-14 21:43:41 +00:00
Ying Wang
f8c6575fce am 191da9bc: Merge "Let get-prebuilt-src-arch return empty if the input is empty"
* commit '191da9bc08360409fa2951567e427168a8d1f76d':
  Let get-prebuilt-src-arch return empty if the input is empty
2015-10-14 20:45:49 +00:00
Sami Tolvanen
f99b53143d Error correction: Append codes to verified partitions
Append error-correcting codes to verified partitions provided that
PRODUCT_SUPPORTS_VERITY_FEC is true.

This moves verity metadata to be after the hash tree, and requires
matching changes from
  Ide48f581bbba77aed6132f77b309db71630d81ed

Bug: 21893453
Change-Id: I6945cbab99e214566a1f9d3702333f2dbbc35816
2015-10-14 18:06:20 +01:00
Chih-Wei Huang
74ccefbee5 Let get-prebuilt-src-arch return empty if the input is empty
The list of archs of a pure java apk (no native libs) is empty.
In this case get-prebuilt-src-arch still return 'none'.
If it's set to LOCAL_MODULE_TARGET_ARCH, it makes the apk
be incompatible with the building target. It's not good.

Just return empty in this case.

Change-Id: Ide75cdb08c8480c8e7d3a0ac59f41831fbc18bd5
2015-10-14 18:56:14 +08:00
Ying Wang
16f93d5661 Use @arg-lsit-file for jar in add-carried-jack-resources
Don't pass the arg list as argument in any bash command;
Instead store the arg list to the arg list file and
run "jar @arg-lsit-file".

This fixed "argument list too long" build error on Mac.

Bug: 24789595
Change-Id: I3e5cd18fd988f12f0876b152b8bf07d07b56119e
2015-10-13 18:45:16 -07:00
Ying Wang
6bdbcece58 am 723a2653: Merge "Allow to build against Mac OS X SDK 10.11."
* commit '723a26530f801640e8fb9fe037a9f6ca9abe1f39':
  Allow to build against Mac OS X SDK 10.11.
2015-10-14 01:05:41 +00:00
Ying Wang
16b1b0576c Allow to build against Mac OS X SDK 10.11.
Bug: 24739158
Change-Id: I7c57e141dd02a0d2de5a7a1ccbc72ffe422a8d6f
2015-10-13 18:00:45 -07:00
Dan Willemsen
57a64e015c Add all-named-(dirs|files)-under and related
To consolidate the number of places that we're using 'find' in the tree,
add some more helpers:

  all-named-dirs-under
  all-subdir-named-dirs
  all-named-files-under
  all-subdir-named-files

This change also makes many of the current helpers use these helpers
instead of using their own implementation.

The 'dirs' helpers are using '-type d' so that they only output
directories. It's probably safe to use '-type f' for the files helpers,
but that increased the kati load time by ~20%.

Bug: 24204119
Change-Id: I3312e2fe8c146f10955e1d986ad15d9c8be494e1
2015-10-13 16:14:57 -07:00
Dan Willemsen
7a74e5ee0e Add all-cpp-files-under
There are multiple versions of this in the tree. Let's standardize on
one that will work for everyone, and will sort the results.

Bug: 24204119
Change-Id: I09fcd80e1e8e35e64d8a8a62bbc096f87b02603f
2015-10-13 16:14:53 -07:00
Dan Willemsen
76a89d3a0a Sort all files found via $(shell find)
Don't rely on filesystem ordering to make these the same for all builds.

Bug: 24204119
Change-Id: I7313062157764091acecf45f4b57405c28858546
2015-10-13 16:14:12 -07:00
Bertrand Simonnet
5df7366e12 am f698ca63: Merge "Add the product version to target_files.zip."
* commit 'f698ca63d970e1ed7f9b5c4090d2cf5cfa659e55':
  Add the product version to target_files.zip.
2015-10-13 20:08:37 +00:00
Bertrand Simonnet
f698ca63d9 Merge "Add the product version to target_files.zip." 2015-10-13 19:59:42 +00:00
Neil Fuller
f0eab40487 am 9d14d317: Merge "Fix for Java 8 toolchain builds"
* commit '9d14d317c8b0f128903db72bfb1cfda0f3468280':
  Fix for Java 8 toolchain builds
2015-10-13 09:14:16 +00:00
Neil Fuller
9d14d317c8 Merge "Fix for Java 8 toolchain builds" 2015-10-13 08:26:16 +00:00
Shinichiro Hamaji
c016366dc8 am b7462534: Merge "Stop passing --gen_all_phony_targets to kati"
* commit 'b7462534f23145b8413fdd631fe419d0e38b335a':
  Stop passing --gen_all_phony_targets to kati
2015-10-13 05:39:04 +00:00
Shinichiro Hamaji
b7462534f2 Merge "Stop passing --gen_all_phony_targets to kati" 2015-10-13 05:35:50 +00:00