aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/dri/Makefile4
-rw-r--r--graphics/dri/pkg-plist3
-rw-r--r--graphics/gbm/Makefile2
-rw-r--r--graphics/libEGL/Makefile3
-rw-r--r--graphics/libGL/Makefile8
-rw-r--r--graphics/libGL/Makefile.common28
-rw-r--r--graphics/libGL/Makefile.targets9
-rw-r--r--graphics/libGL/distinfo5
-rw-r--r--graphics/libGL/files/configure.ac67
-rw-r--r--graphics/libGL/files/patch-configure523
-rw-r--r--graphics/libGL/files/patch-include__GL__internal__dri_interface.h4
-rw-r--r--graphics/libGL/files/patch-src__gallium__auxiliary__pipe-loader__pipe_loader_drm.c14
-rw-r--r--graphics/libGL/files/patch-src__gallium__include__pipe__p_config.h10
-rw-r--r--graphics/libGL/files/patch-src__gallium__state_trackers__clover__util__range.hpp11
-rw-r--r--graphics/libGL/files/patch-src__gallium__winsys__svga__drm__vmw_screen_ioctl.c10
-rw-r--r--graphics/libGL/files/patch-src__loader__Makefile.in11
-rw-r--r--graphics/libGL/files/patch-src__loader__loader.c91
-rw-r--r--graphics/libGL/files/patch-src__mapi__entry_x86-64_tls.h13
-rw-r--r--graphics/libGL/files/patch-src__mapi__entry_x86_tls.h13
-rw-r--r--graphics/libGL/files/patch-src__mapi__entry_x86_tsd.h13
-rw-r--r--graphics/libGL/files/patch-src__mapi__glapi__gen__gl_gentable.py6
-rw-r--r--graphics/libGL/files/patch-src__mesa__main__compiler.h6
-rw-r--r--graphics/libGL/files/patch-src_gallium_auxiliary_util_u__network.c11
-rw-r--r--graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_invocation.cpp30
-rw-r--r--graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_metadata.hpp13
-rw-r--r--graphics/libGL/files/patch-src_intel_tools_aubinator.c14
-rw-r--r--graphics/libGL/files/patch-src_util_ralloc.c6
-rw-r--r--graphics/libGL/files/patch-src_util_u__endian.h11
-rw-r--r--graphics/libGL/files/src__loader__Makefile.am12
-rw-r--r--graphics/libGL/pkg-plist2
-rw-r--r--graphics/libglapi/Makefile2
-rw-r--r--graphics/libglesv2/Makefile2
-rw-r--r--graphics/libglesv2/pkg-plist1
-rw-r--r--graphics/libosmesa/distinfo2
-rw-r--r--lang/clover/Makefile4
35 files changed, 538 insertions, 426 deletions
diff --git a/graphics/dri/Makefile b/graphics/dri/Makefile
index 1afb11b0af45..2a0f2a1d532f 100644
--- a/graphics/dri/Makefile
+++ b/graphics/dri/Makefile
@@ -12,8 +12,8 @@ LIB_DEPENDS= libdrm.so:graphics/libdrm \
libexpat.so:textproc/expat2
USES= ssl
-USE_XORG= glproto x11 xext xxf86vm xdamage xfixes dri2proto \
- presentproto xvmc xshmfence
+USE_XORG= dri2proto dri3proto glproto presentproto x11 xext xdamage \
+ xfixes xshmfence xv xvmc xxf86vm
OPTIONS_DEFINE= TEXTURE
OPTIONS_DEFAULT=TEXTURE
diff --git a/graphics/dri/pkg-plist b/graphics/dri/pkg-plist
index fcf4d2bec4cb..f342a4e6c4b9 100644
--- a/graphics/dri/pkg-plist
+++ b/graphics/dri/pkg-plist
@@ -13,13 +13,12 @@
@comment include/GL/glxext.h
include/GL/internal/dri_interface.h
@comment include/GL/osmesa.h
-@comment include/GL/wglext.h
-@comment include/GL/wmesa.h
@comment include/GLES2/gl2.h
@comment include/GLES2/gl2ext.h
@comment include/GLES2/gl2platform.h
@comment include/GLES3/gl3.h
@comment include/GLES3/gl31.h
+@comment include/GLES3/gl32.h
@comment include/GLES3/gl3ext.h
@comment include/GLES3/gl3platform.h
@comment include/KHR/khrplatform.h
diff --git a/graphics/gbm/Makefile b/graphics/gbm/Makefile
index fbfb16a0a8e0..cd8bf5826219 100644
--- a/graphics/gbm/Makefile
+++ b/graphics/gbm/Makefile
@@ -16,7 +16,7 @@ LIB_DEPENDS+= libpthread-stubs.so:devel/libpthread-stubs \
USE_XORG= x11 xau xcb xdmcp
# stuff not needed by gbm but configure wants it
-USE_XORG+= glproto dri2proto xext xdamage xfixes presentproto \
+USE_XORG+= dri2proto dri3proto glproto presentproto xdamage xext xfixes \
xshmfence
.include <bsd.port.options.mk>
diff --git a/graphics/libEGL/Makefile b/graphics/libEGL/Makefile
index 3050b4660767..1ec603a725fd 100644
--- a/graphics/libEGL/Makefile
+++ b/graphics/libEGL/Makefile
@@ -10,14 +10,13 @@ COMMENT= OpenEGL library
LIB_DEPENDS+= libpthread-stubs.so:devel/libpthread-stubs \
libexpat.so:textproc/expat2 \
- libdevq.so:devel/libdevq \
libdrm.so:graphics/libdrm
USE_GL= gbm
USE_XORG= x11 xau xcb xdmcp
# stuff not needed by libEGL but configure wants it
-USE_XORG+= glproto dri2proto xext xdamage xfixes presentproto \
+USE_XORG+= dri2proto dri3proto glproto presentproto xdamage xext xfixes \
xshmfence
.include <bsd.port.options.mk>
diff --git a/graphics/libGL/Makefile b/graphics/libGL/Makefile
index 4874a0824daa..4bc7862e2852 100644
--- a/graphics/libGL/Makefile
+++ b/graphics/libGL/Makefile
@@ -12,8 +12,8 @@ LIB_DEPENDS+= libdrm.so:graphics/libdrm \
libglapi.so:graphics/libglapi \
libexpat.so:textproc/expat2
-USE_XORG= glproto x11 xext xxf86vm xdamage xfixes dri2proto:both \
- presentproto xshmfence
+USE_XORG= dri2proto dri3proto glproto presentproto x11 xcb xdamage xext \
+ xfixes xshmfence xxf86vm
.include <bsd.port.options.mk>
.include "${.CURDIR}/Makefile.common"
@@ -27,7 +27,7 @@ post-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/.mesa
@${MV} ${STAGEDIR}${PREFIX}/lib/libGL* \
${STAGEDIR}${PREFIX}/lib/.mesa/
- @cd ${WRKSRC}/src/mesa && ${SETENV} DESTDIR=${STAGEDIR} \
- ${MAKE_CMD} install-pkgconfigDATA install-glHEADERS
+ @cd ${WRKSRC}/src && ${SETENV} DESTDIR=${STAGEDIR} \
+ ${MAKE_CMD} install-pkgconfigDATA install-glHEADERS install-glxHEADERS
.include <bsd.port.mk>
diff --git a/graphics/libGL/Makefile.common b/graphics/libGL/Makefile.common
index 6eaa2280f7f1..ff659963b224 100644
--- a/graphics/libGL/Makefile.common
+++ b/graphics/libGL/Makefile.common
@@ -18,7 +18,7 @@
MESAVERSION= ${MESABASEVERSION}${MESASUBVERSION:C/^(.)/.\1/}
MESADISTVERSION=${MESABASEVERSION}${MESASUBVERSION:C/^(.)/-\1/}
-MESABASEVERSION= 11.2.2
+MESABASEVERSION= 13.0.4
# if there is a subversion, don't include the '-' between 7.11-rc2.
MESASUBVERSION=
@@ -29,14 +29,12 @@ DISTFILES= mesa-${MESADISTVERSION}${EXTRACT_SUFX}
MAINTAINER= x11@FreeBSD.org
BUILD_DEPENDS+= makedepend:devel/makedepend
-LIB_DEPENDS+= libdevq.so:devel/libdevq
USES+= compiler:c++11-lib bison gettext-tools gmake libtool \
- pathfix pkgconfig python:2,build shebangfix tar:xz
+ localbase pathfix pkgconfig python:2,build shebangfix tar:xz
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
-CPPFLAGS+= -isystem${LOCALBASE}/include
-LDFLAGS+= -Wl,-Y/usr/lib:${LOCALBASE}/lib
+LDFLAGS+= -Wl,-rpath=${LOCALBASE}/llvm${MESA_LLVM_VER}/lib
PKGINSTALL= ${.CURDIR}/pkg-install
PKGDEINSTALL= ${.CURDIR}/pkg-deinstall
@@ -62,13 +60,10 @@ INSTALL_TARGET= install-strip
COMPONENT= ${PORTNAME:tl:C/^lib//:C/mesa-//}
-MESA_LLVM_VER=37
+MESA_LLVM_VER=39
CONFIGURE_ARGS+= --with-sha1=libcrypto
-# DRI3 needs PRIME support in the kernel to work
-CONFIGURE_ARGS+= --disable-dri3
-
CONFIGURE_ARGS+= --enable-gbm
# There are issues that need to be fixed to use TLS model "initial-exec"
@@ -91,10 +86,9 @@ CONFIGURE_ARGS+= --enable-gles2
# Clover (OpenCL).
.if ${OPSYS} == DragonFly || \
(${OPSYS} == FreeBSD && \
- (${ARCH} == amd64 || \
- ${ARCH} == i386))
+ (${ARCH} == amd64 || ${ARCH} == i386))
-BUILD_DEPENDS+= libclc>=0.0.r222830:devel/libclc
+BUILD_DEPENDS+= libclc>=0.2.0.20160915:devel/libclc
# We need the clang port too even if it is not used to compile because
# Clover needs some of the clang includes to build.
@@ -119,14 +113,14 @@ CONFIGURE_ARGS+= --disable-opencl
CONFIGURE_ARGS+= --enable-osmesa
# gallium
-BUILD_DEPENDS+= llvm${MESA_LLVM_VER}>=3.7.1_1:devel/llvm${MESA_LLVM_VER}
+BUILD_DEPENDS+= llvm${MESA_LLVM_VER}>=3.9.0_4:devel/llvm${MESA_LLVM_VER}
.if ${COMPONENT:Mdri} != "" || ${COMPONENT:Mclover} != "" || ${COMPONENT:Megl} != ""
-RUN_DEPENDS+= llvm${MESA_LLVM_VER}>=3.7.1_1:devel/llvm${MESA_LLVM_VER}
+RUN_DEPENDS+= llvm${MESA_LLVM_VER}>=3.9.0_4:devel/llvm${MESA_LLVM_VER}
.endif
CONFIGURE_ENV+= LLVM_CONFIG=${LOCALBASE}/bin/llvm-config${MESA_LLVM_VER}
-CONFIGURE_ARGS+=--enable-gallium-llvm \
+CONFIGURE_ARGS+=--enable-gallium-llvm --enable-llvm-shared-libs \
--enable-xvmc
.if ${PORT_OPTIONS:MTEXTURE}
@@ -155,8 +149,8 @@ GALLIUM_DRIVERS= ${ALL_GALLIUM_DRIVERS}
.endif
.if ${ARCH} == powerpc || ${ARCH} == powerpc64
-DRI_DRIVERS= RADEON SWRAST
-GALLIUM_DRIVERS= RADEONSI SWRAST
+DRI_DRIVERS= RADEON R200 SWRAST
+GALLIUM_DRIVERS= R300 R600 RADEONSI SWRAST
.endif
.if ${ARCH} == sparc64 || ${ARCH} == armv6
diff --git a/graphics/libGL/Makefile.targets b/graphics/libGL/Makefile.targets
index ac2cb55102f8..0c999b52593f 100644
--- a/graphics/libGL/Makefile.targets
+++ b/graphics/libGL/Makefile.targets
@@ -6,6 +6,15 @@ post-patch:
.if ${OPSYS} == FreeBSD
@${REINPLACE_CMD} -e 's|x86_64|amd64|' \
${WRKSRC}/configure
+# Clang 3.4 in 10.x on i386 fails with the following error when using "GCC atomics"
+#
+# glsl/cache.c:613:4: error: cannot compile this atomic library call yet
+# p_atomic_add(cache->size, size); note: expanded from macro 'p_atomic_add'
+# define p_atomic_add(v, i) (void) __atomic_add_fetch((v), (i), __ATOMIC_ACQ_REL)
+#
+.if ${OSVERSION} < 1100000 && ${ARCH} == "i386"
+ @${REINPLACE_CMD} -e 's|-DUSE_GCC_ATOMIC_BUILTINS||' ${WRKSRC}/configure
+.endif
.endif
# Sed on 9.x and dragonfly don't support \< or \>
@${REINPLACE_CMD} -e 's|\\>//|[[:>:]]//|' \
diff --git a/graphics/libGL/distinfo b/graphics/libGL/distinfo
index f814e02c748b..6af249eb9851 100644
--- a/graphics/libGL/distinfo
+++ b/graphics/libGL/distinfo
@@ -1,2 +1,3 @@
-SHA256 (mesa-11.2.2.tar.xz) = 40e148812388ec7c6d7b6657d5a16e2e8dabba8b97ddfceea5197947647bdfb4
-SIZE (mesa-11.2.2.tar.xz) = 7860932
+TIMESTAMP = 1486052718
+SHA256 (mesa-13.0.4.tar.xz) = a95d7ce8f7bd5f88585e4be3144a341236d8c0fc91f6feaec59bb8ba3120e726
+SIZE (mesa-13.0.4.tar.xz) = 9164612
diff --git a/graphics/libGL/files/configure.ac b/graphics/libGL/files/configure.ac
index 5b9bf0a6cc40..9d63949fd973 100644
--- a/graphics/libGL/files/configure.ac
+++ b/graphics/libGL/files/configure.ac
@@ -1,14 +1,6 @@
---- configure.ac.orig 2015-12-21 10:05:52.000000000 +0100
-+++ configure.ac 2015-12-22 17:04:25.728359000 +0100
-@@ -78,6 +78,7 @@
- DRI3PROTO_REQUIRED=1.0
- PRESENTPROTO_REQUIRED=1.0
- LIBUDEV_REQUIRED=151
-+LIBDEVQ_REQUIRED=0.0.2
- GLPROTO_REQUIRED=1.4.14
- LIBOMXIL_BELLAGIO_REQUIRED=0.0
- LIBVA_REQUIRED=0.35.0
-@@ -743,7 +744,7 @@
+--- configure.ac.orig 2016-06-21 14:31:09.000000000 +0200
++++ configure.ac 2016-07-08 13:05:53.236433000 +0200
+@@ -871,7 +872,7 @@
[enable_dri=yes])
case "$host_os" in
@@ -17,28 +9,7 @@
dri3_default=yes
;;
*)
-@@ -1000,6 +1001,9 @@
- PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED],
- have_libudev=yes, have_libudev=no)
-
-+PKG_CHECK_MODULES([LIBDEVQ], [libdevq-1.0 >= $LIBDEVQ_REQUIRED],
-+ have_libdevq=yes, have_libdevq=no)
-+
- AC_ARG_ENABLE([sysfs],
- [AS_HELP_STRING([--enable-sysfs],
- [enable /sys PCI identification @<:@default=disabled@:>@])],
-@@ -1096,6 +1100,10 @@
- DEFINES="$DEFINES -DHAVE_LIBUDEV"
- have_pci_id=yes
- fi
-+if test "$have_libdevq" = yes; then
-+ DEFINES="$DEFINES -DHAVE_LIBDEVQ"
-+ have_pci_id=yes
-+fi
-
- if test "$have_sysfs" = yes; then
- DEFINES="$DEFINES -DHAVE_SYSFS"
-@@ -1228,6 +1236,23 @@
+@@ -1540,6 +1548,19 @@
;;
gnu*)
DEFINES="$DEFINES -DHAVE_ALIAS"
@@ -47,10 +18,6 @@
+ DEFINES="$DEFINES -DHAVE_DRI3"
+ fi
+
-+ if test "x$have_libdevq" != xyes; then
-+ AC_MSG_ERROR([libdevq required for building DRI])
-+ fi
-+
+ case "$host_cpu" in
+ powerpc* | sparc*)
+ # Build only the drivers for cards that exist on PowerPC/sparc
@@ -62,16 +29,7 @@
;;
cygwin*)
if test "x$with_dri_drivers" = "xyes"; then
-@@ -1384,6 +1409,8 @@
- AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)
- if test "x$need_pci_id$have_libudev" = xyesyes; then
- GBM_PC_REQ_PRIV="libudev >= $LIBUDEV_REQUIRED"
-+elif test "x$need_libdevq" = xyes; then
-+ GBM_PC_REQ_PRIV="libdevq-1.0 >= $LIBDEVQ_REQUIRED"
- else
- GBM_PC_REQ_PRIV=""
- fi
-@@ -1545,9 +1572,19 @@
+@@ -1921,9 +1948,19 @@
AC_MSG_ERROR([cannot enable OpenCL without Gallium])
fi
@@ -91,7 +49,20 @@
if test "x$have_libclc" = xno; then
AC_MSG_ERROR([pkg-config cannot find libclc.pc which is required to build clover.
-@@ -1815,8 +1852,6 @@
+@@ -2102,9 +2139,9 @@
+ strip_unwanted_llvm_flags() {
+ # Use \> (marks the end of the word)
+ echo `$1` | sed \
+- -e 's/-march=\S*//g' \
+- -e 's/-mtune=\S*//g' \
+- -e 's/-mcpu=\S*//g' \
++ -e 's/-march=[[:graph:]]* //g' \
++ -e 's/-mtune=[[:graph:]]* //g' \
++ -e 's/-mcpu=[[:graph:]]* //g' \
+ -e 's/-DNDEBUG\>//g' \
+ -e 's/-D_GNU_SOURCE\>//g' \
+ -e 's/-pedantic\>//g' \
+@@ -2196,8 +2233,6 @@
CLANG_LIBDIR=${LLVM_LIBDIR}
fi
CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
diff --git a/graphics/libGL/files/patch-configure b/graphics/libGL/files/patch-configure
index de767d34edf9..24a359f2eed9 100644
--- a/graphics/libGL/files/patch-configure
+++ b/graphics/libGL/files/patch-configure
@@ -1,43 +1,288 @@
---- configure.orig 2015-12-22 17:04:20.271630000 +0100
-+++ configure 2015-12-22 17:05:17.669976000 +0100
-@@ -858,6 +858,8 @@
- GLPROTO_CFLAGS
- XLIBGL_LIBS
- XLIBGL_CFLAGS
-+LIBDEVQ_LIBS
-+LIBDEVQ_CFLAGS
- LIBUDEV_LIBS
- LIBUDEV_CFLAGS
- MESA_LLVM
-@@ -1156,6 +1158,8 @@
- LIBDRM_LIBS
- LIBUDEV_CFLAGS
- LIBUDEV_LIBS
-+LIBDEVQ_CFLAGS
-+LIBDEVQ_LIBS
- XLIBGL_CFLAGS
- XLIBGL_LIBS
- GLPROTO_CFLAGS
-@@ -1966,6 +1970,10 @@
- C compiler flags for LIBUDEV, overriding pkg-config
- LIBUDEV_LIBS
- linker flags for LIBUDEV, overriding pkg-config
-+ LIBDEVQ_CFLAGS
-+ C compiler flags for LIBDEVQ, overriding pkg-config
-+ LIBDEVQ_LIBS
-+ linker flags for LIBDEVQ, overriding pkg-config
- XLIBGL_CFLAGS
- C compiler flags for XLIBGL, overriding pkg-config
- XLIBGL_LIBS linker flags for XLIBGL, overriding pkg-config
-@@ -5246,6 +5254,7 @@
- DRI3PROTO_REQUIRED=1.0
- PRESENTPROTO_REQUIRED=1.0
- LIBUDEV_REQUIRED=151
-+LIBDEVQ_REQUIRED=0.0.2
- GLPROTO_REQUIRED=1.4.14
- LIBOMXIL_BELLAGIO_REQUIRED=0.0
- LIBVA_REQUIRED=0.35.0
-@@ -21035,7 +21044,7 @@
+--- configure.orig 2017-01-05 15:52:21 UTC
++++ configure
+@@ -1962,7 +1962,7 @@ Optional Features:
+ Disable writable .text section on x86 (decreases
+ performance) [default=disabled]
+ --enable-gallium-llvm build gallium LLVM support [default=enabled on
+- x86/x86_64]
++ x86/amd64]
+ --enable-llvm-shared-libs
+ link with LLVM shared libraries [default=enabled]
+ --enable-valgrind Build mesa with valgrind support (default: auto)
+@@ -9622,7 +9622,7 @@ mips64*-*linux*)
+ rm -rf conftest*
+ ;;
+
+-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
++amd64-*kfreebsd*-gnu|amd64-*linux*|powerpc*-*linux*| \
+ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly. Note that the listed cases only cover the
+@@ -9639,13 +9639,13 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+- x86_64-*kfreebsd*-gnu)
++ amd64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+- x86_64-*linux*)
++ amd64-*linux*)
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+- LD="${LD-ld} -m elf32_x86_64"
++ LD="${LD-ld} -m elf32_amd64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+@@ -9668,11 +9668,11 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
+ ;;
+ *64-bit*)
+ case $host in
+- x86_64-*kfreebsd*-gnu)
+- LD="${LD-ld} -m elf_x86_64_fbsd"
++ amd64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_amd64_fbsd"
+ ;;
+- x86_64-*linux*)
+- LD="${LD-ld} -m elf_x86_64"
++ amd64-*linux*)
++ LD="${LD-ld} -m elf_amd64"
+ ;;
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+@@ -9754,8 +9754,8 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+- i?86-*-solaris*|x86_64-*-solaris*)
+- LD="${LD-ld} -m elf_x86_64"
++ i?86-*-solaris*|amd64-*-solaris*)
++ LD="${LD-ld} -m elf_amd64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+@@ -11464,7 +11464,7 @@ lt_prog_compiler_static=
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+- # old Intel for x86_64, which still supported -KPIC.
++ # old Intel for amd64, which still supported -KPIC.
+ ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+@@ -11907,7 +11907,7 @@ $as_echo_n "checking whether the $compil
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
+- link_all_deplibs=unknown
++ link_all_deplibs=no
+ module_cmds=
+ module_expsym_cmds=
+ old_archive_from_new_cmds=
+@@ -12206,7 +12206,7 @@ _LT_EOF
+ wlarc=
+ else
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib'
+ fi
+ ;;
+
+@@ -12225,7 +12225,7 @@ _LT_EOF
+ _LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -12254,7 +12254,7 @@ _LT_EOF
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -12272,7 +12272,7 @@ _LT_EOF
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -12920,7 +12920,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-version-script,$lib-ver'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ export_dynamic_flag_spec='$wl-E'
+ else
+@@ -13769,7 +13769,7 @@ freebsd* | dragonfly*)
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+- library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major'
+ soname_spec='$libname$release$shared_ext$major'
+ need_version=no
+ need_lib_prefix=no
+@@ -14901,7 +14901,7 @@ striplib=
+ old_striplib=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+ $as_echo_n "checking whether stripping libraries is possible... " >&6; }
+-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+@@ -15153,7 +15153,7 @@ hardcode_automatic_CXX=no
+ inherit_rpath_CXX=no
+ module_cmds_CXX=
+ module_expsym_cmds_CXX=
+-link_all_deplibs_CXX=unknown
++link_all_deplibs_CXX=no
+ old_archive_cmds_CXX=$old_archive_cmds
+ reload_flag_CXX=$reload_flag
+ reload_cmds_CXX=$reload_cmds
+@@ -15364,7 +15364,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+ # archiving commands below assume that GNU ld is being used.
+ if test yes = "$with_gnu_ld"; then
+ archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+ export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+@@ -16056,7 +16056,7 @@ fi
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+@@ -16064,7 +16064,7 @@ fi
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib'
+ ;;
+ esac
+ archive_cmds_need_lc_CXX=no
+@@ -16096,7 +16096,7 @@ fi
+ ;;
+ *) # Version 6 and above use weak symbols
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib'
+ ;;
+ esac
+
+@@ -16107,7 +16107,7 @@ fi
+ cxx*)
+ # Compaq C++
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-version-script $wl$lib-ver'
+
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+@@ -16141,7 +16141,7 @@ fi
+ # Sun C++ 5.9
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+- archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-version-script $wl$lib-ver'
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ compiler_needs_object_CXX=yes
+@@ -16209,7 +16209,7 @@ fi
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-version-script,$lib-ver -o $lib'
+ export_dynamic_flag_spec_CXX='$wl-E'
+ whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ fi
+@@ -16844,7 +16844,7 @@ lt_prog_compiler_static_CXX=
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ ecpc* )
+- # old Intel C++ for x86_64, which still supported -KPIC.
++ # old Intel C++ for amd64, which still supported -KPIC.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-static'
+@@ -17731,7 +17731,7 @@ freebsd* | dragonfly*)
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+- library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major'
+ soname_spec='$libname$release$shared_ext$major'
+ need_version=no
+ need_lib_prefix=no
+@@ -20328,7 +20328,7 @@ if ac_fn_c_try_compile "$LINENO"; then :
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+- i?86 | x86_64 | ppc | ppc64)
++ i?86 | amd64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+@@ -20915,10 +20915,10 @@ asm_arch=""
+ $as_echo_n "checking whether to enable assembly... " >&6; }
+ test "x$enable_asm" = xno && { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+-# disable if cross compiling on x86/x86_64 since we must run gen_matypes
++# disable if cross compiling on x86/amd64 since we must run gen_matypes
+ if test "x$enable_asm" = xyes -a "x$cross_compiling" = xyes; then
+ case "$host_cpu" in
+- i?86 | x86_64 | amd64)
++ i?86 | amd64 | amd64)
+ if test "x$host_cpu" != "x$target_cpu"; then
+ enable_asm=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, cross compiling" >&5
+@@ -20937,10 +20937,10 @@ if test "x$enable_asm" = xyes; then
+ ;;
+ esac
+ ;;
+- x86_64|amd64)
++ amd64|amd64)
+ case "$host_os" in
+ linux* | *freebsd* | dragonfly* | *netbsd* | openbsd*)
+- asm_arch=x86_64
++ asm_arch=amd64
+ ;;
+ esac
+ ;;
+@@ -20959,10 +20959,10 @@ if test "x$enable_asm" = xyes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, x86" >&5
+ $as_echo "yes, x86" >&6; }
+ ;;
+- x86_64|amd64)
++ amd64|amd64)
+ DEFINES="$DEFINES -DUSE_X86_64_ASM"
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, x86_64" >&5
+-$as_echo "yes, x86_64" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, amd64" >&5
++$as_echo "yes, amd64" >&6; }
+ ;;
+ sparc)
+ DEFINES="$DEFINES -DUSE_SPARC_ASM"
+@@ -21955,7 +21955,7 @@ fi
case "$host_os" in
@@ -46,108 +291,14 @@
dri3_default=yes
;;
*)
-@@ -21543,6 +21552,78 @@
- have_libudev=yes
- fi
-
-+
-+pkg_failed=no
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBDEVQ" >&5
-+$as_echo_n "checking for LIBDEVQ... " >&6; }
-+
-+if test -n "$LIBDEVQ_CFLAGS"; then
-+ pkg_cv_LIBDEVQ_CFLAGS="$LIBDEVQ_CFLAGS"
-+ elif test -n "$PKG_CONFIG"; then
-+ if test -n "$PKG_CONFIG" && \
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdevq-1.0 >= \$LIBDEVQ_REQUIRED\""; } >&5
-+ ($PKG_CONFIG --exists --print-errors "libdevq-1.0 >= $LIBDEVQ_REQUIRED") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }; then
-+ pkg_cv_LIBDEVQ_CFLAGS=`$PKG_CONFIG --cflags "libdevq-1.0 >= $LIBDEVQ_REQUIRED" 2>/dev/null`
-+ test "x$?" != "x0" && pkg_failed=yes
-+else
-+ pkg_failed=yes
-+fi
-+ else
-+ pkg_failed=untried
-+fi
-+if test -n "$LIBDEVQ_LIBS"; then
-+ pkg_cv_LIBDEVQ_LIBS="$LIBDEVQ_LIBS"
-+ elif test -n "$PKG_CONFIG"; then
-+ if test -n "$PKG_CONFIG" && \
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdevq-1.0 >= \$LIBDEVQ_REQUIRED\""; } >&5
-+ ($PKG_CONFIG --exists --print-errors "libdevq-1.0 >= $LIBDEVQ_REQUIRED") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }; then
-+ pkg_cv_LIBDEVQ_LIBS=`$PKG_CONFIG --libs "libdevq-1.0 >= $LIBDEVQ_REQUIRED" 2>/dev/null`
-+ test "x$?" != "x0" && pkg_failed=yes
-+else
-+ pkg_failed=yes
-+fi
-+ else
-+ pkg_failed=untried
-+fi
-+
-+
-+
-+if test $pkg_failed = yes; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+
-+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-+ _pkg_short_errors_supported=yes
-+else
-+ _pkg_short_errors_supported=no
-+fi
-+ if test $_pkg_short_errors_supported = yes; then
-+ LIBDEVQ_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libdevq-1.0 >= $LIBDEVQ_REQUIRED" 2>&1`
-+ else
-+ LIBDEVQ_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libdevq-1.0 >= $LIBDEVQ_REQUIRED" 2>&1`
-+ fi
-+ # Put the nasty error message in config.log where it belongs
-+ echo "$LIBDEVQ_PKG_ERRORS" >&5
-+
-+ have_libdevq=no
-+elif test $pkg_failed = untried; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+ have_libdevq=no
-+else
-+ LIBDEVQ_CFLAGS=$pkg_cv_LIBDEVQ_CFLAGS
-+ LIBDEVQ_LIBS=$pkg_cv_LIBDEVQ_LIBS
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-+$as_echo "yes" >&6; }
-+ have_libdevq=yes
-+fi
-+
- # Check whether --enable-sysfs was given.
- if test "${enable_sysfs+set}" = set; then :
- enableval=$enable_sysfs; have_sysfs="$enableval"
-@@ -22258,6 +22339,10 @@
- DEFINES="$DEFINES -DHAVE_LIBUDEV"
- have_pci_id=yes
- fi
-+if test "$have_libdevq" = yes; then
-+ DEFINES="$DEFINES -DHAVE_LIBDEVQ"
-+ have_pci_id=yes
-+fi
-
- if test "$have_sysfs" = yes; then
- DEFINES="$DEFINES -DHAVE_SYSFS"
-@@ -22396,6 +22481,22 @@
+@@ -23968,6 +23968,18 @@ if test "x$enable_dri" = xyes; then
;;
- gnu*)
+ *freebsd* | dragonfly* | *netbsd* | openbsd*)
DEFINES="$DEFINES -DHAVE_ALIAS"
+ if test "x$enable_dri3" = xyes; then
+ DEFINES="$DEFINES -DHAVE_DRI3"
+ fi
+
-+ if test "x$have_libdevq" != xyes; then
-+ as_fn_error $? "libdevq required for building DRI" "$LINENO" 5
-+ fi
-+
+ case "$host_cpu" in
+ powerpc* | sparc*)
+ # Build only the drivers for cards that exist on PowerPC/sparc
@@ -157,18 +308,9 @@
+ ;;
+ esac
;;
- cygwin*)
- if test "x$with_dri_drivers" = "xyes"; then
-@@ -23195,6 +23296,8 @@
-
- if test "x$need_pci_id$have_libudev" = xyesyes; then
- GBM_PC_REQ_PRIV="libudev >= $LIBUDEV_REQUIRED"
-+elif test "x$need_libdevq" = xyes; then
-+ GBM_PC_REQ_PRIV="libdevq-1.0 >= $LIBDEVQ_REQUIRED"
- else
- GBM_PC_REQ_PRIV=""
- fi
-@@ -24018,9 +24121,19 @@
+ gnu*)
+ DEFINES="$DEFINES -DHAVE_ALIAS"
+@@ -25849,9 +25861,19 @@ if test "x$enable_opencl" = xyes; then
as_fn_error $? "cannot enable OpenCL without Gallium" "$LINENO" 5
fi
@@ -188,7 +330,63 @@
if test "x$have_libclc" = xno; then
as_fn_error $? "pkg-config cannot find libclc.pc which is required to build clover.
-@@ -24835,9 +24948,6 @@
+@@ -26375,26 +26397,26 @@ fi
+ strip_unwanted_llvm_flags() {
+ # Use \> (marks the end of the word)
+ echo `$1` | sed \
+- -e 's/-march=\S*//g' \
+- -e 's/-mtune=\S*//g' \
+- -e 's/-mcpu=\S*//g' \
+- -e 's/-DNDEBUG\>//g' \
+- -e 's/-D_GNU_SOURCE\>//g' \
+- -e 's/-pedantic\>//g' \
+- -e 's/-Wcovered-switch-default\>//g' \
+- -e 's/-O.\>//g' \
+- -e 's/-g\>//g' \
+- -e 's/-Wall\>//g' \
+- -e 's/-Wcast-qual\>//g' \
+- -e 's/-Woverloaded-virtual\>//g' \
+- -e 's/-fcolor-diagnostics\>//g' \
+- -e 's/-fdata-sections\>//g' \
+- -e 's/-ffunction-sections\>//g' \
+- -e 's/-fno-exceptions\>//g' \
+- -e 's/-fomit-frame-pointer\>//g' \
+- -e 's/-fvisibility-inlines-hidden\>//g' \
+- -e 's/-fPIC\>//g' \
+- -e 's/-fstack-protector-strong\>//g'
++ -e 's/-march=[:graph:]* //g' \
++ -e 's/-mtune=[:graph:]* //g' \
++ -e 's/-mcpu=[:graph:]* //g' \
++ -e 's/-DNDEBUG[[:>:]]//g' \
++ -e 's/-D_GNU_SOURCE[[:>:]]//g' \
++ -e 's/-pedantic[[:>:]]//g' \
++ -e 's/-Wcovered-switch-default[[:>:]]//g' \
++ -e 's/-O.[[:>:]]//g' \
++ -e 's/-g[[:>:]]//g' \
++ -e 's/-Wall[[:>:]]//g' \
++ -e 's/-Wcast-qual[[:>:]]//g' \
++ -e 's/-Woverloaded-virtual[[:>:]]//g' \
++ -e 's/-fcolor-diagnostics[[:>:]]//g' \
++ -e 's/-fdata-sections[[:>:]]//g' \
++ -e 's/-ffunction-sections[[:>:]]//g' \
++ -e 's/-fno-exceptions[[:>:]]//g' \
++ -e 's/-fomit-frame-pointer[[:>:]]//g' \
++ -e 's/-fvisibility-inlines-hidden[[:>:]]//g' \
++ -e 's/-fPIC[[:>:]]//g' \
++ -e 's/-fstack-protector-strong[[:>:]]//g'
+ }
+
+ llvm_check_version_for() {
+@@ -26410,7 +26432,7 @@ if test -z "$with_gallium_drivers"; then
+ fi
+ if test "x$enable_gallium_llvm" = xauto; then
+ case "$host_cpu" in
+- i*86|x86_64|amd64) enable_gallium_llvm=yes;;
++ i*86|amd64|amd64) enable_gallium_llvm=yes;;
+ esac
+ fi
+ if test "x$enable_gallium_llvm" = xyes || test "x$HAVE_RADEON_VULKAN" = xyes; then
+@@ -26670,9 +26692,6 @@ fi
CLANG_LIBDIR=${LLVM_LIBDIR}
fi
CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
@@ -198,3 +396,30 @@
fi
else
MESA_LLVM=0
+@@ -26752,7 +26771,7 @@ gallium_require_llvm() {
+ if test "x$MESA_LLVM" = x0; then
+ case "$host" in *gnux32) return;; esac
+ case "$host_cpu" in
+- i*86|x86_64|amd64) as_fn_error $? "LLVM is required to build $1 on x86 and x86_64" "$LINENO" 5;;
++ i*86|amd64|amd64) as_fn_error $? "LLVM is required to build $1 on x86 and amd64" "$LINENO" 5;;
+ esac
+ fi
+ }
+@@ -28207,7 +28226,7 @@ else
+ fi
+
+
+- if test "x$asm_arch" = xx86 -o "x$asm_arch" = xx86_64; then
++ if test "x$asm_arch" = xx86 -o "x$asm_arch" = xamd64; then
+ HAVE_X86_ASM_TRUE=
+ HAVE_X86_ASM_FALSE='#'
+ else
+@@ -28215,7 +28234,7 @@ else
+ HAVE_X86_ASM_FALSE=
+ fi
+
+- if test "x$asm_arch" = xx86_64; then
++ if test "x$asm_arch" = xamd64; then
+ HAVE_X86_64_ASM_TRUE=
+ HAVE_X86_64_ASM_FALSE='#'
+ else
diff --git a/graphics/libGL/files/patch-include__GL__internal__dri_interface.h b/graphics/libGL/files/patch-include__GL__internal__dri_interface.h
index ec9d1784cce1..292d66dd6d2b 100644
--- a/graphics/libGL/files/patch-include__GL__internal__dri_interface.h
+++ b/graphics/libGL/files/patch-include__GL__internal__dri_interface.h
@@ -1,8 +1,8 @@
GCC on 9.x doesn't allow types to be overwritten, these types are defined
in drm.h also, which causes build issues in xorg-server.
---- include/GL/internal/dri_interface.h.orig 2015-12-05 10:55:50.545108000 +0100
-+++ include/GL/internal/dri_interface.h 2015-12-05 10:56:03.408589000 +0100
+--- include/GL/internal/dri_interface.h.orig 2016-11-10 22:05:17 UTC
++++ include/GL/internal/dri_interface.h
@@ -40,13 +40,7 @@
#ifndef DRI_INTERFACE_H
#define DRI_INTERFACE_H
diff --git a/graphics/libGL/files/patch-src__gallium__auxiliary__pipe-loader__pipe_loader_drm.c b/graphics/libGL/files/patch-src__gallium__auxiliary__pipe-loader__pipe_loader_drm.c
index c8a0146d8a32..421091200061 100644
--- a/graphics/libGL/files/patch-src__gallium__auxiliary__pipe-loader__pipe_loader_drm.c
+++ b/graphics/libGL/files/patch-src__gallium__auxiliary__pipe-loader__pipe_loader_drm.c
@@ -25,9 +25,9 @@ Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
---- src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c.orig 2015-12-21 10:05:52.000000000 +0100
-+++ src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c 2015-12-22 20:18:18.734280000 +0100
-@@ -90,6 +90,14 @@ pipe_loader_drm_probe_fd(struct pipe_loa
+--- src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c.orig 2016-11-10 22:05:17 UTC
++++ src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
+@@ -215,6 +215,14 @@ pipe_loader_drm_probe_fd(struct pipe_loa
}
static int
@@ -42,7 +42,7 @@ Reviewed-by: Francisco Jerez <currojerez@riseup.net>
open_drm_render_node_minor(int minor)
{
char path[PATH_MAX];
-@@ -101,8 +109,15 @@ open_drm_render_node_minor(int minor)
+@@ -226,8 +234,15 @@ open_drm_render_node_minor(int minor)
int
pipe_loader_drm_probe(struct pipe_loader_device **devs, int ndev)
{
@@ -58,8 +58,8 @@ Reviewed-by: Francisco Jerez <currojerez@riseup.net>
+ /* Look for render nodes first */
for (i = DRM_RENDER_NODE_MIN_MINOR, j = 0;
i <= DRM_RENDER_NODE_MAX_MINOR; i++) {
- fd = open_drm_render_node_minor(i);
-@@ -115,6 +130,9 @@ pipe_loader_drm_probe(struct pipe_loader
+ struct pipe_loader_device *dev;
+@@ -241,6 +256,9 @@ pipe_loader_drm_probe(struct pipe_loader
continue;
}
@@ -69,7 +69,7 @@ Reviewed-by: Francisco Jerez <currojerez@riseup.net>
if (j < ndev) {
devs[j] = dev;
} else {
-@@ -124,6 +142,46 @@ pipe_loader_drm_probe(struct pipe_loader
+@@ -250,6 +268,46 @@ pipe_loader_drm_probe(struct pipe_loader
j++;
}
diff --git a/graphics/libGL/files/patch-src__gallium__include__pipe__p_config.h b/graphics/libGL/files/patch-src__gallium__include__pipe__p_config.h
index 539a6f995f6a..57053969e8c3 100644
--- a/graphics/libGL/files/patch-src__gallium__include__pipe__p_config.h
+++ b/graphics/libGL/files/patch-src__gallium__include__pipe__p_config.h
@@ -1,7 +1,7 @@
---- src/gallium/include/pipe/p_config.h.orig 2015-11-29 13:40:59 UTC
+--- src/gallium/include/pipe/p_config.h.orig 2016-11-10 22:05:17 UTC
+++ src/gallium/include/pipe/p_config.h
-@@ -81,6 +81,13 @@
- #define PIPE_CC_SUNPRO
+@@ -76,6 +76,13 @@
+ #define PIPE_CC_ICL
#endif
+#if defined(__sparc__) || defined(__sparc64__)
@@ -14,7 +14,7 @@
/*
* Processor architecture
-@@ -171,7 +178,7 @@
+@@ -130,7 +137,7 @@
#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) || defined(PIPE_ARCH_ARM) || defined(PIPE_ARCH_AARCH64)
#define PIPE_ARCH_LITTLE_ENDIAN
@@ -23,7 +23,7 @@
#define PIPE_ARCH_BIG_ENDIAN
#endif
-@@ -200,6 +207,12 @@
+@@ -159,6 +166,12 @@
#define PIPE_OS_ANDROID
#endif
diff --git a/graphics/libGL/files/patch-src__gallium__state_trackers__clover__util__range.hpp b/graphics/libGL/files/patch-src__gallium__state_trackers__clover__util__range.hpp
index 426ceb57206a..f54ab0601e9e 100644
--- a/graphics/libGL/files/patch-src__gallium__state_trackers__clover__util__range.hpp
+++ b/graphics/libGL/files/patch-src__gallium__state_trackers__clover__util__range.hpp
@@ -5,13 +5,7 @@ Subject: [PATCH 3/3] Work around for clang 3.4 which fails to build Clover
See:
https://bugs.freedesktop.org/show_bug.cgi?id=74098#c3
----
- src/gallium/state_trackers/clover/util/range.hpp | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/gallium/state_trackers/clover/util/range.hpp b/src/gallium/state_trackers/clover/util/range.hpp
-index afa5f77..359edda 100644
---- src/gallium/state_trackers/clover/util/range.hpp
+--- src/gallium/state_trackers/clover/util/range.hpp.orig 2016-11-10 22:05:17 UTC
+++ src/gallium/state_trackers/clover/util/range.hpp
@@ -362,6 +362,12 @@ namespace clover {
return { i, i + n };
@@ -35,6 +29,3 @@ index afa5f77..359edda 100644
map(F &&f, Rs &&... rs) {
return { std::forward<F>(f), std::forward<Rs>(rs)... };
}
---
-1.8.5.4
-
diff --git a/graphics/libGL/files/patch-src__gallium__winsys__svga__drm__vmw_screen_ioctl.c b/graphics/libGL/files/patch-src__gallium__winsys__svga__drm__vmw_screen_ioctl.c
index ae12d3f6e5b7..bc41ac9d4955 100644
--- a/graphics/libGL/files/patch-src__gallium__winsys__svga__drm__vmw_screen_ioctl.c
+++ b/graphics/libGL/files/patch-src__gallium__winsys__svga__drm__vmw_screen_ioctl.c
@@ -1,8 +1,8 @@
---- ./src/gallium/winsys/svga/drm/vmw_screen_ioctl.c.orig 2014-01-06 22:15:40.000000000 +0100
-+++ ./src/gallium/winsys/svga/drm/vmw_screen_ioctl.c 2014-02-23 22:01:50.000000000 +0100
-@@ -66,6 +66,11 @@
- */
- #define SVGA3D_SURFACE_HINT_SCANOUT (1 << 9)
+--- src/gallium/winsys/svga/drm/vmw_screen_ioctl.c.orig 2016-11-10 22:05:17 UTC
++++ src/gallium/winsys/svga/drm/vmw_screen_ioctl.c
+@@ -70,6 +70,11 @@ vmw_region_size(struct vmw_region *regio
+ return region->size;
+ }
+#if defined(__DragonFly__) || defined(__FreeBSD__) || \
+ defined(__NetBSD__) || defined(__OpenBSD__)
diff --git a/graphics/libGL/files/patch-src__loader__Makefile.in b/graphics/libGL/files/patch-src__loader__Makefile.in
deleted file mode 100644
index 5d68bfd80e0a..000000000000
--- a/graphics/libGL/files/patch-src__loader__Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/loader/Makefile.in.orig 2015-12-04 10:21:50.951759000 +0100
-+++ src/loader/Makefile.in 2015-12-04 10:27:14.391665000 +0100
-@@ -531,7 +531,7 @@
- $(LIBDRM_CFLAGS) \
- $(LIBUDEV_CFLAGS)
-
--libloader_la_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_1)
-+libloader_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBDEVQ_CFLAGS) $(am__append_1)
- libloader_la_SOURCES = $(LOADER_C_FILES)
- libloader_la_LIBADD = $(am__append_2) $(am__append_3)
- @HAVE_DRI3_TRUE@libloader_dri3_helper_la_SOURCES = \
diff --git a/graphics/libGL/files/patch-src__loader__loader.c b/graphics/libGL/files/patch-src__loader__loader.c
deleted file mode 100644
index 01def0be9f5b..000000000000
--- a/graphics/libGL/files/patch-src__loader__loader.c
+++ /dev/null
@@ -1,91 +0,0 @@
---- src/loader/loader.c.orig 2015-08-22 12:01:00.000000000 +0200
-+++ src/loader/loader.c 2015-08-24 10:50:05.251081000 +0200
-@@ -70,7 +70,7 @@
- #include <stdarg.h>
- #include <stdio.h>
- #include <string.h>
--#ifdef HAVE_LIBUDEV
-+#if defined(HAVE_LIBUDEV) || defined(HAVE_LIBDEVQ)
- #include <assert.h>
- #include <dlfcn.h>
- #include <unistd.h>
-@@ -505,6 +505,54 @@ sysfs_get_pci_id_for_fd(int fd, int *ven
- }
- #endif
-
-+#if defined(HAVE_LIBDEVQ)
-+#include <libdevq.h>
-+
-+static void *devq_handle = NULL;
-+
-+static void *
-+devq_dlopen_handle(void)
-+{
-+ if (!devq_handle) {
-+ devq_handle = dlopen("libdevq.so.0", RTLD_LOCAL | RTLD_LAZY);
-+ }
-+
-+ return devq_handle;
-+}
-+
-+static void *
-+asserted_dlsym(void *dlopen_handle, const char *name)
-+{
-+ void *result = dlsym(dlopen_handle, name);
-+ assert(result);
-+ return result;
-+}
-+
-+#define DEVQ_SYMBOL(ret, name, args) \
-+ ret (*name) args = asserted_dlsym(devq_dlopen_handle(), #name);
-+
-+static int
-+devq_get_pci_id_from_fd(int fd, int *vendor_id, int *chip_id)
-+{
-+ int ret;
-+ DEVQ_SYMBOL(int, devq_device_get_pciid_from_fd,
-+ (int fd, int *vendor_id, int *chip_id));
-+
-+ *chip_id = -1;
-+
-+ ret = devq_device_get_pciid_from_fd(fd, vendor_id, chip_id);
-+ if (ret < 0) {
-+ log_(_LOADER_WARNING, "MESA-LOADER: could not get PCI ID\n");
-+ goto out;
-+ }
-+
-+out:
-+ return (*chip_id >= 0);
-+}
-+
-+#endif
-+
-+
- #if defined(HAVE_LIBDRM)
- /* for i915 */
- #include <i915_drm.h>
-@@ -588,6 +636,10 @@ loader_get_pci_id_for_fd(int fd, int *ve
- if (sysfs_get_pci_id_for_fd(fd, vendor_id, chip_id))
- return 1;
- #endif
-+#if HAVE_LIBDEVQ
-+ if (devq_get_pci_id_from_fd(fd, vendor_id, chip_id))
-+ return 1;
-+#endif
- #if HAVE_LIBDRM
- if (drm_get_pci_id_for_fd(fd, vendor_id, chip_id))
- return 1;
-@@ -685,6 +737,13 @@ loader_get_device_name_for_fd(int fd)
- if ((result = sysfs_get_device_name_for_fd(fd)))
- return result;
- #endif
-+#if HAVE_LIBDEVQ
-+#if 0
-+/* XXX implement this function in libdevq */
-+ if ((result = devq_device_get_name_for_fd(fd)))
-+ return result;
-+#endif
-+#endif
- return result;
- }
-
diff --git a/graphics/libGL/files/patch-src__mapi__entry_x86-64_tls.h b/graphics/libGL/files/patch-src__mapi__entry_x86-64_tls.h
deleted file mode 100644
index 32d4b0577c3a..000000000000
--- a/graphics/libGL/files/patch-src__mapi__entry_x86-64_tls.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/mapi/entry_x86-64_tls.h.orig 2013-10-05 05:59:22.000000000 +0200
-+++ src/mapi/entry_x86-64_tls.h 2014-07-29 20:28:05.000000000 +0200
-@@ -63,8 +63,8 @@ entry_patch_public(void)
- {
- }
-
--static char
--x86_64_entry_start[];
-+extern char
-+x86_64_entry_start[] __attribute__((visibility("hidden")));
-
- mapi_func
- entry_get_public(int slot)
diff --git a/graphics/libGL/files/patch-src__mapi__entry_x86_tls.h b/graphics/libGL/files/patch-src__mapi__entry_x86_tls.h
deleted file mode 100644
index 51f2839b1a0c..000000000000
--- a/graphics/libGL/files/patch-src__mapi__entry_x86_tls.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/mapi/entry_x86_tls.h.orig 2013-10-05 05:59:22.000000000 +0200
-+++ src/mapi/entry_x86_tls.h 2014-07-29 20:28:05.000000000 +0200
-@@ -73,8 +73,8 @@ __asm__(".text");
- extern unsigned long
- x86_current_tls();
-
--static char x86_entry_start[];
--static char x86_entry_end[];
-+extern char x86_entry_start[] __attribute__((visibility("hidden")));
-+extern char x86_entry_end[] __attribute__((visibility("hidden")));
-
- void
- entry_patch_public(void)
diff --git a/graphics/libGL/files/patch-src__mapi__entry_x86_tsd.h b/graphics/libGL/files/patch-src__mapi__entry_x86_tsd.h
deleted file mode 100644
index 0aceed574163..000000000000
--- a/graphics/libGL/files/patch-src__mapi__entry_x86_tsd.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/mapi/entry_x86_tsd.h.orig 2013-10-05 05:59:22.000000000 +0200
-+++ src/mapi/entry_x86_tsd.h 2014-07-29 20:28:05.000000000 +0200
-@@ -60,8 +60,8 @@ __asm__(".balign 32\n"
- #include <string.h>
- #include "u_execmem.h"
-
--static const char x86_entry_start[];
--static const char x86_entry_end[];
-+extern const char x86_entry_start[] __attribute__((visibility("hidden")));
-+extern const char x86_entry_end[] __attribute__((visibility("hidden")));
-
- void
- entry_patch_public(void)
diff --git a/graphics/libGL/files/patch-src__mapi__glapi__gen__gl_gentable.py b/graphics/libGL/files/patch-src__mapi__glapi__gen__gl_gentable.py
index ac59a11e2eac..efbd90d3fc89 100644
--- a/graphics/libGL/files/patch-src__mapi__glapi__gen__gl_gentable.py
+++ b/graphics/libGL/files/patch-src__mapi__glapi__gen__gl_gentable.py
@@ -1,6 +1,6 @@
---- src/mapi/glapi/gen/gl_gentable.py.orig 2014-11-21 13:09:28.624910062 +0100
-+++ src/mapi/glapi/gen/gl_gentable.py 2014-11-21 13:10:48.294268333 +0100
-@@ -42,7 +42,7 @@
+--- src/mapi/glapi/gen/gl_gentable.py.orig 2017-01-06 02:14:06 UTC
++++ src/mapi/glapi/gen/gl_gentable.py
+@@ -44,7 +44,7 @@ header = """/* GLXEXT is the define used
#endif
#if (defined(GLXEXT) && defined(HAVE_BACKTRACE)) \\
diff --git a/graphics/libGL/files/patch-src__mesa__main__compiler.h b/graphics/libGL/files/patch-src__mesa__main__compiler.h
index b59dd4811eef..ecbf16bcd2b1 100644
--- a/graphics/libGL/files/patch-src__mesa__main__compiler.h
+++ b/graphics/libGL/files/patch-src__mesa__main__compiler.h
@@ -1,6 +1,6 @@
---- src/mesa/main/compiler.h.orig 2015-06-07 06:45:48.000000000 -0400
-+++ src/mesa/main/compiler.h 2015-06-16 05:04:53.967546000 -0400
-@@ -70,6 +70,9 @@
+--- src/mesa/main/compiler.h.orig 2016-11-10 22:05:17 UTC
++++ src/mesa/main/compiler.h
+@@ -56,6 +56,9 @@ extern "C" {
#if defined(__linux__)
#include <byteswap.h>
#define CPU_TO_LE32( x ) bswap_32( x )
diff --git a/graphics/libGL/files/patch-src_gallium_auxiliary_util_u__network.c b/graphics/libGL/files/patch-src_gallium_auxiliary_util_u__network.c
new file mode 100644
index 000000000000..618348e8f474
--- /dev/null
+++ b/graphics/libGL/files/patch-src_gallium_auxiliary_util_u__network.c
@@ -0,0 +1,11 @@
+--- src/gallium/auxiliary/util/u_network.c.orig 2016-11-10 22:05:17 UTC
++++ src/gallium/auxiliary/util/u_network.c
+@@ -6,7 +6,7 @@
+ #if defined(PIPE_SUBSYSTEM_WINDOWS_USER)
+ # include <winsock2.h>
+ # include <windows.h>
+-#elif defined(PIPE_OS_LINUX) || defined(PIPE_OS_HAIKU) || \
++#elif defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_HAIKU) || \
+ defined(PIPE_OS_APPLE) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_SOLARIS)
+ # include <sys/socket.h>
+ # include <netinet/in.h>
diff --git a/graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_invocation.cpp b/graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_invocation.cpp
new file mode 100644
index 000000000000..846c265ea3c6
--- /dev/null
+++ b/graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_invocation.cpp
@@ -0,0 +1,30 @@
+# fix errors like the following
+#
+# llvm/invocation.cpp:(.text+0x1275): undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::c_str()
+ const'
+# /usr/bin/ld: ../../../../src/gallium/state_trackers/clover/.libs/libclover.a(libclllvm_la-invocation.o): relocation R_X86_64_PC32 against `_ZNKSt3__112bas
+ic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strEv' can not be used when making a shared object; recompile with -fPIC
+# /usr/bin/ld: final link failed: Bad value
+#
+--- src/gallium/state_trackers/clover/llvm/invocation.cpp.orig 2016-11-28 15:34:30 UTC
++++ src/gallium/state_trackers/clover/llvm/invocation.cpp
+@@ -93,6 +93,8 @@ namespace {
+ return ctx;
+ }
+
++ const char* cstr(const std::string& str) { return str.c_str(); }
++
+ std::unique_ptr<clang::CompilerInstance>
+ create_compiler_instance(const target &target,
+ const std::vector<std::string> &opts,
+@@ -104,8 +106,8 @@ namespace {
+ // Parse the compiler options. A file name should be present at the end
+ // and must have the .cl extension in order for the CompilerInvocation
+ // class to recognize it as an OpenCL source file.
+- const std::vector<const char *> copts =
+- map(std::mem_fn(&std::string::c_str), opts);
++ std::vector<const char *> copts;
++ std::transform(opts.begin(), opts.end(), copts.begin(), cstr);
+
+ if (!clang::CompilerInvocation::CreateFromArgs(
+ c->getInvocation(), copts.data(), copts.data() + copts.size(), diag))
diff --git a/graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_metadata.hpp b/graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_metadata.hpp
new file mode 100644
index 000000000000..3254f70fcd62
--- /dev/null
+++ b/graphics/libGL/files/patch-src_gallium_state__trackers_clover_llvm_metadata.hpp
@@ -0,0 +1,13 @@
+# Fix error: no matching constructor for initialization of 'std::vector<const ::llvm::MDNode *>'
+#
+--- src/gallium/state_trackers/clover/llvm/metadata.hpp.orig 2016-11-10 22:05:17 UTC
++++ src/gallium/state_trackers/clover/llvm/metadata.hpp
+@@ -42,7 +42,7 @@ namespace clover {
+ get_kernel_nodes(const ::llvm::Module &mod) {
+ if (const ::llvm::NamedMDNode *n =
+ mod.getNamedMetadata("opencl.kernels"))
+- return { n->op_begin(), n->op_end() };
++ return { n->getOperand(0), n->getOperand(n->getNumOperands()) };
+ else
+ return {};
+ }
diff --git a/graphics/libGL/files/patch-src_intel_tools_aubinator.c b/graphics/libGL/files/patch-src_intel_tools_aubinator.c
new file mode 100644
index 000000000000..758f44f5949e
--- /dev/null
+++ b/graphics/libGL/files/patch-src_intel_tools_aubinator.c
@@ -0,0 +1,14 @@
+# We don't have MAP_NORESERVE so use MAP_NOSYNC | MAP_NOCORE and
+# hope for the best (this alloc is too big but it's only a test)
+#
+--- src/intel/tools/aubinator.c.orig 2016-11-28 15:34:30 UTC
++++ src/intel/tools/aubinator.c
+@@ -1226,7 +1226,7 @@ int main(int argc, char *argv[])
+ /* mmap a terabyte for our gtt space. */
+ gtt_size = 1ul << 40;
+ gtt = mmap(NULL, gtt_size, PROT_READ | PROT_WRITE,
+- MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE, -1, 0);
++ MAP_PRIVATE | MAP_ANONYMOUS | MAP_NOSYNC | MAP_NOCORE, -1, 0);
+ if (gtt == MAP_FAILED) {
+ fprintf(stderr, "failed to alloc gtt space: %s\n", strerror(errno));
+ exit(EXIT_FAILURE);
diff --git a/graphics/libGL/files/patch-src_util_ralloc.c b/graphics/libGL/files/patch-src_util_ralloc.c
index 221c2c138f4f..d99e08d101dd 100644
--- a/graphics/libGL/files/patch-src_util_ralloc.c
+++ b/graphics/libGL/files/patch-src_util_ralloc.c
@@ -1,6 +1,6 @@
---- src/util/ralloc.c.orig 2015-08-07 17:36:03 UTC
+--- src/util/ralloc.c.orig 2016-11-28 15:34:30 UTC
+++ src/util/ralloc.c
-@@ -311,6 +311,7 @@ ralloc_parent(const void *ptr)
+@@ -315,6 +315,7 @@ ralloc_parent(const void *ptr)
static void *autofree_context = NULL;
@@ -8,7 +8,7 @@
static void
autofree(void)
{
-@@ -322,7 +323,6 @@ ralloc_autofree_context(void)
+@@ -326,7 +327,6 @@ ralloc_autofree_context(void)
{
if (unlikely(autofree_context == NULL)) {
autofree_context = ralloc_context(NULL);
diff --git a/graphics/libGL/files/patch-src_util_u__endian.h b/graphics/libGL/files/patch-src_util_u__endian.h
new file mode 100644
index 000000000000..67e7bcd093ad
--- /dev/null
+++ b/graphics/libGL/files/patch-src_util_u__endian.h
@@ -0,0 +1,11 @@
+--- src/util/u_endian.h.orig 2016-11-10 22:05:17 UTC
++++ src/util/u_endian.h
+@@ -54,7 +54,7 @@
+ # define PIPE_ARCH_BIG_ENDIAN
+ #endif
+
+-#elif defined(__OpenBSD__) || defined(__NetBSD__)
++#elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
+ #include <sys/types.h>
+ #include <machine/endian.h>
+
diff --git a/graphics/libGL/files/src__loader__Makefile.am b/graphics/libGL/files/src__loader__Makefile.am
deleted file mode 100644
index 7f752bfd8ece..000000000000
--- a/graphics/libGL/files/src__loader__Makefile.am
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/loader/Makefile.am.orig 2015-02-13 11:41:50.497483000 +0100
-+++ src/loader/Makefile.am 2015-02-13 11:42:02.748812000 +0100
-@@ -30,7 +30,8 @@
- -I$(top_srcdir)/include \
- -I$(top_srcdir)/src \
- $(VISIBILITY_CFLAGS) \
-- $(LIBUDEV_CFLAGS)
-+ $(LIBUDEV_CFLAGS) \
-+ $(LIBDEVQ_CFLAGS)
-
- libloader_la_SOURCES = $(LOADER_C_FILES)
- libloader_la_LIBADD =
diff --git a/graphics/libGL/pkg-plist b/graphics/libGL/pkg-plist
index 153f4c2a6995..14112ed4b4c6 100644
--- a/graphics/libGL/pkg-plist
+++ b/graphics/libGL/pkg-plist
@@ -5,8 +5,6 @@ include/GL/glext.h
include/GL/glx.h
include/GL/glx_mangle.h
include/GL/glxext.h
-@comment include/GL/osmesa.h
-include/GL/wglext.h
lib/.mesa/libGL.so
lib/.mesa/libGL.so.1
lib/.mesa/libGL.so.1.2.0
diff --git a/graphics/libglapi/Makefile b/graphics/libglapi/Makefile
index b3f98cea3430..b5fea9edff49 100644
--- a/graphics/libglapi/Makefile
+++ b/graphics/libglapi/Makefile
@@ -13,7 +13,7 @@ LIB_DEPENDS+= libpthread-stubs.so:devel/libpthread-stubs
USE_XORG= x11 xau xcb xdmcp xvmc
# stuff not needed by libglapi but configure wants it
-USE_XORG+= glproto dri2proto xext xdamage xfixes presentproto \
+USE_XORG+= dri2proto dri3proto glproto presentproto xdamage xext xfixes \
xshmfence
LIB_DEPENDS+= libexpat.so:textproc/expat2 \
libdrm.so:graphics/libdrm
diff --git a/graphics/libglesv2/Makefile b/graphics/libglesv2/Makefile
index 26b047940442..cfd85ad8eca9 100644
--- a/graphics/libglesv2/Makefile
+++ b/graphics/libglesv2/Makefile
@@ -13,7 +13,7 @@ LIB_DEPENDS+= libdrm.so:graphics/libdrm \
libexpat.so:textproc/expat2
# stuff not needed by libglesv2 but configure wants it
-USE_XORG+= glproto dri2proto xext xdamage xfixes presentproto \
+USE_XORG+= dri2proto dri3proto glproto presentproto xdamage xext xfixes \
xshmfence
.include <bsd.port.options.mk>
diff --git a/graphics/libglesv2/pkg-plist b/graphics/libglesv2/pkg-plist
index 13b208957812..88e6d4e645c0 100644
--- a/graphics/libglesv2/pkg-plist
+++ b/graphics/libglesv2/pkg-plist
@@ -3,6 +3,7 @@ include/GLES2/gl2ext.h
include/GLES2/gl2platform.h
include/GLES3/gl3.h
include/GLES3/gl31.h
+include/GLES3/gl32.h
include/GLES3/gl3ext.h
include/GLES3/gl3platform.h
lib/.mesa/libGLESv2.so
diff --git a/graphics/libosmesa/distinfo b/graphics/libosmesa/distinfo
deleted file mode 100644
index aeb6e8b43f5b..000000000000
--- a/graphics/libosmesa/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (MesaLib-10.2.7.tar.bz2) = 27b958063a4c002071f14ed45c7d2a1ee52cd85e4ac8876e8a1c273495a7d43f
-SIZE (MesaLib-10.2.7.tar.bz2) = 7107753
diff --git a/lang/clover/Makefile b/lang/clover/Makefile
index fe30f63d9c40..64e0378ba1b4 100644
--- a/lang/clover/Makefile
+++ b/lang/clover/Makefile
@@ -14,8 +14,8 @@ LIB_DEPENDS= libdrm.so:graphics/libdrm \
RUN_DEPENDS= opencl>=0:devel/opencl
USES= ssl
-USE_XORG= glproto x11 xext xxf86vm xdamage xfixes dri2proto \
- presentproto xvmc xshmfence
+USE_XORG= dri2proto dri3proto glproto presentproto x11 xdamage xext \
+ xfixes xshmfence xvmc xxf86vm
ONLY_FOR_ARCHS= i386 amd64
ONLY_FOR_ARCHS_REASON= Clover needs a graphics driver supported by the Radeon KMS driver