Android.mk revision 13204c36644625f117cc23bb9f2121b76653555f
1# Note that some host libraries have the same module name as the target
2# libraries. This is currently needed to build, for example, adb. But it's
3# probably something that should be changed.
4
5LOCAL_PATH := $(call my-dir)
6
7## libcrypto
8
9# Target static library
10include $(CLEAR_VARS)
11LOCAL_MODULE_TAGS := optional
12LOCAL_MODULE := libcrypto_static
13LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
14LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/crypto-sources.mk
15LOCAL_SDK_VERSION := 9
16LOCAL_CFLAGS = -Wno-unused-parameter
17# sha256-armv4.S does not compile with clang.
18LOCAL_CLANG_ASFLAGS_arm += -no-integrated-as
19ifeq ($(TARGET_ARCH),arm64)
20LOCAL_CLANG_ASFLAGS += -march=armv8-a+crypto
21endif
22# TODO(danalbert): Fix this, just disabling while we investigate the build
23# break from armv8-a+crypto.
24LOCAL_CLANG := false
25include $(LOCAL_PATH)/crypto-sources.mk
26include $(BUILD_STATIC_LIBRARY)
27
28# Target shared library
29include $(CLEAR_VARS)
30LOCAL_MODULE_TAGS := optional
31LOCAL_MODULE := libcrypto
32LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
33LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/crypto-sources.mk
34LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
35LOCAL_SDK_VERSION := 9
36# sha256-armv4.S does not compile with clang.
37LOCAL_CLANG_ASFLAGS_arm += -no-integrated-as
38ifeq ($(TARGET_ARCH),arm64)
39LOCAL_CLANG_ASFLAGS += -march=armv8-a+crypto
40endif
41# TODO(danalbert): Fix this, just disabling while we investigate the build
42# break from armv8-a+crypto.
43LOCAL_CLANG := false
44include $(LOCAL_PATH)/crypto-sources.mk
45include $(BUILD_SHARED_LIBRARY)
46
47# Target static tool
48include $(CLEAR_VARS)
49LOCAL_CFLAGS += -Wall -Werror -std=c++0x
50LOCAL_CPP_EXTENSION := cc
51LOCAL_MODULE := bssl
52LOCAL_MODULE_TAGS := optional
53LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/sources.mk
54LOCAL_CFLAGS = -Wno-unused-parameter
55LOCAL_SHARED_LIBRARIES=libcrypto libssl
56include $(LOCAL_PATH)/sources.mk
57LOCAL_SRC_FILES = $(tool_sources)
58include $(BUILD_EXECUTABLE)
59
60# Host static library
61include $(CLEAR_VARS)
62LOCAL_MODULE_TAGS := optional
63LOCAL_MODULE := libcrypto_static
64LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
65LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/crypto-sources.mk
66LOCAL_CFLAGS = -Wno-unused-parameter
67# Windows and Macs both have problems with assembly files
68ifneq ($(HOST_OS),linux)
69LOCAL_CFLAGS += -DOPENSSL_NO_ASM
70endif
71include $(LOCAL_PATH)/crypto-sources.mk
72include $(BUILD_HOST_STATIC_LIBRARY)
73
74# Host shared library
75include $(CLEAR_VARS)
76LOCAL_MODULE_TAGS := optional
77LOCAL_MODULE := libcrypto-host
78LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
79LOCAL_MULTILIB := both
80LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/crypto-sources.mk
81LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
82# Windows and Macs both have problems with assembly files
83ifneq ($(HOST_OS),linux)
84LOCAL_CFLAGS += -DOPENSSL_NO_ASM
85endif
86include $(LOCAL_PATH)/crypto-sources.mk
87include $(BUILD_HOST_SHARED_LIBRARY)
88
89
90## libssl
91
92# Target static library
93include $(CLEAR_VARS)
94LOCAL_MODULE_TAGS := optional
95LOCAL_MODULE := libssl_static
96LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
97LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/ssl-sources.mk
98LOCAL_SDK_VERSION := 9
99LOCAL_CFLAGS = -Wno-unused-parameter
100include $(LOCAL_PATH)/ssl-sources.mk
101include $(BUILD_STATIC_LIBRARY)
102
103# Target shared library
104include $(CLEAR_VARS)
105LOCAL_MODULE_TAGS := optional
106LOCAL_MODULE := libssl
107LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
108LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/ssl-sources.mk
109LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
110LOCAL_SHARED_LIBRARIES=libcrypto
111LOCAL_SDK_VERSION := 9
112include $(LOCAL_PATH)/ssl-sources.mk
113include $(BUILD_SHARED_LIBRARY)
114
115# Host static library
116include $(CLEAR_VARS)
117LOCAL_MODULE_TAGS := optional
118LOCAL_MODULE := libssl_static-host
119LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
120LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/ssl-sources.mk
121LOCAL_CFLAGS = -Wno-unused-parameter
122include $(LOCAL_PATH)/ssl-sources.mk
123include $(BUILD_HOST_STATIC_LIBRARY)
124
125# Host static tool (for linux only).
126ifeq ($(HOST_OS), linux)
127include $(CLEAR_VARS)
128LOCAL_CFLAGS += -Wall -Werror -std=c++0x
129LOCAL_CPP_EXTENSION := cc
130LOCAL_MODULE := bssl
131LOCAL_MODULE_TAGS := optional
132LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/sources.mk
133LOCAL_CFLAGS = -Wno-unused-parameter
134LOCAL_SHARED_LIBRARIES=libcrypto-host libssl-host
135# Needed for clock_gettime.
136LOCAL_LDFLAGS := -lrt
137include $(LOCAL_PATH)/sources.mk
138LOCAL_SRC_FILES = $(tool_sources)
139include $(BUILD_HOST_EXECUTABLE)
140endif  # HOST_OS == linux
141
142# Host shared library
143include $(CLEAR_VARS)
144LOCAL_MODULE_TAGS := optional
145LOCAL_MODULE := libssl-host
146LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
147LOCAL_MULTILIB := both
148LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/ssl-sources.mk
149LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
150LOCAL_SHARED_LIBRARIES += libcrypto-host
151include $(LOCAL_PATH)/ssl-sources.mk
152include $(BUILD_HOST_SHARED_LIBRARY)
153