Home | History | Annotate | Download | only in core
      1 $(call record-module-type,HOST_EXECUTABLE)
      2 LOCAL_IS_HOST_MODULE := true
      3 my_prefix := HOST_
      4 LOCAL_HOST_PREFIX :=
      5 include $(BUILD_SYSTEM)/multilib.mk
      6 
      7 ifndef LOCAL_MODULE_HOST_ARCH
      8 ifndef my_module_multilib
      9 # By default we only build host module for the first arch.
     10 my_module_multilib := first
     11 endif
     12 endif
     13 
     14 ifeq ($(LOCAL_NO_FPIE),)
     15 LOCAL_LDFLAGS += $(HOST_FPIE_FLAGS)
     16 endif
     17 
     18 ifeq ($(my_module_multilib),both)
     19 ifneq ($(LOCAL_MODULE_CLASS),NATIVE_TESTS)
     20 ifeq ($(LOCAL_MODULE_PATH_32)$(LOCAL_MODULE_STEM_32),)
     21 $(error $(LOCAL_PATH): LOCAL_MODULE_STEM_32 or LOCAL_MODULE_PATH_32 is required for LOCAL_MULTILIB := both for module $(LOCAL_MODULE))
     22 endif
     23 ifeq ($(LOCAL_MODULE_PATH_64)$(LOCAL_MODULE_STEM_64),)
     24 $(error $(LOCAL_PATH): LOCAL_MODULE_STEM_64 or LOCAL_MODULE_PATH_64 is required for LOCAL_MULTILIB := both for module $(LOCAL_MODULE))
     25 endif
     26 endif
     27 else #!LOCAL_MULTILIB == both
     28 LOCAL_NO_2ND_ARCH_MODULE_SUFFIX := true
     29 endif
     30 
     31 LOCAL_2ND_ARCH_VAR_PREFIX :=
     32 include $(BUILD_SYSTEM)/module_arch_supported.mk
     33 
     34 ifeq ($(my_module_arch_supported),true)
     35 include $(BUILD_SYSTEM)/host_executable_internal.mk
     36 endif
     37 
     38 ifdef HOST_2ND_ARCH
     39 LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX)
     40 include $(BUILD_SYSTEM)/module_arch_supported.mk
     41 ifeq ($(my_module_arch_supported),true)
     42 # Build for HOST_2ND_ARCH
     43 OVERRIDE_BUILT_MODULE_PATH :=
     44 LOCAL_BUILT_MODULE :=
     45 LOCAL_INSTALLED_MODULE :=
     46 LOCAL_INTERMEDIATE_TARGETS :=
     47 
     48 include $(BUILD_SYSTEM)/host_executable_internal.mk
     49 endif
     50 LOCAL_2ND_ARCH_VAR_PREFIX :=
     51 endif  # HOST_2ND_ARCH
     52 
     53 ifdef HOST_CROSS_OS
     54 my_prefix := HOST_CROSS_
     55 LOCAL_HOST_PREFIX := $(my_prefix)
     56 include $(BUILD_SYSTEM)/module_arch_supported.mk
     57 ifeq ($(my_module_arch_supported),true)
     58 # Build for Windows
     59 OVERRIDE_BUILT_MODULE_PATH :=
     60 # we don't want others using the cross compiled version
     61 saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE)
     62 saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE)
     63 saved_LOCAL_LDFLAGS := $(LOCAL_LDFLAGS)
     64 LOCAL_BUILT_MODULE :=
     65 LOCAL_INSTALLED_MODULE :=
     66 LOCAL_INTERMEDIATE_TARGETS :=
     67 
     68 ifeq ($(LOCAL_NO_FPIE),)
     69 LOCAL_LDFLAGS += $(HOST_CROSS_FPIE_FLAGS)
     70 endif
     71 
     72 include $(BUILD_SYSTEM)/host_executable_internal.mk
     73 LOCAL_LDFLAGS := $(saved_LOCAL_LDFLAGS)
     74 LOCAL_BUILT_MODULE := $(saved_LOCAL_BUILT_MODULE)
     75 LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE)
     76 endif
     77 
     78 ifdef HOST_CROSS_2ND_ARCH
     79 LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
     80 include $(BUILD_SYSTEM)/module_arch_supported.mk
     81 ifeq ($(my_module_arch_supported),true)
     82 OVERRIDE_BUILT_MODULE_PATH :=
     83 # we don't want others using the cross compiled version
     84 saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE)
     85 saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE)
     86 saved_LOCAL_LDFLAGS := $(LOCAL_LDFLAGS)
     87 LOCAL_BUILT_MODULE :=
     88 LOCAL_INSTALLED_MODULE :=
     89 LOCAL_INTERMEDIATE_TARGETS :=
     90 
     91 ifeq ($(LOCAL_NO_FPIE),)
     92 LOCAL_LDFLAGS += $(HOST_CROSS_FPIE_FLAGS)
     93 endif
     94 
     95 include $(BUILD_SYSTEM)/host_executable_internal.mk
     96 LOCAL_LDFLAGS := $(saved_LOCAL_LDFLAGS)
     97 LOCAL_BUILT_MODULE := $(saved_LOCAL_BUILT_MODULE)
     98 LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE)
     99 endif
    100 LOCAL_2ND_ARCH_VAR_PREFIX :=
    101 endif
    102 LOCAL_HOST_PREFIX :=
    103 endif
    104 
    105 LOCAL_NO_2ND_ARCH_MODULE_SUFFIX :=
    106 my_module_arch_supported :=
    107