Mesa (master): meson: Override C++ standard to gnu++11 when building with altivec on ppc64
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Dec 28 19:08:51 UTC 2018
Module: Mesa
Branch: master
Commit: 133a5b838306e25b469cc514ba2ea92b4e6ce4b5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=133a5b838306e25b469cc514ba2ea92b4e6ce4b5
Author: Dylan Baker <dylan at pnwbakers.com>
Date: Tue Dec 4 13:52:19 2018 -0800
meson: Override C++ standard to gnu++11 when building with altivec on ppc64
Otherwise there will be symbol collisions for the vector name.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108943
Distro Bug: https://bugs.gentoo.org/673622
Fixes: 42ea0631f108d82554339530d6c88aa1b448af1e
("meson: build clover")
Acked-by: Matt Turner <mattst88 at gmail.com>
---
meson.build | 9 +++++++++
src/gallium/state_trackers/clover/meson.build | 3 +++
2 files changed, 12 insertions(+)
diff --git a/meson.build b/meson.build
index 9ecb8ea20c..3e4afcef13 100644
--- a/meson.build
+++ b/meson.build
@@ -648,6 +648,7 @@ if get_option('power8') != 'false'
endif
_opencl = get_option('gallium-opencl')
+clover_cpp_std = []
if _opencl != 'disabled'
if not with_gallium
error('OpenCL Clover implementation requires at least one gallium driver.')
@@ -656,6 +657,14 @@ if _opencl != 'disabled'
dep_clc = dependency('libclc')
with_gallium_opencl = true
with_opencl_icd = _opencl == 'icd'
+
+ if host_machine.cpu_family().startswith('ppc') and cpp.compiles('''
+ #if !defined(__VEC__) || !defined(__ALTIVEC__)
+ #error "AltiVec not enabled"
+ #endif''',
+ name : 'Altivec')
+ clover_cpp_std += ['cpp_std=gnu++11']
+ endif
else
dep_clc = null_dep
with_gallium_opencl = false
diff --git a/src/gallium/state_trackers/clover/meson.build b/src/gallium/state_trackers/clover/meson.build
index 1a09d8f2ca..a6729af2fb 100644
--- a/src/gallium/state_trackers/clover/meson.build
+++ b/src/gallium/state_trackers/clover/meson.build
@@ -30,6 +30,7 @@ libcltgsi = static_library(
files('tgsi/compiler.cpp', 'tgsi/invocation.hpp'),
include_directories : clover_incs,
cpp_args : [cpp_vis_args],
+ override_options : clover_cpp_std,
)
libclllvm = static_library(
@@ -56,6 +57,7 @@ libclllvm = static_library(
)),
],
dependencies : [dep_llvm, dep_elf],
+ override_options : clover_cpp_std,
)
clover_files = files(
@@ -119,4 +121,5 @@ libclover = static_library(
include_directories : clover_incs,
cpp_args : [clover_cpp_args, cpp_vis_args],
link_with : [libcltgsi, libclllvm],
+ override_options : clover_cpp_std,
)
More information about the mesa-commit
mailing list