From 02161dc06b9378536f97cf058e1f93dda1429c1d Mon Sep 17 00:00:00 2001 From: Pritesh Nandgaonkar Date: Wed, 13 Jun 2018 18:49:01 +0100 Subject: [PATCH] Add openssl as a dependency to Folly --- android/build.gradle | 3 +- android/third-party/Folly/CMakeLists.txt | 80 ++++++++++++++++-------- android/third-party/Folly/build.gradle | 5 +- 3 files changed, 60 insertions(+), 28 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 608a0facf..b1acc1324 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -134,7 +134,8 @@ task downloadOpenSSL(dependsOn: [], type: Download) { task prepareOpenSSL(dependsOn: [downloadOpenSSL], type: Copy) { from tarTree(downloadOpenSSL.dest) - include 'openssl-android-1.0.0/**/*' + from './third-party/OpenSSL/' + include 'openssl-android-1.0.0/**/*', 'libs/**/*' includeEmptyDirs = false into "$thirdPartyNdkDir/OpenSSL/" } diff --git a/android/third-party/Folly/CMakeLists.txt b/android/third-party/Folly/CMakeLists.txt index 4bce1b2d7..9efa14eb6 100644 --- a/android/third-party/Folly/CMakeLists.txt +++ b/android/third-party/Folly/CMakeLists.txt @@ -15,7 +15,7 @@ list(APPEND dir_list ${FOLLY_DIR}/memory/detail) set(BOOST_DIR ../boost/boost_1_63_0/) 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(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}/include/) list(APPEND dir_list ${OPENSSL_DIR}) -list(APPEND dir_list ${OPENSSL_DIR}/include) -list(APPEND dir_list ${OPENSSL_DIR}/include/openssl) +#list(APPEND dir_list ${OPENSSL_DIR}/include) +#list(APPEND dir_list ${OPENSSL_DIR}/include/openssl) include_directories(${dir_list}) # -DFOLLY_FORCE_CLOCK_GETTIME_DEFINITION=1 @@ -52,25 +52,43 @@ add_compile_options( ) # ${FOLLY_DIR}/*.cpp -file(GLOB SRC_FILES ${FOLLY_DIR}/detail/*.cpp - ${FOLLY_DIR}/hash/*.cpp - ${FOLLY_DIR}/portability/*.cpp - ${FOLLY_DIR}/io/async/*.cpp - ${FOLLY_DIR}/io/async/ssl/*.cpp - ${FOLLY_DIR}/io/*.cpp - ${FOLLY_DIR}/synchronization/*.cpp - ${FOLLY_DIR}/lang/*.cpp - ${FOLLY_DIR}/memory/*.cpp - ${FOLLY_DIR}/futures/*.cpp - ${FOLLY_DIR}/futures/detail/*.cpp - ${FOLLY_DIR}/experimental/hazptr/*.cpp - ${FOLLY_DIR}/executors/*.cpp - ${FOLLY_DIR}/concurrency/*.cpp - ${FOLLY_DIR}/ssl/*.cpp - ${FOLLY_DIR}/ssl/detail/*.cpp - ${FOLLY_DIR}/system/*.cpp - ) -list(APPEND SRC_FILES ${FOLLY_DIR}/Executor.cpp +# ${FOLLY_DIR}/portability/*.cpp +# ${FOLLY_DIR}/detail/*.cpp +# ${FOLLY_DIR}/hash/*.cpp + + + file(GLOB SRC_FILES ${FOLLY_DIR}/io/async/*.cpp + ${FOLLY_DIR}/portability/*.cpp + ${FOLLY_DIR}/io/async/ssl/*.cpp + ${FOLLY_DIR}/io/*.cpp + ${FOLLY_DIR}/detail/*.cpp + ${FOLLY_DIR}/synchronization/*.cpp + ${FOLLY_DIR}/lang/*.cpp + ${FOLLY_DIR}/hash/*.cpp + ${FOLLY_DIR}/hash/detail/*.cpp + ${FOLLY_DIR}/memory/*.cpp + ${FOLLY_DIR}/futures/*.cpp + ${FOLLY_DIR}/futures/detail/*.cpp + ${FOLLY_DIR}/experimental/hazptr/*.cpp + ${FOLLY_DIR}/executors/*.cpp + ${FOLLY_DIR}/concurrency/*.cpp + ${FOLLY_DIR}/ssl/*.cpp + ${FOLLY_DIR}/ssl/detail/*.cpp + ${FOLLY_DIR}/system/*.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/Assume.cpp ${FOLLY_DIR}/json.cpp @@ -100,11 +118,13 @@ file(MAKE_DIRECTORY ${build_DIR}) add_subdirectory(${GLOG_DIR} ${libglog_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 - ${OPENSSL_DIR} - ${OPENSSL_DIR}/include - ${OPENSSL_DIR}/include/openssl + ${OPENSSL_DIR}/jni/openssl-android/ + ${OPENSSL_DIR}/jni/openssl-android/include + ${OPENSSL_DIR}/jni/openssl-android/include/openssl ${LIBEVENT_DIR} ${LIBEVENT_DIR}/include/ ${LIBEVENT_DIR}/../ @@ -114,6 +134,14 @@ target_include_directories(${PACKAGE_NAME} PRIVATE ${GLOG_DIR}/glog-0.3.5/src/ ${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/) -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) diff --git a/android/third-party/Folly/build.gradle b/android/third-party/Folly/build.gradle index 5593f5fac..e617f1694 100644 --- a/android/third-party/Folly/build.gradle +++ b/android/third-party/Folly/build.gradle @@ -9,7 +9,7 @@ android { targetSdkVersion rootProject.targetSdkVersion buildConfigField "boolean", "IS_INTERNAL_BUILD", 'true' ndk { - abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' + abiFilters 'x86', 'arm64-v8a' } externalNativeBuild { @@ -35,5 +35,8 @@ android { dependencies { implementation project(':glog') implementation project(':doubleconversion') + implementation project(':openssl') + } } +// 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'