From 1f95b5052490a94b9056cbeb531856c24e4158c0 Mon Sep 17 00:00:00 2001 From: Chris Conlon Date: Tue, 5 Sep 2023 14:29:02 -0600 Subject: [PATCH] Android example: update CMakeLists.txt for WOLFSSL_SP_MATH/WOLFSSL_SP_MATH_ALL --- android/wolfssljni-ndk-gradle/app/CMakeLists.txt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/android/wolfssljni-ndk-gradle/app/CMakeLists.txt b/android/wolfssljni-ndk-gradle/app/CMakeLists.txt index 94df6162..492b56a8 100644 --- a/android/wolfssljni-ndk-gradle/app/CMakeLists.txt +++ b/android/wolfssljni-ndk-gradle/app/CMakeLists.txt @@ -127,7 +127,7 @@ if ("$WOLFSSL_MATH_LIB" MATCHES "fastmath") elseif("${WOLFSSL_MATH_LIB}" MATCHES "spmath") # Use SP math Library - add_definitions(-DWOLFSSL_SP_MATH -DWOLFSSL_SP_MATH_ALL + add_definitions( -DWOLFSSL_HAVE_SP_RSA -DWOLFSSL_SP_4096 -DWOLFSSL_HAVE_SP_DH -DWOLFSSL_HAVE_SP_ECC -DWOLFSSL_SP_384 -DWOLFSSL_SP_521 @@ -135,14 +135,25 @@ elseif("${WOLFSSL_MATH_LIB}" MATCHES "spmath") # SP Math architecture-specific settings (ex: assembly optimizations) if("${ANDROID_ABI}" MATCHES "arm64-v8a") + # Using ASM for SP, need to use WOLFSSL_SP_MATH instead of WOLFSSL_SP_MATH_ALL + add_definitions(-DWOLFSSL_SP_MATH) add_definitions(-DWOLFSSL_SP_ASM -DWOLFSSL_SP_ARM64 -DWOLFSSL_SP_ARM64_ASM -DHAVE___UINT128_T) elseif("${ANDROID_ABI}" MATCHES "armeabi-v7a") # Add SP optimizations for ARMv7 here when available. + # Not using ASM, need to use WOLFSSL_SP_MATH_ALL for SW-only implementation + add_definitions(-DWOLFSSL_SP_MATH_ALL) elseif("${ANDROID_ABI}" MATCHES "x86_64") + # Using ASM for SP, need to use WOLFSSL_SP_MATH instead of WOLFSSL_SP_MATH_ALL + add_definitions(-DWOLFSSL_SP_MATH) add_definitions(-DWOLFSSL_SP_ASM -DWOLFSSL_SP_X86_64 -DWOLFSSL_SP_X86_64_ASM -DHAVE___UINT128_T) list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sp_x86_64_asm.S) elseif("${ANDROID_ABI}" MATCHES "x86") # Add SP optimizations for X86 here when available. + # Not using ASM, need to use WOLFSSL_SP_MATH_ALL for SW-only implementation + add_definitions(-DWOLFSSL_SP_MATH_ALL) + else() + # Not using ASM, need to use WOLFSSL_SP_MATH_ALL for SW-only implementation + add_definitions(-DWOLFSSL_SP_MATH_ALL) endif() endif()