xserver: Branch 'master' - 5 commits

Keith Packard keithp at kemper.freedesktop.org
Tue Jun 28 09:44:40 PDT 2011


 configure.ac                      |    2 
 dix/.gitignore                    |    1 
 dix/Makefile.am                   |    6 
 hw/xfree86/.gitignore             |    4 
 hw/xfree86/Makefile.am            |   47 ++--
 hw/xfree86/loader/.gitignore      |    3 
 hw/xfree86/loader/Makefile.am     |   14 -
 hw/xfree86/loader/sdksyms.sh      |  425 --------------------------------------
 hw/xfree86/os-support/.gitignore  |    2 
 hw/xfree86/os-support/Makefile.am |    7 
 hw/xfree86/sdksyms.sh             |  425 ++++++++++++++++++++++++++++++++++++++
 os/.gitignore                     |    2 
 os/Makefile.am                    |    6 
 test/.gitignore                   |    1 
 test/Makefile.am                  |   12 -
 15 files changed, 461 insertions(+), 496 deletions(-)

New commits:
commit 9d568450b1319e9057319ebb37e76003bcba447d
Author: Keith Packard <keithp at keithp.com>
Date:   Tue Jun 28 09:33:25 2011 -0700

    Create sdksyms.dep in the right place at configure time
    
    sdksyms moved from hw/xfree86/loader to hw/xfree86, so the
    configure-time create of sdksyms.dep needs to reflect that
    change. Otherwise, make might be confused by a missing file and (more
    importantly to me) hw/xfree86/loader/sdksyms.dep will be left around
    after 'make clean' causing 'make distcheck' to fail.

diff --git a/configure.ac b/configure.ac
index a53ab50..67a7f13 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2144,7 +2144,7 @@ AC_SUBST([libdir])
 AC_SUBST([exec_prefix])
 AC_SUBST([prefix])
 
-AC_CONFIG_COMMANDS([sdksyms], [touch hw/xfree86/loader/sdksyms.dep])
+AC_CONFIG_COMMANDS([sdksyms], [touch hw/xfree86/sdksyms.dep])
 
 AC_OUTPUT([
 Makefile
commit f968f4ace9410d827fb6b68c4e38ea9516641309
Merge: 4dbed26... 163441f...
Author: Keith Packard <keithp at keithp.com>
Date:   Tue Jun 28 09:10:14 2011 -0700

    Merge remote-tracking branch 'dbn/no-libxorg'

commit 163441fe531a77f7fa54bfa59c5ab49c78f44306
Author: Dan Nicholson <dbn.lists at gmail.com>
Date:   Tue Jun 14 20:03:06 2011 -0700

    xfree86: Remove libxorg convenience library to speed up build
    
    libxorg.la served to collect all the Xorg convenience libraries into one
    massive archive to link into Xorg. This made things easy for symbol
    resolution, but it tremendously slowed down the build since each change
    caused libxorg.la to be rebuilt. This is an extremely slow process of
    extracting all the objects from the sub-libraries and recombining them.
    
    Instead, the archives are linked directly into Xorg. The order of the
    libraries had to be tweaked a bit to make symbols resolve correctly with
    the lower level code moving later in the link command.
    
    As a side effect, since the dtrace objects are now being linked
    directly into Xorg, we don't need the SPECIAL_DTRACE_OBJECTS hack to
    add them twice.
    
    Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>
    Tested-by: Jamey Sharp <jamey at minilop.net>
    Reviewed-by: Daniel Stone <daniel at fooishbar.org>
    Tested-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
index 6580e8d..e3ef14f 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
@@ -44,13 +44,12 @@ AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
 INCLUDES = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
 	-I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac
 
-noinst_LTLIBRARIES = libxorg.la
-libxorg_la_SOURCES =
-libxorg_la_LIBADD = \
+LOCAL_LIBS = \
+            $(MAIN_LIB) \
             $(XSERVER_LIBS) \
             loader/libloader.la \
-            os-support/libxorgos.la \
             common/libcommon.la \
+            os-support/libxorgos.la \
             parser/libxf86config_internal.la \
             dixmods/libdixmods.la \
             modes/libxf86modes.la \
@@ -58,14 +57,14 @@ libxorg_la_LIBADD = \
             ddc/libddc.la \
             i2c/libi2c.la \
             dixmods/libxorgxkb.la \
+            $(XORG_LIBS) \
             $(top_builddir)/mi/libmi.la \
-            $(top_builddir)/os/libos.la \
-            @XORG_LIBS@
-
-libxorg_la_DEPENDENCIES = $(libxorg_la_LIBADD)
-
-Xorg_DEPENDENCIES = libxorg.la
-Xorg_LDADD = $(MAIN_LIB) libxorg.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS)
+            $(top_builddir)/os/libos.la
+Xorg_LDADD = \
+            $(LOCAL_LIBS) \
+            $(XORG_SYS_LIBS) \
+            $(XSERVER_SYS_LIBS)
+Xorg_DEPENDENCIES = $(LOCAL_LIBS)
 
 Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
 
@@ -73,11 +72,6 @@ BUILT_SOURCES = xorg.conf.example
 DISTCLEANFILES = xorg.conf.example
 EXTRA_DIST = xorgconf.cpp
 
-if SPECIAL_DTRACE_OBJECTS
-# Re-add dtrace object code that gets lost when building static libraries
-Xorg_LDADD += $(XSERVER_LIBS)
-endif
-
 if SOLARIS_ASM_INLINE
 # Needs to be built before any files are compiled when using Sun compilers
 # so in*/out* inline definitions are properly processed.
diff --git a/test/Makefile.am b/test/Makefile.am
index 04c255b..370e09a 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -37,7 +37,6 @@ libxservertest_la_LIBADD = \
             $(top_builddir)/hw/xfree86/ddc/libddc.la \
             $(top_builddir)/hw/xfree86/i2c/libi2c.la \
             $(top_builddir)/hw/xfree86/dixmods/libxorgxkb.la \
-            $(top_builddir)/hw/xfree86/libxorg.la \
             $(top_builddir)/mi/libmi.la \
             $(top_builddir)/os/libos.la \
             @XORG_LIBS@
commit 6259b30111f568ec3d1b32dc6382bce46d8e6ccc
Author: Dan Nicholson <dbn.lists at gmail.com>
Date:   Tue Jun 14 19:47:02 2011 -0700

    xfree86: Move sdksyms generation to ddx toplevel
    
    The symbols in sdksyms.c cover the entire source tree. In order to make
    them resolve when libxorg.la goes away, move the objects from libloader
    to Xorg. Unfortunately, this means sdksyms needs to get built again for
    the test code.
    
    Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>
    Tested-by: Jamey Sharp <jamey at minilop.net>
    Reviewed-by: Daniel Stone <daniel at fooishbar.org>
    Tested-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/hw/xfree86/.gitignore b/hw/xfree86/.gitignore
index f9b3f4a..997a94e 100644
--- a/hw/xfree86/.gitignore
+++ b/hw/xfree86/.gitignore
@@ -1,2 +1,4 @@
 Xorg
 xorg.conf.example
+sdksyms.c
+sdksyms.dep
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
index 697571e..6580e8d 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
@@ -38,10 +38,11 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
 	       utils doc man
 
 bin_PROGRAMS = Xorg
-Xorg_SOURCES =
+nodist_Xorg_SOURCES = sdksyms.c
 
 AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
-INCLUDES = @XORG_INCS@ 
+INCLUDES = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
+	-I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac
 
 noinst_LTLIBRARIES = libxorg.la
 libxorg_la_SOURCES =
@@ -111,3 +112,12 @@ xorg.conf.example: xorgconf.cpp
 
 relink:
 	$(AM_V_at)rm -f Xorg && $(MAKE) Xorg
+
+CLEANFILES = sdksyms.c sdksyms.dep
+EXTRA_DIST += sdksyms.sh
+
+sdksyms.dep sdksyms.c: sdksyms.sh
+	CPP='$(CPP)' AWK='$(AWK)' $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(INCLUDES)
+
+SDKSYMS_DEP = sdksyms.dep
+include $(SDKSYMS_DEP)
diff --git a/hw/xfree86/loader/.gitignore b/hw/xfree86/loader/.gitignore
deleted file mode 100644
index 6b38d9e..0000000
--- a/hw/xfree86/loader/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-#		Add & Override for this directory and it's subdirectories
-sdksyms.c
-sdksyms.dep
diff --git a/hw/xfree86/loader/Makefile.am b/hw/xfree86/loader/Makefile.am
index 0e5b304..ebe0c81 100644
--- a/hw/xfree86/loader/Makefile.am
+++ b/hw/xfree86/loader/Makefile.am
@@ -9,11 +9,7 @@ AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
 
 EXTRA_DIST = \
 	loader.h \
-	loaderProcs.h \
-	sdksyms.sh
-
-nodist_libloader_la_SOURCES = \
-	sdksyms.c
+	loaderProcs.h
 
 libloader_la_SOURCES = \
 	loader.c \
@@ -23,11 +19,3 @@ libloader_la_SOURCES = \
 	os.c
 
 libloader_la_LIBADD = $(DLOPEN_LIBS)
-
-CLEANFILES = sdksyms.c sdksyms.dep
-
-sdksyms.dep sdksyms.c: sdksyms.sh $(top_builddir)/include/do-not-use-config.h
-	CPP='$(CPP)' AWK='$(AWK)' $(srcdir)/sdksyms.sh $(top_srcdir) $(AM_CFLAGS) $(CFLAGS) $(INCLUDES)
-
-SDKSYMS_DEP = sdksyms.dep
-include $(SDKSYMS_DEP)
diff --git a/hw/xfree86/loader/sdksyms.sh b/hw/xfree86/loader/sdksyms.sh
deleted file mode 100755
index 18bb735..0000000
--- a/hw/xfree86/loader/sdksyms.sh
+++ /dev/null
@@ -1,425 +0,0 @@
-#!/bin/sh
-
-cat > sdksyms.c << EOF
-/* This file is automatically generated by sdksyms.sh. */
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-#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"
-
-/* miext/sync/Makefile.am */
-#include "misync.h"
-#include "misyncstr.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"
-#include "syncsdk.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 "xf86cmap.h"
-#include "xf86fbman.h"
-#include "xf86str.h"
-#include "xf86Xinput.h"
-#include "xf86VGAarbiter.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"
- */
-
-
-/* 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
- */
-
-
-/* mi/Makefile.am */
-#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 "Xprintf.h"
-#include "closestr.h"
-#include "closure.h"
-#include "colormap.h"
-#include "colormapst.h"
-#include "hotplug.h"
-#include "client.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 "xace.h"
-#include "xkbfile.h"
-#include "xkbsrv.h"
-#include "xkbstr.h"
-#include "xkbrules.h"
-#include "xserver-properties.h"
-
-EOF
-
-topdir=$1
-shift
-LC_ALL=C
-export LC_ALL
-${CPP:-cpp} "$@" -DXorgLoader sdksyms.c | ${AWK:-awk} -v topdir=$topdir '
-BEGIN {
-    sdk = 0;
-    print("/*");
-    print(" * These symbols are referenced to ensure they");
-    print(" * will be available in the X Server binary.");
-    print(" */");
-    printf("/* topdir=%s */\n", topdir);
-    print("_X_HIDDEN void *xorg_symbols[] = {");
-
-    printf("sdksyms.c:") > "sdksyms.dep";
-}
-/^# [0-9]+ "/ {
-    #   Process text after a include in a relative path or when the
-    # processed file has a basename matching $top_srcdir.
-    #   Note that indexing starts at 1; 0 means no match, and there
-    # is a starting ".
-    sdk = $3 !~ /^"\// || index($3, topdir) == 2;
-
-    if (sdk && $3 ~ /\.h"$/) {
-	# remove quotes
-	gsub(/"/, "", $3);
-	line = $2;
-	header = $3;
-	if (! headers[$3]) {
-	    printf(" \\\n  %s", $3) >> "sdksyms.dep";
-	    headers[$3] = 1;
-	}
-    }
-    next;
-}
-
-/^extern[ 	]/  {
-    if (sdk) {
-	n = 3;
-
-	# skip attribute, if any
-	while ($n ~ /^(__attribute__|__global)/ ||
-	    # skip modifiers, if any
-	    $n ~ /^\*?(unsigned|const|volatile|struct)$/ ||
-	    # skip pointer
-	    $n ~ /^[a-zA-Z0-9_]*\*$/)
-	    n++;
-
-	# type specifier may not be set, as in
-	#   extern _X_EXPORT unsigned name(...)
-	if ($n !~ /[^a-zA-Z0-9_]/)
-	    n++;
-
-	# go back if we are at the parameter list already
-	if ($n ~ /^[(]([^*].*)?$/)
-	    n--;
-
-	# match
-	#    extern _X_EXPORT type (* name[])(...)
-	if ($n ~ /^[^a-zA-Z0-9_]+$/)
-	    n++;
-
-	# match
-	#	extern _X_EXPORT const name *const ...
-	if ($n ~ /^([^a-zA-Z0-9_]+)?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(/^[^a-zA-Z0-9_]+/, "",symbol);
-
-	# remove from first non word to end of line
-	sub(/[^a-zA-Z0-9_].*/, "", symbol);
-
-	#print;
-	printf("    (void *) &%-50s /* %s:%s */\n", symbol ",", header, line);
-    }
-}
-
-{
-    line++;
-}
-
-END {
-    print("};");
-
-    print("") >> "sdksyms.dep";
-}' > _sdksyms.c
-
-STATUS=$?
-
-cat _sdksyms.c >> sdksyms.c
-rm _sdksyms.c
-
-[ $? != 0 ] && exit $?
-
-exit $STATUS
diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
new file mode 100755
index 0000000..18bb735
--- /dev/null
+++ b/hw/xfree86/sdksyms.sh
@@ -0,0 +1,425 @@
+#!/bin/sh
+
+cat > sdksyms.c << EOF
+/* This file is automatically generated by sdksyms.sh. */
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
+#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"
+
+/* miext/sync/Makefile.am */
+#include "misync.h"
+#include "misyncstr.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"
+#include "syncsdk.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 "xf86cmap.h"
+#include "xf86fbman.h"
+#include "xf86str.h"
+#include "xf86Xinput.h"
+#include "xf86VGAarbiter.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"
+ */
+
+
+/* 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
+ */
+
+
+/* mi/Makefile.am */
+#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 "Xprintf.h"
+#include "closestr.h"
+#include "closure.h"
+#include "colormap.h"
+#include "colormapst.h"
+#include "hotplug.h"
+#include "client.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 "xace.h"
+#include "xkbfile.h"
+#include "xkbsrv.h"
+#include "xkbstr.h"
+#include "xkbrules.h"
+#include "xserver-properties.h"
+
+EOF
+
+topdir=$1
+shift
+LC_ALL=C
+export LC_ALL
+${CPP:-cpp} "$@" -DXorgLoader sdksyms.c | ${AWK:-awk} -v topdir=$topdir '
+BEGIN {
+    sdk = 0;
+    print("/*");
+    print(" * These symbols are referenced to ensure they");
+    print(" * will be available in the X Server binary.");
+    print(" */");
+    printf("/* topdir=%s */\n", topdir);
+    print("_X_HIDDEN void *xorg_symbols[] = {");
+
+    printf("sdksyms.c:") > "sdksyms.dep";
+}
+/^# [0-9]+ "/ {
+    #   Process text after a include in a relative path or when the
+    # processed file has a basename matching $top_srcdir.
+    #   Note that indexing starts at 1; 0 means no match, and there
+    # is a starting ".
+    sdk = $3 !~ /^"\// || index($3, topdir) == 2;
+
+    if (sdk && $3 ~ /\.h"$/) {
+	# remove quotes
+	gsub(/"/, "", $3);
+	line = $2;
+	header = $3;
+	if (! headers[$3]) {
+	    printf(" \\\n  %s", $3) >> "sdksyms.dep";
+	    headers[$3] = 1;
+	}
+    }
+    next;
+}
+
+/^extern[ 	]/  {
+    if (sdk) {
+	n = 3;
+
+	# skip attribute, if any
+	while ($n ~ /^(__attribute__|__global)/ ||
+	    # skip modifiers, if any
+	    $n ~ /^\*?(unsigned|const|volatile|struct)$/ ||
+	    # skip pointer
+	    $n ~ /^[a-zA-Z0-9_]*\*$/)
+	    n++;
+
+	# type specifier may not be set, as in
+	#   extern _X_EXPORT unsigned name(...)
+	if ($n !~ /[^a-zA-Z0-9_]/)
+	    n++;
+
+	# go back if we are at the parameter list already
+	if ($n ~ /^[(]([^*].*)?$/)
+	    n--;
+
+	# match
+	#    extern _X_EXPORT type (* name[])(...)
+	if ($n ~ /^[^a-zA-Z0-9_]+$/)
+	    n++;
+
+	# match
+	#	extern _X_EXPORT const name *const ...
+	if ($n ~ /^([^a-zA-Z0-9_]+)?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(/^[^a-zA-Z0-9_]+/, "",symbol);
+
+	# remove from first non word to end of line
+	sub(/[^a-zA-Z0-9_].*/, "", symbol);
+
+	#print;
+	printf("    (void *) &%-50s /* %s:%s */\n", symbol ",", header, line);
+    }
+}
+
+{
+    line++;
+}
+
+END {
+    print("};");
+
+    print("") >> "sdksyms.dep";
+}' > _sdksyms.c
+
+STATUS=$?
+
+cat _sdksyms.c >> sdksyms.c
+rm _sdksyms.c
+
+[ $? != 0 ] && exit $?
+
+exit $STATUS
diff --git a/test/Makefile.am b/test/Makefile.am
index 29e483a..04c255b 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -7,7 +7,10 @@ check_LTLIBRARIES = libxservertest.la
 TESTS=$(noinst_PROGRAMS)
 
 AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
-INCLUDES = @XORG_INCS@
+INCLUDES = $(XORG_INCS) -I$(top_srcdir)/hw/xfree86/parser \
+	-I$(top_srcdir)/miext/cw -I$(top_srcdir)/hw/xfree86/ddc \
+	-I$(top_srcdir)/hw/xfree86/i2c -I$(top_srcdir)/hw/xfree86/modes \
+	-I$(top_srcdir)/hw/xfree86/ramdac
 TEST_LDADD=libxservertest.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS)
 
 if SPECIAL_DTRACE_OBJECTS
@@ -21,7 +24,7 @@ list_LDADD=$(TEST_LDADD)
 misc_LDADD=$(TEST_LDADD)
 fixes_LDADD=$(TEST_LDADD)
 
-libxservertest_la_SOURCES =
+nodist_libxservertest_la_SOURCES = $(top_builddir)/hw/xfree86/sdksyms.c
 libxservertest_la_LIBADD = \
             $(XSERVER_LIBS) \
             $(top_builddir)/hw/xfree86/loader/libloader.la \
commit 7d5c8a12cbc295b3e33e1b60bd7330e2bc93a966
Author: Dan Nicholson <dbn.lists at gmail.com>
Date:   Tue Jun 14 17:21:48 2011 -0700

    Don't use empty source files
    
    When an empty _SOURCES variable is declared, automake will recognize that
    only linking is needed.
    
    Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>
    Tested-by: Jamey Sharp <jamey at minilop.net>
    Reviewed-by: Daniel Stone <daniel at fooishbar.org>
    Tested-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/dix/.gitignore b/dix/.gitignore
index 63ee767..c1b4f20 100644
--- a/dix/.gitignore
+++ b/dix/.gitignore
@@ -1,3 +1,2 @@
 #		Add & Override for this directory and it's subdirectories
-dix.c
 Xserver-dtrace.h
diff --git a/dix/Makefile.am b/dix/Makefile.am
index 5435546..f5af619 100644
--- a/dix/Makefile.am
+++ b/dix/Makefile.am
@@ -64,11 +64,9 @@ dtrace-dix.o: $(top_srcdir)/dix/Xserver.d $(am_libdix_la_OBJECTS)
 
 noinst_PROGRAMS = dix.O
 
+dix_O_SOURCES =
 dix.O: dtrace-dix.o $(am_libdix_la_OBJECTS)
 	$(AM_V_GEN)ld -r -o $@ $(am_libdix_la_OBJECTS:%.lo=.libs/%.o)
 endif
 
-dix.c:
-	touch $@
-
-CLEANFILES = dix.c Xserver-dtrace.h
+CLEANFILES = Xserver-dtrace.h
diff --git a/hw/xfree86/.gitignore b/hw/xfree86/.gitignore
index 2ddca49..f9b3f4a 100644
--- a/hw/xfree86/.gitignore
+++ b/hw/xfree86/.gitignore
@@ -1,4 +1,2 @@
-libxorg.c
 Xorg
-xorg.c
 xorg.conf.example
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
index f1a759a..697571e 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
@@ -38,13 +38,13 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
 	       utils doc man
 
 bin_PROGRAMS = Xorg
-Xorg_SOURCES = xorg.c
+Xorg_SOURCES =
 
 AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
 INCLUDES = @XORG_INCS@ 
 
 noinst_LTLIBRARIES = libxorg.la
-libxorg_la_SOURCES = libxorg.c
+libxorg_la_SOURCES =
 libxorg_la_LIBADD = \
             $(XSERVER_LIBS) \
             loader/libloader.la \
@@ -63,18 +63,13 @@ libxorg_la_LIBADD = \
 
 libxorg_la_DEPENDENCIES = $(libxorg_la_LIBADD)
 
-libxorg.c xorg.c:
-	touch $@
-
-DISTCLEANFILES = libxorg.c xorg.c
-
 Xorg_DEPENDENCIES = libxorg.la
 Xorg_LDADD = $(MAIN_LIB) libxorg.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS)
 
 Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
 
 BUILT_SOURCES = xorg.conf.example
-DISTCLEANFILES += xorg.conf.example
+DISTCLEANFILES = xorg.conf.example
 EXTRA_DIST = xorgconf.cpp
 
 if SPECIAL_DTRACE_OBJECTS
diff --git a/hw/xfree86/os-support/.gitignore b/hw/xfree86/os-support/.gitignore
deleted file mode 100644
index f2206cd..0000000
--- a/hw/xfree86/os-support/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-#		Add & Override for this directory and it's subdirectories
-xorgos.c
diff --git a/hw/xfree86/os-support/Makefile.am b/hw/xfree86/os-support/Makefile.am
index 3af4328..348b7ff 100644
--- a/hw/xfree86/os-support/Makefile.am
+++ b/hw/xfree86/os-support/Makefile.am
@@ -9,18 +9,13 @@ EXTRA_DIST = int10Defines.h xf86OSpriv.h
 # as one library, otherwise libtool will actively defeat your attempts to
 # list them multiple times on the link line.
 noinst_LTLIBRARIES = libxorgos.la
-libxorgos_la_SOURCES = xorgos.c
+libxorgos_la_SOURCES =
 libxorgos_la_LIBADD = @XORG_OS_SUBDIR@/lib at XORG_OS_SUBDIR@.la \
                       bus/libbus.la \
                       misc/libmisc.la
 
 AM_CFLAGS = $(DIX_CFLAGS) 
 
-xorgos.c:
-	touch $@
-
-DISTCLEANFILES = xorgos.c
-
 # FIXME: These don't seem to be used anywhere
 EXTRA_DIST += \
 	shared/bios_devmem.c
diff --git a/os/.gitignore b/os/.gitignore
deleted file mode 100644
index 74b1d14..0000000
--- a/os/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-#		Add & Override for this directory and it's subdirectories
-os.c
diff --git a/os/Makefile.am b/os/Makefile.am
index 91ca110..ef9ecdd 100644
--- a/os/Makefile.am
+++ b/os/Makefile.am
@@ -51,11 +51,7 @@ dtrace.o: $(top_srcdir)/dix/Xserver.d $(am_libos_la_OBJECTS)
 
 noinst_PROGRAMS = os.O
 
+os_O_SOURCES =
 os.O: dtrace.o $(am_libos_la_OBJECTS)
 	$(AM_V_GEN)ld -r -o $@ dtrace.o .libs/*.o
 endif
-
-os.c:
-	touch $@
-
-CLEANFILES = os.c
diff --git a/test/.gitignore b/test/.gitignore
index 48e8abe..0e1ed42 100644
--- a/test/.gitignore
+++ b/test/.gitignore
@@ -1,4 +1,3 @@
-libxservertest.c
 xkb
 input
 xtest
diff --git a/test/Makefile.am b/test/Makefile.am
index 5574e7d..29e483a 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -21,6 +21,7 @@ list_LDADD=$(TEST_LDADD)
 misc_LDADD=$(TEST_LDADD)
 fixes_LDADD=$(TEST_LDADD)
 
+libxservertest_la_SOURCES =
 libxservertest_la_LIBADD = \
             $(XSERVER_LIBS) \
             $(top_builddir)/hw/xfree86/loader/libloader.la \
@@ -39,8 +40,3 @@ libxservertest_la_LIBADD = \
             @XORG_LIBS@
 endif
 endif
-
-CLEANFILES=libxservertest.c
-
-libxservertest.c:
-	touch $@


More information about the xorg-commit mailing list