[Xquartz-changes] xserver: Branch 'master' - 16 commits

Jeremy Huddleston jeremyhu at freedesktop.org
Mon Mar 22 00:28:23 PDT 2010


 Makefile.am                      |    2 
 Xext/Makefile.am                 |    2 
 Xext/xf86bigfont.c               |    5 
 Xext/xf86bigfontsrv.h            |   34 +++++
 configure.ac                     |   18 --
 cpprules.in                      |    2 
 dix/dixfonts.c                   |    3 
 doc/Makefile.am                  |    4 
 hw/Makefile.am                   |    2 
 hw/dmx/Makefile.am               |    4 
 hw/dmx/config/Makefile.am        |    2 
 hw/dmx/examples/.gitignore       |    2 
 hw/dmx/examples/Makefile.am      |    8 -
 hw/dmx/examples/dmxinfo.c        |  239 +++++++++++++++++++++++++++++++++++++++
 hw/dmx/examples/xdmx.c           |  239 ---------------------------------------
 hw/kdrive/Makefile.am            |    2 
 hw/kdrive/ephyr/Makefile.am      |    6 
 hw/kdrive/fake/Makefile.am       |    2 
 hw/kdrive/fbdev/Makefile.am      |    2 
 hw/vfb/Makefile.am               |    6 
 hw/xfree86/Makefile.am           |    2 
 hw/xfree86/doc/man/Makefile.am   |    8 -
 hw/xfree86/exa/Makefile.am       |    4 
 hw/xfree86/fbdevhw/Makefile.am   |    4 
 hw/xfree86/utils/gtf/Makefile.am |    4 
 hw/xnest/Makefile.am             |    6 
 hw/xquartz/doc/Makefile.am       |    2 
 hw/xwin/Makefile.am              |   16 +-
 mi/miinitext.c                   |    2 
 os/log.c                         |    3 
 30 files changed, 331 insertions(+), 304 deletions(-)

New commits:
commit b29220dc765cb6f878c5466e00e4bd21f3bd803d
Merge: c3da766... ed31d50...
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Mar 21 23:01:58 2010 -0700

    Merge remote branch 'jeremyhu/master'

commit c3da76643aeebdd24047e3e14a860507eac37ec3
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Thu Mar 18 23:19:20 2010 -0500

    Cygwin/X: Make X -> XWin symlink during install
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Dan Nicholson <dbn.lists at gmail.com>

diff --git a/hw/xwin/Makefile.am b/hw/xwin/Makefile.am
index 0577300..89b021b 100644
--- a/hw/xwin/Makefile.am
+++ b/hw/xwin/Makefile.am
@@ -194,6 +194,9 @@ xwinconfig_DATA = system.XWinrc
 
 include $(top_srcdir)/cpprules.in
 
+install-exec-hook:
+	(cd $(DESTDIR)$(bindir) && rm -f X && $(LN_S) XWin$(EXEEXT) X)
+
 EXTRA_DIST = \
 	$(GLX_EXTRAS) \
 	$(MAN_SRCS) \
commit abf4e0b7e349b0238b2b97a16b8a308b5026af31
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Mon Mar 22 00:44:28 2010 -0500

    New header for XF86Bigfont server functions
    
    Xext/xf86bigfont.c contains three non-static functions which are called
    elsewhere in the server.  This creates a new header containing these
    declarations in order to fix several warnings:
    
    xf86bigfont.c:285: warning: no previous prototype for `XF86BigfontFreeFontShm'
    dixfonts.c:502: warning: implicit declaration of function `XF86BigfontFreeFontS$
    dixfonts.c:502: warning: nested extern declaration of `XF86BigfontFreeFontShm'
    log.c:436: warning: implicit declaration of function `XF86BigfontCleanup'
    log.c:436: warning: nested extern declaration of `XF86BigfontCleanup'
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Julien Cristau <jcristau at debian.org>

diff --git a/Xext/Makefile.am b/Xext/Makefile.am
index 193d6e5..53cbc1f 100644
--- a/Xext/Makefile.am
+++ b/Xext/Makefile.am
@@ -107,7 +107,7 @@ MODULE_SRCS  += $(MULTIBUFFER_SRCS)
 endif
 
 # XF86 Big Font extension
-BIGFONT_SRCS = xf86bigfont.c
+BIGFONT_SRCS = xf86bigfont.c xf86bigfontsrv.h
 if XF86BIGFONT
 BUILTIN_SRCS += $(BIGFONT_SRCS)
 endif
diff --git a/Xext/xf86bigfont.c b/Xext/xf86bigfont.c
index ce33fda..a4eb3f6 100644
--- a/Xext/xf86bigfont.c
+++ b/Xext/xf86bigfont.c
@@ -74,6 +74,7 @@
 #include "protocol-versions.h"
 
 #include <X11/extensions/xf86bigfproto.h>
+#include "xf86bigfontsrv.h"
 
 static void XF86BigfontResetProc(
     ExtensionEntry *	/* extEntry */
diff --git a/Xext/xf86bigfontsrv.h b/Xext/xf86bigfontsrv.h
new file mode 100644
index 0000000..2c78dc4
--- /dev/null
+++ b/Xext/xf86bigfontsrv.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright © 2010 Yaakov Selkowitz
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef _XF86BIGFONTSRV_H_
+#define _XF86BIGFONTSRV_H_
+
+#include <X11/fonts/font.h>
+
+extern void XFree86BigfontExtensionInit(void);
+extern void XF86BigfontFreeFontShm(FontPtr);
+extern void XF86BigfontCleanup(void);
+
+#endif
diff --git a/dix/dixfonts.c b/dix/dixfonts.c
index 329318d..6dc8193 100644
--- a/dix/dixfonts.c
+++ b/dix/dixfonts.c
@@ -71,8 +71,7 @@ Equipment Corporation.
 #endif
 
 #ifdef XF86BIGFONT
-#define _XF86BIGFONT_SERVER_
-#include <X11/extensions/xf86bigfont.h>
+#include "xf86bigfontsrv.h"
 #endif
 
 #define QUERYCHARINFO(pci, pr)  *(pr) = (pci)->metrics
diff --git a/os/log.c b/os/log.c
index 0002e59..f4832c1 100644
--- a/os/log.c
+++ b/os/log.c
@@ -99,8 +99,7 @@ OR PERFORMANCE OF THIS SOFTWARE.
 #endif
 
 #ifdef XF86BIGFONT
-#define _XF86BIGFONT_SERVER_
-#include <X11/extensions/xf86bigfont.h>
+#include "xf86bigfontsrv.h"
 #endif
 
 #ifdef DDXOSVERRORF
commit 57a049ea89b008c0b60316c3b6e6ff5c8fbd4cad
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Thu Mar 18 04:46:20 2010 -0500

    Xext: fix old-style function definitions in xf86bigfont.c
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Julien Cristau <jcristau at debian.org>

diff --git a/Xext/xf86bigfont.c b/Xext/xf86bigfont.c
index ba8b603..ce33fda 100644
--- a/Xext/xf86bigfont.c
+++ b/Xext/xf86bigfont.c
@@ -143,7 +143,7 @@ CheckForShmSyscall(void)
 #endif
 
 void
-XFree86BigfontExtensionInit()
+XFree86BigfontExtensionInit(void)
 {
     if (AddExtension(XF86BIGFONTNAME,
 		     XF86BigfontNumberEvents,
@@ -302,7 +302,7 @@ XF86BigfontFreeFontShm(
 
 /* Called upon fatal signal. */
 void
-XF86BigfontCleanup()
+XF86BigfontCleanup(void)
 {
 #ifdef HAS_SHM
     while (ShmList)
commit 822b9f9a3e822df8848995eda246f83864d1366f
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Sun Feb 21 01:24:44 2010 -0600

    mi: remove deprecated #include <X11/extensions/xf86bigfstr.h> in miinitext.c
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Julien Cristau <jcristau at debian.org>

diff --git a/mi/miinitext.c b/mi/miinitext.c
index 2a67fd3..692be86 100644
--- a/mi/miinitext.c
+++ b/mi/miinitext.c
@@ -185,7 +185,7 @@ typedef void (*InitExtension)(INITARGS);
 #include <X11/extensions/panoramiXproto.h>
 #endif
 #ifdef XF86BIGFONT
-#include <X11/extensions/xf86bigfstr.h>
+#include <X11/extensions/xf86bigfproto.h>
 #endif
 #ifdef RES
 #include <X11/extensions/XResproto.h>
commit 946b49ebcbf47e030a6e00ce1a699f3b055f638a
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Wed Mar 17 17:37:05 2010 -0500

    Catch errors in recursive relink targets
    
    If make relink fails in a subdirectory, we need to catch the error
    otherwise make will continue iterating the 'for' loop.
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Dan Nicholson <dbn.lists at gmail.com>

diff --git a/hw/Makefile.am b/hw/Makefile.am
index 92b007a..6c2cc6b 100644
--- a/hw/Makefile.am
+++ b/hw/Makefile.am
@@ -38,4 +38,4 @@ SUBDIRS =			\
 DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
 
 relink:
-	$(AM_V_at)for i in $(SUBDIRS) ; do $(MAKE) -C $$i relink ; done
+	$(AM_V_at)for i in $(SUBDIRS) ; do $(MAKE) -C $$i relink || exit 1 ; done
diff --git a/hw/kdrive/Makefile.am b/hw/kdrive/Makefile.am
index 55d940f..471ca89 100644
--- a/hw/kdrive/Makefile.am
+++ b/hw/kdrive/Makefile.am
@@ -27,4 +27,4 @@ SUBDIRS =			\
 DIST_SUBDIRS = fbdev ephyr src linux fake
 
 relink:
-	$(AM_V_at)for i in $(SERVER_SUBDIRS) ; do $(MAKE) -C $$i relink ; done
+	$(AM_V_at)for i in $(SERVER_SUBDIRS) ; do $(MAKE) -C $$i relink || exit 1 ; done
commit 0820a6e2fb005b5f856dda25e1644f34fc994129
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Wed Mar 17 13:40:41 2010 -0500

    Fix .man.N targets for AM_SILENT_RULES
    
    Add $(AM_V_GEN) for sed-based rules so they appear as expected with
    automake silent rules, and $(AM_V_at) to completely hide cp/ln/rm
    commands which are not prone to fail.
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Alan Coopersmith <alan.coopersmith at sun.com>
    Reviewed-by: Julien Cristau <jcristau at debian.org>

diff --git a/doc/Makefile.am b/doc/Makefile.am
index bee64b6..2ff683c 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -14,9 +14,9 @@ CLEANFILES = $(appman_PROCESSED) $(appman_DATA)
 include $(top_srcdir)/cpprules.in
 
 .man.$(APP_MAN_SUFFIX):
-	cp $< $@
+	$(AM_V_at)cp $< $@
 
-EXTRAMANDEFS = -D__default_font_path__="`echo $(COMPILEDDEFAULTFONTPATH) | sed -e 's/,/, /g'`"
+EXTRAMANDEFS = -D__default_font_path__="`echo $(COMPILEDDEFAULTFONTPATH) | $(SED) -e 's/,/, /g'`"
 
 # Docs about X server internals that we ship with source but don't install
 DEVEL_DOCS = smartsched
diff --git a/hw/dmx/Makefile.am b/hw/dmx/Makefile.am
index fc9fde7..0d06346 100644
--- a/hw/dmx/Makefile.am
+++ b/hw/dmx/Makefile.am
@@ -109,7 +109,7 @@ MAN_SUBSTS = \
 SUFFIXES = .$(APP_MAN_SUFFIX) .man
 
 .man.$(APP_MAN_SUFFIX):
-	$(SED) $(MAN_SUBSTS) < $< > $@
+	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
 
 EXTRA_DIST = $(appman_PRE)
 
diff --git a/hw/dmx/config/Makefile.am b/hw/dmx/config/Makefile.am
index 7de745f..25a814e 100644
--- a/hw/dmx/config/Makefile.am
+++ b/hw/dmx/config/Makefile.am
@@ -69,7 +69,7 @@ XORGRELSTRING = @PACKAGE_STRING@
 MAN_SUBSTS = -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' 
 
 .man.$(APP_MAN_SUFFIX):
-	$(SED) $(MAN_SUBSTS) < $< > $@
+	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
 
 EXTRA_DIST = \
 	$(appman_PRE) \
diff --git a/hw/kdrive/ephyr/Makefile.am b/hw/kdrive/ephyr/Makefile.am
index d1dd630..8646703 100644
--- a/hw/kdrive/ephyr/Makefile.am
+++ b/hw/kdrive/ephyr/Makefile.am
@@ -89,8 +89,8 @@ appmandir = $(APP_MAN_DIR)
 appman_DATA = Xephyr.$(APP_MAN_SUFFIX)
 
 Xephyr.$(APP_MAN_SUFFIX): Xephyr.man
-	-rm -f Xephyr.$(APP_MAN_SUFFIX)
-	$(LN_S) Xephyr.man Xephyr.$(APP_MAN_SUFFIX)
+	-$(AM_V_at)rm -f Xephyr.$(APP_MAN_SUFFIX)
+	$(AM_V_at)$(LN_S) Xephyr.man Xephyr.$(APP_MAN_SUFFIX)
 
 include $(top_srcdir)/cpprules.in
 
diff --git a/hw/vfb/Makefile.am b/hw/vfb/Makefile.am
index a183824..4ac0c8f 100644
--- a/hw/vfb/Makefile.am
+++ b/hw/vfb/Makefile.am
@@ -43,8 +43,8 @@ CLEANFILES = $(appman_PRE) $(appman_DATA)
 SUFFIXES += .$(APP_MAN_SUFFIX) .man
 
 .man.$(APP_MAN_SUFFIX):
-	-rm -f $@
-	$(LN_S) $< $@
+	-$(AM_V_at)rm -f $@
+	$(AM_V_at)$(LN_S) $< $@
 
 EXTRA_DIST = Xvfb.man.pre
 
diff --git a/hw/xfree86/doc/man/Makefile.am b/hw/xfree86/doc/man/Makefile.am
index d8b2aa7..737166b 100644
--- a/hw/xfree86/doc/man/Makefile.am
+++ b/hw/xfree86/doc/man/Makefile.am
@@ -8,12 +8,12 @@ filemandir = $(FILE_MAN_DIR)
 fileman_DATA = xorg.conf.$(FILE_MAN_SUFFIX)
 
 Xorg.$(APP_MAN_SUFFIX): Xorg.man
-	-rm -f Xorg.$(APP_MAN_SUFFIX)
-	$(LN_S) Xorg.man Xorg.$(APP_MAN_SUFFIX)
+	-$(AM_V_at)rm -f Xorg.$(APP_MAN_SUFFIX)
+	$(AM_V_at)$(LN_S) Xorg.man Xorg.$(APP_MAN_SUFFIX)
 
 xorg.conf.$(FILE_MAN_SUFFIX): xorg.conf.man
-	-rm -f xorg.conf.$(FILE_MAN_SUFFIX)
-	$(LN_S) xorg.conf.man xorg.conf.$(FILE_MAN_SUFFIX)
+	-$(AM_V_at)rm -f xorg.conf.$(FILE_MAN_SUFFIX)
+	$(AM_V_at)$(LN_S) xorg.conf.man xorg.conf.$(FILE_MAN_SUFFIX)
 
 include $(top_srcdir)/cpprules.in
 
diff --git a/hw/xfree86/exa/Makefile.am b/hw/xfree86/exa/Makefile.am
index 9eb2e17..da9b720 100644
--- a/hw/xfree86/exa/Makefile.am
+++ b/hw/xfree86/exa/Makefile.am
@@ -22,7 +22,7 @@ driverman_DATA = exa.$(DRIVER_MAN_SUFFIX)
 CLEANFILES = $(driverman_DATA) exa.man
 
 exa.$(DRIVER_MAN_SUFFIX): exa.man
-	-rm -f exa.$(DRIVER_MAN_SUFFIX)
-	$(LN_S) exa.man exa.$(DRIVER_MAN_SUFFIX)
+	-$(AM_V_at)rm -f exa.$(DRIVER_MAN_SUFFIX)
+	$(AM_V_at)$(LN_S) exa.man exa.$(DRIVER_MAN_SUFFIX)
 
 EXTRA_DIST = exa.man.pre
diff --git a/hw/xfree86/fbdevhw/Makefile.am b/hw/xfree86/fbdevhw/Makefile.am
index 6a4a6e4..0663525 100644
--- a/hw/xfree86/fbdevhw/Makefile.am
+++ b/hw/xfree86/fbdevhw/Makefile.am
@@ -22,7 +22,7 @@ driverman_DATA = fbdevhw.$(DRIVER_MAN_SUFFIX)
 CLEANFILES = $(driverman_DATA) fbdevhw.man
 
 fbdevhw.$(DRIVER_MAN_SUFFIX): fbdevhw.man
-	-rm -f fbdevhw.$(DRIVER_MAN_SUFFIX)
-	$(LN_S) fbdevhw.man fbdevhw.$(DRIVER_MAN_SUFFIX)
+	-$(AM_V_at)rm -f fbdevhw.$(DRIVER_MAN_SUFFIX)
+	$(AM_V_at)$(LN_S) fbdevhw.man fbdevhw.$(DRIVER_MAN_SUFFIX)
 
 EXTRA_DIST = fbpriv.h fbdevhw.man.pre README
diff --git a/hw/xfree86/utils/gtf/Makefile.am b/hw/xfree86/utils/gtf/Makefile.am
index 3ca568d..d1a6d61 100644
--- a/hw/xfree86/utils/gtf/Makefile.am
+++ b/hw/xfree86/utils/gtf/Makefile.am
@@ -40,5 +40,5 @@ CLEANFILES = $(appman_PRE) $(appman_DATA)
 SUFFIXES += .$(APP_MAN_SUFFIX) .man
 
 .man.$(APP_MAN_SUFFIX):
-	-rm -f $@
-	$(LN_S) $< $@
+	-$(AM_V_at)rm -f $@
+	$(AM_V_at)$(LN_S) $< $@
diff --git a/hw/xnest/Makefile.am b/hw/xnest/Makefile.am
index 877ab8b..666a0f0 100644
--- a/hw/xnest/Makefile.am
+++ b/hw/xnest/Makefile.am
@@ -85,8 +85,8 @@ CLEANFILES = $(appman_PRE) $(appman_DATA)
 SUFFIXES += .$(APP_MAN_SUFFIX) .man
 
 .man.$(APP_MAN_SUFFIX):
-	-rm -f $@
-	$(LN_S) $< $@
+	-$(AM_V_at)rm -f $@
+	$(AM_V_at)$(LN_S) $< $@
 
 relink:
 	$(AM_V_at)rm -f Xnest$(EXEEXT) && $(MAKE) Xnest$(EXEEXT)
diff --git a/hw/xquartz/doc/Makefile.am b/hw/xquartz/doc/Makefile.am
index b812af1..7310de3 100644
--- a/hw/xquartz/doc/Makefile.am
+++ b/hw/xquartz/doc/Makefile.am
@@ -8,7 +8,7 @@ CLEANFILES = $(appman_PROCESSED) $(appman_DATA)
 include $(top_srcdir)/cpprules.in
 
 .man.$(APP_MAN_SUFFIX):
-	cp $< $@
+	$(AM_V_at)cp $< $@
 
 EXTRA_DIST = \
 	Xquartz.man.pre
diff --git a/hw/xwin/Makefile.am b/hw/xwin/Makefile.am
index 41a4515..0577300 100644
--- a/hw/xwin/Makefile.am
+++ b/hw/xwin/Makefile.am
@@ -180,12 +180,12 @@ filemandir = $(FILE_MAN_DIR)
 fileman_DATA = XWinrc.$(FILE_MAN_SUFFIX)
 
 XWin.$(APP_MAN_SUFFIX): XWin.man
-	-rm -f XWin.$(APP_MAN_SUFFIX)
-	$(LN_S) XWin.man XWin.$(APP_MAN_SUFFIX)
+	-$(AM_V_at)rm -f XWin.$(APP_MAN_SUFFIX)
+	$(AM_V_at)$(LN_S) XWin.man XWin.$(APP_MAN_SUFFIX)
 
 XWinrc.$(FILE_MAN_SUFFIX): XWinrc.man
-	-rm -f XWinrc.$(FILE_MAN_SUFFIX)
-	$(LN_S) XWinrc.man XWinrc.$(FILE_MAN_SUFFIX)
+	-$(AM_V_at)rm -f XWinrc.$(FILE_MAN_SUFFIX)
+	$(AM_V_at)$(LN_S) XWinrc.man XWinrc.$(FILE_MAN_SUFFIX)
 
 EXTRAMANDEFS = -D__logdir__=$(logdir) -D__sysconfdir__=$(sysconfdir) -D__datadir__=$(datadir)
 
commit 9be4157391edf0c5fc4ee36adfb1eb1c3bdb8e3b
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Wed Mar 17 13:33:39 2010 -0500

    Respect value of SED from configure
    
    We now use libtool, which calls AC_PROG_SED and sets SED as the path to
    a fully-functional 'sed' (which may also be called 'gsed' if GNU sed is
    installed alongside a proprietary version).  Therefore we should respect
    the value of SED so we are sure to use the correct one.
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Alan Coopersmith <alan.coopersmith at sun.com>
    Reviewed-by: Julien Cristau <jcristau at debian.org>

diff --git a/cpprules.in b/cpprules.in
index 2e0856b..301305e 100644
--- a/cpprules.in
+++ b/cpprules.in
@@ -2,8 +2,6 @@
 # Rules for generating files using the C pre-processor
 # (Replaces CppFileTarget from Imake)
 
-SED = sed
-
 SUFFIXES = .pre .man .man.pre
 
 # Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM
diff --git a/hw/dmx/Makefile.am b/hw/dmx/Makefile.am
index cdee586..fc9fde7 100644
--- a/hw/dmx/Makefile.am
+++ b/hw/dmx/Makefile.am
@@ -109,7 +109,7 @@ MAN_SUBSTS = \
 SUFFIXES = .$(APP_MAN_SUFFIX) .man
 
 .man.$(APP_MAN_SUFFIX):
-	sed $(MAN_SUBSTS) < $< > $@
+	$(SED) $(MAN_SUBSTS) < $< > $@
 
 EXTRA_DIST = $(appman_PRE)
 
diff --git a/hw/dmx/config/Makefile.am b/hw/dmx/config/Makefile.am
index 9fa7113..7de745f 100644
--- a/hw/dmx/config/Makefile.am
+++ b/hw/dmx/config/Makefile.am
@@ -69,7 +69,7 @@ XORGRELSTRING = @PACKAGE_STRING@
 MAN_SUBSTS = -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' 
 
 .man.$(APP_MAN_SUFFIX):
-	sed $(MAN_SUBSTS) < $< > $@
+	$(SED) $(MAN_SUBSTS) < $< > $@
 
 EXTRA_DIST = \
 	$(appman_PRE) \
commit 5e00f464c546debf9164f24c6d648623f7ee5946
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Wed Mar 17 14:56:24 2010 -0500

    Fix relink targets for silent rules
    
    Add $(AM_V_at) to all relink make targets to silence them when automake
    silent rules are in use.
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Alan Coopersmith <alan.coopersmith at sun.com>
    Reviewed-by: Julien Cristau <jcristau at debian.org>

diff --git a/Makefile.am b/Makefile.am
index 667c0de..8b7a2c8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -94,4 +94,4 @@ DIST_SUBDIRS = \
 
 # gross hack
 relink: all
-	$(MAKE) -C hw relink
+	$(AM_V_at)$(MAKE) -C hw relink
diff --git a/hw/Makefile.am b/hw/Makefile.am
index 7409906..92b007a 100644
--- a/hw/Makefile.am
+++ b/hw/Makefile.am
@@ -38,4 +38,4 @@ SUBDIRS =			\
 DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
 
 relink:
-	for i in $(SUBDIRS) ; do $(MAKE) -C $$i relink ; done
+	$(AM_V_at)for i in $(SUBDIRS) ; do $(MAKE) -C $$i relink ; done
diff --git a/hw/dmx/Makefile.am b/hw/dmx/Makefile.am
index 1e3e5da..cdee586 100644
--- a/hw/dmx/Makefile.am
+++ b/hw/dmx/Makefile.am
@@ -114,4 +114,4 @@ SUFFIXES = .$(APP_MAN_SUFFIX) .man
 EXTRA_DIST = $(appman_PRE)
 
 relink:
-	rm -f Xdmx$(EXEEXT) && $(MAKE) Xdmx$(EXEEXT)
+	$(AM_V_at)rm -f Xdmx$(EXEEXT) && $(MAKE) Xdmx$(EXEEXT)
diff --git a/hw/kdrive/Makefile.am b/hw/kdrive/Makefile.am
index 9e6c18e..55d940f 100644
--- a/hw/kdrive/Makefile.am
+++ b/hw/kdrive/Makefile.am
@@ -27,4 +27,4 @@ SUBDIRS =			\
 DIST_SUBDIRS = fbdev ephyr src linux fake
 
 relink:
-	@for i in $(SERVER_SUBDIRS) ; do $(MAKE) -C $$i relink ; done
+	$(AM_V_at)for i in $(SERVER_SUBDIRS) ; do $(MAKE) -C $$i relink ; done
diff --git a/hw/kdrive/ephyr/Makefile.am b/hw/kdrive/ephyr/Makefile.am
index bd74791..d1dd630 100644
--- a/hw/kdrive/ephyr/Makefile.am
+++ b/hw/kdrive/ephyr/Makefile.am
@@ -81,7 +81,7 @@ Xephyr_DEPENDENCIES =	\
 Xephyr_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
 
 relink:
-	rm -f $(bin_PROGRAMS) && $(MAKE) $(bin_PROGRAMS)
+	$(AM_V_at)rm -f $(bin_PROGRAMS) && $(MAKE) $(bin_PROGRAMS)
 
 MAN_SRCS = Xephyr.man.pre
 
diff --git a/hw/kdrive/fake/Makefile.am b/hw/kdrive/fake/Makefile.am
index 6a5cedf..6d3ed05 100644
--- a/hw/kdrive/fake/Makefile.am
+++ b/hw/kdrive/fake/Makefile.am
@@ -27,4 +27,4 @@ Xfake_DEPENDENCIES =	\
 	@KDRIVE_LOCAL_LIBS@
 
 relink:
-	rm -f $(bin_PROGRAMS) && $(MAKE) $(bin_PROGRAMS)
+	$(AM_V_at)rm -f $(bin_PROGRAMS) && $(MAKE) $(bin_PROGRAMS)
diff --git a/hw/kdrive/fbdev/Makefile.am b/hw/kdrive/fbdev/Makefile.am
index a1664ec..ec9df95 100644
--- a/hw/kdrive/fbdev/Makefile.am
+++ b/hw/kdrive/fbdev/Makefile.am
@@ -25,5 +25,5 @@ Xfbdev_DEPENDENCIES =	\
 Xfbdev_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
 
 relink:
-	rm -f $(bin_PROGRAMS) && $(MAKE) $(bin_PROGRAMS)
+	$(AM_V_at)rm -f $(bin_PROGRAMS) && $(MAKE) $(bin_PROGRAMS)
 endif
diff --git a/hw/vfb/Makefile.am b/hw/vfb/Makefile.am
index c6601c2..a183824 100644
--- a/hw/vfb/Makefile.am
+++ b/hw/vfb/Makefile.am
@@ -49,4 +49,4 @@ SUFFIXES += .$(APP_MAN_SUFFIX) .man
 EXTRA_DIST = Xvfb.man.pre
 
 relink:
-	rm -f Xvfb$(EXEEXT) && $(MAKE) Xvfb$(EXEEXT)
+	$(AM_V_at)rm -f Xvfb$(EXEEXT) && $(MAKE) Xvfb$(EXEEXT)
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
index 914e11f..116113b 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
@@ -114,7 +114,7 @@ CPP_FILES_FLAGS = \
 	-DMODULEPATH=\"$(DEFAULT_MODULE_PATH)\"
 
 relink:
-	rm -f Xorg && $(MAKE) Xorg
+	$(AM_V_at)rm -f Xorg && $(MAKE) Xorg
 
 xorg.conf.example.pre: xorgconf.cpp
 	cp $(srcdir)/xorgconf.cpp $@
diff --git a/hw/xnest/Makefile.am b/hw/xnest/Makefile.am
index 3e97490..877ab8b 100644
--- a/hw/xnest/Makefile.am
+++ b/hw/xnest/Makefile.am
@@ -89,4 +89,4 @@ SUFFIXES += .$(APP_MAN_SUFFIX) .man
 	$(LN_S) $< $@
 
 relink:
-	rm -f Xnest$(EXEEXT) && $(MAKE) Xnest$(EXEEXT)
+	$(AM_V_at)rm -f Xnest$(EXEEXT) && $(MAKE) Xnest$(EXEEXT)
diff --git a/hw/xwin/Makefile.am b/hw/xwin/Makefile.am
index 8bf6546..41a4515 100644
--- a/hw/xwin/Makefile.am
+++ b/hw/xwin/Makefile.am
@@ -222,4 +222,4 @@ EXTRA_DIST = \
 	xlaunch/window/wizard.h
 
 relink:
-	rm -f XWin$(EXEEXT) && $(MAKE) XWin$(EXEEXT)
+	$(AM_V_at)rm -f XWin$(EXEEXT) && $(MAKE) XWin$(EXEEXT)
commit fa7e062962d17862032bc600bfcffd486addb063
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Wed Mar 17 13:52:38 2010 -0500

    Use EXEEXT in relink rules for portable DDXs
    
    On Cygwin and MinGW, executables use the .exe suffix.  Autoconf and
    automake set EXEEXT on these platforms, and leave it empty on others
    where no suffix is used.  $(EXEEXT) must be appended to executable names
    in custom rules for portability:
    
    http://www.gnu.org/software/automake/manual/html_node/EXEEXT.html
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Alan Coopersmith <alan.coopersmith at sun.com>
    Reviewed-by: Julien Cristau <jcristau at debian.org>

diff --git a/hw/dmx/Makefile.am b/hw/dmx/Makefile.am
index 3c59320..1e3e5da 100644
--- a/hw/dmx/Makefile.am
+++ b/hw/dmx/Makefile.am
@@ -114,4 +114,4 @@ SUFFIXES = .$(APP_MAN_SUFFIX) .man
 EXTRA_DIST = $(appman_PRE)
 
 relink:
-	rm -f Xdmx && $(MAKE) Xdmx
+	rm -f Xdmx$(EXEEXT) && $(MAKE) Xdmx$(EXEEXT)
diff --git a/hw/vfb/Makefile.am b/hw/vfb/Makefile.am
index c5b49a3..c6601c2 100644
--- a/hw/vfb/Makefile.am
+++ b/hw/vfb/Makefile.am
@@ -49,4 +49,4 @@ SUFFIXES += .$(APP_MAN_SUFFIX) .man
 EXTRA_DIST = Xvfb.man.pre
 
 relink:
-	rm -f Xvfb && $(MAKE) Xvfb
+	rm -f Xvfb$(EXEEXT) && $(MAKE) Xvfb$(EXEEXT)
diff --git a/hw/xnest/Makefile.am b/hw/xnest/Makefile.am
index f95aab1..3e97490 100644
--- a/hw/xnest/Makefile.am
+++ b/hw/xnest/Makefile.am
@@ -89,4 +89,4 @@ SUFFIXES += .$(APP_MAN_SUFFIX) .man
 	$(LN_S) $< $@
 
 relink:
-	rm -f Xnest && $(MAKE) Xnest
+	rm -f Xnest$(EXEEXT) && $(MAKE) Xnest$(EXEEXT)
commit 037869d7b876f43158df88d63788b93a5d6187c1
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Wed Mar 17 13:48:49 2010 -0500

    kdrive: Use $(MAKE) in relink rules
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Mikhail Gusarov <dottedmag at dottedmag.net>
    Reviewed-by: Alan Coopersmith <alan.coopersmith at sun.com>
    Reviewed-by: Julien Cristau <jcristau at debian.org>

diff --git a/hw/kdrive/Makefile.am b/hw/kdrive/Makefile.am
index 906a14c..9e6c18e 100644
--- a/hw/kdrive/Makefile.am
+++ b/hw/kdrive/Makefile.am
@@ -27,4 +27,4 @@ SUBDIRS =			\
 DIST_SUBDIRS = fbdev ephyr src linux fake
 
 relink:
-	@for i in $(SERVER_SUBDIRS) ; do make -C $$i relink ; done
+	@for i in $(SERVER_SUBDIRS) ; do $(MAKE) -C $$i relink ; done
diff --git a/hw/kdrive/ephyr/Makefile.am b/hw/kdrive/ephyr/Makefile.am
index ec6f445..bd74791 100644
--- a/hw/kdrive/ephyr/Makefile.am
+++ b/hw/kdrive/ephyr/Makefile.am
@@ -81,7 +81,7 @@ Xephyr_DEPENDENCIES =	\
 Xephyr_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
 
 relink:
-	rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS)
+	rm -f $(bin_PROGRAMS) && $(MAKE) $(bin_PROGRAMS)
 
 MAN_SRCS = Xephyr.man.pre
 
diff --git a/hw/kdrive/fake/Makefile.am b/hw/kdrive/fake/Makefile.am
index be0fa42..6a5cedf 100644
--- a/hw/kdrive/fake/Makefile.am
+++ b/hw/kdrive/fake/Makefile.am
@@ -27,4 +27,4 @@ Xfake_DEPENDENCIES =	\
 	@KDRIVE_LOCAL_LIBS@
 
 relink:
-	rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS)
+	rm -f $(bin_PROGRAMS) && $(MAKE) $(bin_PROGRAMS)
diff --git a/hw/kdrive/fbdev/Makefile.am b/hw/kdrive/fbdev/Makefile.am
index 5d0ca3f..a1664ec 100644
--- a/hw/kdrive/fbdev/Makefile.am
+++ b/hw/kdrive/fbdev/Makefile.am
@@ -25,5 +25,5 @@ Xfbdev_DEPENDENCIES =	\
 Xfbdev_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
 
 relink:
-	rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS)
+	rm -f $(bin_PROGRAMS) && $(MAKE) $(bin_PROGRAMS)
 endif
commit 8e5de45513577c63a33833931f2afd0cc59d42a7
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Wed Feb 24 02:56:59 2010 -0600

    Use libtool -export-dynamic flag for portability
    
    The linker flag required for exporting symbols in executables varies
    by platform.  libtool handles this with a single -export-dynamic
    flag (not to be confused with the similarly-named ELF linker flag)
    which tells it to use the correct platform-specific flag at link time.
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Dan Nicholson <dbn.lists at gmail.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>

diff --git a/configure.ac b/configure.ac
index e497e76..d379b3a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1440,17 +1440,9 @@ UTILS_SYS_LIBS="${SYS_LIBS}"
 AC_SUBST([UTILS_SYS_LIBS])
 
 # The Xorg binary needs to export symbols so that they can be used from modules
-# Some platforms require extra flags to do this.   gcc should set these flags
-# when -rdynamic is passed to it, other compilers/linkers may need to be added
-# here.
-if test "x$GCC" = "xyes"; then
-       LD_EXPORT_SYMBOLS_FLAG="-rdynamic"
-fi
-case $host_os in
-       openbsd*)
-       LD_EXPORT_SYMBOLS_FLAG="-Wl,--export-dynamic"
-       ;;
-esac
+# Some platforms require extra flags to do this.   libtool should set the
+# necessary flags for each platform when -export-dynamic is passed to it.
+LD_EXPORT_SYMBOLS_FLAG="-export-dynamic"
 AC_SUBST([LD_EXPORT_SYMBOLS_FLAG])
 
 dnl Imake defines SVR4 on SVR4 systems, and many files check for it, so
commit 2a11ffa977d2267d8b2f27b76490a98e9c73b8c7
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Fri Feb 19 14:31:28 2010 -0600

    Rename xdmx client to dmxinfo
    
    The DMX Xdmx server and xdmx client cannot both be installed on
    case-insensitive file systems.  The client is undocumented and
    so renaming it is the best option.
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Keith Packard <keithp at keithp.com>

diff --git a/hw/dmx/examples/.gitignore b/hw/dmx/examples/.gitignore
index 5a86a71..d86e7eb 100644
--- a/hw/dmx/examples/.gitignore
+++ b/hw/dmx/examples/.gitignore
@@ -1,6 +1,7 @@
 #		Add & Override for this directory and it's subdirectories
 dmxaddinput
 dmxaddscreen
+dmxinfo
 dmxreconfig
 dmxresize
 dmxrminput
@@ -10,7 +11,6 @@ ev
 evi
 res
 xbell
-xdmx
 xinput
 xled
 xtest
diff --git a/hw/dmx/examples/Makefile.am b/hw/dmx/examples/Makefile.am
index d814339..229bb57 100644
--- a/hw/dmx/examples/Makefile.am
+++ b/hw/dmx/examples/Makefile.am
@@ -4,14 +4,14 @@ EV_PROG = ev
 endif
 
 bin_PROGRAMS = \
-	xdmx dmxwininfo dmxreconfig dmxresize \
+	dmxinfo dmxwininfo dmxreconfig dmxresize \
 	dmxaddscreen dmxrmscreen \
 	dmxaddinput dmxrminput
 noinst_PROGRAMS = xinput xtest evi res xled xbell $(EV_PROG)
 
-xdmx_SOURCES = xdmx.c
-xdmx_LDADD = @DMXEXAMPLES_DEP_LIBS@
-xdmx_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@
+dmxinfo_SOURCES = dmxinfo.c
+dmxinfo_LDADD = @DMXEXAMPLES_DEP_LIBS@
+dmxinfo_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@
 
 dmxwininfo_SOURCES = dmxwininfo.c
 dmxwininfo_LDADD = @DMXXMUEXAMPLES_DEP_LIBS@
diff --git a/hw/dmx/examples/dmxinfo.c b/hw/dmx/examples/dmxinfo.c
new file mode 100644
index 0000000..dedce6e
--- /dev/null
+++ b/hw/dmx/examples/dmxinfo.c
@@ -0,0 +1,239 @@
+/*
+ * Copyright 2001,2002 Red Hat Inc., Durham, North Carolina.
+ *
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation on the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial
+ * portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON-INFRINGEMENT.  IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+/*
+ * Authors:
+ *   Rickard E. (Rik) Faith <faith at redhat.com>
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <X11/Xlib.h>
+#include <X11/extensions/dmxext.h>
+
+static void indent(int level)
+{
+    int i;
+    for (i = 0; i < level; i++) printf("    ");
+}
+
+static void print_window_id(const char *displayName, Display *display,
+                            Window window, int level, int child)
+{
+    char                 *name;
+    
+    if (!XFetchName(display, window, &name)) name = NULL;
+    indent(level);
+    if (child) printf("(%d) ", child);
+    printf("%s window 0x%08lx: %s%s\n",
+           displayName,
+           (long unsigned)window,
+           name ? name : "",
+           (window == DefaultRootWindow(display))
+           ? " (DMX root window)" : "");
+    if (name) XFree(name);
+}
+
+static void print_info(Display *display, Window window, int level, int child)
+{
+    DMXWindowAttributes winfo[128];
+    int                 count;
+    int                 i;
+    
+    if (!DMXGetWindowAttributes(display, window, &count, 128, winfo)) {
+        printf("Could not get window information for 0x%08lx\n",
+               (long unsigned)window);
+        exit(-2);
+    }
+    printf("\n");
+    print_window_id("DMX", display, window, level, child);
+    for (i = 0; i < count; i++) {
+        DMXScreenAttributes  sinfo;
+        Display              *backend;
+
+        /* This could also be cached -- the information doesn't change. */
+        if (!DMXGetScreenAttributes(display, winfo[i].screen, &sinfo)) {
+            printf("Could not get screen information for screen %d\n", i);
+            exit(-2);
+        }
+        if (!(backend = XOpenDisplay(sinfo.displayName))) {
+            printf("Cannot open backend display %s\n", sinfo.displayName);
+            exit(-2);
+        }
+        XCloseDisplay(backend);
+        
+        indent(level+1);
+        printf("%s window 0x%08lx: %dx%d%+d%+d",
+               sinfo.displayName,
+               (long unsigned)winfo[i].window,
+               winfo[i].pos.width, winfo[i].pos.height,
+               winfo[i].pos.x, winfo[i].pos.y);
+        if (!winfo[i].vis.width
+            && !winfo[i].vis.height
+            && !winfo[i].vis.x
+            && !winfo[i].vis.y) printf(" not visible\n");
+        else if (winfo[i].vis.width == winfo[i].pos.width
+                 && winfo[i].vis.height == winfo[i].pos.height) {
+            printf( " %+d%+d\n", winfo[i].vis.x, winfo[i].vis.y);
+        } else {
+            printf( " %dx%d%+d%+d\n",
+                    winfo[i].vis.width, winfo[i].vis.height,
+                    winfo[i].vis.x, winfo[i].vis.y);
+        }
+    }
+}
+
+static void print_tree(Display *display, Window window, int level, int child)
+{
+    Window       root, parent;
+    Window       *list;
+    unsigned int count;
+    unsigned int i;
+
+    print_info(display, window, level, child);
+    
+    if (!XQueryTree(display, window, &root, &parent, &list, &count)) {
+        printf("Cannot query window tree for 0x%08lx\n",
+               (long unsigned)window);
+        exit(-3);
+    }
+
+    if (count) {
+        indent(level+1);
+        printf("%d child%s:\n", count, count > 1 ? "ren" : "");
+        for (i = 0; i < count; i++) {
+            print_tree(display, list[i], level+1, i+1);
+        }
+    }
+}
+
+static const char *core(DMXInputAttributes *iinfo)
+{
+    if (iinfo->isCore)         return "core";
+    else if (iinfo->sendsCore) return "extension (sends core)";
+    else                       return "extension";
+}
+
+int main(int argc, char **argv)
+{
+    Display              *display = NULL;
+    Window               window   = 0;
+    int                  event_base;
+    int                  error_base;
+    int                  major_version, minor_version, patch_version;
+    DMXScreenAttributes  sinfo;
+    DMXInputAttributes   iinfo;
+    int                  count;
+    int                  i;
+
+    if (argc == 2 || argc == 3) {
+        if (!(display = XOpenDisplay(argv[1]))) {
+            printf("Cannot open display %s\n", argv[1]);
+            return -1;
+        }
+        if (argc == 3) window = strtol(argv[2], NULL, 0);
+    } else {
+        printf("Usage: %s display [windowid]\n", argv[0]);
+        return -1;
+    }
+
+    if (!display && !(display = XOpenDisplay(NULL))) {
+        printf("Cannot open default display\n");
+        return -1;
+    }
+
+    if (!DMXQueryExtension(display, &event_base, &error_base)) {
+        printf("DMX extension not present\n");
+        return -1;
+    }
+    printf("DMX extension present: event_base = %d, error_base = %d\n",
+           event_base, error_base);
+
+    if (!DMXQueryVersion(display,
+                         &major_version, &minor_version, &patch_version)) {
+        printf("Could not get extension version\n");
+        return -1;
+    }
+    printf("Extension version: %d.%d patch %d\n",
+           major_version, minor_version, patch_version);
+
+    if (!DMXGetScreenCount(display, &count)) {
+        printf("Could not get screen count\n");
+        return -1;
+    }
+    printf("Screen count = %d\n", count);
+
+    for (i = 0; i < count; i++) {
+        if (!DMXGetScreenAttributes(display, i, &sinfo)) {
+            printf("Could not get screen information for %d\n", i);
+            return -1;
+        }
+        printf("%d: %s %ux%u+%d+%d %d @%dx%d (root: %dx%d%+d%+d)\n",
+               i, sinfo.displayName,
+               sinfo.screenWindowWidth, sinfo.screenWindowHeight,
+               sinfo.screenWindowXoffset, sinfo.screenWindowYoffset,
+               sinfo.logicalScreen,
+               sinfo.rootWindowXorigin, sinfo.rootWindowYorigin,
+               sinfo.rootWindowWidth, sinfo.rootWindowHeight,
+               sinfo.rootWindowXoffset, sinfo.rootWindowYoffset);
+    }
+
+    if (major_version == 1 && minor_version >= 1) {
+        if (!DMXGetInputCount(display, &count)) {
+            printf("Could not get input count\n");
+            return -1;
+        }
+        printf("Input count = %d\n", count);
+        for (i = 0; i < count; i++) {
+            if (!DMXGetInputAttributes(display, i, &iinfo)) {
+                printf("Could not get input information for id %d\n", i);
+                return -1;
+            }
+            switch (iinfo.inputType) {
+            case DMXLocalInputType:
+                printf("  %2d local   %-20.20s %s\n", i, "", core(&iinfo));
+                break;
+            case DMXConsoleInputType:
+                printf("  %2d console %-20.20s %s\n",
+                       i, iinfo.name, core(&iinfo));
+                break;
+            case DMXBackendInputType:
+                printf("  %2d backend %-20.20s id=%2d screen=%2d %s\n",
+                       i, iinfo.name, iinfo.physicalId, iinfo.physicalScreen,
+                       core(&iinfo));
+                break;
+            }
+        }
+    }
+
+    if (window) print_info(display, window, 0, 0);
+    else        print_tree(display, DefaultRootWindow(display), 0, 0);
+    
+    XCloseDisplay(display);
+    return 0;
+}
diff --git a/hw/dmx/examples/xdmx.c b/hw/dmx/examples/xdmx.c
deleted file mode 100644
index dedce6e..0000000
--- a/hw/dmx/examples/xdmx.c
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright 2001,2002 Red Hat Inc., Durham, North Carolina.
- *
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation on the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so,
- * subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial
- * portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NON-INFRINGEMENT.  IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/*
- * Authors:
- *   Rickard E. (Rik) Faith <faith at redhat.com>
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <X11/Xlib.h>
-#include <X11/extensions/dmxext.h>
-
-static void indent(int level)
-{
-    int i;
-    for (i = 0; i < level; i++) printf("    ");
-}
-
-static void print_window_id(const char *displayName, Display *display,
-                            Window window, int level, int child)
-{
-    char                 *name;
-    
-    if (!XFetchName(display, window, &name)) name = NULL;
-    indent(level);
-    if (child) printf("(%d) ", child);
-    printf("%s window 0x%08lx: %s%s\n",
-           displayName,
-           (long unsigned)window,
-           name ? name : "",
-           (window == DefaultRootWindow(display))
-           ? " (DMX root window)" : "");
-    if (name) XFree(name);
-}
-
-static void print_info(Display *display, Window window, int level, int child)
-{
-    DMXWindowAttributes winfo[128];
-    int                 count;
-    int                 i;
-    
-    if (!DMXGetWindowAttributes(display, window, &count, 128, winfo)) {
-        printf("Could not get window information for 0x%08lx\n",
-               (long unsigned)window);
-        exit(-2);
-    }
-    printf("\n");
-    print_window_id("DMX", display, window, level, child);
-    for (i = 0; i < count; i++) {
-        DMXScreenAttributes  sinfo;
-        Display              *backend;
-
-        /* This could also be cached -- the information doesn't change. */
-        if (!DMXGetScreenAttributes(display, winfo[i].screen, &sinfo)) {
-            printf("Could not get screen information for screen %d\n", i);
-            exit(-2);
-        }
-        if (!(backend = XOpenDisplay(sinfo.displayName))) {
-            printf("Cannot open backend display %s\n", sinfo.displayName);
-            exit(-2);
-        }
-        XCloseDisplay(backend);
-        
-        indent(level+1);
-        printf("%s window 0x%08lx: %dx%d%+d%+d",
-               sinfo.displayName,
-               (long unsigned)winfo[i].window,
-               winfo[i].pos.width, winfo[i].pos.height,
-               winfo[i].pos.x, winfo[i].pos.y);
-        if (!winfo[i].vis.width
-            && !winfo[i].vis.height
-            && !winfo[i].vis.x
-            && !winfo[i].vis.y) printf(" not visible\n");
-        else if (winfo[i].vis.width == winfo[i].pos.width
-                 && winfo[i].vis.height == winfo[i].pos.height) {
-            printf( " %+d%+d\n", winfo[i].vis.x, winfo[i].vis.y);
-        } else {
-            printf( " %dx%d%+d%+d\n",
-                    winfo[i].vis.width, winfo[i].vis.height,
-                    winfo[i].vis.x, winfo[i].vis.y);
-        }
-    }
-}
-
-static void print_tree(Display *display, Window window, int level, int child)
-{
-    Window       root, parent;
-    Window       *list;
-    unsigned int count;
-    unsigned int i;
-
-    print_info(display, window, level, child);
-    
-    if (!XQueryTree(display, window, &root, &parent, &list, &count)) {
-        printf("Cannot query window tree for 0x%08lx\n",
-               (long unsigned)window);
-        exit(-3);
-    }
-
-    if (count) {
-        indent(level+1);
-        printf("%d child%s:\n", count, count > 1 ? "ren" : "");
-        for (i = 0; i < count; i++) {
-            print_tree(display, list[i], level+1, i+1);
-        }
-    }
-}
-
-static const char *core(DMXInputAttributes *iinfo)
-{
-    if (iinfo->isCore)         return "core";
-    else if (iinfo->sendsCore) return "extension (sends core)";
-    else                       return "extension";
-}
-
-int main(int argc, char **argv)
-{
-    Display              *display = NULL;
-    Window               window   = 0;
-    int                  event_base;
-    int                  error_base;
-    int                  major_version, minor_version, patch_version;
-    DMXScreenAttributes  sinfo;
-    DMXInputAttributes   iinfo;
-    int                  count;
-    int                  i;
-
-    if (argc == 2 || argc == 3) {
-        if (!(display = XOpenDisplay(argv[1]))) {
-            printf("Cannot open display %s\n", argv[1]);
-            return -1;
-        }
-        if (argc == 3) window = strtol(argv[2], NULL, 0);
-    } else {
-        printf("Usage: %s display [windowid]\n", argv[0]);
-        return -1;
-    }
-
-    if (!display && !(display = XOpenDisplay(NULL))) {
-        printf("Cannot open default display\n");
-        return -1;
-    }
-
-    if (!DMXQueryExtension(display, &event_base, &error_base)) {
-        printf("DMX extension not present\n");
-        return -1;
-    }
-    printf("DMX extension present: event_base = %d, error_base = %d\n",
-           event_base, error_base);
-
-    if (!DMXQueryVersion(display,
-                         &major_version, &minor_version, &patch_version)) {
-        printf("Could not get extension version\n");
-        return -1;
-    }
-    printf("Extension version: %d.%d patch %d\n",
-           major_version, minor_version, patch_version);
-
-    if (!DMXGetScreenCount(display, &count)) {
-        printf("Could not get screen count\n");
-        return -1;
-    }
-    printf("Screen count = %d\n", count);
-
-    for (i = 0; i < count; i++) {
-        if (!DMXGetScreenAttributes(display, i, &sinfo)) {
-            printf("Could not get screen information for %d\n", i);
-            return -1;
-        }
-        printf("%d: %s %ux%u+%d+%d %d @%dx%d (root: %dx%d%+d%+d)\n",
-               i, sinfo.displayName,
-               sinfo.screenWindowWidth, sinfo.screenWindowHeight,
-               sinfo.screenWindowXoffset, sinfo.screenWindowYoffset,
-               sinfo.logicalScreen,
-               sinfo.rootWindowXorigin, sinfo.rootWindowYorigin,
-               sinfo.rootWindowWidth, sinfo.rootWindowHeight,
-               sinfo.rootWindowXoffset, sinfo.rootWindowYoffset);
-    }
-
-    if (major_version == 1 && minor_version >= 1) {
-        if (!DMXGetInputCount(display, &count)) {
-            printf("Could not get input count\n");
-            return -1;
-        }
-        printf("Input count = %d\n", count);
-        for (i = 0; i < count; i++) {
-            if (!DMXGetInputAttributes(display, i, &iinfo)) {
-                printf("Could not get input information for id %d\n", i);
-                return -1;
-            }
-            switch (iinfo.inputType) {
-            case DMXLocalInputType:
-                printf("  %2d local   %-20.20s %s\n", i, "", core(&iinfo));
-                break;
-            case DMXConsoleInputType:
-                printf("  %2d console %-20.20s %s\n",
-                       i, iinfo.name, core(&iinfo));
-                break;
-            case DMXBackendInputType:
-                printf("  %2d backend %-20.20s id=%2d screen=%2d %s\n",
-                       i, iinfo.name, iinfo.physicalId, iinfo.physicalScreen,
-                       core(&iinfo));
-                break;
-            }
-        }
-    }
-
-    if (window) print_info(display, window, 0, 0);
-    else        print_tree(display, DefaultRootWindow(display), 0, 0);
-    
-    XCloseDisplay(display);
-    return 0;
-}
commit fbb4903eaa23174d21ab8c640d9de1fe3eb17539
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Sun Feb 21 02:08:08 2010 -0600

    Cygwin/X: Fix windres rule for automake silent rules
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Rémi Cardona <rem at gentoo.org>
    Reviewed-by: Keith Packard <keithp at keithp.com>

diff --git a/hw/xwin/Makefile.am b/hw/xwin/Makefile.am
index daba679..8bf6546 100644
--- a/hw/xwin/Makefile.am
+++ b/hw/xwin/Makefile.am
@@ -150,7 +150,7 @@ XWin_DEPENDENCIES = $(XWIN_LIBS)
 XWin_LDADD = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XWIN_SYS_LIBS)
 
 .rc.o:
-	$(WINDRES) --use-temp-file -i $< --input-format=rc -o $@ -O coff -I $(top_builddir)/include
+	$(AM_V_GEN)$(WINDRES) --use-temp-file -i $< --input-format=rc -o $@ -O coff -I $(top_builddir)/include
 
 XWin_LDFLAGS = -mwindows -static
 
commit 8db894690988f2bac9c0acb96fd39811d2b42f47
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Fri Feb 19 00:05:28 2010 -0600

    Cygwin/X: Fix make dist after 11252ed82e1f361b99e86521ac9314f868bd1a3a
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Acked-by: Adam Jackson <ajax at redhat.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>

diff --git a/hw/xwin/Makefile.am b/hw/xwin/Makefile.am
index fbaf092..daba679 100644
--- a/hw/xwin/Makefile.am
+++ b/hw/xwin/Makefile.am
@@ -197,6 +197,7 @@ include $(top_srcdir)/cpprules.in
 EXTRA_DIST = \
 	$(GLX_EXTRAS) \
 	$(MAN_SRCS) \
+	$(xwinconfig_DATA) \
 	X.ico \
 	XWin.rc \
 	xlaunch/config.cc \
commit 13c007f9224ad871193e40466e64df1477ed26b0
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Mar 21 17:23:46 2010 -0700

    Bump to 1.7.99.902 -- 1.8 RC2

diff --git a/configure.ac b/configure.ac
index 065016f..e497e76 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,8 +26,8 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.7.99.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2010-02-12"
+AC_INIT([xorg-server], 1.7.99.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2010-03-21"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE


More information about the Xquartz-changes mailing list