From c7de8b8d37b94abcdb0b69bbcb32cc5675d9da1f Mon Sep 17 00:00:00 2001 From: Pascal Hartig Date: Wed, 11 Jul 2018 08:38:12 -0700 Subject: [PATCH] Link against OpenSSL statically (#149) Summary: Compile against a static version of OpenSSL for better compatibility with apps that already use OpenSSL in some fashion. Pull Request resolved: https://github.com/facebook/Sonar/pull/149 Reviewed By: priteshrnandgaonkar Differential Revision: D8804169 Pulled By: passy fbshipit-source-id: 4de66a77806a3b3f01b2cf5f253916f2cf6f48e8 --- android/build.gradle | 5 +---- android/third-party/Folly/CMakeLists.txt | 4 ++-- android/third-party/RSocket/CMakeLists.txt | 4 ++-- xplat/CMakeLists.txt | 4 ++-- xplat/build.gradle | 1 - 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 243f7113a..f1ed96ef5 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -148,7 +148,7 @@ task downloadOpenSSLSource(dependsOn: [], type: Download) { } task downloadOpenSSLLibs(dependsOn: [], type: Download) { - src 'https://github.com/passy/openssl-android/releases/download/1.1.0h/openssl-1.1.0h-prebuilt.tar.gz' + src 'https://github.com/passy/openssl-android/releases/download/1.1.0h-r2/openssl-1.1.0h-r2-prebuilt.tar.gz' onlyIfNewer true overwrite false dest new File(downloadsDir, 'openssl-1.1.0h-prebuilt.tar.gz'); @@ -238,9 +238,6 @@ android { res { srcDir 'res' } - jniLibs { - srcDir "$thirdPartyNdkDir/OpenSSL/libs/" - } } } externalNativeBuild { diff --git a/android/third-party/Folly/CMakeLists.txt b/android/third-party/Folly/CMakeLists.txt index 8ebd76ece..5e9b7f482 100644 --- a/android/third-party/Folly/CMakeLists.txt +++ b/android/third-party/Folly/CMakeLists.txt @@ -135,8 +135,8 @@ target_include_directories(${PACKAGE_NAME} PRIVATE set(OPENSSL_LINK_DIRECTORIES ${PROJECT_SOURCE_DIR}/../OpenSSL/libs/${ANDROID_ABI}/) -find_path(OPENSSL_LIBRARY libssl.so HINTS ${OPENSSL_LINK_DIRECTORIES}) +find_path(OPENSSL_LIBRARY libssl.a HINTS ${OPENSSL_LINK_DIRECTORIES}) install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/) -target_link_libraries(${PACKAGE_NAME} glog double-conversion ${OPENSSL_LINK_DIRECTORIES}/libssl.so ${OPENSSL_LINK_DIRECTORIES}/libcrypto.so event event_extra event_core) +target_link_libraries(${PACKAGE_NAME} glog double-conversion ${OPENSSL_LINK_DIRECTORIES}/libssl.a ${OPENSSL_LINK_DIRECTORIES}/libcrypto.a event event_extra event_core) diff --git a/android/third-party/RSocket/CMakeLists.txt b/android/third-party/RSocket/CMakeLists.txt index 227accb07..e7b47ab4e 100644 --- a/android/third-party/RSocket/CMakeLists.txt +++ b/android/third-party/RSocket/CMakeLists.txt @@ -85,6 +85,6 @@ target_include_directories(${PACKAGE_NAME} PRIVATE set(OPENSSL_LINK_DIRECTORIES ${third_party_ndk}/OpenSSL/libs/${ANDROID_ABI}/) -find_path(OPENSSL_LIBRARY libssl.so HINTS ${OPENSSL_LINK_DIRECTORIES}) +find_path(OPENSSL_LIBRARY libssl.a HINTS ${OPENSSL_LINK_DIRECTORIES}) -target_link_libraries(${PACKAGE_NAME} folly glog double-conversion log event ${OPENSSL_LINK_DIRECTORIES}/libssl.so ${OPENSSL_LINK_DIRECTORIES}/libcrypto.so) +target_link_libraries(${PACKAGE_NAME} folly glog double-conversion log event ${OPENSSL_LINK_DIRECTORIES}/libssl.a ${OPENSSL_LINK_DIRECTORIES}/libcrypto.a) diff --git a/xplat/CMakeLists.txt b/xplat/CMakeLists.txt index 437ae7599..e041240eb 100644 --- a/xplat/CMakeLists.txt +++ b/xplat/CMakeLists.txt @@ -68,6 +68,6 @@ target_include_directories(${PACKAGE_NAME} PRIVATE ) set(OPENSSL_LINK_DIRECTORIES ${third_party_ndk}/OpenSSL/libs/${ANDROID_ABI}/) -find_path(OPENSSL_LIBRARY libssl.so HINTS ${OPENSSL_LINK_DIRECTORIES}) +find_path(OPENSSL_LIBRARY libssl.a HINTS ${OPENSSL_LINK_DIRECTORIES}) -target_link_libraries(${PACKAGE_NAME} folly rsocket glog double-conversion log event ${OPENSSL_LINK_DIRECTORIES}/libssl.so ${OPENSSL_LINK_DIRECTORIES}/libcrypto.so) +target_link_libraries(${PACKAGE_NAME} folly rsocket glog double-conversion log event ${OPENSSL_LINK_DIRECTORIES}/libssl.a ${OPENSSL_LINK_DIRECTORIES}/libcrypto.a) diff --git a/xplat/build.gradle b/xplat/build.gradle index f3f7a05ee..2fd2a8b4c 100644 --- a/xplat/build.gradle +++ b/xplat/build.gradle @@ -30,4 +30,3 @@ android { implementation project(':folly') } } -//'armeabi-v7a'