Commit graph

172 commits

Author SHA1 Message Date
Roman Kiryanov
8cc6b1181e Add special paths for BoardConfig.mk for gf and cf
goldfish and cuttlefish are emulator and have
many boards which makes their device folders
very crowded. This change will allow to move
all boards into a dedicated folder.

This change will go away once a more consistent
approach to search for board configurations is
implemented.

Bug: 295259752
Test: presubmit
Change-Id: I78efe5a0ecd1ca9cffbadc7d7112f50e444ff7c3
Signed-off-by: Roman Kiryanov <rkir@google.com>
2023-10-20 12:05:38 -07:00
Mateusz Cicheński
50cd6b2a18 Revert "Enable genrule sandboxing by default"
Revert submission 2782270-genrule_sandboxing_by_default

Reason for revert: Potential culprit for b/305851039 and many other build breakages - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.

Reverted changes: /q/submissionid:2782270-genrule_sandboxing_by_default

Change-Id: I3a8eb5d3a6a9e0d51ed7798c99187e9ca236b7bd
2023-10-17 17:36:43 +00:00
Cole Faust
865d19e214 Enable genrule sandboxing by default
Now that all the failing genrules have been denylisted.

Also add BUILD_BROKEN_GENRULE_SANDBOXING to disable this behavior.

Bug: 290816499
Test: Presubmits
Change-Id: Id7612065ddc976a088ea1ac4c2d959dadf2b845c
2023-10-11 15:24:31 -07:00
Cole Faust
152cdfab7c Clean staging dirs in build_image.py
build_image.py now accepts a --input-directory-filter-file argument
that contains a list of files to consider from the input directory.
A new, temporary input directory will be created, and only the
considered files will be copied to it.

This removes most of the need for `m installclean`, as old files or
files built manually will no longer end up on the partition.

Bug: 205632228
Test: Presubmits
Change-Id: I07e0bf8e840abf0b51a2fdf67b758905fb3c5b5b
2023-09-08 16:24:26 -07:00
Jooyung Han
0d500c58aa Remove TARGET_FLATTEN_APEX
And inherit updatable_apex.mk by default.

Bug: 278826656
Test: presubmit
Change-Id: I3f93608a8750dcd72edc3f9517c70f3490f1a7cd
2023-08-25 15:06:20 +09:00
Inseob Kim
a26d098160 Revert "Add BUILD_BROKEN_VENDOR_SEAPP_USES_COREDOMAIN"
Revert submission 2715179-BUILD_BROKEN_VENDOR_SEAPP_USES_COREDOMAIN

Reason for revert: not needed

Reverted changes: /q/submissionid:2715179-BUILD_BROKEN_VENDOR_SEAPP_USES_COREDOMAIN

Change-Id: Ib8612049314dbe26a913cc97b8c835fad4f03824
2023-08-23 02:07:53 +00:00
Inseob Kim
30cbf0b853 Add BUILD_BROKEN_VENDOR_SEAPP_USES_COREDOMAIN
Starting from Android V, vendor seapp_contexts files can't assign
coredomain to vendor apps, as it's Treble violation. This build broken
variable is to suppress the enforcement for devices launching with U or
prior.

Bug: 280547417
Test: set BUILD_BROKEN_VENDOR_SEAPP_USES_COREDOMAIN := true and build
Change-Id: If4035e6cbd0c62a1111241d94ed0a3923f61247b
2023-08-18 18:13:54 +09:00
Liz Kammer
b607281fae Allow setting some build_broken out of boardconfig
Some build broken flags are for cross-cutting features rather than
board-specific. In order to support these without requiring broad
changes across many board configs, these can be set in a buildspec.mk
files.

Test: set build_broken flags in environment, get expected fail
Test: set build_broken flags in buildspec, get expected success
Change-Id: I8a74c30575f6bf40e46281ca5f37f3cfed526ec5
2023-07-21 15:51:58 -04:00
Cole Faust
4f3dc8759f Remove BOARD_BPT* variables and the bpt parition table image
These variables appear to never be set.

Test: Presubmits
Change-Id: If4b89376f73204ad5780dff421f1216da255c3eb
2023-07-11 16:58:06 -07:00
Steven Moreland
78549acb47 BOARD_VNDK_VERSION must be set first pass
Removing all places that consider that this might not be
set.

Bug: 122954981
Test: build
Change-Id: I62107d041410f4ee1d3652e394ed5e7688c12f25
2023-06-07 20:57:38 +00:00
Jooyung Han
4b8c962c7b Deprecation message for TARGET_FLATTEN_APEX
Bug: 278826656
Test: OVERRIDE_TARGET_FLATTEN_APEX=true m nothing (shows warning)
Change-Id: I60e463348f87d8e1520245702eaa99c4c5356b61
2023-06-02 14:15:34 +09:00
Liz Kammer
bc4f48c415 Add BUILD_BROKEN_PLUGIN_VALIDATION flag
Use is to specify the list of plugins are are not allowed.

Ignore-AOSP-First: Requires an internal only change to not break when submitted
Test: CI
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f24be9dba9b53b0c1682929253a3eba9af7a4c31)
Merged-In: Ia2fe83d82ead618e480e99a82b1b825ed08d3eab
Change-Id: Ia2fe83d82ead618e480e99a82b1b825ed08d3eab
2023-05-18 18:20:22 +00:00
Cole Faust
c63ce1ab58 Allow importing starlark code in makefiles
Adds a new `$(call run-starlark,my/starlark/file.bzl)` function that
will run the starlark file and set all the variables in the
variables_to_export_to_make dictionary as make variables.

Fixes: 280685526
Test: m nothing repeatedly causes no ninja regeneration, but touching all_versions.bzl does. go test, ./out/rbcrun -mode=rbc ./build/make/tests/run.rbc
Change-Id: Ic72e18dd28dba8233ba2dfb658b5d03ccece1bfd
2023-05-09 15:12:58 -07:00
Cole Faust
a874f88cee Remove unneeded rbcrun features
- rblf_cli and rblf_env
- -c and -f

This is in preparation for making rbcrun able to function as a more
general purpose starlark interpreter.

Bug: 280685526
Test: go test, ./out/rbc ./build/make/tests/run.rbc, ./build/bazel/ci/rbc_dashboard.py --quick aosp_arm64
Change-Id: Ifff9ce7b4369422f39c5003bb85a168c78bde7cf
2023-05-05 11:52:02 -07:00
Ulya Trofimovich
1d3c4ae036 Merge "Revert "Disable dexpreopt for aosp_riscv64"" 2023-04-03 11:31:42 +00:00
Wei Li
936ae9add6 Remove unused make variable BUILDING_PVMFW_IMAGE
Test: CIs
Change-Id: I56d72c08c1fe5794f8c550651a2805109b70391f
2023-03-29 07:29:54 +00:00
Ulya Trofimovich
cc5c6a74ee Revert "Disable dexpreopt for aosp_riscv64"
This reverts commit ae7f543b7c.

Reason for revert: Enabling dexpreopt for RISC-V (there is still no
  compiler support, but dex2oat runs in verification mode and does
  not attempt any compilation with https://r.android.com/2510739).

Change-Id: I0a6d0416bec51131f0a54c7ff5b0e194728452b1
2023-03-28 13:15:35 +00:00
Colin Cross
ae7f543b7c Disable dexpreopt for aosp_riscv64
dex2oat isn't supported for riscv64 yet, disable dexpreopt.  For
aosp_riscv64-user and -userdebug builds it is also necessary to
relax the requirement that dexpreopt is enabled.

Test: lunch aosp_riscv64-userdebug && m
Change-Id: I3b66304cedf55f734f8aa1d3ad3ed594a7b9a122
2023-03-23 16:29:28 -07:00
Cole Faust
5e2491eff2 Create image apexes by default instead of flattened apexes
This is a list of all the internal master products that
use flattened apexes before and after this commit:
https://diff.googleplex.com/#key=AcyUcqOwqpXZ

Apexes can still be flattened by setting `TARGET_FLATTEN_APEX := true`
or `OVERRIDE_TARGET_FLATTEN_APEX := true` in their product config.

Bug: 254205429
Test: presubmits
Change-Id: I5b15f0fc9e149730fd33722632a8ac14432ab757
2023-03-20 18:39:22 +00:00
Cole Faust
189905be98 Add BUILD_BROKEN_USES_SOONG_PYTHON2_MODULES
See other cl in this topic for more details.

Bug: 203436762
Test: m nothing
Change-Id: I76725afece50a022aec611091ef4dead5ad3449a
2023-03-09 11:55:29 -08:00
Erick Alvarez
2b8cf0e409 Revert "Disable dexpreopt for aosp_riscv64"
This reverts commit e325f61525.

Reason for revert: DroidMonitor-triggered revert due to breakage in some branches.

Bug: 270958097
Change-Id: I2c3bb568c7f3b0dc7a364ea74b91574966102ff3
2023-02-27 20:39:14 +00:00
Ulya Trafimovich
e325f61525 Disable dexpreopt for aosp_riscv64
dex2oat isn't supported for riscv64 yet, disable dexpreopt.  For
aosp_riscv64-user and -userdebug builds it is also necessary to
relax the requirement that dexpreopt is enabled.

Test: trehugger
Change-Id: Ib84f1b40675783d286f4ff89d3c1daa9c7be710a
2023-02-24 14:09:10 +00:00
Yi-Yo Chiang
06c6273073 Remove deprecated BOARD_BUILD_SYSTEM_ROOT_IMAGE
This variable is always false or empty now, so clean up remaining
references of the variable.

Remove "buildvariant=" kernel commandline as it was used by
system-as-root kernels to determine the system build variant. It is
unsupported now.

Bug: 241346584
Test: Presubmit
Change-Id: I0f97b6e0bf8b03429f65366119ff78f9c7983516
2022-10-13 16:08:53 +08:00
Alix Espino
38e07f1baf Revert "Revert "Default BuildBrokenClangCFlags & BuildBrokenCla..."
Revert^2 "deletion of clang_cflags & clang_asflags from Soong"

e9a6865bc7c51028ed348f6d1c6b975ee8b98837

Test: Treehugger
Change-Id: Ibda75c075d0d88f2c11fd10722c9a74481ee965a
2022-09-21 16:45:00 +00:00
Treehugger Robot
fef5ca53fa Merge "Revert "Default BuildBrokenClangCFlags & BuildBrokenClangAsFlag..."" 2022-09-12 21:06:12 +00:00
Alix Espino
65f28793ab Revert "Default BuildBrokenClangCFlags & BuildBrokenClangAsFlag..."
Revert "deletion of clang_cflags & clang_asflags from Soong"

Revert submission 2154033-delete clang_cflags clang_asflags

Reason for revert: Broke build on git_tm-dev-plus-aosp and downstream branches

Reverted Changes:
I5c499a37e:Default BuildBrokenClangCFlags &  BuildBrokenClang...
Ic1d90b72d:deletion of clang_cflags & clang_asflags from Soon...

Change-Id: I62480972e5cd6cfe01782068b25893222a8edf79
2022-09-12 18:51:23 +00:00
Alix Espino
2227e61a04 Merge "Default BuildBrokenClangCFlags & BuildBrokenClangAsFlags to empty (false)" 2022-09-12 15:11:20 +00:00
Pierre-Clément Tosi
cb1d31c43b core: Drop support for BOARD_PREBUILT_PVMFWIMAGE
Remove the variable as it was only used when the prebuilt was
device-specific but pvmfw is now part of AOSP.

Bug: 237371962
Test: m $(realpath --relative-to=. $ANDROID_PRODUCT_OUT/pvmfw.img)
Change-Id: I5b4c1ffd563e3dccf22ee485cb12866355f5bfe0
2022-09-09 19:15:30 +01:00
Alix
8b7da27e22 Default BuildBrokenClangCFlags & BuildBrokenClangAsFlags to empty (false)
Set up BUILD_BROKEN flags so partners can bypass errors
from using them

Bug: 226636335
Test: m nothing & treehugger
Change-Id: I5c499a37e206bdf89c5c9f84c6ecfe1cdc9a1803
2022-09-07 15:30:01 +00:00
Alix
7a4d539e75 Default BuildBrokenClangProperty to empty (false)
Clang property is deprecated. Set up a BUILD_BROKEN_CLANG_PROPERTY
flag so partners can bypass errors from using clang.

Change-Id: I7ec19c3d11086046031108ecccba5065c38fa338
Test: m nothing & Treehugger
2022-08-26 20:05:42 +00:00
Jooyung Han
0140dfa4b3 Add WIFI_ variables into soong config
To migrate libwifi-hal module from make to soong, WIFI_ make variables
are added to soong config variables in `wifi` namespace.

Bug: 239984067
Test: m libwifi-hal
Merged-In: If60f5909619af887be8e0086a8dfef65dc97cce0
Change-Id: If60f5909619af887be8e0086a8dfef65dc97cce0
(cherry picked from commit 4abb3d43b4baf74cf7b17fee380d5b4c77a2bc9d)
2022-08-03 17:46:07 +09:00
Vinh Tran
3fae6fe0db Default BuildBrokenDepfile to empty (false)
Test: The builds should still pass because all depfile is cleanup in
AOSP
Bug: 179452413

Change-Id: Ifb6f5320f72c3beb44ddd6654100645e0a62e659
2022-06-27 12:05:11 -04:00
Cole Faust
127115190b Remove RBC_BOARD_CONFIG
Always enable the rbc board config along with
the product config now that board config works
well.

Bug: 231224938
Test: Presubmits
Change-Id: I52a79d53dfe54878477ee015bd21863c4cee6b05
2022-05-02 14:16:04 -07:00
Cole Faust
0472730380 Support m product-graph in Starlark product config
Bug: 221312856
Test: Manually
Change-Id: Ia3a78df2de356801c83b1ba5c17601acfc026d06
2022-04-05 16:52:23 -07:00
Cole Faust
08e78b9fa4 Update paths to mk2rbc/rbcrun
They're now directly under the out folder instead
of out/soong.

Bug: 226677850
Test: Manually
Change-Id: I6f2d017736323a5a60b0a8d7face723862c0b0b3
2022-03-24 17:32:39 -07:00
Lucas Wei
f57333f7fc Make build support vendor_kernel_boot image
Add vendor_kernel_boot image for vendors whose bootloader support
extra first stage booting kernel modules ramdisks. This benefit
kernel repo to build kernel-artifacts only image without Andorid
artifacts dependency.

Bug: 214409109
Signed-off-by: Lucas Wei <lucaswei@google.com>
Change-Id: If07218b86a7751b3d452a172610af960f5f9ec74
2022-03-16 23:13:19 +08:00
Liz Kammer
4065e5b268 Introduce BUILD_BROKEN_INPUT_DIR_MODULES
Allows allowlisting modules that can temporarily continue to use a
directory as an input while some module types restrict their allowed
inputs.

Test: CI
Change-Id: Ic968a6f6efad45b6c1095dd214813e326d7493c1
2022-02-23 13:59:19 -05:00
Cole Faust
1bcdd24ad9 Pass --makefile_list to rbc board configuration
So that mk2rbc will just read from the file instead
of searching the source tree for makefiles.

Bug: 213508006
Test: m RBC_BOARD_CONFIG=1 nothing
Change-Id: I6b7e2aa000ad9861173c58cc06f6d49c9c11a0a7
2022-02-07 15:17:55 -08:00
Ramji Jiyani
13a4137929 core & tools: system_dlkm: add dynamic partition
Converts existing static partition support to a
dynamic partition.

Bug: 200082547
Test: TH
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: Ifd6d0c2a04e947b16f8b241e99cca594a1d315ae
2022-01-30 08:43:08 +00:00
Ramji Jiyani
1065523a5e Add support to build system_dlkm.img
There are 2 choices to build system_dlkm.img for
the system_dlkm partition for Android T launch
devices and must choose one.

1. Use kernel prebuilt system_dlkm.img
   - BOARD_PREBUILT_SYSTEM_DLKM_IMAGE to point image
2. Build from kernel prebuilt system_dlkm_staging
   - PRODUCT_BUILD_SYSTEM_DLKM_IMAGE

Both requires: BOARD_SYSTEM_DLKM_PARTITION_SIZE and
must be 64MB or higher in size (enforced via vts).

Bug: 200082547
Test: TH
Test: atest vts_system_dlkm_partition_test
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: I83435123bd8aa3d04ab8a8b650a95fbab0bc49f2
2022-01-21 21:39:15 +00:00
Devin Moore
380d9e445c Build a new init_boot.img that contains the boot ramdisk
This ramdisk used to be in boot.img, and is now placed into this new
init_boot.img instead.
This new image is used for a new init parition to seperate Android
platform artifacts from the kernel artifacts in boot.img.

Test: boot Cuttlefish
Bug: 203698939

Change-Id: Iaaf82486259979ab728730ce72a4e847ae005c18
2021-12-20 20:54:14 +00:00
Cole Faust
c8c516a89b Strip ODM_MANIFEST_SKUS
Otherwise it gets a different value when using starlark
board config, causing the ninja files to differ.

Bug: 201700692
Test: ./build/bazel/ci/rbc_regression_test.sh -b aosp_crosshatch_car-userdebug
Change-Id: I55870f031b779202db720f10d7d502f9d868e1f6
2021-12-09 10:30:19 -08:00
Cole Faust
f1f49bb910 Pass input variables to product config
Passing variables via a makefile instead of
rblf_cli / rblf_env allows us to give them correct
types while converting the makefile to starlark,
as opposed to the variables always being strings
when given via rblf_cli / rblf_env.

This also allows us to remove some hand-converted
starlark code.

Bug: 201700692
Test: ./out/soong/rbcrun ./build/make/tests/run.rbc
Change-Id: I58c4f20b29171c14e5ae759beb26a849426f6961
2021-12-02 20:47:31 -08:00
Cole Faust
29bb6132c8 Strip more board config variables
These variables' values show up in the command line
of certain build commands, so they need to be stable
to have stable ninja files.

The starlark board configuration strips these variables,
causing a discrepency between the starlark and make
versions of board configuration.

Bug: 201700692
Test: ./build/bazel/ci/rbc_regression_test.sh beagle_x15-userdebug
Change-Id: Id053435409821a3fe5997c07610ef835e0c83112
2021-11-30 14:00:57 -08:00
Cole Faust
be6d5f13b2 Exclude predefined variables from board config
mk2rbc has a few predefined variables that can't be
set in the product/board config makefiles, unless they're
set to their predefined values. Exclude these variables
from the board config input variables so that they don't
conflict.

Bug: 201700692
Test: m RBC_BOARD_CONFIG=1 mainline_system_x86_64-userdebug (ninja files differ still but this fixes a compilation error)
Change-Id: Idc11b2c5029d28116236b289ad1f09afaaf83cc3
2021-11-23 16:45:29 -08:00
Sasha Smundak
7dc8f486c2 Update conversion results file only when it changed.
Test: treehugger
Change-Id: Ia0d6bf614fa0714a977b2880f7271d54df034366
2021-11-18 15:17:59 -08:00
Cole Faust
985fa48a98 Make starlark board configuration work with sdk_phone_x86_64
The main issue with board configuration up till this
cl was that it didn't have access to the product configuration
variables. Pass those in by dumping the make variables to a
temporary file, which is then converted to RBC, loaded,
and passed to the starlark board config..

Bug: 201700692
Test: build/bazel/ci/rbc_product_config.sh -pb sdk_phone_x86_64-userdebug
Change-Id: I9a4946b970ca43c5b5f53a6c507ad2c1a2eca61e
2021-11-04 16:13:24 -07:00
Yi-Yo Chiang
ffb366ee99 Revert "Renames boot-debug-*.img in GSI targets"
This reverts commit a2a5db4466.

Reason for revert: original change was obsoleted by
  I3161e42b00a93177a1a4cb3b22da2218d294b7a7

Bug: 202129499
Test: Presubmit; change should be noop
Change-Id: Ib7be1ed73dbf08758276666f8ce35ed9cbf18a36
2021-10-18 06:33:51 +00:00
Pierre-Clément Tosi
88cceca4c5 Merge "Introduce BOARD_PVMFWIMAGE_PARTITION_SIZE" 2021-10-15 06:44:04 +00:00
Pierre-Clément Tosi
b3be181687 Merge changes from topic "default-pvmfw-image"
* changes:
  Add generic board-agnostic pre-built pvmfw.img
  Add framework for building the pvmfw.img partition
  Stop assuming that pvmfw.img can only be pre-built
2021-10-06 07:25:01 +00:00