am f7912e4e: Support to build host dex.
Merge commit 'f7912e4ee0ceb014117c66369485f0aa9ea7cf08' into gingerbread-plus-aosp
* commit 'f7912e4ee0ceb014117c66369485f0aa9ea7cf08':
Support to build host dex.
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index 10887de..947b214 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -97,6 +97,7 @@
LOCAL_EMMA_COVERAGE_FILTER:=
LOCAL_WARNINGS_ENABLE:=
LOCAL_MANIFEST_FILE:=
+LOCAL_BUILD_HOST_DEX:=
# Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to
# iterate over thousands of entries every time.
diff --git a/core/host_java_library.mk b/core/host_java_library.mk
index 1977115..7a5ee37 100644
--- a/core/host_java_library.mk
+++ b/core/host_java_library.mk
@@ -25,6 +25,30 @@
include $(BUILD_SYSTEM)/base_rules.mk
+ifeq ($(LOCAL_BUILD_HOST_DEX),true)
+full_classes_jar := $(intermediates.COMMON)/classes.jar
+built_dex := $(intermediates.COMMON)/classes.dex
+
+$(full_classes_jar): PRIVATE_JAVACFLAGS := $(LOCAL_JAVACFLAGS)
+$(full_classes_jar): $(java_sources) $(java_resource_sources) $(full_java_lib_deps)
+ $(transform-host-java-to-package)
+
+$(built_dex): PRIVATE_INTERMEDIATES_DIR := $(intermediates.COMMON)
+$(built_dex): PRIVATE_DX_FLAGS := $(LOCAL_DX_FLAGS)
+$(built_dex): $(full_classes_jar) $(DX)
+ $(transform-classes.jar-to-dex)
+
+$(LOCAL_BUILT_MODULE): PRIVATE_DEX_FILE := $(built_dex)
+$(LOCAL_BUILT_MODULE): $(built_dex) $(java_resource_sources) | $(AAPT)
+ @echo "Host Jar: $(PRIVATE_MODULE) ($@)"
+ $(create-empty-package)
+ $(add-dex-to-package)
+ifneq ($(extra_jar_args),)
+ $(add-java-resources-to-package)
+endif
+
+else
$(LOCAL_BUILT_MODULE): PRIVATE_JAVACFLAGS := $(LOCAL_JAVACFLAGS)
$(LOCAL_BUILT_MODULE): $(java_sources) $(java_resource_sources) $(full_java_lib_deps)
$(transform-host-java-to-package)
+endif # LOCAL_BUILD_HOST_DEX