Add openssl as a dependency to Folly

This commit is contained in:
Pritesh Nandgaonkar
2018-06-13 18:49:01 +01:00
parent c2b1f09c84
commit 02161dc06b
3 changed files with 60 additions and 28 deletions

View File

@@ -134,7 +134,8 @@ task downloadOpenSSL(dependsOn: [], type: Download) {
task prepareOpenSSL(dependsOn: [downloadOpenSSL], type: Copy) { task prepareOpenSSL(dependsOn: [downloadOpenSSL], type: Copy) {
from tarTree(downloadOpenSSL.dest) from tarTree(downloadOpenSSL.dest)
include 'openssl-android-1.0.0/**/*' from './third-party/OpenSSL/'
include 'openssl-android-1.0.0/**/*', 'libs/**/*'
includeEmptyDirs = false includeEmptyDirs = false
into "$thirdPartyNdkDir/OpenSSL/" into "$thirdPartyNdkDir/OpenSSL/"
} }

View File

@@ -15,7 +15,7 @@ list(APPEND dir_list ${FOLLY_DIR}/memory/detail)
set(BOOST_DIR ../boost/boost_1_63_0/) set(BOOST_DIR ../boost/boost_1_63_0/)
set(GLOG_DIR ../glog/) set(GLOG_DIR ../glog/)
set(OPENSSL_DIR ../OpenSSL/openssl-android-1.0.0/jni/openssl-android/) set(OPENSSL_DIR ../OpenSSL/openssl-android-1.0.0/)
set(LIBEVENT_DIR ../LibEvent/libevent-release-2.1.8-stable/) set(LIBEVENT_DIR ../LibEvent/libevent-release-2.1.8-stable/)
set(DOUBLECONVERSION_DIR ../double-conversion/double-conversion-3.0.0/) set(DOUBLECONVERSION_DIR ../double-conversion/double-conversion-3.0.0/)
@@ -25,8 +25,8 @@ list(APPEND dir_list ${BOOST_DIR}/../)
list(APPEND dir_list ${LIBEVENT_DIR}/) list(APPEND dir_list ${LIBEVENT_DIR}/)
list(APPEND dir_list ${LIBEVENT_DIR}/include/) list(APPEND dir_list ${LIBEVENT_DIR}/include/)
list(APPEND dir_list ${OPENSSL_DIR}) list(APPEND dir_list ${OPENSSL_DIR})
list(APPEND dir_list ${OPENSSL_DIR}/include) #list(APPEND dir_list ${OPENSSL_DIR}/include)
list(APPEND dir_list ${OPENSSL_DIR}/include/openssl) #list(APPEND dir_list ${OPENSSL_DIR}/include/openssl)
include_directories(${dir_list}) include_directories(${dir_list})
# -DFOLLY_FORCE_CLOCK_GETTIME_DEFINITION=1 # -DFOLLY_FORCE_CLOCK_GETTIME_DEFINITION=1
@@ -52,14 +52,20 @@ add_compile_options(
) )
# ${FOLLY_DIR}/*.cpp # ${FOLLY_DIR}/*.cpp
file(GLOB SRC_FILES ${FOLLY_DIR}/detail/*.cpp # ${FOLLY_DIR}/portability/*.cpp
${FOLLY_DIR}/hash/*.cpp # ${FOLLY_DIR}/detail/*.cpp
# ${FOLLY_DIR}/hash/*.cpp
file(GLOB SRC_FILES ${FOLLY_DIR}/io/async/*.cpp
${FOLLY_DIR}/portability/*.cpp ${FOLLY_DIR}/portability/*.cpp
${FOLLY_DIR}/io/async/*.cpp
${FOLLY_DIR}/io/async/ssl/*.cpp ${FOLLY_DIR}/io/async/ssl/*.cpp
${FOLLY_DIR}/io/*.cpp ${FOLLY_DIR}/io/*.cpp
${FOLLY_DIR}/detail/*.cpp
${FOLLY_DIR}/synchronization/*.cpp ${FOLLY_DIR}/synchronization/*.cpp
${FOLLY_DIR}/lang/*.cpp ${FOLLY_DIR}/lang/*.cpp
${FOLLY_DIR}/hash/*.cpp
${FOLLY_DIR}/hash/detail/*.cpp
${FOLLY_DIR}/memory/*.cpp ${FOLLY_DIR}/memory/*.cpp
${FOLLY_DIR}/futures/*.cpp ${FOLLY_DIR}/futures/*.cpp
${FOLLY_DIR}/futures/detail/*.cpp ${FOLLY_DIR}/futures/detail/*.cpp
@@ -70,7 +76,19 @@ file(GLOB SRC_FILES ${FOLLY_DIR}/detail/*.cpp
${FOLLY_DIR}/ssl/detail/*.cpp ${FOLLY_DIR}/ssl/detail/*.cpp
${FOLLY_DIR}/system/*.cpp ${FOLLY_DIR}/system/*.cpp
) )
list(APPEND SRC_FILES ${FOLLY_DIR}/Executor.cpp
list(APPEND SRC_FILES ${FOLLY_DIR}/SharedMutex.cpp
${FOLLY_DIR}/ExceptionWrapper.cpp
${FOLLY_DIR}/File.cpp
${FOLLY_DIR}/Random.cpp
${FOLLY_DIR}/Singleton.cpp
${FOLLY_DIR}/IPAddress.cpp
${FOLLY_DIR}/IPAddressV4.cpp
${FOLLY_DIR}/IPAddressV6.cpp
${FOLLY_DIR}/MacAddress.cpp
${FOLLY_DIR}/SocketAddress.cpp
${FOLLY_DIR}/Executor.cpp
${FOLLY_DIR}/FileUtil.cpp
${FOLLY_DIR}/lang/ColdClass.cpp ${FOLLY_DIR}/lang/ColdClass.cpp
${FOLLY_DIR}/lang/Assume.cpp ${FOLLY_DIR}/lang/Assume.cpp
${FOLLY_DIR}/json.cpp ${FOLLY_DIR}/json.cpp
@@ -100,11 +118,13 @@ file(MAKE_DIRECTORY ${build_DIR})
add_subdirectory(${GLOG_DIR} ${libglog_build_DIR}) add_subdirectory(${GLOG_DIR} ${libglog_build_DIR})
add_subdirectory(${DOUBLECONVERSION_DIR} ${doubleconversion_build_DIR}) add_subdirectory(${DOUBLECONVERSION_DIR} ${doubleconversion_build_DIR})
#add_subdirectory(${OPENSSL_DIR} ${openssl_build_DIR})
#add_subdirectory(${OPENSSL_DIR} ${crypto_build_DIR})
target_include_directories(${PACKAGE_NAME} PRIVATE target_include_directories(${PACKAGE_NAME} PRIVATE
${OPENSSL_DIR} ${OPENSSL_DIR}/jni/openssl-android/
${OPENSSL_DIR}/include ${OPENSSL_DIR}/jni/openssl-android/include
${OPENSSL_DIR}/include/openssl ${OPENSSL_DIR}/jni/openssl-android/include/openssl
${LIBEVENT_DIR} ${LIBEVENT_DIR}
${LIBEVENT_DIR}/include/ ${LIBEVENT_DIR}/include/
${LIBEVENT_DIR}/../ ${LIBEVENT_DIR}/../
@@ -114,6 +134,14 @@ target_include_directories(${PACKAGE_NAME} PRIVATE
${GLOG_DIR}/glog-0.3.5/src/ ${GLOG_DIR}/glog-0.3.5/src/
${DOUBLECONVERSION_DIR}) ${DOUBLECONVERSION_DIR})
set(LINK_DIRECTORIES ${PROJECT_SOURCE_DIR}/../OpenSSL/libs/${ANDROID_ABI}/)
find_path(OPENSSL_LIBRARY libssl.so HINTS ${LINK_DIRECTORIES})
find_library(CRYPTO_LIBRARY crypto HINTS ${LINK_DIRECTORIES})
#link_directories(${LINK_DIRECTORIES})
message(STATUS "link_directories:- " ${LINK_DIRECTORIES})
install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/) install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/)
target_link_libraries(${PACKAGE_NAME} glog double-conversion ssl crypto)
target_link_libraries(${PACKAGE_NAME} glog double-conversion ${LINK_DIRECTORIES}/libssl.so ${LINK_DIRECTORIES}/libcrypto.so)

View File

@@ -9,7 +9,7 @@ android {
targetSdkVersion rootProject.targetSdkVersion targetSdkVersion rootProject.targetSdkVersion
buildConfigField "boolean", "IS_INTERNAL_BUILD", 'true' buildConfigField "boolean", "IS_INTERNAL_BUILD", 'true'
ndk { ndk {
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' abiFilters 'x86', 'arm64-v8a'
} }
externalNativeBuild { externalNativeBuild {
@@ -35,5 +35,8 @@ android {
dependencies { dependencies {
implementation project(':glog') implementation project(':glog')
implementation project(':doubleconversion') implementation project(':doubleconversion')
implementation project(':openssl')
} }
} }
// 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'