Don't call xf1bpp or xf4bpp if they're not present (xorg-server-1.6 & later)

From  Alan Coopersmith <alan.coopersmith@sun.com>.
This commit is contained in:
matthieu
2009-06-01 20:57:20 +00:00
parent c9783b22cc
commit dc5e2c7159
2 changed files with 22 additions and 3 deletions

View File

@@ -61,6 +61,13 @@ sdkdir=$(pkg-config --variable=sdkdir xorg-server)
# Checks for header files. # Checks for header files.
AC_HEADER_STDC 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([XORG_CFLAGS])
AC_SUBST([moduledir]) AC_SUBST([moduledir])

View File

@@ -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 * Copyright (c) 2001 Matthieu Herrb
* All rights reserved. * All rights reserved.
@@ -60,8 +60,12 @@
#include "dgaproc.h" #include "dgaproc.h"
/* For visuals */ /* For visuals */
#ifdef HAVE_XF1BPP
# include "xf1bpp.h" # include "xf1bpp.h"
#endif
#ifdef HAVE_XF4BPP
# include "xf4bpp.h" # include "xf4bpp.h"
#endif
#include "fb.h" #include "fb.h"
#include "xf86Resources.h" #include "xf86Resources.h"
@@ -748,14 +752,18 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags)
/* Load bpp-specific modules. */ /* Load bpp-specific modules. */
switch(pScrn->bitsPerPixel) { switch(pScrn->bitsPerPixel) {
#ifdef HAVE_XF1BPP
case 1: case 1:
mod = "xf1bpp"; mod = "xf1bpp";
reqSym = "xf1bppScreenInit"; reqSym = "xf1bppScreenInit";
break; break;
#endif
#ifdef HAVE_XF4BPP
case 4: case 4:
mod = "xf4bpp"; mod = "xf4bpp";
reqSym = "xf4bppScreenInit"; reqSym = "xf4bppScreenInit";
break; break;
#endif
default: default:
mod = "fb"; mod = "fb";
break; break;
@@ -939,17 +947,21 @@ WsfbScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
switch (pScrn->bitsPerPixel) { switch (pScrn->bitsPerPixel) {
case 1: case 1:
#ifdef HAVE_XF1BPP
ret = xf1bppScreenInit(pScreen, fPtr->fbstart, ret = xf1bppScreenInit(pScreen, fPtr->fbstart,
pScrn->virtualX, pScrn->virtualY, pScrn->virtualX, pScrn->virtualY,
pScrn->xDpi, pScrn->yDpi, pScrn->xDpi, pScrn->yDpi,
fPtr->linebytes * 8); fPtr->linebytes * 8);
break; break;
#endif
case 4: case 4:
#ifdef HAVE_XF4BPP
ret = xf4bppScreenInit(pScreen, fPtr->fbstart, ret = xf4bppScreenInit(pScreen, fPtr->fbstart,
pScrn->virtualX, pScrn->virtualY, pScrn->virtualX, pScrn->virtualY,
pScrn->xDpi, pScrn->yDpi, pScrn->xDpi, pScrn->yDpi,
fPtr->linebytes * 2); fPtr->linebytes * 2);
break; break;
#endif
case 8: case 8:
case 16: case 16:
case 24: case 24: