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
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
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
Make it easier to write tools against .meta_lic files and store complex
data by writing them in textproto.
Test: builds
Change-Id: Ibbb6cfbb1bdddd3d938a86d563673a049d826d66
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
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
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
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
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
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
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
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
This reverts commit a2a5db4466.
Reason for revert: original change was obsoleted by
I3161e42b00a93177a1a4cb3b22da2218d294b7a7
Bug: 202129499
Test: Presubmit; change should be noop
Change-Id: Ib7be1ed73dbf08758276666f8ce35ed9cbf18a36
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
`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
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
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
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
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
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
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
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
* 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