Commit graph

28390 commits

Author SHA1 Message Date
Jiakai Zhang
3f35c93578 Merge "Add a build-time check for dexpreopting system server jars." 2021-10-29 18:00:51 +00:00
Jiakai Zhang
b6931f2f5b Add a build-time check for dexpreopting system server jars.
Bug: 201371822
Test: m nothing
Test: manual -
  1. Add "service-permission" to DEXPREOPT_DISABLED_MODULES (https://cs.android.com/android/platform/superproject/+/master:build/make/core/product_config.mk?q=DEXPREOPT_DISABLED_MODULES)
  2. m nothing
  3. See the error:
    Missing compilation artifacts. Dexpreopting is not working for some system server jars
    Offending entries:
    system/framework/oat/x86_64/apex@com.android.permission@javalib@service-permission.jar@classes.odex
    system/framework/oat/x86_64/apex@com.android.permission@javalib@service-permission.jar@classes.vdex

Change-Id: If29b1c367e22e302f76bfbae29588e69536414b7
2021-10-29 11:56:49 +00:00
Treehugger Robot
bf406bc182 Merge "Use findstring to check MODULE_BUILD_FROM_SOURCE" 2021-10-29 10:18:07 +00:00
Cheonho Park
440467376e Use findstring to check MODULE_BUILD_FROM_SOURCE
Android 12 can have _compressed target
(e.g com.google.android.conscrypt_compressed),
changed function from `filter` to `findstring`

Same change applied to com.google.android.art checking

Also modify to check `true` value of the MODULE_BUILD_FROM_SOURCE
to filter out both unset variable and `false`

Test: adding one error code temporally, install prebuilt
  train, and check result with,without this fix

    MODULE_BUILD_FROM_SOURCE := true
  + $(error we are here, true $(PRODUCT_PACKAGES))
  endif

Bug: 197282276
Change-Id: I864ba1bb5da61ccc6b8576029ab6c569959b2c93
2021-10-27 23:53:29 +00:00
Sasha Smundak
3370ad5b70 Add board_platform_in/board_platform_is runtime functions.
Bug: 190051051
Test: treehugger
Change-Id: I27269fc0f0f7063635fbb1b1645919b604afb762
2021-10-25 10:41:56 -07:00
Sasha Smundak
dc154164db Better Soong namespace support in the RBC runtime.
Includes:
* Defining namespace again should have no effect
* Allow appending to a variable defined in a namespace
* Consistent naming
* Print namespace variable assignments even if they are empty

Bug: 200297238
Test: rbcrun make/build/tests/run.rbc
Change-Id: I64aa22c4498ae89e4bc3a077d6206ad37d5c7c38
2021-10-25 10:41:46 -07:00
Sasha Smundak
da2f56ebe4 Provide abspath for backward compatibility.
Bug: 194864642
Test: N/A
Change-Id: Ie30c57d8ea93e4247911b6ebf6fd5a3a469ac5e7
2021-10-25 10:33:16 -07:00
Yi-Yo Chiang
09f68abca7 Merge "Revert "Renames boot-debug-*.img in GSI targets"" 2021-10-21 07:22:03 +00:00
Treehugger Robot
d3b5946171 Merge changes Ie7063c46,I4ffd21bd
* changes:
  Provide is-vendor-board-qcom macro.
  Better Soong config namespace support makefile macros.
2021-10-20 20:03:52 +00: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
Dan Willemsen
349dc07933 Shrink 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. All of these are defined in Soong now, so we stop reading all
the Android.mk files, and defining and depending on the device output
targets.

Bug: 187222815
Test: `m`, `m dist`, etc on Mac
Change-Id: Ibb19756d44f2cbc6948381043115718ffc3f4b7d
2021-10-17 00:28:39 -07:00
Dan Willemsen
53c98f7f6d Remove sdk-linux-x86.atree as well
I missed this one in my last change.

Bug: 187222815
Change-Id: Ibdbde80fe531d53ce9e89136211bdf85932c058c
2021-10-16 16:49:41 -07:00
Treehugger Robot
7deaa8102e Merge "Remove old build-tools/platform-tools SDK implementation" 2021-10-16 20:20:33 +00:00
Treehugger Robot
d8f17b1fc4 Merge "Add pcluster and deduplication support for erofs images." 2021-10-16 01:56:43 +00:00
Sasha Smundak
c0fde810ba Provide is-vendor-board-qcom macro.
`is-vendor-board-qcom` supplants `is-vendor-board-platform` as the latter's
second operand is always `QCOM`. To check that BOARD is a QCOM one, write:

```
ifneq (,$(call is-vendor-board-qcom,BOARD))
```

Using `is-vendor-board-qcom` before its implied operands `TARGET_BOARD_PLATFORM`
and `QCOM_BOARD_PLATFORMS` are set is an error.

Bug: 201477826
Test: treehugger
Change-Id: Ie7063c46b7eda092438a59f3682486dd39af3d0b
2021-10-15 15:39:28 -07:00
Sasha Smundak
c5d5bb424f Better Soong config namespace support makefile macros.
Implement two new macros, `soong_config_set` and `soong_config_append`,
which will eventually replace the existing add_soong_config_xxx. With the
new macros, namespace declaration is implicit, and a value can be appended
to a variable in the namespace.

Bug: 200297238
Test: treehugger

Change-Id: I4ffd21bdb6d93db3b1630703fc5f766649b4152c
2021-10-15 15:39:15 -07:00
Treehugger Robot
093f8dcfc9 Merge "Re-enable disable_sparse properties." 2021-10-15 21:44:14 +00:00
Dan Willemsen
39b81cdc7a Remove old build-tools/platform-tools SDK implementation
Since those were the only components of the Windows SDK, this removes a
lot of special casing around that as well.

Bug: 187222815
Change-Id: I2690aadcf78e9ccad43314c8475893e81a2e2735
2021-10-15 14:22:07 -07:00
Pierre-Clément Tosi
88cceca4c5 Merge "Introduce BOARD_PVMFWIMAGE_PARTITION_SIZE" 2021-10-15 06:44:04 +00:00
Pierre-Clément Tosi
85da2d3713 Merge "Add pvmfw.img to IMAGES for BUILT_TARGET_FILES_PKG" 2021-10-14 09:11:33 +00:00
Yi-Yo Chiang
5ba458f71d Merge "Cleanup dependencies of debug boot images" 2021-10-13 09:58:23 +00:00
David Anderson
64b351b882 Add pcluster and deduplication support for erofs images.
This adds BOARD_xIMAGE_EROFS_PCLUSTER_SIZE and
BOARD_EROFS_PCLUSTER_SIZE, which set the "pcluster size" of erofs images
for individual images or all erofs images respectively. The pcluster
size affects the maximum size of a physical compressed block.

This also adds BOARD_EROFS_SHARE_DUP_BLOCKS, which turns on chunk
support in EROFS.

Bug: 201685920
Test: manual test
Change-Id: I27ec0899f89890562796dd9fa567fc74182fbefb
2021-10-13 01:03:10 -07:00
Colin Cross
fd54f03d1b Use the Soong output as the checkbuild target
Save disk space when building checkbuild by avoiding copying the Soong
output file into the Make intermediates directory.

All the same files in out/soong that were created by m checkbuild before
this patch are still created after this patch.  In the internal branch
the total size of the out directory after m checkbuild is reduced from
1320 GB to 965 GB.

Bug: 201816050
Test: m checkbuild
Change-Id: I6370df44f9baab00fcfe30c072600fe58109954d
2021-10-09 13:33:40 -07:00
David Anderson
5f4aa6c057 Re-enable disable_sparse properties.
This accidentally got omitted in the recent refactoring of
generate-image-prop-dictionary.

Bug: N/A
Test: build, system.img is not sparsed
Change-Id: Ie2e095aff08e937111f5c7ffc06e38e87c2d7d43
2021-10-08 17:21:43 -07:00
Pierre-Clément Tosi
d8248af3c8 Add pvmfw.img to IMAGES for BUILT_TARGET_FILES_PKG
Package the image even if it was built (previously, only the pre-built
version was being included).

Bug: 199717422
Test: m ${ANDROID_PRODUCT_OUT}/pvmfw.img
Change-Id: Ifb68ad571be78434f815307a5e4939222a28e7b7
2021-10-07 12:18:17 +02:00
Yi-Yo Chiang
9942f4e51e Cleanup dependencies of debug boot images
Remove redundant dependencies and adjust build rule, so that
  ramdisk-debug.img is built iff. boot-debug.img is built
same adjustment for vendor_boot-debug.img, boot-test-harness.img,
vendor_boot-test-harness.img.

Also remove "rsync" build rule in test harness ramdisk.

Bug: 201753847
Test: PRODUCT_BUILD_DEBUG_BOOT_IMAGE=true \
  PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE=false \
  => ramdisk-debug.img is built; vendor_ramdisk-debug.img is not
Test: PRODUCT_BUILD_DEBUG_BOOT_IMAGE=false \
  PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE=true \
  => ramdisk-debug.img is not built; vendor_ramdisk-debug.img is
Test: PRODUCT_BUILD_DEBUG_BOOT_IMAGE=true \
  PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE=true \
  => ramdisk-debug.img is built; so do vendor_ramdisk-debug.img
Change-Id: I33f526bd3c50b9c4010f46e490cab778fcb23371
2021-10-06 16:17:50 +08:00
Pierre-Clément Tosi
ab1d0dc36e Merge changes from topic "default-pvmfw-image" am: b3be181687
Original change: https://android-review.googlesource.com/c/platform/build/+/1832464

Change-Id: I92a002aa926d8d48637e35b26c41ef65026e8eed
2021-10-06 07:43:22 +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
Treehugger Robot
72c7768320 Merge "BOARD_SYSTEMSDK_VERSIONS should depend on BOARD_*_API_LEVEL if it exists" am: 9885f2f744
Original change: https://android-review.googlesource.com/c/platform/build/+/1843156

Change-Id: Ib1b20e7c1da4427c30a98d11a2729724ad176be8
2021-10-05 02:02:22 +00:00
Treehugger Robot
9885f2f744 Merge "BOARD_SYSTEMSDK_VERSIONS should depend on BOARD_*_API_LEVEL if it exists" 2021-10-05 01:47:30 +00:00
Cole Faust
64fc316e47 Merge "Add RBC board configuration" am: 4de9bc79fb
Original change: https://android-review.googlesource.com/c/platform/build/+/1842084

Change-Id: Ibd9b3fc8f4fe4007747c61aa98c9f737b0964ece
2021-10-05 01:01:45 +00:00
Cole Faust
4de9bc79fb Merge "Add RBC board configuration" 2021-10-05 00:49:48 +00:00
Treehugger Robot
30e367dbb4 Merge "Allow compatibility suite also build a test list" am: 7fe5450be2
Original change: https://android-review.googlesource.com/c/platform/build/+/1844555

Change-Id: Ib15076b49fd207382fb18dfe554203ec13b2f126
2021-10-04 20:57:28 +00:00
Treehugger Robot
7fe5450be2 Merge "Allow compatibility suite also build a test list" 2021-10-04 20:43:52 +00:00
Dan Shi
fd4802435c Allow compatibility suite also build a test list
The list of tests will be used to filter tests during test mapping run.

Bug: 201591516
Test: m dist cts vts
Change-Id: I2fd63b93c78af4fa88672aa903c87a4777691806
2021-10-04 11:41:06 -07:00
Pierre-Clément Tosi
592a3ca91b Introduce BOARD_PVMFWIMAGE_PARTITION_SIZE
Rename the BOARD_PVMFWIMG_PARTITION_SIZE variable to follow the format
used by all other partitions: BOARD_$(name)IMAGE_PARTITION_SIZE. Note
that all boards using that variable should have been updated to also
define the new version, by now.

Define the new variable as board read-only, as done for other
partitions.

Bug: 199717422
Test: m ${ANDROID_PRODUCT_OUT}/pvmfw.img
Change-Id: I5664c903db6388458e906e996115b695220932ca
2021-10-04 14:20:49 +02:00
Yi-Yo Chiang
f93950ae53 Merge changes If929bcf9,I9fb5c7fc am: 747a0c12eb
Original change: https://android-review.googlesource.com/c/platform/build/+/1842716

Change-Id: I0f9bc530c3e2e83b14efcad778870bc0d7795888
2021-10-04 10:00:49 +00:00
Pierre-Clément Tosi
3bda0d6992 Add generic board-agnostic pre-built pvmfw.img
Make use of the pvmfw.img-building AOSP framework to provide a common
default image instead of requiring boards to necessarily provide their
own but allow over-writing it through BOARD_PREBUILT_PVMFWIMAGE, if
desired.

Note: The Android Virtualization Framework requires the pvmfw partition.

Bug: 199717422
Test: m ${ANDROID_PRODUCT_OUT}/pvmfw.img
Change-Id: I5e06f08d6e22178e45254b7ab63acd3855d99a38
2021-10-04 11:56:56 +02:00
Yi-Yo Chiang
747a0c12eb Merge changes If929bcf9,I9fb5c7fc
* changes:
  Dedup build rules of ramdisk-(debug|test-harness).img
  Build vendor_ramdisk[-debug].img if building vendor_boot.img
2021-10-04 09:50:36 +00:00
Pierre-Clément Tosi
fa8193c0e9 Add framework for building the pvmfw.img partition
Adapt the variables necessary for building pvmfw.img by following what
was done for other Android partitions and introducing:

 - PRODUCT_BUILD_PVMFW_IMAGE
 - BUILDING_PVMFW_IMAGE
 - BUILT_PVMFWIMAGE_TARGET

Replace the manual 'cp' by the more common 'copy-one-file'.

Bug: 199831815
Test: m ${ANDROID_PRODUCT_OUT}/pvmfw.img # with TARGET_PKVM_ENABLED=true
Change-Id: I5e4bbcbdbf4b96281ee54631938f097e9744883c
2021-10-04 11:41:34 +02:00
Pierre-Clément Tosi
88648d33c9 Stop assuming that pvmfw.img can only be pre-built
Introduce the BOARD_USES_PVMFWIMAGE variable, similarly to all other
partitions, and use it where appropriate (in particular, where the
soon-to-be incorrect assumption that pvmfw.img could only be a pre-built
board image was made).

Bug: 199717422
Test: m ${ANDROID_PRODUCT_OUT}/pvmfw.img # with TARGET_PKVM_ENABLED=true
Change-Id: I8f4faa78c741d29b473303b521834387dbd48cd1
2021-10-04 11:37:19 +02:00
Howard Chen
8a59680b4f Merge "Make GSI target to export bootimage to DIST" am: c1b9c1d801
Original change: https://android-review.googlesource.com/c/platform/build/+/1839815

Change-Id: Ibac747f40c9a961fbe692f511b2edfef11f07247
2021-10-04 06:59:55 +00:00
Howard Chen
c1b9c1d801 Merge "Make GSI target to export bootimage to DIST" 2021-10-04 06:36:32 +00:00
Cole Faust
e5e7a2d531 Add RBC board configuration
This does largely the same thing as in product configuration,
it converts the board makefiles and evaluates them in place
of an $(include).

Bug: 201700692
Test: Temporarily replace the ifndef RBC_BOARD_CONFIG with RBC_PRODUCT_CONFIG,
      then ./build/bazel/ci/rbc_product_config.sh aosp_arm64-userdebug
Change-Id: I91c3dd6b91cf6bfeb18a5fff95d53b7a2c113c57
2021-10-01 17:56:54 -07:00
Colin Cross
651b8b7eb0 Merge "Support per-testcase directories in all test suites" am: 894e9be3f7
Original change: https://android-review.googlesource.com/c/platform/build/+/1838354

Change-Id: I27999b873212cb1ab52cb75a7dd9a6992d595145
2021-10-01 16:46:26 +00:00
Colin Cross
894e9be3f7 Merge "Support per-testcase directories in all test suites" 2021-10-01 16:27:55 +00:00
Jeongik Cha
fe6ef7c08a BOARD_SYSTEMSDK_VERSIONS should depend on BOARD_*_API_LEVEL if it exists
BOARD_SYSTEMSDK_VERSIONS should be checked by BOARD_API_LEVEL,
BOARD_SHIPPING_API_LEVEL, or PRODUCT_SHIPPING_API_LEVEL in a forward
order.

Bug: 201489975
Test: BOARD_SYSTEMSDK_VERSIONS := 30, PRODUCT_SHIPPING_API_LEVEL := 31,
BOARD_API_LEVEL := 30, and then check if there isn't an error

Change-Id: I00e3bf8dda6e6e87a2daf42c74d703503cbeed1f
2021-10-01 23:30:13 +09:00
Yi-Yo Chiang
6c51a43bcc Dedup build rules of ramdisk-(debug|test-harness).img
Adjust code location, factor out common code, eliminate dead code.

Bug: 201753847
Test: Presubmit; change is noop
Change-Id: If929bcf92bc03305058d2d8179c8dba351961c8e
2021-10-01 21:45:44 +08:00
Yi-Yo Chiang
870ea163c2 Build vendor_ramdisk[-debug].img if building vendor_boot.img
Make vendor_boot.img / vendor_ramdisk.img symmetrical to boot.img /
ramdisk.img.

Bug: 201753847
Test: Build and check vendor_ramdisk[-debug].img
Change-Id: I9fb5c7fca09a77446bd140ca549c2091fc9c6a40
2021-10-01 21:45:34 +08:00
Ulyana Trafimovich
e6a4320cb0 Merge "Remove unused variable SKIP_BOOT_JARS_CHECK." am: 85ed8ef84f
Original change: https://android-review.googlesource.com/c/platform/build/+/1841575

Change-Id: Id9dfc110111e09a3d82d0ae6f76ce943431b8bb6
2021-10-01 07:34:20 +00:00