summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2012-07-17 13:53:00 +1000
committerDave Airlie <airlied@redhat.com>2012-07-17 13:53:00 +1000
commit7f115c9df7431e73b558b18aba7b64a1e253bb0a (patch)
treeb7f4f235e28f73b4bd174687ee8cb8584b04a766
parentda0262acee5ea37ea8c69ebadbf5e9e34d83b5f3 (diff)
ark: make build against XAA-less server.
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--configure.ac17
-rw-r--r--src/ark.h4
-rw-r--r--src/ark_accel.c10
-rw-r--r--src/ark_driver.c1
4 files changed, 27 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac
index 8d3d470..752ead8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -70,6 +70,23 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.12.901])
fi
AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
+AC_ARG_ENABLE(xaa,
+ AS_HELP_STRING([--enable-xaa],
+ [Enable legacy X Acceleration Architecture (XAA) [default=auto]]),
+ [XAA="$enableval"],
+ [XAA=auto])
+if test "x$XAA" != xno; then
+ save_CFLAGS=$CFLAGS
+ save_CPPFLAGS=$CPPFLAGS
+ CFLAGS=$XORG_CFLAGS
+ CPPFLAGS="$XORG_CFLAGS"
+ AC_CHECK_HEADERS([xaa.h], XAA=yes, XAA=no)
+ CFLAGS=$save_CFLAGS
+ CPPFLAGS=$save_CPPFLAGS
+fi
+AC_MSG_CHECKING([whether to include XAA support])
+AM_CONDITIONAL(XAA, test "x$XAA" = xyes)
+AC_MSG_RESULT([$XAA])
DRIVER_NAME=ark
AC_SUBST([DRIVER_NAME])
diff --git a/src/ark.h b/src/ark.h
index 7462876..bee8d1a 100644
--- a/src/ark.h
+++ b/src/ark.h
@@ -7,7 +7,9 @@
#include "xf86.h"
#include "xf86Pci.h"
+#ifdef HAVE_XAA_H
#include "xaa.h"
+#endif
#include "vgaHW.h"
#define PCI_VENDOR_ARK 0xEDD8
@@ -46,7 +48,9 @@ typedef struct _ARKRec {
unsigned int Flags;
Bool NoAccel;
CARD32 Bus;
+#ifdef HAVE_XAA_H
XAAInfoRecPtr pXAA;
+#endif
int Chipset, ChipRev;
int clock_mult;
int dac_width;
diff --git a/src/ark_accel.c b/src/ark_accel.c
index 5ab75f0..2ec5070 100644
--- a/src/ark_accel.c
+++ b/src/ark_accel.c
@@ -34,16 +34,14 @@
#include <X11/Xarch.h>
#include "xf86.h"
#include "xf86_OSproc.h"
-#include "xaa.h"
#include "compiler.h"
#include "ark.h"
#include "ark_reg.h"
-
+#ifdef HAVE_XAA_H
static int curx, cury, cmd_flags;
-
static void ARKSync(ScrnInfoPtr pScrn)
{
unsigned long port = 0x3cb;
@@ -186,10 +184,11 @@ static void ARKSubsequentScreenToScreenCopy(ScrnInfoPtr pScrn,
BITBLT | cmd_flags);
}
-
+#endif
Bool ARKAccelInit(ScreenPtr pScreen)
{
+#ifdef HAVE_XAA_H
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
ARKPtr pARK = ARKPTR(pScrn);
XAAInfoRecPtr pXAA;
@@ -228,4 +227,7 @@ Bool ARKAccelInit(ScreenPtr pScreen)
LINEAR_DST_ADDR);
return XAAInit(pScreen, pXAA);
+#else
+ return FALSE;
+#endif
}
diff --git a/src/ark_driver.c b/src/ark_driver.c
index cda8cdc..d550f2e 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -37,7 +37,6 @@
#include "xf86fbman.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "xaa.h"
#include "mipointer.h"
#include "micmap.h"
#include "mibstore.h"