From cda3d10e5672d0ce7211103797b7681e0d9f9946 Mon Sep 17 00:00:00 2001 From: Igor Murashkin Date: Thu, 15 Jun 2017 09:46:58 -0700 Subject: [PATCH] core: Move core.oat bootjar definitions into envsetup.mk TARGET_CORE_JARS and HOST_CORE_JARS define the minimal bootclasspath jars necessary to run with dalvikvm/art. Also refactor PRODUCT_BOOT_JARS in core-tiny.mk and core-minimal.mk to reuse TARGET_CORE_JARS. The above variables can be used from scripts with get_build_var from envsetup.sh $> get_build_var TARGET_CORE_JARS (These changes are required to figure out what --bootclasspath_entry to pass to desugar). Bug: 36902714 Test: make -j32 build-art-host build-art-target Test: lunch aosp_angler-userdebug && make -j32 Test: make -j32 PRODUCT-sdk_google_aw_x86-sdk Change-Id: If12569719343bfbba20c1cda9a5302ab541dbfc6 (cherry picked from commit f33a96c07f81fd76a7aeeed5fbc591c779a5aa8e) --- core/envsetup.mk | 7 +++++++ target/product/core_minimal.mk | 11 +++++------ target/product/core_tiny.mk | 11 +++++------ target/product/runtime_libart.mk | 11 +++++------ 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/core/envsetup.mk b/core/envsetup.mk index 43593e63c3..27cfd7f9f7 100644 --- a/core/envsetup.mk +++ b/core/envsetup.mk @@ -190,6 +190,13 @@ _vendor_path_placeholder := ||VENDOR-PATH-PH|| TARGET_COPY_OUT_VENDOR := $(_vendor_path_placeholder) ########################################### +################################################################# +# Set up minimal BOOTCLASSPATH list of jars to build/execute +# java code with dalvikvm/art. +TARGET_CORE_JARS := core-oj core-libart conscrypt okhttp bouncycastle apache-xml +HOST_CORE_JARS := $(addsuffix -hostdex,$(TARGET_CORE_JARS)) +################################################################# + # Read the product specs so we can get TARGET_DEVICE and other # variables that we need in order to locate the output files. include $(BUILD_SYSTEM)/product_config.mk diff --git a/target/product/core_minimal.mk b/target/product/core_minimal.mk index 5a18c7093f..e521cc30be 100644 --- a/target/product/core_minimal.mk +++ b/target/product/core_minimal.mk @@ -98,20 +98,19 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.software.preview_sdk.xml:system/etc/permissions/android.software.preview_sdk.xml endif +ifeq ($(TARGET_CORE_JARS),) +$(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable) +endif + # The order of PRODUCT_BOOT_JARS matters. PRODUCT_BOOT_JARS := \ - core-oj \ - core-libart \ - conscrypt \ - okhttp \ + $(TARGET_CORE_JARS) \ legacy-test \ - bouncycastle \ ext \ framework \ telephony-common \ voip-common \ ims-common \ - apache-xml \ org.apache.http.legacy.boot \ android.hidl.base-V1.0-java \ android.hidl.manager-V1.0-java diff --git a/target/product/core_tiny.mk b/target/product/core_tiny.mk index e9920f2a75..5ced1a6ab1 100644 --- a/target/product/core_tiny.mk +++ b/target/product/core_tiny.mk @@ -85,20 +85,19 @@ PRODUCT_PACKAGES += \ logd \ wifi-service +ifeq ($(TARGET_CORE_JARS),) +$(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable) +endif + # The order matters PRODUCT_BOOT_JARS := \ - core-oj \ - core-libart \ - conscrypt \ - okhttp \ + $(TARGET_CORE_JARS) \ legacy-test \ - bouncycastle \ ext \ framework \ telephony-common \ voip-common \ ims-common \ - apache-xml \ nullwebview \ org.apache.http.legacy.boot \ android.hidl.base-V1.0-java \ diff --git a/target/product/runtime_libart.mk b/target/product/runtime_libart.mk index 0755bf3cfb..c1b5c64122 100644 --- a/target/product/runtime_libart.mk +++ b/target/product/runtime_libart.mk @@ -16,15 +16,14 @@ # Provides a functioning ART environment without Android frameworks +ifeq ($(TARGET_CORE_JARS),) +$(error TARGET_CORE_JARS is empty; cannot update PRODUCT_PACKAGES variable) +endif + # Minimal boot classpath. This should be a subset of PRODUCT_BOOT_JARS, and equivalent to # TARGET_CORE_JARS. PRODUCT_PACKAGES += \ - apache-xml \ - bouncycastle \ - core-oj \ - core-libart \ - conscrypt \ - okhttp \ + $(TARGET_CORE_JARS) # Additional mixins to the boot classpath. PRODUCT_PACKAGES += \