diff --git a/core/definitions.mk b/core/definitions.mk index 6e3aa2b85d..6b9abd8d9c 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -1798,7 +1798,6 @@ endef # - below we write the list of java files to java-source-list to avoid argument # list length problems with Cygwin # - we filter out duplicate java file names because Jack doesn't like them. -# TODO (yroussel) PRIVATE_RMTYPEDEFS define jack-java-to-dex $(hide) rm -f $@ $(hide) rm -f $(PRIVATE_CLASSES_JACK) @@ -1833,6 +1832,8 @@ $(call call-jack,$(PRIVATE_JACK_VM_ARGS),$(PRIVATE_JACK_EXTRA_ARGS)) \ $(strip $(PRIVATE_JACK_DEBUG_FLAGS)) \ $(if $(NO_OPTIMIZE_DX), \ -D jack.dex.optimize="false") \ + $(if $(PRIVATE_RMTYPEDEFS), \ + -D jack.android.remove-typedef="true") \ $(addprefix --classpath ,$(strip \ $(call normalize-path-list,$(PRIVATE_BOOTCLASSPATH_JAVA_LIBRARIES) $(PRIVATE_ALL_JACK_LIBRARIES)))) \ $(addprefix --import ,$(call reverse-list,$(PRIVATE_STATIC_JACK_LIBRARIES))) \ diff --git a/core/host_dalvik_java_library.mk b/core/host_dalvik_java_library.mk index ff5ee1ef38..4814d70875 100644 --- a/core/host_dalvik_java_library.mk +++ b/core/host_dalvik_java_library.mk @@ -63,6 +63,7 @@ $(LOCAL_INTERMEDIATE_TARGETS): \ PRIVATE_CLASS_INTERMEDIATES_DIR := $(intermediates.COMMON)/classes $(LOCAL_INTERMEDIATE_TARGETS): \ PRIVATE_SOURCE_INTERMEDIATES_DIR := $(LOCAL_INTERMEDIATE_SOURCE_DIR) +$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_RMTYPEDEFS := $(cleantarget): PRIVATE_CLEAN_FILES += $(intermediates.COMMON) @@ -71,7 +72,6 @@ $(full_classes_compiled_jar): PRIVATE_JAVACFLAGS := $(LOCAL_JAVACFLAGS) $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_FILES := $(full_classes_compiled_jar): PRIVATE_JAR_PACKAGES := $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_PACKAGES := -$(full_classes_compiled_jar): PRIVATE_RMTYPEDEFS := $(full_classes_compiled_jar): \ $(java_sources) \ $(java_resource_sources) \ diff --git a/core/host_java_library.mk b/core/host_java_library.mk index 513d18506f..47189d7d05 100644 --- a/core/host_java_library.mk +++ b/core/host_java_library.mk @@ -43,6 +43,8 @@ LOCAL_INTERMEDIATE_TARGETS += \ include $(BUILD_SYSTEM)/base_rules.mk ####################################### +$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_RMTYPEDEFS := + ifeq (true,$(LOCAL_EMMA_INSTRUMENT)) $(full_classes_emma_jar): PRIVATE_EMMA_COVERAGE_FILE := $(intermediates.COMMON)/coverage.em $(full_classes_emma_jar): PRIVATE_EMMA_INTERMEDIATES_DIR := $(emma_intermediates_dir) @@ -78,7 +80,6 @@ $(full_classes_compiled_jar): PRIVATE_JAVACFLAGS := $(LOCAL_JAVACFLAGS) $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_FILES := $(full_classes_compiled_jar): PRIVATE_JAR_PACKAGES := $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_PACKAGES := -$(full_classes_compiled_jar): PRIVATE_RMTYPEDEFS := $(full_classes_compiled_jar): \ $(java_sources) \ $(java_resource_sources) \ diff --git a/core/java.mk b/core/java.mk index 66993e7791..ae4a602877 100644 --- a/core/java.mk +++ b/core/java.mk @@ -330,6 +330,7 @@ $(LOCAL_INTERMEDIATE_TARGETS): \ PRIVATE_CLASS_INTERMEDIATES_DIR := $(intermediates.COMMON)/classes $(LOCAL_INTERMEDIATE_TARGETS): \ PRIVATE_SOURCE_INTERMEDIATES_DIR := $(LOCAL_INTERMEDIATE_SOURCE_DIR) +$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_RMTYPEDEFS := $(LOCAL_RMTYPEDEFS) # Since we're using intermediates.COMMON, make sure that it gets cleaned # properly. @@ -369,7 +370,6 @@ $(full_classes_compiled_jar): PRIVATE_JAVACFLAGS := $(LOCAL_JAVACFLAGS) $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_FILES := $(LOCAL_JAR_EXCLUDE_FILES) $(full_classes_compiled_jar): PRIVATE_JAR_PACKAGES := $(LOCAL_JAR_PACKAGES) $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_PACKAGES := $(LOCAL_JAR_EXCLUDE_PACKAGES) -$(full_classes_compiled_jar): PRIVATE_RMTYPEDEFS := $(LOCAL_RMTYPEDEFS) $(full_classes_compiled_jar): PRIVATE_DONT_DELETE_JAR_META_INF := $(LOCAL_DONT_DELETE_JAR_META_INF) $(full_classes_compiled_jar): \ $(java_sources) \