aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2011-10-26 21:04:01 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-10-26 21:04:01 -0700
commitb3e6fa5e6bdaf6e1e827c3e79ffda1ef796b3a1b (patch)
treee6a637bc7cf2d9ccbc0156a0d15ba9cbaef4f29e
parent033fbe28c273fc5a99e0738d84c79ee7040b1fa0 (diff)
parent79e3dec83ee012e94e34ed092cea5b9d60040e9d (diff)
downloadbuild-b3e6fa5e6bdaf6e1e827c3e79ffda1ef796b3a1b.tar.gz
Merge "new LOCAL_DEX_PREOPT option "nostripping"" into ics-mr0
-rw-r--r--core/base_rules.mk2
-rw-r--r--core/clear_vars.mk2
-rw-r--r--core/java_library.mk11
-rw-r--r--core/package.mk13
4 files changed, 21 insertions, 7 deletions
diff --git a/core/base_rules.mk b/core/base_rules.mk
index e18b6ecf93..242b53d556 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -528,7 +528,7 @@ $(LOCAL_INSTALLED_MODULE): $(LOCAL_BUILT_MODULE)
$(copy-file-to-target-with-cp)
endif
-ifeq ($(LOCAL_DEX_PREOPT),true)
+ifdef LOCAL_DEX_PREOPT
installed_odex := $(basename $(LOCAL_INSTALLED_MODULE)).odex
built_odex := $(basename $(LOCAL_BUILT_MODULE)).odex
$(installed_odex) : $(built_odex) | $(ACP)
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index 643a13874c..d9f3372c5d 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -109,7 +109,7 @@ LOCAL_RENDERSCRIPT_INCLUDES_OVERRIDE:=
LOCAL_RENDERSCRIPT_CC:=
LOCAL_RENDERSCRIPT_TARGET_API:=
LOCAL_BUILD_HOST_DEX:=
-LOCAL_DEX_PREOPT:=
+LOCAL_DEX_PREOPT:= # '',true,false,nostripping
LOCAL_PROTOC_OPTIMIZE_TYPE:= # lite(default),micro,full
LOCAL_PROTOC_FLAGS:=
LOCAL_NO_CRT:=
diff --git a/core/java_library.mk b/core/java_library.mk
index 23417d05f1..fa40c0e23e 100644
--- a/core/java_library.mk
+++ b/core/java_library.mk
@@ -29,13 +29,18 @@ intermediates.COMMON := $(call local-intermediates-dir,COMMON)
common_javalib.jar := $(intermediates.COMMON)/$(LOCAL_BUILT_MODULE_STEM)
LOCAL_INTERMEDIATE_TARGETS += $(common_javalib.jar)
-ifeq (true,$(WITH_DEXPREOPT))
+ifneq (true,$(WITH_DEXPREOPT))
+LOCAL_DEX_PREOPT :=
+else
ifeq (,$(TARGET_BUILD_APPS))
ifndef LOCAL_DEX_PREOPT
LOCAL_DEX_PREOPT := true
endif
endif
endif
+ifeq (false,$(LOCAL_DEX_PREOPT))
+LOCAL_DEX_PREOPT :=
+endif
#################################
include $(BUILD_SYSTEM)/java.mk
@@ -64,7 +69,7 @@ ifneq ($(extra_jar_args),)
$(add-java-resources-to-package)
endif
-ifeq ($(LOCAL_DEX_PREOPT),true)
+ifdef LOCAL_DEX_PREOPT
dexpreopt_boot_jar_module := $(filter $(LOCAL_MODULE),$(DEXPREOPT_BOOT_JARS_MODULES))
ifneq ($(dexpreopt_boot_jar_module),)
# boot jar's rules are defined in dex_preopt.mk
@@ -89,7 +94,9 @@ $(built_odex) : $(common_javalib.jar) | $(DEXPREOPT) $(DEXOPT)
$(LOCAL_BUILT_MODULE) : $(common_javalib.jar) | $(ACP) $(AAPT)
$(call copy-file-to-target)
+ifneq (nostripping,$(LOCAL_DEX_PREOPT))
$(call dexpreopt-remove-classes.dex,$@)
+endif
endif # dexpreopt_boot_jar_module
diff --git a/core/package.mk b/core/package.mk
index 07cdbd0b2c..0cca209772 100644
--- a/core/package.mk
+++ b/core/package.mk
@@ -147,7 +147,9 @@ endif # all_resources
endif # !custom
LOCAL_PROGUARD_FLAGS := $(addprefix -include ,$(proguard_options_file)) $(LOCAL_PROGUARD_FLAGS)
-ifeq (true,$(WITH_DEXPREOPT))
+ifneq (true,$(WITH_DEXPREOPT))
+LOCAL_DEX_PREOPT :=
+else
ifeq (,$(TARGET_BUILD_APPS))
ifneq (,$(LOCAL_SRC_FILES))
ifndef LOCAL_DEX_PREOPT
@@ -156,6 +158,9 @@ endif
endif
endif
endif
+ifeq (false,$(LOCAL_DEX_PREOPT))
+LOCAL_DEX_PREOPT :=
+endif
#################################
include $(BUILD_SYSTEM)/java.mk
@@ -332,7 +337,7 @@ PACKAGES.$(LOCAL_PACKAGE_NAME).CERTIFICATE := $(certificate)
# Define the rule to build the actual package.
$(LOCAL_BUILT_MODULE): $(AAPT) | $(ZIPALIGN)
-ifeq ($(LOCAL_DEX_PREOPT),true)
+ifdef LOCAL_DEX_PREOPT
# Make sure the boot jars get dexpreopt-ed first
$(LOCAL_BUILT_MODULE): $(DEXPREOPT_BOOT_ODEXS) | $(DEXPREOPT) $(DEXOPT)
endif
@@ -362,10 +367,12 @@ endif
$(sign-package)
@# Alignment must happen after all other zip operations.
$(align-package)
-ifeq ($(LOCAL_DEX_PREOPT),true)
+ifdef LOCAL_DEX_PREOPT
$(hide) rm -f $(patsubst %.apk,%.odex,$@)
$(call dexpreopt-one-file,$@,$(patsubst %.apk,%.odex,$@))
+ifneq (nostripping,$(LOCAL_DEX_PREOPT))
$(call dexpreopt-remove-classes.dex,$@)
+endif
built_odex := $(basename $(LOCAL_BUILT_MODULE)).odex
$(built_odex): $(LOCAL_BUILT_MODULE)