Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1f925ed1 authored by Martin Stjernholm's avatar Martin Stjernholm
Browse files

Configure boot image profiles for platform and unbundled ART module

builds.

- Use art/build/boot/boot-image-profile.txt for the primary boot image
  in the ART module, both when it's built from source in platform and
  as an unbundled module.

- Use frameworks/base/boot/boot-image-profile.txt for the framework
  extension image in platform, but not in unbundled builds.

This should obsolete the combined profile
frameworks/base/config/boot-image-profile.txt.

Test: build/soong/soong_ui.bash --dumpvar-mode \
        PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION
  and check that it prints both art/build/boot/boot-image-profile.txt
  and frameworks/base/boot/boot-image-profile.txt in a platform build
  on master.
Test: build/soong/soong_ui.bash --dumpvar-mode \
        PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION
  and check that it prints only art/build/boot/boot-image-profile.txt
  in an unbundled build on master-art.
Test: banchan com.android.art && m
  on master-art and check that
  out/soong/.intermediates/art/build/apex/com.android.art/android_common_com.android.art_image/image.apex/javalib/x86_64/boot.oat
  shrinks from 14 MB to 4.7.
Test: m droid
  on master and check that
  out/soong/.intermediates/art/build/apex/com.android.art/android_common_com.android.art_image/image.apex/javalib/x86_64/boot.oat
  and out/target/product/vsoc_x86_64/system/framework/x86_64/boot-framework.oat
  don't change size significantly.
Test: lunch armv8-eng && art/tools/buildbot-build.sh
  on master-art
Bug: 174746397
Change-Id: I77d7f73b1af414493ca00d2abf3a1e8b32c51d86
parent 984ad442
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -14,6 +14,9 @@
# limitations under the License.
#

# This file contains product config for the ART module that is common for
# platform and unbundled builds.

ifeq ($(ART_APEX_JARS),)
  $(error ART_APEX_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
endif
@@ -69,6 +72,8 @@ PRODUCT_APEX_SYSTEM_SERVER_JARS := \
    com.android.media:service-media-s \
    com.android.permission:service-permission \

PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION += art/build/boot/boot-image-profile.txt

# Minimal configuration for running dex2oat (default argument values).
# PRODUCT_USES_DEFAULT_ART_CONFIG must be true to enable boot image compilation.
PRODUCT_USES_DEFAULT_ART_CONFIG := true
+8 −0
Original line number Diff line number Diff line
@@ -75,6 +75,14 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
    hiddenapi-package-whitelist.xml \

ifeq (,$(TARGET_BUILD_UNBUNDLED))
  # Don't depend on the framework boot image profile in unbundled builds where
  # frameworks/base may not be present.
  # TODO(b/179900989): We may not need this check once we stop using full
  # platform products on the thin ART manifest branch.
  PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION += frameworks/base/boot/boot-image-profile.txt
endif

# The dalvik.vm.dexopt.thermal-cutoff property must contain one of the values
# listed here:
#