Commit Graph

14467 Commits

Author SHA1 Message Date
Roland Levillain
b2b01f3c84 Merge "Handle test_per_src modules as indirect dependencies in APEXes." am: cadffcdd66
am: d571a52d49

Change-Id: Ie0ef007324b825dbfe1aa47361ea72a9dd9ae31c
2019-07-30 04:20:58 -07:00
Roland Levillain
d571a52d49 Merge "Handle test_per_src modules as indirect dependencies in APEXes."
am: cadffcdd66

Change-Id: I6e420de099250d40069a188b4eef618b0b403591
2019-07-30 04:10:50 -07:00
Roland Levillain
cadffcdd66 Merge "Handle test_per_src modules as indirect dependencies in APEXes." 2019-07-30 10:41:20 +00:00
Dan Willemsen
74fa99e115 Merge "Remove reference to PRODUCT-*" am: 2d531bf7e1
am: 7830315feb

Change-Id: I5aaeea2dd4d956594a72091cb352ae159ea5f999
2019-07-29 21:15:49 -07:00
Dan Willemsen
7830315feb Merge "Remove reference to PRODUCT-*"
am: 2d531bf7e1

Change-Id: I6c9f9792cbcf5d805a9df1c1e0daa509e4160cee
2019-07-29 21:07:47 -07:00
Treehugger Robot
2d531bf7e1 Merge "Remove reference to PRODUCT-*" 2019-07-30 03:46:21 +00:00
Vic Yang
c52fa87d0b Merge "Add sort_bss_symbols_by_size property for shared libs" am: 446441fc19
am: 6f127a7fa3

Change-Id: I6f98965a84b5818d66806942b4058a27bfbabb3b
2019-07-29 20:17:56 -07:00
Vic Yang
6f127a7fa3 Merge "Add sort_bss_symbols_by_size property for shared libs"
am: 446441fc19

Change-Id: I83344693e2d67721b1fb38eda4d72f993fa419f1
2019-07-29 20:10:54 -07:00
Vic Yang
446441fc19 Merge "Add sort_bss_symbols_by_size property for shared libs" 2019-07-30 02:34:23 +00:00
Peter Collingbourne
1213f4b978 Merge "Specify the API level via the triple instead of __ANDROID_API__." am: 5f66d76d69
am: cb521cb1ca

Change-Id: If27e6ef073afe1d164e121c765dd6c50173bba71
2019-07-29 18:49:33 -07:00
Peter Collingbourne
cb521cb1ca Merge "Specify the API level via the triple instead of __ANDROID_API__."
am: 5f66d76d69

Change-Id: Idea2c10a557ba59bfc303633cdb8fedb9c4fff9e
2019-07-29 18:39:29 -07:00
Peter Collingbourne
5f66d76d69 Merge "Specify the API level via the triple instead of __ANDROID_API__." 2019-07-30 01:23:04 +00:00
Sasha Smundak
94704e9594 Merge "Support source code cross-referencing for C++ and Java" am: 247de68b89
am: 61272795a7

Change-Id: Ib39b5d0fb8ae386ec0616c9fe26496644d9e7460
2019-07-29 18:22:09 -07:00
Sasha Smundak
61272795a7 Merge "Support source code cross-referencing for C++ and Java"
am: 247de68b89

Change-Id: I5284d9be9865e95671ce8ec1927f74059f7fdf44
2019-07-29 18:13:05 -07:00
Treehugger Robot
247de68b89 Merge "Support source code cross-referencing for C++ and Java" 2019-07-30 00:13:12 +00:00
Mathieu Chartier
ff6419d969 Merge "Specify boot image format to be lz4hc" am: 460bf6ae95
am: 9302d5c78a

Change-Id: I836b81c55ecf30e52e930c46172a5532dfa9d503
2019-07-29 15:29:38 -07:00
Mathieu Chartier
9302d5c78a Merge "Specify boot image format to be lz4hc"
am: 460bf6ae95

Change-Id: Iac2a4275e0998b8ea430f24b8d784db80e0aa94e
2019-07-29 15:15:44 -07:00
Dan Willemsen
a2a8ecb330 Remove reference to PRODUCT-*
The code still needs to exist, but for buildspec.mk files, not the
PRODUCT-* arguments.

Test: none
Change-Id: I60c6044ab2d1627af7e6e2e8831b77d9db12aa55
2019-07-29 15:14:11 -07:00
Mathieu Chartier
460bf6ae95 Merge "Specify boot image format to be lz4hc" 2019-07-29 21:25:11 +00:00
Dan Willemsen
c5023e7e58 Merge "Deprecate ONE_SHOT_MAKEFILE" am: 1d73e5e566
am: 12efb0533e

Change-Id: I2a3d7e14148db91e9f9bcca1715a1029a812beed
2019-07-29 13:35:11 -07:00
Vic Yang
6cd1be8993 Add sort_bss_symbols_by_size property for shared libs
If sort_bss_symbols_by_size is true, a shared library is built twice.
The first build generates an unsorted output file, which is used to
generate the symbol ordering file.  The output of the second build is
a shared library with its bss symbols sorted by their size.

With this, the only user of symbol_ordering_file, libc, is migrated to
use the new property, so we remove symbol_ordering_file support as well.

Bug: 135754984
Test: Build and check the resulting libc.so has its bss symbols sorted.
Change-Id: I5c892b44d82eb99cbc070cfa2c680be3087f3364
2019-07-29 13:25:55 -07:00
Dan Willemsen
12efb0533e Merge "Deprecate ONE_SHOT_MAKEFILE"
am: 1d73e5e566

Change-Id: Ie7ec9690ada5333a04bae34b7be2b1921863e0fc
2019-07-29 13:19:26 -07:00
Roland Levillain
f89cd0949c Handle test_per_src modules as indirect dependencies in APEXes.
In `apex.apexBundle.GenerateAndroidBuildActions`, we used to pass the
"all tests" ("") module as `module` for all `apexFile` objects created
from a test module using `test_per_src: true`.  An immediate issue of
this situation was that the "" module is hidden from Make, which made
all the generated `apexFile` objects hidden from Make too. This would
break the construction of flattened APEXes, as they rely on Make logic
to install their files.

Instead of collecting `test_per_src` test variations' output files in
`cc.Module.GenerateAndroidBuildActions` and using them in
`apex.apexBundle.GenerateAndroidBuildActions` as part of handling the
"" variation as a direct dependency of an `apexBundle`, process them
as indirect dependencies (and do nothing for the "" variation direct
dependency).

Adjust the indirect dependency logic in
`apex.apexBundle.GenerateAndroidBuildActions` to allow not only
shared/runtime native libraries as indirect dependencies of an
`apexBundle`, but also `test_per_src` tests.

Test: m (`apex/apex_test.go` amended)
Bug: 129534335
Change-Id: I845e0f0dd3a98d61d0b7118c5eaf61f3e5335724
2019-07-29 19:21:27 +01:00
Treehugger Robot
1d73e5e566 Merge "Deprecate ONE_SHOT_MAKEFILE" 2019-07-29 16:26:17 +00:00
Mathieu Chartier
54fd807267 Specify boot image format to be lz4hc
Reduce boot image space taken from 28803072B -> 9572352B (-20MB).

No reason to have this be configurable yet.

Test: ls -l $OUT/system/framework/*/apex*.art | awk '{s += $5} END {print s}'
Bug: 77863440

Change-Id: I280b740dfbd001109ce1e288e395595f21567aa6
2019-07-26 13:51:43 -07:00
Jiyong Park
ab6de410eb Merge "Revert "Revert "Split Java libraries per apex""" am: c89fe6253f
am: ccca43f986

Change-Id: I1b94c756c89c7eb9b4d67f3dc271c58a894e8d8c
2019-07-26 09:50:07 -07:00
Jiyong Park
ccca43f986 Merge "Revert "Revert "Split Java libraries per apex"""
am: c89fe6253f

Change-Id: I490b09e3a7b2ef00aad4defaa8c6b100ef249453
2019-07-26 09:39:51 -07:00
Sasha Smundak
2a4549ec98 Support source code cross-referencing for C++ and Java
Use Kythe (https://kythe.io) to build cross reference for the Android
source code. ~generate the input for it during the build. This is done
on demand: if XREF_CORPUS environment variable is set, build emits a
Ninja rule to generate Kythe input for each compilation rule. It
also emits two consolidation rules (`xref_cxx` and `xref_java`),
that depend on all Kythe input generation rules for C++ and Java.

The value of the XREF_CORPUS environment variable is recorded in the
generated files and thus passed to Kythe. For the AOSP master branch it is
`android.googlesource.com/platform/superproject`, so the command to build
all input for Kythe on that branch is:
```
XREF_CORPUS=android.googlesource.com/platform/superproject m xref_cxx xref_java
```

Each Kythe input generation rule generates a single file with .kzip
extension. Individual .kzip files have a lot of common information, so
there will be a post-build consolidation step run to combine them.
The consolidated .kzip file is then passed to Kythe backend.

The tools to generate .kzip files are provided by Kythe (it calls them
'extractors'). We are going to build them in toolbuilding branches
(clang-tools and build-tools) and check them in as binaries into master
and other PDK branches:
For C++,  `prebuilts/clang-tools/linux-x86/bin/cxx_extractor`
for Java, `prebuilts/build-tools/common/framework/javac_extractor.jar`

Bug: 121267023
Test: 1) When XREF_CORPUS is set, build generates Ninja rules to create
.kzip files; 2) When XREF_CORPUS is set, building
`xref_cxx`/`xref_java` creates .kzip files; 3) Unless XREF_CORPUS is
set, build generates the same Ninja rules as before

Change-Id: If957b35d7abc82dbfbb3665980e7c34afe7c789e
2019-07-26 09:16:47 -07:00
Treehugger Robot
c89fe6253f Merge "Revert "Revert "Split Java libraries per apex""" 2019-07-26 16:15:45 +00:00
Paul Duffin
773c4098b2 Merge "Correct tags on StaticSharedLibraryProperties.Cflags" am: c6fa3eca11
am: 25edbe5de7

Change-Id: Iefe3b2614b1d0dd83de7b4dba7b09c2c04b9ae17
2019-07-26 02:10:10 -07:00
Paul Duffin
9561fd3f78 Merge changes I7b9462d3,Icadd470a,I1d459da1,I01d8f518 am: 4b03cb46a5
am: cdfa3fb705

Change-Id: I130af385902c928e10e183a2ae47965f49d66c29
2019-07-26 02:09:13 -07:00
Paul Duffin
25edbe5de7 Merge "Correct tags on StaticSharedLibraryProperties.Cflags"
am: c6fa3eca11

Change-Id: I875b48b1ca3456b99285532343500ccf27e2e1f9
2019-07-26 02:00:46 -07:00
Paul Duffin
cdfa3fb705 Merge changes I7b9462d3,Icadd470a,I1d459da1,I01d8f518
am: 4b03cb46a5

Change-Id: I6a5fc7321e80333390189a1adb7a1ffb3553bd7c
2019-07-26 01:59:32 -07:00
Paul Duffin
c6fa3eca11 Merge "Correct tags on StaticSharedLibraryProperties.Cflags" 2019-07-26 08:46:13 +00:00
Paul Duffin
4b03cb46a5 Merge changes I7b9462d3,Icadd470a,I1d459da1,I01d8f518
* changes:
  Add defaults_visibility support
  Refactor visibility to support visibility on defaults modules
  Add DefaultsModule interface
  Improve documentation of defaults mechanism
2019-07-26 08:35:15 +00:00
Jooyung Han
646c483619 Merge "fix: prebuilt_etc_xml" am: 04b2a82b77
am: 4739405a0e

Change-Id: I0e531e46fa7cd2707847958fb5a0e6bbf5f7ab64
2019-07-25 22:35:27 -07:00
Jooyung Han
4739405a0e Merge "fix: prebuilt_etc_xml"
am: 04b2a82b77

Change-Id: I581999dc553a745d49f05a0954d965ca0fa28213
2019-07-25 22:24:39 -07:00
Jiyong Park
7f7766d5ee Revert "Revert "Split Java libraries per apex""
This reverts commit f0f7ca8335.

Bug: 138182343
Test: apex_test added
Change-Id: I5c8a0935ac0f456137c8656815e220b0e7848a5d
2019-07-26 14:19:38 +09:00
Treehugger Robot
04b2a82b77 Merge "fix: prebuilt_etc_xml" 2019-07-26 04:57:29 +00:00
Peter Collingbourne
b0e6143b9b Specify the API level via the triple instead of __ANDROID_API__.
Clang derives the value of __ANDROID_API__ from the triple these days. In a
future version of clang I plan to start making the behaviour of the HWASAN pass
dependent on the API level in the triple, so it's going to need to be accurate.

Test: walleye-userdebug boots
Change-Id: Ie5e36b5c8f6dcda084cc12b1160abbdf94765174
2019-07-25 17:18:22 -07:00
Alex Light
42d12995ab Merge "Disable linux_bionic fuzzers" am: 71568c7cef
am: dd76f920cf

Change-Id: If8b688b4d1e82a856879c04b181a0e858b00af7f
2019-07-25 16:52:41 -07:00
Alex Light
dd76f920cf Merge "Disable linux_bionic fuzzers"
am: 71568c7cef

Change-Id: I426c9882a97cea7fc031e5dd9d0de92cbf3c7aa7
2019-07-25 16:34:26 -07:00
Treehugger Robot
71568c7cef Merge "Disable linux_bionic fuzzers" 2019-07-25 23:05:20 +00:00
Dan Willemsen
c6360837bb Deprecate ONE_SHOT_MAKEFILE
mm is now doing the same thing as mma. Now print a deprecation message
for other tools that may be setting ONE_SHOT_MAKEFILE directly (or users
that are still using a very old envsetup.sh).

Test: mm  # does not print
Test: ONE_SHOT_MAKEFILE=bionic m
Change-Id: I98221657024d824a61c0d721d5c7dd1a2ea2fb1e
2019-07-25 14:12:38 -07:00
Paul Duffin
abc1838a78 Merge "Fixed minor typo" am: e515886a8b
am: f5df899687

Change-Id: I2cbd019e80992bcc10295f99e3a01bc2c7791a21
2019-07-25 11:01:14 -07:00
Paul Duffin
f5df899687 Merge "Fixed minor typo"
am: e515886a8b

Change-Id: I5d99efb2e18c02eacb5946320fd7d3504e1e32b5
2019-07-25 10:51:11 -07:00
Treehugger Robot
e515886a8b Merge "Fixed minor typo" 2019-07-25 17:13:45 +00:00
Nicolas Geoffray
32eb45d511 Merge "Add support for generating boot profiles." am: 1f9f57cc8f
am: ff3eb22ef4

Change-Id: Idd78c11bb1fc9bf2be02274408c75253efa640a2
2019-07-25 07:18:11 -07:00
Nicolas Geoffray
ff3eb22ef4 Merge "Add support for generating boot profiles."
am: 1f9f57cc8f

Change-Id: Ie452fd1c5abffb7258c26ee965dffe55900cb576
2019-07-25 07:08:22 -07:00
Nicolas Geoffray
1f9f57cc8f Merge "Add support for generating boot profiles." 2019-07-25 13:46:05 +00:00