Right now I'm able to use Xorg with an fbdev drived device without the server
stomps the inexistent PCI hardware on it. Yay!

Signed-off-by: Tiago Vignatti <[email protected]>
---
 configure.ac             |   84 ++++++++++++++++++++++++++-------------------
 include/xorg-config.h.in |    3 ++
 2 files changed, 51 insertions(+), 36 deletions(-)

diff --git a/configure.ac b/configure.ac
index be39c76..8f4470e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -586,6 +586,7 @@ AC_ARG_ENABLE(xaa,               
AS_HELP_STRING([--enable-xaa], [Build XAA (defa
 AC_ARG_ENABLE(vgahw,          AS_HELP_STRING([--enable-vgahw], [Build Xorg 
with vga access (default: enabled)]), [VGAHW=$enableval], [VGAHW=yes])
 AC_ARG_ENABLE(vbe,            AS_HELP_STRING([--enable-vbe], [Build Xorg with 
VBE module (default: enabled)]), [VBE=$enableval], [VBE=yes])
 AC_ARG_ENABLE(int10-module,     AS_HELP_STRING([--enable-int10-module], [Build 
Xorg with int10 module (default: enabled)]), [INT10MODULE=$enableval], 
[INT10MODULE=yes])
+AC_ARG_ENABLE(pci,            AS_HELP_STRING([--enable-pci], [Build Xorg with 
pciaccess library (default: enabled)]), [PCI=$enableval], [PCI=yes])
 
 dnl DDXes.
 AC_ARG_ENABLE(xorg,                  AS_HELP_STRING([--enable-xorg], [Build 
Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
@@ -1121,7 +1122,6 @@ if test "x$XDMAUTH" = xyes; then
 fi
 
 AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path])
-AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID 
path])
 AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous 
config path])
 AC_DEFINE_DIR(BASE_FONT_PATH, FONTDIR, [Default base font path])
 AC_DEFINE_DIR(DRI_DRIVER_PATH, DRI_DRIVER_PATH, [Default DRI driver path])
@@ -1324,10 +1324,6 @@ if test "x$XORG" = xauto; then
 fi
 AC_MSG_RESULT([$XORG])
 
-xorg_bus_linuxpci=no
-xorg_bus_bsdpci=no
-xorg_bus_sparc=no
-
 if test "x$XORG" = xyes; then
        XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 
-I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
        XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support 
-I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
@@ -1376,17 +1372,53 @@ if test "x$XORG" = xyes; then
        AC_SUBST([symbol_visibility])
        dnl ===================================================================
 
-       PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
-       SAVE_LIBS=$LIBS
-       SAVE_CFLAGS=$CFLAGS
-       CFLAGS=$PCIACCESS_CFLAGS
-       LIBS=$PCIACCESS_LIBS
-       AC_CHECK_FUNCS([pci_system_init_dev_mem])
-       AC_CHECK_FUNCS([pci_device_enable])
-       LIBS=$SAVE_LIBS
-       CFLAGS=$SAVE_CFLAGS
-       XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $DLOPEN_LIBS 
$GLX_SYS_LIBS"
-       XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
+       dnl ===================================================================
+       dnl ================= beginning of PCI configuration ==================
+       dnl ===================================================================
+
+       xorg_bus_linuxpci=no
+       xorg_bus_bsdpci=no
+       xorg_bus_sparc=no
+
+       AC_MSG_CHECKING([whether to build Xorg PCI functions])
+       if test "x$PCI" = xyes; then
+               PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
+               SAVE_LIBS=$LIBS
+               SAVE_CFLAGS=$CFLAGS
+               CFLAGS=$PCIACCESS_CFLAGS
+               LIBS=$PCIACCESS_LIBS
+               AC_CHECK_FUNCS([pci_system_init_dev_mem])
+               AC_CHECK_FUNCS([pci_device_enable])
+               LIBS=$SAVE_LIBS
+       CFLAGS=$SAVE_CFLAGS
+               XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $DLOPEN_LIBS 
$GLX_SYS_LIBS"
+               XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
+               AC_DEFINE(XSERVER_LIBPCIACCESS, 1, [Use libpciaccess for all 
pci manipulation])
+               AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI 
text file ID path])
+
+               case $host_os in
+                 linux*)
+                       xorg_bus_linuxpci="yes"
+                       ;;
+                 freebsd* | kfreebsd*-gnu | dragonfly* | netbsd* | openbsd* | 
solaris*)
+                       xorg_bus_bsdpci="yes"
+                       ;;
+               esac
+               case $host_cpu in
+                 sparc*)
+                       xorg_bus_sparc="yes"
+                       ;;
+               esac
+       fi
+       AC_MSG_RESULT([$PCI])
+
+       AM_CONDITIONAL([XORG_LIBPCIACCESS], [test "x$PCI" = xyes])
+       AM_CONDITIONAL([XORG_BUS_LINUXPCI], [test "x$xorg_bus_linuxpci" = xyes])
+       AM_CONDITIONAL([XORG_BUS_BSDPCI], [test "x$xorg_bus_bsdpci" = xyes])
+       AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes])
+       dnl ===================================================================
+       dnl ==================== end of PCI configuration =====================
+       dnl ===================================================================
 
        case $host_os in
          linux*)
@@ -1395,7 +1427,6 @@ if test "x$XORG" = xyes; then
                fi
                XORG_OS="linux"
                XORG_OS_SUBDIR="linux"
-               xorg_bus_linuxpci="yes"
                linux_acpi="no"
                case $host_cpu in
                  ia64*)
@@ -1415,12 +1446,10 @@ if test "x$XORG" = xyes; then
          freebsd* | kfreebsd*-gnu | dragonfly*)
                XORG_OS="freebsd"
                XORG_OS_SUBDIR="bsd"
-               xorg_bus_bsdpci="yes"
                ;;
          netbsd*)
                XORG_OS="netbsd"
                XORG_OS_SUBDIR="bsd"
-               xorg_bus_bsdpci="yes"
                ;;
          openbsd*)
                if test "x$ac_cv_BSD_APM" = xyes \
@@ -1429,14 +1458,10 @@ if test "x$XORG" = xyes; then
                fi
                XORG_OS="openbsd"
                XORG_OS_SUBDIR="bsd"
-               xorg_bus_bsdpci="yes"
                ;;
          solaris*)
                XORG_OS="solaris"
                XORG_OS_SUBDIR="solaris"
-               # Use the same stubs as BSD for old functions, since we now
-               # use libpciaccess for PCI
-               xorg_bus_bsdpci="yes"
                AC_CHECK_HEADERS([sys/kd.h])
                # This really should be tests for specific features, but the 
#ifdef's
                # were done as a simple version check in XFree86 4.x and 
haven't been 
@@ -1502,15 +1527,6 @@ if test "x$XORG" = xyes; then
                ;;
        esac
 
-       case $host_cpu in
-         sparc*)
-               xorg_bus_sparc="yes"
-               ;;
-       esac
-
-       if test "x$XORG_OS_PCI" = x ; then
-               XORG_OS_PCI=$XORG_OS
-       fi
        if test "x$DGA" = xauto; then
                PKG_CHECK_MODULES(DGA, xf86dgaproto, [DGA=yes], [DGA=no])
        fi
@@ -1569,7 +1585,6 @@ if test "x$XORG" = xyes; then
        AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install 
path])
        AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location])
        AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web 
address for support])
-       AC_DEFINE(XSERVER_LIBPCIACCESS, 1, [Use libpciaccess for all pci 
manipulation])
        if test "x$VGAHW" = xyes; then
                AC_DEFINE(WITH_VGAHW, 1, [Building vgahw module])
        fi
@@ -1597,9 +1612,6 @@ if test "x$XORG" = xyes; then
        AC_SUBST([abi_extension])
 fi
 AM_CONDITIONAL([XORG], [test "x$XORG" = xyes])
-AM_CONDITIONAL([XORG_BUS_LINUXPCI], [test "x$xorg_bus_linuxpci" = xyes])
-AM_CONDITIONAL([XORG_BUS_BSDPCI], [test "x$xorg_bus_bsdpci" = xyes])
-AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes])
 AM_CONDITIONAL([LINUX_IA64], [test "x$linux_ia64" = xyes])
 AM_CONDITIONAL([LINUX_ALPHA], [test "x$linux_alpha" = xyes])
 AM_CONDITIONAL([LNXACPI], [test "x$linux_acpi" = xyes])
diff --git a/include/xorg-config.h.in b/include/xorg-config.h.in
index ebeb44a..8345cd5 100644
--- a/include/xorg-config.h.in
+++ b/include/xorg-config.h.in
@@ -124,4 +124,7 @@
 /* Path to text files containing PCI IDs */
 #undef PCI_TXT_IDS_PATH
 
+/* Have PCI */
+#undef XSERVER_LIBPCIACCESS
+
 #endif /* _XORG_CONFIG_H_ */
-- 
1.5.6.3

_______________________________________________
xorg-devel mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to