Commit Graph

1442 Commits

Author SHA1 Message Date
Paul Duffin
777bf29f3b Merge changes Iaca95efc,I7ccd5581 am: 57fab96e01 am: 3645404e1c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1526698

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic6dfde31f226d1ef726d155a40b255b4ac626272
2020-12-14 11:36:31 +00:00
Paul Duffin
57fab96e01 Merge changes Iaca95efc,I7ccd5581
* changes:
  Add RemoveOptionalPrebuiltPrefix() helper function
  Delegate work of apexInfoMutator to ApexInfoMutator interface
2020-12-14 10:54:21 +00:00
Jiyong Park
59140307ec arch specific dependencies are supported for apex
The apex module type now supports arch specific native dependencies.

apex {
    name: "myapex",
    arch: {
        arm64: {
	    native_shared_libraries: ["arm64_only_lib"],
	},
    },
}

Bug: 174639241
Test: m nothing
Change-Id: I3f00aa87c480d4127b27d33e9620c4336824e937
2020-12-14 18:44:04 +09:00
Sophie Zheng
2246c7bbc0 Merge "Automate NDK API coverage used by Mainline modules build integration" am: e3a2bdf2c8 am: f0fa9dfdd7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1516605

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic15891d61ac95747f2f2aca0f97cbe302f6e6b70
2020-12-11 22:53:15 +00:00
Sophie Zheng
e3a2bdf2c8 Merge "Automate NDK API coverage used by Mainline modules build integration" 2020-12-11 22:19:00 +00:00
Paul Duffin
d23c726b36 Add RemoveOptionalPrebuiltPrefix() helper function
Test: m nothing
Bug: 171061220
Change-Id: Iaca95efcaf3f02e066751c6e988d609ac40e048a
2020-12-11 18:13:08 +00:00
Paul Duffin
a7d6a89774 Delegate work of apexInfoMutator to ApexInfoMutator interface
Refactor the apexInfoMutator to delegate the work to an implementation
of ApexInfoMutator and then move the existing functionality into the
apexBundle.ApexInfoMutator(). This will allow a follow up change to
customize the behavior of this mutator for prebuilt_apex modules.

Test: m nothing
Bug: 171061220
Change-Id: I7ccd55818e02a606c5494e215f4370b635ddd0a5
2020-12-11 16:07:17 +00:00
Paul Duffin
b6f7bd5d24 Merge "Rename apexDepsMutator to apexInfoMutator" am: 08703826bd am: 452cdd33da
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1523982

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I388a2927d49048b5de97fb82cdc494308cef4c0a
2020-12-11 11:15:36 +00:00
Paul Duffin
92f5559fb5 Merge "Extract testDexpreoptWithApexes() for reuse" am: 4d934af2ee am: 30642ff255
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1523981

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib745536acb0a80bfd4f5ba9492eeae942908132c
2020-12-11 11:15:25 +00:00
Paul Duffin
08703826bd Merge "Rename apexDepsMutator to apexInfoMutator" 2020-12-11 10:06:19 +00:00
Paul Duffin
4d934af2ee Merge "Extract testDexpreoptWithApexes() for reuse" 2020-12-11 10:06:07 +00:00
Jiyong Park
4d4fce3df8 Merge "stub variants also re-exports headers" am: 6f05a73e3e am: 0c6aecfa06
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1518569

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib42ca356ba35563e8de8ae93d2a3db6b2305ec60
2020-12-11 09:55:21 +00:00
Jiyong Park
6f05a73e3e Merge "stub variants also re-exports headers" 2020-12-11 08:50:12 +00:00
Jiyong Park
1ad8e16fbe stub variants also re-exports headers
This change fixes a bug that headers are not re-exported from stub
variants of a library, if the headers are not from header libs, but from
shared or static libs. This is because only header lib dependencies
are respected for stubs variants.

The fix is as follows. 1) dependencies to the shared/static libs are
added even for stubs variants. 2) instead, in depsToPaths, they are
treated like header libs (i.e. don't contribute to linkFile) for the
stubs variants.

Bug: 174558745
Test: m

Change-Id: Iab6c77e7817055d0f2d09cb114186b30164fc231
2020-12-11 13:48:28 +09:00
sophiez
55e8815fb8 Automate NDK API coverage used by Mainline modules build integration
Dist txt files containing NDK APIs used by Mainline modules

Test: TARGET_BUILD_APPS=com.google.android.adbd m dist apps_only

Change-Id: I035f1e0cc7eb43fc09e796dbc6ce77e65b8aa3b4
2020-12-11 00:45:20 +00:00
Jiyong Park
1d58cd8e63 Merge "rust ffi libraries can be included in APEX" am: b555609098 am: 83732bad33
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1519482

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I52f08cde8ddfedbbb9ed55544ba70d4cbd971833
2020-12-11 00:43:40 +00:00
Jiyong Park
a3df735a37 Merge "Add min_sdk_version to Rust modules." am: 0d399b5915 am: 6b31120281
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1518205

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4b7735516482cfb8ea743c087d147ef3cb85663e
2020-12-11 00:43:37 +00:00
Jiyong Park
b555609098 Merge "rust ffi libraries can be included in APEX" 2020-12-10 23:54:34 +00:00
Jiyong Park
0d399b5915 Merge "Add min_sdk_version to Rust modules." 2020-12-10 23:54:34 +00:00
Paul Duffin
949abc03eb Rename apexDepsMutator to apexInfoMutator
Generally ...DepsMutator methods add dependencies between modules but
the apexDepsMutator does not which can be confusing. This renames
apexDepsMutator to apexInfoMutator and adds some extra documentation to
clarify its function. It also renames the registered name for the
mutator and its associated providers from apex_deps to apex_info.

Test: m nothing
Bug: 171061220
Change-Id: Ic074a281215b23e982448ccff7ac075236123bee
2020-12-10 20:16:57 +00:00
Paul Duffin
c3bbb96667 Extract testDexpreoptWithApexes() for reuse
Extracts testDexpreoptWithApexes() from testDexpreoptWithApexes() to
reuse in other tests.

Test: m nothing
Bug: 171061220
Change-Id: Iee62b68d72133b4cc066e2875bd27d7051206cbc
2020-12-10 20:16:57 +00:00
Steven Moreland
3d8f7f7419 Merge "target.apex.exclude_[shared|static]_libs to cc_* modules" am: 35989ae98b am: 2abc02e623
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1515154

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I274f31fecb5730708b23c4f6aefea6495d46a57e
2020-12-10 19:48:41 +00:00
Steven Moreland
35989ae98b Merge "target.apex.exclude_[shared|static]_libs to cc_* modules" 2020-12-10 19:02:02 +00:00
Treehugger Robot
2826fca6e6 Merge "Add neuralnetworks_utils_hal_service to apex/allowed_deps.txt" am: a4fd2ea7b2 am: 00a1a3e059
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1521578

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib9e29a14b01e3a587d61fe93d2b8d101b8895760
2020-12-10 13:08:42 +00:00
Treehugger Robot
a4fd2ea7b2 Merge "Add neuralnetworks_utils_hal_service to apex/allowed_deps.txt" 2020-12-10 12:21:57 +00:00
Jiyong Park
d21fb571b8 Merge "test_for is available for all cc_* module types" am: 2920d2cec0 am: 2b33ad60aa
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1517638

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Icb7b66c56d49f6d6731416e9a1ae45e1f5b73d19
2020-12-10 00:58:43 +00:00
Jiyong Park
2b33ad60aa Merge "test_for is available for all cc_* module types" am: 2920d2cec0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1517638

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I38d61acc50786ee97ee85e7cf89d9664dd91a148
2020-12-10 00:33:40 +00:00
Jiyong Park
2920d2cec0 Merge "test_for is available for all cc_* module types" 2020-12-10 00:16:29 +00:00
Yan Yan
1a93af7632 Allow IPsec module to depend on modules-utils-build
This is generated by build/soong/scripts/update-apex-allowed-deps.sh

Bug: 157577190
Test: builds
Change-Id: Ie71c63238c16c9cade400e1b3df02c35d915265c
2020-12-09 15:48:55 -08:00
Ivan Lozano
3e9f9e47cf Add min_sdk_version to Rust modules.
Add the min_sdk_version property to Rust modules so they can declare
a minimum SDK version they support for use with APEX modules.

Test: New Soong test passes.
Bug: 174862583
Change-Id: I2829053a320f50c218783dee5adbeff9cef81e8e
2020-12-09 11:30:44 -05:00
Slava Shklyaev
af1df7008b Add neuralnetworks_utils_hal_service to apex/allowed_deps.txt
Similarly to the other neuralnetworks_utils_hal_* targets, this new
target is a result of restructuring our code.

Generated with build/soong/scripts/update-apex-allowed-deps.sh

Bug: 170289677
Test: m
Change-Id: I7ca24e8afe6cfb978d51f0b55389615e5f28a1e0
Merged-In: I7ca24e8afe6cfb978d51f0b55389615e5f28a1e0
(cherry picked from commit c1a84ca5cb)
2020-12-09 16:01:31 +00:00
Mohammad Islam
85e27e8c69 Merge "Enable soong build tool to handle APEX compression" am: 5d2c54f1e2 am: 8f1078cdcd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1511283

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6541eb4829908c85a08aa2fcb10f2c951059444e
2020-12-09 15:23:01 +00:00
Mohammad Islam
8f1078cdcd Merge "Enable soong build tool to handle APEX compression" am: 5d2c54f1e2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1511283

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I567fada250e030005c9c103b1c24228bf0b52988
2020-12-09 14:49:33 +00:00
Mohammad Islam
5d2c54f1e2 Merge "Enable soong build tool to handle APEX compression" 2020-12-09 14:34:42 +00:00
Jiyong Park
46a512f1f5 test_for is available for all cc_* module types
Sometimes, the ordinary cc_library_* modules need test_for property when
they are part of a bigger cc_test. Instead of propagating the test_for
property from cc_test to its dependencies, this change requires the very
dependency which needs access to the private part of an APEX to
explicitly have the test_for property.

Bug: 161575591
Test: m
Change-Id: Ie1ffe9a60cd2ab02d41bbe5a98225a40392470f6
2020-12-09 12:59:19 +09:00
Jiyong Park
f2cc1b77f3 rust ffi libraries can be included in APEX
This CL fixes a bug that rust_ffi_shared libraries can't be included in
an APEX either directly (via native_shared_libs property) or indirectly.

Bug: 175105284
Test: m
Change-Id: I2e2d3e11b3901f3412b9725e47a8ebf31f93847b
2020-12-09 00:29:54 +09:00
Anton Hansson
4fa54d1865 Merge "Add native modules build utils to allow list" am: d230030dfd am: f261d7c2bf
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1518600

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2b3766e8f2af22ad77d323e554140e6902c38790
2020-12-08 15:22:09 +00:00
Anton Hansson
f261d7c2bf Merge "Add native modules build utils to allow list" am: d230030dfd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1518600

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I41c3cb22b2f18b22b128e418976b2e7f7c0e7aef
2020-12-08 14:34:05 +00:00
Orion Hodson
50ad989646 apex/allowed_deps: add libnetjniutils
Bug: 158749603
Test: m
Change-Id: I00a8d61eebba5ae43f2338822854264dfabad4af
2020-12-08 13:55:16 +00:00
Mohammad Samiul Islam
3cd005d347 Enable soong build tool to handle APEX compression
1. Soong can now detect PRODUCT_COMPRESSED_APEX flag
     We don't want APEX to be compressed on all devices. Only those that
     have explicitely set PRODUCT_COMPRESSED_APEX flag.
2. Handle "compressible" field in soong build rule
     On devices that supports APEX compression, all APEX will be
     compressed by default. If any apex does not want to be compressed,
     they will need to state that by setting "compressible" field to
     false
3. Can use apex_compression_tool to compress APEX
     Note we compress the APEX after it has been signed. That way, when
     we decompress we will get a signed APEX.
4. Place the compressed APEX in system with .capex extension
     This makes it easy to identify. We still preserve the original
     extension so that when we decompress, we can just rename by cuttif
     off the .capex extension.

Note: with this change, we can create a system image with compressed
APEX, but we cannot boot with it since platform doesn't know how to
handle .capex files. Platform support will be added on follow up CLs.

Bug: 172911362
Test: OVERRIDE_PRODUCT_COMPRESSED_APEX=true m (apex_test.go)
Test: observed $OUT/system/apex has .capex files
Change-Id: I20ac4c4ceb521924c751a6017f979b2d808fdded
2020-12-08 13:06:25 +00:00
Anton Hansson
1e1e823895 Add native modules build utils to allow list
This is a backward-compatible library.

Test: m with dep
Change-Id: Id68a00efe8973e7660ce2e53d42b7741c9f22a5c
2020-12-07 12:54:07 +00:00
Jiyong Park
e386754898 target.apex.exclude_[shared|static]_libs to cc_* modules
The property is used to exclude some shared and static libs when the
module is built for an APEX.

Bug: 166468760
Test: m
Change-Id: I0dcaa4ae94c01aa00dc5539c60d3054c57fd8824
2020-12-04 18:09:39 +09:00
Treehugger Robot
83d5ddd5eb Merge "Don't use module names with "prebuilt_" prefixes in make dependencies." am: d348c41af5 am: 00fd1c09d5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1515504

Change-Id: If7dabf0da9a2158305ecfd38cda94dbe09707f7d
2020-12-04 07:55:36 +00:00
Treehugger Robot
00fd1c09d5 Merge "Don't use module names with "prebuilt_" prefixes in make dependencies." am: d348c41af5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1515504

Change-Id: Id640558409539dd91f945f35786085afcbbf8fa3
2020-12-04 07:32:25 +00:00
Treehugger Robot
d348c41af5 Merge "Don't use module names with "prebuilt_" prefixes in make dependencies." 2020-12-04 06:23:51 +00:00
Kiyoung Kim
aa7703d34b Merge "Add linkerconfig to Runtime APEX" am: 2ba87f466c am: 41e45d90b3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1513630

Change-Id: Idf724126083d36da8c412bd1eb7c782ba0d5e372
2020-12-04 02:04:52 +00:00
Kiyoung Kim
41e45d90b3 Merge "Add linkerconfig to Runtime APEX" am: 2ba87f466c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1513630

Change-Id: I52d9e487f3dba459bde89db08182227b8f1ad526
2020-12-04 01:35:45 +00:00
Martin Stjernholm
2856c66c99 Don't use module names with "prebuilt_" prefixes in make dependencies.
The distinction between foo and prebuilt_foo doesn't exist in make, so
this could create invalid dependencies when both source and prebuilt
modules exist and the prebuilts are preferred.

Test: `m` with ART module prebuilts with prefer:true in the tree
Test: m nothing
Bug: 172480615
Change-Id: I90b76a8f38493882b3330d1b6789159852e59d55
2020-12-04 01:00:23 +00:00
Kiyoung Kim
2ba87f466c Merge "Add linkerconfig to Runtime APEX" 2020-12-04 01:00:22 +00:00
Sophie Zheng
c6dc18ac2a Merge "Automated NDK API coverage used by Mainline modules build integration." am: 8baa8b50a8 am: 94443b9511
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1496322

Change-Id: Ib0ed665f1e14c4a6664aa4221c6c0a5ccdbe2e96
2020-12-04 00:22:31 +00:00