7e57b8ca57
This is mostly the same as the existing 2ND_HOST / HOST_CROSS support.
The interesting thing I did here was make x86 the 'first' architecture,
and x86_64 the second. This way LOCAL_MULTILIB := first defaults to
32-bit windows modules.
windows-x86/bin <- defaults to 32-bit executables
windows-x86/lib <- 32-bit libraries, like before
windows-x86/lib64 <- 64-bit libraries
windows-x86/obj <- 32-bit intermediates
windows-x86/obj64 <- 64-bit intermediates
Then modules are registered with the names:
host_cross_liblog <- 32-bit, like before
host_cross_liblog_64 <- 64-bit
Bug: 26957718
(cherry picked from commit 9ecbf83259
)
Change-Id: Iab2d36e20d7002568c3534e7781e9ac8ab21a4a9
75 lines
1.9 KiB
Makefile
75 lines
1.9 KiB
Makefile
LOCAL_IS_HOST_MODULE := true
|
|
my_prefix := HOST_
|
|
LOCAL_HOST_PREFIX :=
|
|
include $(BUILD_SYSTEM)/multilib.mk
|
|
|
|
ifndef LOCAL_MODULE_HOST_ARCH
|
|
ifndef my_module_multilib
|
|
ifeq ($(HOST_PREFER_32_BIT),true)
|
|
my_module_multilib := 32
|
|
else
|
|
# libraries default to building for both architecturess
|
|
my_module_multilib := both
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
LOCAL_2ND_ARCH_VAR_PREFIX :=
|
|
include $(BUILD_SYSTEM)/module_arch_supported.mk
|
|
|
|
ifeq ($(my_module_arch_supported),true)
|
|
include $(BUILD_SYSTEM)/host_static_library_internal.mk
|
|
endif
|
|
|
|
ifdef HOST_2ND_ARCH
|
|
LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX)
|
|
include $(BUILD_SYSTEM)/module_arch_supported.mk
|
|
ifeq ($(my_module_arch_supported),true)
|
|
# Build for HOST_2ND_ARCH
|
|
OVERRIDE_BUILT_MODULE_PATH :=
|
|
LOCAL_BUILT_MODULE :=
|
|
LOCAL_INSTALLED_MODULE :=
|
|
LOCAL_INTERMEDIATE_TARGETS :=
|
|
|
|
include $(BUILD_SYSTEM)/host_static_library_internal.mk
|
|
endif
|
|
LOCAL_2ND_ARCH_VAR_PREFIX :=
|
|
endif # HOST_2ND_ARCH
|
|
|
|
ifdef HOST_CROSS_OS
|
|
my_prefix := HOST_CROSS_
|
|
LOCAL_HOST_PREFIX := $(my_prefix)
|
|
include $(BUILD_SYSTEM)/module_arch_supported.mk
|
|
ifeq ($(my_module_arch_supported),true)
|
|
# Build for Windows
|
|
OVERRIDE_BUILT_MODULE_PATH :=
|
|
LOCAL_BUILT_MODULE :=
|
|
LOCAL_INSTALLED_MODULE :=
|
|
LOCAL_INTERMEDIATE_TARGETS :=
|
|
|
|
include $(BUILD_SYSTEM)/host_static_library_internal.mk
|
|
endif
|
|
|
|
ifdef HOST_CROSS_2ND_ARCH
|
|
LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
|
|
include $(BUILD_SYSTEM)/module_arch_supported.mk
|
|
ifeq ($(my_module_arch_supported),true)
|
|
# Build for HOST_CROSS_2ND_ARCH
|
|
OVERRIDE_BUILT_MODULE_PATH :=
|
|
LOCAL_BUILT_MODULE :=
|
|
LOCAL_INSTALLED_MODULE :=
|
|
LOCAL_INTERMEDIATE_TARGETS :=
|
|
|
|
include $(BUILD_SYSTEM)/host_static_library_internal.mk
|
|
endif
|
|
LOCAL_2ND_ARCH_VAR_PREFIX :=
|
|
endif
|
|
LOCAL_HOST_PREFIX :=
|
|
endif
|
|
|
|
my_module_arch_supported :=
|
|
|
|
###########################################################
|
|
## Copy headers to the install tree
|
|
###########################################################
|
|
include $(BUILD_COPY_HEADERS)
|