From 3b782f6bc405971e70a090be90a2899bb6d751fc Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Thu, 2 Mar 2017 04:43:21 +0000 Subject: clover: Work around build failure with AltiVec. Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=587210 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68504 Acked-by: Francisco Jerez (cherry picked from commit 7d1195c1e4d071fe796bf5f210c468ea1cc86225) [Emil Velikov: resolve trivial conflicts] Signed-off-by: Emil Velikov Conflicts: configure.ac --- configure.ac | 15 +++++++++++++++ src/gallium/state_trackers/clover/Makefile.am | 3 +++ 2 files changed, 18 insertions(+) diff --git a/configure.ac b/configure.ac index fd78fbb05b1..16ceea8f833 100644 --- a/configure.ac +++ b/configure.ac @@ -1974,6 +1974,21 @@ if test "x$enable_opencl" = xyes; then if test "x$have_libelf" != xyes; then AC_MSG_ERROR([Clover requires libelf]) fi + + if test "x${ac_cv_cxx_compiler_gnu}" = xyes; then + altivec_enabled=no + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ + #if !defined(__VEC__) || !defined(__ALTIVEC__) + #error "AltiVec not enabled" + #endif + ])], altivec_enabled=yes) + + if test "$altivec_enabled" = yes; then + CLOVER_STD_OVERRIDE="-std=gnu++11" + fi + AC_SUBST([CLOVER_STD_OVERRIDE]) + fi + fi AM_CONDITIONAL(HAVE_CLOVER, test "x$enable_opencl" = xyes) AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$enable_opencl_icd" = xyes) diff --git a/src/gallium/state_trackers/clover/Makefile.am b/src/gallium/state_trackers/clover/Makefile.am index 8abcfec2e35..edf1e260c50 100644 --- a/src/gallium/state_trackers/clover/Makefile.am +++ b/src/gallium/state_trackers/clover/Makefile.am @@ -33,6 +33,7 @@ noinst_LTLIBRARIES = libclover.la libcltgsi.la libclllvm.la libcltgsi_la_CXXFLAGS = \ -std=c++11 \ + $(CLOVER_STD_OVERRIDE) \ $(VISIBILITY_CXXFLAGS) libcltgsi_la_SOURCES = $(TGSI_SOURCES) @@ -41,6 +42,7 @@ libclllvm_la_CXXFLAGS = \ -std=c++11 \ $(VISIBILITY_CXXFLAGS) \ $(LLVM_CXXFLAGS) \ + $(CLOVER_STD_OVERRIDE) \ $(DEFINES) \ $(LIBELF_CFLAGS) \ -DLIBCLC_INCLUDEDIR=\"$(LIBCLC_INCLUDEDIR)/\" \ @@ -51,6 +53,7 @@ libclllvm_la_SOURCES = $(LLVM_SOURCES) libclover_la_CXXFLAGS = \ -std=c++11 \ + $(CLOVER_STD_OVERRIDE) \ $(VISIBILITY_CXXFLAGS) libclover_la_LIBADD = \ -- cgit v1.2.3