summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2013-12-26 05:45:13 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2013-12-26 05:45:13 +0100
commit6709236699a6ddac0d8ab6b3ffc2ba5faf8315c5 (patch)
tree92255e3e0d3f19f12ec27d4291082703ee8fcfec
parent50639c9c2e489b13c615b5ffa9cb21f58ddc2f22 (diff)
downloadfastd-6709236699a6ddac0d8ab6b3ffc2ba5faf8315c5.tar
fastd-6709236699a6ddac0d8ab6b3ffc2ba5faf8315c5.zip
Check if the compiler supports -mpclmul
-rw-r--r--cmake/checks.cmake4
-rw-r--r--src/crypto/mac/ghash/pclmulqdq/CMakeLists.txt4
2 files changed, 8 insertions, 0 deletions
diff --git a/cmake/checks.cmake b/cmake/checks.cmake
index cd80856..225c443 100644
--- a/cmake/checks.cmake
+++ b/cmake/checks.cmake
@@ -1,9 +1,13 @@
+include(CheckCCompilerFlag)
include(CheckCSourceCompiles)
include(CheckPrototypeDefinition)
include(CheckSymbolExists)
include(CheckTypeSize)
set(CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE")
+if(ARCH_X86 OR ARCH_X86_64)
+ check_c_compiler_flag("-mpclmul" HAVE_PCLMUL)
+endif(ARCH_X86 OR ARCH_X86_64)
check_c_source_compiles("
#include <sys/types.h>
diff --git a/src/crypto/mac/ghash/pclmulqdq/CMakeLists.txt b/src/crypto/mac/ghash/pclmulqdq/CMakeLists.txt
index a11ad02..59bc09d 100644
--- a/src/crypto/mac/ghash/pclmulqdq/CMakeLists.txt
+++ b/src/crypto/mac/ghash/pclmulqdq/CMakeLists.txt
@@ -1,4 +1,8 @@
if(ARCH_X86 OR ARCH_X86_64)
+ if(NOT HAVE_PCLMUL)
+ message(FATAL_ERROR "WITH_MAC_GHASH_PCLMULQDQ enabled, but there is no compiler support for -mpclmul")
+ endif(NOT HAVE_PCLMUL)
+
fastd_mac_impl(ghash pclmulqdq
ghash_pclmulqdq.c
ghash_pclmulqdq_impl.c