Commit Graph

6123 Commits

Author SHA1 Message Date
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
Colin Cross
c7e8d7d11b Merge "Make lots of tests run in parallel" am: 45fd6ace7e am: e81d9e0142 am: c1577e018e am: c2e904d7e1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1439471

Change-Id: Ib0d3b461de8d5d3825c491ad393a3bd3969c2d07
2020-10-07 22:10:24 +00:00
Treehugger Robot
36e4ad1f4d Merge "Add android.system.keystore2-unstable-ndk_platform to vndk.go" 2020-10-07 20:45:52 +00:00
Colin Cross
45fd6ace7e Merge "Make lots of tests run in parallel" 2020-10-07 20:40:38 +00:00
Colin Cross
04d9c96afe Merge "Remove global state from apex modules" am: 43159bd1b7 am: 21bb1d491c am: 2c76247f51 am: 393b394b85
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1428815

Change-Id: I264afeceec4bdbc344ba812b1c5fd88fed043214
2020-10-07 20:02:47 +00:00
Benjamin Schwartz
466bea6029 Merge "powerstats: PowerStats HAL has been renamed" 2020-10-07 19:27:16 +00:00
Colin Cross
43159bd1b7 Merge "Remove global state from apex modules" 2020-10-07 17:58:00 +00:00
Tom Cherry
b919754098 Merge "Reland: "Include system/core/liblog/include instead of using symlinks"" am: a5e9be9476 am: 320a70915c am: 7f7d71d898 am: 1a26aa1d7b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1451057

Change-Id: Ia825f28f53a3f530c997a0f767204709208c2e4e
2020-10-07 16:54:48 +00:00
Tom Cherry
a5e9be9476 Merge "Reland: "Include system/core/liblog/include instead of using symlinks"" 2020-10-07 15:11:10 +00:00
Martin Stjernholm
307f6f07f9 Merge "Avoid conflicting shared libraries from SDK snapshots." am: 3c72ce8696 am: ff4181eba9 am: 091c1bd091 am: d4c1058ce5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1450116

Change-Id: If6a44a451f3d4211c448f62dc52a1de9645bdae8
2020-10-07 07:49:06 +00:00
Janis Danisevskis
e8f655ca46 Add android.system.keystore2-unstable-ndk_platform to vndk.go
Test: N/A
Bug: 160623310
Change-Id: Ic2e9897a1c103389b93a72df25c38fe96a8c7c09
2020-10-06 16:24:22 -07:00
Martin Stjernholm
3c72ce8696 Merge "Avoid conflicting shared libraries from SDK snapshots." 2020-10-06 22:55:34 +00:00
Colin Cross
323dc60712 Make lots of tests run in parallel
Putting t.Parallel() in each test makes them run in parallel.
Additional t.Parallel() could be added to each subtest, although
that requires making a local copy of the loop variable for
table driven tests.

Test: m checkbuild
Change-Id: I5d9869ead441093f4d7c5757f2447385333a95a4
2020-10-06 15:12:22 -07:00
Colin Cross
56a8321c21 Remove global state from apex modules
A global variant was used to store the global mapping between
modules and APEXes.  Replace it with storing pointers to APEX
contents inside each module so that they can query the contents
of any APEXes they belong to.

Bug: 146393795
Test: all Soong tests
Test: single line change to build.ninja host install dependency ordering
Test: no Android-${TARGET_PRODUCT}.mk, make_vars-${TARGET_PRODUCT}.mk or late-${TARGET_PRODUCT}.mk
Change-Id: Id2d7b73ea27f8c3b41d30820bdd86b65c539bfa4
2020-10-06 13:39:57 -07:00
Colin Cross
b87d9ecb66 Merge changes I4c8cd544,I62d4d43d,I0ae667d4,Id357adc0,I1ff87134 am: ac0cd89283 am: d7f1653e7b am: b3f3a68d0f am: d2cab9dbf3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1445698

Change-Id: I6c398b648b6d170fd0b008b6636c29ebfb90ea6c
2020-10-06 20:15:55 +00:00
Tom Cherry
6ddbb00e24 Reland: "Include system/core/liblog/include instead of using symlinks"
It seems better to include this path directly rather than creating
symlinks in system/core that accomplish the same result.

Bug: 165825252
Test: treehugger
Change-Id: Ic78f09d86039540a2b0eead45e985b42c553f415
2020-10-06 10:45:28 -07:00
Benjamin Schwartz
399394b702 powerstats: PowerStats HAL has been renamed
Bug: 169864180
Test: m
Change-Id: I0db7d731c3aa81b2c9331570c93ec23038bd743c
2020-10-06 10:44:12 -07:00
Colin Cross
ac0cd89283 Merge changes I4c8cd544,I62d4d43d,I0ae667d4,Id357adc0,I1ff87134
* changes:
  Don't create version variations of sdk modules
  Create fewer empty version variants
  Don't make SplitPerApiLevel imply UseSdk
  Remove vendor crt special case
  Fix apex_test.go and add it to Android.bp
2020-10-06 17:33:30 +00:00
Martin Stjernholm
02460abb30 Avoid conflicting shared libraries from SDK snapshots.
Test: m nothing
Test: env SANITIZE_HOST=address \
  SANITIZE_TARGET='hwaddress fuzzer' \
  build/soong/soong_ui.bash --make-mode \
  TARGET_PRODUCT=blueline_hwasan haiku dist
Bug: 170041398
Change-Id: Ifa4f72d6778cbb10663a780c7eb54b5e21d5b571
2020-10-06 04:27:42 +01:00
Colin Cross
565cafdcb1 Don't create version variations of sdk modules
They are never used, skip creating them.

Test: m checkbuild
Change-Id: I4c8cd544327ae79b781f704be5a9064efdbdf2af
2020-10-05 18:57:26 -07:00
Colin Cross
3146c5cd67 Create fewer empty version variants
Don't create empty version variants for binaries, objects, rust
rlibs or rust dylibs.

Test: no change to build.ninja
Change-Id: I62d4d43da476eafdb258a08b5ada758bb2971a1a
2020-10-05 18:57:21 -07:00
Tom Cherry
75b6256d0d Merge "Revert "Include system/core/liblog/include instead of using symlinks"" am: 66fee25c5b am: 042238162e am: 14c51b94c6 am: 670fd6872b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1449380

Change-Id: I95feb7e63e6595488fb9e10dbed4cdb7f2575dc9
2020-10-05 20:50:14 +00:00
Tom Cherry
66fee25c5b Merge "Revert "Include system/core/liblog/include instead of using symlinks"" 2020-10-05 19:26:17 +00:00
Tom Cherry
271f4acd72 Revert "Include system/core/liblog/include instead of using symlinks"
Revert submission 1428983-no-log-header-symlinks

Reason for revert: Build breaks
Reverted Changes:
I248a2f045:Include system/core/liblog/include instead of usin...
Ic189e0f59:Remove logging symlinks from system/core/include

Change-Id: I9ee896f5fde36c879c182365295c1f5a5a39a76b
2020-10-05 19:24:12 +00:00
Tom Cherry
aed112885c Merge "Include system/core/liblog/include instead of using symlinks" am: 24ee3605fa am: f6a4e63413 am: 268f1856fd am: 6e1b73d2dc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1429369

Change-Id: Ieb224be0921cf686bc96377eb566df863fa15df0
2020-10-05 19:02:48 +00:00
Tom Cherry
24ee3605fa Merge "Include system/core/liblog/include instead of using symlinks" 2020-10-05 15:26:51 +00:00
Ivan Lozano
7cde5a2ab6 Merge "rust: Allow rust_bindgen to use cc_defaults." am: 4e7b26a434 am: 46df6b07e3 am: e7b63c6692 am: 03bdbb9c1c am: 8d6a8ef9ae
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1439751

Change-Id: I5dd395e73988754708e8c81492af9a300f9e5f0c
2020-10-03 02:03:37 +00:00
Ivan Lozano
4e7b26a434 Merge "rust: Allow rust_bindgen to use cc_defaults." 2020-10-03 00:22:49 +00:00
Colin Cross
1348ce3f13 Don't make SplitPerApiLevel imply UseSdk
UseSdk was returning true when SplitPerApiLevel returned true,
which was causing the platform variant of SplitPerApiLevel
module to compile against the SDK.  Check SplitPerApiLevel
separately in the sdkMutator instead.

Test: m checkbuild
Change-Id: I0ae667d48a3b7b96709a6cad8e8ea9701659fc2a
2020-10-02 13:00:19 -07:00
Colin Cross
b6135218a4 Remove vendor crt special case
It doesn't seem to be necessary, crt objects can get headers via
local_include_dirs.

Test: m checkbuild
Change-Id: Id357adc054c85576aa9935d0acbee5f1ae3dcbff
2020-10-02 13:00:19 -07:00
Pirama Arumuga Nainar
19634f0b0f Merge "Update to use clang-r399163b." am: 0b88bf33fc am: 18fc11a093 am: 55dd45d2eb am: 99ca618579 am: 035d633cf1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1443739

Change-Id: Ibd47de622151303a7f341f1acb36184a85acb5ee
2020-10-02 18:33:14 +00:00