This change modifies aosp_$arch product makefiles so their
system images can be closer to their respective GSIs.
The added contents in this CL are based on treble_common*.mk.
Contents specific to GSI are in aosp_$arch.mk.
Contents common to all devices are moved to full_base.mk.
Contents related to specific device are moved to device.mk.
BoardConfig related makefiles will be changed in another CL.
Bug: 70772101
Test: The following products can boot to home screen:
$ lunch aosp_x86-userdebug; m -j; emulator
$ lunch aosp_x86_64-userdebug; m -j; emulator
$ lunch aosp_arm-userdebug; m -j; emulator
$ lunch aosp_arm64-userdebug; m -j; emulator
Change-Id: I225a13dd74b3e748cc5d1705e1a453348b01d43f
Merged-In: I225a13dd74b3e748cc5d1705e1a453348b01d43f
(cherry picked from commit 164eed2e7d)
Check current vndk list on build time with current.txt.
If the vndk list is changed, the current.txt must be updated
manually. Otherwise the build will report an error.
The list is not allowed to be updated for the release versions.
Bug: 77816590
Bug: 67002788
Test: run 'm check-vndk-list' and check if build is successful.
Test: 1. change vndk property of a module and run 'm check-vndk-list'
and check if build is failed.
2. run 'update-vndk-list.sh'.
3. run 'm check-vndk-list' again and check if build is
successful.
Change-Id: I4caeb9eafa898f175d40f96125b9997edaeadbeb
libclang_rt libs are prebuilt libs that have different names by the
architecture they are built.
Bug: 77931086
Bug: 77816590
Bug: 67002788
Test: 'm check-vndk-list' for various architectures.
Change-Id: Iacb3979b6e5df7e9ba8073470aab23c603b4db55
This is a partial revert of I43b645658f468c23a5b9ebcfcd9d4516537db540
On at least a generic_x86 build internally:
art/build/Android.gtest.mk:121: error: overriding commands for target `Uncompressed', previously defined at art/build/Android.gtest.mk:101
Bug: 77611511
Test: none
Change-Id: I78ca65e6f0c81f09e7da848eda797b3a8f97a521
Many boards have warnings like this, saying that we defined a build
rule, but later something else came in and overrode it with something
else:
art/build/Android.gtest.mk:677: warning: overriding commands for target `test-art-target-gtest-cmdline_parser_test'
art/build/Android.gtest.mk:674: warning: ignoring old commands for target `test-art-target-gtest-cmdline_parser_test'
Beyond the obvious problem of replacing the rule with something else,
target-specific variables can be combined as well, leading to some very
strange problems.
Since so many boards still have problems like this, but we don't
currently have any global problems, add a flag so that we can mark
boards as not broken. This should prevent regressions while we clean up
the individual problems.
Once the non-broken devices number significantly more than the broken
devices, we'll switch this default. And once they're all cleaned up this
variable will become obsolete, and these warnings will always be errors.
Bug: 77611511
Test: lunch aosp_arm-eng; m nothing
Test: lunch aosp_marlin-eng; m nothing
Test: build_test on all downstream branches
Change-Id: I43b645658f468c23a5b9ebcfcd9d4516537db540
Start deprecating add_lunch_combo, preferring a list of common choices
in each AndroidProducts.mk file.
This list will be validated so that we don't have typos:
https://android-review.git.corp.google.com/c/device/generic/car/+/619533
Or targets that no longer exist.
Bug: 77599627
Test: lunch
Test: lunch 34
Test: lunch aosp_x86_64-eng
Test: lunch aosp_<tab>
Change-Id: Ie0ddaa94cbd6cee26584f56f1706a8ec1333f87e
The install filter is speed-profile in order to enable the use of profiles
from the dex metadata files. Note that if a profile is not provided or if
it is empty speed-profile is equivalent to (quicken + empty app image).
Test: build & install an app
Bug: b/30934496
Change-Id: I895b5e2a1d8ff478f56b0f08cb589789d0743b54
This CL adds a list of components to enable CFI for on Arm64 product
configs.
This list is not directly used anywhere, but product configs can
inherit this to easily enable CFI for all tested components.
Bug: 63926619
Test: Inherit the product config; m -j60; verify that CFI is enabled
Change-Id: I56b6dfd5495639974a19623bc7aea9efeb9acff6
This is a list of modules which should be installed by default, but only on
builds which are set up for Address Sanitizer (via SANITIZE_TARGET=address).
Additionally, add sanitizer-status to PRODUCT_PACKAGES_DEBUG so that all
userdebug builds will have the binary. Currently, the module has the
"debug" tag but it may go away in the future.
Change-Id: I0bea4faf9c2a65380292471437e51ef8324b5af3
In P, the root of the system image is used as the root of the
device, so all device (or vendor) spicific files need to be
moved to vendor partition. Relevant configuration files need to
be modified accordingly.
Bug: 76037265
Test: m -j; emulator # booted to home screen and
# checked fstab.ranchu is under vendor/etc
Change-Id: I88bfdbc1d7791f6afb64edf352b4898a50b41190
If libnfc-nci.conf is not installed in vendor/etc, use default
configuration file in system/etc on GSI.
Bug: 72080121
Test: Install GSI and remove vendor/etc/libnfc-nci.conf.
Check if nfc is available in settings menu.
Change-Id: Icc6e0b1d2b29adacf085cfa68566b064e736d3fa
When BOARD_VNDK_VERSION is set, the required VNDK libs for vendor
modules are installed in vndk directory.
The default namespace configuration cannot reach those directories
and fails to link the required libs.
By installing ld.config.txt, the namespace configurations for each
build target will be selected automatically. This does not affect
the devices that requires default namespace configurations.
Bug: 74242105
Test: lunch sdk_gwear_x86-userdebug; make -j; emulator
Change-Id: Ib1097846fcd9c123184b13b6fbcfcb9a72ca3d97
Since API 27, PackageManager would not install random APKs that reside
in /data/app folder. They must be explicitly installed by "adb install"
instead.
BUG: 72750759
Change-Id: Ibc8e4e55e020439f5cf950d61fb7a815aa12fa6f
Signed-off-by: Weilun Du <wdu@google.com>
VTS checks for ro.product.board before running. Emulator does not have
that value and causes an exception.
So let's add it to the emulator and call it goldfish_$(TARGET_ARCH).
BUG: 73741117
Test: vts-tradefed run vts, should run the tests
Change-Id: I6b00f2923bc9609d4d05c45d47ceddd2bd7be091
Some SoC vendors require firmware and persist directores to mount.
This must be provided in GSI for arm_ab not only for arm64_ab.
Once the directories are moved to /vendor, these policies for root
must be removed.
Bug: 36764215
Bug: 73720182
Test: GSI boot with 32bit devices
Change-Id: Ic5c6bb615c39853d51d233c00d2d9e8ee2c57802
See I1cbbd220c61b1b4b767c301f97096607ee902a7b which introduces this file.
Test: see related change I1cbbd220c61b1b4b767c301f97096607ee902a7b
Merged-In: I23dba07a5d83e4325227892e0a11a758e093effa
Change-Id: I0030718b932ea588120492fd8bcab1f389a40324
Bug: 30561479
Test: Build from scratch and verify the library is present.
Change-Id: I53f30d694cff202ffc93491485ed3c845de07862
(cherry picked from commit 8c70d4de97)
The bpfloader is a executable binary used by netd to load and attach
networking related bpf program at run time. It need to be flashed to
device when updating the system image. Currently this binary is only
used by devices with kernel version 4.9 or above.
Test: hikey boot and bpf program show up under sys/fs/bpf
Bug: 30950746
Change-Id: I3d14d270a04ea57319ad4292ff51b1cf933fc975
This makefile specifies a configuration that only starts a 64 bit
zygote (as opposed to both 64/32, as standard 64 bit builds do).
It should be inherited by products that only supports 64 bit apps.
Bug: 72810053
Test: Manual, using product in https://android-review.googlesource.com/608276
Change-Id: Ib88eccf8d4c575bfd93d6edb130348aeca4ae3f8
This adds the Traceur app to all builds on phones and tablets.
Previously, it was included on userdebug builds on specific devices only.
Bug: 64762598
Test: Flashed a user build and a userdebug build and saw Traceur on both
builds.
Change-Id: I9bf7d68c737845a519f57f8f60ee9064bf33a2f5
TARGET_SUPPORTS_32_BIT_APPS and TARGET_SUPPORTS_64_BIT_APPS should
be board config variables. Move them to
target/board/treble_common_64.mk
Bug: 70951849
Test: lunch aosp_arm64_ab-userdebug; make -j
Change-Id: Ia3f6d5db1a7edc956597ab34c2feed088ecc6062
Perfetto is a tracing daemon that allows both to capture
traces from the kernel (via the traced_probes binary)
and allows data to be pushed from userspace (via the
traced binary). Tracing is never enabled by default
and can be kicked off either via statsd or by the shell.
The daemon executables are split only for the sake
of security and isolating SELinux domains. Under the
hoods they are just two shells that run code in the
same shared libarary.
See go/perfetto-sys-health-details for expected
binary / memory / overhead impact.
Bug: 72484603
Test: builds (see go/perfetto-test-spec for test plan)
Change-Id: Ib5fbd7cd2113010398802b622363b75f3eef738d