diff --git a/3rdparty/monero_crypto/CMakeLists.txt b/3rdparty/monero_crypto/CMakeLists.txt index 958edbd28327894497ea21c9c7b4bf6f6e8e4af9..34af01cb61fa4499f5fa863e4e87d835447432f7 100755 --- a/3rdparty/monero_crypto/CMakeLists.txt +++ b/3rdparty/monero_crypto/CMakeLists.txt @@ -109,6 +109,8 @@ else() message(STATUS "[*] Building on ${CMAKE_SYSTEM_PROCESSOR} for ${ARCH}") if(ARCH STREQUAL "default") set(ARCH_FLAG "") + elseif(ARCH STREQUAL "native") + set(ARCH_FLAG "") elseif(PPC64LE) set(ARCH_FLAG "-mcpu=${ARCH}") elseif(IOS AND ARCH STREQUAL "arm64") diff --git a/3rdparty/wolfssl/cyassl/options.h b/3rdparty/wolfssl/cyassl/options.h index e2e364e7b07848a76c297337dde5dbdb276ba3fb..5ba0ed638c285554c2c930d1d2f18dff9d47d852 100644 --- a/3rdparty/wolfssl/cyassl/options.h +++ b/3rdparty/wolfssl/cyassl/options.h @@ -113,9 +113,6 @@ extern "C" { #undef WC_RSA_PSS #define WC_RSA_PSS -#undef WOLFSSL_BASE64_ENCODE -#define WOLFSSL_BASE64_ENCODE - #undef NO_RC4 #define NO_RC4 @@ -125,15 +122,6 @@ extern "C" { #undef NO_RABBIT #define NO_RABBIT -#undef WOLFSSL_SHA224 -#define WOLFSSL_SHA224 - -#undef WOLFSSL_SHA3 -#define WOLFSSL_SHA3 - -#undef WOLFSSL_SHAKE256 -#define WOLFSSL_SHAKE256 - #undef HAVE_POLY1305 #define HAVE_POLY1305 @@ -173,12 +161,6 @@ extern "C" { #undef NO_MD4 #define NO_MD4 -#undef USE_FAST_MATH -#define USE_FAST_MATH - -#undef WOLFSSL_X86_64_BUILD -#define WOLFSSL_X86_64_BUILD - #undef WC_NO_ASYNC_THREADING #define WC_NO_ASYNC_THREADING diff --git a/3rdparty/wolfssl/wolfssl/options.h b/3rdparty/wolfssl/wolfssl/options.h index d6f39494f92ba9ec7d14c3163a7022520c978b2b..aa54bade2d2bee07571ea17a33ba8145daad7bbd 100644 --- a/3rdparty/wolfssl/wolfssl/options.h +++ b/3rdparty/wolfssl/wolfssl/options.h @@ -110,9 +110,6 @@ extern "C" { #undef WC_RSA_PSS #define WC_RSA_PSS -#undef WOLFSSL_BASE64_ENCODE -#define WOLFSSL_BASE64_ENCODE - #undef NO_RC4 #define NO_RC4 @@ -122,15 +119,6 @@ extern "C" { #undef NO_RABBIT #define NO_RABBIT -#undef WOLFSSL_SHA224 -#define WOLFSSL_SHA224 - -#undef WOLFSSL_SHA3 -#define WOLFSSL_SHA3 - -#undef WOLFSSL_SHAKE256 -#define WOLFSSL_SHAKE256 - #undef HAVE_POLY1305 #define HAVE_POLY1305 @@ -170,12 +158,6 @@ extern "C" { #undef NO_MD4 #define NO_MD4 -#undef USE_FAST_MATH -#define USE_FAST_MATH - -#undef WOLFSSL_X86_64_BUILD -#define WOLFSSL_X86_64_BUILD - #undef WC_NO_ASYNC_THREADING #define WC_NO_ASYNC_THREADING diff --git a/CMakeLists.txt b/CMakeLists.txt index 3eda61f1a80cb4a8820114c1b06f409ff285bc8e..4fde6a830131534bbb517067f6eaec3262b50e8b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,8 +53,9 @@ endif() add_subdirectory(dap-sdk) add_subdirectory(3rdparty/monero_crypto) add_subdirectory(3rdparty/cuttdb) -add_subdirectory(3rdparty/wolfssl) - +if(DAPSDK_MODULES MATCHES "ssl-support") + add_subdirectory(3rdparty/wolfssl) +endif() add_subdirectory(modules/) diff --git a/cmake/OS_Detection.cmake b/cmake/OS_Detection.cmake index daa8d412dd469c35b759a64d5fed87965a0f197a..161a5b8fa690764c43d26f5e2f027b1c8119834c 100644 --- a/cmake/OS_Detection.cmake +++ b/cmake/OS_Detection.cmake @@ -53,7 +53,14 @@ if(UNIX) set(BSD ON) if (${_CMAKE_OSX_SYSROOT_PATH} MATCHES "MacOS") set(MACOS ON) - add_definitions("-DDAP_OS_MAC") + # on macOS "uname -m" returns the architecture (x86_64 or arm64) + execute_process( + COMMAND uname -m + RESULT_VARIABLE result + OUTPUT_VARIABLE MACOS_ARCH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + add_definitions("-DDAP_OS_MAC -DDAP_OS_MAC_ARCH=${MACOS_ARCH}") endif() if (${_CMAKE_OSX_SYSROOT_PATH} MATCHES "iOS") set(IOS ON) diff --git a/dap-sdk/CMakeLists.txt b/dap-sdk/CMakeLists.txt index d327eb51f2fb6f7ae09d68e9746e1e8b850a1a5a..9a6f3fa6394bd90cbc3d3d93c2aae300b843a209 100644 --- a/dap-sdk/CMakeLists.txt +++ b/dap-sdk/CMakeLists.txt @@ -1,4 +1,12 @@ -set(DAP_SDK_NATIVE_VERSION "2.2-1") +set(DAP_SDK_NATIVE_VERSION "2.2-2") + +# We switch off SSL until its not switched on back +if(DAPSDK_MODULES MATCHES "ssl-support") + add_definitions("-DDAP_NET_CLIENT_SSL") +else() + add_definitions("-DDAP_NET_CLIENT_NO_SSL") +endif() + # Core, add it always add_subdirectory(core) if (DAPSDK_MODULES MATCHES "crypto") diff --git a/dap-sdk/core/libdap.pri b/dap-sdk/core/libdap.pri index 0842a446f947c580a624d8c0f89024c03374b4de..e7b623806bf0cd51818aa5029f0135470e2ccb05 100755 --- a/dap-sdk/core/libdap.pri +++ b/dap-sdk/core/libdap.pri @@ -47,7 +47,9 @@ win32 { HEADERS += $$PWD/../../3rdparty/uthash/src/utlist.h \ $$PWD/../../3rdparty/uthash/src/uthash.h -#include($$PWD/../../3rdparty/wolfssl/wolfssl.pri) +if(DAPSDK_MODULES MATCHES "ssl-support") + include($$PWD/../../3rdparty/wolfssl/wolfssl.pri) +endif() # Sources itself HEADERS += $$PWD/include/dap_common.h \ diff --git a/dap-sdk/crypto/CMakeLists.txt b/dap-sdk/crypto/CMakeLists.txt index 0aa772704dde0a443c34cae77a926f11a21769c8..3badd0046895a28ec855633f5e2ba59e44263a7f 100755 --- a/dap-sdk/crypto/CMakeLists.txt +++ b/dap-sdk/crypto/CMakeLists.txt @@ -74,7 +74,11 @@ if(UNIX) endif() elseif(APPLE) if(BUILD_64) - file( GLOB XKCP_SRCS2 src/XKCP/lib/low/KeccakP-1600/OptimizedAsmX86-64/KeccakP-1600-x86-64-gas_Apple.s ) + if((MACOS) AND(MACOS_ARCH STREQUAL "x86_64") ) + file( GLOB XKCP_SRCS2 src/XKCP/lib/low/KeccakP-1600/OptimizedAsmX86-64/KeccakP-1600-x86-64-gas_Apple.s ) + else() + file( GLOB XKCP_SRCS2 src/XKCP/lib/low/KeccakP-1600/Compact64/KeccakP-1600-compact64.c ) + endif() else() file( GLOB XKCP_SRCS2 src/XKCP/lib/low/KeccakP-1600/Inplace32BI/KeccakP-1600-inplace32BI.c ) endif() diff --git a/dap-sdk/net/client/CMakeLists.txt b/dap-sdk/net/client/CMakeLists.txt index 1b51802e4b5ce2b8fd26dac1326a05bea91ce3e5..39185cc300f9dfda0ef43ae046d0adc278dbd018 100644 --- a/dap-sdk/net/client/CMakeLists.txt +++ b/dap-sdk/net/client/CMakeLists.txt @@ -7,8 +7,12 @@ file(GLOB DAP_CLIENT_HEADERS FILES include/*.h) add_library(${PROJECT_NAME} STATIC ${DAP_CLIENT_HEADERS} ${DAP_CLIENT_SOURCES}) -target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_server_core dap_http_server dap_enc_server dap_stream dap_session dap_stream_ch json-c wolfssl) +if(DAPSDK_MODULES MATCHES "ssl-support") + target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_server_core dap_http_server dap_enc_server dap_stream dap_session dap_stream_ch json-c wolfssl) +else() + target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_server_core dap_http_server dap_enc_server dap_stream dap_session dap_stream_ch json-c) +endif() if(UNIX AND NOT ANDROID AND NOT DARWIN) target_link_libraries(${PROJECT_NAME} rt) endif() diff --git a/dap-sdk/net/core/CMakeLists.txt b/dap-sdk/net/core/CMakeLists.txt index f3b6a5e2c93c96955b542c6f8c77dc6d6eb620c9..5ed51a7bfb0e11bfeeee142d2e78146cc2833d7a 100644 --- a/dap-sdk/net/core/CMakeLists.txt +++ b/dap-sdk/net/core/CMakeLists.txt @@ -19,13 +19,13 @@ endif() add_library(${PROJECT_NAME} STATIC ${DAP_SERVER_CORE_HEADERS} ${DAP_SERVER_CORE_SOURCES}) -if(WIN32) +if(DAPSDK_MODULES MATCHES "ssl-support") target_link_libraries(${PROJECT_NAME} dap_core dap_crypto wolfssl) +else() + target_link_libraries(${PROJECT_NAME} dap_core dap_crypto) endif() if(UNIX) - target_link_libraries(${PROJECT_NAME} dap_core dap_crypto wolfssl) - if(NOT ANDROID) target_link_libraries(${PROJECT_NAME} pthread) endif()