Aconfig set flag default permission as READ_WRITE regardless of the
release configuration. This change enables the caller of create-cache to
set the default permission for all flags, if the flag doesn't have a
value.
Test: atest aconfig.test
Bug: 294417368
Change-Id: I1ba19e1ba793cd2ae59923b136b9b50a92315ece
The product variable Device_page_size_agnostic will be
renamed to DevicePageSizeAgnostic.
Test: source build/envsetup.sh
lunch aosp_cf_arm64_phone_pgagnostic
m
Bug: 289419664
Change-Id: I4c0026a559ca3d848ccad285a5516a56d01c0efb
The new boolean flag will be PRODUCT_PAGE_SIZE_AGNOSTIC.
When PRODUCT_PAGE_SIZE_AGNOSTIC is true:
- AOSP will use getpagesize() to retrieve the page size.
- The flag `TARGET_MAX_PAGE_SIZE_SUPPORTED` has to be equals to `65536`.
- AOSP will be able to use 4k/16k page size Linux kernels
When PRODUCT_PAGE_SIZE_AGNOSTIC is false:
- AOSP will only support 4k page size kernels.
Test: source build/envsetup.sh
lunch aosp_raven_64-userdebug
get_build_var TARGET_PAGE_SIZE_AGNOSTIC
get_build_var PRODUCT_MAX_PAGE_SIZE_SUPPORTED
65536
source build/envsetup.sh
lunch aosp_raven_64-userdebug
build/make/core/config.mk:414: error: TARGET_MAX_PAGE_SIZE_SUPPORTED has to be 65536 to support page size agnostic.
10:32:55 dumpvars failed with: exit status 1
Bug: 289419664
Change-Id: If8fc243a3e2cad77414a53a29805c7b6d349d4dd
This comes from a trunk stable build flag `RELEASE_AIDL_USE_UNFROZEN`
and is used by the AIDL compiler when creating build rules for the
generated AIDL libraries.
Test: m
Bug: 290265210
Change-Id: I9161a3262d6b2ef8792e8c0b8a759da9a540c560
Add a new flag variable for deprecating VNDK. This variable should be
passed to Soong, so it can change behavior based on the flag.
Bug: 290157355
Test: build succeeded with KEEP_VNDK=false
Change-Id: I3a9d1041411ad24ff42f76506a8f929e364b868d
Bug: 285303012
Test: for x in next trunk trunk_food trunk_staging ; do lunch aosp_panther-$x-eng ; m nothing ; done
Change-Id: I174ce3e609fa9077ea6bc61679ddb83e8efe57c8
Soong no longer supports "flattened" apex. This makes
TARGET_FLATTEN_APEX no-op.
Will remove TARGET_FLATTEN_APEX later.
Bug: 279835185
Test: m && launch_cvd (cuttlefish)
Change-Id: I27c6181f5107fd27552304c5dd25d2c0a21c4bec
We will deprecate flattened apexes. In this change, GSI-specific make
variable (PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES) is removed. The
variable was used to install both image/flattened apexes in the GSI, so
that it works on ro.apex.updatable devices and not-updatable devices.
Now, GSI will have only image APEXes in it.
Bug: 278826656
Test: lunch gsi_arm64-userdebug && m # no flattened apexes
Change-Id: I4702973d4ee75aa693e4e7f4e57577b77059dc09
Allow product configuration of memtag target list by
moving the current set into a product variable instead of the various
.bp files.
The default list of memtag targets can be found in
build/make/target/product/memtag-common.mk
This is NFC as all targets in the list already have "memtag_heap: true"
in the build files.
Bug: 280343521
Test: no functional change
Change-Id: I5954fde05256e00a8e01c114ad522f50ed0cfa9f
INTERNAL_PLATFORM_MISSING_USES_LIBRARIES was a workaround for CLC
construction. It's no longer needed because we have deferred the CLC
construction to Ninja phase.
Bug: 282877248
Test: Presubmit build tests.
Change-Id: Ib5d59caf58394f3bb93b4338146cbbbd58bb4f34
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
Also make it an error to specify the configuration
being removed.
Bug: 232423610
Test: build, boot
Change-Id: I1e4d993c7f4b9628eee6b270e47919aede4408b6
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
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
Ignore-AOSP-First: Ignore-AOSP-First: Other CLs in the same topic are internal-only
Test: m nothing
Bug: 267229065
Change-Id: I2d71daa6af97eeb0050e1084b27b03900d2d75ef
Merged-In: I2d71daa6af97eeb0050e1084b27b03900d2d75ef
Using PLATFORM_VERSION_ALL_CODENAMES (which is a bad name for
historical reasons) for discovering preview API levels doesn't work in
the narrow window where the branch's development is not for the latest
release. Create a second variable for preview codenames and expose it
to soong.
Bug: None
Test: None
Change-Id: I8c271c1d646ea8285553614c6bca944227a0e643
Some products access the SOONG_CONFIG variables
directly, instead of using soong_config_set. When
they do that, they could end up with duplicate values
in those variables, causing duplicate keys to be
generated in a json map.
Use $(sort) to dedup the map keys before writing them
out.
Bug: 249685973
Test: Presubmits
Change-Id: If0c16377bdfbd3f836ebec9262bec7cf562f339c
Example usage:
PRODUCT_INCLUDE_TAGS += use_myspecial_sdk
This also populates the allowlist with go/nogo mainline tags. Usage of
`PRODUCT_INCLUDE_TAGS` outside this allowlist will raise an error
in product config
Test: TH
Change-Id: Ica82a8f65cbfda600d72fc54fb873c1eaa1666a7
This is determined by:
- a product config flag
- the vendor API level
It is then passed to the device as a system property
"ro.dalvik.vm.enable_uffd_gc".
This change is a no-op change. It doesn't enable userfaultfd GC by
default. OVERRIDE_ENABLE_UFFD_GC=default can be passed to the build
system to enable userfaultfd GC for testing purposes.
Bug: 242553398
Test: -
1. lunch aosp_redfin-userdebug
2. OVERRIDE_ENABLE_UFFD_GC=default build/soong/soong_ui.bash --dumpvars-mode --vars=ENABLE_UFFD_GC
3. See "false" in the output
Test: -
1. lunch aosp_oriole-userdebug
2. OVERRIDE_ENABLE_UFFD_GC=default build/soong/soong_ui.bash --dumpvars-mode --vars=ENABLE_UFFD_GC
3. See "true" in the output
Test: -
1. lunch aosp_redfin-userdebug
2. OVERRIDE_ENABLE_UFFD_GC=true build/soong/soong_ui.bash --dumpvars-mode --vars=ENABLE_UFFD_GC
3. See "true" in the output
Test: -
1. lunch aosp_oriole-userdebug
2. OVERRIDE_ENABLE_UFFD_GC=false build/soong/soong_ui.bash --dumpvars-mode --vars=ENABLE_UFFD_GC
3. See "false" in the output
Change-Id: Ifd6e6cddb502315912ff949619a5b526ae0d73ff
Set up BUILD_BROKEN flags so partners can bypass errors
from using them
Bug: 226636335
Test: m nothing & treehugger
Change-Id: I5c499a37e206bdf89c5c9f84c6ecfe1cdc9a1803
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
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)
When trying to build a single 64 bit and 32 bit image, there are
a few executables that are prefer32. When set, this will force all
of those targets to be compiled as 64 bit.
Test: With this option, drmserver/mediaserver are built as 64 bit.
Test: Without this option, drmserver/mediaserver are built as 32 bit.
Change-Id: I84f6be7fe0fa3a9ea86ecc4dd785aaf1825f9925