Folly builds

This commit is contained in:
Pritesh Nandgaonkar
2018-06-14 17:59:24 +01:00
parent 04784186df
commit e50122dc85
7 changed files with 26 additions and 36 deletions

View File

@@ -105,16 +105,16 @@ task prepareFolly(dependsOn: [downloadFolly], type: Copy) {
} }
task downloadLibEvent(dependsOn: [], type: Download) { task downloadLibEvent(dependsOn: [], type: Download) {
src 'https://github.com/libevent/libevent/archive/release-2.1.8-stable.tar.gz' src 'https://github.com/priteshrnandgaonkar/libevent/archive/release-2.1.9.tar.gz'
onlyIfNewer true onlyIfNewer true
overwrite false overwrite false
dest new File(downloadsDir, 'libevent-release-2.1.8-stable.tar.gz'); dest new File(downloadsDir, 'libevent-release-2.1.9.tar.gz');
} }
task prepareLibEvent(dependsOn: [downloadLibEvent], type: Copy) { task prepareLibEvent(dependsOn: [downloadLibEvent], type: Copy) {
from tarTree(downloadLibEvent.dest) from tarTree(downloadLibEvent.dest)
from './third-party/LibEvent/' from './third-party/LibEvent/'
include 'libevent-release-2.1.8-stable/**/*', 'build.gradle', 'CMakeLists.txt', 'ApplicationManifest.xml' include 'libevent-release-2.1.9/**/*', 'build.gradle', 'ApplicationManifest.xml'
includeEmptyDirs = false includeEmptyDirs = false
into "$thirdPartyNdkDir/LibEvent" into "$thirdPartyNdkDir/LibEvent"
} }
@@ -123,7 +123,7 @@ task finalizeEvent(dependsOn: [prepareLibEvent], type: Copy) {
from './third-party/LibEvent/' from './third-party/LibEvent/'
include 'event-config.h' include 'event-config.h'
includeEmptyDirs = false includeEmptyDirs = false
into "$thirdPartyNdkDir/LibEvent/libevent-release-2.1.8-stable/include/event2/" into "$thirdPartyNdkDir/LibEvent/libevent-release-2.1.9/include/event2/"
} }
task finalizeEvent2(dependsOn: [finalizeEvent], type: Copy) { task finalizeEvent2(dependsOn: [finalizeEvent], type: Copy) {
@@ -160,7 +160,7 @@ task prepareAllLibs() {
dependsOn prepareDoubleConversion dependsOn prepareDoubleConversion
dependsOn prepareBoost dependsOn prepareBoost
dependsOn prepareFolly dependsOn prepareFolly
dependsOn finalizeEvent2 dependsOn finalizeEvent
dependsOn finalizeOpenSSL dependsOn finalizeOpenSSL
} }

View File

@@ -3,10 +3,11 @@ cmake_minimum_required (VERSION 3.6.0)
PROJECT(folly CXX) PROJECT(folly CXX)
enable_language(CXX) enable_language(CXX)
set(PACKAGE_NAME folly) set(PACKAGE_NAME folly)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_EXTENSIONS OFF)
set(FOLLY_DIR ${PROJECT_SOURCE_DIR}/folly) set(FOLLY_DIR ${PROJECT_SOURCE_DIR}/folly)
list(APPEND dir_list ./) list(APPEND dir_list ./)
list(APPEND dir_list ${FOLLY_DIR}/lang) list(APPEND dir_list ${FOLLY_DIR}/lang)
list(APPEND dir_list ${FOLLY_DIR}/hash/) list(APPEND dir_list ${FOLLY_DIR}/hash/)
@@ -16,8 +17,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/) set(OPENSSL_DIR ../OpenSSL/openssl-android-1.0.0/)
set(LIBEVENT_DIR ../LibEvent/libevent-release-2.1.9/)
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/)
list(APPEND dir_list ${BOOST_DIR}) list(APPEND dir_list ${BOOST_DIR})
@@ -29,7 +29,9 @@ list(APPEND dir_list ${OPENSSL_DIR})
#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 -std=c++14
add_compile_options( add_compile_options(
-DFOLLY_HAVE_CLOCK_GETTIME=1 -DFOLLY_HAVE_CLOCK_GETTIME=1
-DFOLLY_HAVE_PTHREAD=1 -DFOLLY_HAVE_PTHREAD=1
@@ -41,7 +43,6 @@ add_compile_options(
-DFOLLY_HAVE_PREADV=0 -DFOLLY_HAVE_PREADV=0
-frtti -frtti
-fexceptions -fexceptions
-std=c++14
-Wno-error -Wno-error
-Wno-unused-local-typedefs -Wno-unused-local-typedefs
-Wno-unused-variable -Wno-unused-variable
@@ -50,16 +51,8 @@ add_compile_options(
-Wno-return-type -Wno-return-type
-Wno-tautological-constant-compare -Wno-tautological-constant-compare
) )
# ${FOLLY_DIR}/*.cpp
# ${FOLLY_DIR}/portability/*.cpp
# ${FOLLY_DIR}/detail/*.cpp
# ${FOLLY_DIR}/hash/*.cpp
# ${FOLLY_DIR}/io/async/*.cpp
file(GLOB SRC_FILES ${FOLLY_DIR}/portability/*.cpp file(GLOB SRC_FILES ${FOLLY_DIR}/portability/*.cpp
${FOLLY_DIR}/io/async/ssl/*.cpp ${FOLLY_DIR}/io/async/ssl/*.cpp
# ${FOLLY_DIR}/io/*.cpp
${FOLLY_DIR}/detail/*.cpp ${FOLLY_DIR}/detail/*.cpp
${FOLLY_DIR}/synchronization/*.cpp ${FOLLY_DIR}/synchronization/*.cpp
${FOLLY_DIR}/lang/*.cpp ${FOLLY_DIR}/lang/*.cpp
@@ -73,9 +66,7 @@ add_compile_options(
${FOLLY_DIR}/concurrency/*.cpp ${FOLLY_DIR}/concurrency/*.cpp
${FOLLY_DIR}/ssl/*.cpp ${FOLLY_DIR}/ssl/*.cpp
${FOLLY_DIR}/ssl/detail/*.cpp ${FOLLY_DIR}/ssl/detail/*.cpp
# ${FOLLY_DIR}/system/*.cpp
) )
# ${FOLLY_DIR}/io/async/AsyncServerSocket.cpp
list(APPEND SRC_FILES ${FOLLY_DIR}/io/async/HHWheelTimer.cpp list(APPEND SRC_FILES ${FOLLY_DIR}/io/async/HHWheelTimer.cpp
${FOLLY_DIR}/io/async/AsyncPipe.cpp ${FOLLY_DIR}/io/async/AsyncPipe.cpp
${FOLLY_DIR}/io/async/AsyncTimeout.cpp ${FOLLY_DIR}/io/async/AsyncTimeout.cpp
@@ -91,8 +82,6 @@ list(APPEND SRC_FILES ${FOLLY_DIR}/io/async/HHWheelTimer.cpp
${FOLLY_DIR}/system/ThreadName.cpp ${FOLLY_DIR}/system/ThreadName.cpp
${FOLLY_DIR}/io/IOBuf.cpp ${FOLLY_DIR}/io/IOBuf.cpp
${FOLLY_DIR}/io/IOBufQueue.cpp ${FOLLY_DIR}/io/IOBufQueue.cpp
# ${FOLLY_DIR}/system/MemoryMapping.cpp
# ${FOLLY_DIR}/experimental/io/HugePages.cpp
${FOLLY_DIR}/File.cpp ${FOLLY_DIR}/File.cpp
${FOLLY_DIR}/Random.cpp ${FOLLY_DIR}/Random.cpp
${FOLLY_DIR}/Singleton.cpp ${FOLLY_DIR}/Singleton.cpp
@@ -126,39 +115,39 @@ set(build_DIR ${CMAKE_SOURCE_DIR}/build)
set(libglog_build_DIR ${build_DIR}/libglog/${ANDROID_ABI}) set(libglog_build_DIR ${build_DIR}/libglog/${ANDROID_ABI})
set(doubleconversion_build_DIR ${build_DIR}/doubleconversion/${ANDROID_ABI}) set(doubleconversion_build_DIR ${build_DIR}/doubleconversion/${ANDROID_ABI})
set(libevent_build_DIR ${build_DIR}/libevent/${ANDROID_ABI})
file(MAKE_DIRECTORY ${build_DIR}) 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(${LIBEVENT_DIR} ${libevent_build_DIR})
#add_subdirectory(${OPENSSL_DIR} ${crypto_build_DIR}) # ${LIBEVENT_DIR}
# ${LIBEVENT_DIR}/include/
# ${LIBEVENT_DIR}/../
target_include_directories(${PACKAGE_NAME} PRIVATE target_include_directories(${PACKAGE_NAME} PRIVATE
${OPENSSL_DIR}/jni/openssl-android/ ${OPENSSL_DIR}/jni/openssl-android/
${OPENSSL_DIR}/jni/openssl-android/include ${OPENSSL_DIR}/jni/openssl-android/include
${OPENSSL_DIR}/jni/openssl-android/include/openssl ${OPENSSL_DIR}/jni/openssl-android/include/openssl
${LIBEVENT_DIR}
${LIBEVENT_DIR}/include/
${LIBEVENT_DIR}/../
${BOOST_DIR} ${BOOST_DIR}
${BOOST_DIR}/../ ${BOOST_DIR}/../
${GLOG_DIR}/../ ${GLOG_DIR}/../
${GLOG_DIR}/glog-0.3.5/src/ ${GLOG_DIR}/glog-0.3.5/src/
${DOUBLECONVERSION_DIR}) ${DOUBLECONVERSION_DIR})
set(LIBEXTRA_PATH /Users/prit91/LocalDevTesting/sonar-upstream-proper/Sonar/android/build/third-party-ndk/LibEvent/.externalNativeBuild/cmake/debug/${ANDROID_ABI}/lib)
set(OPENSSL_LINK_DIRECTORIES ${PROJECT_SOURCE_DIR}/../OpenSSL/libs/${ANDROID_ABI}/) 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.so HINTS ${OPENSSL_LINK_DIRECTORIES})
find_library(CRYPTO_LIBRARY crypto HINTS ${OPENSSL_LINK_DIRECTORIES}) #find_library(CRYPTO_LIBRARY crypto HINTS ${OPENSSL_LINK_DIRECTORIES})
#set(LIBEVENT_LINK_DIRECTORIES ${PROJECT_SOURCE_DIR}/../LibEvent/libs/${ANDROID_ABI}/)
set(LIBEVENT_LINK_DIRECTORIES ${PROJECT_SOURCE_DIR}/../LibEvent/libs/${ANDROID_ABI}/) #find_path(LIBEVENT_LIBRARY libevent.a HINTS ${LIBEVENT_LINK_DIRECTORIES})
find_path(LIBEVENT_LIBRARY libevent.a HINTS ${LIBEVENT_LINK_DIRECTORIES})
#link_directories(${LINK_DIRECTORIES}) #link_directories(${LINK_DIRECTORIES})
message(STATUS "link_directories:- " ${LIBEVENT_LINK_DIRECTORIES}) message(STATUS "link_directories:- " ${LIBEVENT_LINK_DIRECTORIES})
install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/) install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/)
# ${LIBEVENT_LINK_DIRECTORIES}/libevent.a # ${LIBEVENT_LINK_DIRECTORIES}/libevent.a
target_link_libraries(${PACKAGE_NAME} glog double-conversion ${OPENSSL_LINK_DIRECTORIES}/libssl.so ${OPENSSL_LINK_DIRECTORIES}/libcrypto.so ${LIBEVENT_LINK_DIRECTORIES}/libevent.a) # event event_core event_extra
target_link_libraries(${PACKAGE_NAME} glog double-conversion ${OPENSSL_LINK_DIRECTORIES}/libssl.so ${OPENSSL_LINK_DIRECTORIES}/libcrypto.so event event_extra event_core)

View File

@@ -34,6 +34,7 @@ android {
dependencies { dependencies {
implementation project(':glog') implementation project(':glog')
//implementation project(':libevent')
implementation project(':doubleconversion') implementation project(':doubleconversion')
implementation project(':openssl') implementation project(':openssl')

View File

@@ -8,7 +8,7 @@ android {
minSdkVersion rootProject.minSdkVersion minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion targetSdkVersion rootProject.targetSdkVersion
ndk { ndk {
abiFilters 'arm64-v8a' abiFilters 'arm64-v8a', 'x86', 'armeabi-v7a'
} }
externalNativeBuild { externalNativeBuild {
@@ -27,7 +27,7 @@ android {
} }
externalNativeBuild { externalNativeBuild {
cmake { cmake {
path 'libevent-release-2.1.8-stable/CMakeLists.txt' path 'libevent-release-2.1.9/CMakeLists.txt'
} }
} }
} }

Binary file not shown.