Commit Graph

28416 Commits

Author SHA1 Message Date
Colin Cross
d954ea888a Add missing dependency from module name to symlinks
The rules to install the symlinks had dependencies from PRODUCT_PACKAGES
install rules, but from manual install requests like `m toybox`.  Add
the missing dependencies.  Also add the new declare-0p-target licensing
call.

Fixes: 205524422
Test: m toybox
Change-Id: Ie9a5e37b09250aa271ab153a13f41bc34fa4a38a
2021-11-08 19:40:22 +00:00
Anton Hansson
db7732900b Merge "Do not disable prebuilts for sdk builds" 2021-11-08 10:27:22 +00:00
Cole Faust
2f1bd70c9c Merge "Make starlark board configuration work with sdk_phone_x86_64" 2021-11-05 18:42:12 +00:00
Colin Cross
11b78c16ad Merge "Move tools compiled by Soong to HOST_OUT_EXECUTABLES" 2021-11-05 17:14:59 +00:00
Anton Hansson
30ae089556 Do not disable prebuilts for sdk builds
The artifacts in the SDK zip should be OK to build with a prebuilt
stubs enabled, even if prebuilt apexes are not, because the system
images in the SDK stub are not currently used.

Bug: 205008975
Bug: 204407658
Test: m sdk
Change-Id: Ia78cf87743ff394dcfaa1b43556b230c0dda8742
2021-11-05 16:34:27 +00: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
Steven Moreland
ec71cbf0c8 Merge "vintf recovery install parity w/ init_rc" 2021-11-04 22:28:51 +00:00
Treehugger Robot
cd128891ed Merge changes from topic "tproto"
* changes:
  Convert .meta_lic files to textproto
  Add macros for non-module license metadata and deps
2021-11-03 18:31:02 +00:00
Colin Cross
1ee26cae73 Convert .meta_lic files to textproto
Make it easier to write tools against .meta_lic files and store complex
data by writing them in textproto.

Test: builds
Change-Id: Ibbb6cfbb1bdddd3d938a86d563673a049d826d66
2021-11-03 15:44:00 +00:00
Bill Yi
468572bad8 Merge SP1A.211105.004 to aosp-master - DO NOT MERGE
Merged-In: I68a7e42b3bd2b27e0c9ff8480f71af7aaf9dcb46
Merged-In: Ia18162968822dfbee5299c2692aef1e3c75ba843
Change-Id: I2b422d3dffe04be00304663294b48052a9a29aca
2021-11-03 12:17:35 +00:00
Bob Badour
879cfa867d Add macros for non-module license metadata and deps
Gets rid of .meta_module files and instead defers emitting rules until
after all the non-module targets have been processed. Allows direct
dependency on .meta_lic files, which in turn depend on license text
files.

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Test: m systemlicense
Test: m reportmissinglicenses

Change-Id: I2c467feac6e13a9366ff66f924889f1dbd48c3f1
2021-11-03 00:52:25 +00:00
Treehugger Robot
dcb0e44c46 Merge "Add share_libs and system_share_libs to module-info" 2021-11-02 01:52:17 +00:00
Steven Moreland
b186183ae2 vintf recovery install parity w/ init_rc
There was a relatively recent change (id
I82d0f40d6d7047e271612204391c5a027f84f52f) which avoided installing
init_rc scripts to system when a module was installed to system. This
same bug also existed in VINTF installs.

Future consideration: macrotize behavior (delaying since there are some
subtle differences in paths/variables and given bazel efforts).

Fixes: 204270700
Test: boot
Test: 'mmma hardware/interfaces/health/aidl/default' installs vintf
fragments to '/system/etc/vintf/manifest' before this change but not
after.

Change-Id: Icf505af74c95386a0ed8cb4468dcf7c1122db847
2021-11-01 17:58:28 -07:00
Colin Cross
bca6483b07 Move tools compiled by Soong to HOST_OUT_EXECUTABLES
Soong now installs native tools to HOST_OUT_EXECUTABLES instead
of SOONG_HOST_OUT_EXECUTABLES.

Also add a cleanspec for SOONG_HOST_OUT to remove old files from
SOONG_HOST_OUT_EXECUTABLES.

Bug: 204136549
Test: m checkbuild
Change-Id: Id18213b9294b6d2cf78f657740c6d5a02733b8ad
2021-11-01 15:03:01 -07:00
Colin Cross
3a79e5b459 Merge "Support generating install rules in Soong" 2021-11-01 21:31:56 +00:00
Ulyana Trafimovich
75342c1932 Merge "Deprecate system server jars defined in Android.mk." 2021-11-01 10:01:10 +00:00
yangbill
5f5e2362fa Add share_libs and system_share_libs to module-info
Bug: 202922558
Bug: 204269866
Test: m out/target/product/vsoc_x86_64/module-info.json

Change-Id: Idb4e66216cac4835968454f83196107f6bec4c1c
2021-11-01 06:38:43 +00:00
Treehugger Robot
76a4c62f56 Merge "Support custom APEX signing tool" 2021-10-29 23:39:26 +00:00
Colin Cross
23ee375a4a Support generating install rules in Soong
Support moving some install rules into Soong by allowing Soong to
provide a Makefile containing install rules, and by skipping parts
of base_rules.mk when Soong already created an install rule.

The install rules are exported as a Makefile instead of directly
in Soong's build.ninja file so that base_rules.mk can add dependencies
from the `required` property that are hard to resolve in Soong.

Bug: 204136549
Test: m checkbuild
Change-Id: Ife2964d76469b385e90c0c5f6adf21bd2b5e8bf6
2021-10-29 15:43:39 -07:00
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
Jooyung Han
8caba5e14e Support custom APEX signing tool
When an APEX specifies its custom signing tool (custom_sign_tool:),
apexkeys.txt contains the info and sign_target_files_apks pass the value
to apex_util.

For now the Virt APEX has its own custom signing tool (sign_virt_apex),
which is added to OTATOOLS.

Bug: 193504286
Test: sign_target_files_apks invokes sign_virt_apex
Change-Id: Iba845723fe3e18f542963324b9c58cd00914c5ba
2021-10-27 16:56:22 +09:00
Ulya Trafimovich
7693ec7e03 Deprecate system server jars defined in Android.mk.
Add PRODUCT_BROKEN_DEPRECATED_MK_SYSTEM_SERVER_JARS variable that is
undefined by default. Setting that variable to true enables support for
system server jars defined in Android.mk. It should be enabled on a
per-product basis in product makefiles.

Bug: 203618671
Test: m nothing
Change-Id: If90d7131d37f308c468e395c236d5aa5ad053bad
2021-10-26 14:47:24 +01: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
Android Build Coastguard Worker
53d8aa9e90 Version bump to SP1A.211105.004 [core/build_id.mk]
Change-Id: I5efdc7bbff1a82c3827d35649eab32d288828c06
2021-10-20 20:28:38 +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