Commit Graph

989 Commits

Author SHA1 Message Date
Yi-Yo Chiang
e2027b2526 Merge changes from topic "variational-required" am: d7b95f94a1 am: e3c9611b24
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1739833

Change-Id: I00420ba0a1409254125935e8c1a4c3610fa44536
2021-07-30 18:35:25 +00:00
Justin Yun
27b9572433 Rewrite snapshot dependencies for vndk-ext
VNDK-ext libraries have dependency on VNDK libraries. When building
against snapshots, the dependency must be rewritten with the
snapshots.

Bug: 194864314
Test: m nothing
Change-Id: I1244c6a6590e89b344ab39514bb5142d36b04268
2021-07-30 10:49:02 +00:00
Yi-Yo Chiang
c7e044f531 cc/cc.go: Support per-image-variation "required"
Support "core" and "recovery" variants for now. Might add more image
types if needed.

Bug: 191369319
Test: Presubmit
Test: Inspect out/soong/Android-*.mk
Change-Id: Iebab29ed5d6d8fe9c66b6d6e56e00246d10c36b3
2021-07-24 22:44:36 +08:00
Treehugger Robot
fba8644b97 Merge "Remove default_shared_libs" am: 2231f8a21c am: 0cddfa441d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1775072

Change-Id: Id3f0baada1ba1fdb209fdd24569ecbbf3fe99722
2021-07-23 21:28:09 +00:00
Treehugger Robot
2231f8a21c Merge "Remove default_shared_libs" 2021-07-23 21:18:51 +00:00
Colin Cross
6b8f4253eb Remove default_shared_libs
system_shared_libs has been modified to have the same behavior as
the newly added default_shared_libs, remove default_shared_libs in
favor of system_shared_libs.

This reverts Ia2349d84c70e503916f90a5d2702e135248f73df and renames
the default_shared_libs property in cc_object (which never had
system_shared_libs) to system_shared_libs.

Bug: 193559105
Test: m checkbuild
Change-Id: I46672e3a096b6ea94ff4c10e1c31e8fd010a163c
2021-07-22 12:10:11 -07:00
Treehugger Robot
266d97fa2a Merge "Refactoring fuzz packaging code" am: 0b45f0b90f am: c62f2deb45
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1758711

Change-Id: Ib7b2a903e1f5a8a52c38272704c67b9e92cfef94
2021-07-19 20:34:57 +00:00
hamzeh
41ad881e16 Refactoring fuzz packaging code
Rust and cc fuzz packaging have common. This change is to put this
common methods and fields into fuzz_common.

Test: make haiku and make haiku-rust ran locally and verify corpus,
dict and config are packaged along with the executable.

Change-Id: I04bf535cd2597ed8b2bd3d8e6ea8c28f38bdc18b
2021-07-16 17:43:33 -07:00
Treehugger Robot
90fd09de6b Merge changes from topic "vendor_snapshot-192647618" am: da70df7277 am: 4ba5a02a4d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1755250

Change-Id: Iee6ae2a99d36117e9099a6c926b0c0c46ec42436
2021-07-13 09:24:26 +00:00
Treehugger Robot
da70df7277 Merge changes from topic "vendor_snapshot-192647618"
* changes:
  cc/cc.go: Harden GetSnapshot() against nil pointer panic
  cc/cc.go: Add Device() method to LinkableInterface
2021-07-13 08:54:11 +00:00
Liz Kammer
7b6484325b Merge changes If89b7d0b,I630c06f0,Id861a62b,If71bb468 am: 1a0e2d20b3 am: 60cd3b9609
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1749407

Change-Id: I4346f2ae9432e2cd375bdbacb4a422105d73f3c5
2021-07-09 21:12:19 +00:00
Liz Kammer
75db931843 Iterate over sanitizers
Test: go test soong tests
Change-Id: If89b7d0b04cad79b42a08504d4fcff36e914b7a4
2021-07-08 11:19:15 -04:00
Liz Kammer
acd1fb16d5 Merge changes I770f5ce7,I32d4417d am: 4aa48b03ea am: 1d9b80262e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1749405

Change-Id: I21460aae0a59264de829322d6f1408c6322934ad
2021-07-08 13:39:51 +00:00
Liz Kammer
187d5445e8 Remove IsDependencyRoot from interface
This is equivalent to Binary() -- reduce the interface and improve
clarity.

Test: go test soong tests
Change-Id: I770f5ce79fd4d888586d31ec5e67be88153626b6
2021-07-07 16:29:09 -04:00
Yi-Yo Chiang
ec14a4ded8 cc/cc.go: Harden GetSnapshot() against nil pointer panic
* Retrieve SnapshotInfo only if the calling module is device-variant.
* Test for nil-ness before calling ctx.OtherModuleProvider().

Bug: 192647618
Test: Presubmit
Change-Id: Ida8582f756e1b15f8c14c816ed6e736b47995877
2021-07-03 19:20:02 +08:00
Treehugger Robot
7038af4d66 Merge "Include static lib information for the snapshot modules" am: 503e3a10b2 am: 5caf0040d1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1751245

Change-Id: If5dffdebf163416ebcf3654222513e2becd745eb
2021-07-02 00:34:02 +00:00
Treehugger Robot
787f1d9086 Merge "Delete unused functions" am: 31b9a0c9da am: d6f6a86e34
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1749403

Change-Id: Iac4dd19b2984f28d89e0c4e75117f197407674a4
2021-07-02 00:12:54 +00:00
Treehugger Robot
503e3a10b2 Merge "Include static lib information for the snapshot modules" 2021-07-01 22:24:33 +00:00
Treehugger Robot
31b9a0c9da Merge "Delete unused functions" 2021-07-01 22:20:04 +00:00
Justin Yun
5e03586365 Include static lib information for the snapshot modules
snapshot modules require the list of static libs to find the NOTICE
files for the snapshot modules.
snapshot binaries must include static_executable property to check if
non static binaries have libc as a static lib.

Bug: 190690041
Test: Check NOTICE for libaudiopreprocessing.so built from snapshots.
Change-Id: I53f7549a158ab27ada87833a3f4d58620aa7c3cf
2021-07-01 11:42:28 +00:00
Colin Cross
247724099f Merge "Add default_shared_libs property" am: e19e6196b9 am: dc07b677eb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1743043

Change-Id: Ie6fc62d8460aaacff7a6b66d96c9ff21bffd96ef
2021-06-30 18:13:48 +00:00
Colin Cross
e19e6196b9 Merge "Add default_shared_libs property" 2021-06-30 14:27:20 +00:00
Liz Kammer
3b606c8218 Delete unused functions
As they're unused, also removing them from the interface.

Test: go test soong tests
Change-Id: I76e7cbca12876395d8d7eaae4481c5e0d1350d76
2021-06-28 12:29:30 -04:00
Jiyong Park
56a39ad6d9 Merge changes from topic "stub_from_rust"
* changes:
  Add platform_apis property to APEX module type
  Rust module in APEX uses stub libraries across APEX boundaries
2021-06-25 17:52:43 +00:00
Lukács T. Berki
2f20de6c24 Merge "Dump extra JSON data for C++ modules and ApexInfo." am: 141fbad0e4 am: 3f5770c5a7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1748053

Change-Id: I08cafbda9baa1898562d8d70602bb6b05320c1f8
2021-06-25 11:26:32 +00:00
Lukacs T. Berki
d18d8cab73 Dump extra JSON data for C++ modules and ApexInfo.
Test: Presubmits.
Change-Id: I96cf67c6f1338aed9d2ab5834a14b8a40a9e5b45
2021-06-25 11:15:40 +02:00
Jiyong Park
1bc8412d37 Add platform_apis property to APEX module type
The property is used to allow non-updatable APEXes to use platform APIs
(e.g. symbols marked as "# platform-only").

Bug: 191637950
Test: m com.android.virt com.android.compos
Merged-In: Id2410b4e38a78ec2146a42298840954381a7c472
Change-Id: Id2410b4e38a78ec2146a42298840954381a7c472
(cherry picked from commit fb63625a7f)
2021-06-24 19:50:32 +09:00
Jiyong Park
105dc321ce Rust module in APEX uses stub libraries across APEX boundaries
This change fixes a bug that rust module in APEX has access to private
symbols of a native library even when the native library is outside of
the APEX.

To fix this, the stub selection logic in the cc package is exctacted as
a function ChooseStubOrImpl and is used also in the rust package.

Bug: 190767845
Test: m
Merged-In: I5c4cbdd5d27f257ab329d9dadbcd87d41a87f46a
Change-Id: I5c4cbdd5d27f257ab329d9dadbcd87d41a87f46a
(cherry picked from commit 3b5f88e091)
2021-06-24 19:50:06 +09:00
Jiyong Park
9477c26f6c Add platform_apis property to APEX module type
The property is used to allow non-updatable APEXes to use platform APIs
(e.g. symbols marked as "# platform-only").

Bug: 191637950
Test: m com.android.virt com.android.compos
Merged-In: Id2410b4e38a78ec2146a42298840954381a7c472
Change-Id: Id2410b4e38a78ec2146a42298840954381a7c472
(cherry picked from commit fb63625a7f)
2021-06-24 11:28:33 +09:00
Jiyong Park
7d55b61783 Rust module in APEX uses stub libraries across APEX boundaries
This change fixes a bug that rust module in APEX has access to private
symbols of a native library even when the native library is outside of
the APEX.

To fix this, the stub selection logic in the cc package is exctacted as
a function ChooseStubOrImpl and is used also in the rust package.

Bug: 190767845
Test: m
Merged-In: I5c4cbdd5d27f257ab329d9dadbcd87d41a87f46a
Change-Id: I5c4cbdd5d27f257ab329d9dadbcd87d41a87f46a
(cherry picked from commit 3b5f88e091)
2021-06-24 11:27:41 +09:00
TreeHugger Robot
89f175d8c7 Merge "Propagated srcs from cc_defaults to cc_prebuilt_library_shared." into sc-dev am: ffc9ae993a
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/15084348

Change-Id: Ib6f3da05acf25c7af0bc1f4d0b36ca15759c8367
2021-06-24 00:27:51 +00:00
Yu-Chi Cheng
24b2b0fd0c Propagated srcs from cc_defaults to cc_prebuilt_library_shared.
Bug: 191185522
Test: verified on local P21 devices.
Change-Id: I3bab7144213934f6832000793ee6cbc49abd3beb
2021-06-23 15:56:39 -07:00
Colin Cross
9ecb42dd31 Add default_shared_libs property
Building against a locally-built libc besides bionic requires setting
system_shared_libs to avoid circular dependencies, but modules all
over the tree assume that system_shared_libs only affects modules
building against bionic.  Add a new default_shared_libs property
that applies to all modules, which will generally be set in
arch-specific clauses to only affect the desired set of modules.

Bug: 190084016
Test: m checkbuild
Change-Id: Ia2349d84c70e503916f90a5d2702e135248f73df
2021-06-22 16:54:40 -07:00
Inseob Kim
2b33796316 Add install_in_root to cc_binary am: 800d114003 am: 6fa77e896d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1736433

Change-Id: I64bdfcae1a7d939a89e0e37f9016fd46eedaf96c
2021-06-18 18:14:53 +00:00
Inseob Kim
800d114003 Add install_in_root to cc_binary
To support init_first_stage, install_in_root property is added to
cc_binary. The output is installed to {partition}, rather than
{partition}/{mount_point}/bin.

Bug: 187196593
Test: build init_first_stage
Change-Id: Ibc351645308676ed188f748972eb6312c9cbd64f
2021-06-18 05:25:44 +00:00
Lukács T. Berki
ed539ad624 Merge "Make the IsSdkVariant field and method the same." am: 419117ee89 am: 288dc903aa
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1738338

Change-Id: If641ea419f7458f7650085404b64da4f041c05c9
2021-06-17 12:12:56 +00:00
Lukacs T. Berki
2063a0d7b8 Make the IsSdkVariant field and method the same.
Before, the IsSdkVariant() method also checked AlwaysSdk(). Instead,
sdkMutator now sets the IsSdkVariant field to True even for the single
variation it creates when AlwaysSdk is true.

Test: Presubmits.
Change-Id: Ied8b42a3441a30484ef8c5dff5aade5fe92574bb
2021-06-17 09:32:36 +02:00
Colin Cross
2613002a07 Merge changes from topic "ndk_libandroid_support_late_static_libs" am: 9fb2d1fb62 am: fe6f1e6fd0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1736360

Change-Id: Ic91c7d7085e6eb2f5387c965452afd54fe207323
2021-06-16 22:21:38 +00:00
Colin Cross
9fb2d1fb62 Merge changes from topic "ndk_libandroid_support_late_static_libs"
* changes:
  Use LateStaticLibs for ndk_libandroid_support
  Move LateStaticLibs after SharedLibs in the dependency include order
  Test include directory ordering
2021-06-16 21:54:37 +00:00
Colin Cross
cc351c4b48 Merge "Use a linker script for host bionic embedded linker sections" am: 956e32c1be am: ca1129695e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1735344

Change-Id: I7d03c244965df18361a93ba37b81bd1ab7106849
2021-06-16 17:18:30 +00:00
Colin Cross
e32bfdbbf4 Merge changes Ie384089d,Ie2e954cd am: baf4f0c30a am: d701a34838
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1735343

Change-Id: I8e9df129e07529835e47475e8683447fc5d6dd51
2021-06-16 17:18:24 +00:00
Colin Cross
956e32c1be Merge "Use a linker script for host bionic embedded linker sections" 2021-06-16 16:51:10 +00:00
Colin Cross
baf4f0c30a Merge changes Ie384089d,Ie2e954cd
* changes:
  Support genrules as CrtBegin and CrtEnd
  Support multiple CrtBegin and CrtEnd files
2021-06-16 16:50:59 +00:00
Lukács T. Berki
b5db5a2b42 Merge "Update some comments about the image mutator." am: 84a1601804 am: 4c8d04dcf5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1737526

Change-Id: I275d5ef464557b5faf99fa554b28bf9749b0cdc2
2021-06-15 16:45:35 +00:00
Lukács T. Berki
84a1601804 Merge "Update some comments about the image mutator." 2021-06-15 15:50:11 +00:00
Chris Parsons
91eb1fa28e Support cc_library_shared for mixed builds am: 94a0bba5a9 am: e6819aa944
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1727935

Change-Id: I30b6643b74dfb74b4dd7a118b1c392ec7a62aa74
2021-06-15 15:30:43 +00:00
Lukacs T. Berki
2f5c340b49 Update some comments about the image mutator.
Test: It's just comment changes.
Change-Id: Idac69f5369caad028f3daa6aa5c1088d697c07e2
2021-06-15 15:49:51 +02:00
Chris Parsons
94a0bba5a9 Support cc_library_shared for mixed builds
Authors: cparsons, eakammer, jingwen

This CL also contains .toc file integration between Bazel and Make.

Fixes: b/190524879

Test: build/bazel/ci/mixed_droid.sh

Co-authored-by: Christopher Parsons <cparsons@google.com>
Co-authored-by: Liz Kammer <eakammer@google.com>
Co-authored-by: Jingwen Chen <jingwen@google.com>

Change-Id: If484042a58cb9f0db6d30a460f415f5684b4cbf6
2021-06-15 12:40:28 +00:00
Colin Cross
fe9acfecb3 Move LateStaticLibs after SharedLibs in the dependency include order
LateStaticLibs has always been after StaticLibs, move it after
SharedLibs too so that exported headers from LateStaticLibs
dependencies come after exported headers from SharedLibs dependencies.
This will be used to ensure the ndk_libandroid_support headers come
after the ndk_libc++_shared headers.

Test: m checkbuild
Change-Id: I5ef180c99cefcd823c6970c06d0e772a10fa0456
2021-06-14 18:12:58 -07:00
Colin Cross
9cfe6119fe Use a linker script for host bionic embedded linker sections
Use an implicit linker script instead of flags in a file to specify
the locations of the host bionic embedded linker and to prevent it
from being stripped.

Test: build and run host bionic binary
Change-Id: I64e12118d33c67bab5e657cbc3ea8cde8f0fd7e6
2021-06-11 18:02:22 -07:00