Android.mk revision 184bc93440dbfefbd499f7164e8a1b22540f5571
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 += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
17# sha256-armv4.S does not compile with clang.
18LOCAL_CLANG_ASFLAGS_arm += -no-integrated-as
19LOCAL_CLANG_ASFLAGS_arm64 += -march=armv8-a+crypto
20include $(LOCAL_PATH)/crypto-sources.mk
21include $(BUILD_STATIC_LIBRARY)
22
23# Target shared library
24include $(CLEAR_VARS)
25LOCAL_MODULE_TAGS := optional
26LOCAL_MODULE := libcrypto
27LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
28LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/crypto-sources.mk
29LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
30LOCAL_SDK_VERSION := 9
31# sha256-armv4.S does not compile with clang.
32LOCAL_CLANG_ASFLAGS_arm += -no-integrated-as
33LOCAL_CLANG_ASFLAGS_arm64 += -march=armv8-a+crypto
34include $(LOCAL_PATH)/crypto-sources.mk
35include $(BUILD_SHARED_LIBRARY)
36
37# Target static tool
38include $(CLEAR_VARS)
39LOCAL_CFLAGS += -Wall -Werror -std=c++0x
40LOCAL_CPP_EXTENSION := cc
41LOCAL_MODULE := bssl
42LOCAL_MODULE_TAGS := optional
43LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/sources.mk
44LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
45LOCAL_SHARED_LIBRARIES=libcrypto libssl
46include $(LOCAL_PATH)/sources.mk
47LOCAL_SRC_FILES = $(tool_sources)
48include $(BUILD_EXECUTABLE)
49
50# Host static library
51include $(CLEAR_VARS)
52LOCAL_IS_HOST_MODULE := true
53LOCAL_MODULE := libcrypto_static
54LOCAL_MODULE_HOST_OS := darwin linux windows
55LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
56LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/crypto-sources.mk
57LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
58# Windows and Macs both have problems with assembly files
59LOCAL_CFLAGS_darwin += -DOPENSSL_NO_ASM
60LOCAL_CFLAGS_windows += -DOPENSSL_NO_ASM
61include $(LOCAL_PATH)/crypto-sources.mk
62include $(BUILD_HOST_STATIC_LIBRARY)
63
64# Host shared library
65include $(CLEAR_VARS)
66LOCAL_IS_HOST_MODULE := true
67LOCAL_MODULE := libcrypto-host
68LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
69LOCAL_MULTILIB := both
70LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/crypto-sources.mk
71LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
72# Windows and Macs both have problems with assembly files
73LOCAL_CFLAGS_darwin += -DOPENSSL_NO_ASM
74LOCAL_CFLAGS_windows += -DOPENSSL_NO_ASM
75include $(LOCAL_PATH)/crypto-sources.mk
76include $(BUILD_HOST_SHARED_LIBRARY)
77
78
79## libssl
80
81# Target static library
82include $(CLEAR_VARS)
83LOCAL_MODULE_TAGS := optional
84LOCAL_MODULE := libssl_static
85LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
86LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/ssl-sources.mk
87LOCAL_SDK_VERSION := 9
88LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
89include $(LOCAL_PATH)/ssl-sources.mk
90include $(BUILD_STATIC_LIBRARY)
91
92# Target shared library
93include $(CLEAR_VARS)
94LOCAL_MODULE_TAGS := optional
95LOCAL_MODULE := libssl
96LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
97LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/ssl-sources.mk
98LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
99LOCAL_SHARED_LIBRARIES=libcrypto
100LOCAL_SDK_VERSION := 9
101include $(LOCAL_PATH)/ssl-sources.mk
102include $(BUILD_SHARED_LIBRARY)
103
104# Host static library
105include $(CLEAR_VARS)
106LOCAL_MODULE_TAGS := optional
107LOCAL_MODULE := libssl_static-host
108LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
109LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/ssl-sources.mk
110LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
111include $(LOCAL_PATH)/ssl-sources.mk
112include $(BUILD_HOST_STATIC_LIBRARY)
113
114# Host static tool (for linux only).
115ifeq ($(HOST_OS), linux)
116include $(CLEAR_VARS)
117LOCAL_CFLAGS += -Wall -Werror -std=c++0x
118LOCAL_CPP_EXTENSION := cc
119LOCAL_MODULE := bssl
120LOCAL_MODULE_TAGS := optional
121LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/sources.mk
122LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
123LOCAL_SHARED_LIBRARIES=libcrypto-host libssl-host
124# Needed for clock_gettime.
125LOCAL_LDFLAGS := -lrt
126include $(LOCAL_PATH)/sources.mk
127LOCAL_SRC_FILES = $(tool_sources)
128include $(BUILD_HOST_EXECUTABLE)
129endif  # HOST_OS == linux
130
131# Host shared library
132include $(CLEAR_VARS)
133LOCAL_MODULE_TAGS := optional
134LOCAL_MODULE := libssl-host
135LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
136LOCAL_MULTILIB := both
137LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/ssl-sources.mk
138LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION -Wno-unused-parameter
139LOCAL_SHARED_LIBRARIES += libcrypto-host
140include $(LOCAL_PATH)/ssl-sources.mk
141include $(BUILD_HOST_SHARED_LIBRARY)
142