Commit Graph

4888 Commits

Author SHA1 Message Date
Colin Cross
0329f2398c Merge changes I59b7a32a,Ida7bc75a
* changes:
  Only request image and version variations for device SDK dependencies
  Create os and arch variants for GoBinaryTool modules
2020-09-02 23:51:53 +00:00
Bill Peckham
945441c09a Add exclude_from_vendor_snapshot property, related logic
When building a vendor snapshot, the general rule the
build system uses to select a module for inclusion into
the vendor snapshot is if it's a framework module.
However, there are cases where a partner may modify the
framework module, thereby assuming control of that
module.

This change adds the exclude_from_vendor_snapshot
property allowing the partner to mark a module that
would normally be included in the vendor snapshot for
exclusion. This module is then built from source when
building the vendor image against the vendor snapshot.

Bug: 165705527
Test: m nothing
Test: build partner code against vendor snapshot
Change-Id: I6c5c15f13eeeb8f29717a4abd84b65fa72096889
2020-09-02 22:27:45 +00:00
Pirama Arumuga Nainar
fe1da75972 Revert "Revert "[pgo] Return updated Flags after adding flags for PGO/AFDO""
This reverts commit 988ff8d149.

Reason for revert: RBE can now handle PGO profiles during remote linking.

Bug: http://b/162702246

Test: m ANDROID_PGO_INSTRUMENT=hwui hwuimacro and check hwuimacro has
      PGO instrumentation.

Change-Id: I724b53dc086923beeb6f4b8903136545d18f4ece
2020-09-02 17:44:06 +00:00
Jooyung Han
3be2358038 Merge commit '0703fd873fe2ed492266a4457a1e217971c2f4f0' into manual_merge_1e3d9fb376aaf1be6de1bd16a9004ccc95226ab0 am: 4c92cad10e am: 4d565700b5 am: 378ff68eb5 am: 1b06154e8f
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/12501269

Change-Id: I0e9a408b9547fad45983f39a5b7dbacd19b29c1d
2020-09-02 08:41:05 +00:00
Jooyung Han
4c92cad10e Merge commit '0703fd873fe2ed492266a4457a1e217971c2f4f0' into manual_merge_1e3d9fb376aaf1be6de1bd16a9004ccc95226ab0
Change-Id: I7115a50254e23e3f7d9cdab960c671195746978e
2020-09-02 14:19:18 +09:00
Jooyung Han
3a92fbeaff Merge "apex: support prebuilt_firmware for vendor apexes" 2020-09-02 04:17:43 +00:00
Xin Li
ca52d2ff53 Merge "Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)" into stage-aosp-master 2020-09-01 20:01:23 +00:00
Ramy Medhat
145fb37c7f Merge "Pass cpp linking implicit deps to RBE." am: 3618f0a02e am: d678bba6b6 am: 79e83919d8 am: c3d4c3d076 am: 00042e0745
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1414829

Change-Id: I5a1d786a0c0f3494d60c7e6206dbfe77e272a1b3
2020-09-01 13:22:54 +00:00
Ramy Medhat
79e83919d8 Merge "Pass cpp linking implicit deps to RBE." am: 3618f0a02e am: d678bba6b6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1414829

Change-Id: I1edee6aa2ba229662856c0ff9a9566d86ca5e019
2020-09-01 12:12:45 +00:00
Ramy Medhat
3618f0a02e Merge "Pass cpp linking implicit deps to RBE." 2020-09-01 11:19:28 +00:00
yangbill
5ec4555d22 AutoGen: Support NativeTest with vendor namespace.
Set the TEST_ROOT to /data/local/tmp/tests/vendor if LOCAL_VENDOR_MODULE or
LOCAL_USE_VNDK be set, if not, set to /data/local/tmp.

Bug: 138450837
Test: atest binderVendorDoubleLoadTest
Change-Id: I04acf12976dd24b9bf880a6775fa4f043a221001
2020-09-01 10:33:12 +08:00
Jooyung Han
0703fd873f apex: support prebuilt_firmware for vendor apexes
prebuilt_firmware module is one of many prebuilt_etc-like modules. When
it is soc-specific, it is installed in /vendor/firmware. Similarly, when
prebuilt_firmware is embeded in a vendor apex, installing it in
<apex>/firmware instead of <apex>/etc.

Bug: 162701747
Test: lunch sunfish-userdebug
      m && device boots && vibrator works
Change-Id: I00d28cde42259aaf8221e3897df77efc42b0c1ca
2020-09-01 10:45:13 +09:00
Xin Li
65cb5c69ea Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: Ifca7b65f4e27bf14cdc30f72f790b0de90130bae
Change-Id: I3a39be5f0b8736de4822c6a14072c78d4e4ad89d
2020-08-29 01:17:45 -07:00
Matthias Maennich
2b718ea738 Merge "soong: add support for module specific lexer flags" am: bea94d3525 am: f4d8891660 am: 75826da3db am: 71acf40e05 am: 9e6941979f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1363562

Change-Id: Ia2579d5dce996d8c350fedc8d66c67a51ef4860c
2020-08-28 21:21:50 +00:00
Matthias Maennich
75826da3db Merge "soong: add support for module specific lexer flags" am: bea94d3525 am: f4d8891660
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1363562

Change-Id: I0480bbdd966aeb0233bfca66c20dbd7eb0c1608d
2020-08-28 20:03:19 +00:00
Matthias Maennich
bea94d3525 Merge "soong: add support for module specific lexer flags" 2020-08-28 19:24:01 +00:00
Ramy Medhat
6797edc70e Pass cpp linking implicit deps to RBE.
Test: build with RBE_CXX=1 RBE_CXX_EXEC_STRATEGY=remote
Change-Id: Ie769b9a99f080b75c1b82e458b5220261e9c1b47
2020-08-28 14:53:44 -04:00
Thiébaud Weksteen
01113aa699 Merge "cc: export Stripper struct" am: 03156929db am: 44c0a17793 am: 8bd1e224b0 am: 3704e0c13a am: 7eab857e72
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1404788

Change-Id: I8261f736399edb4aa2c15466b723e6ed473a9200
2020-08-28 10:36:08 +00:00
Bowgo Tsai
02c81e214f Merge "Revert "[pgo] Return updated Flags after adding flags for PGO/AFDO"" am: 38414db4de am: aeca1f6aa0 am: dffdcb2d6a am: 9b84bc3a5a am: f27c2875ef
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1413430

Change-Id: I2666a33bf1d2c8ff60226a4d1a9335f7e3e84c27
2020-08-28 10:36:02 +00:00
Thiébaud Weksteen
8bd1e224b0 Merge "cc: export Stripper struct" am: 03156929db am: 44c0a17793
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1404788

Change-Id: I0998951ffcde60254f69f99cf55cd564472990e9
2020-08-28 09:03:46 +00:00
Bowgo Tsai
dffdcb2d6a Merge "Revert "[pgo] Return updated Flags after adding flags for PGO/AFDO"" am: 38414db4de am: aeca1f6aa0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1413430

Change-Id: I7b3b4dee24f62f30578ff970fcdd193e87aa1c21
2020-08-28 09:03:40 +00:00
Bowgo Tsai
988ff8d149 Revert "[pgo] Return updated Flags after adding flags for PGO/AFDO"
This reverts commit 5010a97388.

Reason for revert:  b/166728338 - build failures on master branch

Bug: 162702246
Bug: 166728338
Change-Id: Ie9e51e7c5533d220ad3e160439cb38ff88f068ac
Test: TreeHugger
2020-08-28 08:08:36 +00:00
Treehugger Robot
6b3dec735e Merge "[pgo] Return updated Flags after adding flags for PGO/AFDO" am: 1fde95ac3f am: b2403bc2f7 am: 1e88888c83 am: 9f145eb500 am: b43fd1117e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1414408

Change-Id: Id7e72187742fe061cd85980a58cf9bd1b147ac3e
2020-08-28 06:13:28 +00:00
Treehugger Robot
1e88888c83 Merge "[pgo] Return updated Flags after adding flags for PGO/AFDO" am: 1fde95ac3f am: b2403bc2f7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1414408

Change-Id: I5b7dde3a337c174f6b48181ed4f5309e41ad280c
2020-08-28 04:59:33 +00:00
Pirama Arumuga Nainar
5010a97388 [pgo] Return updated Flags after adding flags for PGO/AFDO
Bug: http://b/162702246

Test: m ANDROID_PGO_INSTRUMENT=hwui hwuimacro and check hwuimacro has
      PGO instrumentation.
Change-Id: I8044702e0aed4fa7bb9ac71608a83a95f319abd9
2020-08-27 16:28:45 -07:00
Treehugger Robot
5a60431ee7 Merge "apex: pass "apex name" as literal to apex variants" am: d1ac3a79e0 am: 613222477c am: e0b4c0f851 am: 13b30a1493 am: b099c2dbd1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1403227

Change-Id: I192ea1008332146d4b24a89b6938c8a82505efbb
2020-08-27 08:24:33 +00:00
Treehugger Robot
04598253d3 Merge "bootstrap is added for cc_binary only when the module is in an APEX" am: 23a6a41c66 am: bf49e6e7fc am: 7ac243e9ea am: 6480dbaf33 am: e5e0dc14f4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1409927

Change-Id: I10649e9fda5536bd92de3c3de0fcd26363e284ed
2020-08-27 08:24:20 +00:00
Thiébaud Weksteen
d458745f15 cc: export Stripper struct
The cc stripping logic can be reused for Rust. Export the Stripper
structure for that purpose. Extract the strip-related flags from
builderFlags into StripFlags. Add the method flagsToStripFlags
(similarly to flagsToBuilderFlags).

Add the helper method disableStripping on libraryDecorator.

Test: m
Bug: 153430439
Change-Id: I11aef1abb8d498a4c1672500a7398279edf7f548
2020-08-27 10:13:42 +02:00
Treehugger Robot
e0b4c0f851 Merge "apex: pass "apex name" as literal to apex variants" am: d1ac3a79e0 am: 613222477c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1403227

Change-Id: Id91c20feae2f5718714db09c24b1b64018811ce3
2020-08-27 00:18:14 +00:00
Treehugger Robot
7ac243e9ea Merge "bootstrap is added for cc_binary only when the module is in an APEX" am: 23a6a41c66 am: bf49e6e7fc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1409927

Change-Id: I3768014726edd74f24d98b28c3bfc8c85b19bff8
2020-08-27 00:10:50 +00:00
Treehugger Robot
d1ac3a79e0 Merge "apex: pass "apex name" as literal to apex variants" 2020-08-27 00:01:15 +00:00
Treehugger Robot
23a6a41c66 Merge "bootstrap is added for cc_binary only when the module is in an APEX" 2020-08-26 23:28:54 +00:00
Matthias Maennich
22fd4d1b82 soong: add support for module specific lexer flags
To support module specific lexer flags, this follows the same strategy
as the yacc flags:
 - add LexProperties to the BaseCompilerProperties
 - propagate those flags to the generator generation (i.e. genLex)
 - add a placeholder for custom flags
 - replace the placeholder with the concatenated flags

This might not support escaping very well, but I figured that this is a
very edge case. Support for escaping etc. could be added later on.

Bug: 159682555
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I31a3b783bb05213fe1621191031952b41b318103
2020-08-26 21:41:33 +01:00
Colin Cross
42507337e5 Only request image and version variations for device SDK dependencies
AddFarVariationDependencies was broken, which allowed sdk modules to
request dependencies using image and version variations, even for
host modules that do not have image or version variations.  Make
the image and version variations conditional on device sdk modules.

Test: go test ./sdk
Change-Id: I59b7a32a3782254fd5feb828a5258ee13d4db812
2020-08-26 11:51:51 -07:00
Raphael Gault
70b96b0d64 Introduce new Arm64 arch variant with dot product features
In order to rely on `-march`/`-mcpu` compiler flags for feature
detection, we introduce a new arch variant based on armv8.2 with the
addition of dot product features.

Test: test-art-target on Pixel 4.

Change-Id: I4d97db6129e2cd718a2b21008d36ec767739f925
2020-08-26 15:52:22 +00:00
Jiyong Park
89f7bf1635 bootstrap is added for cc_binary only when the module is in an APEX
Like shared libraries, the bootstrap subdirectory is appended to the
install path only when the module is in an APEX. Currently, this change
doesn't make any difference because only the Bionic binary (linker) is
satisfying the existing condition InstallToBootstrap() and it already
satisfies DirectlyInAnyApex.

However, this change makes a diference when we build the binary for the
host targets. Then without this change, it is installed to
out/soong/host/<OS>-<arch>/bin/bootstrap. This doesn't make sense
because we don't use APEXes for the host targets. With this change,
the binary is correctly installed to out/soong/host/<OS>-<arch>/bin
because DirectlyInAnyApex returns false for hosts.

Bug: 159685774
Test: m
Change-Id: I0d63bd8c11e3a96ee6a27b2295bc14d6dc15ff9e
2020-08-25 18:57:39 +09:00
Treehugger Robot
49f641e5e9 Merge "Support ninja rsp files in soong_zip" am: 4c2e4f381a am: 1e4fbc23bf am: 15bbb3b646 am: 905f3fe3f8 am: eecb1b577d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1405368

Change-Id: I3281a64f94f9310be02c02ad2f8981b9fa3cdf42
2020-08-24 23:12:16 +00:00
Treehugger Robot
6eeb9fc5e5 Merge "Propagate sanitize.never flag in SDK snapshots." am: e819bec240 am: a5c0b11970 am: b3b358cafe am: 8b3374a919 am: 33c9ae67e4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1406917

Change-Id: I802e207744614220f36520fcd13464bea314c29b
2020-08-24 21:16:46 +00:00
Treehugger Robot
15bbb3b646 Merge "Support ninja rsp files in soong_zip" am: 4c2e4f381a am: 1e4fbc23bf
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1405368

Change-Id: Iaea9c5749421e82a8a9f2c713c2d53c8abf44663
2020-08-24 20:03:37 +00:00
Treehugger Robot
4c2e4f381a Merge "Support ninja rsp files in soong_zip" 2020-08-24 18:40:56 +00:00
Treehugger Robot
b3b358cafe Merge "Propagate sanitize.never flag in SDK snapshots." am: e819bec240 am: a5c0b11970
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1406917

Change-Id: Ief4f39ffa3c549ba980c0b2006f7ea1411c254f4
2020-08-24 18:27:57 +00:00
Kousik Kumar
118686b4ef Remove InputRootAbsolutePath spec to header-abi-dumper
We used this when doing cache-only for header-abi-dumper to prevent
cross-branch cache hits since abi-dumper had the absolute path of the files
in its output. Since header-abi-dumper no longer outputs absolute paths,
we no longer need to prevent cross-branch cache-hits.

Bug: b/162045672
Change-Id: Iecc3ad9614cda6202cc5f8a9d538f806a79bdf3b
2020-08-24 10:06:35 +00:00
Jooyung Han
c2a1d70eaf apex: pass "apex name" as literal to apex variants
When a cc module sets UseApexNameMacro(mutated property), it is built
with __ANDROID_APEX_NAME__ for its apex variants.

For now the new prop is used by aidl_interface-generated modules only.

Note that we already have __ANDROID_APEX_<NAME>__ macro. The new macro
can be used when we need to pass the name as data while the old one is
useful when we want conditional compilation.

Bug: 165017590
Test: m com.android.aidltest
     check build.ninja if -D__ANDROID_APEX_NAME__ is defined for apex
     varaints
Change-Id: Ia81ba8f833d23254e58c9777daf184d7861f07a7
2020-08-24 10:08:27 +09:00
Treehugger Robot
1baa7b7421 Merge "Add extra_test_configs option" am: ec7a91f9fa am: 82448f2d2d am: 180a485b50 am: 437bb3b11d am: 57fa8ee91c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1402168

Change-Id: Ib63b87c02158c5454806a3f14c1aaf9ae890e387
2020-08-21 18:43:33 +00:00
Martin Stjernholm
fbb486fc7a Propagate sanitize.never flag in SDK snapshots.
This is necessary to not get dependencies on libclang_rt sanitizer libs
for the CRT objects which lead to cyclic dependencies in sanitizer
builds.

Test: `lunch aosp_blueline_hwasan-userdebug && m nothing`
  in a tree that has the prebuilts created and unzipped from
  `build/soong/scripts/build-aml-prebuilts.sh runtime-module-{sdk,host-exports}`
Bug: 151303681
Change-Id: I3f848a084280bdc3ade4b74df03e981d8cc61222
2020-08-21 18:43:51 +01:00
Treehugger Robot
180a485b50 Merge "Add extra_test_configs option" am: ec7a91f9fa am: 82448f2d2d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1402168

Change-Id: If619742e8271e804231d029a87f5fa1297959488
2020-08-21 17:26:05 +00:00
Treehugger Robot
ec7a91f9fa Merge "Add extra_test_configs option" 2020-08-21 16:22:43 +00:00
Treehugger Robot
952140ab59 Merge "Reland: Deduplicate APEX variants that would build identically" am: 68bfe074c6 am: a3d1c127a2 am: 4d9984eeb1 am: 76309aab5d am: a106e405e9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1405087

Change-Id: I5ba652222b6c9ed40fd8c643f92485b26842bd9b
2020-08-21 08:43:24 +00:00
Treehugger Robot
4d9984eeb1 Merge "Reland: Deduplicate APEX variants that would build identically" am: 68bfe074c6 am: a3d1c127a2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1405087

Change-Id: I7cf0c8d2c27757395e54fb4cc8592f438aa6ccaa
2020-08-21 07:38:47 +00:00
Treehugger Robot
68bfe074c6 Merge "Reland: Deduplicate APEX variants that would build identically" 2020-08-21 06:46:51 +00:00