Move a few things up from core_minimal.mk to base_system, and make
a few other editing tweaks in base_system, to align it more closely
with the internal version.
Test: make
Change-Id: I3d0fd22ea1cf94b0d28610cc15e23aca3ddd21c4
Merged-In: Iddffd6982df039f5daa8be345de338ba11c63c10
These are all in base_system.mk
Bug: 80410283
Test: make
Change-Id: I8717f2d9de10cde44458029692b308017ee2164b
Merged-In: I8717f2d9de10cde44458029692b308017ee2164b
Building a 32-bit-app-only product on a 64-bit capable device is likely
to be unintentional. Print a warning if this is done implicitly,
e.g. via forgetting to define the TARGET_SUPPORTS_64_BIT_APPS variable.
Also change existing references to only treat 'true' as a positive
value, rather than all non-empty ones.
Bug: 110918674
Test: lunched 64-bit-device product that does and doesn't set this var
Change-Id: I021157c94ec3ac1c690547c8992768e58c89c287
Only enable it for the core build files rolling up to generic.mk
for now, and whitelist a couple of modules that are conditionally
defined.
Bug: 7456955
Bug: 80410283
Test: lunch generic; m
Test: lunch full; m
Change-Id: I5448769433d09eaf970c4231874ced3261a5c66b
Namely MakeTemporary, Verify and FileCheck. They were once used for
file-based OTA that has been deprecated.
Test: Check that there's no active user, including device-specific
releasetools script.
Change-Id: Ic73054d73271ad91e860b34b2ba156361c58bc1a
BuildInfo already has dict-like getters. This CL adds the matching
setter method to keep it backward compatible with device-specific
scripts that expect a dict.
It also adds items() method that allows iterating the items.
Bug: 111087332
Test: python -m unittest test_ota_from_target_files.BuildInfoTest
Test: Generate an incremental OTA that sets info_dict in device-specific
releasetools script.
Change-Id: Idd033f98a9186740f9da1a300d4c2bdddd9c1345
GSI Pi (for newly launched devices) need to enable this to pass
VtsTrebleSysProp.
Bug: 79395858
Test: Built aosp_{arm,arm64,x86,x86_64}. Check system/etc/prop.default
and found "ro.actionable_compatible_property.enabled=true".
aosp_x86(_64) could boot to home screen.
Change-Id: I04a4ff7c5feee7671d727c04c9d9657b63ec0912
Merged-In: I04a4ff7c5feee7671d727c04c9d9657b63ec0912
USE_XML_AUDIO_POLICY_CONF is must for Treble device, so it is
also must on GSI. The settings is missed when creating GSI
aosp_$arch, add it back by this patch.
Bug: 110988359
Bug: 111053290
Test: build aosp_arm64 and build pass
Change-Id: I95f096e58350233fdcc8de115cc1691360070445
I found this in the CL description of
I5fda1a77f58814097b10b5ad2743ee25adfaecc4, and modified it slightly.
Bug: 111154853
Test: No
Change-Id: I984ac1a9521357af6b54340939dcde36988fc634
These were found by comparing PRODUCT_PACKAGES to $(ALL_MODULES). It
will be made an error for the core makefiles to depend on non-existing
modules soon.
Bug: 7456955
Bug: 80410283
Test: make
Test: diff various products before and after
Change-Id: I5d8af175a48172e63926e68f39daad4508f37ccb
Merged-In: I5d8af175a48172e63926e68f39daad4508f37ccb
The majority of the contents in BoardConfig.mk of emulator products
are the same. The common part is factored out as EmuConfig.mk so it's
easier to maintain these closely related products going forward.
Bug: 80117040
Test: Following products have been built and booted to homescreen:
$ lunch aosp_x86-userdebug; m -j; emulator
$ lunch aosp_x86_64-userdebug; m -j; emulator
Change-Id: I5392e0e88865d4908906a67c29939c23af84baf0
Merged-In: I5392e0e88865d4908906a67c29939c23af84baf0
(cherry picked from commit 510b76d8ff)
Extend PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION such that
multiple text-based profiles can be fed to profman to be included
in boot.prof
BUG: 70292748
Test: profman with --dump-only option shows that additional
text-based profiles are also being read if they have
been added to PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION
Change-Id: I8a6437a323e43b61612c67038abdde200607c513
This will cause odex/vdex files for apps installed under
/system/product/{priv-,}app to be installed in system-other image, under
/system/product/{priv-,}app as well.
Test: m on marlin-userdebug target, analyzed
installed-files{,-system-other}.txt
Bug: 110072687
Change-Id: I63406f91acc3de4b4f142767e28d45308706c7da
The soong_java_prebuilt.mk file used to assume that if a Soong module
defines a dex jar, it is the output of the module and the module is
installable. This may now not be true if the module uses 'compile_dex'
to define a secondary build rule for a dex jar. If the module is not
installable (LOCAL_UNINSTALLABLE_MODULE=true), do not attempt to preopt
and copy classes.jar to the modules output destination.
Bug: 79409988
Test: on related CL
Change-Id: Ica958ac793e09a0e52125448b44e7cd36e7f35d5
These install on the vendor partition. Clean up the whitelist.
Bug: 80410283
Test: lunch mainline_arm64; m nothing
Change-Id: I45df64e1fa060ea98534351140678589afe2e340
Merged-In: I45df64e1fa060ea98534351140678589afe2e340
The selinux_policy module has been split in two, so that the system
artifacts can be included separately. Also remove associated whitelist
entries.
Bug: 80410283
Test: for t in eng userdebug user; do lunch mainline_arm64-${t}; m nothing; done
Change-Id: Id704c907b1ed31ae49697d33f075c013bc3dfc8c
Merged-In: Id704c907b1ed31ae49697d33f075c013bc3dfc8c
Recent CL added a flag to an unzip command which does not restore
the timestamps of extracted files. This is necessary because the
extracted files are the output of the rule and thus the timestamp
must be newer than the timestamp of the inputs.
Unfortunately, the sdk_mac build has an old version of UnZip (5.52
vs 6.0) which does not support the flag. Replace it with find|touch.
Test: m
Change-Id: Ib1f218af4547a1d604b46e68b6ef50d45cb91ee9
Non-A/B devices using AOSP OTA flow will mount /cache in the
fstab file. Without setting BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE,
/cache will be a symlink to /data/cache which introduces the
failure of `mount_all /vendor/etc/fstab.{ro.hardware}`. This is
because all devices laucned in P need to switch to "system-as-root".
This CL sets board config to create /cache directory in rootfs
(system-as-root GSI image). Note that A/B devices doesn't mount
or use /cache so leaving an empty /cache in rootfs has no harm.
Bug: 78485405
Test: Boot GSI on walleye
Change-Id: Ic260d2917cc64c9497f5f60ea11303e953e80efd
Merged-In: Ic260d2917cc64c9497f5f60ea11303e953e80efd
- Missed adding core_64_bit include in the aosp version of
I9beaa6f5f9c683733ed76a6d4e5c70b9376a5bb2.
- new recovery targets appeared over night, whitelist them for now
Test: make
Change-Id: I2235dcc7a3e62e1b0091e43829c519b03c2455a4
Merged-In: I2235dcc7a3e62e1b0091e43829c519b03c2455a4
Java modules built with make and Soong currently invoke `hiddenapi`
with their own rules. Refactor the definitions so that Soong uses
make's definition. This will be useful for a subsequent CL which
needs to invoke `hiddenapi` on all boot dex files simultaneously.
Bug: 79409988
Test: m
Change-Id: I85105e650605d37c3ee8200d7f0d40c297756fcb
The `hiddenapi` build tool now expects the first argument to be
a command name. Change its build rule accordingly.
Bug: 79409988
Test: make
Change-Id: I7e34331c487f490d1de6a10c4139768e9774f03e
So that they are available on device by default.
Test: make
(cherry picked from commit 161db06003)
Merged-In: If3c1513d1c086f965a8adc157a96b35c119962c3
Change-Id: Ifd87294d08a8a7bb074b39b5bd620124e29540ed
These are not really realistic at the moment, but it's nice to get some
targets checked in that can be iterated upon.
- mainline_system: base mk for mainline systemimage. It will evolve to
inherit other mks than base, and probably get a bunch of things added.
- mainline_system_arm: variant of mainline_system, specifically for
the 'generic' device.
- mainline_arm: experimental product that also includes the non-system
parts of aosp. Useful to experiment with the mk split.
Bug: 80410283
Test: lunch mainline_arm64 && m nothing && lunch mainline_system_arm64 && m nothing
Change-Id: I9beaa6f5f9c683733ed76a6d4e5c70b9376a5bb2
Merged-In: I9beaa6f5f9c683733ed76a6d4e5c70b9376a5bb2
Put the in base_vendor for now. That file should probably be renamed
to base_nonsystem.mk or something of that sort.
There is a remaining artifacts in recovery, but I think its target
needs to be split up, so move these for now.
Bug: 80410283
Test: make
Change-Id: I98c2b96b413fff4c8b0377e69bc9c2693ccca7cd
Some code needs to behave differently for Android Things
systems. PRODUCT_IOT tracks Android Things products.
This change exposes this variable into the soong system.
Bug: 110494430
Test: aosp_angler builds
Change-Id: Id9c27e4fe70957f217cfbdc019e8a37532bafac2