Commit Graph

911 Commits

Author SHA1 Message Date
Alex Klyubin 587484abe5 Uncompress native libs only if they are compressed.
This changes the build system to uncompress native libraries in
preinstalled APKs only if the libraries are actually compressed.
Previously, any preinstalled APK containing native libraries was
modified by having all native libraries removed from the APK and then
re-added to the APK in uncompressed form.

Bug: 27887819
Change-Id: I3db172133e141bb6282bf3ed7070b068a826724e
2016-05-17 13:33:34 -07:00
Dan Willemsen 958dc6098e Merge "Remove TARGET_LIBGCC/LIBATOMIC/LIBGCOV" am: a794f4db22
am: 19fdc4428f

* commit '19fdc4428f9036b059a1174a3236eef03180e826':
  Remove TARGET_LIBGCC/LIBATOMIC/LIBGCOV

Change-Id: I143bf88ad5031764644dfb2c8b279513c809b50b
2016-05-17 03:05:32 +00:00
Dan Willemsen db16dd2384 Remove TARGET_LIBGCC/LIBATOMIC/LIBGCOV
Instead, use the libgcc/libatomic/libgcov from the static libraries dir,
which is provided by Soong. Copy the libraries using the Soong script if
Soong is disabled - this can be removed once USE_SOONG is removed.

Change-Id: Iad2ad20ad5c3cfc48bf1e46e594a482609098d7a
2016-05-16 17:26:54 -07:00
Dan Willemsen 18a2229bab Merge "Soong: Read Android.soong.mk if skipping Android.mk" am: ea71c96894
am: b8759f4f4b

* commit 'b8759f4f4b060fe9c4dc60fa6d786949b81f4ca0':
  Soong: Read Android.soong.mk if skipping Android.mk

Change-Id: Ibc2622b8292cb33270fe89ee8fcae4cdeb6b60c9
2016-05-13 23:58:48 +00:00
Dan Willemsen 5b188fb539 Soong: Read Android.soong.mk if skipping Android.mk
If Soong is enabled, and we're skipping an Android.mk because there is
an Android.bp file, check for an Android.soong.mk file and read that
instead. This will allow us to temporarily define modules or recurse
into subdirectories that soong does not yet support.

Change-Id: Ifdb2f0204a38a5069e53527f66ffcfb8008c11a4
2016-05-13 16:10:41 -07:00
Shinichiro Hamaji 4ed2ff913b resolve merge conflicts of 505f1ea to nyc-dev-plus-aosp
Change-Id: I023ace4df452371eea1b0b004d8817e6fe90585e
2016-05-13 14:33:34 +09:00
Shinichiro Hamaji d8f9f7d873 Follow symlinks when using find for assets
This should have been done in
https://android-review.googlesource.com/#/c/43901/

Bug: 27954979
Change-Id: I663b5e87e0d844d37a59e404219ff5e7e364df74
2016-05-12 18:17:02 +09:00
Alex Klyubin 8a86f9ea4d Fix handling of version codes in minSdkVersion when signing.
am: f59ad14c1f

* commit 'f59ad14c1f7cb07a4669741f8b0bb1e938398eca':
  Fix handling of version codes in minSdkVersion when signing.

Change-Id: Ie53be2528b32bc2eaa70645000ad66473422e06f
2016-05-11 21:56:43 +00:00
Alex Klyubin f59ad14c1f Fix handling of version codes in minSdkVersion when signing.
The APK signing tool, build/tools/signapk, needs to know the API Level
of the oldest platform supported by the APK. The APK's minSdkVersion
may reference that using a number (API Level) or a version code. To
handle the version code case, the existing logic was to see if it
matches $PLATFORM_VERSION_CODENAME and then substitute it with
$PLATFORM_SDK_VERSION.

However, some platforms support multiple version codes. To handle this
scenario, this commit changes the logic for computing the min API
Level for signing purposes to treat any non-numeric minSdkVersion as
$PLATFORM_SDK_VERSION.

Bug: 28715556
Change-Id: I292c96e8928b7e2f8d9716ef2be33a23a87764c4
2016-05-11 12:11:11 -07:00
Ying Wang dbe53e4bde resolve merge conflicts of e6b72b3 to nyc-dev-plus-aosp
Change-Id: Ic60ea2050c6e724e9bcbb5277087f1377315e9b3
2016-05-06 13:37:05 -07:00
Ying Wang 05f9f35836 Harden dependency on generated sources.
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
2016-05-06 10:20:17 -07:00
Adam Lesinski 54d4d765ba Merge "Call aapt2 link with argument-list" into nyc-dev
am: dfd6197f51

* commit 'dfd6197f5173b957b6e41a83df66d04068fa6517':
  Call aapt2 link with argument-list

Change-Id: I34e64e07736d428ca87044ac07a952be50531464
2016-04-29 22:13:20 +00:00
Adam Lesinski dfd6197f51 Merge "Call aapt2 link with argument-list" into nyc-dev 2016-04-29 22:09:01 +00:00
Todd Kennedy a9ce97d223 Merge "Only align when necessary" into nyc-dev
am: 1ccfe52630

* commit '1ccfe5263008991aeff10964da3bdc6c2c1c1d06':
  Only align when necessary

Change-Id: I2452df91a9c97a0b7d2d182165384d63ce040a09
2016-04-29 21:02:31 +00:00
Todd Kennedy 3f18099610 Only align when necessary
Bug: 27887819
Change-Id: Ie8b5ca31cc1c08943588fc6039d75190ff7eeb8b
2016-04-29 13:58:13 -07:00
Adam Lesinski 8d1e2fdcba Call aapt2 link with argument-list
Also follow symbolic links when looking for assets.

Bug:22775504
Change-Id: I971e23505f766a2192469df1aad55bc20c46f618
2016-04-28 15:10:18 -07:00
Adam Lesinski 9c5f7a462c Merge "Revert "Call aapt2 link with argument-list"" into nyc-dev
am: 6c078e0522

* commit '6c078e0522daafbdb5b2635baa510c2863bde2bb':
  Revert "Call aapt2 link with argument-list"

Change-Id: I36d1080067620f991766a751830cac885fd1dc48
2016-04-28 20:15:41 +00:00
Adam Lesinski 6c078e0522 Merge "Revert "Call aapt2 link with argument-list"" into nyc-dev 2016-04-28 20:10:17 +00:00
Adam Lesinski 4c44d94999 Revert "Call aapt2 link with argument-list"
This reverts commit d4d6a50fbb.

Change-Id: If84ad9921eb51ae16eae2be3cf4b2ee86b31ce80
2016-04-28 20:06:53 +00:00
Adam Lesinski 2e58fba928 Merge "Call aapt2 link with argument-list" into nyc-dev
am: 0e57d3afc1

* commit '0e57d3afc181720bdd6bea3cd1a7352168458b62':
  Call aapt2 link with argument-list

Change-Id: Ifa9d900511acec9174e6e658d515b277e9669964
2016-04-28 19:43:46 +00:00
Adam Lesinski 0e57d3afc1 Merge "Call aapt2 link with argument-list" into nyc-dev 2016-04-28 19:34:32 +00:00
Adam Lesinski d4d6a50fbb Call aapt2 link with argument-list
Also follow symbolic links when looking for assets.

Bug:22775504

Change-Id: I78b4e2b7d7750dfecafd64e29cf0e19dff851155
2016-04-26 13:32:01 -07:00
Keun Soo Yim 46a259651f resolve merge conflicts of 72b82dc to nyc-dev-plus-aosp
Change-Id: I6e62226774584154ad1a802594e386fe7942504b
2016-04-25 15:27:21 -07:00
Keun Soo Yim 3d4847525f build rule change for VTS (vendor test suite)'s metadata files
Change-Id: I76b81529a97b672e08632703d2f6a2777ee8811e
2016-04-25 13:06:57 -07:00
Yohann Roussel b6232d90da resolve merge conflicts of 995b62b to nyc-dev-plus-aosp
Change-Id: I4293e9f2777fb9b7e2023764703855ff3d778b40
2016-04-22 18:45:45 +02:00
Yohann Roussel 5ce149b76a Merge changes I6e98fc65,Ia8665e7c
* changes:
  Remove bootclasspath handling for Jack
  Remove static libraries from Jack classpath
2016-04-22 15:51:50 +00:00
Yohann Roussel ae2fc81706 Remove bootclasspath handling for Jack
Bootclasspath libraries are already added in LOCAL_JAVA_LIBRARIES by
java.mk and host_dalvik_java_library.mk meaning that bootclasspath
handling was just doing a duplicate work and adding duplicated entries
to the classpath.

Also fix order of bootclasspath libraries for host.

Bug: 28307907
Change-Id: I6e98fc651a127435c029de65285dbf2cb04844af
2016-04-22 09:29:32 +02:00
Chih-hung Hsieh 7a8e69eea2 Merge "Call clang-tidy based on WITH_TIDY* variables." am: 3f03b10654
am: c72f50d49f

* commit 'c72f50d49fb95794039f270d4083b9cfed4cd482':
  Call clang-tidy based on WITH_TIDY* variables.

Change-Id: I4eb0afd79b56ad2ddea42b33791df27da6ab8820
2016-04-21 21:11:00 +00:00
Chih-Hung Hsieh a9a55c7c7e Call clang-tidy based on WITH_TIDY* variables.
* Call clang-tidy before every C/C++ compilation if
  (1) clang-tidy is found at $(PATH_TO_CLANG_TIDY)
  (2) $(my_clang) is true
  (3) LOCAL_TIDY is 1 or true, or
      LOCAL_TIDY is undefined and WITH_TIDY is 1 or true.
* clang-tidy is called with -checks=$(my_tidy_checks),
  which has default '-*,google*,-google-readability*'
  and can be overwritten by WITH_TIDY_CHECKS.
* LOCAL_TIDY_CHECKS is appended to $(my_tidy_checks)
* Extra flags are passed to clang-tidy through
  WITH_TIDY_FLAGS or LOCAL_TIDY_FLAGS.
* To quickly find and fix clang-tidy warnings, set $(WITH_TIDY_ONLY)
  to 1 or true to skip compilation of C/C++ files.
* Add a PHONY tidy_only target,
  which includes all $(cpp_objects) and $(c_objects).
* The 'mm' and 'mmm' functions are changed to call make with
  the 'tidy_only' target when WITH_TIDY_ONLY is true or 1.
  In that case, only clang-tidy is called for C and C++ files.

Bug: http://b/27779618
Change-Id: I8adcfff217d68af49849b79aacee7d7654cafb1b
2016-04-21 12:31:13 -07:00
Yohann Roussel 2dc79b11cd Remove static libraries from Jack classpath
Those libraries are already imported (or added to the classpath in the
case of the check command) meaning that they were all duplicated.
In addition to complicating the build this was also slowing down the
compilation.

Bug: 28307907
Change-Id: Ia8665e7c5ad8b567bd02de7839fa62e67a5668f7
2016-04-21 17:40:55 +02:00
Yabin Cui b10a1190cb Merge "Add strip mode mini-debug-info." am: 9a02623
am: 3cb18ef

* commit '3cb18efc4a4ec9497a237e8151ebc3b15857c837':
  Add strip mode mini-debug-info.

Change-Id: Ic915892d0cc7142ec7ce2847cc4a69a3d24a54c3
2016-04-16 00:36:07 +00:00
Yabin Cui 9a02623eb6 Merge "Add strip mode mini-debug-info." 2016-04-16 00:23:50 +00:00
Yabin Cui fab7995cd8 Add strip mode mini-debug-info.
Mini-debug-info strip mode strips most debug information, but
maintains minimal debugging information similar to
https://sourceware.org/gdb/onlinedocs/gdb/MiniDebugInfo.html.

Bug: 27923447

Change-Id: I0405f0b3c33cb3cadeafbd22ce94d645c4dbe7b9
2016-04-15 16:12:00 -07:00
Ying Wang 81ef4714f4 Merge commit '1f07720f8518236e8438ae0f25ea7211da8c8c45' into manual_merge_1f07720
Change-Id: I5ad50aacbe99b4ebf8ae7e630f169100128b5b3c
2016-03-31 10:10:42 -07:00
Ying Wang b89c5fda00 Merge "Replace in recipe with subshell." am: 0fda1ea
am: d4d59fd

* commit 'd4d59fd87c004a6dbbe581a011f7f9d9027b74a1':
  Replace $(shell) in recipe with subshell.

Change-Id: I67d553aa1ab7f92e7719a3678074aad9d6a812e8
2016-03-31 16:55:55 +00:00
Ying Wang 77b6353689 Merge "Remove support of disabling Jack." 2016-03-31 16:52:49 +00:00
Ying Wang a6a9ab07ed Replace $(shell) in recipe with subshell.
Bug: 27925180
Change-Id: I4a735755e4f818f6ce608c87ad111b9dd205ef41
2016-03-30 18:34:43 -07:00
Ying Wang 858657366f Remove support of disabling Jack.
We removed code and variables related to running dx on classes.jar in
this change. Also removed target emma rules (but kept the emma rules for
host java libraries), for it's now done by Jack.
We still support to build classes.jar (and javalib.jar for static Java
libraries) using javac, because tools like javadoc need class files as
input.
Removed the obsolete install-dex-debug.

Bug: 27400061
Change-Id: If0bcdfe62cb181a98754fb0dbe1c12c92e38d3e8
2016-03-30 14:03:12 -07:00
Shinichiro Hamaji fbd5d8de0f Merge "Fix dependencies around tools/*-event-log-tags.py" am: 4487319
am: a2be61e

* commit 'a2be61ed16bcb406030ff01a30e4dec90a8ff5de':
  Fix dependencies around tools/*-event-log-tags.py

Change-Id: I8fee3f7846e723d46eb26356798eedb9566f3a28
2016-03-29 20:51:05 +00:00
Shinichiro Hamaji 0f846c73e1 Replace last -includes by .KATI_DEPFILE
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 72904774a3)
2016-03-29 12:10:48 -07:00
Shinichiro Hamaji 2fb7b61a2e Use KATI_DEPFILE for .P associated with object files
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 4037c4225a)
2016-03-29 12:10:03 -07:00
Shinichiro Hamaji d3ce14c325 Fix dependencies around tools/*-event-log-tags.py
We should regenerate merged tag files and java sources when
these scripts are updated.

Change-Id: Id5f11d6f480f3f74dab08f01e929ee2d7fafd2d0
2016-03-30 03:04:40 +09:00
Colin Cross 6e6a167521 Merge "Ignore Android.mk files with USE_SOONG=true" into nyc-dev
am: c031c75

* commit 'c031c758c63c83679cf55abb50ba9e4474d22814':
  Ignore Android.mk files with USE_SOONG=true
2016-03-25 19:59:02 +00:00
Ying Wang dcb1da9093 Merge "Remove rmtypedefs from the build system."
am: 6557ba5

* commit '6557ba5335798627572669512489fdc8c59915a6':
  Remove rmtypedefs from the build system.
2016-03-25 18:08:55 +00:00
Ying Wang fbc5b9f56b Rebuild odex files in PDK fusion build.
To rebuild odex files of Java libraries and apps,
we store the jars/apks without stripping the classes.dex inside the
platform.zip. We also save the build variables that may affect how we
rebuild an odex in pdk_dexpreopt_config.mk in the platform.zip.
We store the files and configuration only for libraries/apps that get
installed to the system.img (or vendor.img).

In PDK fusion build, we auto-generate prebuilt module definitions for
the javalib.jar and package.dex.apk carried in the platform.zip, using
configuration stored in pdk_dexpreopt_config.mk.
With the prebult modules, we override the implicit rule that directly
copies the odex from the platform.zip.
To rebuild odex of javalib.jar, we added support for prebuilt shared Java
library to prebiult_internal.mk. An installable prebuilt Java library is
treated as shared Java library, i.e. with classes.dex in the jar instead
of a set of .class files.
For apks in the platform.zip, we install the stripped version from
platform files inside platform.zip, instead of the package.dex.apk,
using a new variable LOCAL_REPLACE_PREBUILT_APK_INSTALLED. We can't
strip package.dex.apk because we can't re-sign the stripped apk at this
point.

We generate prebuilt module only if it's not already defined in the
source tree.

Bug: 27543283
Change-Id: I9e146f8b713d6f57c397fd28d88c9ab700757ca1
(cherry-pick from commit 3a61eeb6cb)
2016-03-25 11:06:04 -07:00
Colin Cross 946a08cf51 Ignore Android.mk files with USE_SOONG=true
When USE_SOONG=true, ignore any Android.mk file that has an Android.bp
file in the same directory.

Change-Id: Id79bd90c2aed5dafc2f8ad2c5b7eb0aa6e81dc18
(cherry picked from commit 861ab99536)
2016-03-24 14:36:48 -07:00
Ying Wang 72bc59ce8b Remove rmtypedefs from the build system.
We don't need to run rmtypedefs in javac compilation now, because the
runtime libraries are compiled by only jack, which takes care of
rmtypedefs by itself.

Bug: 27828139
Change-Id: Ie480ae5aead8f3f58f956978fc4a05c28a35dec6
2016-03-24 12:25:56 -07:00
Dan Willemsen 1e061d789a Merge "Remove ALL_PREBUILT, all users have been removed"
am: cfb5545

* commit 'cfb554566447b31cd045a5b67b960018418fe874':
  Remove ALL_PREBUILT, all users have been removed
2016-03-23 23:19:27 +00:00
Dan Willemsen cfb5545664 Merge "Remove ALL_PREBUILT, all users have been removed" 2016-03-23 23:12:46 +00:00
Dan Willemsen 3006962257 Remove ALL_PREBUILT, all users have been removed
Change-Id: I37154506ef419e7a68ce7e2d864624d2ae53206f
2016-03-23 14:15:16 -07:00
Ying Wang 7dee3625e0 Merge "Create empty .a on Darwin when there is no obj file."
am: 37aa85e

* commit '37aa85e8bb0d86cae946d85a27b6ded593c425b7':
  Create empty .a on Darwin when there is no obj file.
2016-03-23 16:56:20 +00:00
Ying Wang 4aaa1a1fd8 Create empty .a on Darwin when there is no obj file.
On Darwin ar would fail if there is no object file to add.
We work around by adding a dummy.o to the .a and then deleting it.

Bug: 27800477
Change-Id: I68bbebea2726058c25863d7026a645a520d05167
2016-03-22 18:23:13 -07:00
Yohann Roussel 2ae244c578 Remove rules for building dex with dx
This is just to ensure no dex file is built with dx any more, cleaning
of the build rules from Jack optionality is still to be done.

Bug: 27218410

(cherry picked from commit 22313f2b2a)

Change-Id: I1e7f2f5dcc7f95a44f5ebf2e4ba99931ff3ba014
2016-03-18 16:03:00 +01:00
Yohann Roussel cb43e9d0da Merge "Remove rules for building dex with dx"
am: a978779

* commit 'a978779668cb6dd8791348dc701bf154f80164af':
  Remove rules for building dex with dx
2016-03-18 13:59:10 +00:00
Yohann Roussel a978779668 Merge "Remove rules for building dex with dx" 2016-03-18 13:50:55 +00:00
Przemyslaw Szczepaniak 23649c76ce Merge "Allow for 5400 words in dump-words-to-file" into nyc-dev
am: 1b21b85

* commit '1b21b85b119796d9007e874af99948a803805397':
  Allow for 5400 words in dump-words-to-file
2016-03-18 12:44:23 +00:00
Przemyslaw Szczepaniak 0aeee045bd Allow for 5400 words in dump-words-to-file
After adding java.util.stream,  doc-comment-check target
started to fail due to "Too many words" while
generating out/target/common/docs/doc-comment-check-timestamp.rsp
This change extends number of dumped words to 5400.

Bug: 27692239
Change-Id: Ifa75cada7b90c5737fc7a1d10325f3a49a2238ac
2016-03-18 12:09:44 +00:00
Chih-Hung Hsieh baf5f3c67f Merge "Link in ASAN library if my_global_santitize is set."
am: 9d5fb14

* commit '9d5fb14b2d551e522c51f78361b77653191c8c91':
  Link in ASAN library if my_global_santitize is set.
2016-03-17 16:36:15 +00:00
Chih-hung Hsieh 9d5fb14b2d Merge "Link in ASAN library if my_global_santitize is set." 2016-03-17 16:26:32 +00:00
Yohann Roussel 26912851ab resolve merge conflicts of 63de777 to nyc-dev-plus-aosp
Change-Id: I5dadd6f7bbf494665f9deb0cfafcce65530825d0
2016-03-16 17:33:38 +01:00
Yohann Roussel 63de777488 Merge "Inform Jack of the min sdk" into nyc-dev 2016-03-16 15:41:58 +00:00
Yohann Roussel 740ec8fe8a Inform Jack of the min sdk
Set Jack min sdk according to LOCAL_SDK_VERSION. Gives Jack current
version when LOCAL_SDK_VERSION is not available.

Bug: 27371864

(cherry picked from commit c6383d6ec6)

Change-Id: Ieba0219494f29d2737d2ca234317c3af7e5e72c8
2016-03-16 15:41:00 +01:00
Yohann Roussel c6383d6ec6 Inform Jack of the min sdk
Set Jack min sdk according to LOCAL_SDK_VERSION. Gives Jack current
version when LOCAL_SDK_VERSION is not available.

Bug: 27371864

Change-Id: I5db233fe09aed0fae37fe9a92658bc8f24b86cdf
2016-03-16 11:55:46 +01:00
Yohann Roussel 22313f2b2a Remove rules for building dex with dx
This is just to ensure no dex file is built with dx any more, cleaning
of the build rules from Jack optionality is still to be done.

Bug: 27218410
Change-Id: Iea2c66802b6c64c52690ad9d6d487bdce5f50b79
2016-03-16 10:33:02 +01:00
Chih-Hung Hsieh ad741e6d66 Link in ASAN library if my_global_santitize is set.
* When my_global_santitize is set and requires ASAN,
  link with ASAN library even when local module is not
  instrumented with ASAN, unless the local module is
  the ASAN library itself.
* Add -Wl,--as-needed to my_ldflags for shared libraries
  so that unneeded ASAN library would not become
  a dependent of the built .so file.
* Change shared file and executable file link argument order
  so that -Wl flags will have effect on linked-in libraries.
* Remove unused ADDRESS_SANITIZER_CONFIG_EXTRA_SHARED_LIBRARIES.

BUG: 27614834

Change-Id: I4eda6003f1f24e498cba91c043dbe1fabe522686
2016-03-15 16:53:46 -07:00
Shinichiro Hamaji 082d5e5081 Merge "Replace last -includes by .KATI_DEPFILE"
am: c26ec724b8

* commit 'c26ec724b8b4d356573901f96e1a8ce728bdd1b1':
  Replace last -includes by .KATI_DEPFILE
2016-03-15 23:06:31 +00:00
Ying Wang c9a19779a2 resolve merge conflicts of fc16dca602 to nyc-dev-plus-aosp
Now we can remove all uses of $(ACP) in prebuilt_internal.mk.

Change-Id: I07a449f3acca9b56c6a387ff8ca1535d19c872d1
2016-03-15 14:46:12 -07:00
Shinichiro Hamaji 72904774a3 Replace last -includes by .KATI_DEPFILE
There was a typo in binary.mk. compile-dotdot-XXX-file in
definitions.mk was also using -include.

Bug: 26839129
Change-Id: I4a0145fb70413998cc65d30d2efcd68af07b4800
2016-03-16 06:40:04 +09:00
Yohann Roussel a023f41f13 Merge "Revert "Inform Jack of the min sdk"" 2016-03-15 15:04:54 +00:00
Yohann Roussel 962282bde2 Revert "Inform Jack of the min sdk"
This reverts commit 94451580af.

Bug: 27371864
Change-Id: I60a8c89b2ab8a6cbde4dd3b0aed24b71700815ab
2016-03-15 15:02:11 +00:00
Yohann Roussel 10baeeebc4 Merge "Inform Jack of the min sdk" 2016-03-15 09:42:11 +00:00
Ying Wang 3a61eeb6cb Rebuild odex files in PDK fusion build.
To rebuild odex files of Java libraries and apps,
we store the jars/apks without stripping the classes.dex inside the
platform.zip. We also save the build variables that may affect how we
rebuild an odex in pdk_dexpreopt_config.mk in the platform.zip.
We store the files and configuration only for libraries/apps that get
installed to the system.img (or vendor.img).

In PDK fusion build, we auto-generate prebuilt module definitions for
the javalib.jar and package.dex.apk carried in the platform.zip, using
configuration stored in pdk_dexpreopt_config.mk.
With the prebult modules, we override the implicit rule that directly
copies the odex from the platform.zip.
To rebuild odex of javalib.jar, we added support for prebuilt shared Java
library to prebiult_internal.mk. An installable prebuilt Java library is
treated as shared Java library, i.e. with classes.dex in the jar instead
of a set of .class files.
For apks in the platform.zip, we install the stripped version from
platform files inside platform.zip, instead of the package.dex.apk,
using a new variable LOCAL_REPLACE_PREBUILT_APK_INSTALLED. We can't
strip package.dex.apk because we can't re-sign the stripped apk at this
point.

We generate prebuilt module only if it's not already defined in the
source tree.

Bug: 27543283
Change-Id: I9e146f8b713d6f57c397fd28d88c9ab700757ca1
2016-03-14 21:01:46 -07:00
Shinichiro Hamaji fb87a2610d Merge "Use KATI_DEPFILE for .P associated with object files"
am: b95dc31033

* commit 'b95dc310330bd59fa860ab98822529bb0d2256c6':
  Use KATI_DEPFILE for .P associated with object files
2016-03-14 22:07:10 +00:00
Shinichiro Hamaji b95dc31033 Merge "Use KATI_DEPFILE for .P associated with object files" 2016-03-14 21:59:46 +00:00
Yohann Roussel 94451580af Inform Jack of the min sdk
Set Jack min sdk according to LOCAL_SDK_VERSION. Gives Jack current
version when LOCAL_SDK_VERSION is not available.

Bug: 27371864
Change-Id: Ieba0219494f29d2737d2ca234317c3af7e5e72c8
2016-03-11 11:55:57 +01:00
Dan Willemsen 8b90565476 Merge "Do not apply GLOBAL_CFLAGS_NO_OVERRIDE to host *.S" am: 6d813d8c92
am: 851983bbf2

* commit '851983bbf2dc9cf2ea5877d6e95a9d962bd63fdd':
  Do not apply GLOBAL_CFLAGS_NO_OVERRIDE to host *.S
2016-03-04 21:02:05 +00:00
Dan Willemsen 6d813d8c92 Merge "Do not apply GLOBAL_CFLAGS_NO_OVERRIDE to host *.S" 2016-03-04 20:52:57 +00:00
Ying Wang ea04f821fc Align up java-lib-files and java-lib-deps.
- For host Java libraries, java-lib-files should return javalib.jar.
- Host dalvik Java libraries are special: factor out
  host-dex-java-lib-files.
- Be explict that jack-lib-deps equals jack-lib-files.

Bug: 27451686
Change-Id: I9235384354e119ef7ebbf29b7e525d1ceea242e0
(cherry-pick from commit 063d0455e0)
2016-03-04 10:39:24 -08:00
Ying Wang fef4f411d9 Align up java-lib-files and java-lib-deps.
am: 063d0455e0

* commit '063d0455e0f3a14f2577a26715f82e0bf3e79ee9':
  Align up java-lib-files and java-lib-deps.
2016-03-04 17:30:59 +00:00
Dan Willemsen df9acac680 Do not apply GLOBAL_CFLAGS_NO_OVERRIDE to host *.S
Target assembly files do not get these cflags, align the host
definitions to do the same.

Change-Id: Idadfa1f367c3ebea44460c5798225a85dd319371
2016-03-03 17:38:16 -08:00
Ying Wang 063d0455e0 Align up java-lib-files and java-lib-deps.
- For host Java libraries, java-lib-files should return javalib.jar.
- Host dalvik Java libraries are special: factor out
  host-dex-java-lib-files.
- Be explict that jack-lib-deps equals jack-lib-files.

Bug: 27451686
Change-Id: I9235384354e119ef7ebbf29b7e525d1ceea242e0
2016-03-03 13:48:43 -08:00
Shinichiro Hamaji 4037c4225a Use KATI_DEPFILE for .P associated with object files
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
Change-Id: If00e93c7a33449ec314a5cdba438475a32979f4e
2016-03-03 18:19:37 +09:00
Yohann Roussel 1501a9a8b5 Merge "Use Jack to check build" into nyc-dev 2016-03-03 08:47:41 +00:00
Yohann Roussel 57a54b4199 Merge "Use Jack to check build" am: 6a9d0f9718
am: 4fd0463191

* commit '4fd0463191b316fd80b2ec8c0ba33bb5fcf5aa16':
  Use Jack to check build
2016-03-02 09:14:20 +00:00
Yohann Roussel 6a9d0f9718 Merge "Use Jack to check build" 2016-03-02 08:46:24 +00:00
Dan Willemsen 23afb78cf9 Merge commit 'cdaf748e3abefd93a4e45393e96717fad8564c51'
Change-Id: I3c44564b08ed46f46719dbca54d4225718bb8c59
2016-03-01 15:36:08 -08:00
Adam Lesinski bda7a2b046 Merge "AAPT2: Enable product/config filtering and improve source ordering" into nyc-dev
am: 7214d224b8

* commit '7214d224b85f7504fb0686e187fdf7f18b135000':
  AAPT2: Enable product/config filtering and improve source ordering
2016-03-01 22:04:06 +00:00
Stephen Hines ed68f54ba0 Merge changes I769ed278,I99cb69ea,I57bcbed0,I6e51e51f,Iab2d36e2 into nyc-dev
* changes:
  Remove debug statement
  Tell Soong about HOST_CROSS_*
  Update to use the latest clang-2629532.
  Use newest clang static analyzers.
  Add 64-bit windows cross-compiles
2016-03-01 21:36:15 +00:00
Dan Willemsen 7f016150a0 Remove unused dependencies on $(ACP)
Most of these are calling to copy-file-to-target or similar, which no
longer use $(ACP).

Change-Id: I62287a80c577c34df587b74e70055c2f56050ce7
2016-03-01 13:15:35 -08:00
Dan Willemsen f1a98af5fc Replace some uses of acp with cp
ACP was originally created to overcome differences with cp between
Linux, Darwin, and Windows. We've since dropped Windows as a build host,
and don't use features like '-u' anymore.

For most of our current usecases, 'acp' is identical to 'cp' except that
it splits 'cp -p' into 'acp -p' for mode and ownership, and 'acp -t' for
timestamps. On Linux, this could be specified using
'--preserve=mode,ownership', but Darwin doesn't have this.

Since we're removing the destination file before copying, 'cp' already
preserves the mode (modulated by the umask). So the only extra thing
that gets preserved with 'acp -p' is ownership, which we should not care
about in the build system. (In many cases we shouldn't be preserving
mode either, so that readonly source trees can actually be marked
readonly, but that will be a future change)

Change-Id: Ied96fdc303ac5c774347c07363daec8b6dfb22e4
2016-03-01 13:08:50 -08:00
Dan Willemsen 93536c29b1 Merge "Remove destination before copying file" am: 469665ded5
am: e401e09a3c

* commit 'e401e09a3cf067f7eb15b5e94274a763a039be9c':
  Remove destination before copying file
2016-03-01 19:46:49 +00:00
Yohann Roussel e792abc2d9 Use Jack to check build
Run jack with no outputs as a quick check for compilation errors and use
a timestamp to store that check was made.

Bug: 19069325

(cherry picked from commit 43084d9f49)

Change-Id: I9b84b503b28cfdfa245f91da0061ee3a79386b28
2016-03-01 16:57:20 +01:00
Yohann Roussel ee57268cd7 Use Jack to check build
Run jack with no outputs as a quick check for compilation errors and use
a timestamp to store that check was made.

Bug: 19069325

(cherry picked from commit 43084d9f49)

Change-Id: I9b84b503b28cfdfa245f91da0061ee3a79386b28
2016-03-01 16:34:08 +01:00
Dan Willemsen 3545eeb6c1 Remove destination before copying file
If there's a symlink as the destination to one of these macros,
currently we'll write to the destination of that symlink instead of
overwriting the symlink. We've run into this a few times when a module
is added to replace a symlink that used to exist via
LOCAL_POST_INSTALL_CMD. These have required manual discovery, and
additions to CleanSpec.mk files:
http://android-review.googlesource.com/143334

Use `rm -f` for single-file targets to remove the destination before
copying. On Linux, `cp --remove-destination` can work, but is not
supported by Darwin or acp.

There may still be problems with dependencies when symlinks are
involved, since ninja will use the destination of the symlink to check
whether it is up to date. But at least with this change, if any
dependency gets regenerated, we'll properly reset the file.

Change-Id: I6d3ac0bd9ced5e21a0ff9dad0eaff012a7bc9c75
2016-02-29 22:22:29 -08:00
Dan Willemsen 9ffa38b193 Merge "Remove USE_NINJA=false" am: 3bfc095f53
am: d73633c082

* commit 'd73633c0824a63f7104bddf9a798bccc952b545c':
  Remove USE_NINJA=false
2016-02-29 22:19:29 +00:00
Dan Willemsen 1c6dc5b942 Remove USE_NINJA=false
And everything special-cased on that. Add a warning if USE_NINJA is
set to let users know that it no longer changes anything.

Change-Id: Ib8739151fe26ea6bf8f76b7ac2b8f4097dab0b47
2016-02-26 21:48:31 -08:00
Dan Willemsen 7e57b8ca57 Add 64-bit windows cross-compiles
This is mostly the same as the existing 2ND_HOST / HOST_CROSS support.

The interesting thing I did here was make x86 the 'first' architecture,
and x86_64 the second. This way LOCAL_MULTILIB := first defaults to
32-bit windows modules.

  windows-x86/bin   <- defaults to 32-bit executables
  windows-x86/lib   <- 32-bit libraries, like before
  windows-x86/lib64 <- 64-bit libraries
  windows-x86/obj   <- 32-bit intermediates
  windows-x86/obj64 <- 64-bit intermediates

Then modules are registered with the names:

  host_cross_liblog    <- 32-bit, like before
  host_cross_liblog_64 <- 64-bit

Bug: 26957718

(cherry picked from commit 9ecbf83259)

Change-Id: Iab2d36e20d7002568c3534e7781e9ac8ab21a4a9
2016-02-26 18:51:26 -08:00
Adam Lesinski e758f9319d AAPT2: Enable product/config filtering and improve source ordering
- Restore old ordering of resource files to match AAPT behavior
- Change the order in which overlays are processed.

Change-Id: I9da88f6b4124e7f89a70eb485b4591d5c4c87d38
2016-02-26 16:11:20 -08:00
Ying Wang 64ef18e840 Merge "AAPT2: library resource compilation" into nyc-dev
am: 6dece90534

* commit '6dece90534af8b290ccc385fda2e4cf0f3a37454':
  AAPT2: library resource compilation
2016-02-26 23:02:04 +00:00
Ying Wang e295c3df68 AAPT2: library resource compilation
- Switch to static library's package-res.apk as the link artifact.
- For prebuilt AAR file, build package-res.apk using aapt2's "--dir"
  option.
- New LOCAL variables:
  LOCAL_USE_AAPT2: a module can opt-in with "LOCAL_USE_AAPT2 := true".
  LOCAL_STATIC_ANDROID_LIBRARIES: static Java libraries with compiled
                   resources.
  LOCAL_SHARED_ANDROID_LIBRARIES: shared Java libraries with compiled
                   resources.

Bug: 25958912
Change-Id: I4be2d1e8137555986338c2583cb39b0c97391751
2016-02-26 10:44:56 -08:00
Dan Willemsen c12ad5c5c0 Define a class for renderscript bitcode files
These have been using SHARED_LIBRARIES, but aren't elf shared libraries.
Continue installing them to /system/lib[64], but do not apply any other
normal shared library logic to them.

(cherry picked from commit c6e194ffad)

Change-Id: I0041650af92cd8063ca33215010d5eff514a89bc
2016-02-18 17:34:53 -08:00
Dan Willemsen 530e4fbae6 Merge "Define a class for renderscript bitcode files"
am: 69a4592aa5

* commit '69a4592aa50e9b6d675af83b6b2392796803395a':
  Define a class for renderscript bitcode files
2016-02-16 21:51:52 +00:00
Dan Willemsen c6e194ffad Define a class for renderscript bitcode files
These have been using SHARED_LIBRARIES, but aren't elf shared libraries.
Continue installing them to /system/lib[64], but do not apply any other
normal shared library logic to them.

Change-Id: I3055ff86bb7b116c7107c41578ed6f0f304b1cf1
2016-02-13 00:19:40 -08:00
Alex Klyubin 0c5c50997b Merge "Sign APKs using SHA-256 instead of SHA-1 when possible." into nyc-dev 2016-02-11 18:50:12 +00:00
Sebastien Hertz 95d41f178e Merge "Remove usages of jill.jar, use jack instead"
am: 91d20b06f5

* commit '91d20b06f547b551c1cecd190c840469e845f68c':
  Remove usages of jill.jar, use jack instead
2016-02-11 08:52:11 +00:00
Sebastien Hertz 91d20b06f5 Merge "Remove usages of jill.jar, use jack instead" 2016-02-11 08:48:44 +00:00
Alex Klyubin b05b62df2e Sign APKs using SHA-256 instead of SHA-1 when possible.
This changes the build system to provide the signapk tool with the
minSdkVersion of the APK being signed. signapk in turn will then use
SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher
(see c2c49ed0c1).

To avoid increasing incremental OTA update package sizes for already
released platforms, release build scripts disable the above logic when
signing target files ZIPs for pre-N platforms.

Bug: 25643280

(cherry picked from commit 2cfd1d108c)

Change-Id: I38450d07ddc05c705de40313f843beada8db7d98
2016-02-10 17:19:08 -08:00
Alex Klyubin fec3a14892 Merge "Sign APKs using SHA-256 instead of SHA-1 when possible."
am: 07d3dbd2ed

* commit '07d3dbd2eda1aa5b3283191e681d48b341c635bf':
  Sign APKs using SHA-256 instead of SHA-1 when possible.
2016-02-10 21:46:53 +00:00
Alex Klyubin 2cfd1d108c Sign APKs using SHA-256 instead of SHA-1 when possible.
This changes the build system to provide the signapk tool with the
minSdkVersion of the APK being signed. signapk in turn will then use
SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher
(see c2c49ed0c1).

To avoid increasing incremental OTA update package sizes for already
released platforms, release build scripts disable the above logic when
signing target files ZIPs for pre-N platforms.

Bug: 25643280

Change-Id: I3f2faaf49c6fa392ffbf1ee9f30de476f9f73231
2016-02-10 09:40:31 -08:00
Yohann Roussel ccfa5c6761 Remove usages of jill.jar, use jack instead
Bug: 27113650
(cherry picked from commit d0bb7bdf5a)

Change-Id: Ie9be0d5c7e43ea857411431bb79db5cbb476484f
2016-02-10 18:07:15 +01:00
Yohann Roussel d87cc99af2 Remove usages of jill.jar, use jack instead
Bug: 27113650
(cherry picked from commit d0bb7bdf5a)

Change-Id: I218ed2bda032b00bee4c52994a0aadce6d699133
2016-02-10 18:05:38 +01:00
Dan Willemsen 6863fe23a9 Merge "Add 64-bit windows cross-compiles"
am: 8c4f25f12f

* commit '8c4f25f12fe0fe8265fb8849cf7cb2fc482ae7e5':
  Add 64-bit windows cross-compiles
2016-02-09 21:14:21 +00:00
Dan Willemsen 9ecbf83259 Add 64-bit windows cross-compiles
This is mostly the same as the existing 2ND_HOST / HOST_CROSS support.

The interesting thing I did here was make x86 the 'first' architecture,
and x86_64 the second. This way LOCAL_MULTILIB := first defaults to
32-bit windows modules.

  windows-x86/bin   <- defaults to 32-bit executables
  windows-x86/lib   <- 32-bit libraries, like before
  windows-x86/lib64 <- 64-bit libraries
  windows-x86/obj   <- 32-bit intermediates
  windows-x86/obj64 <- 64-bit intermediates

Then modules are registered with the names:

  host_cross_liblog    <- 32-bit, like before
  host_cross_liblog_64 <- 64-bit

Bug: 26957718
Change-Id: I9f119411acb43e973ec1e6bca3c1dc291c91556c
2016-02-05 16:33:18 -08:00
Sebastien Hertz 8192d3b821 Merge "Support code coverage with Jack" am: 4dad88980f
am: 7b02e64148

* commit '7b02e64148e6a1c0355d715b2a8034061f0d2837':
  Support code coverage with Jack
2016-02-02 09:13:57 +00:00
Sebastien Hertz 4dad88980f Merge "Support code coverage with Jack" 2016-02-02 07:31:37 +00:00
Shinichiro Hamaji 87bc53a281 Merge "Use dependency files generated by llvm-rs-cc for Java" am: e786d21854
am: 2f4b8a042c

* commit '2f4b8a042cacf2667d9704ef2e59373b6a2591cc':
  Use dependency files generated by llvm-rs-cc for Java
2016-02-01 23:10:33 +00:00
Shinichiro Hamaji 52a1d6c666 Use dependency files generated by llvm-rs-cc for Java
This is a reland of 4c474617d4
This time, we use awk instead of sed, and the script works
on Mac.

For C++ code llvm-rs-cc defines two targets but it defines
three targets for Java. The sed script was updated to handle
both cases appropriately.

Bug: 26839129
Change-Id: I1bca7d253764554d552950e03deedabaa9b7f17e
2016-02-01 17:59:01 +09:00
Shinichiro Hamaji bee8fb862b Merge "Revert "Use dependency files generated by llvm-rs-cc for Java"" am: d6184e1da9
am: b1e250b44a

* commit 'b1e250b44aef5cf32493024584188d5055e0f54f':
  Revert "Use dependency files generated by llvm-rs-cc for Java"
2016-02-01 08:22:05 +00:00
Shinichiro Hamaji d6184e1da9 Merge "Revert "Use dependency files generated by llvm-rs-cc for Java"" 2016-02-01 08:16:42 +00:00
Shinichiro Hamaji 5f50ea3bc9 Revert "Use dependency files generated by llvm-rs-cc for Java"
This reverts commit 4c474617d4.

Change-Id: I66c46360d0ccf927c807ddd5cfbc56cbd97ed4a2
2016-02-01 08:08:26 +00:00
Shinichiro Hamaji 283e648a24 Merge "Use dependency files generated by llvm-rs-cc for Java" am: 3fdb9ad716
am: a73d744e36

* commit 'a73d744e36bd5e5c237607fb57253b757e9facf5':
  Use dependency files generated by llvm-rs-cc for Java
2016-02-01 07:57:01 +00:00
Shinichiro Hamaji 3fdb9ad716 Merge "Use dependency files generated by llvm-rs-cc for Java" 2016-02-01 07:50:32 +00:00
Dan Willemsen 917de453ee Merge "Order objects based on LOCAL_SRC_FILES and LOCAL_GENERATED_SOURCES" am: 224466b1af
am: 991c840313

* commit '991c8403131dc5781d3d4a1d10d292dc99fee202':
  Order objects based on LOCAL_SRC_FILES and LOCAL_GENERATED_SOURCES
2016-01-30 02:49:08 +00:00
Alex Klyubin 357902b9de Merge "Revert "Sign APKs using SHA-256 instead of SHA-1 when possible." This is breaking CTS." am: 01ac26d942
am: 1cafe66be2

* commit '1cafe66be274a5a8bbbc3a0dcab9d4e8f6e5ae61':
  Revert "Sign APKs using SHA-256 instead of SHA-1 when possible." This is breaking CTS.
2016-01-30 00:04:25 +00:00
Alex Klyubin 061289c432 Revert "Sign APKs using SHA-256 instead of SHA-1 when possible." This is breaking CTS.
This reverts commit c2a36afd67.

Change-Id: I4389bf99aeb213198c1c501ba9462bd4a4540d0a
2016-01-29 23:56:44 +00:00
Alex Klyubin d0aefe7947 Merge "Sign APKs using SHA-256 instead of SHA-1 when possible." am: 50f872c696
am: 7a86884a9a

* commit '7a86884a9a3474a926d30f7afdf0b7a3d307dd81':
  Sign APKs using SHA-256 instead of SHA-1 when possible.
2016-01-29 20:25:10 +00:00
Alex Klyubin c2a36afd67 Sign APKs using SHA-256 instead of SHA-1 when possible.
This changes the build system to provide the signapk tool with the
minSdkVersion of the APK being signed. signapk in turn will then use
SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher
(see c2c49ed0c1).

To avoid increasing incremental OTA update package sizes for already
released platforms, release build scripts disable the above logic when
signing target files ZIPs for pre-N platforms.

Bug: 25643280

(cherry picked from commit de5bc04717)

Change-Id: I4b100750e47788ab6ed897a0a5abfd33542e8676
2016-01-29 10:17:02 -08:00
Shinichiro Hamaji 4c474617d4 Use dependency files generated by llvm-rs-cc for Java
This is similar to 2e45fd036a
but this CL is for generated java code.

For C++ code llvm-rs-cc defines two targets but it defines
three targets for Java. The sed script was updated to handle
both cases appropriately.

Bug: 26839129
Change-Id: I5c7705c67f3c65c4c14f74558e603f8ec9f35879
2016-01-28 17:03:02 +09:00
Dan Willemsen 3bb168f10d Order objects based on LOCAL_SRC_FILES and LOCAL_GENERATED_SOURCES
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
2016-01-27 16:48:02 -08:00
Sebastien Hertz dfce8ad4f4 Support code coverage with Jack
Building an app with Jack and with the environment variable
EMMA_INSTRUMENT_STATIC set to true will apply code coverage
onto the app targeting Jacoco.

Bug: 20115492
Change-Id: Ief3640fa3faa466f7f6aaa9739e06d3db24110a0
2016-01-27 19:14:14 +01:00
Alex Klyubin fcc3e3915d Merge "Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."" am: 4a97cde443
am: e40660247d

* commit 'e40660247dfb4260fff31ba38b2869f644e1329b':
  Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."
2016-01-27 17:56:21 +00:00
Alex Klyubin a80a8085e0 Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."
This reverts commit 74df828cb5. This commit is breaking a build, again...

Change-Id: I2df561d68302ba4c83e90a64a7bf203645033a3b
2016-01-27 17:45:42 +00:00
Alex Klyubin 6c125375b0 Merge "Sign APKs using SHA-256 instead of SHA-1 when possible." am: 72d152f478
am: 5132fe2ef9

* commit '5132fe2ef9f29bd748a8d34898bd183ef257e937':
  Sign APKs using SHA-256 instead of SHA-1 when possible.
2016-01-27 17:04:09 +00:00
Adam Lesinski 97f48ebeab Merge "Support to build with AAPT2" 2016-01-26 19:25:03 +00:00
Alex Klyubin 74df828cb5 Sign APKs using SHA-256 instead of SHA-1 when possible.
This changes the build system to provide the signapk tool with the
minSdkVersion of the APK being signed. signapk in turn will then use
SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher
(see c2c49ed0c1).

To avoid increasing incremental OTA update package sizes for already
released platforms, release build scripts disable the above logic when
signing target files ZIPs for pre-N platforms.

Bug: 25643280
Change-Id: I058393e0971d0d6559dbd69ea902754c6c7cab14
(cherry picked from commit de5bc04717)
2016-01-26 18:41:57 +00:00
Shinichiro Hamaji d6cad82b89 Merge "Use dependency files generated by llvm-rs-cc" am: 19f99a742d
am: d39a629d3a

* commit 'd39a629d3ae3b072f419972356bcfa3fc340b1bd':
  Use dependency files generated by llvm-rs-cc
2016-01-26 06:41:53 +00:00
Ying Wang dd71c85a45 Support to build with AAPT2
To build with AAPT2, set "USE_AAPT2=true".
TODO: Support split apks and generated resources from other than renderscript.

Bug: 25958912
Change-Id: I19b1a038824ce5b2a3d3ffadbce3173c845193fc
2016-01-25 22:41:43 -08:00
Shinichiro Hamaji 2e45fd036a Use dependency files generated by llvm-rs-cc
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
2016-01-26 14:24:46 +09:00
Alex Klyubin 4f90999d7a Merge "Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."" am: 7382bdf8c1
am: 2cf2509542

* commit '2cf2509542d234e4d958195c834b74da2253b2cb':
  Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."
2016-01-25 17:26:54 +00:00
Alex Klyubin 7382bdf8c1 Merge "Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."" 2016-01-25 17:19:02 +00:00
Alex Klyubin 1429d5e14c Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."
This reverts commit de5bc04717 because it's breaking some builds. Turns out some APKs have multiple sdkVersion attributes returned by aapt.

Change-Id: I013d6ef5eac473dd3900e0b9edf4c32cdc838bab
2016-01-25 17:17:09 +00:00
Alex Klyubin 6e850d0193 Merge "Sign APKs using SHA-256 instead of SHA-1 when possible." am: b763b29267
am: 2a37afd32c

* commit '2a37afd32c4bb571ced26ec738a9d9a89b5fba7e':
  Sign APKs using SHA-256 instead of SHA-1 when possible.
2016-01-25 16:48:46 +00:00
Alex Klyubin b763b29267 Merge "Sign APKs using SHA-256 instead of SHA-1 when possible." 2016-01-25 16:42:27 +00:00
Christopher Wiley e46193a608 Merge "Separate aidl dependencies from compiler dependencies" am: 8edda3afdf
am: cfd817d058

* commit 'cfd817d058994ebda3b98db4e8113752753d422e':
  Separate aidl dependencies from compiler dependencies
2016-01-21 18:29:25 +00:00
Christopher Wiley d1eea90a72 Merge "Keep aidl generated C++ inside the generated folder" am: 11feb8b075
am: 7c52b2d878

* commit '7c52b2d878e6234cb6e36942c87c438fa1e80240':
  Keep aidl generated C++ inside the generated folder
2016-01-21 18:29:15 +00:00
Alex Klyubin de5bc04717 Sign APKs using SHA-256 instead of SHA-1 when possible.
This changes the build system to provide the signapk tool with the
minSdkVersion of the APK being signed. signapk in turn will then use
SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher
(see c2c49ed0c1).

To avoid increasing incremental OTA update package sizes for already
released platforms, release build scripts disable the above logic when
signing target files ZIPs for pre-N platforms.

Bug: 25643280
Change-Id: I048393e0971d0d6559dbd69ea902754c6c7cab14
2016-01-21 10:25:12 -08:00
Christopher Wiley 087f327304 Separate aidl dependencies from compiler dependencies
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
2016-01-20 12:54:09 -08:00
Christopher Wiley 257796c62d Keep aidl generated C++ inside the generated folder
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
2016-01-20 09:17:20 -08:00
Colin Cross 19f6638026 Merge "Ignore Android.mk files with USE_SOONG=true" 2016-01-13 20:32:26 +00:00
Ying Wang f0ebe165b9 Generate .c for .y and .l
- 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
2016-01-12 21:07:27 -08:00