From b1dac41fb3853ca8182048ea57b88b6e84ecceb3 Mon Sep 17 00:00:00 2001 From: Paulo Cesar Pereira de Andrade Date: Sun, 7 Dec 2008 02:22:19 -0200 Subject: 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 "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. --- config/Makefile.am | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'config') diff --git a/config/Makefile.am b/config/Makefile.am index 1e7c501c3..7fa2df877 100644 --- a/config/Makefile.am +++ b/config/Makefile.am @@ -1,22 +1,22 @@ AM_CFLAGS = @DIX_CFLAGS@ -noinst_LIBRARIES = libconfig.a -libconfig_a_SOURCES = config.c config-backends.h +noinst_LTLIBRARIES = libconfig.la +libconfig_la_SOURCES = config.c config-backends.h if CONFIG_NEED_DBUS AM_CFLAGS += @DBUS_CFLAGS@ -libconfig_a_SOURCES += dbus-core.c +libconfig_la_SOURCES += dbus-core.c endif if CONFIG_DBUS_API dbusconfigdir = $(sysconfdir)/dbus-1/system.d dbusconfig_DATA = xorg-server.conf -libconfig_a_SOURCES += dbus.c +libconfig_la_SOURCES += dbus.c endif if CONFIG_HAL -libconfig_a_SOURCES += hal.c +libconfig_la_SOURCES += hal.c endif EXTRA_DIST = xorg-server.conf x11-input.fdi -- cgit v1.2.3