summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-10-15 13:14:49 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-10-15 13:14:49 +0100
commitafc42e7f860aa0552560acec89cf4f57ea84f8a7 (patch)
tree9b1a29153548915e935cc30408308d9aec83016e
parent572f8723c85c2b5100fc76269f8b0f7ecb80c399 (diff)
downloadrspamd-afc42e7f860aa0552560acec89cf4f57ea84f8a7.tar.gz
rspamd-afc42e7f860aa0552560acec89cf4f57ea84f8a7.zip
128 bit integers are not very portable.
-rw-r--r--src/libcryptobox/CMakeLists.txt14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/libcryptobox/CMakeLists.txt b/src/libcryptobox/CMakeLists.txt
index ccdfba279..3579ebc1a 100644
--- a/src/libcryptobox/CMakeLists.txt
+++ b/src/libcryptobox/CMakeLists.txt
@@ -13,7 +13,7 @@ SET(CURVESRC ${CMAKE_CURRENT_SOURCE_DIR}/curve25519/ref.c
${CMAKE_CURRENT_SOURCE_DIR}/curve25519/curve25519.c)
# For now we support only x86_64 architecture with optimizations
-IF(${ARCH} STREQUAL "x86_64")
+IF("${ARCH}" STREQUAL "x86_64")
SET(ASM_CODE "vpaddq %ymm0, %ymm0, %ymm0")
ASM_OP(HAVE_AVX2 "avx2")
SET(ASM_CODE "vpaddq %xmm0, %xmm0, %xmm0")
@@ -43,9 +43,15 @@ IF(${ARCH} STREQUAL "x86_64")
")
ASM_OP(HAVE_DOLLARMACRO "dollar macro convention")
- SET(POLYSRC ${POLYSRC} ${CMAKE_CURRENT_SOURCE_DIR}/poly1305/ref-64.c)
- SET(CURVESRC ${CURVESRC} ${CMAKE_CURRENT_SOURCE_DIR}/curve25519/curve25519-donna-c64.c)
-ELSEIF(${ARCH} STREQUAL "i386")
+ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
+ SET(POLYSRC ${POLYSRC} ${CMAKE_CURRENT_SOURCE_DIR}/poly1305/ref-64.c)
+ SET(CURVESRC ${CURVESRC} ${CMAKE_CURRENT_SOURCE_DIR}/curve25519/curve25519-donna-c64.c)
+ else()
+ SET(POLYSRC ${POLYSRC} ${CMAKE_CURRENT_SOURCE_DIR}/poly1305/ref-32.c)
+ SET(CURVESRC ${CURVESRC} ${CMAKE_CURRENT_SOURCE_DIR}/curve25519/curve25519-donna.c)
+ endif()
+
+ELSEIF("${ARCH}" STREQUAL "i386")
SET(POLYSRC ${POLYSRC} ${CMAKE_CURRENT_SOURCE_DIR}/poly1305/ref-32.c)
SET(CURVESRC ${CURVESRC} ${CMAKE_CURRENT_SOURCE_DIR}/curve25519/curve25519-donna.c)
ELSE()