diff options
author | Brian Carlstrom <bdc@google.com> | 2013-11-14 23:44:56 -0800 |
---|---|---|
committer | Ying Wang <wangying@google.com> | 2013-12-17 14:44:00 -0800 |
commit | ced4bff58e76a16ebce3a35ed24aadc8490ca39b (patch) | |
tree | 3fd4911a8f7fbd01f2813f4edf28664124c5d939 /core/package.mk | |
parent | 657eadd4b78b91185ca2042ffb7f92be84e6c1c4 (diff) | |
download | build-ced4bff58e76a16ebce3a35ed24aadc8490ca39b.zip build-ced4bff58e76a16ebce3a35ed24aadc8490ca39b.tar.gz build-ced4bff58e76a16ebce3a35ed24aadc8490ca39b.tar.bz2 |
Add DEXPREOPT support for ART
Change-Id: I24d0d7b2a23a769f5d69bd4dc14be22e1475b759
Diffstat (limited to 'core/package.mk')
-rw-r--r-- | core/package.mk | 35 |
1 files changed, 10 insertions, 25 deletions
diff --git a/core/package.mk b/core/package.mk index 551028c..56f2dab 100644 --- a/core/package.mk +++ b/core/package.mk @@ -146,23 +146,6 @@ endif # all_resources endif # !custom LOCAL_PROGUARD_FLAGS := $(addprefix -include ,$(proguard_options_file)) $(LOCAL_PROGUARD_FLAGS) -ifneq (true,$(WITH_DEXPREOPT)) -LOCAL_DEX_PREOPT := -else -ifeq (,$(TARGET_BUILD_APPS)) -ifeq (,$(LOCAL_APK_LIBRARIES)) -ifneq (,$(LOCAL_SRC_FILES)) -ifndef LOCAL_DEX_PREOPT -LOCAL_DEX_PREOPT := $(DEX_PREOPT_DEFAULT) -endif -endif -endif -endif -endif -ifeq (false,$(LOCAL_DEX_PREOPT)) -LOCAL_DEX_PREOPT := -endif - ifeq (true,$(EMMA_INSTRUMENT)) ifndef LOCAL_EMMA_INSTRUMENT # No emma for test apks. @@ -391,8 +374,16 @@ $(LOCAL_BUILT_MODULE): PRIVATE_ADDITIONAL_CERTIFICATES := $(foreach c,\ # Define the rule to build the actual package. $(LOCAL_BUILT_MODULE): $(AAPT) | $(ZIPALIGN) ifdef LOCAL_DEX_PREOPT +$(LOCAL_BUILT_MODULE): PRIVATE_DEX_LOCATION := $(patsubst $(PRODUCT_OUT)%,%,$(LOCAL_INSTALLED_MODULE)) +$(LOCAL_BUILT_MODULE): PRIVATE_BUILT_ODEX := $(built_odex) +$(LOCAL_BUILT_MODULE): PRIVATE_DEX_PREOPT_IMAGE := $(LOCAL_DEX_PREOPT_IMAGE) # Make sure the boot jars get dexpreopt-ed first -$(LOCAL_BUILT_MODULE): $(DEXPREOPT_BOOT_ODEXS) | $(DEXPREOPT) $(DEXOPT) +$(LOCAL_BUILT_MODULE) : $(DEXPREOPT_ONE_FILE_DEPENDENCY_BUILT_BOOT_PREOPT) +$(LOCAL_BUILT_MODULE) : $(DEXPREOPT_ONE_FILE_DEPENDENCY_TOOLS) +$(LOCAL_BUILT_MODULE) : $(LOCAL_DEX_PREOPT_IMAGE) + +# built_odex is byproduct of LOCAL_BUILT_MODULE without its own build recipe. +$(built_odex) : $(LOCAL_BUILT_MODULE) endif $(LOCAL_BUILT_MODULE): PRIVATE_JNI_SHARED_LIBRARIES := $(jni_shared_libraries) $(LOCAL_BUILT_MODULE): PRIVATE_JNI_SHARED_LIBRARIES_ABI := $(jni_shared_libraries_abi) @@ -423,8 +414,7 @@ ifneq ($(extra_jar_args),) endif $(sign-package) ifdef LOCAL_DEX_PREOPT - $(hide) rm -f $(patsubst %.apk,%.odex,$@) - $(call dexpreopt-one-file,$@,$(patsubst %.apk,%.odex,$@)) + $(call dexpreopt-one-file,$(PRIVATE_DEX_PREOPT_IMAGE),$@,$(PRIVATE_DEX_LOCATION),$(PRIVATE_BUILT_ODEX)) ifneq (nostripping,$(LOCAL_DEX_PREOPT)) $(call dexpreopt-remove-classes.dex,$@) endif @@ -432,11 +422,6 @@ endif @# Alignment must happen after all other zip operations. $(align-package) -ifdef LOCAL_DEX_PREOPT -built_odex := $(basename $(LOCAL_BUILT_MODULE)).odex -$(built_odex): $(LOCAL_BUILT_MODULE) -endif - # Save information about this package PACKAGES.$(LOCAL_PACKAGE_NAME).OVERRIDES := $(strip $(LOCAL_OVERRIDES_PACKAGES)) PACKAGES.$(LOCAL_PACKAGE_NAME).RESOURCE_FILES := $(all_resources) |