libxinerama: Changes to 'upstream-unstable'
.gitignore | 1
ChangeLog | 46 -------------------
Makefile.am | 14 +++++
configure.ac | 12 ++++-
man/Makefile.am | 73 ++++++++++++++++++++++++++++++
man/Xinerama.man | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/Makefile.am | 8 +++
src/Xinerama.c | 7 +-
8 files changed, 239 insertions(+), 53 deletions(-)
New commits:
commit 583d26d583bb0034ff91119ceefc08df64fbbc46
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Fri Mar 16 16:26:41 2007 -0700
Version bump: 1.0.2
diff --git a/configure.ac b/configure.ac
index 0748511..c1c9844 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ dnl Process this file with autoconf to create configure.
AC_PREREQ([2.57])
-AC_INIT(libXinerama, 1.0.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libXinerama)
+AC_INIT(libXinerama, 1.0.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libXinerama)
AM_INIT_AUTOMAKE([dist-bzip2])
AM_MAINTAINER_MODE
commit 96c081ed52e3437ede0062eb7ccfb520879cbc0e
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Fri Mar 16 16:22:21 2007 -0700
Replace static ChangeLog with dist-hook to generate from git log
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index 7df260f..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,46 +0,0 @@
-2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
-
- * configure.ac:
- Update package version for X11R7 release.
-
-2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
-
- * configure.ac:
- Update package version number for final X11R7 release candidate.
-
-2005-12-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
-
- * configure.ac:
- Update package version number for X11R7 RC3 release.
-
-2005-12-02 Kevin E. Martin <kem-at-freedesktop-dot-org>
-
- * configure.ac:
- * src/Makefile.am:
- Add check and cflags for malloc(0) returning NULL.
-
-2005-11-19 Kevin E. Martin <kem-at-freedesktop-dot-org>
-
- * xinerama.pc.in:
- Update pkgconfig files to separate library build-time dependencies
- from application build-time dependencies.
-
-2005-10-18 Kevin E. Martin <kem-at-freedesktop-dot-org>
-
- * configure.ac:
- Update package version number for RC1 release.
-
-2005-07-08 Keith Packard <keithp@keithp.com>
-
- * .cvsignore:
- * src/.cvsignore:
- Add .cvsignore files
- Switch _la_CFLAGS for AM_CFLAGS to clean up directory
-
-2005-06-21 Alexander Gottwald <ago at freedesktop dot org>
-
- * configure.ac
- * src/Makefile.am
- Add missing xext.pc and xextproto.pc
- Add DEPS_CFLAGS to Makefile.am
-
diff --git a/Makefile.am b/Makefile.am
index 1d1b515..7642d24 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -24,7 +24,13 @@ SUBDIRS = src man
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = xinerama.pc
-EXTRA_DIST = xinerama.pc.in autogen.sh
+EXTRA_DIST = xinerama.pc.in autogen.sh ChangeLog
+MAINTAINERCLEANFILES = ChangeLog
+
+ChangeLog:
+ (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+
+dist-hook: ChangeLog
if LINT
lint:
commit 1a5b5c7e5f603528ff69468f8d6d73e2e30442a5
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Thu Mar 1 16:56:14 2007 -0800
Add man page for Xinerama API functions
diff --git a/Makefile.am b/Makefile.am
index d830939..1d1b515 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,7 +19,7 @@
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-SUBDIRS = src
+SUBDIRS = src man
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = xinerama.pc
diff --git a/configure.ac b/configure.ac
index e47de85..0748511 100644
--- a/configure.ac
+++ b/configure.ac
@@ -47,8 +47,10 @@ XORG_WITH_LINT
LINT_FLAGS="${LINT_FLAGS} ${XINERAMA_CFLAGS}"
XORG_CHECK_MALLOC_ZERO
+XORG_MANPAGE_SECTIONS
XORG_RELEASE_VERSION
AC_OUTPUT([Makefile
src/Makefile
+ man/Makefile
xinerama.pc])
diff --git a/man/Makefile.am b/man/Makefile.am
new file mode 100644
index 0000000..18eee50
--- /dev/null
+++ b/man/Makefile.am
@@ -0,0 +1,73 @@
+#
+# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation.
+#
+# The above copyright notice and this permission notice 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 OPEN GROUP 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.
+#
+# Except as contained in this notice, the name of the copyright holders shall
+# not be used in advertising or otherwise to promote the sale, use or
+# other dealings in this Software without prior written authorization
+# from the copyright holders.
+#
+
+libmandir = $(LIB_MAN_DIR)
+
+LIB_MAN_DIR_SUFFIX = $(LIB_MAN_DIR:@mandir@/man%=%)
+
+libman_PRE = Xinerama.man
+
+BUILT_SOURCES = shadows.DONE
+
+EXTRA_DIST = $(libman_PRE)
+
+CLEANFILES = $(libman_DATA) $(BUILT_SOURCES)
+
+libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@) \
+ $(Xinerama_shadows:=.@LIB_MAN_SUFFIX@)
+
+SED = sed
+
+# Strings to replace in man pages
+XORGRELSTRING = @PACKAGE_STRING@
+ XORGMANNAME = X Version 11
+
+MAN_SUBSTS = \
+ -e 's/__vendorversion__/"$(XORGRELSTRING)" "$(XORGMANNAME)"/' \
+ -e 's/__xservername__/Xorg/g' \
+ -e 's/__xconfigfile__/xorg.conf/g' \
+ -e 's/__appmansuffix__/$(APP_MAN_SUFFIX)/g' \
+ -e 's/__libmansuffix__/$(LIB_MAN_SUFFIX)/g' \
+ -e 's/__filemansuffix__/$(FILE_MAN_SUFFIX)/g'
+
+SUFFIXES = .$(LIB_MAN_SUFFIX) .man
+
+.man.$(LIB_MAN_SUFFIX):
+ sed $(MAN_SUBSTS) < $< > $@
+
+# Generate man page shadow files (Replaces InstallManPageAliases from Imake)
+
+Xinerama_shadows = \
+ XineramaQueryExtension \
+ XineramaQueryVersion \
+ XineramaIsActive \
+ XineramaQueryScreens
+
+shadows.DONE:
+ -rm -f $(Xinerama_shadows:=.@LIB_MAN_SUFFIX@)
+ (for i in $(Xinerama_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/Xinerama.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
diff --git a/man/Xinerama.man b/man/Xinerama.man
new file mode 100644
index 0000000..d6b5be7
--- /dev/null
+++ b/man/Xinerama.man
@@ -0,0 +1,131 @@
+.\"
+.\"
+.\" Copyright © 2007 Sun Microsystems, Inc. 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 the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" 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
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.\"
+.de TQ
+.br
+.ns
+.TP \\$1
+..
+.TH XINERAMA __libmansuffix__ __vendorversion__
+.SH NAME
+Xinerama \- API for Xinerama extension to X11 Protocol
+.SH SYNOPSIS
+\&#include <X11/extensions/Xinerama.h>
+.nf
+.sp
+Bool XineramaQueryExtension \^(\^Display *\fIdpy\fP,
+ int *\fIevent_basep\fP, int *\fIerror_basep\fP\^);
+.sp
+Status XineramaQueryVersion \^(\^Display *\fIdpy\fP,
+ int *\fImajor_versionp\fP,
+ int *\fIminor_versionp\fP\^);
+.sp
+Bool XineramaIsActive \^(\^Display *\fIdpy\fP\^);
+.sp
+XineramaScreenInfo * XineramaQueryScreens \^(\^Display *\fIdpy\fP,
+ int *\fInumber\fP\^);
+.fi
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIevent_basep\fP 1i
+Specifies the return location for the assigned base event code
+.IP \fIerror_basep\fP 1i
+Specifies the return location for the assigned base error code
+.IP \fImajor_versionp\fP 1i
+Returns the major version supported by the server
+.IP \fIminor_versionp\fP 1i
+Returns the minor version supported by the server
+.IP \fInumber\fP 1i
+Returns the number of entries in the returned XineramaScreenInfo array.
+.SH DESCRIPTION
+.B Xinerama
+is a simple library designed to interface the Xinerama Extension for
+retrieving information about physical output devices which may be combined
+into a single logical X screen.
+
+.SH FUNCTIONS
+
+.SS \fBXineramaQueryExtension()\fR
+
+.LP
+The XineramaQueryExtension function queries the Xserver to determine the
+availability of the Xinerama Extension. If the extension is available, the
+return value is True, and event_base and error_base are set to the base event
+number and base error number for the extension, respectively. Otherwise, the
+return value is False, and the values of event_base and error_base are
+undefined.
+.sp
+
+.SS \fBXineramaQueryVersion()\fR
+
+.LP
+The XineramaQueryVersion function returns the version of the Xinerama extension
+implemented by the Xserver. The version is returned in major_versionp and
+minor_versionp. The major version will be incremented for protocol
+incompatible changes, and the minor version will be incremented for small,
+upwardly compatible changes.
+.LP
+If the Xinerama library is compatible with the version returned by the
+server, it returns nonzero. If the server does not support the
+XINERAMA extension, or if there was an error during communications
+with the server, or if the server and library protocol versions are
+incompatible, it returns zero.
+.sp
+
+.SS \fBXineramaIsActive()\fR
+
+.LP
+The XineramaActive function returns a Boolean operator used to determine if
+Xinerama is activated on the screen. Returns True for active and False for
+not active.
+.sp
+
+.SS \fBXineramaQueryScreens()\fR
+
+.LP
+The \fBXineramaQueryScreens()\fR function returns info about each
+individual output device within the Xinerama Screen. The integer
+pointed to by the \fInumber\fR argument is updated to the number of
+output devices listed in the returned array of \fIXineramaScreenInfo\fR
+structures. \fBXineramaQueryScreens()\fR returns NULL and sets \fInumber\fR
+to 0 if Xinerama is not active.
+
+The pointer returned should be released with XFree(__libmansuffix__)
+when no longer needed.
+.sp
+
+.SH NOTE
+The original API provided for interacting with the XINERAMA extension used
+function names beginning with \fIXPanoramiX\fR. That API is now deprecated
+and this API should be used instead in new software.
+
+
+
commit 0062a3f12535043fd8d2dc70f41bd45fa6e8b495
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Thu Mar 1 15:41:55 2007 -0800
Remove unneeded #include of <stdio.h>
diff --git a/src/Xinerama.c b/src/Xinerama.c
index 8da4dcf..fa2b197 100644
--- a/src/Xinerama.c
+++ b/src/Xinerama.c
@@ -267,8 +267,6 @@ Bool XineramaIsActive(Display *dpy)
return rep.state;
}
-#include <stdio.h>
-
XineramaScreenInfo *
XineramaQueryScreens(
Display *dpy,
commit 36a4a6f58b95ce244741df939cccef4733d80b03
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Thu Feb 15 19:06:14 2007 -0800
Clear sparse warnings & error
Xinerama.c:56:5: warning: incorrect type in initializer (incompatible argument 1 (different types))
Xinerama.c:68:8: error: symbol 'close_display' redeclared with different type (originally declared at Xinerama.c:48) - incompatible argument 1 (different types)
Xinerama.c:283:5: warning: Using plain integer as NULL pointer
diff --git a/src/Xinerama.c b/src/Xinerama.c
index 43084b2..8da4dcf 100644
--- a/src/Xinerama.c
+++ b/src/Xinerama.c
@@ -45,7 +45,8 @@ static /* const */ char *panoramiX_extension_name = PANORAMIX_PROTOCOL_NAME;
#define PanoramiXSimpleCheckExtension(dpy,i) \
XextSimpleCheckExtension (dpy, i, panoramiX_extension_name)
-static int close_display();
+static int close_display(Display *dpy, XExtCodes *codes);
+
static /* const */ XExtensionHooks panoramiX_extension_hooks = {
NULL, /* create_gc */
NULL, /* copy_gc */
@@ -279,7 +280,7 @@ XineramaQueryScreens(
xXineramaQueryScreensReq *req;
XineramaScreenInfo *scrnInfo = NULL;
- PanoramiXCheckExtension (dpy, info, 0);
+ PanoramiXCheckExtension (dpy, info, NULL);
LockDisplay (dpy);
GetReq (XineramaQueryScreens, req);
commit c98be137c711235fe5bff430e93222d2a47b5e6a
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Thu Feb 15 18:59:53 2007 -0800
Add support for source code checkers such as sparse & lint
diff --git a/Makefile.am b/Makefile.am
index 5ba56df..d830939 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -26,3 +26,7 @@ pkgconfig_DATA = xinerama.pc
EXTRA_DIST = xinerama.pc.in autogen.sh
+if LINT
+lint:
+ (cd src && $(MAKE) $(MFLAGS) lint)
+endif LINT
diff --git a/configure.ac b/configure.ac
index e4f8ed9..e47de85 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,6 +28,10 @@ AM_MAINTAINER_MODE
AM_CONFIG_HEADER(config.h)
+# Require xorg-macros version 1.1.0 or newer for XORG_WITH_LINT macro
+m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later])])
+XORG_MACROS_VERSION(1.1)
+
# Check for progs
AC_PROG_CC
AC_PROG_LIBTOOL
@@ -37,6 +41,10 @@ PKG_CHECK_MODULES(XINERAMA, x11 xext xextproto xineramaproto)
AC_SUBST(XINERAMA_CFLAGS)
AC_SUBST(XINERAMA_LIBS)
+
+dnl Allow checking code with lint, sparse, etc.
+XORG_WITH_LINT
+LINT_FLAGS="${LINT_FLAGS} ${XINERAMA_CFLAGS}"
XORG_CHECK_MALLOC_ZERO
XORG_RELEASE_VERSION
diff --git a/src/Makefile.am b/src/Makefile.am
index 098ff05..7d718d4 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -7,3 +7,11 @@ libXinerama_la_SOURCES = \
libXinerama_la_LIBADD = $(XINERAMA_LIBS)
libXinerama_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+
+if LINT
+ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS)
+
+lint:
+ $(LINT) $(ALL_LINT_FLAGS) $(libXinerama_la_SOURCES) $(XINERAMA_LIBS)
+endif LINT
commit 269885f05a4aed0eb3ee192217fa8ec6494f90c5
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Thu Feb 15 18:55:38 2007 -0800
Add *~ to .gitignore to skip over emacs/patch droppings
diff --git a/.gitignore b/.gitignore
index 4e7a527..c79a22f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,4 @@ missing
mkinstalldirs
stamp-h1
xinerama.pc
+*~
Reply to: