diff --git a/android/build.gradle b/android/build.gradle index 7e75c6495..b5a10a93b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -125,6 +125,14 @@ task finalizeEvent(dependsOn: [prepareLibEvent], type: Copy) { includeEmptyDirs = false into "$thirdPartyNdkDir/LibEvent/libevent-release-2.1.8-stable/include/event2/" } + +task finalizeEvent2(dependsOn: [finalizeEvent], type: Copy) { + from './third-party/LibEvent/' + include 'libs/**/*' + includeEmptyDirs = false + into "$thirdPartyNdkDir/LibEvent/" +} + task downloadOpenSSL(dependsOn: [], type: Download) { src 'https://github.com/priteshrnandgaonkar/openssl-android/archive/1.0.0.tar.gz' onlyIfNewer true @@ -152,7 +160,7 @@ task prepareAllLibs() { dependsOn prepareDoubleConversion dependsOn prepareBoost dependsOn prepareFolly - dependsOn prepareLibEvent + dependsOn finalizeEvent2 dependsOn finalizeOpenSSL } diff --git a/android/third-party/Folly/CMakeLists.txt b/android/third-party/Folly/CMakeLists.txt index 9efa14eb6..19d675d63 100644 --- a/android/third-party/Folly/CMakeLists.txt +++ b/android/third-party/Folly/CMakeLists.txt @@ -55,12 +55,11 @@ add_compile_options( # ${FOLLY_DIR}/portability/*.cpp # ${FOLLY_DIR}/detail/*.cpp # ${FOLLY_DIR}/hash/*.cpp +# ${FOLLY_DIR}/io/async/*.cpp - - file(GLOB SRC_FILES ${FOLLY_DIR}/io/async/*.cpp - ${FOLLY_DIR}/portability/*.cpp + file(GLOB SRC_FILES ${FOLLY_DIR}/portability/*.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}/lang/*.cpp @@ -74,11 +73,26 @@ add_compile_options( ${FOLLY_DIR}/concurrency/*.cpp ${FOLLY_DIR}/ssl/*.cpp ${FOLLY_DIR}/ssl/detail/*.cpp - ${FOLLY_DIR}/system/*.cpp +# ${FOLLY_DIR}/system/*.cpp ) - -list(APPEND SRC_FILES ${FOLLY_DIR}/SharedMutex.cpp +# ${FOLLY_DIR}/io/async/AsyncServerSocket.cpp +list(APPEND SRC_FILES ${FOLLY_DIR}/io/async/HHWheelTimer.cpp + ${FOLLY_DIR}/io/async/AsyncPipe.cpp + ${FOLLY_DIR}/io/async/AsyncTimeout.cpp + ${FOLLY_DIR}/io/async/EventBaseManager.cpp + ${FOLLY_DIR}/io/async/TimeoutManager.cpp + ${FOLLY_DIR}/io/async/AsyncSocketException.cpp + ${FOLLY_DIR}/io/async/Request.cpp + ${FOLLY_DIR}/io/async/EventBase.cpp + ${FOLLY_DIR}/io/async/EventHandler.cpp + ${FOLLY_DIR}/io/async/VirtualEventBase.cpp + ${FOLLY_DIR}/SharedMutex.cpp ${FOLLY_DIR}/ExceptionWrapper.cpp + ${FOLLY_DIR}/system/ThreadName.cpp + ${FOLLY_DIR}/io/IOBuf.cpp + ${FOLLY_DIR}/io/IOBufQueue.cpp +# ${FOLLY_DIR}/system/MemoryMapping.cpp +# ${FOLLY_DIR}/experimental/io/HugePages.cpp ${FOLLY_DIR}/File.cpp ${FOLLY_DIR}/Random.cpp ${FOLLY_DIR}/Singleton.cpp @@ -134,14 +148,17 @@ 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}) +set(OPENSSL_LINK_DIRECTORIES ${PROJECT_SOURCE_DIR}/../OpenSSL/libs/${ANDROID_ABI}/) +find_path(OPENSSL_LIBRARY libssl.so HINTS ${OPENSSL_LINK_DIRECTORIES}) +find_library(CRYPTO_LIBRARY crypto HINTS ${OPENSSL_LINK_DIRECTORIES}) + +set(LIBEVENT_LINK_DIRECTORIES ${PROJECT_SOURCE_DIR}/../LibEvent/libs/${ANDROID_ABI}/) +find_path(LIBEVENT_LIBRARY libevent.a HINTS ${LIBEVENT_LINK_DIRECTORIES}) #link_directories(${LINK_DIRECTORIES}) -message(STATUS "link_directories:- " ${LINK_DIRECTORIES}) +message(STATUS "link_directories:- " ${LIBEVENT_LINK_DIRECTORIES}) install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/) +# ${LIBEVENT_LINK_DIRECTORIES}/libevent.a - -target_link_libraries(${PACKAGE_NAME} glog double-conversion ${LINK_DIRECTORIES}/libssl.so ${LINK_DIRECTORIES}/libcrypto.so) +target_link_libraries(${PACKAGE_NAME} glog double-conversion ${OPENSSL_LINK_DIRECTORIES}/libssl.so ${OPENSSL_LINK_DIRECTORIES}/libcrypto.so ${LIBEVENT_LINK_DIRECTORIES}/libevent.a) diff --git a/android/third-party/LibEvent/CMakeLists.txt b/android/third-party/LibEvent/CMakeLists.txt index 52a275068..ea92685da 100644 --- a/android/third-party/LibEvent/CMakeLists.txt +++ b/android/third-party/LibEvent/CMakeLists.txt @@ -7,7 +7,8 @@ set(LIBEVENT_DIR libevent-release-2.1.8-stable) list(APPEND DIR_LIST ${LIBEVENT_DIR}/) list(APPEND DIR_LIST ${LIBEVENT_DIR}/include) include_directories(${DIR_LIST}) -list(APPEND SRCFILES ${LIBEVENT_DIR}/buffer.c +list(APPEND SRCFILES ${LIBEVENT_DIR}/event.c + ${LIBEVENT_DIR}/buffer.c ${LIBEVENT_DIR}/bufferevent.c ${LIBEVENT_DIR}/bufferevent_filter.c ${LIBEVENT_DIR}/bufferevent_ratelim.c @@ -15,7 +16,6 @@ list(APPEND SRCFILES ${LIBEVENT_DIR}/buffer.c ${LIBEVENT_DIR}/epoll.c ${LIBEVENT_DIR}/epoll_sub.c ${LIBEVENT_DIR}/evdns.c - ${LIBEVENT_DIR}/event.c ${LIBEVENT_DIR}/event_tagging.c ${LIBEVENT_DIR}/evmap.c ${LIBEVENT_DIR}/evrpc.c @@ -35,8 +35,8 @@ list(APPEND SRCFILES ${LIBEVENT_DIR}/buffer.c #file(GLOB SRCFILES ${LIBEVENT_DIR}/*.c) message(STATUS "DIR_LIST :- " ${DIR_LIST}) -configure_file(${LIBEVENT_DIR}/evconfig-private.h.cmake ${LIBEVENT_DIR}/evconfig-private.h) -configure_file(${LIBEVENT_DIR}/event-config.h.cmake ${LIBEVENT_DIR}/include/event2/event-config.h) +#configure_file(${LIBEVENT_DIR}/evconfig-private.h.cmake ${LIBEVENT_DIR}/evconfig-private.h) +#configure_file(${LIBEVENT_DIR}/event-config.h.cmake ${LIBEVENT_DIR}/include/event2/event-config.h) add_library(${PACKAGE_NAME} SHARED ${SRCFILES}) install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/) target_link_libraries(${PACKAGE_NAME}) diff --git a/android/third-party/LibEvent/build.gradle b/android/third-party/LibEvent/build.gradle index 09a727005..30e085418 100644 --- a/android/third-party/LibEvent/build.gradle +++ b/android/third-party/LibEvent/build.gradle @@ -8,7 +8,7 @@ android { minSdkVersion rootProject.minSdkVersion targetSdkVersion rootProject.targetSdkVersion ndk { - abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' + abiFilters 'arm64-v8a' } externalNativeBuild { @@ -27,7 +27,8 @@ android { } externalNativeBuild { cmake { - path './CMakeLists.txt' + path 'libevent-release-2.1.8-stable/CMakeLists.txt' } } } +//'x86', 'x86_64', 'armeabi-v7a', diff --git a/android/third-party/LibEvent/libs/armeabi-v7a/libevent.a b/android/third-party/LibEvent/libs/armeabi-v7a/libevent.a new file mode 100644 index 000000000..59b8ce1e7 Binary files /dev/null and b/android/third-party/LibEvent/libs/armeabi-v7a/libevent.a differ diff --git a/android/third-party/LibEvent/libs/armeabi/libevent.a b/android/third-party/LibEvent/libs/armeabi/libevent.a new file mode 100644 index 000000000..c3a77095d Binary files /dev/null and b/android/third-party/LibEvent/libs/armeabi/libevent.a differ diff --git a/android/third-party/LibEvent/libs/x86/libevent.a b/android/third-party/LibEvent/libs/x86/libevent.a new file mode 100644 index 000000000..97e22ee79 Binary files /dev/null and b/android/third-party/LibEvent/libs/x86/libevent.a differ