[Xquartz-changes] xserver: Branch 'master' - 7 commits
Jeremy Huddleston
jeremyhu at freedesktop.org
Sun Oct 2 01:46:34 PDT 2011
Rebased ref, commits from common ancestor:
commit 61156d934e7adf8ae28d2a4338bbeab47b3fb0d3
Author: Jeremy Huddleston <jeremyhu at apple.com>
Date: Sat Sep 24 00:01:11 2011 -0700
Bump ABI_VIDEODRV_VERSION to 12
The ABI changed in the previous series of changes, so bump the ABI version for
the next release.
Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
Reviewed-by: Jamey Sharp <jamey at minilop.net>
diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h
index 3038c04..d274c9d 100644
--- a/hw/xfree86/common/xf86Module.h
+++ b/hw/xfree86/common/xf86Module.h
@@ -82,7 +82,7 @@ typedef enum {
* mask is 0xFFFF0000.
*/
#define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 4)
-#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(11, 0)
+#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(12, 0)
#define ABI_XINPUT_VERSION SET_ABI_VERSION(13, 0)
#define ABI_EXTENSION_VERSION SET_ABI_VERSION(6, 0)
#define ABI_FONT_VERSION SET_ABI_VERSION(0, 6)
commit fb4d9b9f0295fb8fdb31281ea779db8a98e3b0fb
Author: Jeremy Huddleston <jeremyhu at apple.com>
Date: Wed Sep 14 13:45:18 2011 -0500
xorg-server.pc.in: Remove libpciaccess and pixman-1 from Requires
Every module building against xorg-server does not *Require* pixman nor
libpciaccess. If such modules need pixman or pciaccess, they should be
depending on them directly rather than inheriting a dependency from
xorg-server. To do this, they should use PKG_CHECK_MODULES in configure.ac
to check for pixman-1 or pciaccess and include the apporpriate _LIBS variable
to the appropriate _LDFLAGS variable in Makefile.am
This also moves pixman-1 to Requires.private, so CPPFLAGS is set right to
to satisfy include dependencies but avoid linking needlessly.
Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
Reviewed-by: Gaetan Nadon <memsize at videotron.ca>
diff --git a/configure.ac b/configure.ac
index f22d502..55e684a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -783,11 +783,6 @@ VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1"
WINDOWSWMPROTO="windowswmproto"
APPLEWMPROTO="applewmproto >= 1.4"
-dnl Core modules for most extensions, et al.
-SDK_REQUIRED_MODULES="[xproto >= 7.0.22] [randrproto >= 1.2.99.3] [renderproto >= 0.11] [xextproto >= 7.1.99] [inputproto >= 1.9.99.902] [kbproto >= 1.0.3] fontsproto"
-# Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
-AC_SUBST(SDK_REQUIRED_MODULES)
-
dnl List of libraries that require a specific version
LIBAPPLEWM="applewm >= 1.4"
LIBDMX="dmx >= 1.0.99.1"
@@ -809,6 +804,11 @@ dnl specific modules against it
PKG_CHECK_MODULES(PIXMAN, $LIBPIXMAN)
REQUIRED_LIBS="$REQUIRED_LIBS $LIBPIXMAN $LIBXFONT xau"
+dnl Core modules for most extensions, et al.
+SDK_REQUIRED_MODULES="[xproto >= 7.0.22] [randrproto >= 1.2.99.3] [renderproto >= 0.11] [xextproto >= 7.1.99] [inputproto >= 1.9.99.902] [kbproto >= 1.0.3] fontsproto $LIBPIXMAN"
+# Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
+AC_SUBST(SDK_REQUIRED_MODULES)
+
REQUIRED_MODULES="[fixesproto >= 5.0] [damageproto >= 1.1] [xcmiscproto >= 1.2.0] [xtrans >= 1.2.2] [bigreqsproto >= 1.1.0] $SDK_REQUIRED_MODULES"
if test "x$CONFIG_UDEV" = xyes &&
@@ -1558,6 +1558,7 @@ if test "x$XORG" = xyes; then
if test "x$PCI" = xyes; then
PKG_CHECK_MODULES([PCIACCESS], $LIBPCIACCESS)
+ SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $LIBPCIACCESS"
XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS"
XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
diff --git a/xorg-server.pc.in b/xorg-server.pc.in
index fb238b5..a98eca8 100644
--- a/xorg-server.pc.in
+++ b/xorg-server.pc.in
@@ -15,7 +15,6 @@ abi_extension=@abi_extension@
Name: xorg-server
Description: Modular X.Org X Server
Version: @PACKAGE_VERSION@
-Requires: pixman-1 pciaccess
Requires.private: @SDK_REQUIRED_MODULES@
Cflags: -I${sdkdir} @symbol_visibility@
Libs: -L${libdir}
commit 312ccb1aec34b4a09614a84974f97edd1acad3e1
Author: Jeremy Huddleston <jeremyhu at apple.com>
Date: Wed Sep 14 10:37:38 2011 -0500
darwin: configure: Force some irrelevant options to off on darwin
This removes the need to pass the following to configure on darwin:
--disable-pciaccess -disable-int10-module --disable-vbe --disable-vgahw --disable-libdrm
Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
Reviewed-by: Jamey Sharp <jamey at minilop.net>
diff --git a/configure.ac b/configure.ac
index 84a53a9..f22d502 100644
--- a/configure.ac
+++ b/configure.ac
@@ -718,6 +718,11 @@ case $host_os in
XV=no
;;
darwin*)
+ PCI=no
+ INT10MODULE=no
+ VGAHW=no
+ VBE=no
+ DRM=no
DRI2=no
if test x$XQUARTZ = xauto; then
commit 6085ebcf7f58687043c06921281b89c9dadc5b4b
Author: Jeremy Huddleston <jeremyhu at apple.com>
Date: Wed Sep 14 15:42:19 2011 -0500
xfree86: Link modules with -module
This makes a difference on darwin (and apparently nowhere else)
https://www.gnu.org/s/libtool/manual/libtool.html#Modules-for-libltdl
Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
Reviewed-by: Jamey Sharp <jamey at minilop.net>
Reviewed-by: Gaetan Nadon <memsize at videotron.ca>
diff --git a/hw/xfree86/dixmods/Makefile.am b/hw/xfree86/dixmods/Makefile.am
index 1a162ab..b6eb54f 100644
--- a/hw/xfree86/dixmods/Makefile.am
+++ b/hw/xfree86/dixmods/Makefile.am
@@ -30,21 +30,21 @@ INCLUDES = @XORG_INCS@ \
-I$(top_srcdir)/miext/shadow \
-I$(top_srcdir)/glx
-libdbe_la_LDFLAGS = -avoid-version
+libdbe_la_LDFLAGS = -module -avoid-version
libdbe_la_LIBADD = $(top_builddir)/dbe/libdbe.la
libdbe_la_SOURCES = dbemodule.c
-libfb_la_LDFLAGS = -avoid-version
+libfb_la_LDFLAGS = -module -avoid-version
libfb_la_LIBADD = $(top_builddir)/fb/libfb.la
libfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
libfb_la_CFLAGS = $(AM_CFLAGS)
-libwfb_la_LDFLAGS = -avoid-version
+libwfb_la_LDFLAGS = -module -avoid-version
libwfb_la_LIBADD = $(top_builddir)/fb/libwfb.la
libwfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
libwfb_la_CFLAGS = $(AM_CFLAGS) -DFB_ACCESS_WRAPPER
-libglx_la_LDFLAGS = -avoid-version
+libglx_la_LDFLAGS = -module -avoid-version
if AIGLX_DRI_LOADER
GLXDRI_LIBRARY = $(top_builddir)/glx/libglxdri.la
endif
@@ -53,11 +53,11 @@ libglx_la_LIBADD = \
$(GLXDRI_LIBRARY)
libglx_la_SOURCES = glxmodule.c
-librecord_la_LDFLAGS = -avoid-version
+librecord_la_LDFLAGS = -module -avoid-version
librecord_la_LIBADD = $(top_builddir)/record/librecord.la
librecord_la_SOURCES = recordmod.c
-libshadow_la_LDFLAGS = -avoid-version
+libshadow_la_LDFLAGS = -module -avoid-version
libshadow_la_LIBADD = $(top_builddir)/miext/shadow/libshadow.la
libshadow_la_SOURCES = shmodule.c
diff --git a/hw/xfree86/dixmods/extmod/Makefile.am b/hw/xfree86/dixmods/extmod/Makefile.am
index cce19f7..87c28a4 100644
--- a/hw/xfree86/dixmods/extmod/Makefile.am
+++ b/hw/xfree86/dixmods/extmod/Makefile.am
@@ -21,7 +21,7 @@ INCLUDES = @XORG_INCS@ \
-I$(top_srcdir)/hw/xfree86/loader \
-I$(top_srcdir)/miext/shadow
-libextmod_la_LDFLAGS = -avoid-version
+libextmod_la_LDFLAGS = -module -avoid-version
libextmod_la_SOURCES = modinit.c \
modinit.h \
$(DGA_SRCS) \
diff --git a/hw/xfree86/exa/Makefile.am b/hw/xfree86/exa/Makefile.am
index 39f7a90..3ced531 100644
--- a/hw/xfree86/exa/Makefile.am
+++ b/hw/xfree86/exa/Makefile.am
@@ -2,7 +2,7 @@ SUBDIRS = man
module_LTLIBRARIES = libexa.la
-libexa_la_LDFLAGS = -avoid-version
+libexa_la_LDFLAGS = -module -avoid-version
INCLUDES = \
$(XORG_INCS) \
diff --git a/hw/xfree86/fbdevhw/Makefile.am b/hw/xfree86/fbdevhw/Makefile.am
index 2a03890..4472acd 100644
--- a/hw/xfree86/fbdevhw/Makefile.am
+++ b/hw/xfree86/fbdevhw/Makefile.am
@@ -2,7 +2,7 @@ SUBDIRS = man
module_LTLIBRARIES = libfbdevhw.la
-libfbdevhw_la_LDFLAGS = -avoid-version
+libfbdevhw_la_LDFLAGS = -module -avoid-version
if FBDEVHW
libfbdevhw_la_SOURCES = fbdevhw.c
diff --git a/hw/xfree86/shadowfb/Makefile.am b/hw/xfree86/shadowfb/Makefile.am
index 02d2dd4..39c6610 100644
--- a/hw/xfree86/shadowfb/Makefile.am
+++ b/hw/xfree86/shadowfb/Makefile.am
@@ -1,5 +1,5 @@
module_LTLIBRARIES = libshadowfb.la
-libshadowfb_la_LDFLAGS = -avoid-version
+libshadowfb_la_LDFLAGS = -module -avoid-version
libshadowfb_la_SOURCES = sfbmodule.c shadow.c
sdk_HEADERS = shadowfb.h
diff --git a/hw/xfree86/vbe/Makefile.am b/hw/xfree86/vbe/Makefile.am
index 85c6fd8..4b794e6 100644
--- a/hw/xfree86/vbe/Makefile.am
+++ b/hw/xfree86/vbe/Makefile.am
@@ -1,5 +1,5 @@
module_LTLIBRARIES = libvbe.la
-libvbe_la_LDFLAGS = -avoid-version
+libvbe_la_LDFLAGS = -module -avoid-version
libvbe_la_SOURCES = vbe.c vbeModes.c vbe_module.c
sdk_HEADERS = vbe.h vbeModes.h
diff --git a/hw/xfree86/xaa/Makefile.am b/hw/xfree86/xaa/Makefile.am
index 5bfb4e9..7ebe0b9 100644
--- a/hw/xfree86/xaa/Makefile.am
+++ b/hw/xfree86/xaa/Makefile.am
@@ -8,7 +8,7 @@ MSB_FIXED = mf-xaaBitmap.c mf-xaaStipple.c mf-xaaTEGlyph.c
MSB_3_FIXED = mf3-xaaBitmap.c mf3-xaaStipple.c
POLYSEG = s-xaaLine.c s-xaaDashLine.c
-libxaa_la_LDFLAGS = -avoid-version
+libxaa_la_LDFLAGS = -module -avoid-version
if COMPOSITE
libxaa_la_LIBADD = $(top_builddir)/miext/cw/libcw.la
endif
commit b8cae93a1472099f8135b6dfb29dfddb8c346b1f
Author: Jeremy Huddleston <jeremyhu at apple.com>
Date: Wed Sep 14 12:14:56 2011 -0500
xfree86: fbdevhw: Remove unused include of pciaccess.h
Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
Reviewed-by: Jamey Sharp <jamey at minilop.net>
diff --git a/hw/xfree86/fbdevhw/fbdevhw.h b/hw/xfree86/fbdevhw/fbdevhw.h
index bc46b9c..34870c2 100644
--- a/hw/xfree86/fbdevhw/fbdevhw.h
+++ b/hw/xfree86/fbdevhw/fbdevhw.h
@@ -5,8 +5,6 @@
#include "xf86str.h"
#include "colormapst.h"
-#include <pciaccess.h>
-
#define FBDEVHW_PACKED_PIXELS 0 /* Packed Pixels */
#define FBDEVHW_PLANES 1 /* Non interleaved planes */
#define FBDEVHW_INTERLEAVED_PLANES 2 /* Interleaved planes */
commit 6b2550a450c8ee1a3969f6ff34311fcfcbe7f6a0
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Tue Jun 1 13:05:47 2010 +0300
configure: wrap PCI code with macro and set it at build time
--disable-pciaccess, used together with --disable-module-int10, can be used to
disable all pci code inside the server.
Note that XSERVER_LIBPCIACCESS was previously used only in the driver side and
now it defines also whether the library is used inside the server. Also,
XORG_BUS_PCI automake variable is introduced to track PCI code needs.
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Mikhail Gusarov <dottedmag at dottedmag.net>
Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>
Built-by: Jeremy Huddleston <jeremyhu at apple.com>
diff --git a/configure.ac b/configure.ac
index 4e84888..84a53a9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -637,6 +637,7 @@ AC_ARG_ENABLE(int10-module, AS_HELP_STRING([--enable-int10-module], [Build X
AC_ARG_ENABLE(windowswm, AS_HELP_STRING([--enable-windowswm], [Build XWin with WindowsWM extension (default: no)]), [WINDOWSWM=$enableval], [WINDOWSWM=no])
AC_ARG_ENABLE(libdrm, AS_HELP_STRING([--enable-libdrm], [Build Xorg with libdrm support (default: enabled)]), [DRM=$enableval],[DRM=yes])
AC_ARG_ENABLE(clientids, AS_HELP_STRING([--disable-clientids], [Build Xorg with client ID tracking (default: enabled)]), [CLIENTIDS=$enableval], [CLIENTIDS=yes])
+AC_ARG_ENABLE(pciaccess, AS_HELP_STRING([--enable-pciaccess], [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])
@@ -1548,6 +1549,9 @@ if test "x$XORG" = xyes; then
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], $LIBPCIACCESS)
XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS"
XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
@@ -1564,6 +1568,9 @@ if test "x$XORG" = xyes; then
xorg_bus_sparc="yes"
;;
esac
+ fi
+ AC_MSG_RESULT([$PCI])
+
dnl ===================================================================
dnl ==================== end of PCI configuration =====================
dnl ===================================================================
@@ -1743,6 +1750,7 @@ if test "x$XORG" = xyes; then
AC_SUBST([abi_extension])
fi
AM_CONDITIONAL([XORG], [test "x$XORG" = xyes])
+AM_CONDITIONAL([XORG_BUS_PCI], [test "x$PCI" = 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_ALPHA], [test "x$linux_alpha" = xyes])
diff --git a/hw/xfree86/common/Makefile.am b/hw/xfree86/common/Makefile.am
index 23ddb5c..a273721 100644
--- a/hw/xfree86/common/Makefile.am
+++ b/hw/xfree86/common/Makefile.am
@@ -1,5 +1,10 @@
noinst_LTLIBRARIES = libcommon.la
+if XORG_BUS_PCI
+PCI_SOURCES = xf86pciBus.c xf86VGAarbiter.c xf86VGAarbiter.h \
+ xf86VGAarbiterPriv.h
+endif
+
if XORG_BUS_SPARC
SBUS_SOURCES = xf86sbusBus.c
endif
@@ -19,7 +24,7 @@ endif
RANDRSOURCES = xf86RandR.c
-BUSSOURCES = xf86pciBus.c xf86fbBus.c xf86noBus.c $(SBUS_SOURCES)
+BUSSOURCES = xf86fbBus.c xf86noBus.c $(PCI_SOURCES) $(SBUS_SOURCES)
MODEDEFSOURCES = $(srcdir)/vesamodes $(srcdir)/extramodes
@@ -33,7 +38,7 @@ AM_LDFLAGS = -r
libcommon_la_SOURCES = xf86Configure.c xf86ShowOpts.c xf86Bus.c xf86Config.c \
xf86Cursor.c $(DGASOURCES) xf86DPMS.c \
xf86Events.c xf86Globals.c xf86AutoConfig.c \
- xf86Option.c xf86Init.c xf86VGAarbiter.c \
+ xf86Option.c xf86Init.c \
xf86VidMode.c xf86fbman.c xf86cmap.c \
xf86Helper.c xf86PM.c xf86Xinput.c xisb.c \
xf86Mode.c xorgHelper.c \
diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
index da9287b..3185baf 100644
--- a/hw/xfree86/common/xf86.h
+++ b/hw/xfree86/common/xf86.h
@@ -92,6 +92,7 @@ extern _X_EXPORT Bool VTSwitchEnabled; /* kbd driver */
#ifndef _NO_XF86_PROTOTYPES
/* PCI related */
+#ifdef XSERVER_LIBPCIACCESS
#include <pciaccess.h>
extern _X_EXPORT Bool pciSlotClaimed;
@@ -118,6 +119,15 @@ extern _X_EXPORT ScrnInfoPtr xf86ConfigPciEntity(ScrnInfoPtr pScrn,
extern _X_EXPORT Bool xf86ConfigActivePciEntity(ScrnInfoPtr pScrn,
int entityIndex,PciChipsets *p_chip, void *dummy, EntityProc init,
EntityProc enter, EntityProc leave, pointer private);
+#else
+#define xf86VGAarbiterInit() do {} while (0)
+#define xf86VGAarbiterFini() do {} while (0)
+#define xf86VGAarbiterLock(x) do {} while (0)
+#define xf86VGAarbiterUnlock(x) do {} while (0)
+#define xf86VGAarbiterScrnInit(x) do {} while (0)
+#define xf86VGAarbiterDeviceDecodes() do {} while (0)
+#define xf86VGAarbiterWrapFunctions() do {} while (0)
+#endif
/* xf86Bus.c */
diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
index 5c6e721..7fc6518 100644
--- a/hw/xfree86/common/xf86AutoConfig.c
+++ b/hw/xfree86/common/xf86AutoConfig.c
@@ -255,9 +255,9 @@ listPossibleVideoDrivers(char *matches[], int nmatches)
matches[i++] = xnfstrdup(sbusDriver);
}
#endif
-
+#ifdef XSERVER_LIBPCIACCESS
i = xf86PciMatchDriver(matches, nmatches);
-
+#endif
/* Fallback to platform default hardware */
if (i < (nmatches - 1)) {
#if defined(__i386__) || defined(__amd64__) || defined(__hurd__)
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 8749a29..c665a20 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -47,8 +47,9 @@
#define XF86_OS_PRIVS
#include "xf86_OSproc.h"
+#ifdef XSERVER_LIBPCIACCESS
#include "xf86VGAarbiter.h"
-
+#endif
/* Entity data */
EntityPtr *xf86Entities = NULL; /* Bus slots claimed by drivers */
int xf86NumEntities = 0;
@@ -75,7 +76,7 @@ Bool
xf86CallDriverProbe( DriverPtr drv, Bool detect_only )
{
Bool foundScreen = FALSE;
-
+#ifdef XSERVER_LIBPCIACCESS
if (drv->PciProbe != NULL) {
if (xf86DoConfigure && xf86DoConfigurePass1) {
assert(detect_only);
@@ -86,7 +87,7 @@ xf86CallDriverProbe( DriverPtr drv, Bool detect_only )
foundScreen = xf86PciProbeDev(drv);
}
}
-
+#endif
if (!foundScreen && (drv->Probe != NULL)) {
xf86Msg( X_WARNING, "Falling back to old probe method for %s\n",
drv->driverName);
@@ -195,7 +196,9 @@ xf86BusConfig(void)
void
xf86BusProbe(void)
{
+#ifdef XSERVER_LIBPCIACCESS
xf86PciProbe();
+#endif
#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
xf86SbusProbe();
#endif
@@ -504,9 +507,14 @@ xf86PostProbe(void)
{
int i;
- if (fbSlotClaimed && (pciSlotClaimed
+ if (fbSlotClaimed && (
#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
- || sbusSlotClaimed
+ sbusSlotClaimed ||
+#endif
+#ifdef XSERVER_LIBPCIACCESS
+ pciSlotClaimed
+#else
+ TRUE
#endif
))
FatalError("Cannot run in framebuffer mode. Please specify busIDs "
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index e6c4d8f..8a1177c 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -2409,7 +2409,7 @@ xf86HandleConfigFile(Bool autoconfig)
}
xf86ProcessOptions(-1, xf86ConfigLayout.options, LayoutOptions);
-
+#ifdef XSERVER_LIBPCIACCESS
if ((scanptr = xf86GetOptValString(LayoutOptions, LAYOUT_ISOLATEDEVICE))) {
; /* IsolateDevice specified; overrides SingleCard */
} else {
@@ -2424,7 +2424,7 @@ xf86HandleConfigFile(Bool autoconfig)
} else
xf86PciIsolateDevice(scanptr);
}
-
+#endif
/* Now process everything else */
if (!configServerFlags(xf86configptr->conf_flags,xf86ConfigLayout.options)){
ErrorF ("Problem when converting the config data structures\n");
diff --git a/hw/xfree86/common/xf86Configure.c b/hw/xfree86/common/xf86Configure.c
index ab07515..99b8b48 100644
--- a/hw/xfree86/common/xf86Configure.c
+++ b/hw/xfree86/common/xf86Configure.c
@@ -87,9 +87,11 @@ xf86AddBusDeviceToConfigure(const char *driver, BusType bus, void *busData, int
/* Check for duplicates */
for (i = 0; i < nDevToConfig; i++) {
switch (bus) {
+#ifdef XSERVER_LIBPCIACCESS
case BUS_PCI:
ret = xf86PciConfigure(busData, DevToConfig[i].pVideo);
- break;
+ break;
+#endif
#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
case BUS_SBUS:
ret = xf86SbusConfigure(busData, DevToConfig[i].sVideo);
@@ -118,10 +120,12 @@ xf86AddBusDeviceToConfigure(const char *driver, BusType bus, void *busData, int
for (j = 0; (DevToConfig[i].GDev.driver[j] = tolower(driver[j])); j++);
switch (bus) {
+#ifdef XSERVER_LIBPCIACCESS
case BUS_PCI:
xf86PciConfigureNewDev(busData, DevToConfig[i].pVideo,
&DevToConfig[i].GDev, &chipset);
break;
+#endif
#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
case BUS_SBUS:
xf86SbusConfigureNewDev(busData, DevToConfig[i].sVideo,
diff --git a/hw/xfree86/common/xf86DPMS.c b/hw/xfree86/common/xf86DPMS.c
index cd025dc..613c7cf 100644
--- a/hw/xfree86/common/xf86DPMS.c
+++ b/hw/xfree86/common/xf86DPMS.c
@@ -42,8 +42,9 @@
#include <X11/extensions/dpmsconst.h>
#include "dpmsproc.h"
#endif
+#ifdef XSERVER_LIBPCIACCESS
#include "xf86VGAarbiter.h"
-
+#endif
#ifdef DPMSExtension
static DevPrivateKeyRec DPMSKeyRec;
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index 350918d..74e0bc2 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -78,7 +78,9 @@
#include "picturestr.h"
#include "xf86Bus.h"
+#ifdef XSERVER_LIBPCIACCESS
#include "xf86VGAarbiter.h"
+#endif
#include "globals.h"
#include "xserver-properties.h"
@@ -88,7 +90,6 @@
#endif
#include <hotplug.h>
-
#ifdef XF86PM
void (*xf86OSPMClose)(void) = NULL;
#endif
@@ -1355,6 +1356,7 @@ ddxProcessArgument(int argc, char **argv, int i)
xf86DoShowOptions = TRUE;
return 1;
}
+#ifdef XSERVER_LIBPCIACCESS
if (!strcmp(argv[i], "-isolateDevice"))
{
CHECK_FOR_REQUIRED_ARGUMENT();
@@ -1364,6 +1366,7 @@ ddxProcessArgument(int argc, char **argv, int i)
xf86PciIsolateDevice(argv[i]);
return 2;
}
+#endif
/* Notice cmdline xkbdir, but pass to dix as well */
if (!strcmp(argv[i], "-xkbdir"))
{
@@ -1432,7 +1435,9 @@ ddxUseMsg(void)
#endif
ErrorF("-allowMouseOpenFail start server even if the mouse can't be initialized\n");
ErrorF("-ignoreABI make module ABI mismatches non-fatal\n");
+#ifdef XSERVER_LIBPCIACCESS
ErrorF("-isolateDevice bus_id restrict device resets to bus_id (PCI only)\n");
+#endif
ErrorF("-version show the server version\n");
ErrorF("-showDefaultModulePath show the server default module path\n");
ErrorF("-showDefaultLibPath show the server default library path\n");
diff --git a/hw/xfree86/common/xf86fbBus.c b/hw/xfree86/common/xf86fbBus.c
index 059e378..4592980 100644
--- a/hw/xfree86/common/xf86fbBus.c
+++ b/hw/xfree86/common/xf86fbBus.c
@@ -54,8 +54,10 @@ xf86ClaimFbSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active)
EntityPtr p;
int num;
+#ifdef XSERVER_LIBPCIACCESS
if (pciSlotClaimed)
return -1;
+#endif
#if defined(__sparc__) || defined (__sparc64__)
if (sbusSlotClaimed)
return -1;
diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h
index 43e9d1d..e2ca558 100644
--- a/hw/xfree86/common/xf86str.h
+++ b/hw/xfree86/common/xf86str.h
@@ -41,9 +41,6 @@
#include "colormapst.h"
#include "xf86Module.h"
#include "xf86Opt.h"
-#include "xf86Pci.h"
-
-#include <pciaccess.h>
/**
* Integer type that is of the size of the addressable memory (machine size).
@@ -309,6 +306,8 @@ typedef struct {
struct _SymTabRec;
struct _PciChipsets;
+struct pci_device;
+
typedef struct _DriverRec {
int driverVersion;
char * driverName;
@@ -350,8 +349,6 @@ typedef enum {
BUS_last /* Keep last */
} BusType;
-struct pci_device;
-
typedef struct {
int fbNum;
} SbusBusId;
diff --git a/hw/xfree86/modes/xf86Cursors.c b/hw/xfree86/modes/xf86Cursors.c
index 23c48eb..e244a2d 100644
--- a/hw/xfree86/modes/xf86Cursors.c
+++ b/hw/xfree86/modes/xf86Cursors.c
@@ -33,6 +33,7 @@
#include <string.h>
#include <stdio.h>
+#include <X11/Xarch.h>
#include "xf86.h"
#include "xf86DDC.h"
#include "xf86Crtc.h"
diff --git a/hw/xfree86/os-support/bus/Makefile.am b/hw/xfree86/os-support/bus/Makefile.am
index 16c1021..e09d4d2 100644
--- a/hw/xfree86/os-support/bus/Makefile.am
+++ b/hw/xfree86/os-support/bus/Makefile.am
@@ -1,7 +1,10 @@
noinst_LTLIBRARIES = libbus.la
sdk_HEADERS = xf86Pci.h
-PCI_SOURCES = Pci.c Pci.h
+PCI_SOURCES =
+if XORG_BUS_PCI
+PCI_SOURCES += Pci.c Pci.h
+endif
if XORG_BUS_BSDPCI
PCI_SOURCES += bsd_pci.c
diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
index 18bb735..19795d5 100755
--- a/hw/xfree86/sdksyms.sh
+++ b/hw/xfree86/sdksyms.sh
@@ -118,14 +118,16 @@ cat > sdksyms.c << EOF
#include "xf86.h"
#include "xf86Module.h"
#include "xf86Opt.h"
-#include "xf86PciInfo.h"
+#ifdef XSERVER_LIBPCIACCESS
+ #include "xf86PciInfo.h"
+ #include "xf86VGAarbiter.h"
+#endif
#include "xf86Priv.h"
#include "xf86Privstr.h"
#include "xf86cmap.h"
#include "xf86fbman.h"
#include "xf86str.h"
#include "xf86Xinput.h"
-#include "xf86VGAarbiter.h"
#include "xisb.h"
#if XV
# include "xf86xv.h"
@@ -170,7 +172,9 @@ cat > sdksyms.c << EOF
/* hw/xfree86/os-support/bus/Makefile.am */
-#include "xf86Pci.h"
+#ifdef XSERVER_LIBPCIACCESS
+# include "xf86Pci.h"
+#endif
#if defined(__sparc__) || defined(__sparc)
# include "xf86Sbus.h"
#endif
diff --git a/include/xorg-config.h.in b/include/xorg-config.h.in
index 33bf908..6b9230f 100644
--- a/include/xorg-config.h.in
+++ b/include/xorg-config.h.in
@@ -127,4 +127,7 @@
/* Build with libdrm support */
#undef WITH_LIBDRM
+/* Use libpciaccess */
+#undef XSERVER_LIBPCIACCESS
+
#endif /* _XORG_CONFIG_H_ */
commit c699b7e8f65f57d7051c80fefcd7b618c7ffda08
Author: Tiago Vignatti <tiago.vignatti at nokia.com>
Date: Mon May 31 19:27:07 2010 +0300
configure: make PCI configuration more sane
No semantical changes. Just moved code around, grouping PCI related stuff in a
single chunk.
Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Reviewed-by: Mikhail Gusarov <dottedmag at dottedmag.net>
Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>
Built-by: Jeremy Huddleston <jeremyhu at apple.com>
diff --git a/configure.ac b/configure.ac
index 7efc4c6..4e84888 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1245,7 +1245,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, FONTROOTDIR, [Default base font path])
dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`
@@ -1496,9 +1495,6 @@ if test "x$XORG" = xauto; then
fi
AC_MSG_RESULT([$XORG])
-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'
@@ -1546,10 +1542,32 @@ if test "x$XORG" = xyes; then
AC_SUBST([symbol_visibility])
dnl ===================================================================
+ dnl ===================================================================
+ dnl ================= beginning of PCI configuration ==================
+ dnl ===================================================================
+ xorg_bus_bsdpci=no
+ xorg_bus_sparc=no
+
PKG_CHECK_MODULES([PCIACCESS], $LIBPCIACCESS)
XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_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
+ gnu* | freebsd* | kfreebsd*-gnu | netbsd* | openbsd* | solaris* | dragonfly*)
+ xorg_bus_bsdpci="yes"
+ ;;
+ esac
+ case $host_cpu in
+ sparc*)
+ xorg_bus_sparc="yes"
+ ;;
+ esac
+ dnl ===================================================================
+ dnl ==================== end of PCI configuration =====================
+ dnl ===================================================================
+
case $host_os in
linux*)
if test "x$LNXAPM" = xyes; then
@@ -1570,11 +1588,9 @@ if test "x$XORG" = xyes; then
;;
freebsd* | kfreebsd*-gnu | dragonfly*)
XORG_OS_SUBDIR="bsd"
- xorg_bus_bsdpci="yes"
;;
netbsd*)
XORG_OS_SUBDIR="bsd"
- xorg_bus_bsdpci="yes"
;;
openbsd*)
if test "x$ac_cv_BSD_APM" = xyes \
@@ -1582,14 +1598,10 @@ if test "x$XORG" = xyes; then
XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
fi
XORG_OS_SUBDIR="bsd"
- xorg_bus_bsdpci="yes"
;;
solaris*)
XORG_OS_SUBDIR="solaris"
XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
- # 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])
AC_CHECK_HEADERS([sys/vt.h], [solaris_vt=yes], [solaris_vt=no])
# Check for minimum supported release
@@ -1634,9 +1646,6 @@ if test "x$XORG" = xyes; then
;;
gnu*)
XORG_OS_SUBDIR="hurd"
- # Use the same stubs as BSD for old functions, since we now
- # use libpciaccess for PCI
- xorg_bus_bsdpci="yes"
;;
*)
XORG_OS_SUBDIR="stub"
@@ -1649,9 +1658,6 @@ if test "x$XORG" = xyes; then
esac
case $host_cpu in
- sparc*)
- xorg_bus_sparc="yes"
- ;;
i*86)
;;
esac
@@ -1708,7 +1714,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
More information about the Xquartz-changes
mailing list