Commit Graph

45518 Commits

Author SHA1 Message Date
Colin Cross
34d60c9281 Use --skip-config --soong-only instead of --skip-make
--skip-make is deprecated because of its odd behavior around the
out/.soong.kati_enabled file.  Replace it with --skip-config --soong-only
instead, which will unambigiously skip running kati.

Bug: 204136549
Test: build/soong/tests/run_integration_tests.sh
Test: build/soong/scripts/build-mainline-modules.sh
Test: build/soong/scripts/build-ndk-prebuilts.sh
Change-Id: I629ee7542687aaafd68eea50346b0cf53eafe1ef
2021-10-29 16:34:55 -07:00
Colin Cross
1bc9412fb3 Make installable arch-variant and static vs shared variant for cc modules
libc's native_bridge shared variant needs to be installable: false,
make the installable property arch-variant and allow the static and
shared clauses to override it.

This relands I8e0eaed2169e89520b07bb0326bb97ac0b4a70ac with fixes to
allow only the shared variant to be marked installable: false.

Bug: 204136549
Test: m checkbuild
Change-Id: Ie579b5ba56ca21f4d9243088afd5078d8c122a68
2021-10-29 15:00:38 -07:00
Joel Galenson
215ed178dd Merge "Allow writing Rust fuzzers for third-party crates." 2021-10-25 22:37:22 +00:00
Yi Kong
85d7297318 Do not build tests with ThinLTO
There's not a great return on investment for spending additional
compilation/link time on tests that may only be run once or very few
times (as compared to actual library code that ships and is run orders
of magnitude more times).

Bug: 195134194
Bug: 203737712
Test: m GLOBAL_THINLTO=true dist device-tests platform_tests
Change-Id: I7149c4140f7c52b22bedbe322f1bf2c81f7ad66b
2021-10-24 17:01:43 +08:00
Treehugger Robot
139fd3655b Merge "Sort codenames in version_defaults.rbc" 2021-10-21 23:35:59 +00:00
Cole Faust
984272b169 Sort codenames in version_defaults.rbc
Without the sort, the codenames were appearing in a random order.
This was causing `go test` to flake.

Test: go test
Change-Id: Ieeb0677503d1521dc4b1aead09ea1ab7ea38b2ea
2021-10-21 15:01:56 -07:00
Joel Galenson
d993155204 Allow writing Rust fuzzers for third-party crates.
These would ideally be upstreamed, but until then we can host them here.

Test: Run fuzzers.
Change-Id: Ie1bfd8ce6dffeaa211b85cd6340dfb435ab83c71
2021-10-21 14:28:00 -07:00
Sophie Zheng
7fe4ccafc1 Merge "Save all the detected native shared library backing by mainline modules." 2021-10-21 18:42:35 +00:00
Treehugger Robot
1c6de4bdac Merge "Rewrite macOS SDK selection" 2021-10-20 22:24:46 +00:00
Liz Kammer
2dafba7da9 Merge "bp2build: Add support for cc_binary." 2021-10-20 14:02:39 +00:00
Paul Duffin
e760c3b724 Merge "Remove artApex parameter from ApexBundleFactory" 2021-10-20 10:29:29 +00:00
Paul Duffin
eb8051d80d Remove artApex parameter from ApexBundleFactory
Since coverage support was added to bootclasspath_fragment in
https://r.android.com/1684807 and bootclasspath_fragments were
integrated into the ART APEX it is no longer necessary to treat ART
APEXes differently to other APEXes.

Change https://r.android.com/1684807 added coverage support, follow
up changes integrated

Bug: 177892522
Test: m droid
      m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true
Change-Id: I4800a003c7459c4686607e16f4c5bde0be105f16
2021-10-20 10:29:14 +00:00
Dan Willemsen
7368d86a20 Rewrite macOS SDK selection
Modern Xcode versions only have a single macOS SDK installed anymore, so
we don't need to iterate through our supported versions, only check
whether the current version is supported.

This also makes it so that we can specify "11" (or soon, "12") to
specify all 11.x SDKs, instead of having to update our supported list
multiple times a year. This matches previous years that had multiple
patch releases on 10.14.y, 10.15.y, etc.

Bug: 203607969
Test: build on Mac, changing the supported SDK list
Change-Id: I42715f7e8dfec811de440a435927c14c742dede9
2021-10-19 21:43:41 -07:00
sophiez
9a6eabf952 Save all the detected native shared library backing by mainline modules.
Test: TARGET_BUILD_APPS=com.google.android.adbd m dist apps_only

Change-Id: I510292542bf2550c9244e9374cd6f7b40a971486
2021-10-19 14:33:57 -07:00
Christopher Parsons
c0ed1f653f Merge "Add OS to configuration key in mixed builds" 2021-10-19 20:57:47 +00:00
Chris Parsons
787fb36189 Add OS to configuration key in mixed builds
This also removes the special-case filegroup from mixed builds
buildroot; no special handling is required. Since we're currently
hardcoding linux_x86_64 as our host platform, it should be fine
to continue assumping that hardcoded host for now.

Test: USE_BAZEL_ANALYSIS=1 m adbd
Change-Id: I35509f4eb33ba7a243fab4c34b35958f6f2fceab
2021-10-19 16:55:52 -04:00
Liz Kammer
2ec92fc0a0 Merge "bp2build include generated hdrs in all src splits" 2021-10-19 20:51:00 +00:00
Christopher Parsons
a8b37dd7f1 Merge "Add x86_host vars to config.bzl" 2021-10-19 20:48:54 +00:00
Treehugger Robot
b3486b23fe Merge "Include compos-module-sdk in the SDK build." 2021-10-19 20:46:30 +00:00
Trevor Radcliffe
0dbe615ff4 Allow for the installation of binaries in xbin
su needs to be installed in xbin, and these changes modify
Soong to allow for this.

Fixes: 202405540
Test: Confirmed that binary was dropped into xbin
Change-Id: Ib664dc1255cd4d9049ac212f79cc53d5038cfcc7
2021-10-19 19:44:13 +00:00
Liz Kammer
2b8004b1ef bp2build: Add support for cc_binary.
Bug: 197920036
Test: build/bazel/ci/bp2build.sh
Change-Id: I2c4200967653af15a330ab8cbaf796b70d43f32d
2021-10-19 14:12:39 -04:00
Liz Kammer
ae3994ed4c bp2build include generated hdrs in all src splits
Currently generated headers are only included in the srcs split;
however, if c or assembly sources depend on the headers, the
dependendency is lacking and can cause non-deterministic failures.

Test: build/bazel/ci/bp2build.sh
Change-Id: Ic354c88300a5fb1b85241f68889e904c33a81488
2021-10-19 14:09:49 -04:00
Chris Parsons
3b1f83d076 Add x86_host vars to config.bzl
Test: USE_BAZEL_ANALYSIS=1 m adbd
Test: Manually verified config.bzl contains various x86_host flags after
bp2build.
Test: Unit tests

Change-Id: Ie9201ea2be4cd1c6659bea088a797cedbae37403
2021-10-19 12:18:13 -04:00
Dan Willemsen
2a109db10b Merge "Reduce modules exposed to Make in Mac builds" 2021-10-19 00:32:54 +00:00
Alexander Smundak
636a2132c3 Merge "Fix wildcard ('%') handling in the filter pattern." 2021-10-19 00:11:56 +00:00
Colin Cross
d26943459d Merge changes Ifa4594ea,Ia756f309
* changes:
  Reduce commands per shard for java protos
  Up per-product memory usage to 30 GB
2021-10-18 22:03:43 +00:00
Liz Kammer
503f65da36 Merge "Add tests for defaults used in conditions_default" 2021-10-18 22:03:33 +00:00
Dan Willemsen
def7b5d198 Reduce modules exposed to Make in Mac builds
Device builds are no longer supported on Mac, but we do support building
various host tools, including the SDK build-tools and platform-tools
packages. These have dependencies on [java] device modules, so we don't
completely disable device modules, only hide them from Make (which makes
them more difficult to trigger from the command line).

Also fix the mac build of multiproduct_kati, so that `m blueprint_tools`
works on Mac.

Bug: 187222815
Test: `m`, `m dist`, etc on Mac
Change-Id: I92f16605d5cd173d431cbcb79081234d45cc6e2e
2021-10-18 12:44:45 -07:00
Christopher Parsons
9579f08f22 Merge "Use hardlinks for Bazel's symlink actions" 2021-10-18 18:51:23 +00:00
Colin Cross
93fa5ef99d Reduce commands per shard for java protos
`m platformprotos` with a long OUT_DIR can trigger E2BIG errors in
posixspawn, reduce the commands per shard.

Test: OUT_DIR=$PWD/really-long-out-directory m platformprotos
Change-Id: Ifa4594eac7ba0e1091df0ef75e4dfc3ff366939b
2021-10-18 10:19:03 -07:00
Colin Cross
5cb7366c58 Up per-product memory usage to 30 GB
Reduce multiproduct_kati parallelism by upping required memory per product
to 30 GB.

Bug: 201671935
Test: builds
Change-Id: Ia756f309459d28e22a49f190a5227a139b356a1f
2021-10-18 10:18:51 -07:00
Liz Kammer
bdce0dfbdf Add tests for defaults used in conditions_default
Bug: 203123704
Test: go test soong tests
Change-Id: Ia12c51d01108ad1f311d738b182d4bb94c500810
2021-10-18 12:49:41 +00:00
Jingwen Chen
df27b7a1e0 Denylist genrules that create the same file in the same package.
Test: bp2build presubmits

Bug: 194642721
Bug: 203369847
Change-Id: Id0faff5fcf4136fac5236980dd60c5d8e54d9547
2021-10-18 06:33:16 +00:00
Dan Willemsen
47e1a75851 Fix mac/allowmissingdeps builds
This WalkDeps loop was expecting the dependencies to be fully filled
out, which isn't necessarily true on AllowMissingDependencies builds,
especially on Mac when the modules may exist, but not be enabled.

This was triggered when make_erofs was added to an apex, but wasn't
enabled on Mac.

It shouldn't be a problem to skip the disabled dependencies, since we'll
have already marked the current module as missing dependencies, which
means it won't actually get built.

Test: `m nothing` on a mac
Change-Id: Icd6d597117be4cde5bff041be3fd47361c54cad9
2021-10-17 01:40:34 +00:00
Dan Willemsen
b07ae342e4 Switch to the new build-tools/platform-tools implementation
Bug: 187222815
Change-Id: I8ccf92e3185ddb831e8b3f426d397164aef9b7fb
2021-10-15 13:39:47 -07:00
Victor Hsieh
5b817e642c Include compos-module-sdk in the SDK build.
Test: build/soong/scripts/build-mainline-modules.sh
Bug: 203231943
Change-Id: Icbd4b15b2434c8a0a7983d52732b5462f3a8b978
2021-10-15 13:38:59 -07:00
Ivan Lozano
e95b860598 Merge "rust: Package shared libraries with fuzzer zips" 2021-10-15 19:33:53 +00:00
Mohammad Islam
214a923f0d Merge "Add EROFS support for APEX build system" 2021-10-15 15:44:47 +00:00
Liz Kammer
51da93381c Merge "Update version_script to be handled as linkopt" 2021-10-15 14:22:27 +00:00
Martin Stjernholm
1e78f58168 Merge "Make all the PrebuiltEtc modules defaultable." 2021-10-15 13:44:59 +00:00
Jiakai Zhang
ae9ba1c93a Merge "Extract the logic of setting Uncompress_dex to a common place." 2021-10-15 03:30:47 +00:00
Treehugger Robot
adf2b3e68f Merge "Add android_sdk_repo_host to build platform-tools&build-tools" 2021-10-15 02:04:45 +00:00
Ivan Lozano
39b0bf0326 rust: Package shared libraries with fuzzer zips
Rust fuzzers were not packaging up their CC shared dependencies.
This would lead to fuzzers using the shared libraries included on
system, which may not be sanitized, leading to incorrect behavior.

This refactors the relevant code from CC and calls it from the Rust
build logic.

Bug: 202282599
Test: output rust fuzzer zip file includes shared dependencies.
Change-Id: I92196eb0141733797a67eae24f8e9aedea94c3bc
2021-10-14 15:31:47 -04:00
Chris Parsons
d80b3c8218 Use hardlinks for Bazel's symlink actions
This prevents failures resulting from using `cp -d` on symlinks.

Test: USE_BAZEL_ANAYSIS=1 m adbd
Change-Id: Ic1756ffe407df81b0e99f99c50bee6af4ecf7796
2021-10-14 15:24:05 -04:00
Stephen Hines
f7bc97ce7a Merge "Switch to clang-r433403b (13.0.3)" 2021-10-14 18:46:08 +00:00
Seth Moore
6ec96b8102 Merge "Flag an error on empty rust module srcs" 2021-10-14 15:25:17 +00:00
Seth Moore
3afac0b36f Flag an error on empty rust module srcs
It's an error if a rust module's srcs is empty. Prior to this change
the output was a panic that complains loudly about a slice error and
nothing else. This change doesn't stop the panic, but at least adds
a bit of context so devs who make a simple mistake can more easily
fix it.

Test: SOONG_GEN_RUST_PROJECT=1 m nothing
Change-Id: Id7d8465d533413c3000699661222a53a7c8678f3
2021-10-14 15:25:07 +00:00
Liz Kammer
47a6c59819 Merge "Add missing directories to bp2build." 2021-10-14 14:03:33 +00:00
Yi Kong
8ea56f9da9 Add Global ThinLTO option (2nd try)
Instead of making everything into ThinLTO variant by default (it works
but many Soong tests don't like this, and got bit rot due to lack of
active builder for this configuration), let the default option be
ThinLTO and no LTO be a special variant.

Test: m GLOBAL_THINLTO=true
Test: m
Bug: 195134194
Change-Id: I2fd98061ba55eba1fdfdd056fb2f8c2051fd2553
2021-10-14 17:34:13 +08:00
Stephen Hines
b7b0ae12be Switch to clang-r433403b (13.0.3)
Bug: http://b/202099787
Test: m
Change-Id: Id923948c56b0308842c94846edd6528fd26dbf72
2021-10-14 01:21:21 -07:00