From c7ca6173ce968c821c87df9849ffa1c4e0aabd78 Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Mon, 9 Mar 2015 17:17:51 -0700 Subject: [PATCH] Build only 64-bit odex for system server jars. By default we build both 64-bit and 32-bit odex files for a Java library. With this change: - For system server jars (PRODUCT_SYSTEM_SERVER_JARS), we build only 64-bit odex; - A library can opt to build only 64-bit odex with "LOCAL_MULTILIB := first". Bug: 19650934 Change-Id: Ic0b7fd381396ed276e6129f883881c5c41c6e154 --- core/dex_preopt_odex_install.mk | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/dex_preopt_odex_install.mk b/core/dex_preopt_odex_install.mk index aef5cd185..73c814667 100644 --- a/core/dex_preopt_odex_install.mk +++ b/core/dex_preopt_odex_install.mk @@ -53,7 +53,14 @@ installed_odex := $(DEFAULT_DEX_PREOPT_INSTALLED_IMAGE) installed_odex += $($(TARGET_2ND_ARCH_VAR_PREFIX)DEFAULT_DEX_PREOPT_INSTALLED_IMAGE) else # boot jar ifeq ($(LOCAL_MODULE_CLASS),JAVA_LIBRARIES) -# For a Java library, we build odex for both 1st arch and 2nd arch, if we have one. +# For a Java library, by default we build odex for both 1st arch and 2nd arch. +# But it can be overridden with "LOCAL_MULTILIB := first". +ifneq (,$(filter $(PRODUCT_SYSTEM_SERVER_JARS),$(LOCAL_MODULE))) +# For system server jars, we build for only "first". +my_module_multilib := first +else +my_module_multilib := $(LOCAL_MULTILIB) +endif # ################################################# # Odex for the 1st arch my_2nd_arch_prefix := @@ -61,8 +68,10 @@ include $(BUILD_SYSTEM)/setup_one_odex.mk # ################################################# # Odex for the 2nd arch ifdef TARGET_2ND_ARCH +ifneq (first,$(my_module_multilib)) my_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX) include $(BUILD_SYSTEM)/setup_one_odex.mk +endif # my_module_multilib is not first. endif # TARGET_2ND_ARCH # ################################################# else # must be APPS