am a9c381ed: Any intermediate targets between Progaurd and the built_dex should be differently named.

Merge commit 'a9c381ed4517993175a5bb6741ecf2aac3e8040c' into gingerbread-plus-aosp

* commit 'a9c381ed4517993175a5bb6741ecf2aac3e8040c':
  Any intermediate targets between Progaurd and the built_dex should be differently named.
This commit is contained in:
Ying Wang 2010-10-02 20:08:55 -07:00 committed by Android Git Automerger
commit b7019e2147
2 changed files with 11 additions and 14 deletions

View File

@ -403,8 +403,8 @@ ifdef LOCAL_INSTRUMENTATION_FOR
APPS,$(LOCAL_INSTRUMENTATION_FOR),,COMMON)
# link against the jar with full original names (before proguard processing).
full_java_libs += $(link_instr_intermediates_dir.COMMON)/classes-full-names.jar
full_java_lib_deps += $(link_instr_intermediates_dir.COMMON)/classes-full-names.jar
full_java_libs += $(link_instr_intermediates_dir.COMMON)/classes.jar
full_java_lib_deps += $(link_instr_intermediates_dir.COMMON)/classes.jar
endif
ifneq ($(strip $(LOCAL_JAR_MANIFEST)),)

View File

@ -73,11 +73,15 @@ endif
# By giving different file name, files can be updated correctly when switching
# between builds with and without Proguard enabled.
# Note that ANY intermediate targets between the proguard and
# the final built_dex should be differently named!
ifdef LOCAL_PROGUARD_ENABLED
proguard_jar_leaf := proguard.classes.jar
built_dex_intermediate_leaf := proguard.$(built_dex_intermediate_leaf)
built_dex_leaf := progaurd.classes.dex
else
proguard_jar_leaf := noproguard.classes.jar
built_dex_intermediate_leaf := noproguard.$(built_dex_intermediate_leaf)
built_dex_leaf := noproguard.classes.dex
endif
@ -88,7 +92,6 @@ emma_intermediates_dir := $(intermediates.COMMON)/emma_out
# emma is hardcoded to use the leaf name of its input for the output file --
# only the output directory can be changed
full_classes_emma_jar := $(emma_intermediates_dir)/lib/$(jarjar_leaf)
full_classes_full_names_jar := $(intermediates.COMMON)/classes-full-names.jar
full_classes_proguard_jar := $(intermediates.COMMON)/$(proguard_jar_leaf)
built_dex_intermediate := $(intermediates.COMMON)/$(built_dex_intermediate_leaf)
full_classes_stubs_jar := $(intermediates.COMMON)/stubs.jar
@ -101,9 +104,8 @@ LOCAL_INTERMEDIATE_TARGETS += \
$(full_classes_compiled_jar) \
$(full_classes_jarjar_jar) \
$(full_classes_emma_jar) \
$(full_classes_full_names_jar) \
$(full_classes_proguard_jar) \
$(full_classes_jar) \
$(full_classes_proguard_jar) \
$(built_dex_intermediate) \
$(built_dex) \
$(full_classes_stubs_jar)
@ -224,12 +226,11 @@ $(full_classes_emma_jar): $(full_classes_jarjar_jar) | $(ACP)
endif
# Keep a copy of the jar just before proguard processing.
$(full_classes_full_names_jar): $(full_classes_emma_jar) | $(ACP)
$(full_classes_jar): $(full_classes_emma_jar) | $(ACP)
@echo Copying: $@
$(hide) $(ACP) $< $@
# Run proguard if necessary, otherwise just copy the file. This is the last
# part of this step, so the output of this command is full_classes_jar.
# Run proguard if necessary, otherwise just copy the file.
proguard_dictionary := $(intermediates.COMMON)/proguard_dictionary
# Proguard doesn't like a class in both library and the jar to be processed.
proguard_full_java_libs := $(filter-out $(full_static_java_libs),$(full_java_libs))
@ -266,15 +267,11 @@ LOCAL_PROGUARD_FLAGS += $(addprefix -include , $(proguard_flag_files))
$(full_classes_proguard_jar): PRIVATE_PROGUARD_ENABLED:=$(LOCAL_PROGUARD_ENABLED)
$(full_classes_proguard_jar): PRIVATE_PROGUARD_FLAGS := $(proguard_flags) $(LOCAL_PROGUARD_FLAGS)
$(full_classes_proguard_jar): PRIVATE_INSTRUMENTATION_FOR:=$(strip $(LOCAL_INSTRUMENTATION_FOR))
$(full_classes_proguard_jar) : $(full_classes_full_names_jar) $(proguard_flag_files) | $(ACP) $(PROGUARD)
$(full_classes_proguard_jar) : $(full_classes_jar) $(proguard_flag_files) | $(ACP) $(PROGUARD)
$(call transform-jar-to-proguard)
ALL_MODULES.$(LOCAL_MODULE).PROGUARD_ENABLED:=$(LOCAL_PROGUARD_ENABLED)
$(full_classes_jar) : $(full_classes_proguard_jar)
@echo Copying: $@
$(hide) $(ACP) $< $@
# If you instrument class files that have local variable debug information in
# them emma does not correctly maintain the local variable table.
# This will cause an error when you try to convert the class files for Android.
@ -289,7 +286,7 @@ $(built_dex_intermediate): PRIVATE_DX_FLAGS := $(LOCAL_DX_FLAGS)
ifneq ($(LOCAL_NO_EMMA_COMPILE),true)
$(built_dex_intermediate): PRIVATE_DX_FLAGS += --no-locals
endif
$(built_dex_intermediate): $(full_classes_jar) $(DX)
$(built_dex_intermediate): $(full_classes_proguard_jar) $(DX)
$(transform-classes.jar-to-dex)
$(built_dex): $(built_dex_intermediate) | $(ACP)
@echo Copying: $@