From c8c09e285d59f73334267deb9502c0927c616837 Mon Sep 17 00:00:00 2001 From: Dan Bornstein Date: Wed, 29 Sep 2010 11:54:15 -0700 Subject: [PATCH] Inform dex-preopt when the target device is a uniprocessor. By default, dex-preopt optimizes for an SMP target. Change-Id: Ib92552e55f5426b9b035ce862233752af090bb43 --- core/dex_preopt.mk | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/core/dex_preopt.mk b/core/dex_preopt.mk index b0364439a0..0e151bda84 100644 --- a/core/dex_preopt.mk +++ b/core/dex_preopt.mk @@ -17,6 +17,14 @@ DEXPREOPT_BOOT_JAR_DIR_FULL_PATH := $(DEXPREOPT_BUILD_DIR)/$(DEXPREOPT_PRODUCT_D DEXPREOPT_BOOT_ODEXS := $(foreach b,$(DEXPREOPT_BOOT_JARS_MODULES),\ $(DEXPREOPT_BOOT_JAR_DIR_FULL_PATH)/$(b).odex) +# If the target is a uniprocessor, then explicitly tell the preoptimizer +# that fact. (By default, it always optimizes for an SMP target.) +ifeq ($(TARGET_CPU_SMP),true) +DEXPREOPT_UNIPROCESSOR := +else +DEXPREOPT_UNIPROCESSOR := --uniprocessor +endif + # $(1): the .jar or .apk to remove classes.dex define dexpreopt-remove-classes.dex $(hide) $(AAPT) remove $(1) classes.dex @@ -27,7 +35,7 @@ endef define dexpreopt-one-file $(hide) $(DEXPREOPT) --dexopt=$(DEXPREOPT_DEXOPT) --build-dir=$(DEXPREOPT_BUILD_DIR) \ --product-dir=$(DEXPREOPT_PRODUCT_DIR) --boot-dir=$(DEXPREOPT_BOOT_JAR_DIR) \ - --boot-jars=$(DEXPREOPT_BOOT_JARS) \ + --boot-jars=$(DEXPREOPT_BOOT_JARS) $(DEXPREOPT_UNIPROCESSOR) \ $(patsubst $(DEXPREOPT_BUILD_DIR)/%,%,$(1)) \ $(patsubst $(DEXPREOPT_BUILD_DIR)/%,%,$(2)) endef