e6e48f67d8
LOCAL_MULTILIB replaces LOCAL_32_BIT_ONLY and LOCAL_NO_2ND_ARCH, although both are still supported. Set LOCAL_MULTILIB := 32 to always build a module 32-bit. This is the same as specifying LOCAL_32_BIT_ONLY. Set LOCAL_MULTILIB := first to always build a module for the first architecture (64-bit on a 64-bit target, 32-bit on a 32-bit target). This is the same as specifying LOCAL_NO_2ND_ARCH. Set LOCAL_MULTILIB := both to build for both architectures on a mulitlib (64-bit) target. If LOCAL_MULTILIB is not set libraries will default to "both", and executables, packages, and prebuilts will default to building for the first architecture if supported by the module, otherwise the second. Executables that set LOCAL_MULTILIB := both must set either LOCAL_MODULE_STEM_32 and LOCAL_MODULE_STEM_64 or LOCAL_MODULE_PATH_32 and LOCAL_MODULE_PATH_64 to specify how to differentiate the install locations of the two versions. Change-Id: I22ab6aa342b231c307b1d8a86cea4fd91eea39f5
55 lines
1.4 KiB
Makefile
55 lines
1.4 KiB
Makefile
ifneq ($(LOCAL_MODULE_PATH),)
|
|
ifneq ($(TARGET_2ND_ARCH),)
|
|
$(warning $(LOCAL_MODULE): LOCAL_MODULE_PATH for shared libraries is unsupported in multiarch builds, use LOCAL_MODULE_RELATIVE_PATH instead)
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(LOCAL_UNSTRIPPED_PATH),)
|
|
ifneq ($(TARGET_2ND_ARCH),)
|
|
$(warning $(LOCAL_MODULE): LOCAL_UNSTRIPPED_PATH for shared libraries is unsupported in multiarch builds)
|
|
endif
|
|
endif
|
|
|
|
include $(BUILD_SYSTEM)/multilib.mk
|
|
|
|
ifndef my_module_multilib
|
|
# libraries default to building for both architecturess
|
|
my_module_multilib := both
|
|
endif
|
|
|
|
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
|
|
|
|
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 :=
|
|
LOCAL_INSTALLED_MODULE :=
|
|
LOCAL_MODULE_STEM :=
|
|
LOCAL_BUILT_MODULE_STEM :=
|
|
LOCAL_INSTALLED_MODULE_STEM :=
|
|
LOCAL_INTERMEDIATE_TARGETS :=
|
|
|
|
include $(BUILD_SYSTEM)/shared_library_internal.mk
|
|
|
|
endif
|
|
|
|
LOCAL_2ND_ARCH_VAR_PREFIX :=
|
|
|
|
endif # TARGET_2ND_ARCH
|
|
|
|
my_module_arch_supported :=
|
|
|
|
###########################################################
|
|
## Copy headers to the install tree
|
|
###########################################################
|
|
include $(BUILD_COPY_HEADERS)
|