diff options
| -rw-r--r-- | Android.mk | 34 | ||||
| -rw-r--r-- | build/Android.common.mk | 14 | ||||
| -rw-r--r-- | build/Android.oat.mk | 15 | ||||
| -rw-r--r-- | build/Android.oattest.mk | 30 |
4 files changed, 24 insertions, 69 deletions
diff --git a/Android.mk b/Android.mk index e498db055c..4086c2f1c4 100644 --- a/Android.mk +++ b/Android.mk @@ -65,8 +65,8 @@ endif ART_TARGET_DEPENDENCIES := $(ART_TARGET_EXECUTABLES) $(TARGET_OUT_JAVA_LIBRARIES)/core.jar $(TARGET_OUT_SHARED_LIBRARIES)/libjavacore.so -ART_HOST_TEST_DEPENDENCIES := $(ART_HOST_DEPENDENCIES) $(ART_HOST_TEST_EXECUTABLES) $(ART_TEST_DEX_FILES) $(ART_TEST_OAT_FILES) -ART_TARGET_TEST_DEPENDENCIES := $(ART_TARGET_DEPENDENCIES) $(ART_TARGET_TEST_EXECUTABLES) $(ART_TEST_DEX_FILES) $(ART_TEST_OAT_FILES) +ART_HOST_TEST_DEPENDENCIES := $(ART_HOST_DEPENDENCIES) $(ART_HOST_TEST_EXECUTABLES) $(ART_TEST_DEX_FILES) +ART_TARGET_TEST_DEPENDENCIES := $(ART_TARGET_DEPENDENCIES) $(ART_TARGET_TEST_EXECUTABLES) $(ART_TEST_DEX_FILES) ######################################################################## # host test targets @@ -119,32 +119,30 @@ test-art-target-run-test-002: test-art-target-sync @echo test-art-target-run-test-002 PASSED ######################################################################## -# oat test targets +# oat-target and oat-target-sync targets -# $(1): jar or apk name -define art-cache-oat - $(call art-cache-out,$(1).oat) -endef - -ART_CACHE_OATS := -# $(1): name -define build-art-cache-oat - $(call build-art-oat,$(PRODUCT_OUT)/$(1),/$(1),$(call art-cache-oat,$(1)),$(TARGET_BOOT_IMG_OUT)) - ART_CACHE_OATS += $(call art-cache-oat,$(1)) -endef +OAT_TARGET_TARGETS := +# $(1): input jar or apk target location +define declare-oat-target-target +.PHONY: oat-target-$(1) +oat-target-$(1): $(PRODUCT_OUT)/$(1) $(TARGET_BOOT_IMG_OUT) $(DEX2OAT_DEPENDENCY) + $(DEX2OAT) --runtime-arg -Xms64m --runtime-arg -Xmx64m --boot-image=$(TARGET_BOOT_IMG_OUT) --dex-file=$(PRODUCT_OUT)/$(1) --dex-location=$(1) --oat-file=$(call art-cache-out,$(1).oat) --host-prefix=$(PRODUCT_OUT) -######################################################################## -# oat-target-sync +OAT_TARGET_TARGETS += oat-target-$(1) +endef $(foreach file,\ $(filter-out\ $(TARGET_BOOT_DEX),\ $(wildcard $(TARGET_OUT_APPS)/*.apk) $(wildcard $(TARGET_OUT_JAVA_LIBRARIES)/*.jar)),\ - $(eval $(call build-art-cache-oat,$(subst $(PRODUCT_OUT)/,,$(file))))) + $(eval $(call declare-oat-target-target,$(subst $(PRODUCT_OUT)/,,$(file))))) + +.PHONY: oat-target +oat-target: $(ART_TARGET_DEPENDENCIES) $(TARGET_BOOT_OAT_OUT) $(OAT_TARGET_TARGETS) .PHONY: oat-target-sync -oat-target-sync: $(ART_TARGET_DEPENDENCIES) $(TARGET_BOOT_OAT_OUT) $(ART_CACHE_OATS) +oat-target-sync: oat-target adb remount adb sync diff --git a/build/Android.common.mk b/build/Android.common.mk index aee7bdd5dd..9825a9cce3 100644 --- a/build/Android.common.mk +++ b/build/Android.common.mk @@ -26,20 +26,6 @@ LLVM_ROOT_PATH := external/llvm include $(LLVM_ROOT_PATH)/llvm.mk endif -# art-cache -ART_CACHE_DIR := /data/art-cache -ART_CACHE_OUT := $(TARGET_OUT_DATA)/art-cache - -# $(1): pathname -define art-cache-dir -$(ART_CACHE_DIR)/$(subst /,@,$(1)) -endef - -# $(1): pathname -define art-cache-out -$(ART_CACHE_OUT)/$(subst /,@,$(1)) -endef - # directory used for gtests on device ART_NATIVETEST_DIR := /data/nativetest/art ART_NATIVETEST_OUT := $(TARGET_OUT_DATA_NATIVE_TESTS)/art diff --git a/build/Android.oat.mk b/build/Android.oat.mk index 4f8ff2b1fa..b1acfb3d58 100644 --- a/build/Android.oat.mk +++ b/build/Android.oat.mk @@ -14,7 +14,7 @@ # limitations under the License. # -DEX2OAT := $(HOST_OUT_EXECUTABLES)/dex2oat$(HOST_EXECUTABLE_SUFFIX) +# DEX2OAT defined in build/core/config.mk DEX2OATD := $(HOST_OUT_EXECUTABLES)/dex2oatd$(HOST_EXECUTABLE_SUFFIX) # TODO: for now, override with debug version for better error reporting DEX2OAT := $(DEX2OATD) @@ -73,15 +73,10 @@ $(TARGET_CORE_IMG_OUT): $(TARGET_CORE_OAT_OUT) TARGET_BOOT_JARS := $(subst :, ,$(DEXPREOPT_BOOT_JARS)) TARGET_BOOT_DEX_LOCATIONS := $(foreach jar,$(TARGET_BOOT_JARS),/$(DEXPREOPT_BOOT_JAR_DIR)/$(jar).jar) TARGET_BOOT_DEX_FILES := $(foreach jar,$(TARGET_BOOT_JARS),$(call intermediates-dir-for,JAVA_LIBRARIES,$(jar),,COMMON)/javalib.jar) -ifeq ($(TARGET_PRODUCT),$(filter $(TARGET_PRODUCT),trygon)) - TARGET_BOOT_OAT := $(call art-cache-dir,$(DEXPREOPT_BOOT_JAR_DIR)/boot.oat) - TARGET_BOOT_OAT_OUT := $(call art-cache-out,$(DEXPREOPT_BOOT_JAR_DIR)/boot.oat) - TARGET_BOOT_IMG_OUT := $(call art-cache-out,$(DEXPREOPT_BOOT_JAR_DIR)/boot.art) -else - TARGET_BOOT_OAT := /$(DEXPREOPT_BOOT_JAR_DIR)/boot.oat - TARGET_BOOT_OAT_OUT := $(TARGET_OUT_JAVA_LIBRARIES)/boot.oat - TARGET_BOOT_IMG_OUT := $(TARGET_OUT_JAVA_LIBRARIES)/boot.art -endif + +TARGET_BOOT_IMG_OUT := $(DEFAULT_DEX_PREOPT_IMAGE) +TARGET_BOOT_OAT_OUT := $(patsubst %.art,%.oat,$(TARGET_BOOT_IMG_OUT)) +TARGET_BOOT_OAT := $(subst $(PRODUCT_OUT),,$(TARGET_BOOT_OAT_OUT)) $(TARGET_BOOT_OAT_OUT): $(TARGET_BOOT_DEX_FILES) $(DEX2OAT_DEPENDENCY) @echo "target dex2oat: $@ ($?)" diff --git a/build/Android.oattest.mk b/build/Android.oattest.mk index 7e630c7087..bba51e93af 100644 --- a/build/Android.oattest.mk +++ b/build/Android.oattest.mk @@ -29,6 +29,7 @@ define build-art-test-dex LOCAL_JAVA_LIBRARIES := core LOCAL_NO_STANDARD_LIBRARIES := true LOCAL_MODULE_PATH := $(3) + LOCAL_DEX_PREOPT_IMAGE := $(TARGET_CORE_IMG_OUT) include $(BUILD_JAVA_LIBRARY) ART_TEST_DEX_FILES += $(3)/$$(LOCAL_MODULE).jar endef @@ -37,36 +38,11 @@ $(foreach dir,$(TEST_OAT_DIRECTORIES), $(eval $(call build-art-test-dex,oat-test ######################################################################## -# $(1): input jar or apk filename -# $(2): input jar or apk target location -# $(3): output oat filename -# $(4): boot image -define build-art-oat -$(3): $(1) $(4) $(DEX2OAT_DEPENDENCY) - @echo "target dex2oat: $$@ ($$?)" - @mkdir -p $$(dir $$@) - $(hide) $(DEX2OAT) --runtime-arg -Xms64m --runtime-arg -Xmx64m --boot-image=$(4) --dex-file=$(1) --dex-location=$(2) --oat-file=$$@ --host-prefix=$(PRODUCT_OUT) -endef - -######################################################################## -ART_TEST_OAT_FILES := - -# $(1): directory -define build-art-test-oat - $(call build-art-oat,$(call intermediates-dir-for,JAVA_LIBRARIES,oat-test-dex-$(dir),,COMMON)/javalib.jar,$(ART_TEST_DIR)/oat-test-dex-$(1).jar,$(ART_TEST_OUT)/oat-test-dex-$(1).jar.oat,$(TARGET_CORE_IMG_OUT)) - ART_TEST_OAT_FILES += $(ART_TEST_OUT)/oat-test-dex-$(1).jar.oat -endef -ifneq (user,$(TARGET_BUILD_VARIANT)) - $(foreach dir,$(TEST_OAT_DIRECTORIES), $(eval $(call build-art-test-oat,$(dir)))) -endif - -######################################################################## - ART_TEST_OAT_TARGETS := # $(1): directory # $(2): arguments -define declare-test-test-target +define declare-test-art-target .PHONY: test-art-target-oat-$(1) test-art-target-oat-$(1): $(ART_TEST_OUT)/oat-test-dex-$(1).jar test-art-target-sync adb shell touch $(ART_TEST_DIR)/test-art-target-oat-$(1) @@ -77,6 +53,6 @@ test-art-target-oat-$(1): $(ART_TEST_OUT)/oat-test-dex-$(1).jar test-art-target- ART_TEST_OAT_TARGETS += test-art-target-oat-$(1) endef -$(foreach dir,$(TEST_OAT_DIRECTORIES), $(eval $(call declare-test-test-target,$(dir)))) +$(foreach dir,$(TEST_OAT_DIRECTORIES), $(eval $(call declare-test-art-target,$(dir)))) ######################################################################## |