diff --git a/driver/xf86-video-wsfb/configure.ac b/driver/xf86-video-wsfb/configure.ac index 893153d48..a0882e9fb 100644 --- a/driver/xf86-video-wsfb/configure.ac +++ b/driver/xf86-video-wsfb/configure.ac @@ -61,6 +61,13 @@ sdkdir=$(pkg-config --variable=sdkdir xorg-server) # Checks for header files. AC_HEADER_STDC +# Check for xf1bpp & xf4bpp (removed in xorg-server 1.6 & later) +SAVE_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $XORG_CFLAGS" +AC_CHECK_HEADER(xf1bpp.h,[AC_DEFINE(HAVE_XF1BPP, 1, [Have 1bpp support])],[]) +AC_CHECK_HEADER(xf4bpp.h,[AC_DEFINE(HAVE_XF4BPP, 1, [Have 4bpp support])],[]) +CPPFLAGS="$SAVE_CPPFLAGS" + AC_SUBST([XORG_CFLAGS]) AC_SUBST([moduledir]) diff --git a/driver/xf86-video-wsfb/src/wsfb_driver.c b/driver/xf86-video-wsfb/src/wsfb_driver.c index 0ad83348a..1dcbac912 100644 --- a/driver/xf86-video-wsfb/src/wsfb_driver.c +++ b/driver/xf86-video-wsfb/src/wsfb_driver.c @@ -1,4 +1,4 @@ -/* $OpenBSD: wsfb_driver.c,v 1.14 2008/09/29 22:04:43 matthieu Exp $ */ +/* $OpenBSD: wsfb_driver.c,v 1.15 2009/06/01 20:57:20 matthieu Exp $ */ /* * Copyright (c) 2001 Matthieu Herrb * All rights reserved. @@ -60,8 +60,12 @@ #include "dgaproc.h" /* For visuals */ -#include "xf1bpp.h" -#include "xf4bpp.h" +#ifdef HAVE_XF1BPP +# include "xf1bpp.h" +#endif +#ifdef HAVE_XF4BPP +# include "xf4bpp.h" +#endif #include "fb.h" #include "xf86Resources.h" @@ -748,14 +752,18 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags) /* Load bpp-specific modules. */ switch(pScrn->bitsPerPixel) { +#ifdef HAVE_XF1BPP case 1: mod = "xf1bpp"; reqSym = "xf1bppScreenInit"; break; +#endif +#ifdef HAVE_XF4BPP case 4: mod = "xf4bpp"; reqSym = "xf4bppScreenInit"; break; +#endif default: mod = "fb"; break; @@ -939,17 +947,21 @@ WsfbScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) switch (pScrn->bitsPerPixel) { case 1: +#ifdef HAVE_XF1BPP ret = xf1bppScreenInit(pScreen, fPtr->fbstart, pScrn->virtualX, pScrn->virtualY, pScrn->xDpi, pScrn->yDpi, fPtr->linebytes * 8); break; +#endif case 4: +#ifdef HAVE_XF4BPP ret = xf4bppScreenInit(pScreen, fPtr->fbstart, pScrn->virtualX, pScrn->virtualY, pScrn->xDpi, pScrn->yDpi, fPtr->linebytes * 2); break; +#endif case 8: case 16: case 24: