Commit Graph

4901 Commits

Author SHA1 Message Date
Yifan Hong
73b09eeb21 Merge changes from topic "vendor_ramdisk_soong" am: b646bc183a am: ccee04d20d am: 15cd536e42 am: 7b52a8f2f8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1470046

Change-Id: Ia9b63201d108728b0934107dc2a37e237d3aa5b6
2020-10-24 02:34:51 +00:00
Yifan Hong
b646bc183a Merge changes from topic "vendor_ramdisk_soong"
* changes:
  Vendor ramdisk modules install to correct location
  Add vendor-ramdisk image to Soong.
2020-10-24 01:08:16 +00:00
Colin Cross
ba0c30c206 Merge "Add llndk_stubs property" am: ed5dee0a8f am: b078a156c3 am: f952e3e274 am: 5b8e5e5815
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1466665

Change-Id: I8e3697e16e81c3891357884ddacefa0ddb7d304f
2020-10-23 20:14:55 +00:00
Colin Cross
ed5dee0a8f Merge "Add llndk_stubs property" 2020-10-23 18:09:42 +00:00
Martin Stjernholm
9649748516 Merge "Rename ART release APEX to com.android.art." 2020-10-23 10:03:24 +00:00
Yifan Hong
60e0cfb5cb Add vendor-ramdisk image to Soong.
Add vendor_ramdisk_available and vendor_ramdisk attribute to
various rules. When a vendor_ramdisk variant of a module is
generated, it is installed to $OUT/vendor-ramdisk.

It is similar to a ramdisk image.
Test: m nothing -j

Change-Id: Ib2d16459f3094dbe21c3bdb7c016cb4b2bf62765
2020-10-22 10:26:26 -07:00
Jooyung Han
b1617aab59 Merge "run vndk-sp closure check before double-loadable" am: 12aa3e44d0 am: c0ef63a3bc am: c2622a46ec am: 288d42b560
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1465909

Change-Id: I9e2b2b7830b1d1916149cfe515227b22e46e80c0
2020-10-22 08:23:33 +00:00
Jooyung Han
556a5b02ec Merge "Do not install vndk lib" am: 627ce86770 am: 95542e871b am: b650e6223f am: 94293920ca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1465904

Change-Id: I42aa2e89df18e011e2650bafae89e5ed1fb8fd0c
2020-10-22 06:09:07 +00:00
Jooyung Han
12aa3e44d0 Merge "run vndk-sp closure check before double-loadable" 2020-10-22 02:01:58 +00:00
Colin Cross
0477b42276 Add llndk_stubs property
Prepare for making the relationship between an llndk_library stubs
module and the cc_library implementation module explicit by
adding an llndk_stubs property.  Each cc_library will be updated
to point to its llndk_library, and the llndk_library name will
be changed to make the .llndk suffix explicit.  Then the implicit
connection and suffix can be removed.

Bug: 170784825
Test: m checkbuild
Change-Id: I6b0482a3f286ec29b2e928551aa4317749f2b499
2020-10-21 10:55:33 -07:00
Martin Stjernholm
7f51107ee6 Rename ART release APEX to com.android.art.
Test: See https://r.android.com/1457217
Bug: 169639321
Change-Id: I6800c7a382486b4e50945cc8b789f4be16482fe6
Merged-In: I6800c7a382486b4e50945cc8b789f4be16482fe6
2020-10-21 15:41:02 +01:00
Jooyung Han
261e158c06 Do not install vndk lib
VNDK libs are installed as part of VNDK APEX, so we don't need to
install them at all.

Bug: 170711679
Test: m
Change-Id: I62b881d6e65d6b007db1d26ab314c140c60e8a4e
2020-10-21 15:20:31 +09:00
Martin Stjernholm
09e2aa9e84 Rename ART release APEX to com.android.art.
Test: See https://r.android.com/1457217
Bug: 169639321
Change-Id: I6800c7a382486b4e50945cc8b789f4be16482fe6
Merged-In: I6800c7a382486b4e50945cc8b789f4be16482fe6
2020-10-20 23:28:49 +01:00
Treehugger Robot
1f8f2d2eb6 Merge "Revert "Add -fdebug-compilation-dir option"" am: 7397707014 am: d94b54b3f1 am: 4fcf38d906 am: 61826e676a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1465912

Change-Id: I4f528e4095fb0895452fe86dcf0cc7c37121d8e2
2020-10-20 22:06:59 +00:00
Treehugger Robot
1557a871f0 Merge "Set flag exporter provider for vendor snapshots" am: 4ccc616102 am: b6752c66a1 am: f4c03a96a3 am: 2c84045754
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1465902

Change-Id: I8c0cbea49c2d83cfa3f8dfa42f491f147d4c2a90
2020-10-20 21:14:02 +00:00
Kousik Kumar
d207cbed65 Revert "Add -fdebug-compilation-dir option"
Revert submission 1461902-debug-compilation-dir

Reason for revert: "-Xclang" isn't being uniformly respected everywhere. For example, in ".S" compilations, when I pass `-Xclang -fdebug-compilation-dir=.", the assembler seems to be ignoring it and then inserting the `pwd` into the command, however when I pass "-fdebug-compilation-dir=.", it strips out the path to the current working directory.
This indicates that we need to update re-client's input processor so that we can pass -fdebug-compilation-dir=. without "-Xclang" and then remove `PWD` setting.
I'll followup with a patch to add -fdebug-compilation-dir.

Reverted Changes:
Ib0f271e55:Add -fdebug-compilation-dir option
Ifa0592af5:Remove env-var-allowlist

Change-Id: I12fa0bf2fb4975ac3d1bffaf1358331548abc339
2020-10-20 09:29:34 -04:00
Treehugger Robot
73d4e8fb73 Merge "Do not exclude VNDK modules from SoC/Product-specific modules" am: 1537692837 am: 4aeea16df3 am: fffb427b3f am: f1a496f0a5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1465422

Change-Id: I2b83910387428a2e7a0102de71d0634806645890
2020-10-20 02:46:42 +00:00
Treehugger Robot
4ccc616102 Merge "Set flag exporter provider for vendor snapshots" 2020-10-20 00:33:49 +00:00
Treehugger Robot
1537692837 Merge "Do not exclude VNDK modules from SoC/Product-specific modules" 2020-10-20 00:02:36 +00:00
Jooyung Han
479ca17bb1 run vndk-sp closure check before double-loadable
If vndk-sp closure fails, the error message mentions it instead of
double-loadable error. It would be more helpful since vndk-sp is more
straightforward to fix.

Bug: 171080110
Test: m (soong test added)
Change-Id: Icc762a4ffb4a8d7d6b31ef1daac17f13383518bf
2020-10-19 18:57:45 +09:00
Inseob Kim
67be732de1 Set flag exporter provider for vendor snapshots
Also, TestVendorSnapshotUse is amended so it can test whether vndk
snapshot and vendor snapshot modules export their flags correctly.

Bug: N/A
Test: manual test
Change-Id: Ie62ad1206449b1a40db8a2282af00616db693017
2020-10-19 10:15:28 +09:00
Treehugger Robot
9a32b73512 Merge "Set flag exporter provider for vndk_prebuilt libs" am: 509a9d35ac am: 85e95f70a0 am: 0ba02d9ae8 am: 0598680dea
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1463642

Change-Id: I30baa389f92ae2667663e534cb5f1dff3ff6470f
2020-10-18 13:41:01 +00:00
Treehugger Robot
509a9d35ac Merge "Set flag exporter provider for vndk_prebuilt libs" 2020-10-18 12:19:05 +00:00
Justin Yun
543f60bc31 Do not exclude VNDK modules from SoC/Product-specific modules
The VNDK modules were excluded from SoC/Product specific modules
because they were installed to system partition. However, as they
moved to VNDK APEX, we don't need to make a exception for VNDK
modules.

Bug: 170711679
Test: Follow the steps below:
$ lunch aosp_x86-eng
$ m nothing # ctrl-C while running soong_build
$ rm out/soong/.soong.in_make
$ m --skip-make libc

Change-Id: I001bc98e4031e5e8bcdea9cb920caa21b8744752
2020-10-18 02:06:48 +00:00
Kousik Kumar
d1f8454d18 Merge "Add -fdebug-compilation-dir option" am: 5109979468 am: 157f088af3 am: 48f570f8a0 am: 80121541d1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1460104

Change-Id: I42baaaf2a2f97bab3024baa803dd0208fcb92f7e
2020-10-16 07:35:17 +00:00
Inseob Kim
70cb3b63b4 Set flag exporter provider for vndk_prebuilt libs
vndk_prebuilt exports some flags, so the provider should be set.

Bug: N/A
Test: m
Change-Id: I6c4df4139e66f992b63686adfe0635f08bafa649
2020-10-16 16:23:05 +09:00
Kousik Kumar
5109979468 Merge "Add -fdebug-compilation-dir option" 2020-10-16 05:52:51 +00:00
Tom Cherry
016b1f9c6e Merge "Update liblog header paths after git project move" am: 2517c408e5 am: 5a09f1ca3b am: e9adce2139 am: 8b7dec844b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1455957

Change-Id: If4bf27379d8aee6b17e05c8afb6fba2ea98133d9
2020-10-15 23:13:33 +00:00
Tom Cherry
2517c408e5 Merge "Update liblog header paths after git project move" 2020-10-15 21:24:58 +00:00
Kousik Kumar
578ba0021f Add -fdebug-compilation-dir option
The main use of this flag is to be to make both the debug info
and the build command line be independent of the compilation dir.
See: https://reviews.llvm.org/D63387 & https://blog.llvm.org/2019/11/deterministic-builds-with-clang-and-lld.html

Removed -fdebug-prefix-map and PWD variable being set in the compile
command line - these were workarounds we originally did to ensure that
the compile output is independent of the working directory and are no
longer needed now that we have -fdebug-compilation-dir.

Test: Ran "m
out/target/product/crosshatch/obj/SHARED_LIBRARIES/libexif.vendor_intermediates/same_vndk_variants.timestamp"
which fails on an RBE hardened stack without this change and passes with
this change.

Bug: b/169266636
Change-Id: Ib0f271e55f6cf0c89a30e65d3a0b25fe3f3a8f48
2020-10-15 15:25:08 -04:00
Colin Cross
af4b909cac Merge changes Idc985c52,Ibbbde323,I51417cf6,I9886498d,I195d99c9 am: 6ddb81b0db am: 14ca2fcf31 am: 46275c325e am: 143237d806
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1451109

Change-Id: I8f5b3edc4f4a4a52b741410dc56eb4eb252e1981
2020-10-14 01:29:36 +00:00
Colin Cross
6ddb81b0db Merge changes Idc985c52,Ibbbde323,I51417cf6,I9886498d,I195d99c9
* changes:
  Move LLNDK and NDK versionSelectorMutator special cases into versionedInterface
  use version mutator for CRT
  Use version mutator for NDK
  Reuse more of apex stubs implementation for llndk stubs
  Use libraryInterface instead of concrete type asserts for stubs
2020-10-14 00:20:05 +00:00
Colin Cross
2d30007006 Merge "Start using Providers instead of direct module access" am: d4620701ad am: 051ea998fb am: 5e0b4a78d7 am: eaa02f38a4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1439475

Change-Id: Ia48391cb058b6b42565bc6636caa304bb30f5ce5
2020-10-13 22:56:12 +00:00
Colin Cross
d4620701ad Merge "Start using Providers instead of direct module access" 2020-10-13 21:48:26 +00:00
Evgenii Stepanov
bd587f5285 Merge "Support asan/hwasan versions of prebuilts." am: 00e07c9779 am: 2cd36f0b0a am: 77436ca9fe am: 4fd6798169
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1371811

Change-Id: Ie8f1dd5998ef02b19f27249101caa1ff1a223074
2020-10-13 19:17:00 +00:00
Evgenii Stepanov
2080bfe79a Support asan/hwasan versions of prebuilts.
In apex_set and cc_prebuilt_library_*, provide a way to specify an
alternative source to use when build with sanitizers.

Test: prebuilt_test, apex_test
Change-Id: I1ab8091bf696d94da3547cf5248853df489bdee6
2020-10-13 03:37:32 +00:00
Colin Cross
3572cf74f9 Move LLNDK and NDK versionSelectorMutator special cases into versionedInterface
Implement stubsVersions on *llndkStubDecorator and *stubDecorator to
handle the special cases in versionSelectorMutator.

Test: m checkbuild
Change-Id: Idc985c52f91450df42c0275b2b2acef3f2ed8868
2020-10-12 16:55:49 -07:00
Colin Cross
bbc941b0d0 use version mutator for CRT
Move the CRT objects into the version mutator and retire the
ndk_api mutator.

Test: no change to build.ninja or Android-${TARGET_PRODUCT}.mk
Change-Id: Ibbbde323e3e0e8e4702dda4f3828a49786280118
2020-10-12 16:55:49 -07:00
Colin Cross
5ec407b594 Use version mutator for NDK
The ndk_api mutator is similar to the version mutator.  Move the
ndk_library ndk_api variations into the version mutator instead,
which will help later when consolidating the stubs handling
between NDK, LLDNK and Apex libraries.

Test: No change to build.ninja or Android-${TARGET_PRODUCT}.mk
Change-Id: I51417cf669265762c15f7289e1dc186d017ef4a9
2020-10-12 16:55:49 -07:00
Colin Cross
8e21aa54eb Reuse more of apex stubs implementation for llndk stubs
Use the linker script and exported flags support from apex stubs
for llndk stubs.

Test: no change to build.ninja or Android-${TARGET_PRODUCT}.mk
Change-Id: I9886498dcac7419958d290de99cf5f39f5fdedee
2020-10-12 16:55:49 -07:00
Colin Cross
c88c272298 Use libraryInterface instead of concrete type asserts for stubs
Start consolidating stubs, llndk stubs, and ndk stubs by replacing
all of the concrete type asserts in the stubs methods with
libraryInterface.

Test: no change to build.ninja, Android-${TARGET_PRODUCT}.mk
Change-Id: I195d99c91e5f7afda5bcb489d20b524b3300c1b1
2020-10-12 16:55:49 -07:00
Colin Cross
0de8a1e17b Start using Providers instead of direct module access
Export information about static libraries, shared libraries and
exported flags through Providers instead of accessing the module
directly.  Much more is left to be converted, but this significantly
simplifies the dependencies on libraries with stubs by making it easy
for a module to masquerade as another by simply exporting the
providers from the other module.  Instead of depending on all the
versions of a library and then picking which one to use later, it
can depend only on the implementation variant and then select the
right SharedLibraryInfo from the variant.

Test: m checkbuild
Test: only expected changes to build.ninja
Change-Id: I1fd9eb4d251cf96ed8398d586efc3e0817663c76
2020-10-12 16:55:47 -07:00
Colin Cross
f376e13ce5 Revert "Make lots of tests run in parallel" am: 405af07859 am: 2ad22c3644 am: af502ff241 am: 04640cbdd8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1456655

Change-Id: Iee706968d37c90bcb020c508f6650eeb7cba9da0
2020-10-10 08:12:20 +00:00
Colin Cross
405af07859 Revert "Make lots of tests run in parallel"
This reverts commit 323dc60712.

Reason for revert: Possible cause of test instability
Bug: 170513220
Test: soong tests

Change-Id: Iee168e9fbb4210569e6cffcc23e60d111403abb8
2020-10-09 18:34:24 -07:00
Tom Cherry
3d7611ee4c Update liblog header paths after git project move
liblog has moved from system/core/liblog to system/logging/liblog, so
update the path appropriately.

Bug: 170387172
Test: tree hugger
Change-Id: I68f881137ab8cbe91f36b20d4221d63fe3c5fc65
2020-10-09 14:49:58 -07:00
Treehugger Robot
d2a35f952f Merge "Global ThinLTO: opt out vndk binaries as a workaround" am: 6682ef42a4 am: 91d57dd066 am: 90ae8c812f am: cb4b5b299a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1456235

Change-Id: Iade99affe1ce0ff45c59abf43cbfd84f2b1ad0ad
2020-10-09 20:24:16 +00:00
Yi Kong
134161f7e5 Global ThinLTO: opt out vndk binaries as a workaround
With global ThinLTO enabled, vndk version has different symbol ordering
from the platform version. Opt out any binaries that has vndk enabled as
a temporary workaround.

Test: GLOBAL_THINLTO=true m
Bug: 169217596
Change-Id: I75b060cbe6c74421d283c6dfbd669af20f466d1f
2020-10-09 22:08:11 +08:00
Joe Onorato
a1d18d758e Refactor OWNERS files in platform/build/soong. am: a80b480eea am: fc8ab60603 am: 4f7df58874 am: da8d4bb493
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1455169

Change-Id: I4ada0b2a186b40cf59dff2523b5c21b80f899c85
2020-10-09 06:15:53 +00:00
Joe Onorato
a80b480eea Refactor OWNERS files in platform/build/soong.
Pulls out all of the per-file rules into their relevant directories
so platform/build/soong:/OWNERS can be included everywhere we need
the list of build system owners.

Test: treehugger
Bug: 170407947
Change-Id: I5a4b2d252bd9b3c280cd9954cf0e65ac21153ede
2020-10-08 16:14:32 -07:00
Treehugger Robot
5db2b108ee Merge "Add android.system.keystore2-unstable-ndk_platform to vndk.go" am: 36e4ad1f4d am: df0998def7 am: 623ce19b3c am: dfc26da701
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1443716

Change-Id: If5c0adcb207627f70f1ec8bf8e296b80100a8486
2020-10-07 22:10:49 +00:00