]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #5500 from oritwas/wip-cmake-isa
authorKefu Chai <tchaikov@gmail.com>
Sat, 8 Aug 2015 04:23:23 +0000 (12:23 +0800)
committerKefu Chai <tchaikov@gmail.com>
Sat, 8 Aug 2015 04:23:23 +0000 (12:23 +0800)
cmake: check for better yasm and fix isa

Reviewed-by: Kefu Chai <kchai@redhat.com>
1  2 
src/CMakeLists.txt

index 26bbf16b9b5c061ab5d384de9d84c369f3e9590b,d879e3bd3595aca7a7e95d1a7ff095a932a13658..00981bd97c66640edcbb34c6168fc147afc9d6df
@@@ -17,18 -17,16 +17,26 @@@ message(status " ams compiler ${CMAKE_A
  set(CMAKE_ASM_FLAGS "-f elf64")
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -rdynamic -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -fPIC")
  
+ execute_process(COMMAND yasm -f elf64 -i ${CMAKE_SOURCE_DIR}/src/erasure-code/isa/isa-l/include/ ${CMAKE_SOURCE_DIR}/src/erasure-code/isa/isa-l/erasure_code/gf_vect_dot_prod_avx2.asm.s -o /dev/null
+   RESULT_VARIABLE rc
+   OUTPUT_QUIET)
+ if(NOT rc)
+   set(HAVE_BETTER_YASM_ELF64 1)
+ endif(NOT rc)
+ MESSAGE("HAVE_BETTER_YASM_ELF64=" ${HAVE_BETTER_YASM_ELF64})
  set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -ftemplate-depth-1024 -Wno-invalid-offsetof -Wnon-virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -Woverloaded-virtual")
  
 +# require c++11
 +include(CheckCXXCompilerFlag)
 +CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
 +if (COMPILER_SUPPORTS_CXX11)
 +  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
 +else()
 +  message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support.")
 +endif()
 +
 +
  set(EXTRALIBS uuid rt dl ${Boost_LIBS})
  
  if(${WITH_PROFILER})