freebsd-ports/graphics/libGL/files/patch-configure
Koop Mast 05360ec71e Update Mesa port to 10.6.6 and add Clover.
Add beignet 1.1.0.
Add clinfo, clblas, clfft and clrng.

The major change is that all Mesa ports are now configured the same way.
This fixes several problems and enables new features.  The details
are described in this blog post:
http://blogs.freebsdish.org/graphics/2015/03/18/unifying-mesa-ports-configure/

The second important change is the OpenCL support.  Mesa's
implementation, Clover, is enabled as well as Beignet.  Clover
targets all Gallium drivers, only Radeon GPUs in our case.  Beignet
is for Intel GPUs starting with Ivy Bridge.  Thanks to Johannes
Dieterich, O. Hartman, and Koop Mast for their work on OpenCL!  As a
bonus, there are several OpenCL-based math ports added (clblas,
clfft and clrng). For more information and known issues, please see
https://wiki.freebsd.org/Graphics/OpenCL

The third change is the removal of Mesa 9.1.7 which was installed on
FreeBSD 9.3-RELEASE.  There is now only one version of Mesa in the Ports
tree (10.6.6) for all supported versions of FreeBSD.

Other, smaller changes:

* Include libosmesa into the Mesa framework; this changes libOSMesa
  shlib version.

* bsd.mesalib.mk was renamed and split up in two files namely
  Makefile.common and Makefile.targets.  So ports can overwrite variables
  set by Makefile.common and are used by Makefile.targets.

* Some text in the pkg-descr files was wrong, clean it up.  While here,
  update the WWW to the main mesa3d.org upstream page.

* devel/clinfo was added, a glxinfo like program but for OpenCL.

Non-x86 hardware reports are very welcome since we changed the framework
quite a bit.

Obtained from:	Graphics team development repo.
2015-09-17 18:07:25 +00:00

209 lines
6.3 KiB
Text

--- configure.orig 2015-03-29 12:20:36.346485000 +0200
+++ configure 2015-03-29 12:21:17.768637000 +0200
@@ -863,6 +863,8 @@
GLPROTO_CFLAGS
XLIBGL_LIBS
XLIBGL_CFLAGS
+LIBDEVQ_LIBS
+LIBDEVQ_CFLAGS
LIBUDEV_LIBS
LIBUDEV_CFLAGS
LIBDRM_LIBS
@@ -1158,6 +1160,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
@@ -5232,6 +5240,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
@@ -6675,7 +6686,7 @@
fi
-for ac_prog in python2 python
+for ac_prog in python2.7 python2 python
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
@@ -20709,7 +20718,7 @@
case "$host_os" in
-linux*)
+linux*|freebsd*)
dri3_default=yes
;;
*)
@@ -21227,6 +21236,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"
@@ -21942,6 +22023,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"
@@ -22069,6 +22154,22 @@
;;
gnu*)
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
+ if test "x$with_dri_drivers" = "xyes"; then
+ with_dri_drivers="r200 radeon swrast"
+ fi
+ ;;
+ esac
;;
cygwin*)
if test "x$with_dri_drivers" = "xyes"; then
@@ -22889,6 +22990,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
@@ -23664,9 +23767,19 @@
as_fn_error $? "cannot enable OpenCL without Gallium" "$LINENO" 5
fi
+ if test "x$acv_mesa_CLANG" = xno; then
+
+ GCC_VERSION=`$CC -dumpversion`
+ if test $? -eq 0; then
+ GCC_VERSION_MAJOR=`echo $GCC_VERSION | cut -d. -f1`
+ GCC_VERSION_MINOR=`echo $GCC_VERSION | cut -d. -f2`
+ fi
+
if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 7; then
as_fn_error $? "gcc >= 4.7 is required to build clover" "$LINENO" 5
fi
+# end of clang test.
+ fi
if test "x$have_libclc" = xno; then
as_fn_error $? "pkg-config cannot find libclc.pc which is required to build clover.
@@ -24510,9 +24623,6 @@
CLANG_LIBDIR=${LLVM_LIBDIR}
fi
CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
- if test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"; then :
- as_fn_error $? "Could not find clang internal header stddef.h in $CLANG_RESOURCE_DIR Use --with-clang-libdir to specify the correct path to the clang libraries." "$LINENO" 5
-fi
fi
else
MESA_LLVM=0