commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 06/11: volk: test for clang version; if les


From: git
Subject: [Commit-gnuradio] [gnuradio] 06/11: volk: test for clang version; if less than 3.2, disable SSE4a machine due to a bug in the compiler support.
Date: Thu, 9 Jan 2014 21:52:39 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

trondeau pushed a commit to branch maint
in repository gnuradio.

commit 8401e6ba4a1e74474accfd7b8e815ca7717d3b23
Author: Tom Rondeau <address@hidden>
Date:   Sat Dec 28 14:02:40 2013 -0500

    volk: test for clang version; if less than 3.2, disable SSE4a machine due 
to a bug in the compiler support.
---
 volk/lib/CMakeLists.txt | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/volk/lib/CMakeLists.txt b/volk/lib/CMakeLists.txt
index dfb4e5f..2727a91 100644
--- a/volk/lib/CMakeLists.txt
+++ b/volk/lib/CMakeLists.txt
@@ -176,6 +176,21 @@ if(${HAVE_CVTPI32_PS})
     add_definitions(-DHAVE_CVTPI32_PS)
 endif()
 
+if("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
+  execute_process(COMMAND ${CMAKE_C_COMPILER} --version
+    OUTPUT_VARIABLE cmake_c_compiler_version)
+
+  # Exctract the Clang version from the --version string.
+  # In cmake 2.8.10, we can just use CMAKE_C_COMPILER_VERSION
+  # without having to go through these string manipulations
+  string(FIND ${cmake_c_compiler_version} "LLVM " clang_version_index)
+  string(SUBSTRING ${cmake_c_compiler_version} ${clang_version_index} 8 
clang_version)
+  string(SUBSTRING ${clang_version} 5 3 CMAKE_C_COMPILER_VERSION)
+  if(CMAKE_C_COMPILER_VERSION VERSION_LESS "3.2")
+    OVERRULE_ARCH(sse4_a "Clang >= 3.2 required for SSE4a")
+  endif(CMAKE_C_COMPILER_VERSION VERSION_LESS "3.2")
+endif("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
+
 ########################################################################
 # implement overruling in the ORC case,
 # since ORC always passes flag detection



reply via email to

[Prev in Thread] Current Thread [Next in Thread]