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