Modifications made to make/core to handle new C Flags build variables which
store which module uses which flag.
C Flags build variables generated by Soong.
Bug: 140442588
Test: Executed m dist and presubmit
Change-Id: I4c730b9dba27672c6a9f75cf35beaf6311174af0
System Ext partition is not mounted in recovery mode. Install
system_ext_file_contexts and system_ext_property_contexts into
rootdir for recovery. This is similar to how we deal with system,
product, vendor, odm *_contexts files.
Bug: 137712473
Test: m bootimage for pixel 2, system_ext_file_contexts and
system-ext_property_contexts appear in $OUT/recovery/root/
Change-Id: I94b965d775e727fbbe26c8b715bbce3ca6179fa7
Allows us to use dist-for-goals and produce the fuzz target packages as
part of a normal dist.
Bug: 141026328
Test: m dist fuzz
Change-Id: Idffa879eb11266bfce18e0f9164e7ef80769cbc2
The vendor_boot partition is generated by mkbootimg and contains all the
device-specific information that used to reside in the boot partition.
Bug: 137297791
Change-Id: I5b005097b73f59857c3a2f92d693b3e67ee8424e
... so that it can be used during OTA package generation.
Bug: 141720569
Test: apply virtual A/B OTA
Change-Id: I3a1df1afb7676eed6d22be49270354119bfb5a75
With this commit, the build system always checks ELF files when
`check-elf-files` is one of the make goals regardless
`PRODUCT_CHECK_ELF_FILES` is specified or not.
This commit also adds `BUILD_BROKEN_PREBUILT_ELF_FILES` for targets that
haven't been cleared.
If this commit breaks your target (usually breaks the targets running
`make checkbuild`), you may triage the breakage by adding the following
setting to your `BoardConfig.mk`:
BUILD_BROKEN_PREBUILT_ELF_FILES := true
Bug: 141176116
Test: lunch aosp_crosshatch-userdebug && make check-elf-files
Change-Id: Ibe65c977a4ab3d40ba35892ed177eca62c837c35
vts-core.zip will include all vts-core tests and suite harness
(vts-core-tradefed).
Bug: 141012181
Test: m -j vts-core
Change-Id: Ib13a2bffb4dc9619d2732d65729ecb0246a0b9a0
Adds the backend makefile parser for the LOCAL_FUZZ_DATA vars generated
by the cc_fuzz target.
Bug: 141026328
Test: m example_fuzzer, fuzz target should have adjacent corpus/dict
files.
Change-Id: Ide2c34318f11be132992650ce5cc1fd27895915c
mke2fs.conf is now packaged into the Python executable mkuserimg_mke2fs
and no longer needs to be packaged directly into otatools.zip.
Change-Id: I06216ccd60f834747f9302e30397a7f0bae53726
TARGET_TRANSLATE_2ND_ARCH is never set to true any more,
TARGET_NATIVE_BRIDGE_ARCH := arm is always used instead.
Bug: 141242600
Test: m checkbuild
Change-Id: Id3e0614a1d8a088d37929655b74fecd812606db2
This reverts commit 068d101077.
Reason for revert: Caused a regression
Test: Added data to a sh_test and compared before vs after
Fixes: 140761783
Change-Id: Ied6427cb2dc3093fb88632eb8f337c2b76e86b95
This commit adds `check-elf-files` as a `checkbuild` prerequisite so
that prebuilt ELF files can be checked in a `checkbuild` build bot when
`PRODUCT_CHECK_ELF_FILES` is set to `true`.
Bug: 140908693
Test: lunch aosp_walleye-userdebug && make checkbuild
Change-Id: Ifea2f7057eecbf74028e986367f2322ff851f5e4
We're now adding a core CSI system.img that is common across different
targets. So GSI-specific things should be moved to /system_ext.
Also renaming various generic*/system.prop to generic*/system_ext.prop.
This is to put the customization into /system_ext/build.prop instead of
/system/build.prop.
Bug: 137711197
Test: boot a GSI on crosshatch, and checks the value of those properties
Change-Id: Id344124280d5f4a6c10d390a9e8a4a50cc7f28fb
The P flag is supported as of llvm r354044, add back the flag to reduce
the size of intermediate archieve files. This does not affect the final
binaries.
Test: build
Bug: 71618641
Change-Id: I4021aec783ba341768893392b73b976c1fa5bdf7
Proguard dictionaries are useful for platform builds as well as
unbundled builds, produce them for both.
Bug: 140585949
Test: m out/target/product/$(get_build_var TARGET_DEVICE)/${TARGET_PRODUCT}-proguard-dict-eng.ccross.zip
Change-Id: I63b826be35cfbfc9661b5be7de5bea285bd3d3fc
Add LOCAL_INJECT_BSSL_HASH for the two modules in Make that
statically link libcrypto.
Bug: 137267623
Test: m checkbuild
Change-Id: I5d21c262ff388aeb2dbd02595706c5531a628b7e
The lite proto runtime uses reflection to access fields based on the names in
the schema, keep all the fields.
Bug: 117607748
Bug: 140062984
Test: m checkbuild
Change-Id: I39bc7d28f619dd2ccaee603e4d407aa7ad33f534
Merged-In: I39bc7d28f619dd2ccaee603e4d407aa7ad33f534
Treat LOCAL_PROTOC_OPTIMIZE_TYPE := javanano as a plugin by
explicitly passing the path to protoc-gen-javanano. This allows
removing the javanano customizations from the core plugin code,
which no longer supports javanano natively.
Bug: 117607748
Test: m checkbuild
Change-Id: I913d798136fbee9bfaabe1d815b80c85025cb9b9
Merged-In: I913d798136fbee9bfaabe1d815b80c85025cb9b9
Cts-instant is now run directly from cts so there is no
need for a dedicated (unmaintained) cts-instant target.
Test: None
Bug: 139302375
Change-Id: Ibac30f182028981cc7ad55b3998fbf6a545f62f1
Test: Build the following targets and check the built image archive.
bonito-userdebug (contains flashable images);
cf_x86_phone-userdebug (contains super.img);
aosp_arm64-eng (contains VerifiedBootParams.textproto)
Test: m -j otatools-package; Check that zip2zip is included; Use
bin/img_from_target_files to generate image archive.
Change-Id: I9f28765bd702849f0df309faebd6aa3072920536
* changes:
merge_target_files: Checks VINTF metadata of resulting target files
Check VINTF compatibility at OTA generation time.
releasetools: add tests for check_target_files_vintf
Add a script to check VINTF compat of target files package.
Instead of relying on META/{system,vendor}_{manifest,matrix}.xml
and blindly copy compatibility.zip from target files package to
OTA package, do a static check on the input target files package
before generating the OTA package.
META/{system,vendor}_{manifest,matrix} does not contain ODM manifest
fragments, which is incorrect.
Also, the on-device check of compatibility.zip uses a old libvintf
binary on the device, which may not understand the incoming VINTF
metadata. This change removes the on-device check. Hence, it removes
the requirement of forwards compatibility of libvintf.
This behavior can be skipped with --skip-compatibility-check.
Test: build OTA package
Bug: 139300422
Bug: 131425279
Change-Id: I7fb93be9eb73f578fc05a182c6c9d1f073db2800
Instead of checking META/{system,vendor}_{manifest,matrix}.xml (which
is error-prone because ODM SKU-specific manifests are not checked),
this script read the target files package, remaps its directory
structure so that checkvintf understands it, and check VINTF
compatibility.
Also, put it in otatools.zip.
Test: run it on an extracted target files package
Bug: 131425279
Change-Id: I06036f9a8d7242d4bc11524028be40e780c508e8
Support for rust modules built in Soong.
Bug: 136189233
Test: Test module builds.
Test: crosvm builds.
Change-Id: Idf2e4a4f760cbcee1d35fe6567ef8e12d4855094
This saves another 5-15% of makefile eval time (depending on
target/branch).
I'm not sure if deps-license is still used at all, but we'll only save
the information for it if it's actually going to run now.
Since the default module tag is "optional", we really don't need to save
a list of most modules in another variable. I don't see anything that
really needs to see the list of optional modules.
Test: treehugger
Change-Id: Iaf54e9932fbe8e61f10bd0c9336fc4fdefea27ab
It turns out that this single line was responsible for 28-44% of the
time we spent parsing makefiles. So instead of filtering across
$(ALL_MODULES), check to see if a variable that we always would set is
set.
Test: treehugger
Test: check kati-build eval time before/after
Change-Id: I946c2efd060181a4ae9edd3409c53d9b49a58285
This was showing up in the top-ten longest makefiles during the product
config and cleanspec kati runs sometimes, even though it's really never
used. So instead of running the sometimes-expensive find command, skip it
unless an AUX OS was specified.
At some point we should remove this entirely, but that's a larger change
that doesn't need to happen yet.
Test: build-aosp_arm.ninja is the same before/after
Change-Id: I0ea10193d2f07e1717224e9020a7defaf6191c05
Bug: none
Test: m -j FrameworksCorePackageManagerTests
confirm FrameworksCorePackageManagerTests.config doesn't have the
placeholder.
Change-Id: Ie16720fcf74490fddd1e282f8526e7161d6d10ce
After the split up of prebuilt_internal.mk, the logic for running
host-init-verifier on init.rc files was misplaced. This change moves
it back to the right location.
Test: see that a mistake in rootdir/init.rc causes the build to fail
Change-Id: I60e503cc48639f4f11c47e6636f140672fde61b4
Include the misc_info.txt in "dist_files" so we can recreate a new
mixed super image (system and vendor images from different builds)
later in the test pipeline.
The misc_info.txt for products with BOARD_SUPER_IMAGE_IN_UPDATE_PACKAGE
set to true is removed from their update packages (essentially, reverts
aosp/976069) since the super_misc_info.txt created here can be used.
Bug: 139404128
Test: $ lunch aosp_x86-userdebug
$ m dist
$ diff $OUT_DIR/dist/super_misc_info.txt $OUT/misc_info.txt
Change-Id: Iad1ff981124a19933b0b575bc99941e0fc3813a7
Without this, we can end up packaging log files from previous CTS runs in
the zip file. If the names of those log files contain whitespace characters,
it can result in a build failure.
Change-Id: Id96d1915a03b6a715acfdc212c9b2d6f28045baa
Because TARGET_OUT_SYSTEM_EXT_EXECUTABLES have been omitted, we cannot
install any executables in system_ext.
So fix it.
Test: set system_ext_specific true in some executable, and then check if
it is installed in /system_ext/bin
Bug: 139719550
Change-Id: I1bc7a2e6a7c25ec4b5b1ea6358ba8d3e1ae6331b
We once attempted to use them (by importing from releasetools scripts)
to parse payload. Due to the dependency on google.protobuf, we have
switched to delta_generator instead (commit 750385e4).
Bug: 65261072
Test: `m -j otatools-package`; and check the related scripts are not
included.
Change-Id: Iaa8bcb0e2792e48512e1b8db29869db875ba8dc9
Bug: 137921421
Test: (1) m tests
(2) check vts-core-tests.zip
For migrating most existing VTS test to executable by Base TradeFed, we have to
create vts-core suite and test all of the modules in vts-core first.
And add the packaging rules for vts-core suite.
Bug: 137921421
Change-Id: Ifc92db205c78db98abf704aa6dfa50f1f77e983d
Treat LOCAL_PROTOC_OPTIMIZE_TYPE := javamicro as a plugin by
explicitly passing the path to protoc-gen-javamicro. This allows
removing the javamicro customizations from the core plugin code.
Bug: 117607748
Test: m checkbuild
Change-Id: I199f47a64a454594a2fff4c5580c53fd17e0bdee
In the case of building a multilib library that defines LOCAL_VINTF_FRAGMENTS,
the previous code would create duplicate rules for the fragment. This change
uses the my_vintf_new_installed variable (which may be empty) to avoid the
duplication.
Bug: 139268165
Test: Verify that build warnings are gone, yet VINTF fragment still installed.
Change-Id: I579ec650019a29a6a105118ad5e5ae9376e8d9bc
libc++demangle provides __cxa_demangle, which used to be a part of
libc++.so but is being moved out to save on resources since very few
libraries need it.
Test: make checkbuild
Bug: http://b/138245375
Change-Id: I677006dbbe87ccf2dd4df182114d2a6b985e3c00
In line with the existing PRODUCT_BUILD_*_IMAGE variables, add a flag to
control whether vbmeta is generated.
Bug: 139328573
Test: manual
Change-Id: Id71026f9b0de9019e82e8ef594e718a4b0f3628f