]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
erasure-code: conditionally build jerasure sse3/sse4 plugins
authorJanne Grunau <j@jannau.net>
Thu, 18 Sep 2014 18:14:10 +0000 (20:14 +0200)
committerLoic Dachary <ldachary@redhat.com>
Tue, 25 Nov 2014 13:17:37 +0000 (14:17 +0100)
configure.ac
src/erasure-code/jerasure/Makefile.am
src/test/erasure-code/Makefile.am

index 28e057467361176265e4501693464da6ccc99e78..cb277bdbd8407a9c33fed1cfeee32accd0767052 100644 (file)
@@ -547,6 +547,8 @@ AC_LANG_POP([C++])
 
 # Find supported SIMD / SSE extensions supported by the compiler
 AX_INTEL_FEATURES()
+AM_CONDITIONAL(HAVE_SSSE3, [ test "x$ax_cv_support_ssse3_ext" = "xyes"])
+AM_CONDITIONAL(HAVE_SSE4_PCLMUL, [ test "x$ax_cv_support_pclmuldq_ext" = "xyes"])
 
 # kinetic osd backend?
 AC_ARG_WITH([kinetic],
index 86763af9d119f7fa5ad75e2b2be2c83b0cb3070f..142c612e4d6dced15b6310eee3abef10914b682c 100644 (file)
@@ -71,7 +71,9 @@ if LINUX
 libec_jerasure_sse3_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
 endif
 
+if HAVE_SSSE3
 erasure_codelib_LTLIBRARIES += libec_jerasure_sse3.la
+endif
 
 libec_jerasure_sse4_la_SOURCES = ${jerasure_sources}
 libec_jerasure_sse4_la_CFLAGS = ${AM_CFLAGS}  \
@@ -98,7 +100,9 @@ if LINUX
 libec_jerasure_sse4_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
 endif
 
+if HAVE_SSE4_PCLMUL
 erasure_codelib_LTLIBRARIES += libec_jerasure_sse4.la
+endif
 
 libec_jerasure_la_SOURCES = \
        erasure-code/jerasure/ErasureCodePluginSelectJerasure.cc
index 723ebe34d7639631d7c3130a8870e4b4ffe80aa1..2c10d163b4769541dc2f33f872c6ed2b9d50b3e9 100644 (file)
@@ -84,7 +84,9 @@ libec_test_jerasure_sse4_la_CFLAGS = ${AM_CFLAGS}
 libec_test_jerasure_sse4_la_CXXFLAGS= ${AM_CXXFLAGS}
 libec_test_jerasure_sse4_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
 libec_test_jerasure_sse4_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
+if HAVE_SSE4_PCLMUL
 erasure_codelib_LTLIBRARIES += libec_test_jerasure_sse4.la
+endif
 
 libec_test_jerasure_sse3_la_SOURCES = test/erasure-code/TestJerasurePluginSSE3.cc
 test/erasure-code/TestJerasurePluginSSE3.cc: ./ceph_ver.h
@@ -92,7 +94,9 @@ libec_test_jerasure_sse3_la_CFLAGS = ${AM_CFLAGS}
 libec_test_jerasure_sse3_la_CXXFLAGS= ${AM_CXXFLAGS}
 libec_test_jerasure_sse3_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
 libec_test_jerasure_sse3_la_LDFLAGS = ${AM_LDFLAGS} -export-symbols-regex '.*__erasure_code_.*'
+if HAVE_SSSE3
 erasure_codelib_LTLIBRARIES += libec_test_jerasure_sse3.la
+endif
 
 libec_test_jerasure_generic_la_SOURCES = test/erasure-code/TestJerasurePluginGeneric.cc
 test/erasure-code/TestJerasurePluginGeneric.cc: ./ceph_ver.h