1*9e94795aSAndroid Build Coastguard Worker# We don't automatically set up rules to build packages for both 2*9e94795aSAndroid Build Coastguard Worker# TARGET_ARCH and TARGET_2ND_ARCH. 3*9e94795aSAndroid Build Coastguard Worker# To build it for TARGET_2ND_ARCH in a 64bit product, use "LOCAL_MULTILIB := 32". 4*9e94795aSAndroid Build Coastguard Worker 5*9e94795aSAndroid Build Coastguard Worker$(call record-module-type,PACKAGE) 6*9e94795aSAndroid Build Coastguard Worker 7*9e94795aSAndroid Build Coastguard Workermy_prefix := TARGET_ 8*9e94795aSAndroid Build Coastguard Workerinclude $(BUILD_SYSTEM)/multilib.mk 9*9e94795aSAndroid Build Coastguard Worker 10*9e94795aSAndroid Build Coastguard Workerifeq ($(TARGET_SUPPORTS_32_BIT_APPS)|$(TARGET_SUPPORTS_64_BIT_APPS),true|true) 11*9e94795aSAndroid Build Coastguard Worker # packages default to building for either architecture, 12*9e94795aSAndroid Build Coastguard Worker # the preferred if its supported, otherwise the non-preferred. 13*9e94795aSAndroid Build Coastguard Workerelse ifeq ($(TARGET_SUPPORTS_64_BIT_APPS),true) 14*9e94795aSAndroid Build Coastguard Worker # only 64-bit apps supported 15*9e94795aSAndroid Build Coastguard Worker ifeq ($(filter $(my_module_multilib),64 both first),$(my_module_multilib)) 16*9e94795aSAndroid Build Coastguard Worker # if my_module_multilib was 64, both, first, or unset, build for 64-bit 17*9e94795aSAndroid Build Coastguard Worker my_module_multilib := 64 18*9e94795aSAndroid Build Coastguard Worker else 19*9e94795aSAndroid Build Coastguard Worker # otherwise don't build this app 20*9e94795aSAndroid Build Coastguard Worker my_module_multilib := none 21*9e94795aSAndroid Build Coastguard Worker endif 22*9e94795aSAndroid Build Coastguard Workerelse 23*9e94795aSAndroid Build Coastguard Worker # only 32-bit apps supported 24*9e94795aSAndroid Build Coastguard Worker ifeq ($(filter $(my_module_multilib),32 both),$(my_module_multilib)) 25*9e94795aSAndroid Build Coastguard Worker # if my_module_multilib was 32, both, or unset, build for 32-bit 26*9e94795aSAndroid Build Coastguard Worker my_module_multilib := 32 27*9e94795aSAndroid Build Coastguard Worker else ifeq ($(my_module_multilib),first) 28*9e94795aSAndroid Build Coastguard Worker ifndef TARGET_IS_64_BIT 29*9e94795aSAndroid Build Coastguard Worker # if my_module_multilib was first and this is a 32-bit build, build for 30*9e94795aSAndroid Build Coastguard Worker # 32-bit 31*9e94795aSAndroid Build Coastguard Worker my_module_multilib := 32 32*9e94795aSAndroid Build Coastguard Worker else 33*9e94795aSAndroid Build Coastguard Worker # if my_module_multilib was first and this is a 64-bit build, don't build 34*9e94795aSAndroid Build Coastguard Worker # this app 35*9e94795aSAndroid Build Coastguard Worker my_module_multilib := none 36*9e94795aSAndroid Build Coastguard Worker endif 37*9e94795aSAndroid Build Coastguard Worker else 38*9e94795aSAndroid Build Coastguard Worker # my_module_mulitlib was 64 or none, don't build this app 39*9e94795aSAndroid Build Coastguard Worker my_module_multilib := none 40*9e94795aSAndroid Build Coastguard Worker endif 41*9e94795aSAndroid Build Coastguard Workerendif 42*9e94795aSAndroid Build Coastguard Worker 43*9e94795aSAndroid Build Coastguard WorkerLOCAL_NO_2ND_ARCH_MODULE_SUFFIX := true 44*9e94795aSAndroid Build Coastguard WorkerLOCAL_2ND_ARCH_VAR_PREFIX := 45*9e94795aSAndroid Build Coastguard Worker 46*9e94795aSAndroid Build Coastguard Worker# check if preferred arch is supported 47*9e94795aSAndroid Build Coastguard Workerinclude $(BUILD_SYSTEM)/module_arch_supported.mk 48*9e94795aSAndroid Build Coastguard Workerifeq ($(my_module_arch_supported),true) 49*9e94795aSAndroid Build Coastguard Worker# first arch is supported 50*9e94795aSAndroid Build Coastguard Workerinclude $(BUILD_SYSTEM)/package_internal.mk 51*9e94795aSAndroid Build Coastguard Workerelse ifneq (,$(TARGET_2ND_ARCH)) 52*9e94795aSAndroid Build Coastguard WorkerLOCAL_2ND_ARCH_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX) 53*9e94795aSAndroid Build Coastguard Worker# check if non-preferred arch is supported 54*9e94795aSAndroid Build Coastguard Workerinclude $(BUILD_SYSTEM)/module_arch_supported.mk 55*9e94795aSAndroid Build Coastguard Workerifeq ($(my_module_arch_supported),true) 56*9e94795aSAndroid Build Coastguard Worker# secondary arch is supported 57*9e94795aSAndroid Build Coastguard Workerinclude $(BUILD_SYSTEM)/package_internal.mk 58*9e94795aSAndroid Build Coastguard Workerendif 59*9e94795aSAndroid Build Coastguard Workerendif # TARGET_2ND_ARCH 60*9e94795aSAndroid Build Coastguard Worker 61*9e94795aSAndroid Build Coastguard WorkerLOCAL_2ND_ARCH_VAR_PREFIX := 62*9e94795aSAndroid Build Coastguard WorkerLOCAL_NO_2ND_ARCH_MODULE_SUFFIX := 63*9e94795aSAndroid Build Coastguard Worker 64*9e94795aSAndroid Build Coastguard Workermy_module_arch_supported := 65