diff options
author | Colin Cross <ccross@android.com> | 2014-02-06 14:45:37 -0800 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2014-02-12 12:17:55 -0800 |
commit | 8e4041271dcee2aff001ac1f98527c5057415183 (patch) | |
tree | 9306b01d3d7e452af1f76d9da67725de9e5cedf8 /core/shared_library.mk | |
parent | bec954d05e0eeec178c796d2332ee9a86becb5dc (diff) | |
download | build-8e4041271dcee2aff001ac1f98527c5057415183.tar.gz build-8e4041271dcee2aff001ac1f98527c5057415183.tar.bz2 build-8e4041271dcee2aff001ac1f98527c5057415183.zip |
add support for module supported or unsupported target architectures
Add four new variables for module makefiles:
LOCAL_MODULE_TARGET_ARCH specifies that a module is only supported for
one or more architectures. Any architecture not in the list will be
not attempt to build the module. The expected use case is prebuilts
that are only suitable for a single architecture, or modules like llvm
that need per-architecture support.
LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH specifies that a module cannot be
built for one or more architectures.
LOCAL_MODULE_TARGET_ARCH_WARN and LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH_WARN
are the same, but warn that the arch is not supported, which is useful
for modules that are critical but not yet working.
The logic for whether or not to build an architecture is fairly
complicated, so this patch consolidates it into module_arch_supported.mk
Change-Id: I120caf4a375f484e1fd6017b60c2f53882ae01e6
Diffstat (limited to 'core/shared_library.mk')
-rw-r--r-- | core/shared_library.mk | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/core/shared_library.mk b/core/shared_library.mk index e86bab393..25f6eb718 100644 --- a/core/shared_library.mk +++ b/core/shared_library.mk @@ -10,14 +10,19 @@ $(warning $(LOCAL_MODULE): LOCAL_UNSTRIPPED_PATH for shared libraries is unsuppo endif endif -ifneq ($(TARGET_IS_64_BIT)|$(LOCAL_32_BIT_ONLY),true|true) -# Build for TARGET_ARCH LOCAL_2ND_ARCH_VAR_PREFIX := +include $(BUILD_SYSTEM)/module_arch_supported.mk + +ifeq ($(my_module_arch_supported),true) include $(BUILD_SYSTEM)/shared_library_internal.mk endif ifdef TARGET_2ND_ARCH -ifneq ($(LOCAL_NO_2ND_ARCH),true) + +LOCAL_2ND_ARCH_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX) +include $(BUILD_SYSTEM)/module_arch_supported.mk + +ifeq ($(my_module_arch_supported),true) # Build for TARGET_2ND_ARCH OVERRIDE_BUILT_MODULE_PATH := LOCAL_BUILT_MODULE := @@ -27,9 +32,12 @@ LOCAL_BUILT_MODULE_STEM := LOCAL_INSTALLED_MODULE_STEM := LOCAL_INTERMEDIATE_TARGETS := -LOCAL_2ND_ARCH_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX) include $(BUILD_SYSTEM)/shared_library_internal.mk + +endif + LOCAL_2ND_ARCH_VAR_PREFIX := -endif # LOCAL_NO_2ND_ARCH endif # TARGET_2ND_ARCH + +my_module_arch_supported := |