[RFC][PATCH 6/6] configure: sanitise PCI configuration and introduce --disable-pci
Tiago Vignatti
tiago.vignatti at nokia.com
Tue Jul 14 10:06:43 PDT 2009
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 <tiago.vignatti at nokia.com>
---
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
More information about the xorg-devel
mailing list