740 lines
23 KiB
Plaintext
740 lines
23 KiB
Plaintext
# Copyright 2005 Adam Jackson.
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
# copy of this software and associated documentation files (the "Software"),
|
|
# to deal in the Software without restriction, including without limitation
|
|
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
|
# license, and/or sell copies of the Software, and to permit persons to whom
|
|
# the Software is furnished to do so, subject to the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice (including the next
|
|
# paragraph) shall be included in all copies or substantial portions of the
|
|
# Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
|
# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
#
|
|
# Process this file with autoconf to produce a configure script
|
|
|
|
# Initialize Autoconf
|
|
AC_PREREQ([2.60])
|
|
AC_INIT([xf86-video-intel],
|
|
[2.99.910],
|
|
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
|
|
[xf86-video-intel])
|
|
AC_CONFIG_SRCDIR([Makefile.am])
|
|
AC_CONFIG_HEADERS([config.h])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
AC_CONFIG_AUX_DIR(.)
|
|
|
|
# Initialize Automake
|
|
AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
|
|
|
# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
|
|
m4_ifndef([XORG_MACROS_VERSION],
|
|
[m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen.
|
|
Hint: either install from source, git://anongit.freedesktop.org/xorg/util/macros or,
|
|
depending on you distribution, try package 'xutils-dev' or 'xorg-x11-util-macros'])])
|
|
|
|
XORG_MACROS_VERSION(1.8)
|
|
XORG_DEFAULT_OPTIONS
|
|
|
|
# And disable a few very noisy warnings
|
|
m4_ifdef([XORG_TESTSET_CFLAG], [
|
|
XORG_TESTSET_CFLAG([NOWARNFLAGS], [-Wno-cast-qual])
|
|
XORG_TESTSET_CFLAG([NOWARNFLAGS], [-Wno-redundant-decls])
|
|
XORG_TESTSET_CFLAG([NOWARNFLAGS], [-Wno-maybe-uninitialized])
|
|
])
|
|
AC_SUBST(NOWARNFLAGS)
|
|
|
|
# Require X.Org server macros (i.e. XORG_DRIVER_CHECK_EXT) to check for required modules
|
|
m4_ifndef([XORG_DRIVER_CHECK_EXT],
|
|
[m4_fatal([must install xorg-server macros before running autoconf/autogen.
|
|
Hint: either install from source, git://anongit.freedesktop.org/xorg/xserver or,
|
|
depending on your distribution, try package 'xserver-xorg-dev' or 'xorg-x11-server-devel'])])
|
|
|
|
# Initialize libtool
|
|
AC_DISABLE_STATIC
|
|
AC_PROG_LIBTOOL
|
|
AC_SYS_LARGEFILE
|
|
|
|
# Are we in a git checkout?
|
|
dot_git=no
|
|
if test -e .git; then
|
|
AC_DEFINE(HAVE_DOT_GIT, 1, [Are we in a git checkout?])
|
|
dot_git=yes
|
|
fi
|
|
AM_CONDITIONAL(HAVE_DOT_GIT, test "x$dot_git" = "xyes")
|
|
|
|
# If so, we include the git description in our logs for sanity checking.
|
|
#
|
|
# However, for people not running their own drivers this is just noise.
|
|
# So we copy the xserver's builderstring idiom to allow for this to be
|
|
# overridden and perhaps replaced with something more useful.
|
|
AC_ARG_WITH(builderstring,
|
|
AS_HELP_STRING([--with-builderstring=BUILDERSTRING],
|
|
[Additional builder string (default: use git describe)]),
|
|
[BUILDERSTRING="$withval"],
|
|
[BUILDERSTRING="x-magic-git-describe"])
|
|
|
|
if test "x$BUILDERSTRING" = "xx-magic-git-describe" -a "x$dot_git" = "xyes"; then
|
|
AC_DEFINE(USE_GIT_DESCRIBE, 1, [Use automagic builder description])
|
|
else
|
|
if test "x$BUILDERSTRING" != x -a "x$BUILDERSTRING" != "xno" -a "x$BUILDERSTRING" != xx-magic-git-describe; then
|
|
AC_DEFINE_UNQUOTED(BUILDER_DESCRIPTION, ["$BUILDERSTRING"], [Builder description])
|
|
fi
|
|
fi
|
|
|
|
AC_ARG_ENABLE(gen4asm,
|
|
AS_HELP_STRING([--enable-gen4asm],
|
|
[Enable rebuilding the gen4 assembly files [default=no]]),
|
|
[ASM="$enableval"],
|
|
[ASM="no"])
|
|
|
|
gen4asm=no
|
|
if test "x$ASM" != "xno"; then
|
|
AC_ARG_WITH(gen4asm,
|
|
AS_HELP_STRING([--with-gen4asm=PATH],
|
|
[Path to intel-gen4asm binary]),
|
|
[path="$withval"],
|
|
[path=""])
|
|
if test -n "$path" ; then
|
|
gen4asm=yes
|
|
else
|
|
PKG_CHECK_MODULES(GEN4ASM, [intel-gen4asm >= 1.2], [gen4asm=yes], [gen4asm=no])
|
|
if test "x$ASM" = "xyes" -a "x$gen4asm" != "xyes"; then
|
|
AC_MSG_ERROR([intel-gen4asm support requested but not found])
|
|
fi
|
|
fi
|
|
if test "x$gen4asm" = "xyes"; then
|
|
AC_MSG_CHECKING([path to use for intel-gen4asm])
|
|
if test -n "$path" ; then
|
|
INTEL_GEN4ASM="$path"
|
|
else
|
|
INTEL_GEN4ASM="`pkg-config intel-gen4asm --variable=exec_prefix`/bin/intel-gen4asm"
|
|
fi
|
|
if ! test -e "$INTEL_GEN4ASM"; then
|
|
AC_MSG_ERROR([intel-gen4asm enabled, but not found. Tried '$INTEL_GEN4ASM'.])
|
|
fi
|
|
AC_MSG_RESULT([$INTEL_GEN4ASM])
|
|
AC_SUBST([INTEL_GEN4ASM])
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(HAVE_GEN4ASM, test "x$gen4asm" = "xyes")
|
|
|
|
# Check for atomic intrinsics
|
|
AC_CACHE_CHECK([for native atomic primitives], intel_cv_atomic_primitives,
|
|
[
|
|
intel_cv_atomic_primitives="none"
|
|
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
|
int atomic_add(int i) { return __sync_fetch_and_add (&i, 1); }
|
|
int atomic_cmpxchg(int i, int j, int k) { return __sync_val_compare_and_swap (&i, j, k); }
|
|
]],[[]])],
|
|
[intel_cv_atomic_primitives="Intel"],[])
|
|
|
|
if test "x$intel_cv_atomic_primitives" = "xnone"; then
|
|
AC_CHECK_HEADER([atomic_ops.h], intel_cv_atomic_primitives="libatomic-ops")
|
|
fi
|
|
|
|
# atomic functions defined in <atomic.h> & libc on Solaris
|
|
if test "x$intel_cv_atomic_primitives" = "xnone"; then
|
|
AC_CHECK_FUNC([atomic_cas_uint],
|
|
intel_cv_atomic_primitives="Solaris")
|
|
fi
|
|
|
|
])
|
|
if test "x$intel_cv_atomic_primitives" = "xIntel"; then
|
|
AC_DEFINE(HAVE_ATOMIC_PRIMITIVES, 1,
|
|
[Enable if your compiler supports the Intel __sync_* atomic primitives])
|
|
fi
|
|
if test "x$intel_cv_atomic_primitives" = "xlibatomic-ops"; then
|
|
AC_DEFINE(HAVE_LIB_ATOMIC_OPS, 1, [Enable if you have libatomic-ops-dev installed])
|
|
fi
|
|
|
|
if test "x$intel_cv_atomic_primitives" = "xnone"; then
|
|
AC_MSG_ERROR([xf86-video-intel depends upon atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package.])
|
|
fi
|
|
|
|
AC_ARG_ENABLE(udev,
|
|
AS_HELP_STRING([--disable-udev],
|
|
[Disable udev-based monitor hotplug detection [default=auto]]),
|
|
[UDEV="$enableval"],
|
|
[UDEV=auto])
|
|
|
|
if test "x$UDEV" != "xno"; then
|
|
PKG_CHECK_MODULES(UDEV, [libudev], [udev="yes"], [udev="no"])
|
|
if test "x$UDEV" = "xyes" -a "x$udev" != "xyes"; then
|
|
AC_MSG_ERROR([udev support requested but not found (libudev)])
|
|
fi
|
|
if test "x$udev" = "xyes"; then
|
|
AC_DEFINE(HAVE_UDEV,1,[Enable udev-based monitor hotplug detection])
|
|
fi
|
|
fi
|
|
|
|
PKG_CHECK_MODULES(X11, [x11 xrender xrandr xext xfixes pixman-1], [x11="yes"], [x11="no"])
|
|
AM_CONDITIONAL(HAVE_X11, test "x$x11" = "xyes")
|
|
|
|
PKG_CHECK_MODULES(TOOL, [xinerama xrandr xdamage xfixes xcursor xtst xrender xext x11 pixman-1], [tools="yes"], [tools="no"])
|
|
|
|
if test "x$tools" = "xyes"; then
|
|
AC_CHECK_HEADER([sys/ipc.h], [], [tools=no])
|
|
AC_CHECK_HEADER([sys/shm.h], [], [tools=no])
|
|
AC_CHECK_HEADER([sys/timerfd.h], [], [tools=no])
|
|
|
|
if test "$ac_cv_header_sys_ipc_h" = "yes" -a "$ac_cv_header_sys_shm_h" = "yes"; then
|
|
AC_MSG_CHECKING(whether shmctl IPC_RMID allows subsequent attaches)
|
|
AC_TRY_RUN([
|
|
#include <sys/types.h>
|
|
#include <sys/ipc.h>
|
|
#include <sys/shm.h>
|
|
int main()
|
|
{
|
|
char *shmaddr;
|
|
int id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0600);
|
|
if (id == -1) return 2;
|
|
shmaddr = shmat (id, 0, 0);
|
|
shmctl (id, IPC_RMID, 0);
|
|
if ((char*) shmat (id, 0, 0) == (char*) -1) {
|
|
shmdt (shmaddr);
|
|
return 1;
|
|
}
|
|
shmdt (shmaddr);
|
|
shmdt (shmaddr);
|
|
return 0;
|
|
}
|
|
],
|
|
AC_DEFINE(IPC_RMID_DEFERRED_RELEASE, 1,
|
|
[Define to 1 if shared memory segments are released deferred.])
|
|
AC_MSG_RESULT(yes),
|
|
AC_MSG_RESULT(no),
|
|
AC_MSG_RESULT(assuming no))
|
|
fi
|
|
|
|
AC_CHECK_HEADERS([X11/extensions/XShm.h X11/extensions/shmproto.h X11/extensions/shmstr.h], [], [tools=no],
|
|
[#include <X11/Xlibint.h>
|
|
#include <X11/Xproto.h>])
|
|
fi
|
|
|
|
AM_CONDITIONAL(BUILD_TOOLS, test "x$tools" = "xyes")
|
|
|
|
# Define a configure option for an alternate module directory
|
|
AC_ARG_WITH(xorg-module-dir,
|
|
AS_HELP_STRING([--with-xorg-module-dir=DIR],
|
|
[Default xorg module directory [[default=$libdir/xorg/modules]]]),
|
|
[moduledir="$withval"],
|
|
[moduledir="$libdir/xorg/modules"])
|
|
|
|
AC_ARG_ENABLE(dri,
|
|
AS_HELP_STRING([--disable-dri],
|
|
[Disable DRI support [[default=auto]]]))
|
|
|
|
AC_ARG_ENABLE(xvmc, AS_HELP_STRING([--disable-xvmc],
|
|
[Disable XvMC support [[default=yes]]]),
|
|
[XVMC="$enableval"],
|
|
[XVMC="yes"])
|
|
|
|
AC_ARG_ENABLE(kms,
|
|
AS_HELP_STRING([--enable-kms],
|
|
[Assume KMS support [[default=yes]]]),
|
|
[KMS="$enableval"],
|
|
[KMS="yes"])
|
|
AC_ARG_ENABLE(ums,
|
|
AS_HELP_STRING([--enable-ums],
|
|
[Assume UMS support [[default=auto]]]),
|
|
[UMS="$enableval"],
|
|
[UMS="auto"])
|
|
|
|
AC_ARG_ENABLE(kms-only,
|
|
AS_HELP_STRING([--enable-kms-only],
|
|
[Only assume KMS support (no UMS) [[default=no]]]),
|
|
[ONLY_KMS="$enableval"],
|
|
[ONLY_KMS="no"])
|
|
|
|
AC_ARG_ENABLE(ums-only,
|
|
AS_HELP_STRING([--enable-ums-only],
|
|
[Only assume UMS support (no KMS) [[default=no]]]),
|
|
[ONLY_UMS="$enableval"],
|
|
[ONLY_UMS="no"])
|
|
|
|
required_xorg_server_version=1.6
|
|
required_pixman_version=0.16
|
|
|
|
if pkg-config --exists 'pixman-1 >= 0.27.1'; then
|
|
AC_DEFINE([HAS_PIXMAN_GLYPHS], 1, [Enable pixman glyph cache])
|
|
fi
|
|
|
|
if pkg-config --exists 'pixman-1 >= 0.24.0'; then
|
|
AC_DEFINE([HAS_PIXMAN_TRIANGLES], 1, [Enable pixman triangle rasterisation])
|
|
fi
|
|
|
|
# Store the list of server defined optional extensions in REQUIRED_MODULES
|
|
XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
|
|
XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
|
|
XORG_DRIVER_CHECK_EXT(XF86DRI, xextproto x11)
|
|
XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
|
|
|
|
# Obtain compiler/linker options for the driver dependencies
|
|
PKG_CHECK_MODULES(DRM, [libdrm >= 2.4.20]) # libdrm_intel is checked separately
|
|
PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10])
|
|
|
|
AC_ARG_ENABLE(sna,
|
|
AS_HELP_STRING([--enable-sna],
|
|
[Enable SandyBridge\'s New Acceleration (SNA) [default=auto]]),
|
|
[SNA="$enableval"],
|
|
[SNA=auto])
|
|
|
|
if test "x$SNA" != "xno"; then
|
|
AC_DEFINE(USE_SNA, 1, [Enable SNA support])
|
|
AC_CHECK_HEADERS([sys/sysinfo.h], AC_CHECK_MEMBERS([struct sysinfo.totalram], [], [], [[#include <sys/sysinfo.h>]]))
|
|
fi
|
|
|
|
AC_ARG_ENABLE(uxa,
|
|
AS_HELP_STRING([--enable-uxa],
|
|
[Enable Unified Acceleration Architecture (UXA) [default=yes]]),
|
|
[UXA="$enableval"],
|
|
[UXA=auto])
|
|
if test "x$UXA" = "xauto"; then
|
|
if ! pkg-config --exists 'libdrm_intel >= 2.4.29'; then
|
|
UXA=no
|
|
fi
|
|
if ! pkg-config --exists 'pixman-1 >= 0.24.0'; then
|
|
UXA=no
|
|
fi
|
|
fi
|
|
if test "x$UXA" != "xno"; then
|
|
AC_DEFINE(USE_UXA, 1, [Enable UXA support])
|
|
PKG_CHECK_MODULES(DRMINTEL, [libdrm_intel >= 2.4.29])
|
|
required_pixman_version=0.24
|
|
UXA=yes
|
|
fi
|
|
|
|
AC_ARG_ENABLE(glamor,
|
|
AS_HELP_STRING([--enable-glamor],
|
|
[Enable glamor, a new GL-based acceleration [default=no]]),
|
|
[GLAMOR="$enableval"],
|
|
[GLAMOR="no"])
|
|
if test "x$GLAMOR" != "xno"; then
|
|
if test "x$UXA" != "xyes"; then
|
|
AC_MSG_ERROR([Glamor acceleration requested but UXA is not enabled])
|
|
fi
|
|
PKG_CHECK_MODULES(LIBGLAMOR, [glamor >= 0.6.0])
|
|
PKG_CHECK_MODULES(LIBGLAMOR_EGL, [glamor-egl])
|
|
AC_DEFINE(USE_GLAMOR, 1, [Enable glamor acceleration])
|
|
fi
|
|
|
|
PKG_CHECK_MODULES(XORG, [xorg-server >= $required_xorg_server_version xproto fontsproto pixman-1 >= $required_pixman_version $REQUIRED_MODULES])
|
|
|
|
if test "x$ONLY_UMS" = "xyes"; then
|
|
UMS="yes"
|
|
KMS="no"
|
|
fi
|
|
|
|
if test "x$ONLY_KMS" = "xyes"; then
|
|
UMS="no"
|
|
KMS="yes"
|
|
fi
|
|
|
|
save_CPPFLAGS=$CPPFLAGS
|
|
CPPFLAGS=$XORG_CFLAGS
|
|
AC_CHECK_HEADERS([vgaHW.h], legacy="yes", legacy="no")
|
|
CPPFLAGS=$save_CPPFLAGS
|
|
if test "x$UMS" = "xauto"; then
|
|
UMS="$legacy"
|
|
fi
|
|
if test "x$UMS" = "xyes" -a "x$legacy" = "xno"; then
|
|
AC_MSG_ERROR([vgaHW support required for UMS (i810) driver])
|
|
fi
|
|
|
|
if test "x$UMS" = "xyes"; then
|
|
AC_ARG_ENABLE(xaa,
|
|
AS_HELP_STRING([--enable-xaa],
|
|
[Enable legacy X Acceleration Architecture (XAA) for i810 chipsets [default=auto]]),
|
|
[XAA="$enableval"],
|
|
[XAA="auto"])
|
|
if test "x$XAA" != "xno"; then
|
|
save_CPPFLAGS=$CPPFLAGS
|
|
CPPFLAGS=$XORG_CFLAGS
|
|
AC_CHECK_HEADERS([xaa.h], XAA="yes", XAA="no")
|
|
CPPFLAGS=$save_CPPFLAGS
|
|
fi
|
|
AC_MSG_CHECKING([whether to include XAA support])
|
|
AC_MSG_RESULT([$XAA])
|
|
|
|
AC_ARG_ENABLE(dga,
|
|
AS_HELP_STRING([--enable-dga],
|
|
[Enable legacy Direct Graphics Access (DGA) for i810 chipsets [default=auto]]),
|
|
[DGA="$enableval"],
|
|
[DGA="auto"])
|
|
if test "x$DGA" != "xno"; then
|
|
save_CFLAGS=$CFLAGS
|
|
CFLAGS=$XORG_CFLAGS
|
|
AC_CHECK_HEADERS([dgaproc.h], DGA="yes", DGA="no", [#include <dixstruct.h>])
|
|
CFLAGS=$save_CFLAGS
|
|
fi
|
|
AC_MSG_CHECKING([whether to include DGA support])
|
|
AC_MSG_RESULT([$DGA])
|
|
fi
|
|
AM_CONDITIONAL(DGA, test "x$DGA" = "xyes")
|
|
AM_CONDITIONAL(XAA, test "x$XAA" = "xyes")
|
|
|
|
AM_CONDITIONAL(KMS, test "x$KMS" = "xyes")
|
|
if test "x$KMS" = "xyes"; then
|
|
AC_DEFINE(KMS,1,[Assume KMS support])
|
|
fi
|
|
AM_CONDITIONAL(UMS, test "x$UMS" = "xyes")
|
|
if test "x$UMS" = "xyes"; then
|
|
AC_DEFINE(UMS,1,[Assume UMS support])
|
|
fi
|
|
|
|
|
|
DRI1=no
|
|
if test "x$enable_dri" != "xno" -a "x$UMS" = "xyes"; then
|
|
PKG_CHECK_MODULES(DRI1, [xf86driproto], [DRI1="yes"], [DRI1="no"])
|
|
save_CFLAGS="$CFLAGS"
|
|
save_CPPFLAGS="$CPPFLAGS"
|
|
CFLAGS="$CFLAGS $XORG_CFLAGS $DRI1_CFLAGS $DRM_CFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $XORG_CFLAGS $DRI1_CFLAGS $DRM_CFLAGS"
|
|
AC_CHECK_HEADERS([dri.h sarea.h dristruct.h], [DRI1="yes"], [DRI1="no"],
|
|
[/* for dri.h */
|
|
#include <xf86str.h>
|
|
/* for dristruct.h */
|
|
#include <xorg-server.h>
|
|
#ifdef HAVE_DRI_H
|
|
# include <dri.h>
|
|
#endif
|
|
#ifdef HAVE_SAREA_H
|
|
# include <sarea.h>
|
|
#endif
|
|
])
|
|
CFLAGS="$save_CFLAGS $DEBUGFLAGS"
|
|
CPPFLAGS="$save_CPPFLAGS"
|
|
fi
|
|
|
|
AC_MSG_CHECKING([whether to include DRI1 support])
|
|
AC_MSG_RESULT([$DRI1])
|
|
|
|
AM_CONDITIONAL(DRI1, test "x$DRI1" != "xno")
|
|
if test "x$DRI1" != "xno"; then
|
|
AC_DEFINE(HAVE_DRI1,1,[Enable DRI1 driver support])
|
|
dri_msg="$dri_msg DRI1"
|
|
else
|
|
DRI1_CFLAGS=""
|
|
DRI1_LIBS=""
|
|
|
|
if test "x$enable_dri" = "xyes" -a "x$UMS" = "xyes"; then
|
|
AC_MSG_ERROR([DRI1 requested but prerequisites not found])
|
|
fi
|
|
fi
|
|
|
|
DRI2=no
|
|
if test "x$enable_dri" != "xno"; then
|
|
PKG_CHECK_MODULES(DRI2, [dri2proto >= 2.6], DRI2="yes", DRI2="no")
|
|
dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`
|
|
if test "x$dridriverdir" = "x"; then
|
|
dridriverdir="$libdir/dri"
|
|
fi
|
|
AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default DRI2 driver path])
|
|
if test "x$DRI2" != "xno"; then
|
|
save_CFLAGS=$CFLAGS
|
|
CFLAGS="$XORG_CFLAGS $DRM_CFLAGS $DRI1_CFLAGS $DRI2_CFLAGS"
|
|
AC_CHECK_HEADERS([dri2.h], DRI2="yes", DRI2="no", [
|
|
#include <dixstruct.h>
|
|
#include <drm.h>
|
|
])
|
|
CFLAGS=$save_CFLAGS
|
|
fi
|
|
fi
|
|
AC_MSG_CHECKING([whether to include DRI2 support])
|
|
AM_CONDITIONAL(DRI2, test "x$DRI2" = "xyes")
|
|
AC_MSG_RESULT([$DRI2])
|
|
if test "x$DRI2" != "xno"; then
|
|
AC_DEFINE(HAVE_DRI2,1,[Enable DRI2 driver support])
|
|
dri_msg="$dri_msg DRI2"
|
|
else
|
|
if test "x$enable_dri" = "xyes" -a "x$KMS" = "xyes"; then
|
|
AC_MSG_ERROR([DRI2 requested but prerequisites not found])
|
|
fi
|
|
|
|
# UXA doesn't build without DRI2 headers, too late to fix
|
|
UXA=no
|
|
fi
|
|
|
|
AC_CHECK_HEADERS([X11/extensions/dpmsconst.h])
|
|
|
|
AC_MSG_CHECKING([whether to include UXA support])
|
|
AC_MSG_RESULT([$UXA])
|
|
AM_CONDITIONAL(UXA, test "x$UXA" != "xno")
|
|
|
|
AC_MSG_CHECKING([whether to include GLAMOR support])
|
|
AC_MSG_RESULT([$GLAMOR])
|
|
AM_CONDITIONAL(GLAMOR, test "x$GLAMOR" != "xno")
|
|
|
|
AC_MSG_CHECKING([whether to include SNA support])
|
|
AM_CONDITIONAL(SNA, test "x$SNA" != "xno")
|
|
AC_MSG_RESULT([$SNA])
|
|
|
|
if test "$XVMC" = "yes"; then
|
|
PKG_CHECK_MODULES(XVMCLIB, [xvmc dri2proto x11], [], [XVMC="no"])
|
|
PKG_CHECK_MODULES(XCB, [x11-xcb xcb-dri2 xcb-aux], [], [XVMC="no"])
|
|
fi
|
|
AC_MSG_CHECKING([whether to include XvMC support])
|
|
AC_MSG_RESULT([$XVMC])
|
|
AM_CONDITIONAL(XVMC, test "x$XVMC" = "xyes")
|
|
if test "x$XVMC" = "xyes"; then
|
|
AC_DEFINE(ENABLE_XVMC,1,[Enable XvMC support])
|
|
xvmc_msg=" yes"
|
|
else
|
|
xvmc_msg=" no"
|
|
fi
|
|
|
|
|
|
AC_ARG_WITH(default-accel,
|
|
AS_HELP_STRING([--with-default-accel],
|
|
[Select the default acceleration method [default=sna if enabled, otherwise uxa]]),
|
|
[accel="$withval"],
|
|
[accel="auto"])
|
|
if test "x$accel" = "xyes"; then
|
|
AC_MSG_WARN([No default acceleration specified, choosing automatic selection])
|
|
accel="auto"
|
|
fi
|
|
|
|
AC_MSG_CHECKING([which acceleration method to use by default])
|
|
if test "x$accel" = "xauto"; then
|
|
if test "x$SNA" != "xno"; then
|
|
accel="sna"
|
|
else
|
|
if test "x$UXA" != "xno"; then
|
|
accel="uxa"
|
|
fi
|
|
fi
|
|
if test "x$accel" = "xauto" -a "x$KMS" = "xyes"; then
|
|
AC_MSG_ERROR([No default acceleration option])
|
|
fi
|
|
fi
|
|
|
|
have_accel="none"
|
|
if test "x$accel" = "xsna"; then
|
|
if test "x$SNA" != "xno"; then
|
|
AC_DEFINE(DEFAULT_ACCEL_METHOD, SNA, [Default acceleration method])
|
|
have_accel="yes"
|
|
else
|
|
AC_MSG_ERROR([SNA requested as default, but is not enabled])
|
|
fi
|
|
fi
|
|
|
|
if test "x$accel" = "xuxa"; then
|
|
if test "x$UXA" != "xno"; then
|
|
AC_DEFINE(DEFAULT_ACCEL_METHOD, UXA, [Default acceleration method])
|
|
have_accel="yes"
|
|
else
|
|
AC_MSG_ERROR([UXA requested as default, but is not enabled])
|
|
fi
|
|
fi
|
|
|
|
if test "x$accel" = "xglamor"; then
|
|
if test "x$GLAMOR" != "xno"; then
|
|
AC_DEFINE(DEFAULT_ACCEL_METHOD, GLAMOR, [Default acceleration method])
|
|
have_accel="yes"
|
|
else
|
|
AC_MSG_ERROR([glamor acceleration requested as default, but is not enabled])
|
|
fi
|
|
fi
|
|
|
|
if test "x$have_accel" = "xnone"; then
|
|
if test "x$KMS" = "xyes"; then
|
|
AC_MSG_ERROR([Invalid default acceleration option])
|
|
fi
|
|
accel="none"
|
|
fi
|
|
AC_MSG_RESULT($accel)
|
|
|
|
xp_msg=""
|
|
|
|
AC_ARG_ENABLE(rendernode,
|
|
AS_HELP_STRING([--enable-rendernode],
|
|
[Enable use of render nodes (experimental) [default=no]]),
|
|
[RENDERNODE="$enableval"],
|
|
[RENDERNODE="no"])
|
|
AM_CONDITIONAL(USE_RENDERNODE, test "x$RENDERNODE" = "xyes")
|
|
if test "x$RENDERNODE" = "xyes"; then
|
|
AC_DEFINE(USE_RENDERNODE,1,[Assume "rendernode" support])
|
|
xp_msg="$xp_msg rendernode"
|
|
fi
|
|
|
|
AC_ARG_ENABLE(create2,
|
|
AS_HELP_STRING([--enable-create2],
|
|
[Enable use of create2 ioctl (experimental) [default=no]]),
|
|
[CREATE2="$enableval"],
|
|
[CREATE2="no"])
|
|
AM_CONDITIONAL(USE_CREATE2, test "x$CREATE2" = "xyes")
|
|
if test "x$CREATE2" = "xyes"; then
|
|
AC_DEFINE(USE_CREATE2,1,[Assume "create2" support])
|
|
xp_msg="$xp_msg create2"
|
|
fi
|
|
|
|
AC_ARG_ENABLE(userptr,
|
|
AS_HELP_STRING([--enable-userptr],
|
|
[Enable use of userptr (experimental) [default=no]]),
|
|
[USERPTR="$enableval"],
|
|
[USERPTR="no"])
|
|
AM_CONDITIONAL(USE_USERPTR, test "x$USERPTR" = "xyes")
|
|
if test "x$USERPTR" = "xyes"; then
|
|
AC_DEFINE(USE_USERPTR,1,[Assume "userptr" support])
|
|
xp_msg="$xp_msg userptr"
|
|
fi
|
|
|
|
AC_ARG_ENABLE(async-swap,
|
|
AS_HELP_STRING([--enable-async-swap],
|
|
[Enable use of asynchronous swaps (experimental) [default=no]]),
|
|
[ASYNC_SWAP="$enableval"],
|
|
[ASYNC_SWAP="no"])
|
|
AM_CONDITIONAL(USE_ASYNC_SWAP, test "x$ASYNC_SWAP" = "xyes")
|
|
if test "x$ASYNC_SWAP" = "xyes"; then
|
|
AC_DEFINE(USE_ASYNC_SWAP,1,[Assume asynchronous swap support])
|
|
xp_msg="$xp_msg async-swap"
|
|
fi
|
|
|
|
AC_ARG_ENABLE(debug,
|
|
AS_HELP_STRING([--enable-debug],
|
|
[Enables internal debugging [default=no]]),
|
|
[DEBUG="$enableval"],
|
|
[DEBUG="no"])
|
|
AC_ARG_ENABLE(valgrind,
|
|
AS_HELP_STRING([--enable-valgrind],
|
|
[Enables valgrindified ioctls for debugging [default=no]]),
|
|
[VG="$enableval"],
|
|
[VG="no"])
|
|
|
|
LIBS=""
|
|
AC_SEARCH_LIBS(clock_gettime, rt, [CLOCK_GETTIME_LIBS=$LIBS])
|
|
AC_SUBST(CLOCK_GETTIME_LIBS)
|
|
|
|
sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
|
|
|
|
AM_CONDITIONAL(DEBUG, test "x$DEBUG" != "xno")
|
|
AM_CONDITIONAL(FULL_DEBUG, test "x$DEBUG" = "xfull")
|
|
if test "x$DEBUG" = "xno"; then
|
|
AC_DEFINE(NDEBUG,1,[Disable internal debugging])
|
|
else
|
|
if test "x$VG" != "xyes"; then
|
|
VG=auto
|
|
fi
|
|
fi
|
|
debug_msg=""
|
|
have_valgrind="no"
|
|
if test "x$VG" != "xno"; then
|
|
PKG_CHECK_MODULES(VALGRIND, [valgrind], have_valgrind="yes", have_valgrind="no")
|
|
AC_MSG_CHECKING([whether to include valgrind support])
|
|
if test "x$have_valgrind" = "xyes"; then
|
|
AC_DEFINE([HAVE_VALGRIND], 1, [Use valgrind intrinsics to suppress false warnings])
|
|
else
|
|
if test "x$VG" = "xyes"; then
|
|
AC_MSG_ERROR([valgrind support requested, but valgrind-dev headers not found])
|
|
fi
|
|
fi
|
|
AC_MSG_RESULT([$have_valgrind ($VG)])
|
|
fi
|
|
AM_CONDITIONAL(VALGRIND, test "x$have_valgrind" = "xyes")
|
|
if test "x$have_valgrind" = "xyes"; then
|
|
debug_msg="$debug_msg valgrind"
|
|
fi
|
|
if test "x$DEBUG" = "xsync"; then
|
|
AC_DEFINE(DEBUG_SYNC,1,[Enable synchronous rendering for debugging])
|
|
debug_msg="$debug_msg sync"
|
|
fi
|
|
if test "x$DEBUG" = "xmemory"; then
|
|
AC_DEFINE(DEBUG_MEMORY,1,[Enable memory debugging])
|
|
debug_msg="$debug_msg memory"
|
|
fi
|
|
if test "x$DEBUG" = "xpixmap"; then
|
|
AC_DEFINE(DEBUG_PIXMAP,1,[Enable pixmap debugging])
|
|
debug_msg="$debug_msg pixmaps"
|
|
fi
|
|
if test "x$DEBUG" = "xfull"; then
|
|
AC_DEFINE(DEBUG_MEMORY,1,[Enable memory debugging])
|
|
AC_DEFINE(DEBUG_PIXMAP,1,[Enable pixmap debugging])
|
|
AC_DEFINE(HAS_DEBUG_FULL,1,[Enable all debugging])
|
|
CFLAGS="$CFLAGS -O0 -ggdb3"
|
|
debug_msg=" full"
|
|
fi
|
|
if test "x$debug_msg" = "x"; then
|
|
debug_msg=" none"
|
|
fi
|
|
|
|
DRIVER_NAME="intel"
|
|
AC_SUBST([DRIVER_NAME])
|
|
AC_SUBST([moduledir])
|
|
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
man/Makefile
|
|
src/Makefile
|
|
src/legacy/Makefile
|
|
src/legacy/i810/Makefile
|
|
src/legacy/i810/xvmc/Makefile
|
|
src/render_program/Makefile
|
|
src/sna/Makefile
|
|
src/sna/brw/Makefile
|
|
src/sna/fb/Makefile
|
|
src/uxa/Makefile
|
|
xvmc/Makefile
|
|
xvmc/shader/Makefile
|
|
xvmc/shader/mc/Makefile
|
|
xvmc/shader/vld/Makefile
|
|
test/Makefile
|
|
tools/Makefile
|
|
])
|
|
AC_OUTPUT
|
|
|
|
accel_msg=""
|
|
if test "x$SNA" != "xno"; then
|
|
if test "$accel" = "sna"; then
|
|
accel_msg="$accel_msg *sna"
|
|
else
|
|
accel_msg="$accel_msg sna"
|
|
fi
|
|
fi
|
|
if test "x$UXA" != "xno"; then
|
|
if test "$accel" = "uxa"; then
|
|
accel_msg="$accel_msg *uxa"
|
|
else
|
|
accel_msg="$accel_msg uxa"
|
|
fi
|
|
fi
|
|
if test "x$GLAMOR" != "xno"; then
|
|
if test "$accel" = "glamor"; then
|
|
accel_msg="$accel_msg *glamor"
|
|
else
|
|
accel_msg="$accel_msg glamor"
|
|
fi
|
|
fi
|
|
|
|
if test "x$dri_msg" = "x"; then
|
|
dri_msg=" none"
|
|
fi
|
|
|
|
if test "x$tools" = "xyes"; then
|
|
tools_msg=" intel-virtual-output"
|
|
else
|
|
tools_msg=" none"
|
|
fi
|
|
|
|
echo ""
|
|
echo "AC_PACKAGE_STRING will be compiled with:"
|
|
echo " Acceleration backends:$accel_msg"
|
|
echo " Additional debugging support?$debug_msg"
|
|
echo " Support for Kernel Mode Setting? $KMS"
|
|
echo " Support for legacy User Mode Setting (for i810)? $UMS"
|
|
echo " Support for Direct Rendering Infrastructure:$dri_msg"
|
|
echo " Support for Xv motion compensation (XvMC and libXvMC):$xvmc_msg"
|
|
echo " Build additional tools and utilities?$tools_msg"
|
|
if test -n "$xp_msg"; then
|
|
echo " Experimental support:$xp_msg"
|
|
fi
|
|
echo ""
|