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/java_library.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/java_library.mk')
-rw-r--r-- | core/java_library.mk | 39 |
1 files changed, 13 insertions, 26 deletions
diff --git a/core/java_library.mk b/core/java_library.mk index 4c6b652..343b27e 100644 --- a/core/java_library.mk +++ b/core/java_library.mk @@ -34,21 +34,6 @@ ifeq ($(LOCAL_PROGUARD_ENABLED),disabled) LOCAL_PROGUARD_ENABLED := endif -ifneq (true,$(WITH_DEXPREOPT)) -LOCAL_DEX_PREOPT := -else -ifeq (,$(TARGET_BUILD_APPS)) -ifeq (,$(LOCAL_APK_LIBRARIES)) -ifndef LOCAL_DEX_PREOPT -LOCAL_DEX_PREOPT := $(DEX_PREOPT_DEFAULT) -endif -endif -endif -endif -ifeq (false,$(LOCAL_DEX_PREOPT)) -LOCAL_DEX_PREOPT := -endif - ifeq (true,$(EMMA_INSTRUMENT)) ifeq (true,$(LOCAL_EMMA_INSTRUMENT)) ifeq (true,$(EMMA_INSTRUMENT_STATIC)) @@ -93,28 +78,30 @@ ifneq ($(extra_jar_args),) endif ifdef LOCAL_DEX_PREOPT -dexpreopt_boot_jar_module := $(filter $(LOCAL_MODULE),$(DEXPREOPT_BOOT_JARS_MODULES)) -ifneq ($(dexpreopt_boot_jar_module),) +ifneq ($(dexpreopt_boot_jar_module),) # boot jar # boot jar's rules are defined in dex_preopt.mk dexpreopted_boot_jar := $(DEXPREOPT_BOOT_JAR_DIR_FULL_PATH)/$(dexpreopt_boot_jar_module)_nodex.jar $(LOCAL_BUILT_MODULE) : $(dexpreopted_boot_jar) | $(ACP) $(call copy-file-to-target) +# For libart boot jars, we don't have .odex files. +ifeq ($(DALVIK_VM_LIB),libdvm.so) dexpreopted_boot_odex := $(DEXPREOPT_BOOT_JAR_DIR_FULL_PATH)/$(dexpreopt_boot_jar_module).odex -built_odex := $(basename $(LOCAL_BUILT_MODULE)).odex $(built_odex) : $(dexpreopted_boot_odex) | $(ACP) $(call copy-file-to-target) +endif -else # dexpreopt_boot_jar_module -built_odex := $(basename $(LOCAL_BUILT_MODULE)).odex +else # ! boot jar $(built_odex): PRIVATE_MODULE := $(LOCAL_MODULE) +$(built_odex): PRIVATE_DEX_LOCATION := $(patsubst $(PRODUCT_OUT)%,%,$(LOCAL_INSTALLED_MODULE)) +$(built_odex): PRIVATE_DEX_PREOPT_IMAGE := $(LOCAL_DEX_PREOPT_IMAGE) # Make sure the boot jars get dex-preopt-ed first -$(built_odex) : $(DEXPREOPT_BOOT_ODEXS) -$(built_odex) : $(common_javalib.jar) | $(DEXPREOPT) $(DEXOPT) +$(built_odex) : $(DEXPREOPT_ONE_FILE_DEPENDENCY_BUILT_BOOT_PREOPT) +$(built_odex) : $(DEXPREOPT_ONE_FILE_DEPENDENCY_TOOLS) +$(built_odex) : $(LOCAL_DEX_PREOPT_IMAGE) +$(built_odex) : $(common_javalib.jar) @echo "Dexpreopt Jar: $(PRIVATE_MODULE) ($@)" - $(hide) rm -f $@ - @mkdir -p $(dir $@) - $(call dexpreopt-one-file,$<,$@) + $(call dexpreopt-one-file,$(PRIVATE_DEX_PREOPT_IMAGE),$<,$(PRIVATE_DEX_LOCATION),$@) $(LOCAL_BUILT_MODULE) : $(common_javalib.jar) | $(ACP) $(call copy-file-to-target) @@ -122,7 +109,7 @@ ifneq (nostripping,$(LOCAL_DEX_PREOPT)) $(call dexpreopt-remove-classes.dex,$@) endif -endif # dexpreopt_boot_jar_module +endif # ! boot jar else # LOCAL_DEX_PREOPT $(LOCAL_BUILT_MODULE) : $(common_javalib.jar) | $(ACP) |