Android.mk revision 08656b61d075740bfb24ddcce65223146259fc02
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 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 = -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 = -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 = -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 = -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 = -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