OSDN Git Service

Build only 64-bit odex for system server jars.
authorYing Wang <wangying@google.com>
Tue, 10 Mar 2015 00:17:51 +0000 (17:17 -0700)
committerYing Wang <wangying@google.com>
Tue, 10 Mar 2015 18:08:05 +0000 (11:08 -0700)
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

index aef5cd1..73c8146 100644 (file)
@@ -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