ANGLE binaries should be added to the PRODUCT_PACKAGES instead. This
patch also splits the angle.mk to angle_supported.mk and
angle_default.mk so that when a device just wants to ship ANGLE binaries
to coexist with native GLES drivers, it only needs to inherit the
angle_supported.mk and when a device wants to ship ANGLE as the default
system GLES drivers, it only needs to inherit the angle_default.mk. When
ANGLE is the default system GLES driver, make sure persist.graphics.egl
is defined so that ANGLE is loaded properly.
Bug: 270994705
Test: atest CtsAngleIntegrationHostTestCases
Change-Id: I3de4a40b62b39c91c8f6df56d68755830b303f10
Officially, aconfig is build using the Android tool-chain. However, to
speed up the local development cycle, add support for building with
cargo.
While it is possible to tell cargo to place the build artifacts outside
the source tree, there is no way to tell it to not generate the cargo
lock file in the same directory as Cargo.toml. Add a .gitignore to
ignore Cargo.lock and the target directory.
The way the Android build system and cargo generates code from the
protobuf files is slightly different. Tell cargo to enable the "cargo"
feature and introduce src/protos.rs to hide this difference from the
rest of the aconfig source.
Bug: 279485059
Test: m aconfig && aconfig
Test: atest aconfig.test
Test: cargo build
Test: cargo test
Change-Id: I85741f58cadae353ed95c124f566e4f4a7484186
ota_from_target_files no longer requires a zipped target file, so switch
dependency to the target_files dir. This allows build system to
parallize generation of OTA package and target file packing
Test: th
Bug: 227848550
Bug: 277028723
Change-Id: I03fb9191de3b3316ed288eaac8ae84370c2fb598
This allows the build system to potentially paralleize generation of OTA
package and zipping of target files
Bug: 262185376
Bug: 227848550
Change-Id: I90b6c25761683ebe3803b22fc8e23540a5282c66
In make, soong_config_set uses an $(eval) to set it's value, expanding
the value of the soong config variable _before_ evaluating the value.
Because of this, make will strip trailing whitespace like it does on
regular assignments.
Make rbcrun match this behavior.
Test: ./out/rbcrun ./build/make/tests/run.rbc
Change-Id: I907e85cdf50f6fac54331c0d1044f0d53bec22ed
Introduce a new tool, aconfig, to manage build time configurations, such
as feature flags.
This CL adds a project skeleton. Later CLs will add the actual
implementation.
Note: there is no need for an explicit TEST_MAPPING file;
rust_test_host are automatically included in host-unit-tests and
explicitly adding these tests via TEST_MAPPING will cause an error.
Bug: 279485059
Test: m aconfig && aconfig
Test: atest aconfig.test
Change-Id: I94047a19a55ae4d45b4fd7a0c8105a91ddcdfd79
OS and the finalization scripts use sdk_int - 1 in way too many places.
Bug: 275409981
Test: run locally
Change-Id: If4896a3eb0a6afadac5dbfd6ad455427d1c23d41
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