Accepting request 534472 from X11:XOrg

1

OBS-URL: https://build.opensuse.org/request/show/534472
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Mesa?expand=0&rev=304
This commit is contained in:
Dominique Leuenberger 2017-10-19 17:31:25 +00:00 committed by Git OBS Bridge
commit 55633f31ce
4 changed files with 135 additions and 31 deletions

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Tue Oct 17 13:55:17 UTC 2017 - msrb@suse.com
- U_configure.ac-rework-llvm-libs-handling-for-3.9.patch
* llvm-config 3.9 and higher works properly, use its values
instead of guessing. Fixes build against llvm built as single
shared library.
-------------------------------------------------------------------
Thu Oct 12 12:29:38 UTC 2017 - schwab@suse.de
- svga is x86-only
- u_svga-Fix-build-on-ppc64le.patch: Remove
-------------------------------------------------------------------
Wed Oct 11 13:26:07 UTC 2017 - msrb@suse.com
- Add build dependency on clang-devel-static.
* Required with new llvm4 build mode (bnc#1049703).
* Also rename dependency llvm-clang-devel to clang-devel. The
llvm-clang-devel is old name kept around for compatibility.
-------------------------------------------------------------------
Wed Oct 4 09:51:03 UTC 2017 - sndirsch@suse.com

View File

@ -84,7 +84,7 @@ Patch21: n_Define-GLAPIVAR-separate-from-GLAPI.patch
Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
Patch42: u_r600-Add-support-for-B5G5R5A1.patch
Patch43: u_svga-Fix-build-on-ppc64le.patch
Patch43: U_configure.ac-rework-llvm-libs-handling-for-3.9.patch
BuildRequires: autoconf >= 2.60
BuildRequires: automake
@ -163,8 +163,9 @@ BuildRequires: ncurses-devel
%endif
%if 0%{with_opencl}
BuildRequires: clang-devel
BuildRequires: clang-devel-static
BuildRequires: libclc
BuildRequires: llvm-clang-devel
%endif
%if 0%{?libglvnd}
@ -391,8 +392,8 @@ applications using the OpenGL|ES 3.x APIs.
%package -n libOSMesa8
Summary: Mesa Off-screen rendering extension
# Wrongly named package shipped .so.8
Group: System/Libraries
# Wrongly named package shipped .so.8
Obsoletes: libOSMesa9 < %{version}-%{release}
Provides: libOSMesa9 = %{version}-%{release}
@ -498,8 +499,8 @@ implementation of Mesa.
%package libd3d
Summary: Mesa Direct3D9 state tracker
# Manually provide d3d library (bnc#918294)
Group: System/Libraries
# Manually provide d3d library (bnc#918294)
%ifarch x86_64 s390x ppc64le aarch64
Provides: d3dadapter9.so.1()(64bit)
%else
@ -727,7 +728,7 @@ autoreconf -fvi
%ifarch ppc64 ppc64le
--enable-xa \
--with-dri-drivers=nouveau \
--with-gallium-drivers=r300,r600,nouveau,swrast,svga \
--with-gallium-drivers=r300,r600,nouveau,swrast \
%endif
%ifarch ia64 ppc hppa s390 s390x
--with-dri-drivers=swrast \

View File

@ -0,0 +1,107 @@
Git-commit: 13a53c4f5cdd664fd155c9e78fb46a4387af006c
Patch-Mainline: Upstream
Author: Emil Velikov <emil.velikov@collabora.com>
Subject: configure.ac: rework llvm libs handling for 3.9+
Signed-off-by: Michal Srb <msrb@suse.com>
Earlier versions need different quirks, but as of LLVM 3.9 llvm-config
provides --link-shared/link-static toggles.
The output of which seems to be reliable - looking at LLVM 3.9, 4.0 and
5.0.
Note that there are earlier code will be used for pre LLVM 3.9 and is
unchanged.
This effectively fixes LLVM static linking, while providing a clearer
and more robust solution for future versions.
Mildly interesting side notes:
- build-mode (introduced with 3.8) was buggy with 3.8
It shows "static" when build with -DLLVM_LINK_LLVM_DYLIB=ON, yet it was
consistent with --libs. The latter shows the static libraries.
- libnames and libfiles are broken with LVM 3.9
The library prefix and extension is printed twice liblibLLVM-3.9.so.so
v2: Invoke llvm-config twice, instead of using sed, to combine the two
lines into one (Tobias)
Cc: mesa-stable@lists.freedesktop.org
Cc: Dieter Nützel <Dieter@nuetzel-hh.de>
Cc: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Tobias Droste <tdroste@gmx.de>
---
configure.ac | 30 ++++++++++++++++++++----------
1 file changed, 20 insertions(+), 10 deletions(-)
Index: mesa-17.2.2/configure.ac
===================================================================
--- mesa-17.2.2.orig/configure.ac
+++ mesa-17.2.2/configure.ac
@@ -2684,44 +2684,28 @@ if test "x$enable_llvm" = xyes; then
if ! $LLVM_CONFIG --libs ${LLVM_COMPONENTS} >/dev/null; then
AC_MSG_ERROR([Calling ${LLVM_CONFIG} failed])
fi
- LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`"
-
- dnl llvm-config may not give the right answer when llvm is a built as a
- dnl single shared library, so we must work the library name out for
- dnl ourselves.
- dnl (See https://llvm.org/bugs/show_bug.cgi?id=6823)
- if test "x$enable_llvm_shared_libs" = xyes; then
- dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
- LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
- AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"], [llvm_have_one_so=yes])
-
- if test "x$llvm_have_one_so" = xyes; then
- dnl LLVM was built using auto*, so there is only one shared object.
- LLVM_LIBS="-l$LLVM_SO_NAME"
+ if test $LLVM_VERSION_MAJOR -ge 4 -o $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 9; then
+ if test "x$enable_llvm_shared_libs" = xyes; then
+ LLVM_LIBS="`$LLVM_CONFIG --link-shared --libs ${LLVM_COMPONENTS}`"
else
- dnl If LLVM was built with CMake, there will be one shared object per
- dnl component.
- AS_IF([test ! -f "$LLVM_LIBDIR/libLLVMTarget.$IMP_LIB_EXT"],
- [AC_MSG_ERROR([Could not find llvm shared libraries:
- Please make sure you have built llvm with the --enable-shared option
- and that your llvm libraries are installed in $LLVM_LIBDIR
- If you have installed your llvm libraries to a different directory you
- can use the --with-llvm-prefix= configure flag to specify this directory.
- NOTE: Mesa is attempting to use llvm shared libraries by default.
- If you do not want to build with llvm shared libraries and instead want to
- use llvm static libraries then add --disable-llvm-shared-libs to your configure
- invocation and rebuild.])])
-
- dnl We don't need to update LLVM_LIBS in this case because the LLVM
- dnl install uses a shared object for each component and we have
- dnl already added all of these objects to LLVM_LIBS.
+ dnl Invoking llvm-config with both -libs and --system-libs produces the
+ dnl two separate lines - each for the set of libraries.
+ dnl Call the program twice, effectively folding them into a single line.
+ LLVM_LIBS="`$LLVM_CONFIG --link-static --libs ${LLVM_COMPONENTS}`"
+ dnl We need to link to llvm system libs when using static libs
+ LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --link-static --system-libs`"
fi
else
- AC_MSG_WARN([Building mesa with statically linked LLVM may cause compilation issues])
- dnl We need to link to llvm system libs when using static libs
- dnl However, only llvm 3.5+ provides --system-libs
- if test $LLVM_VERSION_MAJOR -ge 4 -o $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 5; then
- LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --system-libs`"
+ LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`"
+ if test "x$enable_llvm_shared_libs" = xyes; then
+ detect_old_buggy_llvm
+ else
+ AC_MSG_WARN([Building mesa with statically linked LLVM may cause compilation issues])
+ dnl We need to link to llvm system libs when using static libs
+ dnl However, only llvm 3.5+ provides --system-libs
+ if test $LLVM_VERSION_MAJOR -ge 4 -o $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 5; then
+ LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --system-libs`"
+ fi
fi
fi
fi

View File

@ -1,26 +0,0 @@
From 96b59b70573b8fafc377b4ac04fe46a2474180da Mon Sep 17 00:00:00 2001
From: Stefan Dirsch <sndirsch@suse.de>
Date: Thu, 7 Sep 2017 11:53:21 +0200
Subject: [PATCH glx/glxglvnd] svga: Fix build on ppc64le.
This let us compile the code on ppc64le, but it no-ops the log function.
---
src/gallium/drivers/svga/svga_msg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/svga/svga_msg.c b/src/gallium/drivers/svga/svga_msg.c
index e0346dee75..611abb70f4 100755
--- a/src/gallium/drivers/svga/svga_msg.c
+++ b/src/gallium/drivers/svga/svga_msg.c
@@ -57,7 +57,7 @@
#define HIGH_WORD(X) ((X & 0xFFFF0000) >> 16)
-#if defined(PIPE_CC_GCC) && (PIPE_CC_GCC_VERSION > 502)
+#if defined(PIPE_CC_GCC) && (PIPE_CC_GCC_VERSION > 502) && !defined(USE_PPC64LE_ASM)
/**
* Hypervisor-specific bi-directional communication channel. Should never
--
2.13.5