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.
2008-12-07 05:22:19 +01:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
cat > sdksyms.c << EOF
|
2008-12-09 01:11:50 +01:00
|
|
|
/* This file is automatically generated by sdksyms.sh. */
|
2009-10-29 01:48:19 +01:00
|
|
|
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
2008-12-09 01:11:50 +01: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.
2008-12-07 05:22:19 +01:00
|
|
|
#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"
|
|
|
|
|
|
|
|
|
|
|
|
/* 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"
|
|
|
|
|
2010-06-29 01:10:13 +02:00
|
|
|
/* miext/sync/Makefile.am */
|
|
|
|
#include "misync.h"
|
|
|
|
#include "misyncstr.h"
|
2013-11-06 03:37:12 +01:00
|
|
|
#if HAVE_XSHMFENCE
|
|
|
|
#include "misyncshm.h"
|
|
|
|
#endif
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
|
|
|
|
/* Xext/Makefile.am -- half is module, half is builtin */
|
2012-07-11 18:31:53 +02:00
|
|
|
#ifdef XV
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
#include "xvdix.h"
|
|
|
|
#include "xvmcext.h"
|
2012-07-11 18:31:53 +02:00
|
|
|
#endif
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
#include "geext.h"
|
2011-10-09 13:00:41 +02:00
|
|
|
#ifdef MITSHM
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
#include "shmint.h"
|
2011-10-09 13:00:41 +02:00
|
|
|
#endif
|
2010-06-26 02:59:14 +02:00
|
|
|
#include "syncsdk.h"
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
#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
|
|
|
|
|
2013-04-10 04:59:39 +02:00
|
|
|
# include "dri3.h"
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
|
|
|
|
/* 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"
|
2010-06-01 12:05:47 +02:00
|
|
|
#ifdef XSERVER_LIBPCIACCESS
|
|
|
|
#include "xf86VGAarbiter.h"
|
|
|
|
#endif
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
#include "xf86Priv.h"
|
|
|
|
#include "xf86Privstr.h"
|
|
|
|
#include "xf86cmap.h"
|
|
|
|
#include "xf86fbman.h"
|
|
|
|
#include "xf86str.h"
|
|
|
|
#include "xf86Xinput.h"
|
|
|
|
#include "xisb.h"
|
|
|
|
#if XV
|
|
|
|
# include "xf86xv.h"
|
|
|
|
# include "xf86xvmc.h"
|
|
|
|
# include "xf86xvpriv.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 */
|
2010-06-01 12:05:47 +02:00
|
|
|
#ifdef XSERVER_LIBPCIACCESS
|
|
|
|
# include "xf86Pci.h"
|
|
|
|
#endif
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
#if defined(__sparc__) || defined(__sparc)
|
|
|
|
# include "xf86Sbus.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
/* 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
|
|
|
|
|
|
|
|
|
|
|
|
/* mi/Makefile.am */
|
|
|
|
#include "micmap.h"
|
|
|
|
#include "miline.h"
|
|
|
|
#include "mipointer.h"
|
|
|
|
#include "mi.h"
|
|
|
|
#include "migc.h"
|
|
|
|
#include "mipointrst.h"
|
|
|
|
#include "mizerarc.h"
|
|
|
|
#include "micoord.h"
|
|
|
|
#include "mifillarc.h"
|
|
|
|
#include "mistruct.h"
|
2010-06-22 21:11:20 +02:00
|
|
|
#include "mioverlay.h"
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
/* randr/Makefile.am */
|
|
|
|
#include "randrstr.h"
|
|
|
|
#include "rrtransform.h"
|
|
|
|
|
|
|
|
|
|
|
|
/* dbe/Makefile.am -- module */
|
2012-07-10 03:03:01 +02:00
|
|
|
#ifdef DBE
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
#include "dbestruct.h"
|
2012-07-10 03:03:01 +02:00
|
|
|
#endif
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
/* exa/Makefile.am -- module */
|
|
|
|
/*
|
|
|
|
#include "exa.h"
|
|
|
|
*/
|
|
|
|
|
2012-04-20 01:51:46 +02:00
|
|
|
#ifdef COMPOSITE
|
2012-04-19 22:25:41 +02:00
|
|
|
#include "compositeext.h"
|
2012-04-20 01:51:46 +02:00
|
|
|
#endif
|
2012-04-19 22:25:41 +02: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.
2008-12-07 05:22:19 +01:00
|
|
|
/* xfixes/Makefile.am */
|
|
|
|
#include "xfixes.h"
|
|
|
|
|
|
|
|
|
|
|
|
/* include/Makefile.am */
|
|
|
|
#include "XIstubs.h"
|
2010-11-28 03:43:12 +01:00
|
|
|
#include "Xprintf.h"
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
#include "closestr.h"
|
|
|
|
#include "closure.h"
|
|
|
|
#include "colormap.h"
|
|
|
|
#include "colormapst.h"
|
|
|
|
#include "hotplug.h"
|
2010-12-22 15:51:09 +01:00
|
|
|
#include "client.h"
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
#include "cursor.h"
|
|
|
|
#include "cursorstr.h"
|
|
|
|
#include "dix.h"
|
|
|
|
#include "dixaccess.h"
|
|
|
|
#include "dixevents.h"
|
2013-11-15 09:36:26 +01:00
|
|
|
#define _FONTPROTO_H
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
#include "dixfont.h"
|
|
|
|
#include "dixfontstr.h"
|
|
|
|
#include "dixgrabs.h"
|
|
|
|
#include "dixstruct.h"
|
|
|
|
#include "exevents.h"
|
|
|
|
#include "extension.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 "validate.h"
|
|
|
|
#include "window.h"
|
|
|
|
#include "windowstr.h"
|
2008-12-18 18:35:57 +01:00
|
|
|
#include "xace.h"
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
#include "xkbfile.h"
|
|
|
|
#include "xkbsrv.h"
|
|
|
|
#include "xkbstr.h"
|
|
|
|
#include "xkbrules.h"
|
|
|
|
#include "xserver-properties.h"
|
|
|
|
|
|
|
|
EOF
|
|
|
|
|
2017-03-06 18:44:19 +01:00
|
|
|
topdir=$(readlink -f $1)
|
2008-12-11 17:43:04 +01:00
|
|
|
shift
|
2008-12-18 18:00:25 +01:00
|
|
|
LC_ALL=C
|
|
|
|
export LC_ALL
|
2012-07-10 03:03:07 +02:00
|
|
|
${CPP:-cpp} "$@" sdksyms.c > /dev/null || exit $?
|
|
|
|
${CPP:-cpp} "$@" sdksyms.c | ${AWK:-awk} -v topdir=$topdir '
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
BEGIN {
|
|
|
|
sdk = 0;
|
2008-12-09 01:11:50 +01:00
|
|
|
print("/*");
|
|
|
|
print(" * These symbols are referenced to ensure they");
|
|
|
|
print(" * will be available in the X Server binary.");
|
|
|
|
print(" */");
|
2008-12-11 17:43:04 +01:00
|
|
|
printf("/* topdir=%s */\n", topdir);
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
print("_X_HIDDEN void *xorg_symbols[] = {");
|
2008-12-23 21:07:54 +01:00
|
|
|
|
|
|
|
printf("sdksyms.c:") > "sdksyms.dep";
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
}
|
2008-12-19 03:49:47 +01:00
|
|
|
/^# [0-9]+ "/ {
|
2017-03-06 18:44:19 +01:00
|
|
|
# Match preprocessor linemarkers which have the form:
|
|
|
|
# # linenum "filename" flags
|
|
|
|
#
|
|
|
|
# Only process text for sdk exports where the linemarker filename has a
|
|
|
|
# relative path, or an absolute path matching $top_srcdir.
|
|
|
|
#
|
|
|
|
|
|
|
|
# canonicalize filename
|
|
|
|
if ($3 in canonicalized) {
|
|
|
|
c = canonicalized[$3]
|
|
|
|
} else {
|
|
|
|
cmd = "readlink -f " $3
|
|
|
|
cmd | getline c
|
|
|
|
close(cmd)
|
|
|
|
canonicalized[$3] = c
|
|
|
|
}
|
|
|
|
# note that index() starts at 1; 0 means no match.
|
|
|
|
sdk = $3 !~ /^"\// || index(c, topdir) == 1;
|
2008-12-23 21:07:54 +01:00
|
|
|
|
|
|
|
if (sdk && $3 ~ /\.h"$/) {
|
|
|
|
# remove quotes
|
|
|
|
gsub(/"/, "", $3);
|
2010-08-23 20:37:46 +02:00
|
|
|
line = $2;
|
|
|
|
header = $3;
|
2008-12-23 21:07:54 +01:00
|
|
|
if (! headers[$3]) {
|
|
|
|
printf(" \\\n %s", $3) >> "sdksyms.dep";
|
|
|
|
headers[$3] = 1;
|
|
|
|
}
|
|
|
|
}
|
2010-08-23 20:37:46 +02:00
|
|
|
next;
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
}
|
|
|
|
|
2008-12-18 18:00:25 +01:00
|
|
|
/^extern[ ]/ {
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
if (sdk) {
|
|
|
|
n = 3;
|
|
|
|
|
2015-03-03 16:27:05 +01:00
|
|
|
# skip line numbers GCC 5 adds before __attribute__
|
|
|
|
while ($n == "" || $0 ~ /^# [0-9]+ "/) {
|
|
|
|
getline;
|
|
|
|
n = 1;
|
|
|
|
}
|
|
|
|
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
# skip attribute, if any
|
|
|
|
while ($n ~ /^(__attribute__|__global)/ ||
|
|
|
|
# skip modifiers, if any
|
2012-03-21 20:33:19 +01:00
|
|
|
$n ~ /^\*?(unsigned|const|volatile|struct|_X_EXPORT)$/ ||
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
# skip pointer
|
2015-03-03 16:27:05 +01:00
|
|
|
$n ~ /^[a-zA-Z0-9_]*\*$/) {
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
n++;
|
2015-03-03 16:27:05 +01:00
|
|
|
# skip line numbers GCC 5 adds after __attribute__
|
|
|
|
while ($n == "" || $0 ~ /^# [0-9]+ "/) {
|
|
|
|
getline;
|
|
|
|
n = 1;
|
|
|
|
}
|
|
|
|
}
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
|
|
|
|
# type specifier may not be set, as in
|
|
|
|
# extern _X_EXPORT unsigned name(...)
|
2008-12-18 18:00:25 +01:00
|
|
|
if ($n !~ /[^a-zA-Z0-9_]/)
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
n++;
|
|
|
|
|
2010-12-14 03:35:20 +01:00
|
|
|
# go back if we are at the parameter list already
|
|
|
|
if ($n ~ /^[(]([^*].*)?$/)
|
|
|
|
n--;
|
|
|
|
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
# match
|
|
|
|
# extern _X_EXPORT type (* name[])(...)
|
2008-12-18 18:00:25 +01:00
|
|
|
if ($n ~ /^[^a-zA-Z0-9_]+$/)
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
n++;
|
|
|
|
|
|
|
|
# match
|
|
|
|
# extern _X_EXPORT const name *const ...
|
2008-12-18 18:00:25 +01:00
|
|
|
if ($n ~ /^([^a-zA-Z0-9_]+)?const$/)
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
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;
|
2012-03-21 20:33:19 +01:00
|
|
|
# indent may have inserted a blank link
|
|
|
|
if ($0 == "")
|
|
|
|
getline;
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
# dont modify $0 or $n
|
|
|
|
symbol = $n;
|
|
|
|
|
|
|
|
# remove starting non word chars
|
2008-12-18 18:00:25 +01:00
|
|
|
sub(/^[^a-zA-Z0-9_]+/, "",symbol);
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
|
|
|
|
# remove from first non word to end of line
|
2008-12-18 18:00:25 +01:00
|
|
|
sub(/[^a-zA-Z0-9_].*/, "", symbol);
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
|
|
|
|
#print;
|
2010-08-23 20:37:46 +02:00
|
|
|
printf(" (void *) &%-50s /* %s:%s */\n", symbol ",", header, line);
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2010-08-23 20:37:46 +02:00
|
|
|
{
|
|
|
|
line++;
|
|
|
|
}
|
|
|
|
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
END {
|
|
|
|
print("};");
|
2008-12-23 21:07:54 +01:00
|
|
|
|
|
|
|
print("") >> "sdksyms.dep";
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
}' > _sdksyms.c
|
|
|
|
|
|
|
|
STATUS=$?
|
|
|
|
|
|
|
|
cat _sdksyms.c >> sdksyms.c
|
|
|
|
rm _sdksyms.c
|
|
|
|
|
2008-12-09 01:11:50 +01:00
|
|
|
[ $? != 0 ] && exit $?
|
|
|
|
|
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.
2008-12-07 05:22:19 +01:00
|
|
|
exit $STATUS
|