blob: 29d8276a05d84fc1e8dae752cce912fae542ea8c [file] [log] [blame]
Dan Willemsen1684b322016-07-25 16:03:53 -07001$(call record-module-type,SHARED_LIBRARY)
Dan Willemsen084c6ef2020-01-24 13:21:21 -08002ifdef LOCAL_IS_HOST_MODULE
3 $(call pretty-error,BUILD_SHARED_LIBRARY is incompatible with LOCAL_IS_HOST_MODULE. Use BUILD_HOST_SHARED_LIBRARY instead.)
4endif
Dmitriy Ivanov38bba062014-05-21 16:38:03 -07005my_prefix := TARGET_
6include $(BUILD_SYSTEM)/multilib.mk
7
8ifndef my_module_multilib
9# libraries default to building for both architecturess
10my_module_multilib := both
11endif
12
13ifeq ($(my_module_multilib),both)
Colin Crossd0378b32014-01-24 19:30:27 -080014ifneq ($(LOCAL_MODULE_PATH),)
15ifneq ($(TARGET_2ND_ARCH),)
Dan Willemsen7cc88b72015-09-24 13:05:53 -070016$(error $(LOCAL_MODULE): LOCAL_MODULE_PATH for shared libraries is unsupported in multiarch builds, use LOCAL_MODULE_RELATIVE_PATH instead)
Colin Crossd0378b32014-01-24 19:30:27 -080017endif
18endif
19
20ifneq ($(LOCAL_UNSTRIPPED_PATH),)
21ifneq ($(TARGET_2ND_ARCH),)
Dan Willemsen7cc88b72015-09-24 13:05:53 -070022$(error $(LOCAL_MODULE): LOCAL_UNSTRIPPED_PATH for shared libraries is unsupported in multiarch builds)
Colin Crossd0378b32014-01-24 19:30:27 -080023endif
24endif
Dmitriy Ivanov38bba062014-05-21 16:38:03 -070025endif # my_module_multilib == both
Colin Crossd0378b32014-01-24 19:30:27 -080026
Colin Crosse6e48f62014-03-21 12:29:32 -070027
Ying Wangdd814bf2014-01-17 16:17:28 -080028LOCAL_2ND_ARCH_VAR_PREFIX :=
Colin Cross8e404122014-02-06 14:45:37 -080029include $(BUILD_SYSTEM)/module_arch_supported.mk
30
31ifeq ($(my_module_arch_supported),true)
Ying Wang4d2cc662014-01-16 12:36:34 -080032include $(BUILD_SYSTEM)/shared_library_internal.mk
Ying Wangdd814bf2014-01-17 16:17:28 -080033endif
The Android Open Source Project88b60792009-03-03 19:28:42 -080034
Ying Wang4d2cc662014-01-16 12:36:34 -080035ifdef TARGET_2ND_ARCH
Colin Cross8e404122014-02-06 14:45:37 -080036
37LOCAL_2ND_ARCH_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX)
38include $(BUILD_SYSTEM)/module_arch_supported.mk
39
40ifeq ($(my_module_arch_supported),true)
Ying Wangdd814bf2014-01-17 16:17:28 -080041# Build for TARGET_2ND_ARCH
Ying Wang4d2cc662014-01-16 12:36:34 -080042LOCAL_BUILT_MODULE :=
43LOCAL_INSTALLED_MODULE :=
Ying Wang4d2cc662014-01-16 12:36:34 -080044LOCAL_INTERMEDIATE_TARGETS :=
45
Ying Wang4d2cc662014-01-16 12:36:34 -080046include $(BUILD_SYSTEM)/shared_library_internal.mk
Colin Cross8e404122014-02-06 14:45:37 -080047
48endif
49
Ying Wang4d2cc662014-01-16 12:36:34 -080050LOCAL_2ND_ARCH_VAR_PREFIX :=
51
Ying Wangdd814bf2014-01-17 16:17:28 -080052endif # TARGET_2ND_ARCH
Colin Cross8e404122014-02-06 14:45:37 -080053
54my_module_arch_supported :=
Ying Wangbf4a8d32014-02-20 13:54:43 -080055
56###########################################################
57## Copy headers to the install tree
58###########################################################
Dan Willemsen66d21d42020-01-27 19:26:02 -080059ifdef LOCAL_COPY_HEADERS
Dan Willemsenc4bdff52020-02-19 18:06:54 -080060$(if $(filter true,$(BUILD_BROKEN_USES_BUILD_COPY_HEADERS)),\
61 $(call pretty-warning,LOCAL_COPY_HEADERS is deprecated. See $(CHANGES_URL)#copy_headers),\
62 $(call pretty-error,LOCAL_COPY_HEADERS is obsolete. See $(CHANGES_URL)#copy_headers))
Dan Willemsen66d21d42020-01-27 19:26:02 -080063include $(BUILD_SYSTEM)/copy_headers.mk
64endif