Refactor existing native library checks to share common logics.
Test: Check that `m installclean && m systemimage` succeeds
Test: Check that `m installclean && m libart && m systemimage` fails
Test: Check that `m installclean && m core-oj && m systemimage` fails
Test: Check that `m installclean && m conscrypt && m systemimage` fails
Test: Check that `m installclean && m libart core-oj conscrypt && m systemimage` fails
Test: Check that
`export OVERRIDE_TARGET_FLATTEN_APEX=true \
&& m installclean \
&& m systemimage`
succeeds
Bug: 142944799
Bug: 128708192
Bug: 113374338
Change-Id: I703a837c6bb138af73eeb95fc08e1a87af2d8ad7
These JARs are part of the ART APEX, and are now located in
`/apex/com.android.art/javalib`. Remove the supernumerary copies in
`/system/framework` and save ~11 MiB on the system partition.
This change no longer breaks coverage builds, as module
`jacocoagent` has been removed from `TARGET_CORE_JARS` in CL
https://android-review.googlesource.com/c/platform/build/+/1151464.
This reverts commit 7c39368927.
Test: Device boot test
Test: Check that:
export EMMA_INSTRUMENT=true
&& unset EMMA_INSTRUMENT_STATIC
&& m installclean
&& m systemimage
generates a system image that contains these files:
/system/framework/apex-jacocoagent.vdex
/system/framework/boot-jacocoagent.vdex
/system/framework/jacocoagent.jar
/system/framework/<arch>/apex-jacocoagent.art
/system/framework/<arch>/apex-jacocoagent.oat
/system/framework/<arch>/apex-jacocoagent.vdex
/system/framework/<arch>/boot-jacocoagent.art
/system/framework/<arch>/boot-jacocoagent.oat
/system/framework/<arch>/boot-jacocoagent.vdex
Test: Run test ATP test avd/avd_boot_health_check on build target
cf_x86_phone-userdebug_coverage
Bug: 142944799
Bug: 143304991
Change-Id: Ifdb2331c5dcb992adbfd6c5a3983d8b9b13d16b2
Disallow use of the long-form PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_*
after the short-form has been assigned, to ensure modifications are
made to the right variable.
Macros that need to work with multiple products get a convenience
macro that is redefined at the right moment.
Test: compare_target_files
Test: build_test
Change-Id: Ib0e57b1bc51b1f308296a150b9b7590a0bb5c313
Before this change, `jacocoagent` was conditionally added to
`TARGET_CORE_JARS`. However, this module is not really part of the
Android Core Libraries (also, we plan to remove `TARGET_CORE_JARS`
from `PRODUCT_PACKAGES`). Remove it from `TARGET_CORE_JARS` while
keeping it in `PRODUCT_PACKAGES` and `PRODUCT_BOOT_JARS`, to keep
having it installed and being part of the boot class path on
devices (under the same conditions).
Test: Check that:
export EMMA_INSTRUMENT=true
&& unset EMMA_INSTRUMENT_STATIC
&& m installclean
&& m systemimage
generates a system image that contains these files:
/system/framework/apex-jacocoagent.vdex
/system/framework/boot-jacocoagent.vdex
/system/framework/jacocoagent.jar
/system/framework/<arch>/apex-jacocoagent.art
/system/framework/<arch>/apex-jacocoagent.oat
/system/framework/<arch>/apex-jacocoagent.vdex
/system/framework/<arch>/boot-jacocoagent.art
/system/framework/<arch>/boot-jacocoagent.oat
/system/framework/<arch>/boot-jacocoagent.vdex
Test: Run test ATP test avd/avd_boot_health_check on build target
cf_x86_phone-userdebug_coverage
Bug: 143304991
Bug: 142944799
Change-Id: Ib047a394342aeffbfec26ebc756159f145d6523e
This reverts commit 3ec9ff6b72.
Reason for revert: This change breaks coverage builds (b/143304991)
Change-Id: Ia1a41ea75d1539efeb33b7cdea84516e402b6e00
Test: Device boot test
Test: Check that:
export EMMA_INSTRUMENT=true
&& unset EMMA_INSTRUMENT_STATIC
&& m installclean
&& m systemimage
generates a system image that contains these files:
/system/framework/apex-jacocoagent.vdex
/system/framework/boot-jacocoagent.vdex
/system/framework/jacocoagent.jar
/system/framework/<arch>/apex-jacocoagent.art
/system/framework/<arch>/apex-jacocoagent.oat
/system/framework/<arch>/apex-jacocoagent.vdex
/system/framework/<arch>/boot-jacocoagent.art
/system/framework/<arch>/boot-jacocoagent.oat
/system/framework/<arch>/boot-jacocoagent.vdex
Test: Test: Run test ATP test avd/avd_boot_health_check on build target
cf_x86_phone-userdebug_coverage
Bug: 142944799
Bug: 143304991
Prior to this change, setting that to "false" turned the default Java
language level back to 8. This change removes that option.
Also remove the unused make variable USE_OPENJDK9.
Bug: 115604102
Test: m java droid docs tests cts
Change-Id: I040cf83a2457227ffbcd1c62649e33b98c0c66f7
Create PRIVATE_TOOLS_PREFIX for VNDK build rules. So that the value of
$(my_prefix) is well-preserved.
Bug: 142350531
Bug: 141971626
Test: lunch aosp_cf_x86_go_phone-userdebug ; m nothing
Change-Id: I06f16708c7165cb909f0031182ffb96a462d6000
libdl.a has a no-op dlopen, which breaks static libraries that need a real
dlopen. Instead of automatically linking libdl.a into static executables,
make it optional.
Until recently, the libunwind_llvm.a unwinder, used on arm32, needed the
no-op dladdr, but it's now built using -D_LIBUNWIND_USE_DLADDR=0.
The HWASan run-time uses dlsym and dladdr, so add a libdl dependency for
HWASan-built static binaries. We could also remove the dependency from
libclang_rt.hwasan_static-*.a, but this is also easy to do.
Bug: http://b/141485154
Test: bionic unit tests, device boots, verify that static and dynamic
executables can throw/catch an exception
Test: verify that a static executable using dlopen doesn't link (unless it
adds an explicit dependency on libdl)
Change-Id: Id26741f79dca50256a2dc23453af3026a6c88dca
This will let us quickly check the system image build type,
and modify *.rc behavior based on that.
Bug: 142430632
Bug: 142681453
Test: adb shell getprop ro.sanitize.hwaddress in hwasan build
Change-Id: If2eb99dee93f0652cada5cb2e02fda963d00a7eb
Merged-In: If2eb99dee93f0652cada5cb2e02fda963d00a7eb
(cherry picked from commit eb3ade924b)