diff options
author | Matt Turner <mattst88@gentoo.org> | 2017-03-02 15:57:09 -0800 |
---|---|---|
committer | Matt Turner <mattst88@gentoo.org> | 2017-03-02 16:03:11 -0800 |
commit | 2104b7bb6990014b7e1c83dfa22f44d9af8d58ad (patch) | |
tree | 4528ffde12d10fe5a71387e30767660e3bab04ce /media-libs/mesa | |
parent | profiles: mask dev-libs/libgpg-error-1.27 (diff) | |
download | gentoo-2104b7bb6990014b7e1c83dfa22f44d9af8d58ad.tar.gz gentoo-2104b7bb6990014b7e1c83dfa22f44d9af8d58ad.tar.bz2 gentoo-2104b7bb6990014b7e1c83dfa22f44d9af8d58ad.zip |
media-libs/mesa: Apply patch to fix Clover build with AltiVec.
Bug: https://bugs.gentoo.org/587210
Bug: https://bugs.freedesktop.org/68504
Diffstat (limited to 'media-libs/mesa')
4 files changed, 146 insertions, 2 deletions
diff --git a/media-libs/mesa/files/mesa-13-clover-Work-around-build-failure-with-AltiVec.patch b/media-libs/mesa/files/mesa-13-clover-Work-around-build-failure-with-AltiVec.patch new file mode 100644 index 000000000000..0d2c65ac56e9 --- /dev/null +++ b/media-libs/mesa/files/mesa-13-clover-Work-around-build-failure-with-AltiVec.patch @@ -0,0 +1,70 @@ +From 71a2b2e8a580d2c0bee84b898d8531b27f3c7811 Mon Sep 17 00:00:00 2001 +From: Matt Turner <mattst88@gmail.com> +Date: Thu, 2 Mar 2017 04:43:21 +0000 +Subject: [PATCH] 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 <currojerez@riseup.net> +(cherry picked from commit 7d1195c1e4d071fe796bf5f210c468ea1cc86225) +--- + configure.ac | 14 ++++++++++++++ + src/gallium/state_trackers/clover/Makefile.am | 3 +++ + 2 files changed, 17 insertions(+) + +diff --git a/configure.ac b/configure.ac +index fd78fbb..3646e45 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1974,6 +1974,20 @@ 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 8abcfec..edf1e26 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 = \ +-- +2.10.2 + diff --git a/media-libs/mesa/files/mesa-17-clover-Work-around-build-failure-with-AltiVec.patch b/media-libs/mesa/files/mesa-17-clover-Work-around-build-failure-with-AltiVec.patch new file mode 100644 index 000000000000..87f5f9d0143d --- /dev/null +++ b/media-libs/mesa/files/mesa-17-clover-Work-around-build-failure-with-AltiVec.patch @@ -0,0 +1,69 @@ +From 7d1195c1e4d071fe796bf5f210c468ea1cc86225 Mon Sep 17 00:00:00 2001 +From: Matt Turner <mattst88@gmail.com> +Date: Thu, 2 Mar 2017 04:43:21 +0000 +Subject: [PATCH] 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 <currojerez@riseup.net> +--- + configure.ac | 14 ++++++++++++++ + src/gallium/state_trackers/clover/Makefile.am | 3 +++ + 2 files changed, 17 insertions(+) + +diff --git a/configure.ac b/configure.ac +index a3d1a00..57c4b1e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2033,6 +2033,20 @@ if test "x$enable_opencl" = 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 ++ + llvm_require_version $LLVM_REQUIRED_OPENCL "opencl" + + llvm_add_default_components "opencl" +diff --git a/src/gallium/state_trackers/clover/Makefile.am b/src/gallium/state_trackers/clover/Makefile.am +index a657e5b..3213935 100644 +--- a/src/gallium/state_trackers/clover/Makefile.am ++++ b/src/gallium/state_trackers/clover/Makefile.am +@@ -32,6 +32,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) +@@ -40,6 +41,7 @@ libclllvm_la_CXXFLAGS = \ + -std=c++11 \ + $(VISIBILITY_CXXFLAGS) \ + $(LLVM_CXXFLAGS) \ ++ $(CLOVER_STD_OVERRIDE) \ + $(DEFINES) \ + $(LIBELF_CFLAGS) \ + -DLIBCLC_INCLUDEDIR=\"$(LIBCLC_INCLUDEDIR)/\" \ +@@ -50,6 +52,7 @@ libclllvm_la_SOURCES = $(LLVM_SOURCES) + + libclover_la_CXXFLAGS = \ + -std=c++11 \ ++ $(CLOVER_STD_OVERRIDE) \ + $(VISIBILITY_CXXFLAGS) + + libclover_la_LIBADD = \ +-- +2.10.2 + diff --git a/media-libs/mesa/mesa-13.0.5.ebuild b/media-libs/mesa/mesa-13.0.5.ebuild index 9e3022a4336f..83fa8ce7bd7c 100644 --- a/media-libs/mesa/mesa-13.0.5.ebuild +++ b/media-libs/mesa/mesa-13.0.5.ebuild @@ -198,7 +198,9 @@ pkg_setup() { } src_prepare() { - [[ ${PV} == 9999 ]] && eautoreconf + epatch "${FILESDIR}"/${PN}-13-clover-Work-around-build-failure-with-AltiVec.patch + + eautoreconf } multilib_src_configure() { diff --git a/media-libs/mesa/mesa-17.0.0.ebuild b/media-libs/mesa/mesa-17.0.0.ebuild index c3c5a2c4faa0..0aea8a38fb1b 100644 --- a/media-libs/mesa/mesa-17.0.0.ebuild +++ b/media-libs/mesa/mesa-17.0.0.ebuild @@ -206,7 +206,10 @@ pkg_setup() { } src_prepare() { - [[ ${PV} == 9999 ]] && eautoreconf + eapply "${FILESDIR}"/${PN}-17-clover-Work-around-build-failure-with-AltiVec.patch + + eautoreconf + eapply_user } |