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