]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: extract ppc64le detection into SIMDExt.cmake
authorKefu Chai <kchai@redhat.com>
Sun, 2 Apr 2017 17:01:52 +0000 (01:01 +0800)
committerKefu Chai <kchai@redhat.com>
Sun, 2 Apr 2017 17:44:17 +0000 (01:44 +0800)
Signed-off-by: Kefu Chai <kchai@redhat.com>
cmake/modules/SIMDExt.cmake
src/CMakeLists.txt

index bcc492f3af06a27c2f261c66491ace400daf9cba..43d039e10c8af48fb67c7bb13e8f9adb0f5b24bc 100644 (file)
@@ -103,5 +103,17 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|amd64|x86_64|AMD64")
   if(HAVE_INTEL_SSE4_2)
     set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.2")
   endif()
-
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64le")
+  set(HAVE_PPC64LE 1)
+  message(STATUS " we are ppc64le")
+  CHECK_C_COMPILER_FLAG("-maltivec" HAS_ALTIVEC)
+  if(HAS_ALTIVEC)
+    message(STATUS " HAS_ALTIVEC yes")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maltivec")
+    set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -maltivec")
+  endif()
+  CHECK_C_COMPILER_FLAG("-mcpu=power8" HAVE_POWER8)
+  if(HAVE_POWER8)
+    message(STATUS " HAVE_POWER8 yes")
+  endif()
 endif()
index 33cfbb8c9a03ca2c0443b0968faa65465bcdbce1..d6388e805af2a3afaaaf261777308794567cafe1 100644 (file)
@@ -81,22 +81,11 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL GNU)
   endif()
 endif(CMAKE_CXX_COMPILER_ID STREQUAL GNU)
 
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")
-  message(STATUS " we are ppc64le")
-  CHECK_C_COMPILER_FLAG("-maltivec" HAS_ALTIVEC)
-  if(HAS_ALTIVEC)
-    message(STATUS " HAS_ALTIVEC yes")
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maltivec")
-    set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -maltivec")
-  endif(HAS_ALTIVEC)
-  CHECK_C_COMPILER_FLAG("-mcpu=power8" HAVE_POWER8)
-  if(HAVE_POWER8)
-    message(STATUS " HAVE_POWER8 yes")
-  endif(HAVE_POWER8)
-else(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")
+include(SIMDExt)
+if(NOT HAVE_PPC64LE)
   set(CMAKE_ASM_COMPILER  ${PROJECT_SOURCE_DIR}/src/yasm-wrapper)
   set(CMAKE_ASM_FLAGS "-f elf64")
-endif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")
+endif()
 
 execute_process(
   COMMAND yasm -f elf64 ${CMAKE_SOURCE_DIR}/src/common/crc32c_intel_fast_asm.S -o /dev/null
@@ -600,7 +589,6 @@ set_source_files_properties(${CMAKE_SOURCE_DIR}/src/ceph_ver.c
   ${CMAKE_SOURCE_DIR}/src/test/encoding/ceph_dencoder.cc
   APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_BINARY_DIR}/src/include/ceph_ver.h)
 
-include(SIMDExt)
 if(HAVE_ARMV8_CRC)
   add_library(common_crc_aarch64 STATIC common/crc32c_aarch64.c)
   set_target_properties(common_crc_aarch64 PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} ${ARMV8_CRC_COMPILE_FLAGS}")