I would like to centralize/standardize the BoardConfig
variable sanity checking in a file similar to product_config.mk,
but for now just add a few more standard BoardConfig
variables to the .KATI_READONLY list.
Also fix the inconsistent indentation in this file.
Test: make
Change-Id: I2a878b95ffc07e3f5bc4eb4970775bdef347e094
DEXPREOPT_BOOT_JARS_MODULES is not set any more in Make, stop
trying to pass it to Soong and let Soong export the value to Make.
Test: m checkbuild
Change-Id: I64de10236cbebc92c62fca137ae684e55cad1625
dexpreopt_gen now requires a -out_dir argument, and does not need
DexPath, StripInputPath and StripOutputPath set.
Also use paths to Soong binaries for dex2oat, profman and aapt
so that they can be loaded as Path objects in Soong, and let
Soong handle the default for BootImageProfiles.
This reapplies I97b1865fd98d5108d9c63ff7a90a5591c7622526 with
fixes to disable preopt for Soong-only builds when the global
dexpreopt.config doesn't exist.
Test: m checkbuild
Change-Id: I5af9b749235823b7e1cfcfc55e121bfec413fb2f
The merge_target_files.py script needs fc_sort and sefcontext_compile, so
include these tools into otatools.zip via core/Makefile.
Modify tools/releasetools/merge_target_files.py to use the otatools common argv
processing to take advantage of the '--path' option so that we add point the
'--path' option to an extracted otatools.zip package to gain access to fc_sort,
sefcontext_compile, and soong_zip (previously included in otatools.zip).
Bug: 123600124
Test: extract otatools.zip, use --path option to point to it, verify result
Change-Id: I7d84525981b8741c6bdbcac9984256920fc7f417
When building the full OTA file, write a copy of the metadata to the
dist dir. Then it will show up in the artifact of the build page for
users to parse.
Bug: 124783265
Test: make dist and check the output metadata
Change-Id: I2eb06bbf3cbb9f3653ca3352f3d601b09403d59d
Some of the inputs to boot_profile_jars.zip have moved outside
of $(PRODUCT_OUT), update the -C argument to soong_zip to point
to the right directory.
Also make the rule to build the zip always present, and only gate
the dist command behind PRODUCT_DIST_BOOT_AND_SYSTEM_JARS.
Test: m out/target/product/blueline/boot_profile_jars.zip
Change-Id: Iaa72be955edda445f3eab041a63f79c9055d6b33
dexpreopt_gen now requires a -out_dir argument, and does not need
DexPath, StripInputPath and StripOutputPath set.
Also use paths to Soong binaries for dex2oat, profman and aapt
so that they can be loaded as Path objects in Soong, and let
Soong handle the default for BootImageProfiles.
Test: m checkbuild
Change-Id: I97b1865fd98d5108d9c63ff7a90a5591c7622526
Bug: 124789867
Test: build with coverage, the boot classpath has jacoco.jar in /system/framework, not the apex
Change-Id: I2529f8fcb4ef30454a9e5fc95d58d31bef83ec6f
Product partition is not mounted in recovery mode. Install
product_file_contexts and product_property_contexts into rootdir for
recovery. This is similar to how we deal with system, vendor, and odm
*_contexts files.
And remove unnecessary ifdefs.
Test: m bootimage for pixel 3, product_file_contexts and
product_property_contexts appear in $OUT/recovery/root/
Change-Id: I416d9e6ea742e67a6fe294f1ad8b78fb9b844260
In BoardConfig.mk, ODM manifests can be specify as follows:
# installed to /odm/etc/vintf/manifest.xml
ODM_MANIFEST_FILES := device/foo/bar/odm_manifest.xml
# installed to /odm/etc/vintf/manifest_baz.xml
ODM_MANIFEST_SKUS := baz
ODM_MANIFEST_BAZ_FILES := device/foo/bar/odm_manifest_baz.xml
This is preferred over PRODUCT_COPY_FILES because it uses
assemble_vintf to check manifest at build time.
Test: builds
Change-Id: I18517b8ba09d3271627d6f21b8250b1bfc9e5db3
Add 32BIT and 16BIT compile time flag for nanopb library to support
16BIT or 32BIT size, default is 8BIT. User need to use the corresponding
library when define the PB_FIELD_* flag during compilation.
Change-Id: I0d25bcdf62d6b47733e1ad4bddbd4dfce2192b5d
Test: None
Bug: 122292884
The file contains information about apex-to-keys mappings.
Bug: 124406181
Test: m dist and check if META/apexkeys.txt file exist in the
target-files package.
Change-Id: If8da917a8b4d4e8326614b34067c14ed0df59cb3
The script makes noisy error although fallback cmd succeed.
So make the script writes error log only if both of commands fail.
Bug: 124470143
Bug: 123664116
Test: m -j out/target/product/$(get_build_var TARGET_DEVICE)/shareduid_violation_modules.json
Test: And there is no error log in stderr
Change-Id: I3d4756066ee6904826c18754969fd4190bd02e1e
Dexpreopting of boot jars is now implemented in
build/soong/java/dexpreopt_bootjars.go.
Test: m checkbuild
Change-Id: I036510e7674b876976ce191c5b18bf0b7a15c6ee
Including soong_zip in the OTA tools package enables its use in target files
repackaging scripts.
Bug: 124468071
Test: Generate build, verify that soong_zip exists in otatools.zip at bin/soong_zip
Change-Id: Iee0d9dba73a66de4d1aa6970dd8fb8debb723660
There are predefined macros image targets that are
already checked in dependencies, use them instead
of hardcoding the same path again.
Bug: 79601115
Test: make -j
Change-Id: I12b64a646df038de017ba2ef18f3d0e4274f7caa
Signed-off-by: Roman Kiryanov <rkir@google.com>
This change checks if INSTALLED_SYSTEMIMAGE_TARGET
is defined to generate INSTALLED_QEMU_SYSTEMIMAGE
to improve debugging.
Bug: 79601115
Test: make -j
Change-Id: Ia1aad7dbaab1d2de11a1bc3ffe7c7ae714f5f6eb
Signed-off-by: Roman Kiryanov <rkir@google.com>
If72bd1c20b2014d0a3d400624d37fdb0a3052245 failed to propagate
PRODUCT_HIDDENAPI_STUBS* to Soong.
Bug: 124316921
Test: m out/soong/hiddenapi/hiddenapi-flags.csv, check previously
blacklisted classes are now whitelisted.
Change-Id: I9b4a364654bad77b38ceb7062dafaeeab5f49517
This commit strips LOCAL_CHECK_ELF_FILES before comparing it with
`false` so that developers can add comments after LOCAL_CHECK_ELF_FILES.
For example:
LOCAL_CHECK_ELF_FILES := false # disable checks due to ...
Bug: 119084334
Test: Add some spaces after LOCAL_CHECK_ELF_FILES and run
CHECK_ELF_FILES=true make check-elf-files
Change-Id: I2bfaff4807aeeea6c7af0b9d7d716742b6764cd0
If a static library has static library dependencies then all resources
need to be moved to an overlay to maintain the correct ordering so
that a static library resource overlays the same resource in a
dependency.
Bug: 124108931
Test: m checkbuild
Change-Id: I6be9a80c53e6247a6589272ab0e653a9a0ded814
The resulting XMLs will contain more complete information (such as
whether or not a method is native) than is available in current.txt.
Bug: 124335876
Test: make PRODUCT-cf_x86_phone-userdebug showcommands dist EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true tests
Change-Id: Icb8999bcd6be28f3ec8ff6bffa33b261f0d20606
This commit extracts the AVB key used to sign system_other.img into
system.img, for init to verify system_other's AVB metadata.
The extracted key will locate in:
/system/etc/security/avb/system_other.avbpubkey
Bug: 123611926
Test: build and checks the following is generated
$OUT/system/etc/security/avb/system_other.avbpubkey
Change-Id: Icdc703ff5a0d50f8140bb652507b9b4cbc8a2118
Instead of passing both the module and global dexpreopt image
selection into dexpreopt_gen, determine the correct dexpreopt
image in Make. This allows the Make dexpreopt rule to only
depend on the necessary boot images, preventing an order-only
dependency on the 32-bit boot image for a 64-bit only module.
Also stop using the boot image "location" as an input, only
track the real path, which will be converted to the "location"
that dex2oat expects when constructing the command line in
dexpreopt_gen.
Removes support for the unused LOCAL_DEX_PREOPT_IMAGE_LOCATION
variable.
Test: m checkbuild
Change-Id: I2e3e1d30fdfed92fb08e6cc1c9515edf8d99c7f0
This change allows ro.product.[brand|device|manufacturer|model|name] and
ro.build.fingerprint to be derived at boot time (and in the OTA
generation scripts) from partition-specific properties.
Test: booted system image, verified properties
Test: booted recovery image, verified properties
Test: unpacked OTA package, verified build fingerprint
Bug: 120123525
Change-Id: Iadd230a0577f35c7c37b0f911e91a5c2863ed1fe
TARGET_FS_CONFIG_GEN has existed as the preferred mechanism for two
releases, so we finally deprecate TARGET_ANDROID_FILESYSTEM_CONFIG_H.
Test: build
Change-Id: I299a4d1d1d893ac16d6e6ce2ec4659bfcdc19095
It's unnecessary to run all the make file parsing to dump product
configs. Move the dumping to product_config.mk instead, but switch
the output to $(warnings) as stdout is a bit sensitive during
the config stage.
Test: multiproduct_kati -only-config dump-products
Change-Id: I8c7365c9f90ea2bf152b82dfb983bfb0cdcb1697
This change fixes a problem that if a module is installed to the root
partition, its symbol file appears at under symbols/root, which is an
non-existing path at runtime. Since the symbol paths should match with
the runtime path, drop /root when installing symbols.
Bug: 123985838
Test: m libc.mountpoint
libc.so is found under symbols/bionic/lib[64]
Change-Id: I38bd226c3ec758d69902f4f288c83f68170c4068
In order for the runtime module to always be able to compile apps,
make sure we keep a copy of the dex files optimally.
Gated by a product flag if a product doesn't include the module yet.
Test: build
Change-Id: Ia9bba7f6f12f3400078a43d39ba4134cf8818399
Some devices opt out of the warning with `BUILD_BROKEN_ENG_DEBUG_TAGS :=
true` still, but the rest have no more warnings left.
Test: build_test in treehugger
Change-Id: I1534a0db006d72c7921a20ab793586ef1c7bdb21
Merged-In: I1534a0db006d72c7921a20ab793586ef1c7bdb21
This change is required to prevent the build system
from picking up DTB files from subdirectories to
BOARD_PREBUILT_DTBIMAGE_DIR.
Test: make bootimage
Bug: 123648105
Change-Id: Ibc2a133f3c9be6362579dc9bf9ca399912b9d8a2
Only put uncompressed native libs in an APK if the min_sdk_version
supports it (>= 23, Marshmallow), and set
android:extractNativeLibs="false" in the AndroidManifest.xml so
that the platform won't extract them anyways.
Bug: 117618214
Test: m checkbuild
Change-Id: Iae26e4676c29c68fa3f76187512c82786bfa0522
So that it's easier to understand which makefile is actually being used,
and which ones are being ignored.
Test: manually check the warnings on a device that sets BUILD_BROKEN_DUP_COPY_HEADERS
Change-Id: If9e29458eaa655b28e6b770d194d1da867cb8d16
Anything that might be used by dexpreopt.sh needs to be listed
in DEXPREOPT_GEN_DEPS to make sure it is up to date if
dexpreopt.sh has never run before and generated its .d file.
Bug: 124062553
Test: lunch aosp_blueline-userdebug
m out/target/product/blueline/obj/APPS/Gallery2_intermediates/dexpreopt.zip
lunch aosp_sailfish-userdebug
m out/target/product/sailfish/obj/APPS/Gallery2_intermediates/dexpreopt.zip
Change-Id: I2608f68d1a2157f9c95bd136eb82010aceed1c59
dexpreopt doesn't need to know about UseEmbeddedDex, it has
already been taken into account for UncompressedDex.
Test: m checkbuild
Change-Id: I546bdaf604552792a2ac9b3557811da7418b37d1
Share the logic that converts LOCAL_SDK_VERSION, LOCAL_MIN_SDK_VERSION
and the global config values into minSdkVersion, targetSdkVersion,
and compileSdkVersion.
Test: m checkbuild
Change-Id: Id038673662b23cffc9e57978ac55a3f35ef8237a
This changes the default location of RRO packages that don't
specify where they should be installed to /product instead of
/vendor.
Also change the auto-generated "enforced RRO" packages to install
on /product, and be explicit about that in the mk to make it
independent of the RRO default.
The reasoning for this change is that most overlays tend to be
for product level customizations, like themes and so on. RROs
for hardware related things can still be explicitly installed
on /vendor.
Bug: 123566903
Test: preubmit
Test: various internal tests
Change-Id: Ie7d5f19dc7ab421a7bcf584153f991e18e961cda
Don't enable CFI diagnostics by default when applying it in include
paths. Part of a broader effort to remove diagnostics mode from CFI
across the board.
This should reduce performance overhead and also allows the minimal
runtime to work when other ubsan sanitizers are enabled. CFI stack
dumps should include a CFI related function, so it should be apparent
when a crash is CFI-related.
Bug: 117417735
Test: make -j
Change-Id: I3d6326e06d7aa7d9c00382f336301ecb822ae7ec