AC_SUBST([OPENCL_VERSION])
dnl Versions for external dependencies
-LIBDRM_REQUIRED=2.4.60
+LIBDRM_REQUIRED=2.4.66
LIBDRM_RADEON_REQUIRED=2.4.56
LIBDRM_AMDGPU_REQUIRED=2.4.63
LIBDRM_INTEL_REQUIRED=2.4.61
LIBDRM_NVVIEUX_REQUIRED=2.4.66
LIBDRM_NOUVEAU_REQUIRED=2.4.66
-LIBDRM_FREEDRENO_REQUIRED=2.4.65
+LIBDRM_FREEDRENO_REQUIRED=2.4.67
DRI2PROTO_REQUIRED=2.6
DRI3PROTO_REQUIRED=1.0
PRESENTPROTO_REQUIRED=1.0
AM_PROG_AS
AX_CHECK_GNU_MAKE
AC_CHECK_PROGS([PYTHON2], [python2.7 python2 python])
+AC_CHECK_PROGS([PYTHON3], [python3.5 python3.4 python3])
AC_PROG_SED
AC_PROG_MKDIR_P
AC_CHECK_PROG(RM, rm, [rm -f])
AX_PROG_BISON([],
- AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-parse.c"],
+ AS_IF([test ! -f "$srcdir/src/compiler/glsl/glcpp/glcpp-parse.c"],
[AC_MSG_ERROR([bison not found - unable to compile glcpp-parse.y])]))
AX_PROG_FLEX([],
- AS_IF([test ! -f "$srcdir/src/glsl/glcpp/glcpp-lex.c"],
+ AS_IF([test ! -f "$srcdir/src/compiler/glsl/glcpp/glcpp-lex.c"],
[AC_MSG_ERROR([flex not found - unable to compile glcpp-lex.l])]))
AC_CHECK_PROG(INDENT, indent, indent, cat)
fi
fi
+if test -z "$PYTHON3"; then
+ if test ! -f "$srcdir/src/intel/genxml/gen9_pack.h"; then
+ AC_MSG_ERROR([Python3 not found - unable to generate sources])
+ fi
+fi
+
AC_PROG_INSTALL
dnl We need a POSIX shell for parts of the build. Assume we have one
AX_GCC_FUNC_ATTRIBUTE([malloc])
AX_GCC_FUNC_ATTRIBUTE([packed])
AX_GCC_FUNC_ATTRIBUTE([pure])
+AX_GCC_FUNC_ATTRIBUTE([returns_nonnull])
AX_GCC_FUNC_ATTRIBUTE([unused])
AX_GCC_FUNC_ATTRIBUTE([warn_unused_result])
+AX_GCC_FUNC_ATTRIBUTE([weak])
AM_CONDITIONAL([GEN_ASM_OFFSETS], test "x$GEN_ASM_OFFSETS" = xyes)
dnl Compiler macros
DEFINES="-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS"
AC_SUBST([DEFINES])
+android=no
case "$host_os" in
+*-android)
+ android=yes
+ ;;
linux*|*-gnu*|gnu*)
DEFINES="$DEFINES -D_GNU_SOURCE"
;;
;;
esac
+AM_CONDITIONAL(HAVE_ANDROID, test "x$android" = xyes)
+
dnl Add flags for gcc and g++
if test "x$GCC" = xyes; then
CFLAGS="$CFLAGS -Wall"
DEFINES="$DEFINES -DNDEBUG"
fi
+DEFAULT_GL_LIB_NAME=GL
+
dnl
dnl Check if linker supports -Bsymbolic
dnl
AM_CONDITIONAL(HAVE_COMPAT_SYMLINKS, test "x$HAVE_COMPAT_SYMLINKS" = xyes)
+DEFAULT_GL_LIB_NAME=GL
+
+dnl
+dnl Libglvnd configuration
+dnl
+AC_ARG_ENABLE([libglvnd],
+ [AS_HELP_STRING([--enable-libglvnd],
+ [Build for libglvnd @<:@default=disabled@:>@])],
+ [enable_libglvnd="$enableval"],
+ [enable_libglvnd=no])
+AM_CONDITIONAL(USE_LIBGLVND_GLX, test "x$enable_libglvnd" = xyes)
+#AM_COND_IF([USE_LIBGLVND_GLX], [DEFINES="${DEFINES} -DUSE_LIBGLVND_GLX=1"])
+if test "x$enable_libglvnd" = xyes ; then
+ DEFINES="${DEFINES} -DUSE_LIBGLVND_GLX=1"
+ DEFAULT_GL_LIB_NAME=GLX_mesa
+fi
+
dnl
dnl library names
dnl
[AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@],
[specify GL library name @<:@default=GL@:>@])],
[GL_LIB=$withval],
- [GL_LIB=GL])
+ [GL_LIB="$DEFAULT_GL_LIB_NAME"])
AC_ARG_WITH([osmesa-lib-name],
[AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@],
[specify OSMesa library name @<:@default=OSMesa@:>@])],
[OSMESA_LIB=$withval],
[OSMESA_LIB=OSMesa])
-AS_IF([test "x$GL_LIB" = xyes], [GL_LIB=GL])
+AS_IF([test "x$GL_LIB" = xyes], [GL_LIB="$DEFAULT_GL_LIB_NAME"])
AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa])
dnl
if test "x$enable_asm" = xyes -a "x$cross_compiling" = xyes; then
case "$host_cpu" in
i?86 | x86_64 | amd64)
- enable_asm=no
- AC_MSG_RESULT([no, cross compiling])
+ if test "x$host_cpu" != "x$target_cpu"; then
+ enable_asm=no
+ AC_MSG_RESULT([no, cross compiling])
+ fi
;;
esac
fi
dnl pkgconfig files.
test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
+PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs)
+AC_SUBST(PTHREADSTUBS_CFLAGS)
+AC_SUBST(PTHREADSTUBS_LIBS)
+
dnl SELinux awareness.
AC_ARG_ENABLE([selinux],
[AS_HELP_STRING([--enable-selinux],
[enable_dri3="$enableval"],
[enable_dri3="$dri3_default"])
AC_ARG_ENABLE([glx],
- [AS_HELP_STRING([--enable-glx],
- [enable GLX library @<:@default=enabled@:>@])],
+ [AS_HELP_STRING([--enable-glx@<:@=dri|xlib|gallium-xlib@:>@],
+ [enable the GLX library and choose an implementation @<:@default=auto@:>@])],
[enable_glx="$enableval"],
[enable_glx=yes])
AC_ARG_ENABLE([osmesa],
@<:@default=disabled@:>@])],
[enable_opencl_icd="$enableval"],
[enable_opencl_icd=no])
-AC_ARG_ENABLE([xlib-glx],
- [AS_HELP_STRING([--enable-xlib-glx],
- [make GLX library Xlib-based instead of DRI-based @<:@default=disabled@:>@])],
- [enable_xlib_glx="$enableval"],
- [enable_xlib_glx=no])
-
-AC_ARG_ENABLE([r600-llvm-compiler],
- [AS_HELP_STRING([--enable-r600-llvm-compiler],
- [Enable experimental LLVM backend for graphics shaders @<:@default=disabled@:>@])],
- [enable_r600_llvm="$enableval"],
- [enable_r600_llvm=no])
AC_ARG_ENABLE([gallium-tests],
[AS_HELP_STRING([--enable-gallium-tests],
"x$enable_gles1" = xyes -o \
"x$enable_gles2" = xyes)
-if test "x$enable_glx" = xno; then
- AC_MSG_WARN([GLX disabled, disabling Xlib-GLX])
- enable_xlib_glx=no
-fi
-
-if test "x$enable_dri$enable_xlib_glx" = xyesyes; then
- AC_MSG_ERROR([DRI and Xlib-GLX cannot be built together])
+# Validate GLX options
+if test "x$enable_glx" = xyes; then
+ if test "x$enable_dri" = xyes; then
+ enable_glx=dri
+ elif test -n "$with_gallium_drivers"; then
+ enable_glx=gallium-xlib
+ else
+ enable_glx=xlib
+ fi
fi
+case "x$enable_glx" in
+xdri | xxlib | xgallium-xlib)
+ # GLX requires OpenGL
+ if test "x$enable_opengl" = xno; then
+ AC_MSG_ERROR([GLX cannot be built without OpenGL])
+ fi
-if test "x$enable_opengl$enable_xlib_glx" = xnoyes; then
- AC_MSG_ERROR([Xlib-GLX cannot be built without OpenGL])
-fi
+ # Check individual dependencies
+ case "x$enable_glx" in
+ xdri)
+ if test "x$enable_dri" = xno; then
+ AC_MSG_ERROR([DRI-based GLX requires DRI to be enabled])
+ fi
+ ;;
+ xxlib)
+ if test "x$enable_dri" = xyes; then
+ AC_MSG_ERROR([Xlib-based GLX cannot be built with DRI enabled])
+ fi
+ ;;
+ xgallium-xlib )
+ if test "x$enable_dri" = xyes; then
+ AC_MSG_ERROR([Xlib-based (Gallium) GLX cannot be built with DRI enabled])
+ fi
+ if test -z "$with_gallium_drivers"; then
+ AC_MSG_ERROR([Xlib-based (Gallium) GLX cannot be built without Gallium enabled])
+ fi
+ ;;
+ esac
+ ;;
+xno)
+ ;;
+*)
+ AC_MSG_ERROR([Illegal value for --enable-glx: $enable_glx])
+ ;;
+esac
-# Disable GLX if OpenGL is not enabled
-if test "x$enable_glx$enable_opengl" = xyesno; then
- AC_MSG_WARN([OpenGL not enabled, disabling GLX])
- enable_glx=no
-fi
+AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xdri)
+AM_CONDITIONAL(HAVE_XLIB_GLX, test "x$enable_glx" = xxlib)
+AM_CONDITIONAL(HAVE_GALLIUM_XLIB_GLX, test "x$enable_glx" = xgallium-xlib)
+
+dnl
+dnl Libglvnd configuration
+dnl
+AC_ARG_ENABLE([libglvnd],
+ [AS_HELP_STRING([--enable-libglvnd],
+ [Build for libglvnd @<:@default=disabled@:>@])],
+ [enable_libglvnd="$enableval"],
+ [enable_libglvnd=no])
+AM_CONDITIONAL(USE_LIBGLVND_GLX, test "x$enable_libglvnd" = xyes)
+if test "x$enable_libglvnd" = xyes ; then
+ dnl XXX: update once we can handle more than libGL/glx.
+ dnl Namely: we should error out if neither of the glvnd enabled libraries
+ dnl are built
+ case "x$enable_glx" in
+ xno)
+ AC_MSG_ERROR([cannot build libglvnd without GLX])
+ ;;
+ xxlib | xgallium-xlib )
+ AC_MSG_ERROR([cannot build libgvnd when Xlib-GLX or Gallium-Xlib-GLX is enabled])
+ ;;
+ xdri)
+ ;;
+ esac
-# Disable GLX if DRI and Xlib-GLX are not enabled
-if test "x$enable_glx" = xyes -a \
- "x$enable_dri" = xno -a \
- "x$enable_xlib_glx" = xno; then
- AC_MSG_WARN([Neither DRI nor Xlib-GLX enabled, disabling GLX])
- enable_glx=no
+ PKG_CHECK_MODULES([GLVND], libglvnd >= 0.1.0)
+ DEFINES="${DEFINES} -DUSE_LIBGLVND_GLX=1"
+ DEFAULT_GL_LIB_NAME=GLX_mesa
fi
-AM_CONDITIONAL(HAVE_DRI_GLX, test "x$enable_glx" = xyes -a \
- "x$enable_dri" = xyes)
-
# Check for libdrm
PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED],
[have_libdrm=yes], [have_libdrm=no])
dnl Driver specific build directories
dnl
-if test -n "$with_gallium_drivers" -a "x$enable_glx$enable_xlib_glx" = xyesyes; then
- NEED_WINSYS_XLIB="yes"
-fi
-
if test "x$enable_gallium_osmesa" = xyes; then
if ! echo "$with_gallium_drivers" | grep -q 'swrast'; then
AC_MSG_ERROR([gallium_osmesa requires the gallium swrast driver])
dnl
dnl libGL configuration per driver
dnl
-case "x$enable_glx$enable_xlib_glx" in
-xyesyes)
+case "x$enable_glx" in
+xxlib | xgallium-xlib)
# Xlib-based GLX
dri_modules="x11 xext xcb"
PKG_CHECK_MODULES([XLIBGL], [$dri_modules])
GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm $PTHREAD_LIBS"
;;
-xyesno)
+xdri)
# DRI-based GLX
PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
if test x"$enable_dri3" = xyes; then
PKG_CHECK_EXISTS([xcb >= $XCB_REQUIRED], [], AC_MSG_ERROR([DRI3 requires xcb >= $XCB_REQUIRED]))
- dri3_modules="xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
+ dri3_modules="xcb xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
PKG_CHECK_MODULES([XCB_DRI3], [$dri3_modules])
fi
fi
dnl
dnl More GLX setup
dnl
-case "x$enable_glx$enable_xlib_glx" in
-xyesyes)
+case "x$enable_glx" in
+xxlib | xgallium-xlib)
DEFINES="$DEFINES -DUSE_XSHM"
;;
-xyesno)
+xdri)
DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
if test "x$driglx_direct" = xyes; then
DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
DRI_DIRS=`echo $DRI_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
fi
+
+#
+# Vulkan driver configuration
+#
+
+AC_ARG_WITH([vulkan-drivers],
+ [AS_HELP_STRING([--with-vulkan-drivers@<:@=DIRS...@:>@],
+ [comma delimited Vulkan drivers list, e.g.
+ "intel"
+ @<:@default=no@:>@])],
+ [with_vulkan_drivers="$withval"],
+ [with_vulkan_drivers="no"])
+
+# Doing '--without-vulkan-drivers' will set this variable to 'no'. Clear it
+# here so that the script doesn't choke on an unknown driver name later.
+case "x$with_vulkan_drivers" in
+ xyes) with_vulkan_drivers="$VULKAN_DRIVERS_DEFAULT" ;;
+ xno) with_vulkan_drivers='' ;;
+esac
+
+AC_ARG_WITH([vulkan-icddir],
+ [AS_HELP_STRING([--with-vulkan-icddir=DIR],
+ [directory for the Vulkan driver icd files @<:@${sysconfdir}/vulkan/icd.d@:>@])],
+ [VULKAN_ICD_INSTALL_DIR="$withval"],
+ [VULKAN_ICD_INSTALL_DIR='${sysconfdir}/vulkan/icd.d'])
+AC_SUBST([VULKAN_ICD_INSTALL_DIR])
+
+if test -n "$with_vulkan_drivers"; then
+ VULKAN_DRIVERS=`IFS=', '; echo $with_vulkan_drivers`
+ for driver in $VULKAN_DRIVERS; do
+ case "x$driver" in
+ xintel)
+ if test "x$HAVE_I965_DRI" != xyes; then
+ AC_MSG_ERROR([Intel Vulkan driver requires the i965 dri driver])
+ fi
+ if test "x$with_sha1" == "x"; then
+ AC_MSG_ERROR([Intel Vulkan driver requires SHA1])
+ fi
+ HAVE_INTEL_VULKAN=yes;
+
+ ;;
+ *)
+ AC_MSG_ERROR([Vulkan driver '$driver' does not exist])
+ ;;
+ esac
+ done
+ VULKAN_DRIVERS=`echo $VULKAN_DRIVERS|tr " " "\n"|sort -u|tr "\n" " "`
+fi
+
+
AM_CONDITIONAL(NEED_MEGADRIVER, test -n "$DRI_DIRS")
-AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
+AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_glx" = xxlib -o \
"x$enable_osmesa" = xyes -o \
-n "$DRI_DIRS")
[osmesa_bits="$withval"],
[osmesa_bits=8])
if test "x$osmesa_bits" != x8; then
- if test "x$enable_dri" = xyes -o "x$enable_glx" = xyes; then
+ if test "x$enable_dri" = xyes -o "x$enable_glx" != xno; then
AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver])
osmesa_bits=8
fi
AC_SUBST([GBM_PC_REQ_PRIV])
AC_SUBST([GBM_PC_LIB_PRIV])
-AM_CONDITIONAL(HAVE_VULKAN, true)
-
dnl
dnl EGL configuration
dnl
"x$enable_vdpau" = xyes -o \
"x$enable_omx" = xyes -o \
"x$enable_va" = xyes; then
- PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
+ if test x"$enable_dri3" = xyes; then
+ PKG_CHECK_MODULES([VL], [xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED
+ x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
+ else
+ PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
+ fi
need_gallium_vl_winsys=yes
fi
AM_CONDITIONAL(NEED_GALLIUM_VL_WINSYS, test "x$need_gallium_vl_winsys" = xyes)
if test "x$enable_vdpau" = xyes; then
PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED])
gallium_st="$gallium_st vdpau"
+ DEFINES="$DEFINES -DHAVE_ST_VDPAU"
fi
AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes)
AC_MSG_ERROR([EGL platform surfaceless requires libdrm >= $LIBDRM_REQUIRED])
;;
+ android)
+ ;;
+
*)
AC_MSG_ERROR([EGL platform '$plat' does not exist])
;;
EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM"
fi
-AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep -q 'x11')
-AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep -q 'wayland')
+AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$egl_platforms" | grep -q 'x11')
+AM_CONDITIONAL(HAVE_PLATFORM_WAYLAND, echo "$egl_platforms" | grep -q 'wayland')
AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep -q 'drm')
AM_CONDITIONAL(HAVE_EGL_PLATFORM_SURFACELESS, echo "$egl_platforms" | grep -q 'surfaceless')
-AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep -q 'null')
+AM_CONDITIONAL(HAVE_EGL_PLATFORM_ANDROID, echo "$egl_platforms" | grep -q 'android')
AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
fi
}
+swr_llvm_check() {
+ gallium_require_llvm $1
+ if test ${LLVM_VERSION_INT} -lt 306; then
+ AC_MSG_ERROR([LLVM version 3.6 or later required when building $1])
+ fi
+ if test "x$enable_gallium_llvm" != "xyes"; then
+ AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
+ fi
+}
+
dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
if test -n "$with_gallium_drivers"; then
gallium_drivers=`IFS=', '; echo $with_gallium_drivers`
PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
gallium_require_drm "Gallium R600"
gallium_require_drm_loader
- if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then
- radeon_llvm_check "r600g"
- LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
- fi
- if test "x$enable_r600_llvm" = xyes; then
- USE_R600_LLVM_COMPILER=yes;
- fi
if test "x$enable_opencl" = xyes; then
+ radeon_llvm_check "r600g"
LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser"
fi
;;
HAVE_GALLIUM_LLVMPIPE=yes
fi
;;
+ xswr)
+ swr_llvm_check "swr"
+
+ AC_MSG_CHECKING([whether $CXX supports c++11/AVX/AVX2])
+ AVX_CXXFLAGS="-march=core-avx-i"
+ AVX2_CXXFLAGS="-march=core-avx2"
+
+ AC_LANG_PUSH([C++])
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="-std=c++11 $CXXFLAGS"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],[],
+ [AC_MSG_ERROR([c++11 compiler support not detected])])
+ CXXFLAGS="$save_CXXFLAGS"
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$AVX_CXXFLAGS $CXXFLAGS"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],[],
+ [AC_MSG_ERROR([AVX compiler support not detected])])
+ CXXFLAGS="$save_CXXFLAGS"
+
+ save_CFLAGS="$CXXFLAGS"
+ CXXFLAGS="$AVX2_CXXFLAGS $CXXFLAGS"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],[],
+ [AC_MSG_ERROR([AVX2 compiler support not detected])])
+ CXXFLAGS="$save_CXXFLAGS"
+ AC_LANG_POP([C++])
+
+ HAVE_GALLIUM_SWR=yes
+ ;;
xvc4)
HAVE_GALLIUM_VC4=yes
gallium_require_drm "vc4"
if test "x$MESA_LLVM" != x0; 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
AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes)
+AM_CONDITIONAL(HAVE_GALLIUM_SWR, test "x$HAVE_GALLIUM_SWR" = xyes)
+AM_CONDITIONAL(HAVE_GALLIUM_SWRAST, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes -o \
+ "x$HAVE_GALLIUM_LLVMPIPE" = xyes -o \
+ "x$HAVE_GALLIUM_SWR" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_VC4, test "x$HAVE_GALLIUM_VC4" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_VIRGL, test "x$HAVE_GALLIUM_VIRGL" = xyes)
AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
+AM_CONDITIONAL(HAVE_INTEL_VULKAN, test "x$HAVE_INTEL_VULKAN" = xyes)
+
+AM_CONDITIONAL(HAVE_INTEL_DRIVERS, test "x$HAVE_INTEL_VULKAN" = xyes -o \
+ "x$HAVE_I965_DRI" = xyes)
+
AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$HAVE_GALLIUM_R300" = xyes -o \
"x$HAVE_GALLIUM_R600" = xyes -o \
"x$HAVE_GALLIUM_RADEONSI" = xyes)
-AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes)
+AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$enable_glx" = xgallium-xlib)
AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes)
-AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
AM_CONDITIONAL(USE_VC4_SIMULATOR, test x$USE_VC4_SIMULATOR = xyes)
fi
AM_CONDITIONAL(HAVE_LIBDRM, test "x$have_libdrm" = xyes)
-AM_CONDITIONAL(HAVE_X11_DRIVER, test "x$enable_xlib_glx" = xyes)
AM_CONDITIONAL(HAVE_OSMESA, test "x$enable_osmesa" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_OSMESA, test "x$enable_gallium_osmesa" = xyes)
AC_SUBST([XA_TINY], $XA_TINY)
AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY")
-PKG_CHECK_MODULES(VALGRIND, [valgrind],
- [have_valgrind=yes], [have_valgrind=no])
-if test "x$have_valgrind" = "xyes"; then
- AC_DEFINE([HAVE_VALGRIND], 1,
- [Use valgrind intrinsics to suppress false warnings])
+AC_ARG_ENABLE(valgrind,
+ [AS_HELP_STRING([--enable-valgrind],
+ [Build mesa with valgrind support (default: auto)])],
+ [VALGRIND=$enableval], [VALGRIND=auto])
+if test "x$VALGRIND" != xno; then
+ PKG_CHECK_MODULES(VALGRIND, [valgrind], [have_valgrind=yes], [have_valgrind=no])
+fi
+AC_MSG_CHECKING([whether to enable Valgrind support])
+if test "x$VALGRIND" = xauto; then
+ VALGRIND="$have_valgrind"
+fi
+
+if test "x$VALGRIND" = "xyes"; then
+ if ! test "x$have_valgrind" = xyes; then
+ AC_MSG_ERROR([Valgrind support required but not present])
+ fi
+ AC_DEFINE([HAVE_VALGRIND], 1, [Use valgrind intrinsics to suppress false warnings])
fi
+AC_MSG_RESULT([$VALGRIND])
+
dnl Restore LDFLAGS and CPPFLAGS
LDFLAGS="$_SAVE_LDFLAGS"
CPPFLAGS="$_SAVE_CPPFLAGS"
src/gallium/drivers/rbug/Makefile
src/gallium/drivers/softpipe/Makefile
src/gallium/drivers/svga/Makefile
+ src/gallium/drivers/swr/Makefile
src/gallium/drivers/trace/Makefile
src/gallium/drivers/vc4/Makefile
src/gallium/drivers/virgl/Makefile
src/intel/Makefile
src/intel/genxml/Makefile
src/intel/isl/Makefile
+ src/intel/vulkan/Makefile
src/loader/Makefile
src/mapi/Makefile
src/mapi/es1api/glesv1_cm.pc
src/mesa/drivers/osmesa/osmesa.pc
src/mesa/drivers/x11/Makefile
src/mesa/main/tests/Makefile
- src/vulkan/Makefile
- src/vulkan/tests/Makefile
src/util/Makefile
src/util/tests/hash_table/Makefile])
AC_OUTPUT
+# Fix up dependencies in *.Plo files, where we changed the extension of a
+# source file
+$SED -i -e 's/brw_blorp.cpp/brw_blorp.c/' src/mesa/drivers/dri/i965/.deps/brw_blorp.Plo
+$SED -i -e 's/gen6_blorp.cpp/gen6_blorp.c/' src/mesa/drivers/dri/i965/.deps/gen6_blorp.Plo
+$SED -i -e 's/gen7_blorp.cpp/gen7_blorp.c/' src/mesa/drivers/dri/i965/.deps/gen7_blorp.Plo
+$SED -i -e 's/gen8_blorp.cpp/gen8_blorp.c/' src/mesa/drivers/dri/i965/.deps/gen8_blorp.Plo
+
+
dnl
dnl Output some configuration info for the user
dnl
echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
fi
-case "x$enable_glx$enable_xlib_glx" in
-xyesyes)
+case "x$enable_glx" in
+xdri)
+ echo " GLX: DRI-based"
+ ;;
+xxlib)
echo " GLX: Xlib-based"
;;
-xyesno)
- echo " GLX: DRI-based"
+xgallium-xlib)
+ echo " GLX: Xlib-based (Gallium)"
;;
*)
echo " GLX: $enable_glx"
echo " EGL drivers: $egl_drivers"
fi
+# Vulkan
+echo ""
+if test "x$VULKAN_DRIVERS" != x; then
+ echo " Vulkan drivers: $VULKAN_DRIVERS"
+ echo " Vulkan ICD dir: $VULKAN_ICD_INSTALL_DIR"
+else
+ echo " Vulkan drivers: no"
+fi
+
echo ""
if test "x$MESA_LLVM" = x1; then
echo " llvm: yes"
echo ""
fi
echo " PYTHON2: $PYTHON2"
+echo " PYTHON3: $PYTHON3"
echo ""
echo " Run '${MAKE-make}' to build Mesa"