8af29d4ec0
The mk file is designed to provide safe default values which can be
overridden by target-specific mk files. Previously it was difficult to
correctly configure the mk files because the final prop value that
is baked in the system/build.prop is highly dependent (and sensitive as
well) to the mk file inheritance order which is very difficult (and
non-intuitive) to follow.
I9c073a21c8257987cf2378012cadaeeeb698a4fb is an attempt to make it much
easier and intuitive. Specifically, the new `a ?= b` syntax makes the
assignment optional, which means it is used only when there is no
non-optional assignment for the same prop regardless of the relative
ordering among them. In addition, the change prohibits having multiple
non-optional prop assignments for the same prop name.
pm.dex.* prop in runtime_libart.mk are now set using the `a ?= b` syntax
to explicitly mark that they provide default values.
Bug: 117892318
Bug: 158735147
Test: m
Exempt-From-Owner-Approval: cherry-pick from master
Merged-In: I044486d313d699607cd54222ae34d9eae24762b9
(cherry picked from commit bca4ea477a
)
Change-Id: I044486d313d699607cd54222ae34d9eae24762b9
99 lines
3.2 KiB
Makefile
99 lines
3.2 KiB
Makefile
#
|
|
# Copyright (C) 2013 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
# Provides a functioning ART environment without Android frameworks
|
|
|
|
# Additional mixins to the boot classpath.
|
|
PRODUCT_PACKAGES += \
|
|
android.test.base \
|
|
|
|
# Why are we pulling in ext, which is frameworks/base, depending on tagsoup and nist-sip?
|
|
PRODUCT_PACKAGES += \
|
|
ext \
|
|
|
|
# Runtime (Bionic) APEX module.
|
|
PRODUCT_PACKAGES += com.android.runtime
|
|
|
|
# ART APEX module.
|
|
# Note that this package includes the minimal boot classpath JARs (listed in
|
|
# ART_APEX_JARS), which should no longer be added directly to PRODUCT_PACKAGES.
|
|
PRODUCT_PACKAGES += com.android.art
|
|
PRODUCT_HOST_PACKAGES += com.android.art
|
|
|
|
# Certificates.
|
|
PRODUCT_PACKAGES += \
|
|
cacerts \
|
|
|
|
PRODUCT_PACKAGES += \
|
|
hiddenapi-package-whitelist.xml \
|
|
|
|
PRODUCT_SYSTEM_PROPERTIES += \
|
|
dalvik.vm.image-dex2oat-Xms=64m \
|
|
dalvik.vm.image-dex2oat-Xmx=64m \
|
|
dalvik.vm.dex2oat-Xms=64m \
|
|
dalvik.vm.dex2oat-Xmx=512m \
|
|
dalvik.vm.usejit=true \
|
|
dalvik.vm.usejitprofiles=true \
|
|
dalvik.vm.dexopt.secondary=true \
|
|
dalvik.vm.appimageformat=lz4
|
|
|
|
PRODUCT_SYSTEM_PROPERTIES += \
|
|
ro.dalvik.vm.native.bridge=0
|
|
|
|
# Different dexopt types for different package update/install times.
|
|
# On eng builds, make "boot" reasons only extract for faster turnaround.
|
|
ifeq (eng,$(TARGET_BUILD_VARIANT))
|
|
PRODUCT_SYSTEM_PROPERTIES += \
|
|
pm.dexopt.first-boot?=extract \
|
|
pm.dexopt.boot?=extract
|
|
else
|
|
PRODUCT_SYSTEM_PROPERTIES += \
|
|
pm.dexopt.first-boot?=quicken \
|
|
pm.dexopt.boot?=verify
|
|
endif
|
|
|
|
# The install filter is speed-profile in order to enable the use of
|
|
# profiles from the dex metadata files. Note that if a profile is not provided
|
|
# or if it is empty speed-profile is equivalent to (quicken + empty app image).
|
|
PRODUCT_SYSTEM_PROPERTIES += \
|
|
pm.dexopt.install?=speed-profile \
|
|
pm.dexopt.bg-dexopt?=speed-profile \
|
|
pm.dexopt.ab-ota?=speed-profile \
|
|
pm.dexopt.inactive?=verify \
|
|
pm.dexopt.shared?=speed
|
|
|
|
# Pass file with the list of updatable boot class path packages to dex2oat.
|
|
PRODUCT_SYSTEM_PROPERTIES += \
|
|
dalvik.vm.dex2oat-updatable-bcp-packages-file=/system/etc/updatable-bcp-packages.txt
|
|
|
|
# Enable resolution of startup const strings.
|
|
PRODUCT_SYSTEM_PROPERTIES += \
|
|
dalvik.vm.dex2oat-resolve-startup-strings=true
|
|
|
|
# Specify default block size of 512K to enable parallel image decompression.
|
|
PRODUCT_SYSTEM_PROPERTIES += \
|
|
dalvik.vm.dex2oat-max-image-block-size=524288
|
|
|
|
# Enable minidebuginfo generation unless overridden.
|
|
PRODUCT_SYSTEM_PROPERTIES += \
|
|
dalvik.vm.minidebuginfo=true \
|
|
dalvik.vm.dex2oat-minidebuginfo=true
|
|
|
|
# Enable iorapd by default
|
|
PRODUCT_SYSTEM_PROPERTIES += \
|
|
ro.iorapd.enable=true
|
|
|
|
PRODUCT_USES_DEFAULT_ART_CONFIG := true
|