Hello community, here is the log from the commit of package Mesa for openSUSE:Factory checked in at 2017-10-19 19:31:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/Mesa (Old) and /work/SRC/openSUSE:Factory/.Mesa.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "Mesa" Thu Oct 19 19:31:25 2017 rev:304 rq:534472 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/Mesa/Mesa.changes 2017-10-07 17:48:09.397921455 +0200 +++ /work/SRC/openSUSE:Factory/.Mesa.new/Mesa.changes 2017-10-19 19:31:26.590823571 +0200 @@ -1,0 +2,22 @@ +Tue Oct 17 13:55:17 UTC 2017 - m...@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 - sch...@suse.de + +- svga is x86-only +- u_svga-Fix-build-on-ppc64le.patch: Remove + +------------------------------------------------------------------- +Wed Oct 11 13:26:07 UTC 2017 - m...@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. + +------------------------------------------------------------------- Old: ---- u_svga-Fix-build-on-ppc64le.patch New: ---- U_configure.ac-rework-llvm-libs-handling-for-3.9.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ Mesa.spec ++++++ --- /var/tmp/diff_new_pack.ysGaur/_old 2017-10-19 19:31:28.938713715 +0200 +++ /var/tmp/diff_new_pack.ysGaur/_new 2017-10-19 19:31:28.942713527 +0200 @@ -84,7 +84,7 @@ 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 @@ %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 @@ %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 @@ %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 @@ %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 \ ++++++ U_configure.ac-rework-llvm-libs-handling-for-3.9.patch ++++++ Git-commit: 13a53c4f5cdd664fd155c9e78fb46a4387af006c Patch-Mainline: Upstream Author: Emil Velikov <emil.veli...@collabora.com> Subject: configure.ac: rework llvm libs handling for 3.9+ Signed-off-by: Michal Srb <m...@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-sta...@lists.freedesktop.org Cc: Dieter Nützel <die...@nuetzel-hh.de> Cc: Michel Dänzer <michel.daen...@amd.com> Signed-off-by: Emil Velikov <emil.veli...@collabora.com> Reviewed-by: Tobias Droste <tdro...@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