This adds two new build variables, BOARD_KERNEL_PATH_16K and
BOARD_KERNEL_MODULES_16K . BOARD_KERNEL_PATH_16K will be copied
to output directory as is.
BOARD_KERNEL_MODULES_16K is a list of modules which will be packed into a
ramdisk and added to output dir. This allows cuttlefish to switch to 16K
kernel at runtime without adding too much overhead, as ramdisk building
takes very little time.
Bug: 253827893
Test: m kernel_16k ramdisk_16k
Change-Id: Ibb36ba4c3399b3f193795aea6597a4aa535f1bec
This reverts commit c113a70221.
Doesn't work with OUT_DIR hard coded outside the tree.
Test: OUT_DIR=/source/whatever m
Bug: 283278495
Change-Id: I8cc74a9ec936b9c7502b97b9b7a4fd731988c407
This adds two new build variables, BOARD_KERNEL_PATH_16K and
BOARD_KERNEL_MODULES_16K . BOARD_KERNEL_PATH_16K will be copied
to output directory as is.
BOARD_KERNEL_MODULES_16K is a list of modules which will be packed into a
ramdisk and added to output dir. This allows cuttlefish to switch to 16K
kernel at runtime without adding too much overhead, as ramdisk building
takes very little time.
Bug: 253827893
Test: m kernel_16k ramdisk_16k
Change-Id: I4e49c727e5ed07a915145897cb987f29b0fe68e2
Automatic RROs don't make sense for tests, the tests can't rely on
overlays being installed on product or vendor. Creating the RROs
causes a race during builds that build both droid and device-tests
goals, as the RROs may be installed to the vendor directory as a
dependency of the device-tests goal before or after the vendor image
is packaged as a dependency of the droid goal. If the RROs are
installed first and the vendor image is low on space it may result
in an out-of-space error.
Bug: 282885159
Test: Rule to build $OUT/vendor/overlay/SystemUITests__*__auto_generated_rro_vendor.apk no longer exists
Change-Id: I760355ffb1818e91c02a98473312f9f21c149361
Merged-In: I760355ffb1818e91c02a98473312f9f21c149361
There is no clear reason why this should be done, and there is evidence
of it causing confusion & minor problems.
Bug: 186432595
Test: m nothing & grep AppsDefaultVersionName out/soong/soong.variables
Change-Id: I46243b4cfb3b23f2229bc1275c6ee96c1cee01d3
64-bit GSI requires support both 64_32-bit and 64-bit devices at
the same time. Add a new variable TARGET_DYNAMIC_64_32_DRMSERVER
to put drmserver_dynamic.rc into GSI. Which starts 64-bit
drmserver if ro.zygote is zygote64. Otherwise, it keeps the
original behavior to start 32-bit drmserver.
Bug: 282603373
Test: make gsi_arm64-user; Check system/etc/init
Test: make gsi_arm-user; Check systen/etc/init
Change-Id: I874cee00a066086f565e044549ad40c6ab5d62b0
Merged-In: I874cee00a066086f565e044549ad40c6ab5d62b0
So that we have a more restricted enviornment for this new configuration
axis that can also be imported into other tools more easily.
Test: Manually
Change-Id: Iabce1919f6d6f57a256ae144784af7c47622b54d
It's a common mistake in make to have leading/trailing whitespace
on values, so strip it out before assigning to variables.
Bug: 282824346
Test: Presubmits
Change-Id: If4d3b86795c05ba32006af3af8031ca083a4c54b
Bug: 282189563
Test: manual, m otatools-package, confirm that merga_ota is
present in otatools.zip
Change-Id: I40c3866bfb016aa1dec1c6dc2d95c66deb1e61ea
Saves a few extra KBs with LOCAL_COMPRESSED_MODULE
Bug: 191841942
Bug: 282617419
Test: boot && apks uncompressed
Change-Id: I1a8c6cdfc194b68b2f2c9fb398851a7a4b7440bf
compatibility.mk is included 33 times on aosp, and 47 times on
internal master. Each of these would run this shell command, and
there would be an entry in the kati stamp file for each time it was
run, causing this command to be run the 33/47 times every single build.
This took ~0.2 seconds, which can be saved by only running it once.
(However these ~0.2 seconds are parallelized with other parts of the
stamp checking)
Bug: 282079550
Test: m nothing
Change-Id: I364836d1cb0cc26ca9116eda6d954170e1cb7761
This file was an archive of all the gpl files that could be found
in the source tree. Because it looks for gpl files using $(wildcard),
kati had to rerun the wildcards every single build to see if they had
changed. These GPL wildcards made up 30294 of 63996 wildcards present
on aosp-master. Removing these wildcards saves (aosp/internal) ~0.2/~0.1
seconds from every build, and ~0.4/~0.6 seconds from the wildcard
checking portion of kati. (The whole build sees <0.4s/0.6s of
improvement because it's parallelized with the shell checking, but
improvements here mean that we can now improve the shell commands as
well and get more fruitful results)
We don't actually use gpl_source.tgz anywhere, so we can just remove it.
Bug: 282079550
Test: m nothing
Change-Id: I77141dbb39b2d8ebd96bc258fe7dbdff5a372977
1) Use output file path of installed files in build system since there is no PRODUCT_OUT in Bazel
2) Use CONTAINS to describe the relationship between a APEX and files it contains
3) Generate SBOM of APEXs, which is similar to SBOM of products
Bug: 275472038
Test: CIs
Change-Id: I41622366e5e6ed9dc78cca7bc7bb69a1f8f9bd9f
PRODUCT_DEX_PREOPT_PROFILE_DIR could be an empty string, leading to
a wildcard starting with /.
Test: m nothing
Change-Id: Ic745ed4b55cdf5d5d6b43f91c9e5f0c23635c618
This reverts commit e30acf1b3f.
Reason for revert: DroidMonitor-triggered revert due to breakage b/281778022
Change-Id: Ie1ffc86d1ad181d3c8800f9fd57f841d0cf3ac09
This fixes the tradefed build error caused by aosp/2582191.
Bug: 280440941
Test: `BUILD_BROKEN_DISABLE_BAZEL=true m dist` on tradefed branch.
Change-Id: I34c9fea0a5f7110c9b2bda1986df82afa3eafc79
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
Added so img_from_target_files can read and add fastboot-info.txt to
updatepackage
Test: m target-files-package
Bug: 194686221
Change-Id: Ia42d7174ef8a4119774057fa7c33f9a409e7ec30
This replaces support for the unused
TARGET_PLATFORM_VERSION variable.
Now, if you pass three - separated
items the first is product, the
second is release and the third
is variant. If you only pass two
they're still product-variant
and the build system will choose
a reasonable default for release.
Test: run lunch with two and three items, confirmed values in the build banner
Change-Id: I128177d96ffe81b79b6945a24ebf37861c3b25fc
- 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
Adding in build time flag for specifying cow version, in preparation to
add new cow version in libsnapshot
Test: m -> cat misc-info.txt
Bug: 279954153
Change-Id: I148d4e7cdd669496c91213889787172ffd83a5ab
The board configuration already had this inlined, and the addition
of a separate script makes it harder to follow what's happening.
Bug: 280685526
Test: ./build/bazel/ci/rbc_dashboard.py --quick aosp_arm64-userdebug
Change-Id: Ib76c4a46932ae81d84f854fbee5b0453266d6497
Create new phony build targets for sync_system, sync_vendor,
sync_product, sync_system_ext, sync_odm, sync_vendor_dlkm,
sync_odm_dlkm, and sync_system_dlkm.
These build just the files on the associated partion, (e.g.
/system_ext), but not the image file (e.g. system_ext.img). Like sync,
but just for a single partition.
Test: modify System UI, m sync_system_ext && adb sync && am restart
Change-Id: I5aa40d7018e029a57114681dd16db3f1e5651a63
ota_from_target_files no longer requires a zipped target file, so switch
dependency to the target_files dir. This allows build system to
parallize generation of OTA package and target file packing
Test: th
Bug: 227848550
Bug: 277028723
Change-Id: I03fb9191de3b3316ed288eaac8ae84370c2fb598
In make, soong_config_set uses an $(eval) to set it's value, expanding
the value of the soong config variable _before_ evaluating the value.
Because of this, make will strip trailing whitespace like it does on
regular assignments.
Make rbcrun match this behavior.
Test: ./out/rbcrun ./build/make/tests/run.rbc
Change-Id: I907e85cdf50f6fac54331c0d1044f0d53bec22ed
The PRODUCT_MAX_PAGE_SIZE_SUPPORTED will be used to define the
ELF segment alignment of the binaries (executables and shared
libraries). The alignment is set based on these conditions:
- If PRODUCT_MAX_PAGE_SIZE_SUPPORTED is defined, that value will be
used to align the binaries. If not defined, see condition below:
- If it is a low memory device, 4096 will be the alignment. If it is
not low memory device, see conditon below:
- If VSR vendor API level < 34, 4096 will be the alignment, otherwise
it will be 65536.
Test: Built for in Pixel 4a, 6 and verified the alignment with readelf.
Bug: 276963698
Bug: 276801883
Change-Id: I53a8902ab62e6d378aec84c28bc627f0e8a98500
this function append FILE_NAME_TAG_PLACEHOLDER at the end of file name,
and call dist-for-goals
Bug: 278060169
Test: m dist
Change-Id: I35a48ad722cc266cadb4ed0910820589927fcef1
Previously we used USE_ANGLE to determine whether the build should include
ANGLE drivers, this patch consolidates that into a separate Makefile.
Bug: b/270994705
Test: atest CtsAngleIntegrationHostTestCases
Change-Id: I4d7ffb869ced219009446d907230178e4b940157
Also make it an error to specify the configuration
being removed.
Bug: 232423610
Test: build, boot
Change-Id: I1e4d993c7f4b9628eee6b270e47919aede4408b6
Now that this value is no longer being read by
libbinder, I'm doing the following to remove
it from the build:
1. this CL (remove requirement)
2. removing the config from all devices
3. removing config from the build + kati obsolete
Bug: 232423610
Test: build, boot
Change-Id: I77fcd14c273b43bd10430a55e91e1d5accc9efd0
enforce_uses_libraries.status files require dexpreopt.config files
which are generated in out/target/product/<product>/obj because they
are specific to target products.
As common files cannot depend on product specific files, generate the
enforce_uses_libraries.status files to the product specific
intermediate directories instead of the common intermediates.
Bug: 279360253
Test: build
Change-Id: Idc468fdaf046cd37dd8f39a9212aad78283b4c61
We have both with/without product interface enforced targets.
Because of this, unbundled apps in the product partition must consider
bundled cases and has to add `jni_uses_platform_apis: true` to use jni
libraries.
As targets with PRODUCT_SHIPPING_API_LEVEL > 29 must enforce the
product interfaces, if PRODUCT_SHIPPING_API_LEVEL is not defined,
enforce the product stable interface by default.
Bug: 273386586
Test: TH
Change-Id: I5874bf0ae8477fab7b1097ad24c9cc0d95543eb1
Add support for createing a modules.load.charger file in the vendor_boot
and vendor_kernel_boot images when
BOARD_VENDOR[_KERNEL_]_RAMDISK_CHARGER_MODULES_LOAD is specified.
Bug: 266752750
Change-Id: Ic8fc06566aafa5c01dff50daa6293c6cb6d0c263
Signed-off-by: Isaac J. Manjarres <isaacmanjarres@google.com>
Update PLATFORM_VERSION to VP1A. The codename is now VanillaIceCream.
Bug: 279492191
Test: m checkbuild
Change-Id: Ibc24c10cf040407d79662c1819beaf97da791efb
Merged-In: Ibc24c10cf040407d79662c1819beaf97da791efb
* move package-res.apk related files to "common" intermediate dir as
aapt2.srcjar does because it is an app which is supposed to be arch
neutral
* add device name in auto-gen RRO to avoid conflicits
Bug: 279358050
Bug: 279360102
Test: m
Change-Id: Ibcc5e5546bd43767ab0d4807933eeb57d58f99d6
The device's max supported page size is determined by the
build variable TARGET_MAX_PAGE_SIZE_SUPPORTED.
Export this variable as system property for use in tests.
Bug: 277360995
Test: atest -c vendor_elf_alignment_test -s <serial>
Change-Id: I4f33a42de359c8119e55056f9fd9c7147c7058ec
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
Create a new phony target target-files-dir, which points to
$(BUILT_TARGET_FILES_DIR) . All dependencies of
BUILT_TARGET_FILES_PACKAGE are now a dependency of
BUILT_TARGET_FILES_DIR. The purpose of BUILT_TARGET_FILES_DIR is to
represent an unzipped version of the target_files.zip . Some tools, such
as ota_from_target_files, can work directly with unzipped target_files.
This change allows such tools to avoid having to zip the target_files
by depending on BUILT_TARGET_FILES_DIR instead of
BUILT_TARGET_FILES_PACKAGE.
This CL does not have any functional changes, targets such as otapackage
and updatepackage still depend on the zipped target_files.
Bug: 227848550
Bug: 277028723
Test: m installclean && m updatepackage
Change-Id: I83e69370ae5efa9046710f5909276077796f6b30
Currently, PRODUCT_AFDO_PROFILES is generally applied to all products and is not semantically treated as a product config varilable.
Splitting this allows us:
1. Explicitly tell that PRODUCT_AFDO_PROFILES takes precedence over product-agnostic profiles in AFDO_PROFILES
2. Add PRODUCT_AFDO_PROFILES to _product_vars_list
Test: Define PRODUCT_AFDO_PROFILES in a product config and make sure it appears first in the soong var AfdoProfiles
Bug: 277215393
Change-Id: I284f6308d456994bb72129cb0d7be7cd091993ae
Merged-In: I284f6308d456994bb72129cb0d7be7cd091993ae
Previously, the product var is defined in pixel product config only. This breaks SDK finalization for udc (google3/configs/wireless/android/busytown/platform/git_udc/git_udc-release.gcl). In SDK finalization, we need to ensure performance/usage of libraries are consistent across all builds that don't set SKIP_ABI_CHECKS.
This CL optionally includes the afdo_profiles if available so that afdo is on all products by default.
Ignore-AOSP-First: The topic has internal-only CLs
Test: CI
Bug: 276672785
Change-Id: I2cc51412de141c4e6ad69f49cef378121e0b3b87
Merged-In: I2cc51412de141c4e6ad69f49cef378121e0b3b87
This allows create_brick_ota binary to be used by downloading
otatools.zip from ab, instead of having to build it locally.
Bug: 278925744
Change-Id: I704355b74bc2de7e8d5b881deb01efbee0fdda2a
Environment variables HWASAN_INCLUDE_PATHS and
PRODUCT_HWASAN_INCLUDE_PATHS can be used to enable HWASan for multiple
modules, by just adding the module directory to the env variable.
Bug: b/271948407
Test: Set specific module directory to above env variable and check the
assembly codes of output elf files after building, finding hwasan
related symbols inside.
Change-Id: I4493cb627fb564ee317eb95bd24ec020d42ae28c
build/make/core/Makefile modifies ALL_DEFAULT_INSTALLED_MODULES,
move the cleanup logic below where it is included so that any
additions are covered by the cleanup logic.
Bug: 267014648
Test: manual
Change-Id: If3ab59aa19273fb20f171a3bb74ea1a2c3841585
This is to reduce build rule divergence among targets. We only need the
path under PRODUCT_OUT.
Bug: 277662244
Test: build and boot
Change-Id: Ica8776d1779c47305c3c74015be2b3597cbdf95c
This is needed so we can run hwasan-enabled apps for debugging on normal
system images.
Bug: 276930343
Change-Id: Ie572d77307e5e6268b851ea5c96aae05d588dae3
There will be more SBOM files for unbundled APEXs/APks, so collect all in sbom/ for scilo ingestion later.
Bug: 266726655
Test: CIs
Test: lunch aosp_cf_x86_64_phone-userdebug && m dist
Change-Id: Iff4f1177df425095cef3c95c7bf4b85c62fa2e8d
This reverts commit fd358ae340.
Reason for revert: fixed the issues in aosp/2529028 and aosp/2524438.
Change-Id: Ieb4e6189a9357dafe81f15c72d5603166d9caa4d
It's set and used in many .mk files. Adding this to "wifi" soong config
namespace helps migration of those .mk files into .bp files.
Bug: 273376293
Test: m libwifi-hal libwifi-hal-qcom
Merged-In: Ie0fad26305d50f70076b7e538fd1a7fa03e397cb
Change-Id: Ie0fad26305d50f70076b7e538fd1a7fa03e397cb
It just consisted of unused functions/variables, and had no edits
since the initial publish of android to git. It appears like it was
panned to have a device config similar to product config but was never
completed.
Test: Presubmits
Change-Id: I0ffcef1ae8bfd0611f1bede387f0c3e01fe53581
Previously, the product var is defined in pixel product config only. This breaks SDK finalization for udc (google3/configs/wireless/android/busytown/platform/git_udc/git_udc-release.gcl). In SDK finalization, we need to ensure performance/usage of libraries are consistent across all builds that don't set SKIP_ABI_CHECKS.
This CL optionally includes the afdo_profiles if available so that afdo is on all products by default.
Ignore-AOSP-First: The topic has internal-only CLs
Test: CI
Bug: 276672785
Change-Id: I2cc51412de141c4e6ad69f49cef378121e0b3b87
This reverts commit bc7868b18e.
Reason for revert: DroidMonitor: Potential culprit for Bug 277015970 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Change-Id: If7d2d070714d5b58e77488d4e26d4003bfc34f79
Soong didn't have any explicit references to these paths because it
depends directly on the modules, but the make side of the build still
needs to construct these paths explicitly.
I removed a bunch of dead code that made the fix less obvious while I
was here.
Bug: None
Test: treehugger
Change-Id: I1a283a3bc98a94fc5481c869b3b0a4eacf69d859
Also collect some information of all prebuilt partition images for later use in SBOM generation.
Bug: 272360068
Test: CIs
Test: build/soong/tests/sbom_test.sh
Change-Id: I82cd93a50e4230123d47feab9a558211c4276425