From 125063b4116a0c35091888e66b225b0fb6d9624c Mon Sep 17 00:00:00 2001 From: Dmytro Bogovych Date: Wed, 17 May 2023 22:04:46 +0300 Subject: [PATCH] - cleanups in build process for Android --- src/CMakeLists.txt | 6 +++++- src/libs/ice/CMakeLists.txt | 8 ++++++-- src/libs/ice/android-ifaddrs/android-ifaddrs.h | 7 +++++-- src/libs/srtp/CMakeLists.txt | 10 ++++++++++ 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9517958c..71677af7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -73,6 +73,9 @@ message("Libraries: ${LIB_PLATFORM}") set (OPENSSL_INCLUDE ${LIB_PLATFORM}/openssl/1.1/include) message ("Using OpenSSL include files from ${OPENSSL_INCLUDE}") +add_definitions(-DUSE_OPENSSL) +include_directories(${OPENSSL_INCLUDE}) + if (CMAKE_SYSTEM MATCHES "Windows*") add_definitions (-DTARGET_WIN -D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS -D_UNICODE -D_CRT_SECURE_NO_WARNINGS) endif() @@ -199,9 +202,10 @@ endif() target_link_libraries(rtphone + ${LIBS} ${OPENSSL_SSL} ${OPENSSL_CRYPTO} - ${LIBS} ) + ) target_include_directories(rtphone diff --git a/src/libs/ice/CMakeLists.txt b/src/libs/ice/CMakeLists.txt index c53b85b1..4e117d56 100644 --- a/src/libs/ice/CMakeLists.txt +++ b/src/libs/ice/CMakeLists.txt @@ -1,7 +1,7 @@ project (ice_stack) -# Rely on C++ 11 -set (CMAKE_CXX_STANDARD 11) +# Rely on C++ 17 +set (CMAKE_CXX_STANDARD 17) set (CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) @@ -34,6 +34,10 @@ set (ICE_STACK_SOURCES ICEAddress.cpp ICETime.cpp ICETransactionList.cpp) +if (ANDROID_ABI) + set (ICE_STACK_SOURCES ${ICE_STACK_SOURCES} android-ifaddrs/android-ifaddrs.h android-ifaddrs/android-ifaddrs.c) +endif() + if (TARGET_MUSL) add_definitions(-DTARGET_MUSL) endif() diff --git a/src/libs/ice/android-ifaddrs/android-ifaddrs.h b/src/libs/ice/android-ifaddrs/android-ifaddrs.h index 8ad4647f..89f33447 100644 --- a/src/libs/ice/android-ifaddrs/android-ifaddrs.h +++ b/src/libs/ice/android-ifaddrs/android-ifaddrs.h @@ -25,8 +25,10 @@ #ifndef _IFADDRS_H_ #define _IFADDRS_H_ -/* -struct ifaddrs { + +#include + +/*struct ifaddrs { struct ifaddrs *ifa_next; char *ifa_name; unsigned int ifa_flags; @@ -36,6 +38,7 @@ struct ifaddrs { void *ifa_data; }; */ + /* * This may have been defined in . Note that if is * to be included it must be included before this header file. diff --git a/src/libs/srtp/CMakeLists.txt b/src/libs/srtp/CMakeLists.txt index 9d7c9d2d..df7c4a57 100644 --- a/src/libs/srtp/CMakeLists.txt +++ b/src/libs/srtp/CMakeLists.txt @@ -46,4 +46,14 @@ else() set (PLATFORM_DEFINES HAVE_WINSOCK2_H) endif() +if (ANDROID_ABI) + if (CMAKE_ANDROID_ARCH_ABI MATCHES "arm.*") + set (PLATFORM_DEFINES ${PLATFORM_DEFINES} CPU_RISC) + else() + set (PLATFORM_DEFINES ${PLATFORM_DEFINES} CPU_CISC) + endif() +else() + set (PLATFORM_DEFINES ${PLATFORM_DEFINES} CPU_CISC) +endif() + target_compile_definitions(srtp PUBLIC -DHAVE_INTTYPES_H -D${PLATFORM_DEFINES})