Use libtool convenience libraries and better "symbol" table.

All .a libraries were converted to .la, and instead of linking the
Xorg binary with a mix of .a and .la, and adding some libraries more
then once in the command line, etc, now it generates a single libxorg.la
from all the required convenience libraries, and links with a dummy
xorg.c (that should usually be the file with the main function...).
This removes the requirement of some things like libosandcommon and
libinit, that existed to circumvent problems when linking multiple
.a and .la in the final Xorg binary.

  The "symbol table" is now generated dynamically, by a shell script,
with an embedded gawk parser that parses cpp output. The new file
sdksyms.sh is generated by hand by analyzing all Makefile.am's and
making it create a sdksyms.c file, that includes all sdk headers that
will add symbols for the Xorg binary. Module headers aren't read, and
a in 2 files it was required to add a "<hash>ifndef XorgLoader" around
declarations shared between the Xorg binary and libextmod. A few
other changes were added to other sdk headers, like preventing
multiple inclusion, or including other headers to satisfy dependencies.

  This should be a lot more portable, and better (hopefully properly)
using libtool to generate convenience libraries.
This commit is contained in:
Paulo Cesar Pereira de Andrade 2008-12-07 02:22:19 -02:00
parent ccd2c668c1
commit b1dac41fb3
27 changed files with 475 additions and 1282 deletions

2
.gitignore vendored
View File

@ -124,6 +124,8 @@ hw/xfree86/xaa/mf3-xaaStipple.c
hw/xfree86/xaa/s-xaaDashLine.c hw/xfree86/xaa/s-xaaDashLine.c
hw/xfree86/xaa/s-xaaLine.c hw/xfree86/xaa/s-xaaLine.c
hw/xfree86/xorg.c hw/xfree86/xorg.c
hw/xfree86/libxorg.c
hw/xfree86/loader/sdksyms.c
hw/xfree86/xorg.conf.example hw/xfree86/xorg.conf.example
hw/xfree86/xorg.conf.example.pre hw/xfree86/xorg.conf.example.pre
hw/xnest/Xnest hw/xnest/Xnest

View File

@ -55,6 +55,7 @@ SOFTWARE.
#include "scrnintstr.h" #include "scrnintstr.h"
#include <X11/extensions/Xvproto.h> #include <X11/extensions/Xvproto.h>
#ifndef XorgLoader
extern _X_EXPORT unsigned long XvExtensionGeneration; extern _X_EXPORT unsigned long XvExtensionGeneration;
extern _X_EXPORT unsigned long XvScreenGeneration; extern _X_EXPORT unsigned long XvScreenGeneration;
extern _X_EXPORT unsigned long XvResourceGeneration; extern _X_EXPORT unsigned long XvResourceGeneration;
@ -69,6 +70,7 @@ extern _X_EXPORT unsigned long XvRTGrab;
extern _X_EXPORT unsigned long XvRTVideoNotify; extern _X_EXPORT unsigned long XvRTVideoNotify;
extern _X_EXPORT unsigned long XvRTVideoNotifyList; extern _X_EXPORT unsigned long XvRTVideoNotifyList;
extern _X_EXPORT unsigned long XvRTPortNotify; extern _X_EXPORT unsigned long XvRTPortNotify;
#endif
typedef struct { typedef struct {
int numerator; int numerator;
@ -234,6 +236,7 @@ typedef struct {
#define _XvBadPort (XvBadPort+XvErrorBase) #define _XvBadPort (XvBadPort+XvErrorBase)
#define _XvBadEncoding (XvBadEncoding+XvErrorBase) #define _XvBadEncoding (XvBadEncoding+XvErrorBase)
#ifndef XorgLoader
extern _X_EXPORT int ProcXvDispatch(ClientPtr); extern _X_EXPORT int ProcXvDispatch(ClientPtr);
extern _X_EXPORT int SProcXvDispatch(ClientPtr); extern _X_EXPORT int SProcXvDispatch(ClientPtr);
@ -270,6 +273,7 @@ extern _X_EXPORT int XvdiPreemptVideo(ClientPtr, XvPortPtr, DrawablePtr);
extern _X_EXPORT int XvdiMatchPort(XvPortPtr, DrawablePtr); extern _X_EXPORT int XvdiMatchPort(XvPortPtr, DrawablePtr);
extern _X_EXPORT int XvdiGrabPort(ClientPtr, XvPortPtr, Time, int *); extern _X_EXPORT int XvdiGrabPort(ClientPtr, XvPortPtr, Time, int *);
extern _X_EXPORT int XvdiUngrabPort( ClientPtr, XvPortPtr, Time); extern _X_EXPORT int XvdiUngrabPort( ClientPtr, XvPortPtr, Time);
#endif /* XorgLoader */
#if !defined(UNIXCPP) #if !defined(UNIXCPP)

View File

@ -101,6 +101,7 @@ typedef struct {
XvMCDestroySubpictureProcPtr DestroySubpicture; XvMCDestroySubpictureProcPtr DestroySubpicture;
} XvMCAdaptorRec, *XvMCAdaptorPtr; } XvMCAdaptorRec, *XvMCAdaptorPtr;
#ifndef XorgLoader
extern _X_EXPORT void XvMCExtensionInit(void); extern _X_EXPORT void XvMCExtensionInit(void);
extern _X_EXPORT int XvMCScreenInit(ScreenPtr pScreen, extern _X_EXPORT int XvMCScreenInit(ScreenPtr pScreen,
@ -112,6 +113,6 @@ extern _X_EXPORT XvImagePtr XvMCFindXvImage(XvPortPtr pPort, CARD32 id);
extern _X_EXPORT int xf86XvMCRegisterDRInfo(ScreenPtr pScreen, char *name, extern _X_EXPORT int xf86XvMCRegisterDRInfo(ScreenPtr pScreen, char *name,
char *busID, int major, int minor, char *busID, int major, int minor,
int patchLevel); int patchLevel);
#endif
#endif /* _XVMC_H */ #endif /* _XVMC_H */

View File

@ -1,22 +1,22 @@
AM_CFLAGS = @DIX_CFLAGS@ AM_CFLAGS = @DIX_CFLAGS@
noinst_LIBRARIES = libconfig.a noinst_LTLIBRARIES = libconfig.la
libconfig_a_SOURCES = config.c config-backends.h libconfig_la_SOURCES = config.c config-backends.h
if CONFIG_NEED_DBUS if CONFIG_NEED_DBUS
AM_CFLAGS += @DBUS_CFLAGS@ AM_CFLAGS += @DBUS_CFLAGS@
libconfig_a_SOURCES += dbus-core.c libconfig_la_SOURCES += dbus-core.c
endif endif
if CONFIG_DBUS_API if CONFIG_DBUS_API
dbusconfigdir = $(sysconfdir)/dbus-1/system.d dbusconfigdir = $(sysconfdir)/dbus-1/system.d
dbusconfig_DATA = xorg-server.conf dbusconfig_DATA = xorg-server.conf
libconfig_a_SOURCES += dbus.c libconfig_la_SOURCES += dbus.c
endif endif
if CONFIG_HAL if CONFIG_HAL
libconfig_a_SOURCES += hal.c libconfig_la_SOURCES += hal.c
endif endif
EXTRA_DIST = xorg-server.conf x11-input.fdi EXTRA_DIST = xorg-server.conf x11-input.fdi

View File

@ -708,7 +708,7 @@ if test "x$CONFIG_NEED_DBUS" = xyes; then
AC_DEFINE(CONFIG_NEED_DBUS, 1, [Use D-Bus for input hotplug]) AC_DEFINE(CONFIG_NEED_DBUS, 1, [Use D-Bus for input hotplug])
fi fi
AM_CONDITIONAL(CONFIG_NEED_DBUS, [test "x$CONFIG_NEED_DBUS" = xyes]) AM_CONDITIONAL(CONFIG_NEED_DBUS, [test "x$CONFIG_NEED_DBUS" = xyes])
CONFIG_LIB='$(top_builddir)/config/libconfig.a' CONFIG_LIB='$(top_builddir)/config/libconfig.la'
AC_MSG_CHECKING([for glibc...]) AC_MSG_CHECKING([for glibc...])
AC_PREPROC_IFELSE([ AC_PREPROC_IFELSE([

View File

@ -819,6 +819,8 @@ fb24_32ModifyPixmapHeader (PixmapPtr pPixmap,
/* /*
* fballpriv.c * fballpriv.c
*/ */
extern _X_EXPORT DevPrivateKey fbGetWinPrivateKey(void);
extern _X_EXPORT Bool extern _X_EXPORT Bool
fbAllocatePrivates(ScreenPtr pScreen, DevPrivateKey *pGCIndex); fbAllocatePrivates(ScreenPtr pScreen, DevPrivateKey *pGCIndex);

View File

@ -25,43 +25,36 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
utils doc utils doc
bin_PROGRAMS = Xorg bin_PROGRAMS = Xorg
Xorg_SOURCES = xorg.c
AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
INCLUDES = @XORG_INCS@ INCLUDES = @XORG_INCS@
Xorg_SOURCES = xorg.c noinst_LTLIBRARIES = libxorg.la
libxorg_la_SOURCES = libxorg.c
# libxorgos and libcommon need symbols from each other libxorg_la_LIBADD = \
noinst_LTLIBRARIES = libosandcommon.la
libosandcommon_la_SOURCES = osandcommon.c
libosandcommon_la_LIBADD = \
os-support/libxorgos.la \
common/libcommon.la
osandcommon.c xorg.c:
touch $@
DISTCLEANFILES = osandcommon.c xorg.c
XORG_LIBS = \
$(XSERVER_LIBS) \ $(XSERVER_LIBS) \
common/libinit.a \ loader/libloader.la \
loader/libloader.a \ os-support/libxorgos.la \
libosandcommon.la \ common/libcommon.la \
parser/libxf86config.a \ parser/libxf86config.la \
dixmods/libdixmods.la \ dixmods/libdixmods.la \
modes/libxf86modes.a \ modes/libxf86modes.la \
ramdac/libramdac.a \ ramdac/libramdac.la \
ddc/libddc.a \ ddc/libddc.la \
i2c/libi2c.a \ i2c/libi2c.la \
dixmods/libxorgxkb.la \ dixmods/libxorgxkb.la \
$(top_builddir)/mi/libmi.la \ $(top_builddir)/mi/libmi.la \
$(top_builddir)/os/libos.la \ $(top_builddir)/os/libos.la \
@XORG_LIBS@ \ @XORG_LIBS@
dixmods/libxorgxkb.la
Xorg_DEPENDENCIES = $(XORG_LIBS) libxorg.c xorg.c:
Xorg_LDADD = $(XORG_LIBS) $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS) touch $@
DISTCLEANFILES = libxorg.c xorg.c
Xorg_DEPENDENCIES = libxorg.la
Xorg_LDADD = libxorg.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS)
Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)

View File

@ -1,4 +1,3 @@
noinst_LIBRARIES = libinit.a
noinst_LTLIBRARIES = libcommon.la noinst_LTLIBRARIES = libcommon.la
if XORG_BUS_SPARC if XORG_BUS_SPARC
@ -7,7 +6,7 @@ endif
if XV if XV
XVSOURCES = xf86xv.c xf86xvmc.c XVSOURCES = xf86xv.c xf86xvmc.c
XVSDKINCS = xf86xv.h xf86xvmc.h XVSDKINCS = xf86xv.h xf86xvmc.h xf86xvpriv.h
endif endif
if XF86VIDMODE if XF86VIDMODE
@ -32,14 +31,12 @@ AM_LDFLAGS = -r
libcommon_la_SOURCES = xf86Configure.c xf86ShowOpts.c xf86Bus.c xf86Config.c \ libcommon_la_SOURCES = xf86Configure.c xf86ShowOpts.c xf86Bus.c xf86Config.c \
xf86Cursor.c xf86DGA.c xf86DPMS.c \ xf86Cursor.c xf86DGA.c xf86DPMS.c \
xf86Events.c xf86Globals.c xf86AutoConfig.c \ xf86Events.c xf86Globals.c xf86AutoConfig.c \
xf86Option.c \ xf86Option.c xf86Init.c \
xf86VidMode.c xf86fbman.c xf86cmap.c \ xf86VidMode.c xf86fbman.c xf86cmap.c \
xf86Helper.c xf86PM.c xf86RAC.c xf86Xinput.c xisb.c \ xf86Helper.c xf86PM.c xf86RAC.c xf86Xinput.c xisb.c \
xf86Mode.c xorgHelper.c \ xf86Mode.c xorgHelper.c \
$(XVSOURCES) $(BUSSOURCES) $(RANDRSOURCES) $(XVSOURCES) $(BUSSOURCES) $(RANDRSOURCES)
nodist_libcommon_la_SOURCES = xf86DefModeSet.c nodist_libcommon_la_SOURCES = xf86DefModeSet.c xf86Build.h
libinit_a_SOURCES = xf86Init.c
nodist_libinit_a_SOURCES = xf86Build.h
INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \
-I$(srcdir)/../loader -I$(srcdir)/../rac -I$(srcdir)/../parser \ -I$(srcdir)/../loader -I$(srcdir)/../rac -I$(srcdir)/../parser \
@ -51,7 +48,7 @@ sdk_HEADERS = compiler.h fourcc.h xf86.h xf86Module.h xf86Opt.h \
xf86PciInfo.h xf86Priv.h xf86Privstr.h xf86Resources.h \ xf86PciInfo.h xf86Priv.h xf86Privstr.h xf86Resources.h \
xf86cmap.h xf86fbman.h xf86str.h xf86RAC.h xf86Xinput.h xisb.h \ xf86cmap.h xf86fbman.h xf86str.h xf86RAC.h xf86Xinput.h xisb.h \
$(XVSDKINCS) $(XF86VMODE_SDK) xorgVersion.h \ $(XVSDKINCS) $(XF86VMODE_SDK) xorgVersion.h \
xf86sbusBus.h xf86xv.h xf86xvmc.h xf86xvpriv.h xf86sbusBus.h
DISTCLEANFILES = xf86Build.h DISTCLEANFILES = xf86Build.h
CLEANFILES = $(BUILT_SOURCES) CLEANFILES = $(BUILT_SOURCES)

View File

@ -190,7 +190,6 @@ extern _X_EXPORT pointer LoadSubModule(pointer, const char *, const char **,
extern _X_EXPORT void UnloadSubModule(pointer); extern _X_EXPORT void UnloadSubModule(pointer);
extern _X_EXPORT void UnloadModule (pointer); extern _X_EXPORT void UnloadModule (pointer);
extern _X_EXPORT pointer LoaderSymbol(const char *); extern _X_EXPORT pointer LoaderSymbol(const char *);
extern _X_EXPORT pointer LoaderSymbolLocal(pointer module, const char *);
extern _X_EXPORT char **LoaderListDirs(const char **, const char **); extern _X_EXPORT char **LoaderListDirs(const char **, const char **);
extern _X_EXPORT void LoaderFreeDirList(char **); extern _X_EXPORT void LoaderFreeDirList(char **);
extern _X_EXPORT void LoaderErrorMsg(const char *, const char *, int, int); extern _X_EXPORT void LoaderErrorMsg(const char *, const char *, int, int);

View File

@ -41,10 +41,6 @@
#include "propertyst.h" #include "propertyst.h"
#include "input.h" #include "input.h"
#ifdef XF86VIDMODE
# include "vidmodeproc.h"
#endif
/* /*
* Parameters set ONLY from the command line options * Parameters set ONLY from the command line options
* The global state of these things is held in xf86InfoRec (when appropriate). * The global state of these things is held in xf86InfoRec (when appropriate).

View File

@ -56,7 +56,7 @@ typedef struct sbus_device {
char *device; char *device;
} sbusDevice, *sbusDevicePtr; } sbusDevice, *sbusDevicePtr;
extern struct sbus_devtable { extern _X_EXPORT struct sbus_devtable {
int devId; int devId;
int fbType; int fbType;
char *promName; char *promName;

View File

@ -1,8 +1,8 @@
sdk_HEADERS = edid.h xf86DDC.h sdk_HEADERS = edid.h xf86DDC.h
noinst_LIBRARIES = libddc.a noinst_LTLIBRARIES = libddc.la
libddc_a_SOURCES = xf86DDC.c edid.c interpret_edid.c print_edid.c \ libddc_la_SOURCES = xf86DDC.c edid.c interpret_edid.c print_edid.c \
ddcProperty.c ddcProperty.c
INCLUDES = $(XORG_INCS) -I$(srcdir)/../i2c INCLUDES = $(XORG_INCS) -I$(srcdir)/../i2c

View File

@ -1,4 +1,4 @@
noinst_LIBRARIES = libi2c.a noinst_LTLIBRARIES = libi2c.la
multimediadir = $(moduledir)/multimedia multimediadir = $(moduledir)/multimedia
multimedia_LTLIBRARIES = \ multimedia_LTLIBRARIES = \
@ -10,7 +10,7 @@ multimedia_LTLIBRARIES = \
tda9885_drv.la \ tda9885_drv.la \
uda1380_drv.la uda1380_drv.la
libi2c_a_SOURCES = xf86i2c.c libi2c_la_SOURCES = xf86i2c.c
INCLUDES = $(XORG_INCS) INCLUDES = $(XORG_INCS)

View File

@ -1,7 +1,6 @@
noinst_LIBRARIES = libloader.a noinst_LTLIBRARIES = libloader.la
INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(srcdir)/../dixmods/extmod \ INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(top_srcdir)/miext/cw \
-I$(srcdir)/../vbe -I$(top_srcdir)/miext/cw -I$(srcdir)/../int10 \
-I$(srcdir)/../ddc -I$(srcdir)/../i2c -I$(srcdir)/../modes \ -I$(srcdir)/../ddc -I$(srcdir)/../i2c -I$(srcdir)/../modes \
-I$(srcdir)/../ramdac -I$(srcdir)/../ramdac
@ -13,11 +12,16 @@ EXTRA_DIST = \
loader.h \ loader.h \
loaderProcs.h loaderProcs.h
libloader_a_SOURCES = \ libloader_la_SOURCES = \
loader.c \ loader.c \
loaderProcs.h \ loaderProcs.h \
loadext.c \ loadext.c \
loadmod.c \ loadmod.c \
dlloader.c \ dlloader.c \
os.c \ os.c \
xorgsym.c sdksyms.c
CLEANFILES = sdksyms.c
sdksyms.c:
./sdksyms.sh $(AM_CFLAGS) $(CFLAGS) $(INCLUDES)

View File

@ -75,7 +75,7 @@
#include "xf86Priv.h" #include "xf86Priv.h"
#include "compiler.h" #include "compiler.h"
extern void *xorgLookupTab[]; extern void *xorg_symbols[];
/* /*
* handles are used to identify files that are loaded. Even archives * handles are used to identify files that are loaded. Even archives
@ -108,8 +108,8 @@ LoaderInit(void)
} }
xf86MsgVerb(X_INFO, 2, "Loader magic: %p\n", (void *) xf86MsgVerb(X_INFO, 2, "Loader magic: %p\n", (void *)
((long)xorgLookupTab[0] ^ (long)xorgLookupTab[1] ((long)xorg_symbols[0] ^ (long)xorg_symbols[1]
^ (long)xorgLookupTab[2] ^ (long)xorgLookupTab[3])); ^ (long)xorg_symbols[2] ^ (long)xorg_symbols[3]));
xf86MsgVerb(X_INFO, 2, "Module ABI versions:\n"); xf86MsgVerb(X_INFO, 2, "Module ABI versions:\n");
xf86ErrorFVerb(2, "\t%s: %d.%d\n", ABI_CLASS_ANSIC, xf86ErrorFVerb(2, "\t%s: %d.%d\n", ABI_CLASS_ANSIC,
GET_ABI_MAJOR(LoaderVersionInfo.ansicVersion), GET_ABI_MAJOR(LoaderVersionInfo.ansicVersion),

392
hw/xfree86/loader/sdksyms.sh Executable file
View File

@ -0,0 +1,392 @@
#!/bin/sh
cat > sdksyms.c << EOF
#ifdef HAVE_XORG_CONFIG_H
#include <xorg-config.h>
#endif
/* These must be included first */
#include "misc.h"
#include "miscstruct.h"
/* render/Makefile.am */
#include "picture.h"
#include "mipict.h"
#include "glyphstr.h"
#include "picturestr.h"
#include "renderedge.h"
/* fb/Makefile.am -- module */
/*
#include "fb.h"
#include "fbrop.h"
#include "fboverlay.h"
#include "wfbrename.h"
#include "fbpict.h"
*/
/* miext/shadow/Makefile.am -- module */
/*
#include "shadow.h"
*/
/* miext/damage/Makefile.am */
#include "damage.h"
#include "damagestr.h"
/* Xext/Makefile.am -- half is module, half is builtin */
/*
#include "xvdix.h"
#include "xvmcext.h"
*/
#include "geext.h"
#include "geint.h"
#include "shmint.h"
#if XINERAMA
# include "panoramiXsrv.h"
# include "panoramiX.h"
#endif
/* hw/xfree86/int10/Makefile.am -- module */
/*
#include "xf86int10.h"
*/
/* hw/xfree86/i2c/Makefile.am -- "mostly" modules */
#include "xf86i2c.h"
/*
#include "bt829.h"
#include "fi1236.h"
#include "msp3430.h"
#include "tda8425.h"
#include "tda9850.h"
#include "tda9885.h"
#include "uda1380.h"
#include "i2c_def.h"
*/
/* hw/xfree86/modes/Makefile.am */
#include "xf86Crtc.h"
#include "xf86Modes.h"
#include "xf86RandR12.h"
/* #include "xf86Rename.h" */
/* hw/xfree86/ddc/Makefile.am */
#include "edid.h"
#include "xf86DDC.h"
/* hw/xfree86/dri2/Makefile.am -- module */
/*
#if DRI2
# include "dri2.h"
#endif
*/
/* hw/xfree86/vgahw/Makefile.am -- module */
/*
#include "vgaHW.h"
*/
/* hw/xfree86/fbdevhw/Makefile.am -- module */
/*
#include "fbdevhw.h"
*/
/* hw/xfree86/common/Makefile.am */
#include "compiler.h"
#include "fourcc.h"
#include "xf86.h"
#include "xf86Module.h"
#include "xf86Opt.h"
#include "xf86PciInfo.h"
#include "xf86Priv.h"
#include "xf86Privstr.h"
#include "xf86Resources.h"
#include "xf86cmap.h"
#include "xf86fbman.h"
#include "xf86str.h"
#include "xf86RAC.h"
#include "xf86Xinput.h"
#include "xisb.h"
#if XV
# include "xf86xv.h"
# include "xf86xvmc.h"
# include "xf86xvpriv.h"
#endif
/* XF86VidMode code is in libextmod module */
/*
#if XF86VIDMODE
# include "vidmodeproc.h"
#endif
*/
#include "xorgVersion.h"
#if defined(__sparc__) || defined(__sparc)
# include "xf86sbusBus.h"
#endif
/* hw/xfree86/ramdac/Makefile.am */
#include "BT.h"
#include "IBM.h"
#include "TI.h"
#include "xf86Cursor.h"
#include "xf86RamDac.h"
/* hw/xfree86/shadowfb/Makefile.am -- module */
/*
#include "shadowfb.h"
*/
/* hw/xfree86/os-support/solaris/Makefile.am */
#if defined(sun386)
# include "agpgart.h"
#endif
/* hw/xfree86/os-support/Makefile.am */
#include "xf86_OSproc.h"
#include "xf86_OSlib.h"
/* hw/xfree86/os-support/bus/Makefile.am */
#include "xf86Pci.h"
#if defined(__sparc__) || defined(__sparc)
# include "xf86Sbus.h"
#endif
/* hw/xfree86/xaa/Makefile.am -- module */
/*
#include "xaa.h"
#include "xaalocal.h"
#include "xaarop.h"
#include "xaaWrapper.h"
*/
/* hw/xfree86/dixmods/extmod/Makefile.am -- module */
/*
#include "dgaproc.h"
*/
/* hw/xfree86/parser/Makefile.am */
#include "xf86Parser.h"
#include "xf86Optrec.h"
/* hw/xfree86/vbe/Makefile.am -- module */
/*
#include "vbe.h"
#include "vbeModes.h"
*/
/* hw/xfree86/dri/Makefile.am -- module */
/*
#if XF86DRI
# include "dri.h"
# include "sarea.h"
# include "dristruct.h"
#endif
*/
/* hw/xfree86/xf8_16bpp/Makefile.am -- module */
/*
#include "cfb8_16.h"
*/
/* mi/Makefile.am */
#include "mibank.h"
#include "micmap.h"
#include "miline.h"
#include "mipointer.h"
#include "mi.h"
#include "mibstore.h"
#include "migc.h"
#include "mipointrst.h"
#include "mizerarc.h"
#include "micoord.h"
#include "mifillarc.h"
#include "mispans.h"
#include "miwideline.h"
#include "mistruct.h"
#include "mifpoly.h"
#include "mioverlay.h"
/* randr/Makefile.am */
#include "randrstr.h"
#include "rrtransform.h"
/* dbe/Makefile.am -- module */
/*
#include "dbestruct.h"
*/
/* exa/Makefile.am -- module */
/*
#include "exa.h"
*/
/* xfixes/Makefile.am */
#include "xfixes.h"
/* include/Makefile.am */
#include "XIstubs.h"
#include "bstore.h"
#include "bstorestr.h"
#include "closestr.h"
#include "closure.h"
#include "colormap.h"
#include "colormapst.h"
#include "hotplug.h"
#include "cursor.h"
#include "cursorstr.h"
#include "dix.h"
#include "dixaccess.h"
#include "dixevents.h"
#include "dixfont.h"
#include "dixfontstr.h"
#include "dixgrabs.h"
#include "dixstruct.h"
#include "exevents.h"
#include "extension.h"
#include "extinit.h"
#include "extnsionst.h"
#include "gc.h"
#include "gcstruct.h"
#include "globals.h"
#include "input.h"
#include "inputstr.h"
/* already included */
/*
#include "misc.h"
#include "miscstruct.h"
*/
#include "opaque.h"
#include "os.h"
#include "pixmap.h"
#include "pixmapstr.h"
#include "privates.h"
#include "property.h"
#include "propertyst.h"
#include "ptrveloc.h"
#include "region.h"
#include "regionstr.h"
#include "registry.h"
#include "resource.h"
#include "rgb.h"
#include "screenint.h"
#include "scrnintstr.h"
#include "selection.h"
#include "servermd.h"
#include "site.h"
#include "swaprep.h"
#include "swapreq.h"
#include "validate.h"
#include "window.h"
#include "windowstr.h"
#include "xkbfile.h"
#include "xkbsrv.h"
#include "xkbstr.h"
#include "xkbrules.h"
#include "xserver-properties.h"
EOF
cpp -DXorgLoader $@ sdksyms.c | awk '
BEGIN {
sdk = 0;
print("_X_HIDDEN void *xorg_symbols[] = {");
}
/^# [0-9]+/ {
# only process text after a include in a relative path
sdk = $3 !~ /^"\//;
}
/^extern[[:space:]]/ {
if (sdk) {
n = 3;
# skip attribute, if any
while ($n ~ /^(__attribute__|__global)/ ||
# skip modifiers, if any
$n ~ /^\*?(unsigned|const|volatile|struct)$/ ||
# skip pointer
$n ~ /\*$/)
n++;
# type specifier may not be set, as in
# extern _X_EXPORT unsigned name(...)
if ($n !~ /\W/)
n++;
# match
# extern _X_EXPORT struct name {
if ($n == "{")
n--;
# extern _X_EXPORT type (* name[])(...)
else if ($n ~ /^\W+$/)
n++;
# match
# extern _X_EXPORT const name *const ...
if ($n ~ /^(\W+)?const$/)
n++;
# actual name may be in the next line, as in
# extern _X_EXPORT type
# possibly ending with a *
# name(...)
if ($n == "" || $n ~ /^\*+$/) {
getline;
n = 1;
}
# dont modify $0 or $n
symbol = $n;
# remove starting non word chars
sub(/^\W+/, "",symbol);
# remove from first non word to end of line
sub(/\W.*/, "", symbol);
#print;
printf(" &%s,\n", symbol);
}
}
END {
print("};");
}' > _sdksyms.c
STATUS=$?
cat _sdksyms.c >> sdksyms.c
rm _sdksyms.c
exit $STATUS

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
noinst_LIBRARIES = libxf86modes.a noinst_LTLIBRARIES = libxf86modes.la
libxf86modes_a_SOURCES = \ libxf86modes_la_SOURCES = \
xf86Crtc.c \ xf86Crtc.c \
xf86Crtc.h \ xf86Crtc.h \
xf86Cursors.c \ xf86Cursors.c \

View File

@ -744,12 +744,13 @@ xf86ProbeOutputModes (ScrnInfoPtr pScrn, int maxX, int maxY);
extern _X_EXPORT void extern _X_EXPORT void
xf86SetScrnInfoModes (ScrnInfoPtr pScrn); xf86SetScrnInfoModes (ScrnInfoPtr pScrn);
extern _X_EXPORT
#ifdef RANDR_13_INTERFACE #ifdef RANDR_13_INTERFACE
int # define ScreenInitRetType int
#else #else
Bool # define ScreenInitRetType Bool
#endif #endif
extern _X_EXPORT ScreenInitRetType
xf86CrtcScreenInit (ScreenPtr pScreen); xf86CrtcScreenInit (ScreenPtr pScreen);
extern _X_EXPORT Bool extern _X_EXPORT Bool

View File

@ -142,8 +142,10 @@ extern _X_EXPORT void xf86MapReadSideEffects(int, int, pointer, unsigned long);
extern _X_EXPORT int xf86ReadBIOS(unsigned long, unsigned long, unsigned char *, int); extern _X_EXPORT int xf86ReadBIOS(unsigned long, unsigned long, unsigned char *, int);
extern _X_EXPORT Bool xf86EnableIO(void); extern _X_EXPORT Bool xf86EnableIO(void);
extern _X_EXPORT void xf86DisableIO(void); extern _X_EXPORT void xf86DisableIO(void);
#ifdef __NetBSD__
extern _X_EXPORT void xf86SetTVOut(int); extern _X_EXPORT void xf86SetTVOut(int);
extern _X_EXPORT void xf86SetRGBOut(void); extern _X_EXPORT void xf86SetRGBOut(void);
#endif
extern _X_EXPORT void xf86OSRingBell(int, int, int); extern _X_EXPORT void xf86OSRingBell(int, int, int);
extern _X_EXPORT void xf86BusToMem(unsigned char *, unsigned char *, int); extern _X_EXPORT void xf86BusToMem(unsigned char *, unsigned char *, int);
extern _X_EXPORT void xf86MemToBus(unsigned char *, unsigned char *, int); extern _X_EXPORT void xf86MemToBus(unsigned char *, unsigned char *, int);

View File

@ -1,13 +1,13 @@
if INSTALL_LIBXF86CONFIG if INSTALL_LIBXF86CONFIG
lib_LIBRARIES = libxf86config.a lib_LTLIBRARIES = libxf86config.la
LIBHEADERS = \ LIBHEADERS = \
xf86Optrec.h \ xf86Optrec.h \
xf86Parser.h xf86Parser.h
else else
noinst_LIBRARIES = libxf86config.a noinst_LTLIBRARIES = libxf86config.la
endif endif
libxf86config_a_SOURCES = \ libxf86config_la_SOURCES = \
Device.c \ Device.c \
Files.c \ Files.c \
Flags.c \ Flags.c \
@ -35,6 +35,5 @@ EXTRA_DIST = \
xf86tokens.h xf86tokens.h
sdk_HEADERS = \ sdk_HEADERS = \
$(LIBHEADERS) \
xf86Parser.h \ xf86Parser.h \
xf86Optrec.h xf86Optrec.h

View File

@ -1,6 +1,6 @@
noinst_LIBRARIES = libramdac.a noinst_LTLIBRARIES = libramdac.la
libramdac_a_SOURCES = xf86RamDac.c xf86RamDacCmap.c \ libramdac_la_SOURCES = xf86RamDac.c xf86RamDacCmap.c \
xf86Cursor.c xf86HWCurs.c IBM.c BT.c TI.c \ xf86Cursor.c xf86HWCurs.c IBM.c BT.c TI.c \
xf86BitOrder.c xf86BitOrder.c

View File

@ -93,7 +93,9 @@ typedef struct _NewClientRec *NewClientPtr;
#define SIGVAL void #define SIGVAL void
#endif #endif
#ifdef DDXOSVERRORF
extern _X_EXPORT void (*OsVendorVErrorFProc)(const char *, va_list args); extern _X_EXPORT void (*OsVendorVErrorFProc)(const char *, va_list args);
#endif
extern _X_EXPORT int WaitForSomething( extern _X_EXPORT int WaitForSomething(
int* /*pClientsReady*/ int* /*pClientsReady*/
@ -388,6 +390,7 @@ extern _X_EXPORT int AddAuthorization(
unsigned int /*data_length*/, unsigned int /*data_length*/,
char * /*data*/); char * /*data*/);
#ifdef XCSECURITY
extern _X_EXPORT XID GenerateAuthorization( extern _X_EXPORT XID GenerateAuthorization(
unsigned int /* name_length */, unsigned int /* name_length */,
char * /* name */, char * /* name */,
@ -395,6 +398,7 @@ extern _X_EXPORT XID GenerateAuthorization(
char * /* data */, char * /* data */,
unsigned int * /* data_length_return */, unsigned int * /* data_length_return */,
char ** /* data_return */); char ** /* data_return */);
#endif
extern _X_EXPORT int ddxProcessArgument(int /*argc*/, char * /*argv*/ [], int /*i*/); extern _X_EXPORT int ddxProcessArgument(int /*argc*/, char * /*argv*/ [], int /*i*/);

View File

@ -95,7 +95,7 @@ extern _X_EXPORT void InitRootWindow(
typedef WindowPtr (* RealChildHeadProc) (WindowPtr pWin); typedef WindowPtr (* RealChildHeadProc) (WindowPtr pWin);
extern void _X_EXPORT RegisterRealChildHeadProc (RealChildHeadProc proc); extern _X_EXPORT void RegisterRealChildHeadProc (RealChildHeadProc proc);
extern _X_EXPORT WindowPtr RealChildHead( extern _X_EXPORT WindowPtr RealChildHead(
WindowPtr /*pWin*/); WindowPtr /*pWin*/);

View File

@ -27,6 +27,8 @@
#ifndef _XKBFILE_H_ #ifndef _XKBFILE_H_
#define _XKBFILE_H_ 1 #define _XKBFILE_H_ 1
#include "xkbstr.h"
/***====================================================================***/ /***====================================================================***/
#define XkbXKMFile 0 #define XkbXKMFile 0

View File

@ -45,6 +45,8 @@ SOFTWARE.
******************************************************************/ ******************************************************************/
#ifndef MISPANS_H
#define MISPANS_H
typedef struct { typedef struct {
int count; /* number of spans */ int count; /* number of spans */
@ -97,3 +99,4 @@ extern _X_EXPORT int miClipSpans(
#define miSpansCarefulRop(rop) (((rop) & 0xc) == 0x8 || ((rop) & 0x3) == 0x2) #define miSpansCarefulRop(rop) (((rop) & 0xc) == 0x8 || ((rop) & 0x3) == 0x2)
#define miSpansEasyRop(rop) (!miSpansCarefulRop(rop)) #define miSpansEasyRop(rop) (!miSpansCarefulRop(rop))
#endif /* MISPANS_H */

View File

@ -25,6 +25,8 @@
#ifndef _PICTURE_H_ #ifndef _PICTURE_H_
#define _PICTURE_H_ #define _PICTURE_H_
#include "privates.h"
#include <pixman.h> #include <pixman.h>
typedef struct _DirectFormat *DirectFormatPtr; typedef struct _DirectFormat *DirectFormatPtr;