Commit graph

26949 commits

Author SHA1 Message Date
Dan Willemsen
8b999ac63d Read Soong-exported configuration
This is to ensure that Make and Soong agree on configuration variables
like TARGET_GLOBAL_CFLAGS. Only a few variables are actually checked
currently until we make more actually the same.

Bug: 23566674
Change-Id: Ibede43d933ede4d470e182f9490ea6ec4ef52fbc
2016-05-12 13:36:33 -07:00
Dan Willemsen
f100d01dd5 Merge "Use product-specific Soong outputs" 2016-05-12 20:33:05 +00:00
Alex Klyubin
6975f03fd8 Merge "Offer an ApkSignerEngine implementation." 2016-05-12 18:43:08 +00:00
Alex Klyubin
e305f45f00 Offer an ApkSignerEngine implementation.
This adds an implementation of ApkSignerEngine to the apksigner-core
library.

Bug: 27461702
Change-Id: I5f977b98555ca507a0dfcd3e92eecb9758aa8370
2016-05-12 10:56:06 -07:00
Shinichiro Hamaji
b6f2c8fac8 Merge "Correct some dependencies around zip packages" 2016-05-12 02:06:42 +00:00
Treehugger Robot
648ea82b04 Merge "Include BRILLO_VENDOR_PARTITIONS in target zip generation" 2016-05-11 21:49:56 +00:00
Treehugger Robot
a55b7ec4c3 Merge "Add misc-macro-parentheses to default tidy checks." 2016-05-11 21:44:21 +00:00
Chih-Hung Hsieh
e1ea9434c1 Add misc-macro-parentheses to default tidy checks.
* Disable this check in external projects.

Bug: 28705665
Change-Id: Ia44a15765fd637dae36b5e0f2b59ee4280b139c9
2016-05-11 13:43:11 -07:00
Chih-hung Hsieh
bc0ab6d133 Merge "Fix misc-macro-parentheses warnings." 2016-05-11 20:30:47 +00:00
Wei Wang
2e735ca34e Include BRILLO_VENDOR_PARTITIONS in target zip generation
This change will enable the target zip to include partition defined in
BRILLO_VENDOR_PARTITIONS. This is necessary for OTA to support
partitions other than boot and system in ab_partitions.txt.

The target zip will include images in BRILLO_VENDOR_PARTITIONS if
defined, under VENDOR_IMAGES/ with path kept. Also any vendor partitions
defined in AB_OTA_PARTITIONS will be copied to IMAGES/ in the target zip.

BUG: 28623063
Change-Id: Ic479048dfb8ac506acf827865e784fcb0432a1d5
2016-05-11 12:26:04 -07:00
Ian Rogers
adf2141b66 Merge "Add code search links to warnings." 2016-05-11 19:07:36 +00:00
Chih-Hung Hsieh
f536e7ba34 Fix misc-macro-parentheses warnings.
Add parentheses around macro arguments used beside binary operators.

Bug: 28705665
Change-Id: I8594b9463e2389a46d6e0235757b93de065cd007
2016-05-11 11:55:33 -07:00
Shinichiro Hamaji
ee2d21195c Correct some dependencies around zip packages
Add scripts which creates these packages to their dependencies.
$(SYMBOLS_ZIP) contains symbol info of the updater binary so
it should depend on it.

Bug: 27954979
Change-Id: If78746ec843dd57fe5fdda3ed504a12bb298ea1d
2016-05-12 02:07:56 +09:00
Tao Bao
7ff7c2d870 Merge "Revert "Include vendor partitions in target zip generation"" 2016-05-11 15:11:57 +00:00
Wei Wang
05e6f679e6 Revert "Include vendor partitions in target zip generation"
This reverts commit 421fe44ae8.

Change-Id: Id45781de73735783bc7dfb6fc2838957578d00d3
2016-05-11 14:49:50 +00:00
Dan Willemsen
57aa920ddb Use product-specific Soong outputs
This way, when switching between two products, we don't need to re-run
kati.

Change-Id: I0a8b3b49f1b76d9e120ea93bb5d2aa06cd189679
2016-05-11 00:40:43 -07:00
Ian Rogers
f382973250 Add code search links to warnings.
Add argument parsing using the argparse library.
Make HTML easier to read by adding a \n after each table row.

Change-Id: I6b745fc60afb96fb51e5f69df7d607b5fb8da0e5
2016-05-10 22:36:38 -07:00
Treehugger Robot
bb05fd768c Merge "Include vendor partitions in target zip generation" 2016-05-11 02:18:58 +00:00
Dan Willemsen
19b7692496 Merge "Add a 32-bit x86_64 arch variant" 2016-05-11 00:35:59 +00:00
Treehugger Robot
3027e5fca9 Merge "Do not apply -Wl,--fix-cortex-a8 to Cortex-A9" 2016-05-10 23:34:01 +00:00
Dan Willemsen
9826900aea Do not apply -Wl,--fix-cortex-a8 to Cortex-A9
Change-Id: I11d380163423cb4aa0fee60ecbaa1e38fa5143a1
2016-05-10 15:36:58 -07:00
Ian Rogers
620cbb1652 Merge "Add error prone patterns to warn.py" 2016-05-10 22:03:23 +00:00
Dan Willemsen
04aa521eca Add a 32-bit x86_64 arch variant
The current 32-bit configuration for generic x86_64 targets inherits some
variables (SSE4 support) from the 64-bit configuration, and overrides
the make variables used for other configurations (SSSE3). Ideally, these
would be using different variables, but until then, unify the
configuration for x86_64 targets so that everything is consistent.

Bug: 28694691
Change-Id: I47e67299d4c632e7491d7e73dc0fc6480ef08006
2016-05-10 14:15:41 -07:00
Ian Rogers
32bb9bd03a Add error prone patterns to warn.py
Bug: 28681096

(cherry picked from commit df79adacab)
Change-Id: I06ac0ed4593b03cea0a8163ca85e393ff1358855
2016-05-10 13:54:36 -07:00
Treehugger Robot
afd3d55261 Merge "ApkSignerEngine abstraction for apksigner-core library." 2016-05-10 19:13:41 +00:00
Wei Wang
421fe44ae8 Include vendor partitions in target zip generation
This change will enable the target zip to include partition defined in
BRILLO_VENDOR_PARTITIONS. This is necessary for OTA to support
partitions other than boot and system in ab_partitions.txt.

BUG: 28623063
Change-Id: I6e0969c31c9ad2e8285c6f560825c160aa8c4d55
2016-05-10 11:00:09 -07:00
Ian Rogers
2e1409538c Merge "Sort warnings with most frequent first." 2016-05-10 17:38:15 +00:00
Ian Rogers
2f4ce82d13 Sort warnings with most frequent first.
Change-Id: Id608c20d065bec83dcb2993658cc743d5e9dcb46
2016-05-10 09:34:29 -07:00
Dan Willemsen
af14b921af Merge "Fix build system documentation example" 2016-05-09 23:37:44 +00:00
Treehugger Robot
f948dddfe0 Merge "Remove -mcpu=cortex-a15 when adding -mcpu=krait" 2016-05-09 22:43:09 +00:00
Dan Willemsen
136fa4377d Merge "Revert "[MIPS] Temporarily disable Mips shared-textrel errors"" 2016-05-09 22:09:42 +00:00
Dan Willemsen
aeadf41e69 Remove -mcpu=cortex-a15 when adding -mcpu=krait
This is not necessary, since the later -mcpu=krait will override the
earlier -mcpu=cortex-a15, but is cleaner (and matches Soong).

Change-Id: I18301faf8a5cb5364617b3008bc8af461b7884f8
2016-05-09 14:55:10 -07:00
Alex Klyubin
5f987967da ApkSignerEngine abstraction for apksigner-core library.
This adds the ApkSignerEngine abstraction to the apksigner-core
library. This abstraction enables the separation of
parsing/building/writing of an APK from signing the APK.

Users of ApkSignerEngine invoke it during specific I/O events (e.g.,
JAR entry encountered in input APK, all output JAR entries ready).
The engine responds by occasionally providing instructions about what
to do next. For example, it may provide JAR entries to be added to
the output APK, thus making the output APK signed.

The default implementation of ApkSignerEngine will be provided in  a
follow-up commit.

Bug: 26516150
Bug: 27461702
Change-Id: Ia85fd09497a6e2ff3103ba10c53a1848ba731f7b
2016-05-09 13:20:03 -07:00
Treehugger Robot
2627b4199f Merge "APK Signature Scheme v2 signing logic for apksigner-core." 2016-05-09 20:12:14 +00:00
Dan Willemsen
593e670602 Revert "[MIPS] Temporarily disable Mips shared-textrel errors"
This reverts commit 3dfd20aea4 - the clang
version we are using has the mentioned permanent fix. The new build
system (Soong) uses a single list of unknown clang flags for all
architectures, so workarounds like this no longer work.

Change-Id: I64a83f3b52a9ca1d11a76df5a060a36f42e27e4b
2016-05-09 13:10:05 -07:00
Alex Klyubin
265db0826e APK Signature Scheme v2 signing logic for apksigner-core.
apksigner-code library will offer a high-level primitive (future
commit) for signing APKs. This is meant to be used by
build/tools/signapk and Android Studio's APK builder/signer.

This commit adds a lower-level APK Signature Scheme v2 (aka v2
signing) code which will be used by the future APK signing abstraction
exposed by this library.

All classes (except DataSource and DataSources) added by this commit
are internal (i.e., implementation details of this library). Clients
of this library should not be using these classes.

Bug: 26516150
Change-Id: I98d4da0666cf122667c67565108ea4fb28ac51e6
2016-05-09 12:16:33 -07:00
Dan Willemsen
ce9b6cab53 Merge "Remove arm-specific -Wno-psabi" 2016-05-09 04:43:42 +00:00
Dan Willemsen
bdd2e8ebf9 Fix build system documentation example
The input and output file paths were mixed up in this example. Properly
indicate the input file as a dependency.

Change-Id: I71271025c6ce3ef8f82b10aee91fc0c7ae8f2399
2016-05-08 19:24:58 -07:00
Dan Willemsen
db14f793bc Remove arm-specific -Wno-psabi
This flag was added to stop a GCC 4.4 specific warning. Since we've
upgraded, this flag is no longer necessary. It's already stripped for
clang builds, and I found no instances in the logs after removing it.

Change-Id: If5316d2eb8066dc43d7af7aebc7e4920b4ada192
2016-05-06 17:08:24 -07:00
Treehugger Robot
622b3c2764 Merge "Harden dependency on generated sources." 2016-05-06 20:16:41 +00:00
Elliott Hughes
e6710e9b90 Merge "Avoid accidentally using the host's native 'as' command." 2016-05-06 20:11:45 +00: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
Treehugger Robot
374c7facd5 Merge "Only pass NINJA_ARGS to the main ninja compile" 2016-05-06 01:11:39 +00:00
Dan Willemsen
9a97ba700b Only pass NINJA_ARGS to the main ninja compile
This way commands like "-t query <target>" will work against the main
build, instead of failing to find the target during the initial soong
build and stopping.

Change-Id: I9b6bd6ac431b95e12db69ec7f272669b9d292761
2016-05-05 16:55:21 -07:00
Alistair Strachan
5ff9c81b6c Avoid accidentally using the host's native 'as' command.
When invoking clang for the host to assemble .S files, the -B flag
would not be provided, which allowed the host prebuilt clang to
use an 'as' from the native environment. Most of the time this
"just works", but some newer 'as' versions cause problems with
the older prebuilt toolchain, for example by generating
unsupported relocation types.

To avoid this problem, simply use the -B flag to tell clang to
invoke the assembler from the correct prebuilt gcc prefix.

Change-Id: I18ea4f37ae637b652cfd7321c41929f8be075342
Signed-off-by: Alistair Strachan <alistair.strachan@imgtec.com>
2016-05-05 16:29:08 -07:00
Treehugger Robot
b60b340597 Merge "JAR signing logic for the apksigner-core library." 2016-05-05 22:42:43 +00:00
Alex Klyubin
33d34ae236 Merge "SHA-256 with ECDSA supported only on API Level 21 and higher." 2016-05-05 19:43:54 +00:00
Colin Cross
405b73ea10 Merge "Update prebuilt build tools path" 2016-05-05 18:54:37 +00:00
Alex Klyubin
85b8a0146e JAR signing logic for the apksigner-core library.
apksigner-code library will offer a high-level primitive (future
commit) for signing APKs. This is meant to be used by
build/tools/signapk and Android Studio's APK builder/signer.

This commit adds a lower-level JAR signing (aka v1 signing) code which
will be used by the future APK signing abstraction exposed by this
library.

All classes added by this commit are internal (i.e., implementation
details of this library). Clients of this library should not be using
these classes.

Bug: 26516150
Change-Id: I5cecd435e63aab206d63868be5e0d0e289e7c423
2016-05-05 10:53:56 -07:00
Colin Cross
c9778e339d Merge "Pass SANTIIZE_HOST and SANITIZE_TARGET to soong" 2016-05-04 23:34:54 +00:00