10e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# -*- mode: makefile -*-
20e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# Copyright (C) 2013 The Android Open Source Project
30e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
40e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# Licensed under the Apache License, Version 2.0 (the "License");
50e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# you may not use this file except in compliance with the License.
60e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# You may obtain a copy of the License at
70e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
80e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#      http://www.apache.org/licenses/LICENSE-2.0
90e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
100e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# Unless required by applicable law or agreed to in writing, software
110e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# distributed under the License is distributed on an "AS IS" BASIS,
120e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# See the License for the specific language governing permissions and
140e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# limitations under the License.
150e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
160e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
170e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# Definitions for building the Conscrypt Java library, native code,
180e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# and associated tests.
190e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
200e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
210e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
220e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# Common definitions for host and target.
230e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
240e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
250e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# Conscrypt is divided into modules.
260e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
270e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# The structure is:
280e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
290e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#   src/
300e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#       main/               # To be shipped on every device.
310e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#            java/          # Java source for library code.
320e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#            native/        # C++ source for library code.
330e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#            resources/     # Support files.
340e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#       test/               # Built only on demand, for testing.
350e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#            java/          # Java source for tests.
360e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#            native/        # C++ source for tests (rare).
370e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#            resources/     # Support files.
380e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
390e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# All subdirectories are optional (hence the "2> /dev/null"s below).
400e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
410e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_PATH := $(call my-dir)
420e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
430e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Rootlocal_javac_flags=-encoding UTF-8
440e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#local_javac_flags+=-Xlint:all -Xlint:-serial,-deprecation,-unchecked
450e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Rootlocal_javac_flags+=-Xmaxwarns 9999999
460e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
470e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Rootcore_cflags := -Wall -Wextra -Werror
480e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Rootcore_cppflags := -std=gnu++11
490e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
500e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
510e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# Build for the target (device).
520e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
530e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
541cfba2bc6023e2d86243d48289e2c822d0bab209Kenny Root# Create the conscrypt library
551cfba2bc6023e2d86243d48289e2c822d0bab209Kenny Rootinclude $(CLEAR_VARS)
560e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_SRC_FILES := $(call all-java-files-under,src/main/java)
5739deada91bd9b4ebb0a189b07382e0827e5bad68Kenny RootLOCAL_SRC_FILES += $(call all-java-files-under,src/platform/java)
58ecd29abc835394f39e451f8aac65b08be8688a97Brian CarlstromLOCAL_JAVA_LIBRARIES := core-libart
590e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_NO_STANDARD_LIBRARIES := true
600e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_JAVACFLAGS := $(local_javac_flags)
611cfba2bc6023e2d86243d48289e2c822d0bab209Kenny RootLOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt
620e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_MODULE_TAGS := optional
631cfba2bc6023e2d86243d48289e2c822d0bab209Kenny RootLOCAL_MODULE := conscrypt
641cfba2bc6023e2d86243d48289e2c822d0bab209Kenny RootLOCAL_REQUIRED_MODULES := libjavacrypto
650e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
661cfba2bc6023e2d86243d48289e2c822d0bab209Kenny Rootinclude $(BUILD_JAVA_LIBRARY)
670e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
681cfba2bc6023e2d86243d48289e2c822d0bab209Kenny Root# Create the conscrypt library without jarjar for tests
690e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Rootinclude $(CLEAR_VARS)
701cfba2bc6023e2d86243d48289e2c822d0bab209Kenny RootLOCAL_SRC_FILES := $(call all-java-files-under,src/main/java)
7139deada91bd9b4ebb0a189b07382e0827e5bad68Kenny RootLOCAL_SRC_FILES += $(call all-java-files-under,src/platform/java)
72ecd29abc835394f39e451f8aac65b08be8688a97Brian CarlstromLOCAL_JAVA_LIBRARIES := core-libart
730e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_NO_STANDARD_LIBRARIES := true
741cfba2bc6023e2d86243d48289e2c822d0bab209Kenny RootLOCAL_JAVACFLAGS := $(local_javac_flags)
750e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_MODULE_TAGS := optional
761cfba2bc6023e2d86243d48289e2c822d0bab209Kenny RootLOCAL_MODULE := conscrypt-nojarjar
770e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
781cfba2bc6023e2d86243d48289e2c822d0bab209Kenny Rootinclude $(BUILD_STATIC_JAVA_LIBRARY)
790e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
800e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Rootifeq ($(LIBCORE_SKIP_TESTS),)
810e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# Make the conscrypt-tests library.
820e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Rootinclude $(CLEAR_VARS)
830e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_SRC_FILES := $(call all-java-files-under,src/test/java)
840e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_NO_STANDARD_LIBRARIES := true
85ecd29abc835394f39e451f8aac65b08be8688a97Brian CarlstromLOCAL_JAVA_LIBRARIES := core-libart core-junit bouncycastle
860e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_STATIC_JAVA_LIBRARIES := core-tests-support conscrypt-nojarjar
870e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_JAVACFLAGS := $(local_javac_flags)
880e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_MODULE_TAGS := optional
8992b12a8a5d5b74d31b3dbbd3aaaa6f3984a51f24Kenny RootLOCAL_MODULE := conscrypt-tests
900e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_REQUIRED_MODULES := libjavacrypto
910e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt
920e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
930e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Rootinclude $(BUILD_STATIC_JAVA_LIBRARY)
940e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Rootendif
950e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
960e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# Platform conscrypt crypto JNI library
970e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Rootinclude $(CLEAR_VARS)
980e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_CFLAGS += $(core_cflags)
990e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_CFLAGS += -DJNI_JARJAR_PREFIX="com/android/"
1000e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_CPPFLAGS += $(core_cppflags)
1010e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_SRC_FILES := \
1020e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root        src/main/native/org_conscrypt_NativeCrypto.cpp
1030a84a212424bd713acf9151a61c2e5717f60dd1cKenny RootLOCAL_C_INCLUDES += \
1040a84a212424bd713acf9151a61c2e5717f60dd1cKenny Root        external/openssl/include \
105f24ba0620d88b7d71ddb089b97d29fb1b073718dKenny Root        external/openssl \
1060a84a212424bd713acf9151a61c2e5717f60dd1cKenny Root        libcore/include \
1070e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root        libcore/luni/src/main/native
1080a84a212424bd713acf9151a61c2e5717f60dd1cKenny RootLOCAL_SHARED_LIBRARIES := libcrypto libjavacore liblog libnativehelper libssl libz
1090e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_MODULE_TAGS := optional
11092b12a8a5d5b74d31b3dbbd3aaaa6f3984a51f24Kenny RootLOCAL_MODULE := libjavacrypto
1110e27f2afe3d5087301ea978d27f8655f8cfe406cKenny RootLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
1120e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Rootinclude $(BUILD_SHARED_LIBRARY)
1130e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
1143e46e4ee56c8e37158f46941dedd5b436d724baaKenny Root# Unbundled Conscrypt jar
1153e46e4ee56c8e37158f46941dedd5b436d724baaKenny Rootinclude $(CLEAR_VARS)
11639deada91bd9b4ebb0a189b07382e0827e5bad68Kenny RootLOCAL_SRC_FILES := $(call all-java-files-under,src/main/java)
11739deada91bd9b4ebb0a189b07382e0827e5bad68Kenny RootLOCAL_SRC_FILES += $(call all-java-files-under,src/compat/java)
1183e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_SDK_VERSION := 9
1193e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_JAVACFLAGS := $(local_javac_flags)
1203e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_MODULE_TAGS := optional
121031510fb212274c2761f51f8b432c0442dd67667Kenny RootLOCAL_MODULE := conscrypt_unbundled
1223e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
1233e46e4ee56c8e37158f46941dedd5b436d724baaKenny Rootinclude $(BUILD_STATIC_JAVA_LIBRARY)
1243e46e4ee56c8e37158f46941dedd5b436d724baaKenny Root
1253e46e4ee56c8e37158f46941dedd5b436d724baaKenny Root# Unbundled Conscrypt crypto JNI library
1263e46e4ee56c8e37158f46941dedd5b436d724baaKenny Rootinclude $(CLEAR_VARS)
1273e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_CFLAGS += $(core_cflags)
1283e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_CPPFLAGS += $(core_cppflags)
1293e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_SRC_FILES := \
1303e46e4ee56c8e37158f46941dedd5b436d724baaKenny Root        src/main/native/org_conscrypt_NativeCrypto.cpp \
131f24ba0620d88b7d71ddb089b97d29fb1b073718dKenny Root        src/compat/native/JNIHelp.cpp
1323e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_C_INCLUDES += \
1333e46e4ee56c8e37158f46941dedd5b436d724baaKenny Root        external/openssl/include \
134f24ba0620d88b7d71ddb089b97d29fb1b073718dKenny Root        external/openssl \
135f24ba0620d88b7d71ddb089b97d29fb1b073718dKenny Root        external/conscrypt/src/compat/native
136031510fb212274c2761f51f8b432c0442dd67667Kenny RootLOCAL_LDFLAGS := -llog -lz -ldl
1373e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_STATIC_LIBRARIES := libssl_static libcrypto_static
1383e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_MODULE_TAGS := optional
1393e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_MODULE := libconscrypt_jni
1403e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
1413e46e4ee56c8e37158f46941dedd5b436d724baaKenny RootLOCAL_SDK_VERSION := 9
1423e46e4ee56c8e37158f46941dedd5b436d724baaKenny Rootinclude $(BUILD_SHARED_LIBRARY)
1433e46e4ee56c8e37158f46941dedd5b436d724baaKenny Root
144e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin Morey# Static unbundled Conscrypt crypto JNI library
145e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin Moreyinclude $(CLEAR_VARS)
146e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin MoreyLOCAL_CFLAGS += $(core_cflags)
147e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin MoreyLOCAL_CPPFLAGS += $(core_cppflags) -DJNI_JARJAR_PREFIX="com/google/android/gms/" -DCONSCRYPT_UNBUNDLED -DSTATIC_LIB
148e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin MoreyLOCAL_SRC_FILES := \
149e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin Morey        src/main/native/org_conscrypt_NativeCrypto.cpp \
150e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin Morey        src/compat/native/JNIHelp.cpp
151e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin MoreyLOCAL_C_INCLUDES += \
152e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin Morey        external/openssl/include \
153e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin Morey        external/openssl \
154e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin Morey        external/conscrypt/src/compat/native
155e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin MoreyLOCAL_MODULE_TAGS := optional
156e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin MoreyLOCAL_MODULE := libconscrypt_static
157e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin MoreyLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
158e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin MoreyLOCAL_SDK_VERSION := 9
159e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin Moreyinclude $(BUILD_STATIC_LIBRARY)
160e66dbe5ad60417a4a9bf5ddf0bc3eb02652e43c8Justin Morey
1610e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
1620e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root# Build for the host.
1630e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root#
1640e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
1653a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogers# Make the conscrypt-hostdex library
1663a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogersinclude $(CLEAR_VARS)
1673a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_SRC_FILES := $(call all-java-files-under,src/main/java)
1683a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_SRC_FILES += $(call all-java-files-under,src/platform/java)
1693a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_JAVACFLAGS := $(local_javac_flags)
1703a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt
1713a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_MODULE_TAGS := optional
1723a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_MODULE := conscrypt-hostdex
1733a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_REQUIRED_MODULES := libjavacrypto
1743a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
1753a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogersinclude $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
1760e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
1773a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogers# Make the conscrypt-hostdex-nojarjar for tests
1783a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogersinclude $(CLEAR_VARS)
1793a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_SRC_FILES := $(call all-java-files-under,src/main/java)
1803a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_SRC_FILES += $(call all-java-files-under,src/platform/java)
1813a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_JAVACFLAGS := $(local_javac_flags)
1823a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_BUILD_HOST_DEX := true
1833a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_MODULE_TAGS := optional
1843a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_MODULE := conscrypt-hostdex-nojarjar
1853a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
1863a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogersinclude $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
1870e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
1883a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogers# Make the conscrypt-tests library.
1893a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogersifeq ($(LIBCORE_SKIP_TESTS),)
1900e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root    include $(CLEAR_VARS)
1910e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root    LOCAL_SRC_FILES := $(call all-java-files-under,src/test/java)
192b32d679b1e2d011115fc8ead3d62c0401187c7acNarayan Kamath    LOCAL_JAVA_LIBRARIES := bouncycastle-hostdex core-junit-hostdex core-tests-support-hostdex conscrypt-hostdex-nojarjar
1930e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root    LOCAL_JAVACFLAGS := $(local_javac_flags)
1940e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root    LOCAL_MODULE_TAGS := optional
19592b12a8a5d5b74d31b3dbbd3aaaa6f3984a51f24Kenny Root    LOCAL_MODULE := conscrypt-tests-hostdex
1960e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root    LOCAL_REQUIRED_MODULES := libjavacrypto
1970e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root    LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
198b32d679b1e2d011115fc8ead3d62c0401187c7acNarayan Kamath    include $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
1993a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogersendif
2000e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
2013a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogers# Conscrypt native library for host
2023a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogersinclude $(CLEAR_VARS)
2033a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_CLANG := true
2043a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_SRC_FILES += \
2053a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogers        src/main/native/org_conscrypt_NativeCrypto.cpp
2063a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_C_INCLUDES += \
2073a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogers        external/openssl/include \
208f24ba0620d88b7d71ddb089b97d29fb1b073718dKenny Root        external/openssl \
2093a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogers        libcore/include \
2103a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogers        libcore/luni/src/main/native
2113a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_CPPFLAGS += $(core_cppflags)
2123a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_LDLIBS += -lpthread
2133a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_MODULE_TAGS := optional
2143a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_MODULE := libjavacrypto
2153a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_CFLAGS += -DJNI_JARJAR_PREFIX="com/android/"
2163a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
2173a03c73b41d094461d7a426b5a787ec988e40d61Ian RogersLOCAL_SHARED_LIBRARIES := libcrypto-host libjavacore liblog libnativehelper libssl-host
2183a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogersinclude $(BUILD_HOST_SHARED_LIBRARY)
2190e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root
2203a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogers# Conscrypt native library for nojarjar'd version
2213a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogers# Don't build this for unbundled conscrypt build
2223a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogersifeq (,$(TARGET_BUILD_APPS))
2230e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root    include $(CLEAR_VARS)
2243a03c73b41d094461d7a426b5a787ec988e40d61Ian Rogers    LOCAL_CLANG := true
2250e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root    LOCAL_SRC_FILES += \
2260e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root            src/main/native/org_conscrypt_NativeCrypto.cpp
2270a84a212424bd713acf9151a61c2e5717f60dd1cKenny Root    LOCAL_C_INCLUDES += \
2280a84a212424bd713acf9151a61c2e5717f60dd1cKenny Root            external/openssl/include \
229f24ba0620d88b7d71ddb089b97d29fb1b073718dKenny Root            external/openssl \
2300a84a212424bd713acf9151a61c2e5717f60dd1cKenny Root            libcore/include \
2310e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root            libcore/luni/src/main/native
2323e46e4ee56c8e37158f46941dedd5b436d724baaKenny Root    LOCAL_CPPFLAGS += $(core_cppflags) -DCONSCRYPT_NOT_UNBUNDLED
2330e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root    LOCAL_LDLIBS += -lpthread
2340e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root    LOCAL_MODULE_TAGS := optional
23592b12a8a5d5b74d31b3dbbd3aaaa6f3984a51f24Kenny Root    LOCAL_MODULE := libconscrypt_jni
2360e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root    LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
2377150e32a59e2c8614437014818a27a6d205f35ddKenny Root    LOCAL_SHARED_LIBRARIES := libcrypto-host libjavacore liblog libnativehelper libssl-host
2380e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Root    include $(BUILD_HOST_SHARED_LIBRARY)
2390e27f2afe3d5087301ea978d27f8655f8cfe406cKenny Rootendif
240