mirror of
https://github.com/X11Libre/xserver.git
synced 2026-10-02 22:16:10 +00:00
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:
parent
ccd2c668c1
commit
b1dac41fb3
27 changed files with 476 additions and 1283 deletions
|
|
@ -25,43 +25,36 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
|
|||
utils doc
|
||||
|
||||
bin_PROGRAMS = Xorg
|
||||
Xorg_SOURCES = xorg.c
|
||||
|
||||
AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
|
||||
INCLUDES = @XORG_INCS@
|
||||
|
||||
Xorg_SOURCES = xorg.c
|
||||
|
||||
# libxorgos and libcommon need symbols from each other
|
||||
noinst_LTLIBRARIES = libosandcommon.la
|
||||
libosandcommon_la_SOURCES = osandcommon.c
|
||||
libosandcommon_la_LIBADD = \
|
||||
noinst_LTLIBRARIES = libxorg.la
|
||||
libxorg_la_SOURCES = libxorg.c
|
||||
libxorg_la_LIBADD = \
|
||||
$(XSERVER_LIBS) \
|
||||
loader/libloader.la \
|
||||
os-support/libxorgos.la \
|
||||
common/libcommon.la
|
||||
common/libcommon.la \
|
||||
parser/libxf86config.la \
|
||||
dixmods/libdixmods.la \
|
||||
modes/libxf86modes.la \
|
||||
ramdac/libramdac.la \
|
||||
ddc/libddc.la \
|
||||
i2c/libi2c.la \
|
||||
dixmods/libxorgxkb.la \
|
||||
$(top_builddir)/mi/libmi.la \
|
||||
$(top_builddir)/os/libos.la \
|
||||
@XORG_LIBS@
|
||||
|
||||
osandcommon.c xorg.c:
|
||||
libxorg.c xorg.c:
|
||||
touch $@
|
||||
|
||||
DISTCLEANFILES = osandcommon.c xorg.c
|
||||
DISTCLEANFILES = libxorg.c xorg.c
|
||||
|
||||
XORG_LIBS = \
|
||||
$(XSERVER_LIBS) \
|
||||
common/libinit.a \
|
||||
loader/libloader.a \
|
||||
libosandcommon.la \
|
||||
parser/libxf86config.a \
|
||||
dixmods/libdixmods.la \
|
||||
modes/libxf86modes.a \
|
||||
ramdac/libramdac.a \
|
||||
ddc/libddc.a \
|
||||
i2c/libi2c.a \
|
||||
dixmods/libxorgxkb.la \
|
||||
$(top_builddir)/mi/libmi.la \
|
||||
$(top_builddir)/os/libos.la \
|
||||
@XORG_LIBS@ \
|
||||
dixmods/libxorgxkb.la
|
||||
|
||||
Xorg_DEPENDENCIES = $(XORG_LIBS)
|
||||
Xorg_LDADD = $(XORG_LIBS) $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS)
|
||||
Xorg_DEPENDENCIES = libxorg.la
|
||||
Xorg_LDADD = libxorg.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS)
|
||||
|
||||
Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
noinst_LIBRARIES = libinit.a
|
||||
noinst_LTLIBRARIES = libcommon.la
|
||||
|
||||
if XORG_BUS_SPARC
|
||||
|
|
@ -7,7 +6,7 @@ endif
|
|||
|
||||
if XV
|
||||
XVSOURCES = xf86xv.c xf86xvmc.c
|
||||
XVSDKINCS = xf86xv.h xf86xvmc.h
|
||||
XVSDKINCS = xf86xv.h xf86xvmc.h xf86xvpriv.h
|
||||
endif
|
||||
|
||||
if XF86VIDMODE
|
||||
|
|
@ -32,14 +31,12 @@ AM_LDFLAGS = -r
|
|||
libcommon_la_SOURCES = xf86Configure.c xf86ShowOpts.c xf86Bus.c xf86Config.c \
|
||||
xf86Cursor.c xf86DGA.c xf86DPMS.c \
|
||||
xf86Events.c xf86Globals.c xf86AutoConfig.c \
|
||||
xf86Option.c \
|
||||
xf86Option.c xf86Init.c \
|
||||
xf86VidMode.c xf86fbman.c xf86cmap.c \
|
||||
xf86Helper.c xf86PM.c xf86RAC.c xf86Xinput.c xisb.c \
|
||||
xf86Mode.c xorgHelper.c \
|
||||
$(XVSOURCES) $(BUSSOURCES) $(RANDRSOURCES)
|
||||
nodist_libcommon_la_SOURCES = xf86DefModeSet.c
|
||||
libinit_a_SOURCES = xf86Init.c
|
||||
nodist_libinit_a_SOURCES = xf86Build.h
|
||||
nodist_libcommon_la_SOURCES = xf86DefModeSet.c xf86Build.h
|
||||
|
||||
INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \
|
||||
-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 \
|
||||
xf86cmap.h xf86fbman.h xf86str.h xf86RAC.h xf86Xinput.h xisb.h \
|
||||
$(XVSDKINCS) $(XF86VMODE_SDK) xorgVersion.h \
|
||||
xf86sbusBus.h xf86xv.h xf86xvmc.h xf86xvpriv.h
|
||||
xf86sbusBus.h
|
||||
|
||||
DISTCLEANFILES = xf86Build.h
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
|
|
|
|||
|
|
@ -190,7 +190,6 @@ extern _X_EXPORT pointer LoadSubModule(pointer, const char *, const char **,
|
|||
extern _X_EXPORT void UnloadSubModule(pointer);
|
||||
extern _X_EXPORT void UnloadModule (pointer);
|
||||
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 void LoaderFreeDirList(char **);
|
||||
extern _X_EXPORT void LoaderErrorMsg(const char *, const char *, int, int);
|
||||
|
|
|
|||
|
|
@ -41,10 +41,6 @@
|
|||
#include "propertyst.h"
|
||||
#include "input.h"
|
||||
|
||||
#ifdef XF86VIDMODE
|
||||
# include "vidmodeproc.h"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Parameters set ONLY from the command line options
|
||||
* The global state of these things is held in xf86InfoRec (when appropriate).
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ typedef struct sbus_device {
|
|||
char *device;
|
||||
} sbusDevice, *sbusDevicePtr;
|
||||
|
||||
extern struct sbus_devtable {
|
||||
extern _X_EXPORT struct sbus_devtable {
|
||||
int devId;
|
||||
int fbType;
|
||||
char *promName;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
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
|
||||
|
||||
INCLUDES = $(XORG_INCS) -I$(srcdir)/../i2c
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
noinst_LIBRARIES = libi2c.a
|
||||
noinst_LTLIBRARIES = libi2c.la
|
||||
|
||||
multimediadir = $(moduledir)/multimedia
|
||||
multimedia_LTLIBRARIES = \
|
||||
|
|
@ -10,7 +10,7 @@ multimedia_LTLIBRARIES = \
|
|||
tda9885_drv.la \
|
||||
uda1380_drv.la
|
||||
|
||||
libi2c_a_SOURCES = xf86i2c.c
|
||||
libi2c_la_SOURCES = xf86i2c.c
|
||||
|
||||
INCLUDES = $(XORG_INCS)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
noinst_LIBRARIES = libloader.a
|
||||
noinst_LTLIBRARIES = libloader.la
|
||||
|
||||
INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(srcdir)/../dixmods/extmod \
|
||||
-I$(srcdir)/../vbe -I$(top_srcdir)/miext/cw -I$(srcdir)/../int10 \
|
||||
INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(top_srcdir)/miext/cw \
|
||||
-I$(srcdir)/../ddc -I$(srcdir)/../i2c -I$(srcdir)/../modes \
|
||||
-I$(srcdir)/../ramdac
|
||||
|
||||
|
|
@ -13,11 +12,16 @@ EXTRA_DIST = \
|
|||
loader.h \
|
||||
loaderProcs.h
|
||||
|
||||
libloader_a_SOURCES = \
|
||||
libloader_la_SOURCES = \
|
||||
loader.c \
|
||||
loaderProcs.h \
|
||||
loadext.c \
|
||||
loadmod.c \
|
||||
dlloader.c \
|
||||
os.c \
|
||||
xorgsym.c
|
||||
sdksyms.c
|
||||
|
||||
CLEANFILES = sdksyms.c
|
||||
|
||||
sdksyms.c:
|
||||
./sdksyms.sh $(AM_CFLAGS) $(CFLAGS) $(INCLUDES)
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@
|
|||
#include "xf86Priv.h"
|
||||
#include "compiler.h"
|
||||
|
||||
extern void *xorgLookupTab[];
|
||||
extern void *xorg_symbols[];
|
||||
|
||||
/*
|
||||
* 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 *)
|
||||
((long)xorgLookupTab[0] ^ (long)xorgLookupTab[1]
|
||||
^ (long)xorgLookupTab[2] ^ (long)xorgLookupTab[3]));
|
||||
((long)xorg_symbols[0] ^ (long)xorg_symbols[1]
|
||||
^ (long)xorg_symbols[2] ^ (long)xorg_symbols[3]));
|
||||
xf86MsgVerb(X_INFO, 2, "Module ABI versions:\n");
|
||||
xf86ErrorFVerb(2, "\t%s: %d.%d\n", ABI_CLASS_ANSIC,
|
||||
GET_ABI_MAJOR(LoaderVersionInfo.ansicVersion),
|
||||
|
|
|
|||
392
hw/xfree86/loader/sdksyms.sh
Executable file
392
hw/xfree86/loader/sdksyms.sh
Executable 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
|
|
@ -1,6 +1,6 @@
|
|||
noinst_LIBRARIES = libxf86modes.a
|
||||
noinst_LTLIBRARIES = libxf86modes.la
|
||||
|
||||
libxf86modes_a_SOURCES = \
|
||||
libxf86modes_la_SOURCES = \
|
||||
xf86Crtc.c \
|
||||
xf86Crtc.h \
|
||||
xf86Cursors.c \
|
||||
|
|
|
|||
|
|
@ -744,12 +744,13 @@ xf86ProbeOutputModes (ScrnInfoPtr pScrn, int maxX, int maxY);
|
|||
extern _X_EXPORT void
|
||||
xf86SetScrnInfoModes (ScrnInfoPtr pScrn);
|
||||
|
||||
extern _X_EXPORT
|
||||
#ifdef RANDR_13_INTERFACE
|
||||
int
|
||||
# define ScreenInitRetType int
|
||||
#else
|
||||
Bool
|
||||
# define ScreenInitRetType Bool
|
||||
#endif
|
||||
|
||||
extern _X_EXPORT ScreenInitRetType
|
||||
xf86CrtcScreenInit (ScreenPtr pScreen);
|
||||
|
||||
extern _X_EXPORT Bool
|
||||
|
|
|
|||
|
|
@ -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 Bool xf86EnableIO(void);
|
||||
extern _X_EXPORT void xf86DisableIO(void);
|
||||
#ifdef __NetBSD__
|
||||
extern _X_EXPORT void xf86SetTVOut(int);
|
||||
extern _X_EXPORT void xf86SetRGBOut(void);
|
||||
#endif
|
||||
extern _X_EXPORT void xf86OSRingBell(int, int, int);
|
||||
extern _X_EXPORT void xf86BusToMem(unsigned char *, unsigned char *, int);
|
||||
extern _X_EXPORT void xf86MemToBus(unsigned char *, unsigned char *, int);
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
if INSTALL_LIBXF86CONFIG
|
||||
lib_LIBRARIES = libxf86config.a
|
||||
lib_LTLIBRARIES = libxf86config.la
|
||||
LIBHEADERS = \
|
||||
xf86Optrec.h \
|
||||
xf86Parser.h
|
||||
else
|
||||
noinst_LIBRARIES = libxf86config.a
|
||||
noinst_LTLIBRARIES = libxf86config.la
|
||||
endif
|
||||
|
||||
libxf86config_a_SOURCES = \
|
||||
libxf86config_la_SOURCES = \
|
||||
Device.c \
|
||||
Files.c \
|
||||
Flags.c \
|
||||
|
|
@ -35,6 +35,5 @@ EXTRA_DIST = \
|
|||
xf86tokens.h
|
||||
|
||||
sdk_HEADERS = \
|
||||
$(LIBHEADERS) \
|
||||
xf86Parser.h \
|
||||
xf86Optrec.h
|
||||
|
|
|
|||
|
|
@ -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 \
|
||||
xf86BitOrder.c
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue