Commit Graph

24204 Commits

Author SHA1 Message Date
Paul Scovanner
a4d5641a34 Update Security String to 2020-08-01
Bug: 158587413
Change-Id: I21b16ed52ef9c7c26a671692c66b06855b147b16
2020-06-09 19:41:58 +00:00
Dan Willemsen
8447b8116a base_rules.mk optimizations
A few more misc improvements that I found while analyzing the
performance of base_rules.mk.

This brings an aosp-master/aosp_crosshatch-userdebug kati run from 33.3s
to 28.6s

Bug: 158488548
Test: build-aosp_crosshatch.ninja is the same before/after
Change-Id: If99c31cc7b5d7133d70eb644c6095f19060b71e5
2020-06-09 09:59:24 -07:00
Treehugger Robot
02dcbdb3f9 Merge "More performance improvements" am: 1d1bb3b94f am: 27d4463cf5
Original change: https://android-review.googlesource.com/c/platform/build/+/1326018

Change-Id: Ic783c75beffd9eac7abb208d2f2697f8c4775325
2020-06-09 05:00:29 +00:00
Yo Chiang
1e55e74acc Cleanup unused get-32-bit-modules
These are no longer used by anyone:
* get-32-bit-modules
* get-32-bit-modules-if-we-can
* get-host-32-bit-modules
* get-host-32-bit-modules-if-we-can

Bug: 155869107
Test: TH
Change-Id: I441de7f94061efd40186b80d1a2ead11669a5753
2020-06-09 03:28:26 +00:00
Dan Willemsen
fd1e67b8ce More performance improvements
Instead of using `x := $(x) foo`, make sure `x` is initialized first,
then use `x += foo`.

For a aosp-master/aosp_crosshatch-userdebug build, this takes the build
from 49s to 33s (no significant difference in peak memory)

Bug: 158488548
Test: build-aosp_crosshatch.ninja is the same before/after
Change-Id: I41fb7611030dd3ba824f896a9c9eadbdd218f464
2020-06-08 19:10:23 -07:00
Treehugger Robot
b17e2f5004 Merge "Rewrite test data logic to make it faster" am: 83e9cfe291 am: 84849aef8e
Original change: https://android-review.googlesource.com/c/platform/build/+/1326014

Change-Id: Ic366d30d42dc8d7a188f395a8c4cfb71ac32a411
2020-06-09 01:37:17 +00:00
Treehugger Robot
83e9cfe291 Merge "Rewrite test data logic to make it faster" 2020-06-09 01:00:52 +00:00
Elliott Hughes
9b824d5ceb Remove TARGET_PREFER_32_BIT.
Bug: https://issuetracker.google.com/138812821
Test: builds
Change-Id: I2ff7793c8b1eb56f6be63375cc7b70aa44254443
2020-06-08 16:36:52 -07:00
Frank Feng
3608641667 Merge "Add test config template for sh_test." am: e4d2ccee92 am: 833cd90432
Original change: https://android-review.googlesource.com/c/platform/build/+/1323217

Change-Id: I66e47508ebbfef65c7b8a67787a7eb11fd30838b
2020-06-08 21:31:52 +00:00
Frank Feng
e4d2ccee92 Merge "Add test config template for sh_test." 2020-06-08 21:05:31 +00:00
Dan Willemsen
c5ec8e95bc Rewrite test data logic to make it faster
It turns out we have a few tests with thousands of test data files,
which this logic does not handle very well. Just switching from `x :=
$(x) ...` to `x += ...` accomplishes the majority of these gains, but I
rewrote the logic to be less function-call+eval based to hopefully make
it easier to understand.

For an aosp-master/aosp_coral-eng build, this brings the time spent in
this logic from 7.6s to 0.3s (total kati runtime of 54s to 46s). Kati's
peak memory use (maxrss) also shrunk from 6.1GB to 3.8GB.

Bug: 158488548
Test: build-aosp_coral.ninja is the same before/after
Change-Id: Ia2ec8b29b5c1dd12fa7ea10b4f80fe802c692725
2020-06-08 11:42:51 -07:00
Treehugger Robot
05048d976c Merge changes I53c05800,Ic218283b am: 470cfbe8d7 am: 21805afbc6
Original change: https://android-review.googlesource.com/c/platform/build/+/1317599

Change-Id: I7c7f317cca241af3f8822617d1367a5a2acb25b5
2020-06-08 16:21:45 +00:00
Jiyong Park
10e44533bc Merge changes I4d88733c,I61943476,Ibed9c96d am: c844de4241 am: 82d6dd6061
Original change: https://android-review.googlesource.com/c/platform/build/+/1317597

Change-Id: I1bb5bdf9d5dae7fe0455f517f6347d442d191440
2020-06-08 16:21:22 +00:00
Jiyong Park
fe7df0a0a7 <partition>/build.prop rules are defined using macro am: e28fa80e12 am: 236859d234
Original change: https://android-review.googlesource.com/c/platform/build/+/1317596

Change-Id: I4f05b3376ab6621787dd540f53ad851dff6194a3
2020-06-08 16:21:17 +00:00
Treehugger Robot
6fd21ab0e9 Merge "fix spurious / on toplevel kernel module installations" am: 208689cca8 am: 3957e09d24
Original change: https://android-review.googlesource.com/c/platform/build/+/1324842

Change-Id: I54b61290b5072a7311898c13cb4d60a2974413e9
2020-06-08 16:20:24 +00:00
Jiyong Park
236859d234 <partition>/build.prop rules are defined using macro am: e28fa80e12
Original change: https://android-review.googlesource.com/c/platform/build/+/1317596

Change-Id: I6e5bd7a93c6e7fe0e45ca5befb2f110bfb40c4e1
2020-06-08 16:04:52 +00:00
Colin Cross
8ca4092ab4 Add out/soong/late-${TARGET_PRODUCT}.mk
Read out/soong/late-${TARGET_PRODUCT}.mk after reading Android.mk files
to allow Soong's makevars singleton to use $(call dist-for-goals).

Test: m lint-check dist
Change-Id: I7754fd1b8dab508c96ad59beed67f0d6c4ff75f0
2020-06-07 18:16:38 -07:00
Jiyong Park
bb26c6f2bf Rule for system/build.prop is also from macro
Like other <partition>/build.prop files, the build rule for
system/build.prop is also created using the build-properties macro.

system/build.prop has a few number of auto-generate properties that the
macro doesn't create. Those properties are emitted to intermediate files
using manually crafted rules, the paths to the files are fed to the
macro, where their contents are copied to system/build.prop.

This change also refactors the code fragment that defines BUILD_*
variables that identifes the given build.

Bug: 117892318
Test: m

Change-Id: Ic218283b40fedeaddacb3fda93167edbec86094c
2020-06-08 10:09:12 +09:00
Jiyong Park
c844de4241 Merge changes I4d88733c,I61943476,Ibed9c96d
* changes:
  remove buildinfo_common.sh
  Partial cherry-pick of ag/10260813
  <partition>/build.prop rules are defined using macro
2020-06-08 00:58:48 +00:00
Steve Muckle
d03ec51f38 fix spurious / on toplevel kernel module installations
When kernel modules are being put directly into lib/modules/ (as opposed
to lib/modules/<subdir>/), the empty part of the destination path causes
a target containing a redundant /. If the target is also added elsewhere
in the build without the redundant /, then rule merging will miss it,
and a build error will occur.

Bug: 158158635
Change-Id: I797addce760f4886166efa283302a53783581625
Merged-In: I797addce760f4886166efa283302a53783581625
2020-06-05 18:56:41 -07:00
Treehugger Robot
208689cca8 Merge "fix spurious / on toplevel kernel module installations" 2020-06-06 01:53:24 +00:00
Xin Li
6e30a3fc86 Merge "Merge QQ3A.200605.002 into master" 2020-06-06 01:41:29 +00:00
Aurimas Liutikas
d0bead63e6 Remove use of metalava compatible output
Change-Id: Iad6a2df0c3840c5f388e07b72735e03268a29c6c
Test: treehugger
2020-06-05 23:18:43 +00:00
Julien Desprez
7859593560 Add tradefed-test-framework to the suites exported jar
New jar that needs to be packaged for suites.

Test: make cts
Bug: 149758913
Bug: 156482663
Merged-In: If29508f3dd30939be603ed03f2536c960ca40d92
Change-Id: If50a1e76ffdb4651bf004b26eb111e113569c6c4
2020-06-05 23:08:17 +00:00
Steve Muckle
950d723b9d fix spurious / on toplevel kernel module installations
When kernel modules are being put directly into lib/modules/ (as opposed
to lib/modules/<subdir>/), the empty part of the destination path causes
a target containing a redundant /. If the target is also added elsewhere
in the build without the redundant /, then rule merging will miss it,
and a build error will occur.

Bug: 158158635
Change-Id: I797addce760f4886166efa283302a53783581625
2020-06-05 12:10:56 -07:00
Sasha Smundak
8ae0c83259 Implement android_app_set module. am: eefa8e954e
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/11718673

Change-Id: I661aed2c61ac4123c0e9a3d02c9da72ef3fac754
2020-06-05 17:38:07 +00:00
Ulyana Trafimovich
f8da59ead4 Merge "Refactor library path representation in dexpreopt." am: 660edfdc4a am: 6a7f7b2662
Original change: https://android-review.googlesource.com/c/platform/build/+/1321926

Change-Id: I537d49a66cfa073f709cd8d26d1440fe408368d2
2020-06-05 11:08:56 +00:00
Ulyana Trafimovich
6a7f7b2662 Merge "Refactor library path representation in dexpreopt." am: 660edfdc4a
Original change: https://android-review.googlesource.com/c/platform/build/+/1321926

Change-Id: Iba2da276e7c88b6ed95db93825c233bebb2458c4
2020-06-05 10:53:49 +00:00
Ulyana Trafimovich
660edfdc4a Merge "Refactor library path representation in dexpreopt." 2020-06-05 10:46:01 +00:00
Yo Chiang
15183fa4fc Merge changes I47d523e4,Ib2f4b548 am: f9d1eee9b9 am: ee709b28ed
Original change: https://android-review.googlesource.com/c/platform/build/+/1323335

Change-Id: I911d66ee6dc8c0b127b419ce7dc44f871155fd25
2020-06-05 05:44:35 +00:00
Yo Chiang
ee709b28ed Merge changes I47d523e4,Ib2f4b548 am: f9d1eee9b9
Original change: https://android-review.googlesource.com/c/platform/build/+/1323335

Change-Id: I4c6ec5551fb4f3caa2d588a5eb49475383c2cc02
2020-06-05 05:27:23 +00:00
Yo Chiang
f9d1eee9b9 Merge changes I47d523e4,Ib2f4b548
* changes:
  Make required modules support :32 and :64 suffix
  Refactor *-select-bitness-of-required-modules
2020-06-05 05:12:23 +00:00
Treehugger Robot
929ddc7fe5 Merge "Strip debug symbols from modules (fixup)" am: 173149f177
Original change: https://android-review.googlesource.com/c/platform/build/+/1322908

Change-Id: I11ef7a196f7a3c01ae7d3d67e8be2ac1349d9a04
2020-06-05 04:04:46 +00:00
Treehugger Robot
173149f177 Merge "Strip debug symbols from modules (fixup)" 2020-06-05 03:51:09 +00:00
Pierre Couillaud
74df52f11f Strip debug symbols from modules (fixup) am: bb726614db
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/11720591

Change-Id: I75cd2ff2dbcbf6465a7097c5b65dcb7116927bf2
2020-06-05 03:35:12 +00:00
Jiyong Park
35a83d1a5a remove buildinfo_common.sh
The shell script was responsible for appending some system properties
that are common to <partition>/build.prop files. The values of the
system properties were given via environment variables whose names were
slightly different from their corresponding make var names.

This change removes the script and instead write the system properties
directly in Make, thus eliminating the need to keep track of the mapping
across sysprop names, environment variable names, and make var names.

Bug: 117892318
Test: m

Change-Id: I4d88733c1afa30ea0c0c4fcfc2b349f07f7fc090
2020-06-05 10:50:15 +09:00
Jiyong Park
e28fa80e12 <partition>/build.prop rules are defined using macro
The macro `build-properties' is defined to generate build rules to
create <partition>/build.prop.

build.prop files in all partitions except for the system partition are
now build using the macro.

system partition will use the macro in the following changes.

Bug: 117892318
Test: m

Change-Id: Ibed9c96dac4366251ec59a0b1317aa92f501c9a3
2020-06-05 10:47:34 +09:00
Chris Gross
203191b5be Use BUILD_*_IMAGE flags in add_img_to_target_files.
Modify add_img_to_target_files.py to use the BUILDING_*_IMAGE flags when
deciding whether to create and add a given image to a target files
archive.

To do this, the BUILDING_*_IMAGE flags are now dumped to misc_info.txt.

The origin of this change was to use the BUILDING_USERDATA_IMAGE and
BUILDING_CACHE_IMAGE flags in add_img_to_target_files.py so that we
could reliably turn off the generation of the userdata and cache images.
The other image flags were added for symmetry.

Bug: 130307439
Test: m -j out/target/product/bonito/misc_info.txt
Test: m -j droid dist
Change-Id: I32d5a8d6c9ebb5f329d856030084d698ee8d271d
2020-06-04 17:53:04 +00:00
frankfeng
7e32b34ed3 Add test config template for sh_test.
Verification of compatibility with existing sh_test targets is in progress.

Bug: 148805488
Bug: 151761373

Test: make
Test: unit tests
Test: verified test config auto-gen for bc-tests and toybox-tests
Change-Id: Id8ce5dd0723e8c95921e2e20bff72fc828d47d87
2020-06-04 10:35:53 -07:00
Ulya Trafimovich
77a78fca4e Refactor library path representation in dexpreopt.
This is a preliminary CL before fixing on-device paths to DEX jars.
It groups together the inormation about on-host build paths and
on-device install paths to library DEX jars.

This CL changes the structure of module dexpreopt.config files
generated by the build system. Aside of that, no functional changes.

Test: lunch aosp_cf_x86_phone-userdebug && m
Change-Id: I8e92829885f26522aa2b936e77e91ce91593b27c
2020-06-04 17:33:22 +01:00
Ulyana Trafimovich
a302888747 Merge "Add product variable PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_JARS." am: 4c5ed87faa am: 8a54af6b70
Original change: https://android-review.googlesource.com/c/platform/build/+/1321931

Change-Id: Id03c52697447aba8a6e1aa333942f3661efd8f72
2020-06-04 09:20:57 +00:00
Ulyana Trafimovich
8a54af6b70 Merge "Add product variable PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_JARS." am: 4c5ed87faa
Original change: https://android-review.googlesource.com/c/platform/build/+/1321931

Change-Id: I338c76a6b6e91634112bf32cc7e280ddeb4e14d0
2020-06-04 09:04:19 +00:00
Ulyana Trafimovich
4c5ed87faa Merge "Add product variable PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_JARS." 2020-06-04 08:56:04 +00:00
Pierre Couillaud
d99da8fa17 Strip debug symbols from modules (fixup)
allow to also skip the stripping of the modules present in vendor
ramdisk when the BOARD configuration is set to skip the strip step.

there is also a shortcoming of this functionality: it currently assumes
the modules to strip are all created equal against the same arch in
particular, however this does not work for kernel modules which are
for mixed mode platforms, as example {kernel,android} == {aarch64,armv7}
because it will select the "android" mode strip which is unaware of the
kernel mode architecture.

Bug: 156395749
Bug: 155193290
Change-Id: I35ef51845224e94e3e253acdeb6bb14b990a401b
2020-06-04 00:17:58 +00:00
Pierre Couillaud
bb726614db Strip debug symbols from modules (fixup)
allow to also skip the stripping of the modules present in vendor
ramdisk when the BOARD configuration is set to skip the strip step.

there is also a shortcoming of this functionality: it currently assumes
the modules to strip are all created equal against the same arch in
particular, however this does not work for kernel modules which are
for mixed mode platforms, as example {kernel,android} == {aarch64,armv7}
because it will select the "android" mode strip which is unaware of the
kernel mode architecture.

Bug: 156395749
Bug: 155193290
Change-Id: I35ef51845224e94e3e253acdeb6bb14b990a401b
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2020-06-03 23:44:37 +00:00
Treehugger Robot
d8c0980339 Merge "Re-enable link type checking" am: 49efd2aad0
Original change: https://android-review.googlesource.com/c/platform/build/+/1156840

Change-Id: I5295afd02e604c2da24f87f2cabd3e2b293cd867
2020-06-03 21:49:05 +00:00
Treehugger Robot
49efd2aad0 Merge "Re-enable link type checking" 2020-06-03 21:30:22 +00:00
Dan Willemsen
be15ded040 Re-enable link type checking
When I removed the actions that ran the python link type checker, I
forgot that the Make version hadn't been enabled yet. Enable the Make
version.

Bug: 143748700
Test: treehugger (particularly, build_test on the downstream branches)
Change-Id: I293b3be5ca7828c9d7148e13d88b0f0bba54d964
Merged-In: I293b3be5ca7828c9d7148e13d88b0f0bba54d964
Merged-In: I08090db44d47f809fbaa0c4ad373e46e6a3fbe2e
2020-06-03 21:09:32 +00:00
Treehugger Robot
76fbe68b37 Merge "refactor kernel module build, add version support" am: 8c6c2cd3de am: 59f09ba05c
Original change: https://android-review.googlesource.com/c/platform/build/+/1320314

Change-Id: I1098a9421c5c935d5655da59f52c7eb5aad815de
2020-06-03 18:40:00 +00:00
Treehugger Robot
23ddab0418 Merge changes Ia1392b7d,I199788d4,I9c8ac0e6 am: aa62df07cf am: 2027f6bf85
Original change: https://android-review.googlesource.com/c/platform/build/+/1318773

Change-Id: Ic31d722a2b9d74937fa1bd32268d3f30ac6feb71
2020-06-03 18:39:49 +00:00