Commit Graph

26911 Commits

Author SHA1 Message Date
Shinichiro Hamaji
2a0d1fee20 Use .KATI_DEPFILE for files generated by aidl-java
Bug: 26839129
Change-Id: Ief611969b28aea3bb12097ba91d40f3e5010d647
2016-01-28 16:13:05 +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
4a97cde443 Merge "Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."" 2016-01-27 17:49:40 +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
72d152f478 Merge "Sign APKs using SHA-256 instead of SHA-1 when possible." 2016-01-27 16:55:16 +00:00
Neil Fuller
26990b0f64 Merge "Doclava template changes associated with default methods" 2016-01-27 13:25:43 +00:00
Neil Fuller
8f7d4b7474 Doclava template changes associated with default methods
The ordering of method declaration modifiers changed slightly
to reflect the ordering given in:

http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.4.3
http://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.4

Bug: 26241119
(cherry-picked from commit ca59875e12)

Change-Id: I8489ad5010fc811b22167af50ba29221aac8b6cb
2016-01-27 11:57:34 +00:00
Shinichiro Hamaji
3e2f5d83a4 Merge "Write clean_steps.mk with multiple commands" 2016-01-27 08:36:04 +00:00
Shinichiro Hamaji
1326f65c2f Write clean_steps.mk with multiple commands
$(INTERNAL_CLEAN_STEPS) could be too big to be fit in a single
command line.

Bug: 26707439
Change-Id: Ieed6c772980d06c2418a9246b025bca7a6f568aa
2016-01-27 14:59:56 +09:00
Alex Deymo
2857b7a3d7 Merge "Place the META/ dir first in the target_files.zip." 2016-01-27 03:28:53 +00:00
Alex Deymo
92cfd6fc2b Place the META/ dir first in the target_files.zip.
To help early verification of a target_files.zip being uploaded to our
servers, we place the META/ directory first in the .zip file, so checks
against the product_id.txt and product_version.txt don't need to wait
for the whole file to upload.

Note that META/*filesystem_config.txt files are generated and added to
the .zip file at a later point, so they are not included at the
beginning.

Bug: 26806325
TEST=`make dist` and `unzip -l out/dist/edison-target_files-eng.$USER.zip` shows most META/ files first.

Change-Id: I1955645412688f5c7823063ed56606b251daccfd
2016-01-26 18:52:10 -08:00
Kevin Cernekee
30177c45b4 Merge "README: Update docs" 2016-01-26 23:45:37 +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
Neil Fuller
385ac86745 Merge "Revert "Revert "Make OpenJDK 8 the default""" 2016-01-26 10:33:54 +00:00
Shinichiro Hamaji
19f99a742d Merge "Use dependency files generated by llvm-rs-cc" 2016-01-26 06:36:02 +00: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
Christopher Ferris
4d15f2f8c9 Merge "Add libc_malloc_debug to the always build list." 2016-01-25 21:27:57 +00:00
Josh Gao
1ae548d81d Merge "Error out if MALLOC_IMPL is defined." 2016-01-25 18:23:35 +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
Neil Fuller
1f495b865e Revert "Revert "Make OpenJDK 8 the default""
Reapply the switch to JDK 8 on aosp/master.

This reverts commit 85bddfdedf.

Change-Id: If2e8733ba78b007d37914c0512cd6be1bd4c1e69
2016-01-25 17:12:41 +00:00
Neil Fuller
c0acea2571 Merge "Revert "Make OpenJDK 8 the default"" 2016-01-25 17:11:12 +00:00
Neil Fuller
85bddfdedf Revert "Make OpenJDK 8 the default"
Temporary revert to help out Brillo folks.
It will be resubmitted tomorrow.

This reverts commit 4495f6afb8.

Change-Id: Id378c7d3a6e72e9be50f9404b19d5763568987a5
2016-01-25 17:04:14 +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
Neil Fuller
797d3deb52 Merge "Make OpenJDK 8 the default" 2016-01-25 10:45:34 +00:00
Neil Fuller
4495f6afb8 Make OpenJDK 8 the default
To return to OpenJDK 7:
export LEGACY_USE_JAVA7=true

And run envsetup.sh/lunch again.

Bug: 25786468
Change-Id: I8e00591a24d13e3b8b6baaafe0fdff6536c58770
2016-01-25 10:19:25 +00:00
Stephen Hines
adad19674c Merge "Add an RS_CLANG variable as well for RenderScript." 2016-01-22 23:22:44 +00:00
Stephen Hines
49b695375c Add an RS_CLANG variable as well for RenderScript.
Change-Id: I33a73c4c2b19aa17bc18a64c92a86565111de3d0
2016-01-22 15:11:58 -08:00
Stephen Hines
4ac28d5258 Merge "Add clang rules for RS_LLVM_* tools." 2016-01-22 21:20:19 +00:00
Josh Gao
f3e7204bef Error out if MALLOC_IMPL is defined.
Bug: http://b/26390299
Change-Id: Icd3ce6853c8207b1a9ce1f9d546a61d5b113f15a
2016-01-22 11:25:24 -08:00
James Hawkins
cb9da42c87 Merge "bootstat: Add bootstat to the embedded target to support logging boot time across devices." 2016-01-22 18:09:05 +00:00
Tao Bao
bc6a66826a Merge "Generate OTA packages for A/B update." 2016-01-22 17:23:28 +00:00
Stephen Hines
96d2a8c5e4 Add clang rules for RS_LLVM_* tools.
This change adds new variables for RS_LLVM_* tools, which correspond
to the version of LLVM checked in currently to external/, instead of
mapping to the latest host prebuilts. This will help prevent version
differences for newer IR generated by the updated host prebuilts, which
then might not be readable with the on-device LLVM bits we build from
external/.

Change-Id: I6c7b0fa9082e9c8244cc508cb23960569a057740
2016-01-21 23:50:53 -08:00
Alex Klyubin
b86b5344a6 Merge "Make signapk sign using APK Signature Scheme v2." 2016-01-22 04:07:45 +00:00
Tao Bao
b69d3b28a5 Merge "CleanSpec: Clean up $(PRODUCT_OUT)/recovery/root/sdcard." 2016-01-22 01:28:30 +00:00
Tao Bao
6b10089bd6 CleanSpec: Clean up $(PRODUCT_OUT)/recovery/root/sdcard.
Incremental build going across CL in [1] needs to remove the old
symlink to avoid hitting mkdir error.

[1]: commit 3f56a33041

Change-Id: Iff62ed55eb2782ba3e1e9b6de39a691de2427384
2016-01-21 17:18:47 -08:00
James Hawkins
bc5dc64232 bootstat: Add bootstat to the embedded target to support logging boot
time across devices.

Bug: 21724738
Change-Id: I165e8597103ea235a0826e321a1658823c4b4664
2016-01-21 15:39:45 -08:00
Colin Cross
41ee5fc07a Merge "Set flag when using sdk tools in place" 2016-01-21 23:36:26 +00:00
Tao Bao
27a1201989 Merge "Makefile: Fix the location for payload signing key." 2016-01-21 22:37:46 +00:00
Tao Bao
23c3db9372 Makefile: Fix the location for payload signing key.
CL in [1] put it in a wrong path.

[1] commit 38812d684b

Bug: 25715402
Change-Id: I01a105888844011eee083d5f4d694223599fa067
2016-01-21 14:33:22 -08:00
Dan Willemsen
60c9200c1e Merge "Pass the arm/thumb cflags to assembly files" 2016-01-21 22:31:11 +00:00
Tao Bao
b49d05e72e Merge "Makefile: Add the payload public key into system image." 2016-01-21 22:21:31 +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
8edda3afdf Merge "Separate aidl dependencies from compiler dependencies" 2016-01-21 18:19:05 +00:00
Christopher Wiley
11feb8b075 Merge "Keep aidl generated C++ inside the generated folder" 2016-01-21 18:17:29 +00:00
Tao Bao
38812d684b Makefile: Add the payload public key into system image.
For non-Brillo devices using AB update, add the payload signing public
key to the system image
(system/etc/update_engine/update-payload-key.pub.pem).

We first need to sign the payload with some private key, and pack it
into an Android OTA package. Then the whole zip package will be signed
again with the device key. This is to comply with the two existing OTA
flows (Android and CrOS).

We use the same device key to do the two signings, but update_engine
expects the key in RSA public key format. This CL extracts the public
key from x509 certificate and adds it to the system image.

Bug: 25715402
Change-Id: I6f6c1148534250ddb6d9e554175c7a35bceda99e
2016-01-20 21:29:00 -08:00
Colin Cross
d3f3ab77fd Set flag when using sdk tools in place
New version of build/ execute the tools from prebuilts/sdk/tools in
place, old versions copy them to $(HOST_OUT_EXECUTABLES).  build/ and
prebuilts/sdk often use mixed versions, set a flag that
prebuilts/sdk/tools/Android.mk can use to determine when it is using an
old build/ directory.

Change-Id: Iad2f96c35203fd3b0976946d229bfa8ab4acb150
2016-01-20 16:08:49 -08:00
Alex Klyubin
dd910c5945 Make signapk sign using APK Signature Scheme v2.
APKs are now signed with the usual JAR signature scheme and then
with the APK Signature Scheme v2.

APK Signature Scheme v2 is a whole-file signature scheme which aims
to protect every single bit of the APK as opposed to the JAR signature
scheme which protects only the names and uncompressed contents of ZIP
entries.

The two main goals of APK Signature Scheme v2 are:
1. Detect any unauthorized modifications to the APK. This is achieved
   by making the signature cover every byte of the APK being signed.
2. Enable much faster signature and integrity verification. This is
   achieved by requiring only a minimal amount of APK parsing before
   the signature is verified, thus completely bypassing ZIP entry
   decompression and by making integrity verification parallelizable
   by employing a hash tree.

Bug: 25794543
Change-Id: I275d2a6d0a98504891985309b9dfff2e0e44b878
2016-01-20 13:35:21 -08:00
Alex Klyubin
3cc3605010 Merge "Command-line flag to disable signing with APK Signature Scheme v2." 2016-01-20 21:02:29 +00:00