aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-09-16 08:40:57 +0200
committermarha <marha@users.sourceforge.net>2011-09-16 08:40:57 +0200
commit9d911bc1246139019e555f443e934677a067bc0a (patch)
tree2af1428f59f88fbcbe4e0ed27a29ff9f3426210a
parent4095d7af9f50126361eb7b0aeba6869786f63d5c (diff)
parent18ae1470a8dbcfe369ddf0d7e17e0ea665251ccd (diff)
downloadvcxsrv-9d911bc1246139019e555f443e934677a067bc0a.tar.gz
vcxsrv-9d911bc1246139019e555f443e934677a067bc0a.tar.bz2
vcxsrv-9d911bc1246139019e555f443e934677a067bc0a.zip
Merge remote-tracking branch 'origin/released'
-rw-r--r--X11/extensions/AUTHORS2
-rw-r--r--X11/extensions/COPYING201
-rw-r--r--X11/extensions/ChangeLog675
-rw-r--r--X11/extensions/INSTALL0
-rw-r--r--X11/extensions/Makefile.am59
-rw-r--r--X11/extensions/NEWS2
-rw-r--r--X11/extensions/README42
-rw-r--r--X11/extensions/aclocal.m42352
-rw-r--r--X11/extensions/autogen.sh12
-rw-r--r--X11/extensions/configure6811
-rw-r--r--X11/extensions/configure.ac19
-rw-r--r--X11/extensions/docbook.am97
-rw-r--r--X11/extensions/install-sh520
-rw-r--r--X11/extensions/missing376
-rw-r--r--X11/extensions/mkinstalldirs111
-rw-r--r--libXdmcp/doc/xdmcp.xml7813
-rw-r--r--libXdmcp/docbook.am112
-rw-r--r--libXext/specs/dbelib.xml8
-rw-r--r--libXext/specs/dpmslib.xml8
-rw-r--r--libXext/specs/synclib.xml16
-rw-r--r--libXext/specs/xtest1.xml2
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_format.c94
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_format.h19
-rw-r--r--mesalib/src/mesa/main/dlist.c15
-rw-r--r--mesalib/src/mesa/main/drawpix.c2
-rw-r--r--mesalib/src/mesa/state_tracker/st_cb_texture.c7
-rw-r--r--xorg-server/xkeyboard-config/symbols/cm30
27 files changed, 4134 insertions, 15271 deletions
diff --git a/X11/extensions/AUTHORS b/X11/extensions/AUTHORS
deleted file mode 100644
index 78b329f13..000000000
--- a/X11/extensions/AUTHORS
+++ /dev/null
@@ -1,2 +0,0 @@
-Keith Packard, HP
-Eric Anholt, Intel
diff --git a/X11/extensions/COPYING b/X11/extensions/COPYING
deleted file mode 100644
index 23135f95a..000000000
--- a/X11/extensions/COPYING
+++ /dev/null
@@ -1,201 +0,0 @@
-Copyright 1989, 1998 The Open Group
-
-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 Open Group 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 Open Group.
-
-
-Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc.
-Permission to use, copy, modify, and distribute this
-software and its documentation for any purpose and without
-fee is hereby granted, provided that the above copyright
-notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting
-documentation, and that the name of Silicon Graphics not be
-used in advertising or publicity pertaining to distribution
-of the software without specific prior written permission.
-Silicon Graphics makes no representation about the suitability
-of this software for any purpose. It is provided "as is"
-without any express or implied warranty.
-SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
-SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
-GRAPHICS BE LIABLE FOR 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.
-
-
-Copyright 1992 Network Computing Devices
-
-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, and that the name of NCD. not be used in advertising or
-publicity pertaining to distribution of the software without specific,
-written prior permission. NCD. makes no representations about the
-suitability of this software for any purpose. It is provided "as is"
-without express or implied warranty.
-
-NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
-BE LIABLE FOR 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.
-
-
-Copyright (c) 1994, 1995 Hewlett-Packard Company
-
-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 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 HEWLETT-PACKARD COMPANY 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 Hewlett-Packard
-Company 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 Hewlett-Packard Company.
-
-
-Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts.
-
-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.
-
-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
-DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
-BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL 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 Digital Equipment Corporation
-shall not be used in advertising or otherwise to promote the sale, use or other
-dealings in this Software without prior written authorization from Digital
-Equipment Corporation.
-
-
-Copyright 1988, 1989, 1990, 1994 Network Computing Devices, Inc.
-
-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, and that the name Network Computing Devices, Inc. not be
-used in advertising or publicity pertaining to distribution of this
-software without specific, written prior permission.
-
-THIS SOFTWARE IS PROVIDED `AS-IS'. NETWORK COMPUTING DEVICES, INC.,
-DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT
-LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
-PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT SHALL NETWORK
-COMPUTING DEVICES, INC., BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING
-SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS OF USE,
-DATA, OR PROFITS, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND
-REGARDLESS OF WHETHER IN AN ACTION IN CONTRACT, TORT OR NEGLIGENCE,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-
-Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
-and Olivetti Research Limited, Cambridge, England.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the names of Digital or Olivetti
-not be used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
-SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR 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.
-
-
-Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation
-
-Permission to use, copy, modify, and distribute this
-software and its documentation for any purpose and without
-fee is hereby granted, provided that the above copyright
-notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting
-documentation, and that the name of Hewlett-Packard not be used in
-advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-Hewlett-Packard makes no representations about the
-suitability of this software for any purpose. It is provided
-"as is" without express or implied warranty.
-
-This software is not subject to any license of the American
-Telephone and Telegraph Company or of the Regents of the
-University of California.
-
-
-Copyright © 2007-2008 Peter Hutterer
-
-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.
diff --git a/X11/extensions/ChangeLog b/X11/extensions/ChangeLog
deleted file mode 100644
index 716313832..000000000
--- a/X11/extensions/ChangeLog
+++ /dev/null
@@ -1,675 +0,0 @@
-commit 35741d9dc745532dc4af37cc07e256392e3880da
-Author: Gaetan Nadon <memsize@videotron.ca>
-Date: Tue Aug 3 11:03:49 2010 -0400
-
- specs: convert protocol geproto.txt to DocBook XML
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit 260da6ca1dec9abde11c064d0aeac01f695a1596
-Author: Matt Dew <matt@osource.org>
-Date: Mon Aug 2 15:10:04 2010 -0400
-
- specs: convert protocol xtest.ms from xorg-docs to DocBook XML
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit 4240526710d837cf06502521ee58c6a4538c6c0e
-Author: Matt Dew <matt@osource.org>
-Date: Mon Aug 2 13:43:32 2010 -0400
-
- specs: convert protocol buffer.ms from xorg-docs to DocBook XML
-
- multibuf.xml
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit c86700c0c87de8d6ec7f085d06e9a48558bb5118
-Author: Matt Dew <matt@osource.org>
-Date: Mon Aug 2 13:35:26 2010 -0400
-
- specs: convert protocol evi.ms from xorg-docs to DocBook XML
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit f825b85bd8bde4b78c6e3d0b05b713e6f48a2ff5
-Author: Matt Dew <matt@osource.org>
-Date: Mon Aug 2 13:28:07 2010 -0400
-
- specs: convert protocol appgroup.ms from xorg-docs to DocBook XML
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit 99a5fde423a301167cb825edbf718de7af9f1158
-Author: Matt Dew <matt@osource.org>
-Date: Mon Aug 2 13:21:31 2010 -0400
-
- specs: convert protocol tog-cup.ms from xorg-docs to DocBook XML
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit fc2c585ab9bfe0815a917c897e0b463bf04f8475
-Author: Matt Dew <matt@osource.org>
-Date: Mon Aug 2 10:46:54 2010 -0400
-
- specs: convert protocol dpms.ms specs from xorg-docs module to DocBook XML
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit 7c9b2197cbb0f787b6330243eb777f612251064d
-Author: Matt Dew <matt@osource.org>
-Date: Mon Aug 2 10:40:47 2010 -0400
-
- specs: convert protocol shm.ms specs from xorg-docs module to DocBook XML
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit cf083a0d35da6665b2aebc6eea4f65009c32411b
-Author: Matt Dew <matt@osource.org>
-Date: Sun Aug 1 20:41:48 2010 -0400
-
- specs: convert protocol shape.ms specs from xorg-docs module to DocBook XML
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit 69996150256954ef71c45ee7727fea96e02f8db2
-Author: Gaetan Nadon <memsize@videotron.ca>
-Date: Wed Jun 30 13:39:21 2010 -0400
-
- specs: move geproto.txt in the specs directory
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit 3f1718e39c73475fb8384e61b6dc78f313d926f9
-Author: Matt Dew <matt@osource.org>
-Date: Wed Jun 30 13:21:28 2010 -0400
-
- specs: convert protocol .ms specs from xorg-docs module to DocBook XML
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit c4595fad1d79c0957d3f4dff6ef56d72ae8cc38d
-Author: Aaron Plattner <aplattner@nvidia.com>
-Date: Tue Mar 30 09:54:26 2010 -0700
-
- XGE: Don't reserve an extension event.
-
- The Generic Event Extension extension uses the "GenericEvent" core event type,
- so it doesn't need to also reserve an extension event.
-
- Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
- Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-commit 5f2cc1e2b99d45a612204a86583abb386907be04
-Author: Gaetan Nadon <memsize@videotron.ca>
-Date: Sun Mar 28 19:25:52 2010 -0400
-
- config: update AC_PREREQ statement to 2.60
-
- Unrelated to the previous patches, the new value simply reflects
- the reality that the minimum level for autoconf to configure
- all x.org modules is 2.60 dated June 2006.
-
- ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit 21f7dc38add3bda551216a0fa6319d9f3f9af99a
-Author: Gaetan Nadon <memsize@videotron.ca>
-Date: Sun Mar 28 19:00:31 2010 -0400
-
- config: remove the pkgconfig pc.in file from EXTRA_DIST
-
- Automake always includes it in the tarball.
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit 650615405c327398b5708787bc19198cbb864d20
-Author: Gaetan Nadon <memsize@videotron.ca>
-Date: Sun Mar 28 17:51:29 2010 -0400
-
- config: install and distribute geproto.txt
-
- It will now be installed in $docdir in addition
- to being distributed in the tarball.
-
- Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-
-commit 37f6affde561251df61c7011f9d1d83b006d2fbe
-Author: Gaetan Nadon <memsize@videotron.ca>
-Date: Sun Nov 22 19:24:48 2009 -0500
-
- Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES
-
- Now that the INSTALL file is generated.
- Allows running make maintainer-clean.
-
-commit e9fa939ef8515bca5f8cde85a91b3ae0ae456de7
-Author: Gaetan Nadon <memsize@videotron.ca>
-Date: Mon Nov 16 11:13:30 2009 -0500
-
- README: file created or updated #24206
-
- Contains a set of URLs to freedesktop.org.
-
-commit 3690603986929a706acd76fc0b33132fe0178129
-Author: Gaetan Nadon <memsize@videotron.ca>
-Date: Sun Nov 15 19:45:27 2009 -0500
-
- Makefile.am: ChangeLog not required: EXTRA_DIST or *CLEANFILES #24432
-
- ChangeLog filename is known to Automake and requires no further
- coding in the makefile.
-
-commit e52cb6ef1baa65c1688b3160727214efae57b0e2
-Author: Gaetan Nadon <memsize@videotron.ca>
-Date: Sun Nov 15 18:31:29 2009 -0500
-
- Makefile.am: INSTALL file is missing or incorrect #24206
-
- The standard GNU file on building/installing tarball is copied
- using the XORG_INSTALL macro contained in XORG_DEFAULT_OPTIONS
- Add INSTALL target
-
-commit bfaecf2a80ef1bcbfa6243fdb1bfc2e335f86a10
-Author: Gaetan Nadon <memsize@videotron.ca>
-Date: Sun Nov 15 18:11:36 2009 -0500
-
- configure.ac: deploy the new XORG_DEFAULT_OPTIONS #24242
-
- This macro aggregate a number of existing macros that sets commmon
- X.Org components configuration options. It shields the configuration file from
- future changes.
-
-commit 182e739d8ff1f9bb8ddb8fcff8737dabde96c47f
-Author: Gaetan Nadon <memsize@videotron.ca>
-Date: Sun Nov 15 13:55:25 2009 -0500
-
- configure.ac: AM_MAINTAINER_MODE missing #24238
-
- This turns off maintainer mode build rules in tarballs.
- Works in conjunction with autogen.sh --enable-maintainer-mode
-
-commit 4b0b3afee88fdefaab2d9aa690dc5dc465964316
-Author: Gaetan Nadon <memsize@videotron.ca>
-Date: Sat Nov 14 18:26:47 2009 -0500
-
- .gitignore: use common defaults with custom section # 24239
-
- Using common defaults will reduce errors and maintenance.
- Only the very small or inexistent custom section need periodic maintenance
- when the structure of the component changes. Do not edit defaults.
-
-commit 9d5e140111ef0e7e0c9d30d7e0acf8c43a248816
-Author: Keith Packard <keithp@keithp.com>
-Date: Tue Nov 3 14:41:33 2009 -0800
-
- Allow old servers to build with new headers
-
- This provides header compatibility back to X server version 1.6 at
- least (that's all I tested).
-
- Signed-off-by: Keith Packard <keithp@keithp.com>
- Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-commit 987aeb9bd1915a655f31e250ee9c02d04927b150
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Tue Aug 25 09:30:15 2009 +1000
-
- xextproto 7.1.1
-
-commit 55a0bbdde9b27b8dbc6e75d41c51af3f92dea6e3
-Author: Eduard Bagrov <ebagrov@linuxtesting.org>
-Date: Fri Aug 21 18:48:19 2009 +0200
-
- Fix XSyncValueSubtract typo
-
- X.Org bug#23438 <http://bugs.freedesktop.org/show_bug.cgi?id=23438>
-
- Signed-off-by: Julien Cristau <jcristau@debian.org>
-
-commit 23ac4d5235862d51f0cfb080ad2118a9fb181673
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Wed Aug 5 15:09:11 2009 +1000
-
- xextproto 7.1.0
-
-commit 5ffa318ddb35308e3a87122bfb3944e3201532ba
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Wed Aug 5 15:06:52 2009 +1000
-
- lbxproto: remove debug macro and definition of lbxDebug.
-
- This should not be in the protocol headers.
-
- Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-commit 5a266968b1ced367df1a47dc9729313c85be0516
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Wed Jul 22 20:26:35 2009 +1000
-
- Bump to 7.0.99.3
-
- Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-commit d7ead7a591da851f6bb2efecdd35b63836df4ed0
-Author: Magnus Kessler <Magnus.Kessler@gmx.net>
-Date: Wed Jul 22 09:37:38 2009 +0100
-
- Rename xtest.h to xtestconst.h to avoid a collision with XTest.h on case-insensitive filesystems
-
- Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-commit 2fd05eca7dd501c58b284d9cceb73d6146672b0a
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Tue Jul 21 13:35:58 2009 +1000
-
- Bump to 7.0.99.2
-
- Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-commit a049c37f789f881fad09e60a061488cba2b4072e
-Author: Jon TURNEY <jon.turney@dronecode.org.uk>
-Date: Mon Jul 20 22:42:59 2009 +0100
-
- Rename mitmisc.h to mitmiscconst.h to avoid a collision with MITMisc.h on case-insensitive filesystems
-
- Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-commit 609c3b03fbed24f05d636d98dad9febc7226624c
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Wed Jul 15 16:28:12 2009 +1000
-
- Remove RCS tags.
-
-commit 6e9e47edf97a0bb504b4b65f5ef066f3d5e3d34b
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Wed Jul 15 16:20:13 2009 +1000
-
- Bump to 7.0.99.1
-
-commit ef8766e44c5cdd1e3ba7ebabf576e2de77f57a09
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 11:43:12 2009 +1000
-
- xtestext1: split xtestext1.h header into xtestext1proto.h
-
-commit a1f0b58efce74176c71070818fa98c25021bb25e
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 11:36:22 2009 +1000
-
- sync: remove sync.h library header, split into syncconst.h
-
- Rename syncstr.h to syncproto.h
-
-commit 35ec2669091197a4e5b3c56d79ea26ae87759b16
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 11:32:29 2009 +1000
-
- shape: remove shape.h, split into shapeconst.h
-
- Rename shapestr.h to shapeproto.h
-
-commit 7cfdafd5ec565502a40e9e1f5b3edbb2be6aafbc
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 11:30:17 2009 +1000
-
- security: remove security.h, split into secur.h
-
- Rename securstr.h to securproto.h
-
-commit 19f527b4abe17b58dd78ec988a11c8081166cf01
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 11:28:02 2009 +1000
-
- multibuf: remove multibuf.h, split into multibufconst.h
-
-commit 4b7fff5309f3e51e17372e3eaf91ee01c00ffd08
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 11:19:04 2009 +1000
-
- remove extutil.h, pure library header
-
-commit 0af7f152239a0f14fc85acd146845c784bb1cd6a
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 11:18:06 2009 +1000
-
- dpms: remove dpms.h library header, split into dpmsconst.h
-
-commit ac0dfab3fe1ae9c9633696825636a4bcfa14dfd6
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 11:14:14 2009 +1000
-
- Remove Xext.h and Xge.h - pure library headers.
-
-commit 413572e112e24aa7a28632e13a8aa15c9fdaa57e
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 11:10:01 2009 +1000
-
- Xdbe: remove Xdbe.h library header, split into dbe.h
-
- Rename Xdbeproto to dbeproto.h
-
-commit d2574e8804a204653bda1786c1ece3437f7901a2
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 11:04:12 2009 +1000
-
- Xcup: remove XCup.h library header, split into cup.h
-
- Rename Xcupstr.h to cupproto.h
-
-commit 38daa9d8d9d86f3b9df12dd5032959822b7c0a45
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 10:59:10 2009 +1000
-
- Xag: remove Xag.h library header, split into Xagconst.h
-
-commit 8cb2568c4a7df1eb0482009bf9150912e98969e6
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 10:54:21 2009 +1000
-
- XTest: remove XTest.h, split into xtest.h and xtestproto.h
-
- To avoid conflicts, xtest.h uses a XTEST_CONST_H include barrier.
-
-commit c63abdd1eb7bc1d8ae4e25073ef2f29d94991e2b
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 10:46:33 2009 +1000
-
- XShm: remove XShm.h library header, split into shm.h, shmproto.h
-
- Removing Xlib function prototypes.
- Move extension name to shm.h
- Move protocol request opcodes to shmproto.h
-
-commit 0adb09e032e3bd56426620b19438be9c0c66dd54
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 10:43:32 2009 +1000
-
- XLbx: remove XLbx library headers, split into lbx.h, lbxproto.h
-
- Remove Xlib function prototypes.
- Move extension name into lbx.h, move protocol opcodes into lbxproto.h
-
-commit 727003b51844dd1bd41b668bedfa92d2bb7ef964
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 10:30:40 2009 +1000
-
- XEVI: remove XEVI.h library header, split into EVIproto.h
-
- Remove Xlib function prototypes.
- Move protocol opcodes to EVIproto.h
- Move extension name from EVIproto.h into EVI.h
-
-commit 3770d4bd035e43c8e2228d45184d9d398fccb325
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Jun 25 10:24:57 2009 +1000
-
- MITMisc: remove MITMisc.h library header, split into mitmistproto.h
-
- Moving extension name from mitmiststr.h into mitmisc.h.
- Removing Xlib function prototypes from mitmisc.h.
- Moving protocol request opcodes into mitmiscproto.h
-
- Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-commit 57d09e47d05fce0d6df4060b2eff9a8efcc25b2f
-Author: Adam Jackson <ajax@redhat.com>
-Date: Wed Jul 15 13:41:36 2009 -0400
-
- Remove most LBX headers.
-
- XLbx.h and lbxstr.h are required for libXext to build, and we're not
- allowed to remove API from that.
-
-commit 7629def0733b82687f2879095451d72e42e13db7
-Author: James Cloos <cloos@jhcloos.com>
-Date: Sat Mar 28 14:20:38 2009 -0400
-
- C sucks: define XEventClass in terms of unsigned int, not CARD32.
-
- Apparently pulling in Xmd.h here breaks qt, since they both define an
- INT32 type (and incompatible ones even, since Xmd's is unsigned long on
- ILP32 because whoever wrote Xmd.h is a C novice).
-
- (Based on inputproto commit b5cbe2d93f6c0129b8f29da97778f6d1b15c38f9.
- Patch submitted to xorg@ in <20090117121713.46bf3332@family.dyweni.com>.)
-
-commit ac98d8c559dc798f09e35d13f51cb1116c6378bb
-Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
-Date: Thu Jan 29 16:22:20 2009 -0200
-
- Bump to libXext Version 7.0.5.
-
- Add required change to correct #18038
- (patch to avoid gcc warning in libXext)
-
-commit 8b5b82ec72dd6952d0664655715a0a47951454f4
-Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
-Date: Tue Jan 27 20:06:28 2009 -0200
-
- Janitor: Correct make distcheck and dont distribute autogen.sh
-
-commit fa652c6013a5d3ae8106814d97245fdbac3557ac
-Author: Julien Cristau <jcristau@debian.org>
-Date: Tue Dec 23 16:16:46 2008 +0100
-
- Add geproto.txt to EXTRA_DIST
-
-commit bd7f3e16b5a5520f0abb8c481f23a19219d26c7f
-Author: Julien Cristau <jcristau@debian.org>
-Date: Tue Dec 23 15:45:13 2008 +0100
-
- COPYING: add Peter Hutterer's license and copyright notice
-
- Taken from Xge.h
-
-commit e1773d8ad7d36535f856dcb308be9a1b0601c1fc
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu Dec 18 10:10:42 2008 +1000
-
- Bump to 7.0.4
-
-commit e7f0c4261c59da82da1c151dd1bd0d143a32906a
-Author: Peter Hutterer <peter.hutterer@redhat.com>
-Date: Mon Dec 1 14:44:03 2008 +1000
-
- Clean up XGE documentation.
-
-commit b0080664e432f8ee569ce099a536c0232dd64d3e
-Author: Peter Hutterer <peter.hutterer@redhat.com>
-Date: Mon Dec 1 15:41:16 2008 +1000
-
- geproto: remote trailing whitespaces.
-
-commit f7e5f23e37e62cc0a981d9b002b69d90b8a7daa9
-Author: Peter Hutterer <peter.hutterer@redhat.com>
-Date: Fri Sep 26 14:54:19 2008 +0930
-
- Xge.h: include Xmd.h for CARD8
-
-commit db08133016b421ef12c65db9c4a2819078f01b06
-Author: Peter Hutterer <peter@cs.unisa.edu.au>
-Date: Wed May 28 17:18:14 2008 +0930
-
- Bump to 7.0.3.
-
-commit 801650f0d15b4497c63d056559ad98a8ca82f271
-Author: Peter Hutterer <peter@cs.unisa.edu.au>
-Date: Mon May 12 17:26:02 2008 +0930
-
- Xge: replace copyrights with standard format from xserver COPYING.
-
-commit 9dc48efe2b3136756613ae00afd706f9a52d6f10
-Merge: 69356e4 a07a30f
-Author: Peter Hutterer <peter@cs.unisa.edu.au>
-Date: Mon May 12 17:22:14 2008 +0930
-
- Merge branch 'master' into xge
-
-commit a07a30f9922e9768e2cf00cc2e479978242c58a8
-Author: James Cloos <cloos@jhcloos.com>
-Date: Thu Dec 6 16:39:10 2007 -0500
-
- Replace static ChangeLog with dist-hook to generate from git log
-
-commit 087c2ccc7e348e530422a578059173c959aa5a78
-Author: James Cloos <cloos@jhcloos.com>
-Date: Mon Sep 3 05:54:25 2007 -0400
-
- Add *~ to .gitignore to skip patch/emacs droppings
-
-commit 69356e4165f11f3ed4b377d29df038549191a91e
-Author: Peter Hutterer <peter@cs.unisa.edu.au>
-Date: Thu May 17 19:40:15 2007 +0930
-
- Add XGE header files and protocol description.
-
-commit 88c24404b44def76a56f52a216a8cf2e0991c3e6
-Author: Alan Coopersmith <alan.coopersmith@sun.com>
-Date: Fri Jul 14 18:56:41 2006 -0700
-
- renamed: .cvsignore -> .gitignore
-
-commit a63b4a9d7ebc5929ce9172b10743396cd36addb8
-Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
-Date: Tue Jun 27 16:25:22 2006 +0000
-
- Remove Xserver API for appgroup extension [Will break Xorg server builds
- prior to 2006-06-21 / git commit
- 77c947b900faf34f425eef1549d8210c475e093b]
-
-commit 7bcd3400a8043dee6399680ddc6592747b30f599
-Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
-Date: Wed Jun 21 21:20:22 2006 +0000
-
- Remove Xserver API for security extension (#ifdef _SECURITY_SERVER) [Will
- break Xorg server builds prior to 2006-06-20 / git commit
- d44b2a0a57fb89741173c31676af0ccc822387dc]
-
-commit cb67dc36362b018f3a9faa5c4558ce99dbfb2334
-Author: Kevin E Martin <kem@kem.org>
-Date: Thu Dec 15 00:24:39 2005 +0000
-
- Update package version number for final X11R7 release candidate.
-
-commit 9f8dd222022cfafe3ca6467e02232af7d4d7934b
-Author: Kevin E Martin <kem@kem.org>
-Date: Wed Oct 19 02:48:15 2005 +0000
-
- Update package version number for RC1 release.
-
-commit cba4432f0d088517f2475881e93cf4dda96a7f94
-Author: Eric Anholt <anholt@freebsd.org>
-Date: Tue Aug 2 19:19:40 2005 +0000
-
- Add basic .cvsignore files for proto modules.
-
-commit 790de7da644c6f9114a715b99789253a9c79b0a5
-Author: Kevin E Martin <kem@kem.org>
-Date: Fri Jul 29 21:22:57 2005 +0000
-
- Various changes preparing packages for RC0:
- - Verify and update package version numbers as needed
- - Implement versioning scheme
- - Change bug address to point to bugzilla bug entry form
- - Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to
- reenable it)
- - Fix makedepend to use pkgconfig and pass distcheck
- - Update build script to build macros first
- - Update modular Xorg version
-
-commit cf67142f46ec2f754f2b3347b21139b66b7167cf
-Author: Adam Jackson <ajax@nwnk.net>
-Date: Fri Jun 10 04:01:14 2005 +0000
-
- Bug #2799: Input shape. (Keith Packard)
-
-commit b855e49cf845cf814fa1d8a9abcd65cb14356644
-Author: Adam Jackson <ajax@nwnk.net>
-Date: Thu May 19 00:22:40 2005 +0000
-
- revert last change, didn't do right thing at all, sorry for the noise
-
-commit 1e1659043f908d2e648d0ee73f7f33f5fc79813b
-Author: Adam Jackson <ajax@nwnk.net>
-Date: Thu May 19 00:10:19 2005 +0000
-
- Require automake 1.7 in AM_INIT_AUTOMAKE
-
-commit 1d316d39381cf0981b2f9687cd2f0200c92961ea
-Author: Josh Triplett <josh@speakeasy.net>
-Date: Wed May 18 08:09:13 2005 +0000
-
- Add COPYING file for XExt. Note that there are several similar but
- subtly-different licenses included; in particular, there are some
- copyright holders with multiple slightly-different licenses included.
-
-commit f3c7759e6dc671ab6db160e739d00133e9996296
-Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
-Date: Mon May 9 18:20:06 2005 +0000
-
- Change all the protonames from <extension>Ext to <extension>Proto.
-
-commit 474a31667a8addb29a0f115790df2910400c4081
-Author: Kevin E Martin <kem@kem.org>
-Date: Fri May 6 01:46:32 2005 +0000
-
- Initial build system files for proto module.
-
-commit be09530f849ec00001fc0575816030b7a5dde05c
-Author: Roland Mainz <roland.mainz@nrubsig.org>
-Date: Tue Dec 7 23:37:37 2004 +0000
-
- //bugs.freedesktop.org/show_bug.cgi?id=830): Get DPMS header file
- (include/extensions/dpms.h) working with C++ applications. Patch by
- Kevin DeKorte <kdekorte@yahoo.com> and Roland Mainz
- <roland.mainz@nrubsig.org>.
-
-commit da24110547ed45c08d707dbffb2972f043dbc1b1
-Author: Egbert Eich <eich@suse.de>
-Date: Fri Apr 23 18:43:06 2004 +0000
-
- Merging XORG-CURRENT into trunk
-
-commit 8fc2a0fd8ac1b777a35b01d65934ee100b304d20
-Author: Egbert Eich <eich@suse.de>
-Date: Sun Mar 14 08:31:36 2004 +0000
-
- Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004
-
-commit e7af2a9e4c47a46b3a68a2efebb171dc7872c341
-Author: Egbert Eich <eich@suse.de>
-Date: Wed Mar 3 12:10:54 2004 +0000
-
- Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004
-
-commit abb02cac08ca1d7d3a64b361df5d1be6f15c6440
-Author: Egbert Eich <eich@suse.de>
-Date: Thu Feb 26 13:35:14 2004 +0000
-
- readding XFree86's cvs IDs
-
-commit c9d6200d559e57f4ca67291213cd282c7437c3c7
-Author: Egbert Eich <eich@suse.de>
-Date: Thu Feb 26 09:22:28 2004 +0000
-
- Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004
-
-commit 023a09fe640f876478157e5b4cd9cfec1452da4b
-Author: Kaleb Keithley <kaleb@freedesktop.org>
-Date: Tue Nov 25 19:28:02 2003 +0000
-
- XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks
-
-commit 343e78e15048e6a25791449bfc7566c07ccddf28
-Author: Kaleb Keithley <kaleb@freedesktop.org>
-Date: Fri Nov 14 16:48:43 2003 +0000
-
- XFree86 4.3.0.1
-
-commit 9a41c9c6452753ac1911a585e59982e8e5186c6b
-Author: Kaleb Keithley <kaleb@freedesktop.org>
-Date: Fri Nov 14 15:54:35 2003 +0000
-
- R6.6 is the Xorg base-line
diff --git a/X11/extensions/INSTALL b/X11/extensions/INSTALL
deleted file mode 100644
index e69de29bb..000000000
--- a/X11/extensions/INSTALL
+++ /dev/null
diff --git a/X11/extensions/Makefile.am b/X11/extensions/Makefile.am
deleted file mode 100644
index bbe5dd42e..000000000
--- a/X11/extensions/Makefile.am
+++ /dev/null
@@ -1,59 +0,0 @@
-SUBDIRS=specs
-
-xextdir = $(includedir)/X11/extensions
-xext_HEADERS = \
- dpmsconst.h \
- dpmsproto.h \
- ge.h \
- geproto.h \
- lbx.h \
- lbxproto.h \
- mitmiscconst.h \
- mitmiscproto.h \
- multibufconst.h \
- multibufproto.h \
- secur.h \
- securproto.h \
- shapeconst.h \
- shapeproto.h \
- shm.h \
- shmproto.h \
- syncconst.h \
- syncproto.h \
- ag.h \
- agproto.h \
- cup.h \
- cupproto.h \
- dbe.h \
- dbeproto.h \
- EVI.h \
- EVIproto.h \
- xtestext1proto.h \
- xtestext1const.h \
- xtestconst.h \
- xtestproto.h
-
-#
-# These headers allow old servers to be built with
-# new headers
-#
-compatdir = $(xextdir)
-compat_HEADERS = \
- shapestr.h \
- shmstr.h \
- syncstr.h
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = xextproto.pc
-
-MAINTAINERCLEANFILES = ChangeLog INSTALL
-
-.PHONY: ChangeLog INSTALL
-
-INSTALL:
- $(INSTALL_CMD)
-
-ChangeLog:
- $(CHANGELOG_CMD)
-
-dist-hook: ChangeLog INSTALL
diff --git a/X11/extensions/NEWS b/X11/extensions/NEWS
deleted file mode 100644
index 29b8edd86..000000000
--- a/X11/extensions/NEWS
+++ /dev/null
@@ -1,2 +0,0 @@
-2004-01-05: Version 1.0 released.
-2007-01-09: Version 1.1 released, adding the DamageAdd request. \ No newline at end of file
diff --git a/X11/extensions/README b/X11/extensions/README
deleted file mode 100644
index bb6fc790c..000000000
--- a/X11/extensions/README
+++ /dev/null
@@ -1,42 +0,0 @@
- X Protocol Extensions
-
-Extension names:
-
-DOUBLE-BUFFER
-DPMS
-Extended-Visual-Information
-Generic Event Extension
-LBX
-MIT-SHM
-MIT-SUNDRY-NONSTANDARD
-Multi-Buffering
-SECURITY
-SHAPE
-SYNC
-TOG-CUP
-XC-APPGROUP
-XTEST
-
-All questions regarding this software should be directed at the
-Xorg mailing list:
-
- http://lists.freedesktop.org/mailman/listinfo/xorg
-
-Please submit bug reports to the Xorg bugzilla:
-
- https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
-
-The master development code repository can be found at:
-
- git://anongit.freedesktop.org/git/xorg/proto/xextproto
-
- http://cgit.freedesktop.org/xorg/proto/xextproto
-
-For patch submission instructions, see:
-
- http://www.x.org/wiki/Development/Documentation/SubmittingPatches
-
-For more information on the git code manager, see:
-
- http://wiki.x.org/wiki/GitPage
-
diff --git a/X11/extensions/aclocal.m4 b/X11/extensions/aclocal.m4
deleted file mode 100644
index 6a738bfa2..000000000
--- a/X11/extensions/aclocal.m4
+++ /dev/null
@@ -1,2352 +0,0 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
-[m4_warning([this file was generated for autoconf 2.63.
-You have another version of autoconf. It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-#
-# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
-AC_DEFUN([PKG_PROG_PKG_CONFIG],
-[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
- AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
-fi
-if test -n "$PKG_CONFIG"; then
- _pkg_min_version=m4_default([$1], [0.9.0])
- AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- PKG_CONFIG=""
- fi
-
-fi[]dnl
-])# PKG_PROG_PKG_CONFIG
-
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists. Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-#
-# Similar to PKG_CHECK_MODULES, make sure that the first instance of
-# this or PKG_CHECK_MODULES is called, or make sure to call
-# PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_EXISTS],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-if test -n "$PKG_CONFIG" && \
- AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
- m4_ifval([$2], [$2], [:])
-m4_ifvaln([$3], [else
- $3])dnl
-fi])
-
-
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
-m4_define([_PKG_CONFIG],
-[if test -n "$$1"; then
- pkg_cv_[]$1="$$1"
- elif test -n "$PKG_CONFIG"; then
- PKG_CHECK_EXISTS([$3],
- [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
- [pkg_failed=yes])
- else
- pkg_failed=untried
-fi[]dnl
-])# _PKG_CONFIG
-
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
-AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
-
-
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_MODULES],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
-AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-
-pkg_failed=no
-AC_MSG_CHECKING([for $1])
-
-_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-_PKG_CONFIG([$1][_LIBS], [libs], [$2])
-
-m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
-and $1[]_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.])
-
-if test $pkg_failed = yes; then
- _PKG_SHORT_ERRORS_SUPPORTED
- if test $_pkg_short_errors_supported = yes; then
- $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
- else
- $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
-
- ifelse([$4], , [AC_MSG_ERROR(dnl
-[Package requirements ($2) were not met:
-
-$$1_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-_PKG_TEXT
-])],
- [AC_MSG_RESULT([no])
- $4])
-elif test $pkg_failed = untried; then
- ifelse([$4], , [AC_MSG_FAILURE(dnl
-[The pkg-config script could not be found or is too old. Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-_PKG_TEXT
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
- [$4])
-else
- $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
- $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
- AC_MSG_RESULT([yes])
- ifelse([$3], , :, [$3])
-fi[]dnl
-])# PKG_CHECK_MODULES
-
-dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
-dnl
-dnl Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved.
-dnl
-dnl Permission is hereby granted, free of charge, to any person obtaining a
-dnl copy of this software and associated documentation files (the "Software"),
-dnl to deal in the Software without restriction, including without limitation
-dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
-dnl and/or sell copies of the Software, and to permit persons to whom the
-dnl Software is furnished to do so, subject to the following conditions:
-dnl
-dnl The above copyright notice and this permission notice (including the next
-dnl paragraph) shall be included in all copies or substantial portions of the
-dnl Software.
-dnl
-dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-dnl DEALINGS IN THE SOFTWARE.
-
-# XORG_MACROS_VERSION(required-version)
-# -------------------------------------
-# Minimum version: 1.1.0
-#
-# If you're using a macro added in Version 1.1 or newer, include this in
-# your configure.ac with the minimum required version, such as:
-# XORG_MACROS_VERSION(1.1)
-#
-# To ensure that this macro is defined, also add:
-# m4_ifndef([XORG_MACROS_VERSION],
-# [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
-#
-#
-# See the "minimum version" comment for each macro you use to see what
-# version you require.
-m4_defun([XORG_MACROS_VERSION],[
-m4_define([vers_have], [1.10.0])
-m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
-m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
-m4_if(m4_cmp(maj_have, maj_needed), 0,,
- [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
-m4_if(m4_version_compare(vers_have, [$1]), -1,
- [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
-m4_undefine([vers_have])
-m4_undefine([maj_have])
-m4_undefine([maj_needed])
-]) # XORG_MACROS_VERSION
-
-# XORG_PROG_RAWCPP()
-# ------------------
-# Minimum version: 1.0.0
-#
-# Find cpp program and necessary flags for use in pre-processing text files
-# such as man pages and config files
-AC_DEFUN([XORG_PROG_RAWCPP],[
-AC_REQUIRE([AC_PROG_CPP])
-AC_PATH_PROGS(RAWCPP, [cpp], [${CPP}],
- [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
-
-# Check for flag to avoid builtin definitions - assumes unix is predefined,
-# which is not the best choice for supporting other OS'es, but covers most
-# of the ones we need for now.
-AC_MSG_CHECKING([if $RAWCPP requires -undef])
-AC_LANG_CONFTEST([Does cpp redefine unix ?])
-if test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
- AC_MSG_RESULT([no])
-else
- if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
- RAWCPPFLAGS=-undef
- AC_MSG_RESULT([yes])
- # under Cygwin unix is still defined even with -undef
- elif test `${RAWCPP} -undef -ansi < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
- RAWCPPFLAGS="-undef -ansi"
- AC_MSG_RESULT([yes, with -ansi])
- else
- AC_MSG_ERROR([${RAWCPP} defines unix with or without -undef. I don't know what to do.])
- fi
-fi
-rm -f conftest.$ac_ext
-
-AC_MSG_CHECKING([if $RAWCPP requires -traditional])
-AC_LANG_CONFTEST([Does cpp preserve "whitespace"?])
-if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
- AC_MSG_RESULT([no])
-else
- if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
- RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_ERROR([${RAWCPP} does not preserve whitespace with or without -traditional. I don't know what to do.])
- fi
-fi
-rm -f conftest.$ac_ext
-AC_SUBST(RAWCPPFLAGS)
-]) # XORG_PROG_RAWCPP
-
-# XORG_MANPAGE_SECTIONS()
-# -----------------------
-# Minimum version: 1.0.0
-#
-# Determine which sections man pages go in for the different man page types
-# on this OS - replaces *ManSuffix settings in old Imake *.cf per-os files.
-# Not sure if there's any better way than just hardcoding by OS name.
-# Override default settings by setting environment variables
-# Added MAN_SUBSTS in version 1.8
-# Added AC_PROG_SED in version 1.8
-
-AC_DEFUN([XORG_MANPAGE_SECTIONS],[
-AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([AC_PROG_SED])
-
-if test x$APP_MAN_SUFFIX = x ; then
- APP_MAN_SUFFIX=1
-fi
-if test x$APP_MAN_DIR = x ; then
- APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)'
-fi
-
-if test x$LIB_MAN_SUFFIX = x ; then
- LIB_MAN_SUFFIX=3
-fi
-if test x$LIB_MAN_DIR = x ; then
- LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)'
-fi
-
-if test x$FILE_MAN_SUFFIX = x ; then
- case $host_os in
- solaris*) FILE_MAN_SUFFIX=4 ;;
- *) FILE_MAN_SUFFIX=5 ;;
- esac
-fi
-if test x$FILE_MAN_DIR = x ; then
- FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)'
-fi
-
-if test x$MISC_MAN_SUFFIX = x ; then
- case $host_os in
- solaris*) MISC_MAN_SUFFIX=5 ;;
- *) MISC_MAN_SUFFIX=7 ;;
- esac
-fi
-if test x$MISC_MAN_DIR = x ; then
- MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)'
-fi
-
-if test x$DRIVER_MAN_SUFFIX = x ; then
- case $host_os in
- solaris*) DRIVER_MAN_SUFFIX=7 ;;
- *) DRIVER_MAN_SUFFIX=4 ;;
- esac
-fi
-if test x$DRIVER_MAN_DIR = x ; then
- DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)'
-fi
-
-if test x$ADMIN_MAN_SUFFIX = x ; then
- case $host_os in
- solaris*) ADMIN_MAN_SUFFIX=1m ;;
- *) ADMIN_MAN_SUFFIX=8 ;;
- esac
-fi
-if test x$ADMIN_MAN_DIR = x ; then
- ADMIN_MAN_DIR='$(mandir)/man$(ADMIN_MAN_SUFFIX)'
-fi
-
-
-AC_SUBST([APP_MAN_SUFFIX])
-AC_SUBST([LIB_MAN_SUFFIX])
-AC_SUBST([FILE_MAN_SUFFIX])
-AC_SUBST([MISC_MAN_SUFFIX])
-AC_SUBST([DRIVER_MAN_SUFFIX])
-AC_SUBST([ADMIN_MAN_SUFFIX])
-AC_SUBST([APP_MAN_DIR])
-AC_SUBST([LIB_MAN_DIR])
-AC_SUBST([FILE_MAN_DIR])
-AC_SUBST([MISC_MAN_DIR])
-AC_SUBST([DRIVER_MAN_DIR])
-AC_SUBST([ADMIN_MAN_DIR])
-
-XORG_MAN_PAGE="X Version 11"
-AC_SUBST([XORG_MAN_PAGE])
-MAN_SUBSTS="\
- -e 's|__vendorversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
- -e 's|__xorgversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
- -e 's|__xservername__|Xorg|g' \
- -e 's|__xconfigfile__|xorg.conf|g' \
- -e 's|__projectroot__|\$(prefix)|g' \
- -e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \
- -e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \
- -e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \
- -e 's|__libmansuffix__|\$(LIB_MAN_SUFFIX)|g' \
- -e 's|__miscmansuffix__|\$(MISC_MAN_SUFFIX)|g' \
- -e 's|__filemansuffix__|\$(FILE_MAN_SUFFIX)|g'"
-AC_SUBST([MAN_SUBSTS])
-
-]) # XORG_MANPAGE_SECTIONS
-
-# XORG_CHECK_SGML_DOCTOOLS([MIN-VERSION])
-# ------------------------
-# Minimum version: 1.7.0
-#
-# Defines the variable XORG_SGML_PATH containing the location of X11/defs.ent
-# provided by xorg-sgml-doctools, if installed.
-AC_DEFUN([XORG_CHECK_SGML_DOCTOOLS],[
-AC_MSG_CHECKING([for X.Org SGML entities m4_ifval([$1],[>= $1])])
-XORG_SGML_PATH=
-PKG_CHECK_EXISTS([xorg-sgml-doctools m4_ifval([$1],[>= $1])],
- [XORG_SGML_PATH=`$PKG_CONFIG --variable=sgmlrootdir xorg-sgml-doctools`],
- [m4_ifval([$1],[:],
- [if test x"$cross_compiling" != x"yes" ; then
- AC_CHECK_FILE([$prefix/share/sgml/X11/defs.ent],
- [XORG_SGML_PATH=$prefix/share/sgml])
- fi])
- ])
-
-# Define variables STYLESHEET_SRCDIR and XSL_STYLESHEET containing
-# the path and the name of the doc stylesheet
-if test "x$XORG_SGML_PATH" != "x" ; then
- AC_MSG_RESULT([$XORG_SGML_PATH])
- STYLESHEET_SRCDIR=$XORG_SGML_PATH/X11
- XSL_STYLESHEET=$STYLESHEET_SRCDIR/xorg.xsl
-else
- AC_MSG_RESULT([no])
-fi
-
-AC_SUBST(XORG_SGML_PATH)
-AC_SUBST(STYLESHEET_SRCDIR)
-AC_SUBST(XSL_STYLESHEET)
-AM_CONDITIONAL([HAVE_STYLESHEETS], [test "x$XSL_STYLESHEET" != "x"])
-]) # XORG_CHECK_SGML_DOCTOOLS
-
-# XORG_CHECK_LINUXDOC
-# -------------------
-# Minimum version: 1.0.0
-#
-# Defines the variable MAKE_TEXT if the necessary tools and
-# files are found. $(MAKE_TEXT) blah.sgml will then produce blah.txt.
-# Whether or not the necessary tools and files are found can be checked
-# with the AM_CONDITIONAL "BUILD_LINUXDOC"
-AC_DEFUN([XORG_CHECK_LINUXDOC],[
-AC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
-AC_REQUIRE([XORG_WITH_PS2PDF])
-
-AC_PATH_PROG(LINUXDOC, linuxdoc)
-
-AC_MSG_CHECKING([whether to build documentation])
-
-if test x$XORG_SGML_PATH != x && test x$LINUXDOC != x ; then
- BUILDDOC=yes
-else
- BUILDDOC=no
-fi
-
-AM_CONDITIONAL(BUILD_LINUXDOC, [test x$BUILDDOC = xyes])
-
-AC_MSG_RESULT([$BUILDDOC])
-
-AC_MSG_CHECKING([whether to build pdf documentation])
-
-if test x$have_ps2pdf != xno && test x$BUILD_PDFDOC != xno; then
- BUILDPDFDOC=yes
-else
- BUILDPDFDOC=no
-fi
-
-AM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
-
-AC_MSG_RESULT([$BUILDPDFDOC])
-
-MAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH GROFF_NO_SGR=y $LINUXDOC -B txt -f"
-MAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B latex --papersize=letter --output=ps"
-MAKE_PDF="$PS2PDF"
-MAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B html --split=0"
-
-AC_SUBST(MAKE_TEXT)
-AC_SUBST(MAKE_PS)
-AC_SUBST(MAKE_PDF)
-AC_SUBST(MAKE_HTML)
-]) # XORG_CHECK_LINUXDOC
-
-# XORG_CHECK_DOCBOOK
-# -------------------
-# Minimum version: 1.0.0
-#
-# Checks for the ability to build output formats from SGML DocBook source.
-# For XXX in {TXT, PDF, PS, HTML}, the AM_CONDITIONAL "BUILD_XXXDOC"
-# indicates whether the necessary tools and files are found and, if set,
-# $(MAKE_XXX) blah.sgml will produce blah.xxx.
-AC_DEFUN([XORG_CHECK_DOCBOOK],[
-AC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
-
-BUILDTXTDOC=no
-BUILDPDFDOC=no
-BUILDPSDOC=no
-BUILDHTMLDOC=no
-
-AC_PATH_PROG(DOCBOOKPS, docbook2ps)
-AC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
-AC_PATH_PROG(DOCBOOKHTML, docbook2html)
-AC_PATH_PROG(DOCBOOKTXT, docbook2txt)
-
-AC_MSG_CHECKING([whether to build text documentation])
-if test x$XORG_SGML_PATH != x && test x$DOCBOOKTXT != x &&
- test x$BUILD_TXTDOC != xno; then
- BUILDTXTDOC=yes
-fi
-AM_CONDITIONAL(BUILD_TXTDOC, [test x$BUILDTXTDOC = xyes])
-AC_MSG_RESULT([$BUILDTXTDOC])
-
-AC_MSG_CHECKING([whether to build PDF documentation])
-if test x$XORG_SGML_PATH != x && test x$DOCBOOKPDF != x &&
- test x$BUILD_PDFDOC != xno; then
- BUILDPDFDOC=yes
-fi
-AM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
-AC_MSG_RESULT([$BUILDPDFDOC])
-
-AC_MSG_CHECKING([whether to build PostScript documentation])
-if test x$XORG_SGML_PATH != x && test x$DOCBOOKPS != x &&
- test x$BUILD_PSDOC != xno; then
- BUILDPSDOC=yes
-fi
-AM_CONDITIONAL(BUILD_PSDOC, [test x$BUILDPSDOC = xyes])
-AC_MSG_RESULT([$BUILDPSDOC])
-
-AC_MSG_CHECKING([whether to build HTML documentation])
-if test x$XORG_SGML_PATH != x && test x$DOCBOOKHTML != x &&
- test x$BUILD_HTMLDOC != xno; then
- BUILDHTMLDOC=yes
-fi
-AM_CONDITIONAL(BUILD_HTMLDOC, [test x$BUILDHTMLDOC = xyes])
-AC_MSG_RESULT([$BUILDHTMLDOC])
-
-MAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKTXT"
-MAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPS"
-MAKE_PDF="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPDF"
-MAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKHTML"
-
-AC_SUBST(MAKE_TEXT)
-AC_SUBST(MAKE_PS)
-AC_SUBST(MAKE_PDF)
-AC_SUBST(MAKE_HTML)
-]) # XORG_CHECK_DOCBOOK
-
-# XORG_WITH_XMLTO([MIN-VERSION])
-# ----------------
-# Minimum version: 1.5.0
-#
-# Documentation tools are not always available on all platforms and sometimes
-# not at the appropriate level. This macro enables a module to test for the
-# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-xmlto option, it allows maximum flexibilty in making decisions
-# as whether or not to use the xmlto package.
-#
-# Interface to module:
-# HAVE_XMLTO: used in makefiles to conditionally generate documentation
-# XMLTO: returns the path of the xmlto program found
-# returns the path set by the user in the environment
-# --with-xmlto: 'yes' user instructs the module to use xmlto
-# 'no' user instructs the module not to use xmlto
-#
-# Added in version 1.10.0
-# HAVE_XMLTO_TEXT: used in makefiles to conditionally generate text documentation
-# xmlto for text output requires either lynx, links, or w3m browsers
-#
-# If the user sets the value of XMLTO, AC_PATH_PROG skips testing the path.
-#
-AC_DEFUN([XORG_WITH_XMLTO],[
-AC_ARG_VAR([XMLTO], [Path to xmlto command])
-AC_ARG_WITH(xmlto,
- AS_HELP_STRING([--with-xmlto],
- [Use xmlto to regenerate documentation (default: yes, if installed)]),
- [use_xmlto=$withval], [use_xmlto=auto])
-
-if test "x$use_xmlto" = x"auto"; then
- AC_PATH_PROG([XMLTO], [xmlto])
- if test "x$XMLTO" = "x"; then
- AC_MSG_WARN([xmlto not found - documentation targets will be skipped])
- have_xmlto=no
- else
- have_xmlto=yes
- fi
-elif test "x$use_xmlto" = x"yes" ; then
- AC_PATH_PROG([XMLTO], [xmlto])
- if test "x$XMLTO" = "x"; then
- AC_MSG_ERROR([--with-xmlto=yes specified but xmlto not found in PATH])
- fi
- have_xmlto=yes
-elif test "x$use_xmlto" = x"no" ; then
- if test "x$XMLTO" != "x"; then
- AC_MSG_WARN([ignoring XMLTO environment variable since --with-xmlto=no was specified])
- fi
- have_xmlto=no
-else
- AC_MSG_ERROR([--with-xmlto expects 'yes' or 'no'])
-fi
-
-# Test for a minimum version of xmlto, if provided.
-m4_ifval([$1],
-[if test "$have_xmlto" = yes; then
- # scrape the xmlto version
- AC_MSG_CHECKING([the xmlto version])
- xmlto_version=`$XMLTO --version 2>/dev/null | cut -d' ' -f3`
- AC_MSG_RESULT([$xmlto_version])
- AS_VERSION_COMPARE([$xmlto_version], [$1],
- [if test "x$use_xmlto" = xauto; then
- AC_MSG_WARN([xmlto version $xmlto_version found, but $1 needed])
- have_xmlto=no
- else
- AC_MSG_ERROR([xmlto version $xmlto_version found, but $1 needed])
- fi])
-fi])
-
-# Test for the ability of xmlto to generate a text target
-have_xmlto_text=no
-cat > conftest.xml << "EOF"
-EOF
-AS_IF([test "$have_xmlto" = yes],
- [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
- [have_xmlto_text=yes],
- [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])
-rm -f conftest.xml
-AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
-AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
-]) # XORG_WITH_XMLTO
-
-# XORG_WITH_ASCIIDOC([MIN-VERSION])
-# ----------------
-# Minimum version: 1.5.0
-#
-# Documentation tools are not always available on all platforms and sometimes
-# not at the appropriate level. This macro enables a module to test for the
-# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-asciidoc option, it allows maximum flexibilty in making decisions
-# as whether or not to use the asciidoc package.
-#
-# Interface to module:
-# HAVE_ASCIIDOC: used in makefiles to conditionally generate documentation
-# ASCIIDOC: returns the path of the asciidoc program found
-# returns the path set by the user in the environment
-# --with-asciidoc: 'yes' user instructs the module to use asciidoc
-# 'no' user instructs the module not to use asciidoc
-#
-# If the user sets the value of ASCIIDOC, AC_PATH_PROG skips testing the path.
-#
-AC_DEFUN([XORG_WITH_ASCIIDOC],[
-AC_ARG_VAR([ASCIIDOC], [Path to asciidoc command])
-AC_ARG_WITH(asciidoc,
- AS_HELP_STRING([--with-asciidoc],
- [Use asciidoc to regenerate documentation (default: yes, if installed)]),
- [use_asciidoc=$withval], [use_asciidoc=auto])
-
-if test "x$use_asciidoc" = x"auto"; then
- AC_PATH_PROG([ASCIIDOC], [asciidoc])
- if test "x$ASCIIDOC" = "x"; then
- AC_MSG_WARN([asciidoc not found - documentation targets will be skipped])
- have_asciidoc=no
- else
- have_asciidoc=yes
- fi
-elif test "x$use_asciidoc" = x"yes" ; then
- AC_PATH_PROG([ASCIIDOC], [asciidoc])
- if test "x$ASCIIDOC" = "x"; then
- AC_MSG_ERROR([--with-asciidoc=yes specified but asciidoc not found in PATH])
- fi
- have_asciidoc=yes
-elif test "x$use_asciidoc" = x"no" ; then
- if test "x$ASCIIDOC" != "x"; then
- AC_MSG_WARN([ignoring ASCIIDOC environment variable since --with-asciidoc=no was specified])
- fi
- have_asciidoc=no
-else
- AC_MSG_ERROR([--with-asciidoc expects 'yes' or 'no'])
-fi
-m4_ifval([$1],
-[if test "$have_asciidoc" = yes; then
- # scrape the asciidoc version
- AC_MSG_CHECKING([the asciidoc version])
- asciidoc_version=`$ASCIIDOC --version 2>/dev/null | cut -d' ' -f2`
- AC_MSG_RESULT([$asciidoc_version])
- AS_VERSION_COMPARE([$asciidoc_version], [$1],
- [if test "x$use_asciidoc" = xauto; then
- AC_MSG_WARN([asciidoc version $asciidoc_version found, but $1 needed])
- have_asciidoc=no
- else
- AC_MSG_ERROR([asciidoc version $asciidoc_version found, but $1 needed])
- fi])
-fi])
-AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
-]) # XORG_WITH_ASCIIDOC
-
-# XORG_WITH_DOXYGEN([MIN-VERSION])
-# --------------------------------
-# Minimum version: 1.5.0
-#
-# Documentation tools are not always available on all platforms and sometimes
-# not at the appropriate level. This macro enables a module to test for the
-# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-doxygen option, it allows maximum flexibilty in making decisions
-# as whether or not to use the doxygen package.
-#
-# Interface to module:
-# HAVE_DOXYGEN: used in makefiles to conditionally generate documentation
-# DOXYGEN: returns the path of the doxygen program found
-# returns the path set by the user in the environment
-# --with-doxygen: 'yes' user instructs the module to use doxygen
-# 'no' user instructs the module not to use doxygen
-#
-# If the user sets the value of DOXYGEN, AC_PATH_PROG skips testing the path.
-#
-AC_DEFUN([XORG_WITH_DOXYGEN],[
-AC_ARG_VAR([DOXYGEN], [Path to doxygen command])
-AC_ARG_WITH(doxygen,
- AS_HELP_STRING([--with-doxygen],
- [Use doxygen to regenerate documentation (default: yes, if installed)]),
- [use_doxygen=$withval], [use_doxygen=auto])
-
-if test "x$use_doxygen" = x"auto"; then
- AC_PATH_PROG([DOXYGEN], [doxygen])
- if test "x$DOXYGEN" = "x"; then
- AC_MSG_WARN([doxygen not found - documentation targets will be skipped])
- have_doxygen=no
- else
- have_doxygen=yes
- fi
-elif test "x$use_doxygen" = x"yes" ; then
- AC_PATH_PROG([DOXYGEN], [doxygen])
- if test "x$DOXYGEN" = "x"; then
- AC_MSG_ERROR([--with-doxygen=yes specified but doxygen not found in PATH])
- fi
- have_doxygen=yes
-elif test "x$use_doxygen" = x"no" ; then
- if test "x$DOXYGEN" != "x"; then
- AC_MSG_WARN([ignoring DOXYGEN environment variable since --with-doxygen=no was specified])
- fi
- have_doxygen=no
-else
- AC_MSG_ERROR([--with-doxygen expects 'yes' or 'no'])
-fi
-m4_ifval([$1],
-[if test "$have_doxygen" = yes; then
- # scrape the doxygen version
- AC_MSG_CHECKING([the doxygen version])
- doxygen_version=`$DOXYGEN --version 2>/dev/null`
- AC_MSG_RESULT([$doxygen_version])
- AS_VERSION_COMPARE([$doxygen_version], [$1],
- [if test "x$use_doxygen" = xauto; then
- AC_MSG_WARN([doxygen version $doxygen_version found, but $1 needed])
- have_doxygen=no
- else
- AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed])
- fi])
-fi])
-AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
-]) # XORG_WITH_DOXYGEN
-
-# XORG_WITH_GROFF
-# ----------------
-# Minimum version: 1.6.0
-#
-# Documentation tools are not always available on all platforms and sometimes
-# not at the appropriate level. This macro enables a module to test for the
-# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-groff option, it allows maximum flexibilty in making decisions
-# as whether or not to use the groff package.
-#
-# Interface to module:
-# HAVE_GROFF: used in makefiles to conditionally generate documentation
-# HAVE_GROFF_MM: the memorandum macros (-mm) package
-# HAVE_GROFF_MS: the -ms macros package
-# GROFF: returns the path of the groff program found
-# returns the path set by the user in the environment
-# --with-groff: 'yes' user instructs the module to use groff
-# 'no' user instructs the module not to use groff
-#
-# Added in version 1.9.0:
-# HAVE_GROFF_HTML: groff has dependencies to output HTML format:
-# pnmcut pnmcrop pnmtopng pnmtops from the netpbm package.
-# psselect from the psutils package.
-# the ghostcript package. Refer to the grohtml man pages
-#
-# If the user sets the value of GROFF, AC_PATH_PROG skips testing the path.
-#
-# OS and distros often splits groff in a basic and full package, the former
-# having the groff program and the later having devices, fonts and macros
-# Checking for the groff executable is not enough.
-#
-# If macros are missing, we cannot assume that groff is useless, so we don't
-# unset HAVE_GROFF or GROFF env variables.
-# HAVE_GROFF_?? can never be true while HAVE_GROFF is false.
-#
-AC_DEFUN([XORG_WITH_GROFF],[
-AC_ARG_VAR([GROFF], [Path to groff command])
-AC_ARG_WITH(groff,
- AS_HELP_STRING([--with-groff],
- [Use groff to regenerate documentation (default: yes, if installed)]),
- [use_groff=$withval], [use_groff=auto])
-
-if test "x$use_groff" = x"auto"; then
- AC_PATH_PROG([GROFF], [groff])
- if test "x$GROFF" = "x"; then
- AC_MSG_WARN([groff not found - documentation targets will be skipped])
- have_groff=no
- else
- have_groff=yes
- fi
-elif test "x$use_groff" = x"yes" ; then
- AC_PATH_PROG([GROFF], [groff])
- if test "x$GROFF" = "x"; then
- AC_MSG_ERROR([--with-groff=yes specified but groff not found in PATH])
- fi
- have_groff=yes
-elif test "x$use_groff" = x"no" ; then
- if test "x$GROFF" != "x"; then
- AC_MSG_WARN([ignoring GROFF environment variable since --with-groff=no was specified])
- fi
- have_groff=no
-else
- AC_MSG_ERROR([--with-groff expects 'yes' or 'no'])
-fi
-
-# We have groff, test for the presence of the macro packages
-if test "x$have_groff" = x"yes"; then
- AC_MSG_CHECKING([for ${GROFF} -ms macros])
- if ${GROFF} -ms -I. /dev/null >/dev/null 2>&1 ; then
- groff_ms_works=yes
- else
- groff_ms_works=no
- fi
- AC_MSG_RESULT([$groff_ms_works])
- AC_MSG_CHECKING([for ${GROFF} -mm macros])
- if ${GROFF} -mm -I. /dev/null >/dev/null 2>&1 ; then
- groff_mm_works=yes
- else
- groff_mm_works=no
- fi
- AC_MSG_RESULT([$groff_mm_works])
-fi
-
-# We have groff, test for HTML dependencies, one command per package
-if test "x$have_groff" = x"yes"; then
- AC_PATH_PROGS(GS_PATH, [gs gswin32c])
- AC_PATH_PROG(PNMTOPNG_PATH, [pnmtopng])
- AC_PATH_PROG(PSSELECT_PATH, [psselect])
- if test "x$GS_PATH" != "x" -a "x$PNMTOPNG_PATH" != "x" -a "x$PSSELECT_PATH" != "x"; then
- have_groff_html=yes
- else
- have_groff_html=no
- AC_MSG_WARN([grohtml dependencies not found - HTML Documentation skipped. Refer to grohtml man pages])
- fi
-fi
-
-# Set Automake conditionals for Makefiles
-AM_CONDITIONAL([HAVE_GROFF], [test "$have_groff" = yes])
-AM_CONDITIONAL([HAVE_GROFF_MS], [test "$groff_ms_works" = yes])
-AM_CONDITIONAL([HAVE_GROFF_MM], [test "$groff_mm_works" = yes])
-AM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
-]) # XORG_WITH_GROFF
-
-# XORG_WITH_FOP
-# ----------------
-# Minimum version: 1.6.0
-#
-# Documentation tools are not always available on all platforms and sometimes
-# not at the appropriate level. This macro enables a module to test for the
-# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-fop option, it allows maximum flexibilty in making decisions
-# as whether or not to use the fop package.
-#
-# Interface to module:
-# HAVE_FOP: used in makefiles to conditionally generate documentation
-# FOP: returns the path of the fop program found
-# returns the path set by the user in the environment
-# --with-fop: 'yes' user instructs the module to use fop
-# 'no' user instructs the module not to use fop
-#
-# If the user sets the value of FOP, AC_PATH_PROG skips testing the path.
-#
-AC_DEFUN([XORG_WITH_FOP],[
-AC_ARG_VAR([FOP], [Path to fop command])
-AC_ARG_WITH(fop,
- AS_HELP_STRING([--with-fop],
- [Use fop to regenerate documentation (default: yes, if installed)]),
- [use_fop=$withval], [use_fop=auto])
-
-if test "x$use_fop" = x"auto"; then
- AC_PATH_PROG([FOP], [fop])
- if test "x$FOP" = "x"; then
- AC_MSG_WARN([fop not found - documentation targets will be skipped])
- have_fop=no
- else
- have_fop=yes
- fi
-elif test "x$use_fop" = x"yes" ; then
- AC_PATH_PROG([FOP], [fop])
- if test "x$FOP" = "x"; then
- AC_MSG_ERROR([--with-fop=yes specified but fop not found in PATH])
- fi
- have_fop=yes
-elif test "x$use_fop" = x"no" ; then
- if test "x$FOP" != "x"; then
- AC_MSG_WARN([ignoring FOP environment variable since --with-fop=no was specified])
- fi
- have_fop=no
-else
- AC_MSG_ERROR([--with-fop expects 'yes' or 'no'])
-fi
-AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
-]) # XORG_WITH_FOP
-
-# XORG_WITH_PS2PDF
-# ----------------
-# Minimum version: 1.6.0
-#
-# Documentation tools are not always available on all platforms and sometimes
-# not at the appropriate level. This macro enables a module to test for the
-# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
-# as whether or not to use the ps2pdf package.
-#
-# Interface to module:
-# HAVE_PS2PDF: used in makefiles to conditionally generate documentation
-# PS2PDF: returns the path of the ps2pdf program found
-# returns the path set by the user in the environment
-# --with-ps2pdf: 'yes' user instructs the module to use ps2pdf
-# 'no' user instructs the module not to use ps2pdf
-#
-# If the user sets the value of PS2PDF, AC_PATH_PROG skips testing the path.
-#
-AC_DEFUN([XORG_WITH_PS2PDF],[
-AC_ARG_VAR([PS2PDF], [Path to ps2pdf command])
-AC_ARG_WITH(ps2pdf,
- AS_HELP_STRING([--with-ps2pdf],
- [Use ps2pdf to regenerate documentation (default: yes, if installed)]),
- [use_ps2pdf=$withval], [use_ps2pdf=auto])
-
-if test "x$use_ps2pdf" = x"auto"; then
- AC_PATH_PROG([PS2PDF], [ps2pdf])
- if test "x$PS2PDF" = "x"; then
- AC_MSG_WARN([ps2pdf not found - documentation targets will be skipped])
- have_ps2pdf=no
- else
- have_ps2pdf=yes
- fi
-elif test "x$use_ps2pdf" = x"yes" ; then
- AC_PATH_PROG([PS2PDF], [ps2pdf])
- if test "x$PS2PDF" = "x"; then
- AC_MSG_ERROR([--with-ps2pdf=yes specified but ps2pdf not found in PATH])
- fi
- have_ps2pdf=yes
-elif test "x$use_ps2pdf" = x"no" ; then
- if test "x$PS2PDF" != "x"; then
- AC_MSG_WARN([ignoring PS2PDF environment variable since --with-ps2pdf=no was specified])
- fi
- have_ps2pdf=no
-else
- AC_MSG_ERROR([--with-ps2pdf expects 'yes' or 'no'])
-fi
-AM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
-]) # XORG_WITH_PS2PDF
-
-# XORG_ENABLE_DOCS (enable_docs=yes)
-# ----------------
-# Minimum version: 1.6.0
-#
-# Documentation tools are not always available on all platforms and sometimes
-# not at the appropriate level. This macro enables a builder to skip all
-# documentation targets except traditional man pages.
-# Combined with the specific tool checking macros XORG_WITH_*, it provides
-# maximum flexibilty in controlling documentation building.
-# Refer to:
-# XORG_WITH_XMLTO --with-xmlto
-# XORG_WITH_ASCIIDOC --with-asciidoc
-# XORG_WITH_DOXYGEN --with-doxygen
-# XORG_WITH_FOP --with-fop
-# XORG_WITH_GROFF --with-groff
-# XORG_WITH_PS2PDF --with-ps2pdf
-#
-# Interface to module:
-# ENABLE_DOCS: used in makefiles to conditionally generate documentation
-# --enable-docs: 'yes' user instructs the module to generate docs
-# 'no' user instructs the module not to generate docs
-# parm1: specify the default value, yes or no.
-#
-AC_DEFUN([XORG_ENABLE_DOCS],[
-default=$1
-if test "x$default" = x ; then
- default="yes"
-fi
-AC_ARG_ENABLE(docs,
- AS_HELP_STRING([--enable-docs],
- [Enable building the documentation (default: yes)]),
- [build_docs=$enableval], [build_docs=$default])
-AM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes])
-AC_MSG_CHECKING([whether to build documentation])
-AC_MSG_RESULT([$build_docs])
-]) # XORG_ENABLE_DOCS
-
-# XORG_ENABLE_DEVEL_DOCS (enable_devel_docs=yes)
-# ----------------
-# Minimum version: 1.6.0
-#
-# This macro enables a builder to skip all developer documentation.
-# Combined with the specific tool checking macros XORG_WITH_*, it provides
-# maximum flexibilty in controlling documentation building.
-# Refer to:
-# XORG_WITH_XMLTO --with-xmlto
-# XORG_WITH_ASCIIDOC --with-asciidoc
-# XORG_WITH_DOXYGEN --with-doxygen
-# XORG_WITH_FOP --with-fop
-# XORG_WITH_GROFF --with-groff
-# XORG_WITH_PS2PDF --with-ps2pdf
-#
-# Interface to module:
-# ENABLE_DEVEL_DOCS: used in makefiles to conditionally generate developer docs
-# --enable-devel-docs: 'yes' user instructs the module to generate developer docs
-# 'no' user instructs the module not to generate developer docs
-# parm1: specify the default value, yes or no.
-#
-AC_DEFUN([XORG_ENABLE_DEVEL_DOCS],[
-devel_default=$1
-if test "x$devel_default" = x ; then
- devel_default="yes"
-fi
-AC_ARG_ENABLE(devel-docs,
- AS_HELP_STRING([--enable-devel-docs],
- [Enable building the developer documentation (default: yes)]),
- [build_devel_docs=$enableval], [build_devel_docs=$devel_default])
-AM_CONDITIONAL(ENABLE_DEVEL_DOCS, [test x$build_devel_docs = xyes])
-AC_MSG_CHECKING([whether to build developer documentation])
-AC_MSG_RESULT([$build_devel_docs])
-]) # XORG_ENABLE_DEVEL_DOCS
-
-# XORG_ENABLE_SPECS (enable_specs=yes)
-# ----------------
-# Minimum version: 1.6.0
-#
-# This macro enables a builder to skip all functional specification targets.
-# Combined with the specific tool checking macros XORG_WITH_*, it provides
-# maximum flexibilty in controlling documentation building.
-# Refer to:
-# XORG_WITH_XMLTO --with-xmlto
-# XORG_WITH_ASCIIDOC --with-asciidoc
-# XORG_WITH_DOXYGEN --with-doxygen
-# XORG_WITH_FOP --with-fop
-# XORG_WITH_GROFF --with-groff
-# XORG_WITH_PS2PDF --with-ps2pdf
-#
-# Interface to module:
-# ENABLE_SPECS: used in makefiles to conditionally generate specs
-# --enable-specs: 'yes' user instructs the module to generate specs
-# 'no' user instructs the module not to generate specs
-# parm1: specify the default value, yes or no.
-#
-AC_DEFUN([XORG_ENABLE_SPECS],[
-spec_default=$1
-if test "x$spec_default" = x ; then
- spec_default="yes"
-fi
-AC_ARG_ENABLE(specs,
- AS_HELP_STRING([--enable-specs],
- [Enable building the specs (default: yes)]),
- [build_specs=$enableval], [build_specs=$spec_default])
-AM_CONDITIONAL(ENABLE_SPECS, [test x$build_specs = xyes])
-AC_MSG_CHECKING([whether to build functional specifications])
-AC_MSG_RESULT([$build_specs])
-]) # XORG_ENABLE_SPECS
-
-# XORG_CHECK_MALLOC_ZERO
-# ----------------------
-# Minimum version: 1.0.0
-#
-# Defines {MALLOC,XMALLOC,XTMALLOC}_ZERO_CFLAGS appropriately if
-# malloc(0) returns NULL. Packages should add one of these cflags to
-# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
-AC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
-AC_ARG_ENABLE(malloc0returnsnull,
- AS_HELP_STRING([--enable-malloc0returnsnull],
- [malloc(0) returns NULL (default: auto)]),
- [MALLOC_ZERO_RETURNS_NULL=$enableval],
- [MALLOC_ZERO_RETURNS_NULL=auto])
-
-AC_MSG_CHECKING([whether malloc(0) returns NULL])
-if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
- AC_RUN_IFELSE([
-char *malloc();
-char *realloc();
-char *calloc();
-main() {
- char *m0, *r0, *c0, *p;
- m0 = malloc(0);
- p = malloc(10);
- r0 = realloc(p,0);
- c0 = calloc(0);
- exit(m0 == 0 || r0 == 0 || c0 == 0 ? 0 : 1);
-}],
- [MALLOC_ZERO_RETURNS_NULL=yes],
- [MALLOC_ZERO_RETURNS_NULL=no],
- [MALLOC_ZERO_RETURNS_NULL=yes])
-fi
-AC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
-
-if test "x$MALLOC_ZERO_RETURNS_NULL" = xyes; then
- MALLOC_ZERO_CFLAGS="-DMALLOC_0_RETURNS_NULL"
- XMALLOC_ZERO_CFLAGS=$MALLOC_ZERO_CFLAGS
- XTMALLOC_ZERO_CFLAGS="$MALLOC_ZERO_CFLAGS -DXTMALLOC_BC"
-else
- MALLOC_ZERO_CFLAGS=""
- XMALLOC_ZERO_CFLAGS=""
- XTMALLOC_ZERO_CFLAGS=""
-fi
-
-AC_SUBST([MALLOC_ZERO_CFLAGS])
-AC_SUBST([XMALLOC_ZERO_CFLAGS])
-AC_SUBST([XTMALLOC_ZERO_CFLAGS])
-]) # XORG_CHECK_MALLOC_ZERO
-
-# XORG_WITH_LINT()
-# ----------------
-# Minimum version: 1.1.0
-#
-# This macro enables the use of a tool that flags some suspicious and
-# non-portable constructs (likely to be bugs) in C language source code.
-# It will attempt to locate the tool and use appropriate options.
-# There are various lint type tools on different platforms.
-#
-# Interface to module:
-# LINT: returns the path to the tool found on the platform
-# or the value set to LINT on the configure cmd line
-# also an Automake conditional
-# LINT_FLAGS: an Automake variable with appropriate flags
-#
-# --with-lint: 'yes' user instructs the module to use lint
-# 'no' user instructs the module not to use lint (default)
-#
-# If the user sets the value of LINT, AC_PATH_PROG skips testing the path.
-# If the user sets the value of LINT_FLAGS, they are used verbatim.
-#
-AC_DEFUN([XORG_WITH_LINT],[
-
-AC_ARG_VAR([LINT], [Path to a lint-style command])
-AC_ARG_VAR([LINT_FLAGS], [Flags for the lint-style command])
-AC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
- [Use a lint-style source code checker (default: disabled)])],
- [use_lint=$withval], [use_lint=no])
-
-# Obtain platform specific info like program name and options
-# The lint program on FreeBSD and NetBSD is different from the one on Solaris
-case $host_os in
- *linux* | *openbsd* | kfreebsd*-gnu | darwin* | cygwin*)
- lint_name=splint
- lint_options="-badflag"
- ;;
- *freebsd* | *netbsd*)
- lint_name=lint
- lint_options="-u -b"
- ;;
- *solaris*)
- lint_name=lint
- lint_options="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2"
- ;;
-esac
-
-# Test for the presence of the program (either guessed by the code or spelled out by the user)
-if test "x$use_lint" = x"yes" ; then
- AC_PATH_PROG([LINT], [$lint_name])
- if test "x$LINT" = "x"; then
- AC_MSG_ERROR([--with-lint=yes specified but lint-style tool not found in PATH])
- fi
-elif test "x$use_lint" = x"no" ; then
- if test "x$LINT" != "x"; then
- AC_MSG_WARN([ignoring LINT environment variable since --with-lint=no was specified])
- fi
-else
- AC_MSG_ERROR([--with-lint expects 'yes' or 'no'. Use LINT variable to specify path.])
-fi
-
-# User supplied flags override default flags
-if test "x$LINT_FLAGS" != "x"; then
- lint_options=$LINT_FLAGS
-fi
-
-AC_SUBST([LINT_FLAGS],[$lint_options])
-AM_CONDITIONAL(LINT, [test "x$LINT" != x])
-
-]) # XORG_WITH_LINT
-
-# XORG_LINT_LIBRARY(LIBNAME)
-# --------------------------
-# Minimum version: 1.1.0
-#
-# Sets up flags for building lint libraries for checking programs that call
-# functions in the library.
-#
-# Interface to module:
-# LINTLIB - Automake variable with the name of lint library file to make
-# MAKE_LINT_LIB - Automake conditional
-#
-# --enable-lint-library: - 'yes' user instructs the module to created a lint library
-# - 'no' user instructs the module not to create a lint library (default)
-
-AC_DEFUN([XORG_LINT_LIBRARY],[
-AC_REQUIRE([XORG_WITH_LINT])
-AC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
- [Create lint library (default: disabled)])],
- [make_lint_lib=$enableval], [make_lint_lib=no])
-
-if test "x$make_lint_lib" = x"yes" ; then
- LINTLIB=llib-l$1.ln
- if test "x$LINT" = "x"; then
- AC_MSG_ERROR([Cannot make lint library without --with-lint])
- fi
-elif test "x$make_lint_lib" != x"no" ; then
- AC_MSG_ERROR([--enable-lint-library expects 'yes' or 'no'.])
-fi
-
-AC_SUBST(LINTLIB)
-AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
-
-]) # XORG_LINT_LIBRARY
-
-# XORG_CWARNFLAGS
-# ---------------
-# Minimum version: 1.2.0
-#
-# Defines CWARNFLAGS to enable C compiler warnings.
-#
-AC_DEFUN([XORG_CWARNFLAGS], [
-AC_REQUIRE([AC_PROG_CC_C99])
-if test "x$GCC" = xyes ; then
- CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
--Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
--Wbad-function-cast -Wformat=2"
- case `$CC -dumpversion` in
- 3.4.* | 4.*)
- CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
- ;;
- esac
-else
- AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
- if test "x$SUNCC" = "xyes"; then
- CWARNFLAGS="-v"
- fi
-fi
-AC_SUBST(CWARNFLAGS)
-]) # XORG_CWARNFLAGS
-
-# XORG_STRICT_OPTION
-# -----------------------
-# Minimum version: 1.3.0
-#
-# Add configure option to enable strict compilation
-AC_DEFUN([XORG_STRICT_OPTION], [
-# If the module's configure.ac calls AC_PROG_CC later on, CC gets set to C89
-AC_REQUIRE([AC_PROG_CC_C99])
-AC_REQUIRE([XORG_CWARNFLAGS])
-
-AC_ARG_ENABLE(strict-compilation,
- AS_HELP_STRING([--enable-strict-compilation],
- [Enable all warnings from compiler and make them errors (default: disabled)]),
- [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
-if test "x$STRICT_COMPILE" = "xyes"; then
- AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
- AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
- if test "x$GCC" = xyes ; then
- STRICT_CFLAGS="-pedantic -Werror"
- elif test "x$SUNCC" = "xyes"; then
- STRICT_CFLAGS="-errwarn"
- elif test "x$INTELCC" = "xyes"; then
- STRICT_CFLAGS="-Werror"
- fi
-fi
-CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
-AC_SUBST([CWARNFLAGS])
-]) # XORG_STRICT_OPTION
-
-# XORG_DEFAULT_OPTIONS
-# --------------------
-# Minimum version: 1.3.0
-#
-# Defines default options for X.Org modules.
-#
-AC_DEFUN([XORG_DEFAULT_OPTIONS], [
-AC_REQUIRE([AC_PROG_INSTALL])
-XORG_CWARNFLAGS
-XORG_STRICT_OPTION
-XORG_RELEASE_VERSION
-XORG_CHANGELOG
-XORG_INSTALL
-XORG_MANPAGE_SECTIONS
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
- [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
-]) # XORG_DEFAULT_OPTIONS
-
-# XORG_INSTALL()
-# ----------------
-# Minimum version: 1.4.0
-#
-# Defines the variable INSTALL_CMD as the command to copy
-# INSTALL from $prefix/share/util-macros.
-#
-AC_DEFUN([XORG_INSTALL], [
-AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
-INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
-mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
-|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \
-echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)"
-AC_SUBST([INSTALL_CMD])
-]) # XORG_INSTALL
-dnl Copyright 2005 Red Hat, Inc
-dnl
-dnl Permission to use, copy, modify, distribute, and sell this software and its
-dnl documentation for any purpose is hereby granted without fee, provided that
-dnl the above copyright notice appear in all copies and that both that
-dnl copyright notice and this permission notice appear in supporting
-dnl documentation.
-dnl
-dnl The above copyright notice and this permission notice shall be included
-dnl in all copies or substantial portions of the Software.
-dnl
-dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-dnl OTHER DEALINGS IN THE SOFTWARE.
-dnl
-dnl Except as contained in this notice, the name of the copyright holders shall
-dnl not be used in advertising or otherwise to promote the sale, use or
-dnl other dealings in this Software without prior written authorization
-dnl from the copyright holders.
-dnl
-
-# XORG_RELEASE_VERSION
-# --------------------
-# Defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use.
-
-AC_DEFUN([XORG_RELEASE_VERSION],[
- AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
- [`echo $PACKAGE_VERSION | cut -d . -f 1`],
- [Major version of this package])
- PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
- if test "x$PVM" = "x"; then
- PVM="0"
- fi
- AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
- [$PVM],
- [Minor version of this package])
- PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
- if test "x$PVP" = "x"; then
- PVP="0"
- fi
- AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL],
- [$PVP],
- [Patch version of this package])
-])
-
-# XORG_CHANGELOG()
-# ----------------
-# Minimum version: 1.2.0
-#
-# Defines the variable CHANGELOG_CMD as the command to generate
-# ChangeLog from git.
-#
-#
-AC_DEFUN([XORG_CHANGELOG], [
-CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \
-mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
-|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \
-echo 'git directory not found: installing possibly empty changelog.' >&2)"
-AC_SUBST([CHANGELOG_CMD])
-]) # XORG_CHANGELOG
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.1], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too. Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well. Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
- [enable], [m4_define([am_maintainer_other], [disable])],
- [disable], [m4_define([am_maintainer_other], [enable])],
- [m4_define([am_maintainer_other], [enable])
- m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
- dnl maintainer-mode's default is 'disable' unless 'enable' is passed
- AC_ARG_ENABLE([maintainer-mode],
-[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- [USE_MAINTAINER_MODE=$enableval],
- [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST([MAINT])dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
- [[\\/$]]* | ?:[[\\/]]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[[\\\"\#\$\&\'\`$am_lf]]*)
- AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# (`yes' being less verbose, `no' or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules],
-[ --enable-silent-rules less verbose build output (undo: `make V=1')
- --disable-silent-rules verbose build output (undo: `make V=0')])
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no) AM_DEFAULT_VERBOSITY=1;;
-*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
diff --git a/X11/extensions/autogen.sh b/X11/extensions/autogen.sh
deleted file mode 100644
index 904cd6746..000000000
--- a/X11/extensions/autogen.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#! /bin/sh
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-ORIGDIR=`pwd`
-cd $srcdir
-
-autoreconf -v --install || exit 1
-cd $ORIGDIR || exit $?
-
-$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/X11/extensions/configure b/X11/extensions/configure
deleted file mode 100644
index 3c931549a..000000000
--- a/X11/extensions/configure
+++ /dev/null
@@ -1,6811 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for XExtProto 7.1.2.
-#
-# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-if test "x$CONFIG_SHELL" = x; then
- if (eval ":") 2>/dev/null; then
- as_have_required=yes
-else
- as_have_required=no
-fi
-
- if test $as_have_required = yes && (eval ":
-(as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=\$LINENO
- as_lineno_2=\$LINENO
- test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
- test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
- :
-else
- as_candidate_shells=
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- case $as_dir in
- /*)
- for as_base in sh bash ksh sh5; do
- as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
- done;;
- esac
-done
-IFS=$as_save_IFS
-
-
- for as_shell in $as_candidate_shells $SHELL; do
- # Try only shells that exist, to save several forks.
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-_ASEOF
-}; then
- CONFIG_SHELL=$as_shell
- as_have_required=yes
- if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-(as_func_return () {
- (exit $1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
- break
-fi
-
-fi
-
- done
-
- if test "x$CONFIG_SHELL" != x; then
- for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
- if test $as_have_required = no; then
- echo This script requires a shell more modern than all the
- echo shells that I found on your system. Please install a
- echo modern shell, or manually run the script under such a
- echo shell if you do have one.
- { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
- echo No shell found that supports shell functions.
- echo Please tell bug-autoconf@gnu.org about your system,
- echo including any error possibly output before this message.
- echo This can help us improve future autoconf versions.
- echo Configuration will now proceed without shell functions.
-}
-
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-as_awk_strverscmp='
- # Use only awk features that work with 7th edition Unix awk (1978).
- # My, what an old awk you have, Mr. Solaris!
- END {
- while (length(v1) && length(v2)) {
- # Set d1 to be the next thing to compare from v1, and likewise for d2.
- # Normally this is a single character, but if v1 and v2 contain digits,
- # compare them as integers and fractions as strverscmp does.
- if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) {
- # Split v1 and v2 into their leading digit string components d1 and d2,
- # and advance v1 and v2 past the leading digit strings.
- for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue
- for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue
- d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1)
- d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1)
- if (d1 ~ /^0/) {
- if (d2 ~ /^0/) {
- # Compare two fractions.
- while (d1 ~ /^0/ && d2 ~ /^0/) {
- d1 = substr(d1, 2); len1--
- d2 = substr(d2, 2); len2--
- }
- if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) {
- # The two components differ in length, and the common prefix
- # contains only leading zeros. Consider the longer to be less.
- d1 = -len1
- d2 = -len2
- } else {
- # Otherwise, compare as strings.
- d1 = "x" d1
- d2 = "x" d2
- }
- } else {
- # A fraction is less than an integer.
- exit 1
- }
- } else {
- if (d2 ~ /^0/) {
- # An integer is greater than a fraction.
- exit 2
- } else {
- # Compare two integers.
- d1 += 0
- d2 += 0
- }
- }
- } else {
- # The normal case, without worrying about digits.
- d1 = substr(v1, 1, 1); v1 = substr(v1, 2)
- d2 = substr(v2, 1, 1); v2 = substr(v2, 2)
- }
- if (d1 < d2) exit 1
- if (d1 > d2) exit 2
- }
- # Beware Solaris /usr/xgp4/bin/awk (at least through Solaris 10),
- # which mishandles some comparisons of empty strings to integers.
- if (length(v2)) exit 1
- if (length(v1)) exit 2
- }
-'
-
-exec 7<&0 </dev/null 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Identity of this package.
-PACKAGE_NAME='XExtProto'
-PACKAGE_TARNAME='xextproto'
-PACKAGE_VERSION='7.1.2'
-PACKAGE_STRING='XExtProto 7.1.2'
-PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-HAVE_STYLESHEETS_FALSE
-HAVE_STYLESHEETS_TRUE
-XSL_STYLESHEET
-STYLESHEET_SRCDIR
-XORG_SGML_PATH
-HAVE_FOP_FALSE
-HAVE_FOP_TRUE
-FOP
-HAVE_XMLTO_FALSE
-HAVE_XMLTO_TRUE
-HAVE_XMLTO_TEXT_FALSE
-HAVE_XMLTO_TEXT_TRUE
-XMLTO
-ENABLE_SPECS_FALSE
-ENABLE_SPECS_TRUE
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-MAN_SUBSTS
-XORG_MAN_PAGE
-ADMIN_MAN_DIR
-DRIVER_MAN_DIR
-MISC_MAN_DIR
-FILE_MAN_DIR
-LIB_MAN_DIR
-APP_MAN_DIR
-ADMIN_MAN_SUFFIX
-DRIVER_MAN_SUFFIX
-MISC_MAN_SUFFIX
-FILE_MAN_SUFFIX
-LIB_MAN_SUFFIX
-APP_MAN_SUFFIX
-SED
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-INSTALL_CMD
-PKG_CONFIG
-CHANGELOG_CMD
-CWARNFLAGS
-EGREP
-GREP
-CPP
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_maintainer_mode
-enable_dependency_tracking
-enable_strict_compilation
-enable_silent_rules
-enable_specs
-with_xmlto
-with_fop
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP
-PKG_CONFIG
-XMLTO
-FOP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
- { (exit 1); exit 1; }; }
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
- { (exit 1); exit 1; }; }
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
- { (exit 1); exit 1; }; }
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
- { (exit 1); exit 1; }; }
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { $as_echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
- { (exit 1); exit 1; }; } ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; }
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { $as_echo "$as_me: error: working directory cannot be determined" >&2
- { (exit 1); exit 1; }; }
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
- { (exit 1); exit 1; }; }
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
- { (exit 1); exit 1; }; }
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures XExtProto 7.1.2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/xextproto]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of XExtProto 7.1.2:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-strict-compilation
- Enable all warnings from compiler and make them
- errors (default: disabled)
- --enable-silent-rules less verbose build output (undo: `make V=1')
- --disable-silent-rules verbose build output (undo: `make V=0')
- --enable-specs Enable building the specs (default: yes)
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-xmlto Use xmlto to regenerate documentation (default: yes,
- if installed)
- --with-fop Use fop to regenerate documentation (default: yes,
- if installed)
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
- PKG_CONFIG path to pkg-config utility
- XMLTO Path to xmlto command
- FOP Path to fop command
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-XExtProto configure 7.1.2
-generated by GNU Autoconf 2.63
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by XExtProto $as_me 7.1.2, which was
-generated by GNU Autoconf 2.63. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
-done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- ac_configure_args="$ac_configure_args '$ac_arg'"
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- ac_site_file1=$CONFIG_SITE
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test -r "$ac_site_file"; then
- { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-am__api_version='1.11'
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
-done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5
-$as_echo "$as_me: error: unsafe absolute working directory name" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5
-$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&5
-$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-$as_echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
- { (exit 1); exit 1; }; }
-fi
-{ $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if test "${ac_cv_path_mkdir+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
-done
-IFS=$as_save_IFS
-
-fi
-
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- test -d ./--version && rmdir ./--version
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:$LINENO: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
- { (exit 1); exit 1; }; }
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='xextproto'
- VERSION='7.1.2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-{ $as_echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-# Require xorg-macros minimum of 1.10 for DocBook XML documentation
-
-
-
-
-
-
-
-
-
-
-
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compiler -V >&5") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { (ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-
-{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-if test -z "$ac_file"; then
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
- fi
- fi
-fi
-{ $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_compiler_gnu=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_compiler_gnu=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- CFLAGS=""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- :
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_c89=$ac_arg
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:$LINENO: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:$LINENO: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
- { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5
-$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
-if test "${ac_cv_prog_cc_c99+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c99=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdbool.h>
-#include <stdlib.h>
-#include <wchar.h>
-#include <stdio.h>
-
-// Check varargs macros. These examples are taken from C99 6.10.3.5.
-#define debug(...) fprintf (stderr, __VA_ARGS__)
-#define showlist(...) puts (#__VA_ARGS__)
-#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
-static void
-test_varargs_macros (void)
-{
- int x = 1234;
- int y = 5678;
- debug ("Flag");
- debug ("X = %d\n", x);
- showlist (The first, second, and third items.);
- report (x>y, "x is %d but y is %d", x, y);
-}
-
-// Check long long types.
-#define BIG64 18446744073709551615ull
-#define BIG32 4294967295ul
-#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
-#if !BIG_OK
- your preprocessor is broken;
-#endif
-#if BIG_OK
-#else
- your preprocessor is broken;
-#endif
-static long long int bignum = -9223372036854775807LL;
-static unsigned long long int ubignum = BIG64;
-
-struct incomplete_array
-{
- int datasize;
- double data[];
-};
-
-struct named_init {
- int number;
- const wchar_t *name;
- double average;
-};
-
-typedef const char *ccp;
-
-static inline int
-test_restrict (ccp restrict text)
-{
- // See if C++-style comments work.
- // Iterate through items via the restricted pointer.
- // Also check for declarations in for loops.
- for (unsigned int i = 0; *(text+i) != '\0'; ++i)
- continue;
- return 0;
-}
-
-// Check varargs and va_copy.
-static void
-test_varargs (const char *format, ...)
-{
- va_list args;
- va_start (args, format);
- va_list args_copy;
- va_copy (args_copy, args);
-
- const char *str;
- int number;
- float fnumber;
-
- while (*format)
- {
- switch (*format++)
- {
- case 's': // string
- str = va_arg (args_copy, const char *);
- break;
- case 'd': // int
- number = va_arg (args_copy, int);
- break;
- case 'f': // float
- fnumber = va_arg (args_copy, double);
- break;
- default:
- break;
- }
- }
- va_end (args_copy);
- va_end (args);
-}
-
-int
-main ()
-{
-
- // Check bool.
- _Bool success = false;
-
- // Check restrict.
- if (test_restrict ("String literal") == 0)
- success = true;
- char *restrict newvar = "Another string";
-
- // Check varargs.
- test_varargs ("s, d' f .", "string", 65, 34.234);
- test_varargs_macros ();
-
- // Check flexible array members.
- struct incomplete_array *ia =
- malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
- ia->datasize = 10;
- for (int i = 0; i < ia->datasize; ++i)
- ia->data[i] = i * 1.234;
-
- // Check named initializers.
- struct named_init ni = {
- .number = 34,
- .name = L"Test wide string",
- .average = 543.34343,
- };
-
- ni.number = 58;
-
- int dynamic_array[ni.number];
- dynamic_array[ni.number - 1] = 543;
-
- // work around unused variable warnings
- return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
- || dynamic_array[ni.number - 1] != 543);
-
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_c99=$ac_arg
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c99" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c99" in
- x)
- { $as_echo "$as_me:$LINENO: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:$LINENO: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c99"
- { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5
-$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
-esac
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- # Broken: success on invalid input.
-continue
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- # Broken: success on invalid input.
-continue
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
-done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
-done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_header_stdc=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_header_stdc=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
- { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
- ac_pt_PKG_CONFIG=$PKG_CONFIG
- # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $ac_pt_PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
- { $as_echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_pt_PKG_CONFIG" = x; then
- PKG_CONFIG=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- PKG_CONFIG=$ac_pt_PKG_CONFIG
- fi
-else
- PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
- _pkg_min_version=0.9.0
- { $as_echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- PKG_CONFIG=""
- fi
-
-fi
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
- { (exit 1); exit 1; }; }
-
-{ $as_echo "$as_me:$LINENO: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-$as_echo "$as_me: error: invalid value of canonical build" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:$LINENO: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-$as_echo "$as_me: error: invalid value of canonical host" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- $as_unset ac_script || ac_script=
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
-done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-
-
-
-
-if test "x$GCC" = xyes ; then
- CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
--Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
--Wbad-function-cast -Wformat=2"
- case `$CC -dumpversion` in
- 3.4.* | 4.*)
- CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
- ;;
- esac
-else
- { $as_echo "$as_me:$LINENO: checking whether __SUNPRO_C is declared" >&5
-$as_echo_n "checking whether __SUNPRO_C is declared... " >&6; }
-if test "${ac_cv_have_decl___SUNPRO_C+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-#ifndef __SUNPRO_C
- (void) __SUNPRO_C;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_have_decl___SUNPRO_C=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_have_decl___SUNPRO_C=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___SUNPRO_C" >&5
-$as_echo "$ac_cv_have_decl___SUNPRO_C" >&6; }
-if test "x$ac_cv_have_decl___SUNPRO_C" = x""yes; then
- SUNCC="yes"
-else
- SUNCC="no"
-fi
-
- if test "x$SUNCC" = "xyes"; then
- CWARNFLAGS="-v"
- fi
-fi
-
-
-
-# If the module's configure.ac calls AC_PROG_CC later on, CC gets set to C89
-
-
-
-# Check whether --enable-strict-compilation was given.
-if test "${enable_strict_compilation+set}" = set; then
- enableval=$enable_strict_compilation; STRICT_COMPILE=$enableval
-else
- STRICT_COMPILE=no
-fi
-
-if test "x$STRICT_COMPILE" = "xyes"; then
- { $as_echo "$as_me:$LINENO: checking whether __SUNPRO_C is declared" >&5
-$as_echo_n "checking whether __SUNPRO_C is declared... " >&6; }
-if test "${ac_cv_have_decl___SUNPRO_C+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-#ifndef __SUNPRO_C
- (void) __SUNPRO_C;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_have_decl___SUNPRO_C=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_have_decl___SUNPRO_C=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___SUNPRO_C" >&5
-$as_echo "$ac_cv_have_decl___SUNPRO_C" >&6; }
-if test "x$ac_cv_have_decl___SUNPRO_C" = x""yes; then
- SUNCC="yes"
-else
- SUNCC="no"
-fi
-
- { $as_echo "$as_me:$LINENO: checking whether __INTEL_COMPILER is declared" >&5
-$as_echo_n "checking whether __INTEL_COMPILER is declared... " >&6; }
-if test "${ac_cv_have_decl___INTEL_COMPILER+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-#ifndef __INTEL_COMPILER
- (void) __INTEL_COMPILER;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_have_decl___INTEL_COMPILER=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_have_decl___INTEL_COMPILER=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___INTEL_COMPILER" >&5
-$as_echo "$ac_cv_have_decl___INTEL_COMPILER" >&6; }
-if test "x$ac_cv_have_decl___INTEL_COMPILER" = x""yes; then
- INTELCC="yes"
-else
- INTELCC="no"
-fi
-
- if test "x$GCC" = xyes ; then
- STRICT_CFLAGS="-pedantic -Werror"
- elif test "x$SUNCC" = "xyes"; then
- STRICT_CFLAGS="-errwarn"
- elif test "x$INTELCC" = "xyes"; then
- STRICT_CFLAGS="-Werror"
- fi
-fi
-CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION_MAJOR `echo $PACKAGE_VERSION | cut -d . -f 1`
-_ACEOF
-
- PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
- if test "x$PVM" = "x"; then
- PVM="0"
- fi
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION_MINOR $PVM
-_ACEOF
-
- PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
- if test "x$PVP" = "x"; then
- PVP="0"
- fi
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION_PATCHLEVEL $PVP
-_ACEOF
-
-
-
-CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \
-mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
-|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \
-echo 'git directory not found: installing possibly empty changelog.' >&2)"
-
-
-
-
-macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
-INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
-mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
-|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \
-echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)"
-
-
-
-
-
-
-if test x$APP_MAN_SUFFIX = x ; then
- APP_MAN_SUFFIX=1
-fi
-if test x$APP_MAN_DIR = x ; then
- APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)'
-fi
-
-if test x$LIB_MAN_SUFFIX = x ; then
- LIB_MAN_SUFFIX=3
-fi
-if test x$LIB_MAN_DIR = x ; then
- LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)'
-fi
-
-if test x$FILE_MAN_SUFFIX = x ; then
- case $host_os in
- solaris*) FILE_MAN_SUFFIX=4 ;;
- *) FILE_MAN_SUFFIX=5 ;;
- esac
-fi
-if test x$FILE_MAN_DIR = x ; then
- FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)'
-fi
-
-if test x$MISC_MAN_SUFFIX = x ; then
- case $host_os in
- solaris*) MISC_MAN_SUFFIX=5 ;;
- *) MISC_MAN_SUFFIX=7 ;;
- esac
-fi
-if test x$MISC_MAN_DIR = x ; then
- MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)'
-fi
-
-if test x$DRIVER_MAN_SUFFIX = x ; then
- case $host_os in
- solaris*) DRIVER_MAN_SUFFIX=7 ;;
- *) DRIVER_MAN_SUFFIX=4 ;;
- esac
-fi
-if test x$DRIVER_MAN_DIR = x ; then
- DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)'
-fi
-
-if test x$ADMIN_MAN_SUFFIX = x ; then
- case $host_os in
- solaris*) ADMIN_MAN_SUFFIX=1m ;;
- *) ADMIN_MAN_SUFFIX=8 ;;
- esac
-fi
-if test x$ADMIN_MAN_DIR = x ; then
- ADMIN_MAN_DIR='$(mandir)/man$(ADMIN_MAN_SUFFIX)'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XORG_MAN_PAGE="X Version 11"
-
-MAN_SUBSTS="\
- -e 's|__vendorversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
- -e 's|__xorgversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
- -e 's|__xservername__|Xorg|g' \
- -e 's|__xconfigfile__|xorg.conf|g' \
- -e 's|__projectroot__|\$(prefix)|g' \
- -e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \
- -e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \
- -e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \
- -e 's|__libmansuffix__|\$(LIB_MAN_SUFFIX)|g' \
- -e 's|__miscmansuffix__|\$(MISC_MAN_SUFFIX)|g' \
- -e 's|__filemansuffix__|\$(FILE_MAN_SUFFIX)|g'"
-
-
-
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then
- enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no) AM_DEFAULT_VERBOSITY=1;;
-*) AM_DEFAULT_VERBOSITY=0;;
-esac
-AM_BACKSLASH='\'
-
-
-
-spec_default=
-if test "x$spec_default" = x ; then
- spec_default="yes"
-fi
-# Check whether --enable-specs was given.
-if test "${enable_specs+set}" = set; then
- enableval=$enable_specs; build_specs=$enableval
-else
- build_specs=$spec_default
-fi
-
- if test x$build_specs = xyes; then
- ENABLE_SPECS_TRUE=
- ENABLE_SPECS_FALSE='#'
-else
- ENABLE_SPECS_TRUE='#'
- ENABLE_SPECS_FALSE=
-fi
-
-{ $as_echo "$as_me:$LINENO: checking whether to build functional specifications" >&5
-$as_echo_n "checking whether to build functional specifications... " >&6; }
-{ $as_echo "$as_me:$LINENO: result: $build_specs" >&5
-$as_echo "$build_specs" >&6; }
-
-
-
-
-# Check whether --with-xmlto was given.
-if test "${with_xmlto+set}" = set; then
- withval=$with_xmlto; use_xmlto=$withval
-else
- use_xmlto=auto
-fi
-
-
-if test "x$use_xmlto" = x"auto"; then
- # Extract the first word of "xmlto", so it can be a program name with args.
-set dummy xmlto; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XMLTO+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $XMLTO in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_XMLTO="$XMLTO" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_XMLTO="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-XMLTO=$ac_cv_path_XMLTO
-if test -n "$XMLTO"; then
- { $as_echo "$as_me:$LINENO: result: $XMLTO" >&5
-$as_echo "$XMLTO" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$XMLTO" = "x"; then
- { $as_echo "$as_me:$LINENO: WARNING: xmlto not found - documentation targets will be skipped" >&5
-$as_echo "$as_me: WARNING: xmlto not found - documentation targets will be skipped" >&2;}
- have_xmlto=no
- else
- have_xmlto=yes
- fi
-elif test "x$use_xmlto" = x"yes" ; then
- # Extract the first word of "xmlto", so it can be a program name with args.
-set dummy xmlto; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XMLTO+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $XMLTO in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_XMLTO="$XMLTO" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_XMLTO="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-XMLTO=$ac_cv_path_XMLTO
-if test -n "$XMLTO"; then
- { $as_echo "$as_me:$LINENO: result: $XMLTO" >&5
-$as_echo "$XMLTO" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$XMLTO" = "x"; then
- { { $as_echo "$as_me:$LINENO: error: --with-xmlto=yes specified but xmlto not found in PATH" >&5
-$as_echo "$as_me: error: --with-xmlto=yes specified but xmlto not found in PATH" >&2;}
- { (exit 1); exit 1; }; }
- fi
- have_xmlto=yes
-elif test "x$use_xmlto" = x"no" ; then
- if test "x$XMLTO" != "x"; then
- { $as_echo "$as_me:$LINENO: WARNING: ignoring XMLTO environment variable since --with-xmlto=no was specified" >&5
-$as_echo "$as_me: WARNING: ignoring XMLTO environment variable since --with-xmlto=no was specified" >&2;}
- fi
- have_xmlto=no
-else
- { { $as_echo "$as_me:$LINENO: error: --with-xmlto expects 'yes' or 'no'" >&5
-$as_echo "$as_me: error: --with-xmlto expects 'yes' or 'no'" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# Test for a minimum version of xmlto, if provided.
-if test "$have_xmlto" = yes; then
- # scrape the xmlto version
- { $as_echo "$as_me:$LINENO: checking the xmlto version" >&5
-$as_echo_n "checking the xmlto version... " >&6; }
- xmlto_version=`$XMLTO --version 2>/dev/null | cut -d' ' -f3`
- { $as_echo "$as_me:$LINENO: result: $xmlto_version" >&5
-$as_echo "$xmlto_version" >&6; }
- as_arg_v1=$xmlto_version
-as_arg_v2=0.0.20
-awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
-case $? in
-1) if test "x$use_xmlto" = xauto; then
- { $as_echo "$as_me:$LINENO: WARNING: xmlto version $xmlto_version found, but 0.0.20 needed" >&5
-$as_echo "$as_me: WARNING: xmlto version $xmlto_version found, but 0.0.20 needed" >&2;}
- have_xmlto=no
- else
- { { $as_echo "$as_me:$LINENO: error: xmlto version $xmlto_version found, but 0.0.20 needed" >&5
-$as_echo "$as_me: error: xmlto version $xmlto_version found, but 0.0.20 needed" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
-0) ;;
-2) ;;
-esac
-fi
-
-# Test for the ability of xmlto to generate a text target
-have_xmlto_text=no
-cat > conftest.xml << "EOF"
-EOF
-if test "$have_xmlto" = yes; then
- if $XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1; then
- have_xmlto_text=yes
-else
- { $as_echo "$as_me:$LINENO: WARNING: xmlto cannot generate text format, this format skipped" >&5
-$as_echo "$as_me: WARNING: xmlto cannot generate text format, this format skipped" >&2;}
-fi
-
-fi
-
-rm -f conftest.xml
- if test $have_xmlto_text = yes; then
- HAVE_XMLTO_TEXT_TRUE=
- HAVE_XMLTO_TEXT_FALSE='#'
-else
- HAVE_XMLTO_TEXT_TRUE='#'
- HAVE_XMLTO_TEXT_FALSE=
-fi
-
- if test "$have_xmlto" = yes; then
- HAVE_XMLTO_TRUE=
- HAVE_XMLTO_FALSE='#'
-else
- HAVE_XMLTO_TRUE='#'
- HAVE_XMLTO_FALSE=
-fi
-
-
-
-
-
-# Check whether --with-fop was given.
-if test "${with_fop+set}" = set; then
- withval=$with_fop; use_fop=$withval
-else
- use_fop=auto
-fi
-
-
-if test "x$use_fop" = x"auto"; then
- # Extract the first word of "fop", so it can be a program name with args.
-set dummy fop; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_FOP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $FOP in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_FOP="$FOP" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_FOP="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-FOP=$ac_cv_path_FOP
-if test -n "$FOP"; then
- { $as_echo "$as_me:$LINENO: result: $FOP" >&5
-$as_echo "$FOP" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$FOP" = "x"; then
- { $as_echo "$as_me:$LINENO: WARNING: fop not found - documentation targets will be skipped" >&5
-$as_echo "$as_me: WARNING: fop not found - documentation targets will be skipped" >&2;}
- have_fop=no
- else
- have_fop=yes
- fi
-elif test "x$use_fop" = x"yes" ; then
- # Extract the first word of "fop", so it can be a program name with args.
-set dummy fop; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_FOP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $FOP in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_FOP="$FOP" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_FOP="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-FOP=$ac_cv_path_FOP
-if test -n "$FOP"; then
- { $as_echo "$as_me:$LINENO: result: $FOP" >&5
-$as_echo "$FOP" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$FOP" = "x"; then
- { { $as_echo "$as_me:$LINENO: error: --with-fop=yes specified but fop not found in PATH" >&5
-$as_echo "$as_me: error: --with-fop=yes specified but fop not found in PATH" >&2;}
- { (exit 1); exit 1; }; }
- fi
- have_fop=yes
-elif test "x$use_fop" = x"no" ; then
- if test "x$FOP" != "x"; then
- { $as_echo "$as_me:$LINENO: WARNING: ignoring FOP environment variable since --with-fop=no was specified" >&5
-$as_echo "$as_me: WARNING: ignoring FOP environment variable since --with-fop=no was specified" >&2;}
- fi
- have_fop=no
-else
- { { $as_echo "$as_me:$LINENO: error: --with-fop expects 'yes' or 'no'" >&5
-$as_echo "$as_me: error: --with-fop expects 'yes' or 'no'" >&2;}
- { (exit 1); exit 1; }; }
-fi
- if test "$have_fop" = yes; then
- HAVE_FOP_TRUE=
- HAVE_FOP_FALSE='#'
-else
- HAVE_FOP_TRUE='#'
- HAVE_FOP_FALSE=
-fi
-
-
-
-{ $as_echo "$as_me:$LINENO: checking for X.Org SGML entities >= 1.5" >&5
-$as_echo_n "checking for X.Org SGML entities >= 1.5... " >&6; }
-XORG_SGML_PATH=
-if test -n "$PKG_CONFIG" && \
- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-sgml-doctools >= 1.5\"") >&5
- ($PKG_CONFIG --exists --print-errors "xorg-sgml-doctools >= 1.5") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- XORG_SGML_PATH=`$PKG_CONFIG --variable=sgmlrootdir xorg-sgml-doctools`
-else
- :
-
-fi
-
-# Define variables STYLESHEET_SRCDIR and XSL_STYLESHEET containing
-# the path and the name of the doc stylesheet
-if test "x$XORG_SGML_PATH" != "x" ; then
- { $as_echo "$as_me:$LINENO: result: $XORG_SGML_PATH" >&5
-$as_echo "$XORG_SGML_PATH" >&6; }
- STYLESHEET_SRCDIR=$XORG_SGML_PATH/X11
- XSL_STYLESHEET=$STYLESHEET_SRCDIR/xorg.xsl
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
- if test "x$XSL_STYLESHEET" != "x"; then
- HAVE_STYLESHEETS_TRUE=
- HAVE_STYLESHEETS_FALSE='#'
-else
- HAVE_STYLESHEETS_TRUE='#'
- HAVE_STYLESHEETS_FALSE=
-fi
-
-
-
-ac_config_files="$ac_config_files Makefile specs/Makefile xextproto.pc"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- test "x$cache_file" != "x/dev/null" &&
- { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
- else
- { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then branch to the quote section. Otherwise,
-# look for a macro that doesn't take arguments.
-ac_script='
-:mline
-/\\$/{
- N
- s,\\\n,,
- b mline
-}
-t clear
-:clear
-s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
-t quote
-s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
-t quote
-b any
-:quote
-s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
-s/\[/\\&/g
-s/\]/\\&/g
-s/\$/$$/g
-H
-:any
-${
- g
- s/^\n//
- s/\n/ /g
- p
-}
-'
-DEFS=`sed -n "$ac_script" confdefs.h`
-
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_SPECS_TRUE}" && test -z "${ENABLE_SPECS_FALSE}"; then
- { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_SPECS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"ENABLE_SPECS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${HAVE_XMLTO_TEXT_TRUE}" && test -z "${HAVE_XMLTO_TEXT_FALSE}"; then
- { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_XMLTO_TEXT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HAVE_XMLTO_TEXT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${HAVE_XMLTO_TRUE}" && test -z "${HAVE_XMLTO_FALSE}"; then
- { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_XMLTO\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HAVE_XMLTO\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${HAVE_FOP_TRUE}" && test -z "${HAVE_FOP_FALSE}"; then
- { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_FOP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HAVE_FOP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${HAVE_STYLESHEETS_TRUE}" && test -z "${HAVE_STYLESHEETS_FALSE}"; then
- { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_STYLESHEETS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"HAVE_STYLESHEETS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-
-# Save the log message, to keep $[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by XExtProto $as_me 7.1.2, which was
-generated by GNU Autoconf 2.63. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTION]... [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
-
-Configuration files:
-$config_files
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_version="\\
-XExtProto config.status 7.1.2
-configured by $0, generated by GNU Autoconf 2.63,
- with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2008 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h | --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { $as_echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "specs/Makefile") CONFIG_FILES="$CONFIG_FILES specs/Makefile" ;;
- "xextproto.pc") CONFIG_FILES="$CONFIG_FILES xextproto.pc" ;;
-
- *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp=
- trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} ||
-{
- $as_echo "$as_me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=' '
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\).*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\).*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
- || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
-$as_echo "$as_me: error: could not setup config files machinery" >&2;}
- { (exit 1); exit 1; }; }
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[ ]*\):*/\1/
-s/:*$//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-
-eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
-$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
- { (exit 1); exit 1; }; };;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
- { (exit 1); exit 1; }; };;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- ac_file_inputs="$ac_file_inputs '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin" \
- || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir="$ac_dir"
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p
-'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
- || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
- { (exit 1); exit 1; }; }
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&2;}
-
- rm -f "$tmp/stdin"
- case $ac_file in
- -) cat "$tmp/out" && rm -f "$tmp/out";;
- *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
- esac \
- || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
- { (exit 1); exit 1; }; }
- ;;
-
-
- :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir=$dirpart/$fdir
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
-
- esac
-done # for ac_tag
-
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/X11/extensions/configure.ac b/X11/extensions/configure.ac
deleted file mode 100644
index 6c6824885..000000000
--- a/X11/extensions/configure.ac
+++ /dev/null
@@ -1,19 +0,0 @@
-AC_PREREQ([2.60])
-AC_INIT([XExtProto], [7.2.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
-AM_INIT_AUTOMAKE([foreign dist-bzip2])
-AM_MAINTAINER_MODE
-
-# Require xorg-macros minimum of 1.12 for DocBook external references
-m4_ifndef([XORG_MACROS_VERSION],
- [m4_fatal([must install xorg-macros 1.12 or later before running autoconf/autogen])])
-XORG_MACROS_VERSION(1.12)
-XORG_DEFAULT_OPTIONS
-XORG_ENABLE_SPECS
-XORG_WITH_XMLTO(0.0.22)
-XORG_WITH_FOP
-XORG_WITH_XSLTPROC
-XORG_CHECK_SGML_DOCTOOLS(1.8)
-
-AC_OUTPUT([Makefile
- specs/Makefile
- xextproto.pc])
diff --git a/X11/extensions/docbook.am b/X11/extensions/docbook.am
deleted file mode 100644
index 2ffb7e60a..000000000
--- a/X11/extensions/docbook.am
+++ /dev/null
@@ -1,97 +0,0 @@
-#
-# Generate output formats for a single DocBook/XML with/without chapters
-#
-# Variables set by the calling Makefile:
-# shelfdir: the location where the docs/specs are installed. Typically $(docdir)
-# docbook: the main DocBook/XML file, no chapters, appendix or image files
-# chapters: all files pulled in by an XInclude statement and images.
-#
-
-#
-# This makefile is intended for Users Documentation and Functional Specifications.
-# Do not use for Developer Documentation which is not installed and does not require olink.
-# Refer to http://www.x.org/releases/X11R7.6/doc/xorg-docs/ReleaseNotes.html#id2584393
-# for an explanation on documents classification.
-#
-
-# DocBook/XML generated output formats to be installed
-shelf_DATA =
-
-# DocBook/XML file with chapters, appendix and images it includes
-dist_shelf_DATA = $(docbook) $(chapters)
-
-if HAVE_XMLTO
-#
-# Generate DocBook/XML output formats with or without stylesheets
-#
-
-# Stylesheets are available if the package xorg-sgml-doctools is installed
-if HAVE_STYLESHEETS
-
-# The location where all cross reference databases are installed
-sgmldbsdir = $(XORG_SGML_PATH)/X11/dbs
-masterdb = "$(sgmldbsdir)/masterdb$(suffix $@).xml"
-XMLTO_FLAGS = \
- --searchpath "$(XORG_SGML_PATH)/X11" \
- --stringparam target.database.document=$(masterdb) \
- --stringparam current.docid="$(<:.xml=)" \
- --stringparam collect.xref.targets="no"
-
-XMLTO_XHTML_FLAGS = \
- -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl \
- --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
-
-XMLTO_FO_FLAGS = \
- -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl
-endif HAVE_STYLESHEETS
-
-shelf_DATA += $(docbook:.xml=.html)
-%.html: %.xml $(chapters)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) xhtml-nochunks $<
-
-if HAVE_FOP
-shelf_DATA += $(docbook:.xml=.pdf) $(docbook:.xml=.ps)
-%.pdf: %.xml $(chapters)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop pdf $<
-%.ps: %.xml $(chapters)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop ps $<
-endif HAVE_FOP
-
-if HAVE_XMLTO_TEXT
-shelf_DATA += $(docbook:.xml=.txt)
-%.txt: %.xml $(chapters)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) txt $<
-endif HAVE_XMLTO_TEXT
-
-#
-# Generate documents cross-reference target databases
-#
-
-# This is only possible if the xorg-sgml-doctools package is installed
-if HAVE_STYLESHEETS
-if HAVE_XSLTPROC
-
-# DocBook/XML generated document cross-reference database
-shelf_DATA += $(docbook:.xml=.html.db) $(docbook:.xml=.fo.db)
-
-# Generate DocBook/XML document cross-reference database
-# Flags for the XSL Transformation processor generating xref target databases
-XSLTPROC_FLAGS = \
- --path "$(XORG_SGML_PATH)/X11" \
- --stringparam targets.filename "$@" \
- --stringparam collect.xref.targets "only" \
- --nonet --xinclude
-
-%.html.db: %.xml $(chapters)
- $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \
- http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl $<
-
-%.fo.db: %.xml $(chapters)
- $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \
- http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl $<
-
-endif HAVE_XSLTPROC
-endif HAVE_STYLESHEETS
-endif HAVE_XMLTO
-
-CLEANFILES = $(shelf_DATA)
diff --git a/X11/extensions/install-sh b/X11/extensions/install-sh
deleted file mode 100644
index 6781b987b..000000000
--- a/X11/extensions/install-sh
+++ /dev/null
@@ -1,520 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2009-04-28.21; # UTC
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# 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 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
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-
-nl='
-'
-IFS=" "" $nl"
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit=${DOITPROG-}
-if test -z "$doit"; then
- doit_exec=exec
-else
- doit_exec=$doit
-fi
-
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
-
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_glob='?'
-initialize_posix_glob='
- test "$posix_glob" != "?" || {
- if (set -f) 2>/dev/null; then
- posix_glob=
- else
- posix_glob=:
- fi
- }
-'
-
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chgrpcmd=
-chmodcmd=$chmodprog
-chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
-stripcmd=
-
-src=
-dst=
-dir_arg=
-dst_arg=
-
-copy_on_change=false
-no_target_directory=
-
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
- or: $0 [OPTION]... SRCFILES... DIRECTORY
- or: $0 [OPTION]... -t DIRECTORY SRCFILES...
- or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
- --help display this help and exit.
- --version display version info and exit.
-
- -c (ignored)
- -C install only if different (preserve the last data modification time)
- -d create directories instead of installing files.
- -g GROUP $chgrpprog installed files to GROUP.
- -m MODE $chmodprog installed files to MODE.
- -o USER $chownprog installed files to USER.
- -s $stripprog installed files.
- -t DIRECTORY install into DIRECTORY.
- -T report an error if DSTFILE is a directory.
-
-Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
- RMPROG STRIPPROG
-"
-
-while test $# -ne 0; do
- case $1 in
- -c) ;;
-
- -C) copy_on_change=true;;
-
- -d) dir_arg=true;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift;;
-
- --help) echo "$usage"; exit $?;;
-
- -m) mode=$2
- case $mode in
- *' '* | *' '* | *'
-'* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
-
- -o) chowncmd="$chownprog $2"
- shift;;
-
- -s) stripcmd=$stripprog;;
-
- -t) dst_arg=$2
- shift;;
-
- -T) no_target_directory=true;;
-
- --version) echo "$0 $scriptversion"; exit $?;;
-
- --) shift
- break;;
-
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
-
- *) break;;
- esac
- shift
-done
-
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
- # When -d is used, all remaining arguments are directories to create.
- # When -t is used, the destination is already specified.
- # Otherwise, the last argument is the destination. Remove it from $@.
- for arg
- do
- if test -n "$dst_arg"; then
- # $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dst_arg"
- shift # fnord
- fi
- shift # arg
- dst_arg=$arg
- done
-fi
-
-if test $# -eq 0; then
- if test -z "$dir_arg"; then
- echo "$0: no input file specified." >&2
- exit 1
- fi
- # It's OK to call `install-sh -d' without argument.
- # This can happen when creating conditional directories.
- exit 0
-fi
-
-if test -z "$dir_arg"; then
- trap '(exit $?); exit' 1 2 13 15
-
- # Set umask so as not to create temps with too-generous modes.
- # However, 'strip' requires both read and write access to temps.
- case $mode in
- # Optimize common cases.
- *644) cp_umask=133;;
- *755) cp_umask=22;;
-
- *[0-7])
- if test -z "$stripcmd"; then
- u_plus_rw=
- else
- u_plus_rw='% 200'
- fi
- cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
- *)
- if test -z "$stripcmd"; then
- u_plus_rw=
- else
- u_plus_rw=,u+rw
- fi
- cp_umask=$mode$u_plus_rw;;
- esac
-fi
-
-for src
-do
- # Protect names starting with `-'.
- case $src in
- -*) src=./$src;;
- esac
-
- if test -n "$dir_arg"; then
- dst=$src
- dstdir=$dst
- test -d "$dstdir"
- dstdir_status=$?
- else
-
- # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
- # might cause directories to be created, which would be especially bad
- # if $src (and thus $dsttmp) contains '*'.
- if test ! -f "$src" && test ! -d "$src"; then
- echo "$0: $src does not exist." >&2
- exit 1
- fi
-
- if test -z "$dst_arg"; then
- echo "$0: no destination specified." >&2
- exit 1
- fi
-
- dst=$dst_arg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst;;
- esac
-
- # If destination is a directory, append the input filename; won't work
- # if double slashes aren't ignored.
- if test -d "$dst"; then
- if test -n "$no_target_directory"; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
- fi
- dstdir=$dst
- dst=$dstdir/`basename "$src"`
- dstdir_status=0
- else
- # Prefer dirname, but fall back on a substitute if dirname fails.
- dstdir=`
- (dirname "$dst") 2>/dev/null ||
- expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$dst" : 'X\(//\)[^/]' \| \
- X"$dst" : 'X\(//\)$' \| \
- X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$dst" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'
- `
-
- test -d "$dstdir"
- dstdir_status=$?
- fi
- fi
-
- obsolete_mkdir_used=false
-
- if test $dstdir_status != 0; then
- case $posix_mkdir in
- '')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
- else
- mkdir_mode=
- fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writeable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
- esac
-
- if
- $posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
- )
- then :
- else
-
- # The umask is ridiculous, or mkdir does not conform to POSIX,
- # or it failed possibly due to a race condition. Create the
- # directory the slow way, step by step, checking for races as we go.
-
- case $dstdir in
- /*) prefix='/';;
- -*) prefix='./';;
- *) prefix='';;
- esac
-
- eval "$initialize_posix_glob"
-
- oIFS=$IFS
- IFS=/
- $posix_glob set -f
- set fnord $dstdir
- shift
- $posix_glob set +f
- IFS=$oIFS
-
- prefixes=
-
- for d
- do
- test -z "$d" && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
- done
-
- if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
- fi
- fi
- fi
-
- if test -n "$dir_arg"; then
- { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
- { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
- { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
- test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
- else
-
- # Make a couple of temp file names in the proper directory.
- dsttmp=$dstdir/_inst.$$_
- rmtmp=$dstdir/_rm.$$_
-
- # Trap to clean up those temp files at exit.
- trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
-
- # Copy the file name to the temp name.
- (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
-
- # and set any options; do chmod last to preserve setuid bits.
- #
- # If any of these fail, we abort the whole thing. If we want to
- # ignore errors from any of these, just make sure not to ignore
- # errors from the above "$doit $cpprog $src $dsttmp" command.
- #
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
- { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
- { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
- { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
- # If -C, don't bother to copy if it wouldn't change the file.
- if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
- eval "$initialize_posix_glob" &&
- $posix_glob set -f &&
- set X $old && old=:$2:$4:$5:$6 &&
- set X $new && new=:$2:$4:$5:$6 &&
- $posix_glob set +f &&
-
- test "$old" = "$new" &&
- $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
- then
- rm -f "$dsttmp"
- else
- # Rename the file to the real destination.
- $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
- {
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
- }
- fi || exit 1
-
- trap '' 0
- fi
-done
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/X11/extensions/missing b/X11/extensions/missing
deleted file mode 100644
index 28055d2ae..000000000
--- a/X11/extensions/missing
+++ /dev/null
@@ -1,376 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-
-scriptversion=2009-04-28.21; # UTC
-
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
-fi
-
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
-
-msg="missing on your system"
-
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
-
- -h|--h|--he|--hel|--help)
- echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
- -h, --help display this help and exit
- -v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
-
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
-
-Send bug reports to <bug-automake@gnu.org>."
- exit $?
- ;;
-
- -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing $scriptversion (GNU Automake)"
- exit $?
- ;;
-
- -*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
- ;;
-
-esac
-
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
-
- tar*)
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- exit 1
- fi
- ;;
-
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te*)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
-
- tar*)
- shift
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case $firstarg in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case $firstarg in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
-
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/X11/extensions/mkinstalldirs b/X11/extensions/mkinstalldirs
deleted file mode 100644
index d2d5f21b6..000000000
--- a/X11/extensions/mkinstalldirs
+++ /dev/null
@@ -1,111 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-errstatus=0
-dirmode=""
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
-
-# process command line arguments
-while test $# -gt 0 ; do
- case $1 in
- -h | --help | --h*) # -h for help
- echo "$usage" 1>&2
- exit 0
- ;;
- -m) # -m PERM arg
- shift
- test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
- dirmode=$1
- shift
- ;;
- --) # stop option processing
- shift
- break
- ;;
- -*) # unknown option
- echo "$usage" 1>&2
- exit 1
- ;;
- *) # first non-opt arg
- break
- ;;
- esac
-done
-
-for file
-do
- if test -d "$file"; then
- shift
- else
- break
- fi
-done
-
-case $# in
- 0) exit 0 ;;
-esac
-
-case $dirmode in
- '')
- if mkdir -p -- . 2>/dev/null; then
- echo "mkdir -p -- $*"
- exec mkdir -p -- "$@"
- fi
- ;;
- *)
- if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
- echo "mkdir -m $dirmode -p -- $*"
- exec mkdir -m "$dirmode" -p -- "$@"
- fi
- ;;
-esac
-
-for file
-do
- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
- shift
-
- pathcomp=
- for d
- do
- pathcomp="$pathcomp$d"
- case $pathcomp in
- -*) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp"
-
- mkdir "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- else
- if test ! -z "$dirmode"; then
- echo "chmod $dirmode $pathcomp"
- lasterr=""
- chmod "$dirmode" "$pathcomp" || lasterr=$?
-
- if test ! -z "$lasterr"; then
- errstatus=$lasterr
- fi
- fi
- fi
- fi
-
- pathcomp="$pathcomp/"
- done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# End:
-# mkinstalldirs ends here
diff --git a/libXdmcp/doc/xdmcp.xml b/libXdmcp/doc/xdmcp.xml
index c8797742d..36abb75a9 100644
--- a/libXdmcp/doc/xdmcp.xml
+++ b/libXdmcp/doc/xdmcp.xml
@@ -1,3906 +1,3907 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!--
- variable names used in equation markup in the authentication chapter
- FIXME: Replace with mathml?
- -->
-<!ENTITY variable.D "<emphasis role='italic'>D</emphasis>">
-<!ENTITY variable.N "<emphasis role='italic'>N</emphasis>">
-<!ENTITY variable.T "<emphasis role='italic'>T</emphasis>">
-<!ENTITY variable.Delta "<emphasis role='italic'>&Delta;</emphasis>">
-<!ENTITY variable.alpha "<emphasis role='italic'>&alpha;</emphasis>">
-<!ENTITY variable.beta "<emphasis role='italic'>&beta;</emphasis>">
-<!ENTITY variable.kappa "<emphasis role='italic'>&kappa;</emphasis>">
-<!ENTITY variable.rho "<emphasis role='italic'>&rho;</emphasis>">
-<!ENTITY variable.sigma "<emphasis role='italic'>&sigma;</emphasis>">
-<!ENTITY variable.tau "<emphasis role='italic'>&tau;</emphasis>">
-]>
-
-<book id="xdmcp">
-
-<bookinfo>
- <title>X Display Manager Control Protocol</title>
- <subtitle>X.Org Standard</subtitle>
- <releaseinfo>Version 1.1</releaseinfo>
- <authorgroup>
- <author>
- <firstname>Keith</firstname><surname>Packard</surname>
- <affiliation><orgname>
-X Consortium,
-Laboratory for Computer Science,
-Massachusetts Institute of Technology
- </orgname></affiliation>
- </author>
- </authorgroup>
-
- <copyright><year>1989</year><year>2004</year>
- <holder>The Open Group</holder></copyright>
- <productnumber>X Version 11, Release 6.8</productnumber>
-
-<legalnotice>
-
-
-
-<para>
-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:
-</para>
-<para>
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-</para>
-<para>
-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.
-</para>
-<para>
-Except as contained in this notice, the name of The Open Group 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 Open Group.
-</para>
-
-<para>
-<emphasis remap='I'>X Window System</emphasis> is a trademark of The Open Group.
-</para>
-</legalnotice>
-</bookinfo>
-
-<chapter id="Purpose_and_Goals">
-<title>Purpose and Goals</title>
-<!-- .XS -->
-<!-- (SN Purpose and Goals -->
-<!-- .XE -->
-<para>
-<!-- .LP -->
-The purpose of the X Display Manager Control Protocol (XDMCP)
-is to provide a uniform mechanism for an autonomous
-display to request login service from a remote host.
-By autonomous, we mean
-the display consists of hardware and processes that are independent of any
-particular host where login service is desired. (For example, the server
-cannot simply be started by a
-<function>fork/exec</function>
-sequence on the host.)
-An X terminal (screen, keyboard, mouse, processor, network interface)
-is a prime example of an autonomous display.
-</para>
-
-<para>
-From the point of view of the end user, it is very important to make
-autonomous displays as easy to use as traditional hardwired character
-terminals. Specifically, you can typically just power on a hardwired
-terminal and be greeted with a login prompt. The same should be possible
-with autonomous displays. However, in a network environment with multiple
-hosts, the end user may want to choose which host(s) to connect to. In an
-environment with many displays and many hosts, a site administrator may want
-to associate particular collections of hosts with particular displays. We
-would like to support the following options:
-</para>
-
-<itemizedlist>
- <listitem>
- <para>
-The display has a single, fixed host to which it should connect. It should be
-possible to power on the display and receive a login prompt, without user
-intervention.
- </para>
- </listitem>
- <listitem>
- <para>
-Any one of several hosts on a network or subnetwork may be acceptable
-for accepting login from the display.
-(For example, the user's file systems can be mounted onto
-any such host, providing comparable environments.) It should be possible
-for the display to broadcast to find such hosts and to have the display
-either automatically choose a host or present the possible hosts to the
-user for selection.
- </para>
- </listitem>
- <listitem>
- <para>
-The display has a fixed set of hosts that it can connect to. It should be
-possible for the display to have that set stored in RAM, but it should also be
-possible for a site administrator to be able to maintain host sets for a
-large number of displays using a centralized facility, without having to
-interact (physically or electronically) with each individual display.
-Particular hosts should be allowed to refuse login service, based on
-whatever local criteria are desired.
- </para>
- </listitem>
-</itemizedlist>
-
-<para>
-The control protocol should be designed in such a way that it can be used over
-a reasonable variety of communication transport layers. In fact, it is quite
-desirable if every major network protocol family that supports the standard X
-protocol is also capable of supporting XDMCP, because the end result of XDMCP
-negotiation will be standard X protocol connections to the display.
-However, because the number of displays per host may be large,
-a connection-based protocol appears less desirable
-than a connection-less protocol. For this reason the protocol is designed
-to use datagram services with the display responsible for sequencing and
-retransmission.
-</para>
-<para>
-<!-- .LP -->
-To keep the burden on displays at a minimum (because display cost is not
-a factor that can be ignored), it is desirable that displays not be required
-to maintain permanent state (across power cycles) for the purposes
-of the control protocol,
-and it is desirable to keep required state at a minimum while the
-display is powered on.
-</para>
-<para>
-<!-- .LP -->
-Security is an important consideration and must be an integral part of the
-design. The important security goals in the context of XDMCP are:
-</para>
-<itemizedlist>
- <listitem>
- <para>
-It should be possible for the display to verify that it is communicating
-with a legitimate host login service. Because the user will present
-credentials (for example, password) to this service,
-it is important to avoid spoof attacks.
- </para>
- </listitem>
- <listitem>
- <para>
-It should be possible for the display and the login service to negotiate the
-authorization mechanism to be used for the standard X protocol.
- </para>
- </listitem>
- <listitem>
- <para>
-It should be possible to provide the same level of security in verifying the
-login service as is provided by the negotiated authorization mechanism.
- </para>
- </listitem>
- <listitem>
- <para>
-Because there are no firm standards yet in the area of security,
-XDMCP must be flexible enough to accomodate a variety of security mechanisms.
- </para>
- </listitem>
-</itemizedlist>
-</chapter>
-
-<chapter id="Overview_of_the_Protocol">
-<title>Overview of the Protocol</title>
-<!-- .XS -->
-<!-- (SN Overview of the Protocol -->
-<!-- .XE -->
-<para>
-<!-- .LP -->
-XDMCP is designed to provide authenticated access to display management
-services for remote displays. A new network server, called a \fIDisplay
-Manager\fP, will use XDMCP to communicate with displays to negotiate the
-startup of X sessions. The protocol allows the display to authenticate the
-manager. It also allows most of the configuration information to be
-centralized with the manager and to ease the burden of system administration
-in a large network of displays.
-The essential goal is to provide plug-and-play
-services similar to those provided in the familiar mainframe/terminal world.
-</para>
-<para>
-<!-- .LP -->
-Displays may be turned off by the user at any time. Any existing session
-running on a display that has been turned off must be identifiable. This
-is made possible by requiring a three-way handshake to start a session. If
-the handshake succeeds, any existing session is terminated immediately and a
-new session started. There is the problem (at least with TCP) that
-connections may not be closed when the display is turned off. In most
-environments, the manager should reduce this problem by periodically XSync'ing
-on its own connection, perhaps every five to ten minutes, and terminating the
-session if its own connection ever closes.
-</para>
-<para>
-<!-- .LP -->
-Displays should not be required to retain permanent state for purposes of
-the control protocol. One solution to packets received out of sequence
-would be to use monotonically increasing message identifiers in each message
-to allow both sides to ignore messages that arrive out-of-sequence. For
-this to work, displays would at a minimum have to increment a stable crash
-count each time they are powered on and use that number as part of a
-larger sequence number. But if displays cannot retain permanent state this
-cannot work. Instead, the manager assumes the responsibility for permanent
-state by generating unique numbers that identify a particular session and
-the protocol simply ignores packets that correspond to an invalid session.
-</para>
-<para>
-<!-- .LP -->
-The Manager must not be responsible for packet reception. To prevent the
-Manager from becoming stuck because of a hostile display, no portion of the
-protocol requires the Manager to retransmit a packet. Part of this means
-that any valid packet that the Manager does receive must be
-acknowledged in some way to prevent the display from continuously resending
-packets. The display can keep the protocol running as it will always know
-when the Manager has received (at least one copy of) a packet. On the
-Manager side, this means that any packet may be received more than once (if
-the response was lost) and duplicates must be ignored.
-</para>
-</chapter>
-
-<chapter id="Data_Types">
-<title>Data Types</title>
-<!-- .XS -->
-<!-- (SN Data Types -->
-<!-- .XE -->
-<para>
-<!-- .LP -->
-XDMCP packets contain several types of data. Integer values are always
-stored most significant byte first in the packet ("Big Endian" order).
-As XDMCP will not be used to transport large quantities of data, this
-restriction will not substantially hamper the efficiency of any
-implementation. Also, no padding of any sort will occur within the packets.
-</para>
-
-<informaltable frame="none">
- <tgroup cols='3' align='left'>
- <colspec colname='c1' colsep="0"/>
- <colspec colname='c2' colsep="0"/>
- <colspec colname='c3' colsep="0"/>
- <thead>
- <row>
- <entry>Type Name</entry>
- <entry>Length (Bytes)</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row rowsep="0">
- <entry>CARD8</entry>
- <entry>1</entry>
- <entry>A single byte unsigned integer</entry>
- </row>
- <row rowsep="0">
- <entry>CARD16</entry>
- <entry>2</entry>
- <entry>Two byte unsigned integer</entry>
- </row>
- <row rowsep="0">
- <entry>CARD32</entry>
- <entry>4</entry>
- <entry>Four byte unsigned integer</entry>
- </row>
- <row rowsep="0">
- <entry>ARRAY8</entry>
- <entry>n+2</entry>
- <entry>
-This is actually a CARD16 followed by
-a collection of CARD8. The value of the CARD16
-field (n) specifies the number of CARD8 values to follow
- </entry>
- </row>
- <row rowsep="0">
- <entry>ARRAY16</entry>
- <entry>2*m+1</entry>
- <entry>
-This is a CARD8 (m) which specifies the
-number of CARD16 values to follow
- </entry>
- </row>
- <row rowsep="0">
- <entry>ARRAY32</entry>
- <entry>4*l+1</entry>
- <entry>
-This is a CARD8 (l) which specifies the
-number of CARD32 values to follow
- </entry>
- </row>
- <row rowsep="0">
- <entry>ARRAYofARRAY8</entry>
- <entry>?</entry>
- <entry>
-This is a CARD8 which specifies the
-number of ARRAY8 values to follow.
- </entry>
- </row>
- </tbody>
- </tgroup>
-</informaltable>
-</chapter>
-
-<chapter id="Packet_Format">
-<title>Packet Format</title>
-<!-- .XS -->
-<!-- (SN Packet Format -->
-<!-- .XE -->
-<para>
-All XDMCP packets have the following information:
-</para>
-
-<informaltable frame="none">
- <tgroup cols='3' align='left'>
- <colspec colname='c1' colsep="0"/>
- <colspec colname='c2' colsep="0"/>
- <colspec colname='c3' colsep="0"/>
- <thead>
- <row>
- <entry>Length (Bytes)</entry>
- <entry>Field Type</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row rowsep="0">
- <entry>2</entry>
- <entry>CARD16</entry>
- <entry>version number</entry>
- </row>
- <row rowsep="0">
- <entry>2</entry>
- <entry>CARD16</entry>
- <entry>opcode packet header</entry>
- </row>
- <row rowsep="0">
- <entry>2</entry>
- <entry>CARD16</entry>
- <entry>n = length of remaining data in bytes</entry>
- </row>
- <row rowsep="0">
- <entry>n</entry>
- <entry>???</entry>
- <entry>packet-specific data</entry>
- </row>
- </tbody>
- </tgroup>
-</informaltable>
-
-<para>
-<!-- .LP -->
-The fields are as follows:
-</para>
-
-<variablelist>
- <varlistentry>
- <term>Version number</term>
- <listitem>
- <para>
-This specifies the version of XDMCP that generated this packet in
-case changes in this protocol are required. Displays and
-managers may choose to support older versions for compatibility.
-This field will initially be one (1).
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Opcode</term>
- <listitem>
- <para>
-This specifies what step of the protocol this packet represents and should
-contain one of the following values (encoding provided in section below):
-<emphasis role="bold">BroadcastQuery</emphasis>,
-<emphasis role="bold">Query</emphasis>,
-<emphasis role="bold">IndirectQuery</emphasis>,
-<emphasis role="bold">ForwardQuery</emphasis>,
-<emphasis role="bold">Willing</emphasis>,
-<emphasis role="bold">Unwilling</emphasis>,
-<emphasis role="bold">Request</emphasis>,
-<emphasis role="bold">Accept</emphasis>,
-<emphasis role="bold">Decline</emphasis>,
-<emphasis role="bold">Manage</emphasis>,
-<emphasis role="bold">Refuse</emphasis>,
-<emphasis role="bold">Failed</emphasis>,
-<emphasis role="bold">KeepAlive</emphasis>
-or
-<emphasis role="bold">Alive</emphasis>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Length of data in bytes</term>
- <listitem>
- <para>
-This specifies the length of the information following the first 6 bytes.
-Each packet-type has a different format and will need to be separately
-length-checked against this value. Because every data item has either an
-explicit or implicit length, this can be easily accomplished.
-Packets that have too little or too much data should be ignored.
- </para>
- </listitem>
- </varlistentry>
-</variablelist>
-<para>
-Packets should be checked to make sure that they satisfy the following
-conditions:
-</para>
-
-<orderedlist>
- <listitem>
- <para>
-They must contain valid opcodes.
- </para>
- </listitem>
- <listitem>
- <para>
-The length of the remaining data should correspond to the sum of the
-lengths of the individual remaining data items.
- </para>
- </listitem>
- <listitem>
- <para>
-The opcode should be expected (a finite state diagram is given
-in a later section).
- </para>
- </listitem>
- <listitem>
- <para>
-If the packet is of type
-<emphasis role="bold">Manage</emphasis> or
-<emphasis role="bold">Refuse</emphasis>,
-the Session ID should match the value sent in the preceding
-<emphasis role="bold">Accept</emphasis> packet.
- </para>
- </listitem>
-</orderedlist>
-</chapter>
-
-<chapter id="Protocol">
-<title>Protocol</title>
-<!-- .XS -->
-<!-- (SN Protocol -->
-<!-- .XE -->
-<para>
-Each of the opcodes is described below. Because a given packet type is only
-ever sent one way, each packet description below indicates the direction.
-Most of the packets have additional information included beyond the
-description above. The additional information is appended to the packet
-header in the order described without padding, and the length field is
-computed accordingly.
-</para>
-
-<informaltable frame="none">
- <tgroup cols='10' align='left'>
- <colspec colname='col1' colsep="0" colwidth="1*"/>
- <colspec colname='col2' colsep="0" colwidth="1*"/>
- <colspec colname='col3' colsep="0" colwidth="1*"/>
- <colspec colname='col4' colsep="0" colwidth="1*"/>
- <colspec colname='col5' colsep="0" colwidth="1*"/>
- <colspec colname='col6' colsep="0" colwidth="1*"/>
- <colspec colname='col7' colsep="0" colwidth="1*"/>
- <colspec colname='col8' colsep="0" colwidth="1*"/>
- <colspec colname='col9' colsep="0" colwidth="1*"/>
- <colspec colname='col10' colsep="0" colwidth="1*"/>
- <spanspec namest="col1" nameend="col10" spanname="col1_on" align="left"/>
- <spanspec namest="col2" nameend="col10" spanname="col2_on" align="left"/>
- <spanspec namest="col3" nameend="col10" spanname="col3_on" align="left"/>
- <spanspec namest="col4" nameend="col10" spanname="col4_on" align="left"/>
- <spanspec namest="col5" nameend="col10" spanname="col5_on" align="left"/>
- <tbody>
- <row rowsep="0">
- <entry spanname="col1_on"><emphasis role="bold">Query</emphasis></entry>
- </row>
- <row rowsep="0">
- <entry spanname="col1_on"><emphasis role="bold">BroadcastQuery</emphasis></entry>
- </row>
- <row rowsep="0">
- <entry spanname="col1_on"><emphasis role="bold">IndirectQuery</emphasis></entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">Display -> Manager</entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">Additional Fields:</entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis>Authentication Names</emphasis>: ARRAYofARRAY8
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Specifies a list of authentication names that the display supports. The
-manager will choose one of these and return it in the
-<emphasis role="bold">Willing</emphasis> packet.
- </entry>
- </row>
-<!-- AAAAAAAAAAAAA -->
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry>Semantics</entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-<para>
-A <function>Query</function>
-packet is sent from the display to a specific host to ask if
-that host is willing to provide management services to this display. The
-host should respond with
-<function>Willing</function>
-if it is willing to service the display or
-<function>Unwilling</function>
-if it is not.
-</para>
-
-<para>
-A
-<function>BroadcastQuery</function>
-packet is similar to the
-<function>Query</function>
-packet except that it is intended to be received by all hosts on the network
-(or subnetwork). However, unlike
-<function>Query</function>
-requests, hosts that are not willing to service the display
-should simply ignore
-<function>BroadcastQuery</function>
-requests.
-</para>
-
-<para>
-An
-<function>IndirectQuery</function>
-packet is sent to a well known manager that forwards
-the request to a larger collection of secondary managers using
-<function>ForwardQuery</function>
-packets.
-In this way, the collection of managers that respond can be grouped
-on other than network boundaries; the use of a central manager reduces
-system administrative overhead.
-The primary manager may also send a
-<function>Willing</function>
-packet in response to this packet.
-</para>
-
-<para>
-Each packet type has slightly different semantics:
-</para>
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-<para>
-The
-<function>Query</function>
-packet is destined only for a single host.
-If the display is instructed to
-<function>Query</function>
-multiple managers, it will send multiple
-<function>Query</function>
-packets. The
-<function>Query</function>
-packet also demands a response from the manager, either
-<function>Willing</function>
-or
-<function>Unwilling</function>.
- </para>
- <para>
-The
-<function>BroadcastQuery</function>
-packet is sent to many hosts.
-Each manager that receives this packet will not respond with an
-<function>Unwilling</function>
-packet.
- </para>
- <para>
-The
-<function>IndirectQuery</function>
-packet is sent to only one manager with the request
-that the request be forwarded to a larger list of managers using
-<function>ForwardQuery</function>
-packets. This list is expected to be maintained at one
-central site to reduce administrative overhead.
-The function of this packet type is similar to
-<function>BroadcastQuery except that</function>
-<function>BroadcastQuery</function>
-is not forwarded.
- </para>
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">Valid Responses:</entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<function>Willing</function>,
-<function>Unwilling</function>
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">Problems/Solutions:</entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">Problem:</entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-<para>Not all managers receive the query packet.</para>
-<para>Indication:</para>
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-None if
-<function>BroadcastQuery</function>
-or
-<function>IndirectQuery</function>
-was sent, else failure to receive
-<function>Willing</function>.
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">Solution:</entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Repeatedly send the packet while waiting for user to choose a manager.
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Timeout/Retransmission policy:
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-An exponential backoff algorithm should be used here to reduce network load
-for long-standing idle displays. Start at 2 seconds, back off by factors of
-2 to 32 seconds, and discontinue retransmit after 126 seconds. The display
-should reset the timeout when user-input is detected. In this way, the
-display will wakeup when touched by the user.
- </entry>
- </row>
- <row rowsep="0">
- <entry spanname="col1_on">
-<function>ForwardQuery</function>
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-<para>Primary Manager -&gt; Secondary Manager</para>
-<para>Additional Fields:</para>
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Client Address</emphasis>: ARRAY8
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Specifies the network address of the client display.
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Client Port</emphasis>: ARRAY8
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Specifies an identification of the client task on the client display.
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Authentication Names</emphasis>: ARRAYofARRAY8
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Is a duplicate of Authentication Names array that was received
-in the
-<function>IndirectQuery</function>
-packet.
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Semantics:
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
- <para>
-When primary manager receives a
-<function>IndirectQuery</function>
-packet, it is responsible for sending
-<function>ForwardQuery</function>
-packets to an appropriate list of
-managers that can provide service to the display using the same network
-type as the one the original
-<function>IndirectQuery</function>
-packet was received from.
-The Client Address and Client Port fields must contain an
-address that the secondary manager can use to reach the display also using
-this same network. Each secondary manager sends a
-<function>Willing</function>
-packet to the display if it is willing to provide service.
- </para>
-
- <para>
-<function>ForwardQuery</function>
-packets are similar to
-<function>BroadcastQuery</function>
-packets in that managers that are not willing to service
-particular displays should not send a
-<function>Unwilling</function>
-packet.
- </para>
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Valid Responses:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<function>Willing</function>
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Problems/Solutions:
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Identical to
-<function>BroadcastQuery</function>
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Timeout/Retransmission policy:
- </entry>
- </row>
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Like all packets sent from a manager, this packet should never be
-retransmitted.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry spanname="col1_on">
-<function>Willing</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
- <para>
-Manager -&gt; Display
- </para>
- <para>
-Additional Fields:
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Authentication Name</emphasis>: ARRAY8
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-<para>
-Specifies the authentication method, selected from the list offered in the
-<function>Query ,</function>
-<function>BroadcastQuery ,</function>
-or
-<function>IndirectQuery</function>
-packet that the manger expects the display to use in the subsequent
-<function>Request</function>
-packet.
-This choice should remain as constant as feasible so that displays that
-send multiple
-<function>Query</function>
-packets can use the Authentication Name from any
-<function>Willing</function>
-packet that arrives.
-</para>
-<para>
-The display is free to ignore managers that request an insufficient level
-of authentication.
-</para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Hostname</emphasis>: ARRAY8
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Is a human readable string describing the host from which the packet was sent.
-The protocol specifies no interpretation of the data in this field.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Status</emphasis>: ARRAY8
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Is a human readable string describing the status of the host. This could
-include load average/number of users connected or other information. The
-protocol specifies no interpretation of the data in this field.
- </entry>
- </row>
-
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Semantics:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-A
-<function>Willing</function>
-packet is sent by managers that may service connections from
-this display. It is sent in response to either a
-<function>Query ,</function>
-<function>BroadcastQuery ,</function>
-or
-<function>ForwardQuery</function>
-but does not imply a commitment to provide service
-(for example, it may later decide that it has accepted enough
-connections already).
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Problems/Solutions:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Problem:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-<para>
-<function>Willing</function>
-not received by the display.
-</para>
-<para>
-Indication:
-</para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-None if
-<function>BroadcastQuery</function>
-or
-<function>IndirectQuery</function>
-was sent, else failure to receive
-<function>Willing .</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-The display should continue to send the query until a response is received.
- </entry>
- </row>
-
-
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Timeout/Retransmission policy:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Like all packets sent from the manager to the display, this packet should
-never be retransmitted.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry spanname="col1_on">
-<function>Unwilling</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
- <para>
-Manager -&gt; Display
- </para>
- <para>
-Additional Fields:
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-The Hostname and Status fields as in the
-<function>Willing</function>
-packet.
-The Status field should indicate to the user a reason
-for the refusal of service.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Semantics:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-An
-<function>Unwilling</function>
-packet is sent by managers in response to direct
-<function>Query</function>
-requests (as opposed to
-<function>BroadcastQuery</function>
-or
-<function>IndirectQuery</function>
-requests) if the manager will not accept requests for management.
-This is typically sent by managers that wish to only service
-particular displays or that handle a limited number of displays at once.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Problems/Solutions:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Problem:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-<para>
-<function>Unwilling</function>
-not received by the display.
-</para>
-<para>
-Indication:
-</para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Display fails to receive
-<function>Unwilling .</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-The display should continue to send
-<function>Query</function>
-messages until a response is received.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Timeout/Retransmission policy:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Like all packets sent from the manager to the display, this packet should
-never be retransmitted.
- </entry>
- </row>
- <row rowsep="0">
- <entry spanname="col1_on">
-<function>Request</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
- <para>
-Display -&gt; Manager
- </para>
- <para>
-Additional Fields:
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Display Number</emphasis>: CARD16
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Specifies the index of this particular server for the host
-on which the display is resident.
-This value will be zero for most autonomous displays.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Connection Types</emphasis>: ARRAY16
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Specifies an array indicating the stream services accepted by the display.
-If the high-order byte in a particular entry is zero, the low-order byte
-corresponds to an X-protocol host family type.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Connection Addresses</emphasis>: ARRAYofARRAY8
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-For each connection type in the previous array, the corresponding entry in
-this array indicates the network address of the display device.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
- <para>
-<emphasis remap='I'>Authentication Name</emphasis>: ARRAY8
- </para>
- <para>
-<emphasis remap='I'>Authentication Data</emphasis>: ARRAY8
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Specifies the authentication protocol that the display expects
-the manager to validate itself with. The Authentication Data is
-expected to contain data that the manager will interpret, modify
-and use to authenticate itself.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Authorization Names</emphasis>: ARRAYofARRAY8
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Specifies which types of authorization the display supports. The
-manager may decide to reject displays with which it cannot perform
-authorization.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Manufacturer Display ID</emphasis>: ARRAY8
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Can be used by the manager to determine how to decrypt the
-Authentication Data field in this packet. See the section below on
-Manufacturer Display ID Format.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Semantics:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-A
-<function>Request</function>
-packet is sent by a display to a specific host to request a
-session ID in preparation for a establishing a connection. If the manager
-is willing to service a connection to this display, it should return an
-<function>Accept</function>
-packet with a valid session ID and should be ready for a subsequent
-<function>Manage</function>
-request. Otherwise, it should return a
-<function>Decline</function>
-packet.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Valid Responses:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<function>Accept ,</function>
-<function>Decline</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Problems/Solutions:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Problem:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Request not received by manager.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Indication:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Display timeout waiting for response.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Display resends
-<function>Request</function>
-message.
- </entry>
- </row>
-
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Problem:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Message received out of order by manager.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Indication:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-None.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Each time a
-<function>Request</function>
-is sent, the manager sends the Session ID
-associated with the next session in the
-<function>Accept .</function>
-If that next session is not yet started,
-the manager will simply resend with the same Session ID.
-If the session is in progress, the manager will reply
-with a new Session ID; in which case, the
-<function>Accept</function>
-will be discarded by the display.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Timeout/Retransmission policy:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Timeout after 2 seconds, exponential backoff to 32 seconds.
-After no more than 126 seconds, give up and report an error to the user.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry spanname="col1_on">
-<function>Accept</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
- <para>
-Manager -&gt; Display
- </para>
- <para>
-Additional Fields:
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Session ID</emphasis>: CARD32
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Identifies the session that can be started by the manager.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
- <para>
-<emphasis remap='I'>Authentication Name</emphasis>: ARRAY8
- </para>
- <para>
-<emphasis remap='I'>Authentication Data</emphasis>: ARRAY8
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Is the data sent back to the display to authenticate the manager.
-If the Authentication Data is not the value expected by the display, it
-should terminate the protocol at this point and display an error to the user.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
- <para>
-<emphasis remap='I'>Authorization Name</emphasis>: ARRAY8
- </para>
- <para>
-<emphasis remap='I'>Authorization Data</emphasis>: ARRAY8
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Is the data sent to the display to indicate the type of authorization the
-manager will be using in the first call to
-<function>XOpenDisplay</function>
-after the
-<function>Manage</function>
-packet is received.
- </entry>
- </row>
-
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Semantics:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<para>
-An
-<function>Accept</function>
-packet is sent by a manager in response to a
-<function>Request</function>
-packet if the manager is willing to establish a connection for the display.
-The Session ID is used to identify this connection from any preceding
-ones and will be used by the display in its subsequent
-<function>Manage</function>
-packet.
-The Session ID is a 32-bit number that is incremented each time an
-<function>Accept</function>
-packet is sent as it must be unique over a reasonably long period of time.
-</para>
-<para>
-If the authentication information is invalid, a
-<function>Decline</function>
-packet will be returned with an appropriate
-<function>Status</function>
-message.
-</para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Problems/Solutions:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Problem:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-<function>Accept</function>
-or
-<function>Decline</function>
-not received by display.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Indication:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Display timeout waiting for response to
-<function>Request .</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Display resends
-<function>Request</function>
-message.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Problem:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Message received out of order by display.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Indication:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Display receives
-<function>Accept</function>
-after
-<function>Manage</function>
-has been sent.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Display discards
-<function>Accept</function>
-messages after it has sent a
-<function>Manage</function>
-message.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Timeout/Retransmission policy:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Like all packets sent from the manager to the display, this packet should
-never be retransmitted.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry spanname="col1_on">
-<function>Decline</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
- <para>
-Manager -&gt; Display
- </para>
- <para>
-Additional Fields:
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Status</emphasis>: ARRAY8
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Is a human readable string indicating the reason for refusal of
-service.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
- <para>
-<emphasis remap='I'>Authentication Name</emphasis>:
-ARRAY8
- </para>
- <para>
-<emphasis remap='I'>Authentication Data</emphasis>:
-ARRAY8
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Is the data sent back to the display to authenticate the manager. If the
-Authentication Data is not the value expected by the display, it
-should terminate the protocol at this point and display an error to the user.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Semantics:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-A
-<function>Decline</function>
-packet is sent by a manager in response to a
-<function>Request</function>
-packet if the manager is unwilling to establish a connection for the
-display.
-This is allowed even if the manager had responded
-<function>Willing</function>
-to a previous query.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Problems/Solutions:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Same as for
-<function>Accept .</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Timeout/Retransmission policy:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Like all packets sent from a manager to a display, this packet should never
-be retransmitted.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry spanname="col1_on">
-<function>Manage</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
- <para>
-Display -&gt; Manager
- </para>
- <para>
-Additional Fields:
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Session ID</emphasis>: CARD32
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Should contain the nonzero session ID returned in the
-<function>Accept</function>
-packet.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Display Number</emphasis>: CARD16
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Must match the value sent in the previous
-<function>Request</function>
-packet.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Display Class</emphasis>: ARRAY8
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Specifies the class of the display.
-See the Display Class Format section,
-which discusses the format of this field.
- </entry>
- </row>
-
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Semantics:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-A
-<function>Manage</function>
-packet is sent by a display to ask the manager to begin a
-session on the display. If the Session ID is correct the manager
-should open a connection; otherwise, it should respond with a
-<function>Refuse</function>
-or
-<function>Failed</function>
-packet, unless the Session ID matches a currently
-running session or a session that has not yet successfully opened the
-display but has not given up the attempt. In this latter case, the
-<function>Manage</function>
-packet should be ignored.
-This will work as stream connections give positive success indication
-to both halves of the stream, and positive failure indication
-to the connection initiator (which will eventually generate a
-<function>Failed</function>
-packet).
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Valid Responses:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-X connection with correct auth info,
-<function>Refuse ,</function>
-<function>Failed .</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Problems/Solutions:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Problem:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-<function>Manage</function>
-not received by manager.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Indication:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Display timeout waiting for response.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Display resends
-<function>Manage</function>
-message.
- </entry>
- </row>
-
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Problem:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-<function>Manage</function>
-received out of order by manager.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Indication:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Session already in progress with matching Session ID.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-<function>Manage</function>
-packet ignored.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Indication:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Session ID does not match next Session ID.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-<function>Refuse</function>
-message is sent.
- </entry>
- </row>
-
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Problem:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Display cannot be opened on selected stream.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Indication:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Display connection setup fails.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-<function>Failed</function>
-message is sent including a human readable reason.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Problem:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Display open does not succeed before a second manage packet is received
-because of a timeout occuring in the display.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Indication:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-<function>Manage</function>
-packet received with Session ID matching the session
-attempting to connect to the display.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-<function>Manage</function>
-packet is ignored. As the stream connection will either
-succeed, which will result in an active session, or the stream will
-eventually give up hope of connecting and send a
-<function>Failed</function>
-packet; no response to this
-<function>Manage</function>
-packet is necessary.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Timeout/Retransmission policy:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Timeout after 2 seconds, exponential backoff to 32 seconds. After no more
-than 126 seconds, give up and report an error to the user.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry spanname="col1_on">
-<function>Refuse</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
- <para>
-Manager -&gt; Display
- </para>
- <para>
-Additional Fields:
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Session ID</emphasis>: CARD32
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Should be set to the Session ID received in the
-<function>Manage</function>
-packet.
- </entry>
- </row>
-
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Semantics:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-A
-<function>Refuse</function>
-packet is sent by a manager when the Session ID received in the
-<function>Manage</function>
-packet does not match the current Session ID.
-The display should assume that it received an old
-<function>Accept</function>
-packet and should resend its
-<function>Request</function>
-packet.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Problems/Solutions:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Problem:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Error message is lost.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Indication:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Display times out waiting for
-new connection,
-<function>Refuse</function>
-or
-<function>Failed .</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Display resends
-<function>Manage</function>
-message.
- </entry>
- </row>
-
-
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Timeout/Retransmission policy:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Like all packets sent from a manager to a display, this packet should never be
-retransmitted.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry spanname="col1_on">
-<function>Failed</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
- <para>
-Manager -&gt; Display
- </para>
- <para>
-Additional Fields:
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Session ID</emphasis>: CARD32
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Should be set to the Session ID received in the
-<function>Manage</function>
-packet.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Status</emphasis>: ARRAY8
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Is a human readable string indicating the reason for failure.
- </entry>
- </row>
-
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Semantics:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-A
-<function>Failed</function>
-packet is sent by a manager when it has problems establishing
-the initial X connection in response to the
-<function>Manage</function>
-packet.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Problems/Solutions
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Same as for
-<function>Refuse .</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry spanname="col1_on">
-<function>KeepAlive</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
- <para>
-Display -&gt; Manager
- </para>
- <para>
-Additional Fields:
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Display Number</emphasis>: CARD16
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Set to the display index for the display host.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Session ID</emphasis>: CARD32
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Should be set to the Session ID received in the
-<function>Manage</function>
-packet during the negotiation for the current session.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Sematics:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
- <para>
-A
-<function>KeepAlive</function>
-packet can be sent at any time during the session by a
-display to discover if the manager is running.
-The manager should respond with
-<function>Alive</function>
-whenever it receives this type of packet.
- </para>
- <para>
-This allows the display to discover when the manager host
-is no longer running.
-A display is not required to send
-<function>KeepAlive</function>
-packets and, upon lack of receipt of
-<function>Alive</function>
-packets, is not required to perform any specific action.
- </para>
- <para>
-The expected use of this packet is to terminate an active session when the
-manager host or network link fails. The display should keep track of the
-time since any packet has been received from the manager host and use
-<function>KeepAlive</function>
-packets when a substantial time has elapsed since the
-most recent packet.
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Valid Responses:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<function>Alive</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Problems/Solutions:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-Problem:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Manager does not receive the packet or display does not receive the response.
- </entry>
- </row>
-
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Indication:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-No
-<function>Alive</function>
-packet is returned.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Solution:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col5_on">
-Retransmit the packet with an exponential backoff; start at 2 seconds and
-assume the host is not up after no less than 30 seconds.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry spanname="col1_on">
-<function>Alive</function>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
- <para>
-Manager -&gt; Display
- </para>
- <para>
-Additional Fields:
- </para>
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Session Running</emphasis>: CARD8
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Indicates that the session identified by Session ID is
-currently active. The value is zero if no session is active
-or one if a session
-is active.
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-<emphasis remap='I'>Session ID</emphasis>: CARD32
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="col4_on">
-Specifies the ID of the currently running session; if any.
-When no session is active this field should be zero.
- </entry>
- </row>
-
-
- <row rowsep="0">
- <entry></entry>
- <entry spanname="col2_on">
-Semantics:
- </entry>
- </row>
-
- <row rowsep="0">
- <entry></entry>
- <entry></entry>
- <entry spanname="col3_on">
-An
-<function>Alive</function>
-packet is sent in response to a
-<function>KeepAlive</function>
-request.
-If a session is currently active on the display, the manager includes the
-Session ID in the packet. The display can use this information to
-determine the status of the manager.
- </entry>
- </row>
- </tbody>
- </tgroup>
-</informaltable>
-
-</chapter>
-
-<chapter id="Session_Termination">
-<title>Session Termination</title>
-<para>
-When the session is over, the initial connection with the display (the one
-that acknowledges the
-<function>Manage</function>
-packet) will be closed by the manager.
-If only a single session was active on the display,
-all other connections should be closed by the display
-and the display should be reset. If multiple sessions
-are active simultaneously and the display can identify which connections
-belong to the terminated sesssion, those connections should be closed.
-Otherwise, all connections should be closed and the display reset only when
-all sessions have been terminated (that is, all initial connections closed).
-</para>
-
-<para>
-The session may also be terminated at any time by the display if the
-managing host no longer responds to
-<function>KeepAlive</function>
-packets.
-The exact time-outs for sending
-<function>KeepAlive</function>
-packets is not specified in this protocol as the trade off
-should not be fixed between loading an otherwise idle system with spurious
-<function>KeepAlive</function>
-packets and not noticing that the manager host is down for a long time.
-</para>
-</chapter>
-
-<chapter id="State_Diagrams">
-<title>State Diagrams</title>
-<!-- .XS -->
-<!-- (SN State Diagrams -->
-<!-- .XE -->
-<para>
-<!-- .LP -->
-The following state diagrams are designed to cover all actions of both
-the display and the manager. Any packet that is received out-of-sequence
-will be ignored.
-</para>
-<para>
-<!-- .LP -->
-Display:
-</para>
-
-<variablelist>
- <varlistentry>
- <term><emphasis remap='I'>start</emphasis>:</term>
- <listitem>
- <para>
-User-requested connect to one host -&gt; <emphasis remap='I'>query</emphasis>
- </para>
- <para>
-User-requested connect to some host -&gt; <emphasis remap='I'>broadcast</emphasis>
- </para>
- <para>
-User-requested connect to site host-list -&gt; <emphasis remap='I'>indirect</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>query</emphasis>:</term>
- <listitem>
- <para>
-Send <function>Query</function> packet
--&gt; <emphasis remap='I'>collect-query</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>collect-query</emphasis>:</term>
- <listitem>
- <para>
-Receive <function>Willing</function> -&gt;
-<emphasis remap='I'>start-connection</emphasis>
- </para>
- <para>
-Receive <function>Unwilling</function> -&gt;
-<emphasis remap='I'>stop-connection</emphasis>
- </para>
- <para>
-Timeout -&gt; <emphasis remap='I'>query</emphasis>
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis remap='I'>broadcast</emphasis>:</term>
- <listitem>
- <para>
-Send <function>BroadcastQuery</function> packet
- </para>
- <para>
--&gt; <emphasis remap='I'>collect-broadcast-query</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>collect-broadcast-query</emphasis>:</term>
- <listitem>
- <para>
-Receive <function>Willing</function> -&gt;
-<emphasis remap='I'>update-broadcast-willing</emphasis>
- </para>
- <para>
-User-requested connect to one host -&gt;
-<emphasis remap='I'>start-connection</emphasis>
- </para>
- <para>
-Timeout -&gt; <emphasis remap='I'>broadcast</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>update-broadcast-willing</emphasis>:</term>
- <listitem>
- <para>
-Add new host to the host list presented to the user
- </para>
- <para>
--&gt; <emphasis remap='I'>collect-broadcast-query</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>indirect</emphasis>:</term>
- <listitem>
- <para>
-Send <function>IndirectQuery</function> packet
- </para>
- <para>
--&gt; <emphasis remap='I'>collect-indirect-query</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>collect-indirect-query</emphasis>:</term>
- <listitem>
- <para>
-Receive <function>Willing</function> -&gt;
-<emphasis remap='I'>update-indirect-willing</emphasis>
- </para>
- <para>
-User-requested connect to one host -&gt;
-<emphasis remap='I'>start-connection</emphasis>
- </para>
- <para>
-Timeout -&gt; <emphasis remap='I'>indirect</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>update-indirect-willing</emphasis>:</term>
- <listitem>
- <para>
-Add new host to the host list presented to the user
- </para>
- <para>
--&gt; <emphasis remap='I'>collect-indirect-query</emphasis>
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis remap='I'>start-connection</emphasis>:</term>
- <listitem>
- <para>
-Send <function>Request</function> packet
- </para>
- <para>
--&gt; <emphasis remap='I'>await-request-response</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>await-request-response</emphasis>:</term>
- <listitem>
- <para>
-Receive <function>Accept</function> -&gt;
-<emphasis remap='I'>manage</emphasis>
- </para>
- <para>
-Receive <function>Decline</function> -&gt;
-<emphasis remap='I'>stop-connection</emphasis>
- </para>
- <para>
-Timeout -&gt; <emphasis remap='I'>start-connection</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>manage</emphasis>:</term>
- <listitem>
- <para>
-Save Session ID
- </para>
- <para>
-Send <function>Manage</function> packet with Session ID
- </para>
- <para>
--&gt; <emphasis remap='I'>await-manage-response</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>await-manage-response</emphasis>:</term>
- <listitem>
- <para>
-Receive <function>XOpenDisplay :</function> -&gt;
-<emphasis remap='I'>run-session</emphasis>
- </para>
- <para>
-Receive <function>Refuse</function> with matching Session ID
--&gt; <emphasis remap='I'>start-connection</emphasis>
- </para>
- <para>
-Receive <function>Failed</function> with matching Session ID
--&gt; <emphasis remap='I'>stop-connection</emphasis>
- </para>
- <para>
-Timeout -&gt; <emphasis remap='I'>manage</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>stop-connection</emphasis>:</term>
- <listitem>
- <para>
-Display cause of termination to user
- </para>
- <para>
--&gt; <emphasis remap='I'>start</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>run-session</emphasis>:</term>
- <listitem>
- <para>
-Decide to send <function>KeepAlive</function> packet -&gt;
-<emphasis remap='I'>keep-alive</emphasis>
- </para>
- <para>
-wait close of first display connection
- </para>
- <para>
--&gt; <emphasis remap='I'>reset-display</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>keep-alive</emphasis>:</term>
- <listitem>
- <para>
-Send <function>KeepAlive</function> packet with current Session ID
- </para>
- <para>
--&gt; <emphasis remap='I'>await-alive</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>await-alive</emphasis>:</term>
- <listitem>
- <para>
-Receive <function>Alive</function> with matching Session ID -&gt;
-<emphasis remap='I'>run-session</emphasis>
- </para>
- <para>
-Receive <function>Alive</function> with nonmatching Session ID
-or FALSE Session Running -&gt; <emphasis remap='I'>reset-display</emphasis>
- </para>
- <para>
-Final timeout without receiving <function>Alive</function>
-packet -&gt; <emphasis remap='I'>reset-display</emphasis>
- </para>
- <para>
-Timeout -&gt; <emphasis remap='I'>keep-alive</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>reset-display</emphasis>:</term>
- <listitem>
- <para>
-(if possible) -&gt; close all display connections associated with this session
- </para>
- <para>
-Last session -&gt; close all display connections
- </para>
- <para>
--&gt; <emphasis remap='I'>start</emphasis>
- </para>
- </listitem>
- </varlistentry>
-</variablelist>
-
-
-<para>
-Manager:
-</para>
-
-<variablelist>
- <varlistentry>
- <term><emphasis remap='I'>idle</emphasis>:</term>
- <listitem>
- <para>
-Receive <function>Query</function> -&gt;
-<emphasis remap='I'>query-respond</emphasis>
- </para>
- <para>
-Receive
-<function>BroadcastQuery</function>
--&gt; <emphasis remap='I'>broadcast-respond</emphasis>
- </para>
- <para>
-Receive
-<function>IndirectQuery</function>
--&gt; <emphasis remap='I'>indirect-respond</emphasis>
- </para>
- <para>
-Receive
-<function>ForwardQuery</function>
--&gt; <emphasis remap='I'>forward-respond</emphasis>
-Receive
- </para>
- <para>
-<function>Request</function>
--&gt; <emphasis remap='I'>request-respond</emphasis>
- </para>
- <para>
-Receive
-<function>Manage</function>
--&gt; <emphasis remap='I'>manage</emphasis>
- </para>
- <para>
-An active session terminates
--&gt; <emphasis remap='I'>finish-session</emphasis>
- </para>
- <para>
-Receive <function>KeepAlive</function>
--&gt; <emphasis remap='I'>send-alive</emphasis>
- </para>
- <para>
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>query-respond</emphasis>:</term>
- <listitem>
- <para>
-If willing to manage -&gt; <emphasis remap='I'>send-willing</emphasis>
- </para>
- <para>
--&gt; <emphasis remap='I'>send-unwilling</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>broadcast-respond</emphasis>:</term>
- <listitem>
- <para>
-If willing to manage -&gt; <emphasis remap='I'>send-willing</emphasis>
- </para>
- <para>
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>indirect-respond</emphasis>:</term>
- <listitem>
- <para>
-Send <function>ForwardQuery</function>
-packets to all managers on redirect list
- </para>
- <para>
-If willing to manage -&gt; <emphasis remap='I'>send-willing</emphasis>
- </para>
- <para>
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>forward-respond</emphasis>:</term>
- <listitem>
- <para>
-Decode destination address, if willing to manage -&gt;
-<emphasis remap='I'>send-willing</emphasis>
- </para>
- <para>
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>send-willing</emphasis>:</term>
- <listitem>
- <para>
-Send <function>Willing</function> packet
- </para>
- <para>
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>send-unwilling</emphasis>:</term>
- <listitem>
- <para>
-Send <function>Unwilling</function> packet
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>request-respond</emphasis>:</term>
- <listitem>
- <para>
-If manager is willing to allow a session on display
--&gt; <emphasis remap='I'>accept-session</emphasis>
- </para>
- <para>
--&gt; <emphasis remap='I'>decline-session</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>accept-session</emphasis>:</term>
- <listitem>
- <para>
-Generate Session ID and save Session ID, display address, and
-display number somewhere
- </para>
- <para>
-Send <function>Accept</function> packet
- </para>
- <para>
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>decline-session</emphasis>:</term>
- <listitem>
- <para>
-Send <function>Decline</function> packet
- </para>
- <para>
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>manage</emphasis>:</term>
- <listitem>
- <para>
-If Session ID matches saved Session ID -&gt;
-<emphasis remap='I'>run-session</emphasis>
- </para>
- <para>
-If Session ID matches Session ID of session in process of
-starting up, or currently active session -&gt;
-<emphasis remap='I'>idle</emphasis>
- </para>
- <para>
--&gt; <emphasis remap='I'>refuse</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>refuse</emphasis>:</term>
- <listitem>
- <para>
-Send <function>Refuse</function> packet
- </para>
- <para>
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>run-session</emphasis>:</term>
- <listitem>
- <para>
-Terminate any session in progress
- </para>
- <para>
-<function>XOpenDisplay</function>
- </para>
- <para>
-Open display succeeds -&gt;
-<emphasis remap='I'>start-session</emphasis>
- </para>
- <para>
--&gt; <emphasis remap='I'>failed</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>failed</emphasis>:</term>
- <listitem>
- <para>
-Send <function>Failed</function> packet
- </para>
- <para>
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>start-session</emphasis>:</term>
- <listitem>
- <para>
-Start a new session
- </para>
- <para>
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>finish-session</emphasis>:</term>
- <listitem>
- <para>
-<function>XCloseDisplay</function>
- </para>
- <para>
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis remap='I'>send-alive</emphasis>:</term>
- <listitem>
- <para>
-Send <function>Alive</function> packet containing current status
- </para>
- <para>
--&gt; <emphasis remap='I'>idle</emphasis>
- </para>
- </listitem>
- </varlistentry>
-</variablelist>
-
-</chapter>
-
-<chapter id="Protocol_Encoding">
-<title>Protocol Encoding</title>
-<para>
-When XDMCP is implemented on top of the Internet User Datagram Protocol (UDP),
-port number 177 is to be used. When using UDP over IPv4, Broadcast Query
-packets are sent via UDP broadcast. When using UDP over IPv6, Broadcast Query
-packets are sent via multicast, either to an address in the IANA registered
-XDMCP multicast address range of
-FF0<emphasis remap='I'>X</emphasis>:0:0:0:0:0:0:12B
-(where the <emphasis remap='I'>X</emphasis> is replaced by a valid scope id)
-or to a locally assigned
-multicast address. The version number in all packets will be 1.
-Packet opcodes are 16-bit integers.
-</para>
-
-<informaltable frame="none">
- <tgroup cols='2' align='left'>
- <colspec colname='c1' colsep="0"/>
- <colspec colname='c2' colsep="0"/>
- <thead>
- <row>
- <entry>Packet Name</entry>
- <entry>Encoding</entry>
- </row>
- </thead>
- <tbody>
- <row rowsep="0">
- <entry>BroadcastQuery</entry>
- <entry>1</entry>
- </row>
- <row rowsep="0">
- <entry>Query</entry>
- <entry>2</entry>
- </row>
- <row rowsep="0">
- <entry>IndirectQuery</entry>
- <entry>3</entry>
- </row>
- <row rowsep="0">
- <entry>ForwardQuery</entry>
- <entry>4</entry>
- </row>
- <row rowsep="0">
- <entry>Willing</entry>
- <entry>5</entry>
- </row>
- <row rowsep="0">
- <entry>Unwilling</entry>
- <entry>6</entry>
- </row>
- <row rowsep="0">
- <entry>Request</entry>
- <entry>7</entry>
- </row>
- <row rowsep="0">
- <entry>Accept</entry>
- <entry>8</entry>
- </row>
- <row rowsep="0">
- <entry>Decline</entry>
- <entry>9</entry>
- </row>
- <row rowsep="0">
- <entry>Manage</entry>
- <entry>10</entry>
- </row>
- <row rowsep="0">
- <entry>Refuse</entry>
- <entry>11</entry>
- </row>
- <row rowsep="0">
- <entry>Failed</entry>
- <entry>12</entry>
- </row>
- <row rowsep="0">
- <entry>KeepAlive</entry>
- <entry>13
-<footnote><para>
-A previous version of this document incorrectly reversed the opcodes of
-<emphasis role="bold">Alive</emphasis> and
-<emphasis role="bold">KeepAlive</emphasis>.
-</para></footnote>
- </entry>
- </row>
- <row rowsep="0">
- <entry>Alive</entry>
- <entry>14
-<footnote><para>
-A previous version of this document incorrectly reversed the opcodes of
-<emphasis role="bold">Alive</emphasis> and
-<emphasis role="bold">KeepAlive</emphasis>.
-</para></footnote>
- </entry>
- </row>
- </tbody>
- </tgroup>
-</informaltable>
-
-<para>
-Per packet information follows:
-</para>
-
-<para>
-<function>Query</function>,
-<function>BroadcastQuery</function>,
-<function>IndirectQuery</function>
-</para>
-
-<literallayout class="monospaced">
- 2 CARD16 version number (always 1)
- 2 CARD16 opcode (always Query, BroadcastQuery or IndirectQuery)
- 2 CARD16 length
- 1 CARD8 number of Authentication Names sent (m)
- 2 CARD16 length of first Authentication Name (m<emphasis role="subscript">1</emphasis>)
- m<emphasis role="subscript">1</emphasis> CARD8 first Authentication Name
- ... Other Authentication Names
-</literallayout>
-
-<para>
-Note that these three packets are identical except for the opcode field.
-</para>
-
-<literallayout class="monospaced">
-<function>ForwardQuery</function>
- 2 CARD16 version number (always 1)
- 2 CARD16 opcode (always ForwardQuery)
- 2 CARD16 length
- 2 CARD16 length of Client Address (m)
- m CARD8 Client Address
- 2 CARD16 length of Client Port (n)
- n CARD8 Client Port
- 1 CARD8 number of Authentication Names sent (o)
- 2 CARD16 length of first Authentication Name (o<emphasis role="subscript">1</emphasis>)
- o<emphasis role="subscript">1</emphasis> CARD8 first Authentication Name
- ... Other Authentication Names
-</literallayout>
-
-<literallayout class="monospaced">
-<function>Willing</function>
- 2 CARD16 version number (always 1)
- 2 CARD16 opcode (always Willing)
- 2 CARD16 length (6 + m + n + o)
- 2 CARD16 Length of Authentication Name (m)
- m CARD8 Authentication Name
- 2 CARD16 Hostname length (n)
- n CARD8 Hostname
- 2 CARD16 Status length (o)
- o CARD8 Status
-</literallayout>
-
-<literallayout class="monospaced">
-<function>Unwilling</function>
- 2 CARD16 version number (always 1)
- 2 CARD16 opcode (always Unwilling)
- 2 CARD16 length (4 + m + n)
- 2 CARD16 Hostname length (m)
- m CARD8 Hostname
- 2 CARD16 Status length (n)
- n CARD8 Status
-</literallayout>
-
-<literallayout class="monospaced">
-<function>Request</function>
- 2 CARD16 version number (always 1)
- 2 CARD16 opcode (always Request)
- 2 CARD16 length
- 2 CARD16 Display Number
- 1 CARD8 Count of Connection Types (m)
- 2xm CARD16 Connection Types
- 1 CARD8 Count of Connection Addresses (n)
- 2 CARD16 Length of first Connection Address (n<emphasis role="subscript">1</emphasis>)
- n<emphasis role="subscript">1</emphasis> CARD8 First Connection Address
- ... Other connection addresses
- 2 CARD16 Length of Authentication Name (o)
- o CARD8 Authentication Name
- 2 CARD16 Length of Authentication Data (p)
- p CARD8 Authentication Data
- 1 CARD8 Count of Authorization Names (q)
- 2 CARD16 Length of first Authorization Name (q<emphasis role="subscript">1</emphasis>)
- q<emphasis role="subscript">1</emphasis> CARD8 First Authorization Name
- ... Other authorization names
- 2 CARD16 Length of Manufacturer Display ID (r)
- r CARD8 Manufacturer Display ID
-</literallayout>
-
-<literallayout class="monospaced">
-<function>Accept</function>
- 2 CARD16 version number (always 1)
- 2 CARD16 opcode (always Accept)
- 2 CARD16 length (12 + n + m + o + p)
- 4 CARD32 Session ID
- 2 CARD16 Length of Authentication Name (n)
- n CARD8 Authentication Name
- 2 CARD16 Length of Authentication Data (m)
- m CARD8 Authentication Data
- 2 CARD16 Length of Authorization Name (o)
- o CARD8 Authorization Name
- 2 CARD16 Length of Authorization Data (p)
- p CARD8 Authorization Data
-</literallayout>
-
-<literallayout class="monospaced">
-<function>Decline</function>
- 2 CARD16 version number (always 1)
- 2 CARD16 opcode (always Decline)
- 2 CARD16 length (6 + m + n + o)
- 2 CARD16 Length of Status (m)
- m CARD8 Status
- 2 CARD16 Length of Authentication Name (n)
- n CARD8 Authentication Name
- 2 CARD16 Length of Authentication Data (o)
- o CARD8 Authentication Data
-</literallayout>
-
-<literallayout class="monospaced">
-<function>Manage</function>
- 2 CARD16 version number (always 1)
- 2 CARD16 opcode (always Manage)
- 2 CARD16 length (8 + m)
- 4 CARD32 Session ID
- 2 CARD16 Display Number
- 2 CARD16 Length of Display Class (m)
- m CARD8 Display Class
-</literallayout>
-
-<literallayout class="monospaced">
-<function>Refuse</function>
- 2 CARD16 version number (always 1)
- 2 CARD16 opcode (always Refuse)
- 2 CARD16 length (4)
- 4 CARD32 Session ID
-</literallayout>
-
-<literallayout class="monospaced">
-<function>Failed</function>
- 2 CARD16 version number (always 1)
- 2 CARD16 opcode (always Failed)
- 2 CARD16 length (6 + m)
- 4 CARD32 Session ID
- 2 CARD16 Length of Status (m)
- m CARD8 Status
-</literallayout>
-
-<literallayout class="monospaced">
-<function>KeepAlive</function>
- 2 CARD16 version number (always 1)
- 2 CARD16 opcode (always KeepAlive)
- 2 CARD16 length (6)
- 2 CARD16 Display Number
- 4 CARD32 Session ID
-</literallayout>
-
-<literallayout class="monospaced">
-<function>Alive</function>
- 2 CARD16 version number (always 1)
- 2 CARD16 opcode (always Alive)
- 2 CARD16 length (5)
- 1 CARD8 Session Running (0: not running 1: running)
- 4 CARD32 Session ID (0: not running)
-</literallayout>
-</chapter>
-
-<chapter id="Display_Class_Format">
-<title>Display Class Format</title>
-<!-- .XS -->
-<!-- (SN Display Class Format -->
-<!-- .XE -->
-<para>
-The Display Class field of the
-<function>Manage</function>
-packet is used by the display manager to collect common sorts of
-displays into manageable groups. This field is a string encoded of
-ISO-LATIN-1 characters in the following format:
-</para>
-
-<literallayout class="monospaced">
-<emphasis remap='I'>ManufacturerID</emphasis>-<emphasis remap='I'>ModelNumber</emphasis>
-</literallayout>
-
-<para>
-Both elements of this string must exclude characters of the set
-{ <function>-</function>,
-<function>.</function>,
-<function>:</function>,
-<function>*</function>,
-<function>?</function>,
-<emphasis remap='I'>&lt;space&gt;</emphasis> }.
-The ManufacturerID is a string that should be registered
-with the X Consortium.
-The ModelNumber is designed to identify characteristics of the display
-within the manufacturer's product line.
-This string should be documented in the users manual for the
-particular device and should probably not be specifiable by the
-display user to avoid unexpected configuration errors.
-</para>
-</chapter>
-
-<chapter id="Manufacturer_Display_ID_Format">
-<title>Manufacturer Display ID Format</title>
-<!-- .XS -->
-<!-- (SN Manufacturer Display ID Format -->
-<!-- .XE -->
-<para>
-To authenticate the manager, the display and manager will share a private
-key.
-The manager, then, must be able to discover which key to use for a
-particular device.
-The Manufacturer Display ID field of the
-<function>Request</function>
-packet is intended for this purpose. Typically, the manager host will
-contain a map between this number and the key. This field is intended to be
-unique per display, possibly the ethernet address of the display in the form:
-</para>
-
-<literallayout class="monospaced">
--Ethernet-8:0:2b:a:f:d2
-</literallayout>
-
-<para>
-It can also be a string of the form:
-</para>
-
-<literallayout class="monospaced">
-<emphasis remap='I'>ManufacturerID</emphasis>-<emphasis remap='I'>ModelNumber</emphasis>-<emphasis remap='I'>SerialNumber</emphasis>
-</literallayout>
-
-<para>
-The ManufacturerID, ModelNumber and SerialNumber are encoded using
-ISO-LATIN-1 characters, excluding {
-<function>-</function>,
-<function>.</function>,
-<function>*</function>,
-<function>?</function>,
-<emphasis remap='I'>&lt;space&gt;</emphasis> }
-</para>
-
-<para>
-When the display is shipped to a customer, it should include both the
-Manufacturer Display ID and the private key in the documentation set.
-This information should not be modifiable by the display user.
-</para>
-
-</chapter>
-
-<chapter id="Authentication">
-<title>Authentication</title>
-<!-- .XS -->
-<!-- (SN Authentication -->
-<!-- .XE -->
-<para>
-In an environment where authentication is not needed, XDMCP can disable
-authentication by having the display send empty Authentication Name
-and Authentication Data fields in the
-<function>Request</function>
-packet.
-In this case, the manager will not attempt to authenticate itself.
-Other authentication protocols may be developed, depending on local needs.
-</para>
-
-<para>
-In an unsecure environment, the display must be able to verify that the
-source of the various packets is a trusted manager. These packets will
-contain authentication information. As an example of such a system, the
-following discussion describes the "XDM-AUTHENTICATION-1" authentication
-system. This system uses a 56-bit shared private key, and 64 bits of
-authentication data. An associated example X authorization protocol
-"XDM-AUTHORIZATION-1" will also be discussed. The 56-bit key is represented
-as a 64-bit number in network order (big endian). This means that the first
-octet in the representation will be zero. When incrementing a 64-bit value,
-the 8 octets of data will be interpreted in network order (big endian).
-That is, the last octet will be incremented, subsequent carries propogate
-towards the first octet.
-</para>
-
-<para>
-Assumptions:
-</para>
-
-<orderedlist>
- <listitem>
- <para>
-The display and manager share a private key. This key could be programmed
-into the display by the manufacturer and shipped with the unit. It must not
-be available from the display itself, but should allow the value to be
-modified in some way. The system administrator would be responsible for
-managing a database of terminal keys.
- </para>
- </listitem>
- <listitem>
- <para>
-The display can generate random authentication numbers.
- </para>
- </listitem>
-</orderedlist>
-
-<para>
-Some definitions first:
-</para>
-
-<!-- FIXME: -->
-<!-- double chk math symbols, use mathml to display them? -->
-<itemizedlist>
- <listitem>
- <para>
-{&variable.D;}<superscript>&variable.kappa;</superscript> = encryption of plain text D by key &variable.kappa;
- </para>
- </listitem>
- <listitem>
- <para>
-{&variable.Delta;}*<superscript>&variable.kappa;</superscript> = decryption of crypto text &variable.Delta; with key &variable.kappa;
- </para>
- </listitem>
- <listitem>
- <para>
-&variable.tau; = private key shared by display and manager
- </para>
- </listitem>
- <listitem>
- <para>
-&variable.rho; = 64 bit random number generated by display
- </para>
- </listitem>
- <listitem>
- <para>
-&variable.alpha; = authentication data in XDMCP packets
- </para>
- </listitem>
- <listitem>
- <para>
-&variable.sigma; = per-session private key, generated by manager
- </para>
- </listitem>
- <listitem>
- <para>
-&variable.beta; = authorization data
- </para>
- </listitem>
-</itemizedlist>
-
-<para>
-Encryption will use the Data Encryption Standard (DES, FIPS 46-3); blocks
-shorter than 64 bits will be zero-filled
-on the right to 64 bits. Blocks longer than 64 bits will use block chaining:
-</para>
-<para>
-{&variable.D;}<superscript>&variable.kappa;</superscript> = {&variable.D;<subscript>1</subscript>}<superscript>&variable.kappa;</superscript> {&variable.D;<subscript>2</subscript> xor {&variable.D;<subscript>1</subscript>}<superscript>&variable.kappa;</superscript>}<superscript>&variable.kappa;</superscript>
-</para>
-
-<para>
-The display generates the first authentication data in the
-<function>Request</function>
-packet:
-</para>
-
-<para>
-&variable.alpha;<subscript>Request</subscript> = {&variable.rho;}<superscript>&variable.tau;</superscript>
-</para>
-
-<para>
-For the <function>Accept</function>
-packet, the manager decrypts the initial message and returns
-&variable.alpha;<subscript>Accept</subscript>:
-
-</para>
-
-<para>
-&variable.rho; = {&variable.alpha;<subscript>Request</subscript>}*<superscript>&variable.tau;</superscript>
-</para>
-
-<para>
-&variable.alpha;<subscript>Accept</subscript> = { &variable.rho; + 1}<superscript>&variable.tau;</superscript>
-</para>
-
-<para>
-The <function>Accept</function>
-packet also contains the authorization intended for use by
-the X server. A description of authorization type "XDM-AUTHORIZATION-1"
-follows.
-</para>
-
-<para>
-The <function>Accept</function>
-packet contains the authorization name
-"XDM-AUTHORIZATION-1". The authorization data is the string:
-</para>
-<para>
-&variable.beta;<subscript>Accept</subscript> = {&variable.sigma;}<superscript>&variable.tau;</superscript>
-</para>
-
-<para>
-To create authorization information for connection setup with the X server
-using the XDM-AUTHORIZATION-1 authorization protocol, the client computes the
-following:
-</para>
-<para>
-&variable.N; = X client identifier
-</para>
-<para>
-&variable.T; = Current time in seconds on client host (32 bits)
-</para>
-<para>
-&variable.beta; = {&variable.rho;&variable.N;&variable.T;}<superscript>&variable.sigma;</superscript>
-</para>
-
-<para>
-For TCP connections &variable.N; is 48 bits long and contains the 32-bit IPv4 address of
-the client host followed by the 16-bit port number of the client socket.
-Formats for other connections must be registered.
-The resulting value, &variable.beta;, is 192 bits of authorization data that is sent
-in the connection setup to the server. The server receives the packet,
-decrypts the contents. To accept the connection, the following must hold:
-</para>
-
-<itemizedlist>
- <listitem>
- <para>
-&variable.rho; must match the value generated for the most recent XDMCP negotiation.
- </para>
- </listitem>
- <listitem>
- <para>
-&variable.T; must be within 1200 seconds of the internally stored time. If no time
-been received before, the current time is set to &variable.T;.
- </para>
- </listitem>
- <listitem>
- <para>
-No packet containing the same pair (&variable.N;, &variable.T;) can have been received
-in the last 1200 seconds (20 minutes).
- </para>
- </listitem>
-</itemizedlist>
-</chapter>
-</book>
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!--
+ variable names used in equation markup in the authentication chapter
+ FIXME: Replace with mathml?
+ -->
+<!ENTITY variable.D "<emphasis role='italic'>D</emphasis>">
+<!ENTITY variable.N "<emphasis role='italic'>N</emphasis>">
+<!ENTITY variable.T "<emphasis role='italic'>T</emphasis>">
+<!ENTITY variable.Delta "<emphasis role='italic'>&Delta;</emphasis>">
+<!ENTITY variable.alpha "<emphasis role='italic'>&alpha;</emphasis>">
+<!ENTITY variable.beta "<emphasis role='italic'>&beta;</emphasis>">
+<!ENTITY variable.kappa "<emphasis role='italic'>&kappa;</emphasis>">
+<!ENTITY variable.rho "<emphasis role='italic'>&rho;</emphasis>">
+<!ENTITY variable.sigma "<emphasis role='italic'>&sigma;</emphasis>">
+<!ENTITY variable.tau "<emphasis role='italic'>&tau;</emphasis>">
+<!ENTITY % defs SYSTEM "defs.ent"> %defs;
+]>
+
+<book id="xdmcp">
+
+<bookinfo>
+ <title>X Display Manager Control Protocol</title>
+ <subtitle>X.Org Standard</subtitle>
+ <releaseinfo>X Version 11, Release &fullrelvers;</releaseinfo>
+ <releaseinfo>Version 1.1</releaseinfo>
+ <authorgroup>
+ <author>
+ <firstname>Keith</firstname><surname>Packard</surname>
+ <affiliation>
+ <orgname>Massachusetts Institute of Technology</orgname>
+ <orgdiv>Laboratory for Computer Science</orgdiv>
+ <orgdiv>X Consortium</orgdiv>
+ </affiliation>
+ </author>
+ </authorgroup>
+
+ <copyright><year>1989</year><year>2004</year>
+ <holder>The Open Group</holder></copyright>
+
+<legalnotice>
+
+
+
+<para>
+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:
+</para>
+<para>
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+</para>
+<para>
+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.
+</para>
+<para>
+Except as contained in this notice, the name of The Open Group 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 Open Group.
+</para>
+
+<para>
+<emphasis remap='I'>X Window System</emphasis> is a trademark of The Open Group.
+</para>
+</legalnotice>
+</bookinfo>
+
+<chapter id="Purpose_and_Goals">
+<title>Purpose and Goals</title>
+<!-- .XS -->
+<!-- (SN Purpose and Goals -->
+<!-- .XE -->
+<para>
+<!-- .LP -->
+The purpose of the X Display Manager Control Protocol (XDMCP)
+is to provide a uniform mechanism for an autonomous
+display to request login service from a remote host.
+By autonomous, we mean
+the display consists of hardware and processes that are independent of any
+particular host where login service is desired. (For example, the server
+cannot simply be started by a
+<function>fork/exec</function>
+sequence on the host.)
+An X terminal (screen, keyboard, mouse, processor, network interface)
+is a prime example of an autonomous display.
+</para>
+
+<para>
+From the point of view of the end user, it is very important to make
+autonomous displays as easy to use as traditional hardwired character
+terminals. Specifically, you can typically just power on a hardwired
+terminal and be greeted with a login prompt. The same should be possible
+with autonomous displays. However, in a network environment with multiple
+hosts, the end user may want to choose which host(s) to connect to. In an
+environment with many displays and many hosts, a site administrator may want
+to associate particular collections of hosts with particular displays. We
+would like to support the following options:
+</para>
+
+<itemizedlist>
+ <listitem>
+ <para>
+The display has a single, fixed host to which it should connect. It should be
+possible to power on the display and receive a login prompt, without user
+intervention.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+Any one of several hosts on a network or subnetwork may be acceptable
+for accepting login from the display.
+(For example, the user's file systems can be mounted onto
+any such host, providing comparable environments.) It should be possible
+for the display to broadcast to find such hosts and to have the display
+either automatically choose a host or present the possible hosts to the
+user for selection.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+The display has a fixed set of hosts that it can connect to. It should be
+possible for the display to have that set stored in RAM, but it should also be
+possible for a site administrator to be able to maintain host sets for a
+large number of displays using a centralized facility, without having to
+interact (physically or electronically) with each individual display.
+Particular hosts should be allowed to refuse login service, based on
+whatever local criteria are desired.
+ </para>
+ </listitem>
+</itemizedlist>
+
+<para>
+The control protocol should be designed in such a way that it can be used over
+a reasonable variety of communication transport layers. In fact, it is quite
+desirable if every major network protocol family that supports the standard X
+protocol is also capable of supporting XDMCP, because the end result of XDMCP
+negotiation will be standard X protocol connections to the display.
+However, because the number of displays per host may be large,
+a connection-based protocol appears less desirable
+than a connection-less protocol. For this reason the protocol is designed
+to use datagram services with the display responsible for sequencing and
+retransmission.
+</para>
+<para>
+<!-- .LP -->
+To keep the burden on displays at a minimum (because display cost is not
+a factor that can be ignored), it is desirable that displays not be required
+to maintain permanent state (across power cycles) for the purposes
+of the control protocol,
+and it is desirable to keep required state at a minimum while the
+display is powered on.
+</para>
+<para>
+<!-- .LP -->
+Security is an important consideration and must be an integral part of the
+design. The important security goals in the context of XDMCP are:
+</para>
+<itemizedlist>
+ <listitem>
+ <para>
+It should be possible for the display to verify that it is communicating
+with a legitimate host login service. Because the user will present
+credentials (for example, password) to this service,
+it is important to avoid spoof attacks.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+It should be possible for the display and the login service to negotiate the
+authorization mechanism to be used for the standard X protocol.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+It should be possible to provide the same level of security in verifying the
+login service as is provided by the negotiated authorization mechanism.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+Because there are no firm standards yet in the area of security,
+XDMCP must be flexible enough to accomodate a variety of security mechanisms.
+ </para>
+ </listitem>
+</itemizedlist>
+</chapter>
+
+<chapter id="Overview_of_the_Protocol">
+<title>Overview of the Protocol</title>
+<!-- .XS -->
+<!-- (SN Overview of the Protocol -->
+<!-- .XE -->
+<para>
+<!-- .LP -->
+XDMCP is designed to provide authenticated access to display management
+services for remote displays. A new network server, called a \fIDisplay
+Manager\fP, will use XDMCP to communicate with displays to negotiate the
+startup of X sessions. The protocol allows the display to authenticate the
+manager. It also allows most of the configuration information to be
+centralized with the manager and to ease the burden of system administration
+in a large network of displays.
+The essential goal is to provide plug-and-play
+services similar to those provided in the familiar mainframe/terminal world.
+</para>
+<para>
+<!-- .LP -->
+Displays may be turned off by the user at any time. Any existing session
+running on a display that has been turned off must be identifiable. This
+is made possible by requiring a three-way handshake to start a session. If
+the handshake succeeds, any existing session is terminated immediately and a
+new session started. There is the problem (at least with TCP) that
+connections may not be closed when the display is turned off. In most
+environments, the manager should reduce this problem by periodically XSync'ing
+on its own connection, perhaps every five to ten minutes, and terminating the
+session if its own connection ever closes.
+</para>
+<para>
+<!-- .LP -->
+Displays should not be required to retain permanent state for purposes of
+the control protocol. One solution to packets received out of sequence
+would be to use monotonically increasing message identifiers in each message
+to allow both sides to ignore messages that arrive out-of-sequence. For
+this to work, displays would at a minimum have to increment a stable crash
+count each time they are powered on and use that number as part of a
+larger sequence number. But if displays cannot retain permanent state this
+cannot work. Instead, the manager assumes the responsibility for permanent
+state by generating unique numbers that identify a particular session and
+the protocol simply ignores packets that correspond to an invalid session.
+</para>
+<para>
+<!-- .LP -->
+The Manager must not be responsible for packet reception. To prevent the
+Manager from becoming stuck because of a hostile display, no portion of the
+protocol requires the Manager to retransmit a packet. Part of this means
+that any valid packet that the Manager does receive must be
+acknowledged in some way to prevent the display from continuously resending
+packets. The display can keep the protocol running as it will always know
+when the Manager has received (at least one copy of) a packet. On the
+Manager side, this means that any packet may be received more than once (if
+the response was lost) and duplicates must be ignored.
+</para>
+</chapter>
+
+<chapter id="Data_Types">
+<title>Data Types</title>
+<!-- .XS -->
+<!-- (SN Data Types -->
+<!-- .XE -->
+<para>
+<!-- .LP -->
+XDMCP packets contain several types of data. Integer values are always
+stored most significant byte first in the packet ("Big Endian" order).
+As XDMCP will not be used to transport large quantities of data, this
+restriction will not substantially hamper the efficiency of any
+implementation. Also, no padding of any sort will occur within the packets.
+</para>
+
+<informaltable frame="none">
+ <tgroup cols='3' align='left'>
+ <colspec colname='c1' colsep="0"/>
+ <colspec colname='c2' colsep="0"/>
+ <colspec colname='c3' colsep="0"/>
+ <thead>
+ <row>
+ <entry>Type Name</entry>
+ <entry>Length (Bytes)</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row rowsep="0">
+ <entry>CARD8</entry>
+ <entry>1</entry>
+ <entry>A single byte unsigned integer</entry>
+ </row>
+ <row rowsep="0">
+ <entry>CARD16</entry>
+ <entry>2</entry>
+ <entry>Two byte unsigned integer</entry>
+ </row>
+ <row rowsep="0">
+ <entry>CARD32</entry>
+ <entry>4</entry>
+ <entry>Four byte unsigned integer</entry>
+ </row>
+ <row rowsep="0">
+ <entry>ARRAY8</entry>
+ <entry>n+2</entry>
+ <entry>
+This is actually a CARD16 followed by
+a collection of CARD8. The value of the CARD16
+field (n) specifies the number of CARD8 values to follow
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry>ARRAY16</entry>
+ <entry>2*m+1</entry>
+ <entry>
+This is a CARD8 (m) which specifies the
+number of CARD16 values to follow
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry>ARRAY32</entry>
+ <entry>4*l+1</entry>
+ <entry>
+This is a CARD8 (l) which specifies the
+number of CARD32 values to follow
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry>ARRAYofARRAY8</entry>
+ <entry>?</entry>
+ <entry>
+This is a CARD8 which specifies the
+number of ARRAY8 values to follow.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+</informaltable>
+</chapter>
+
+<chapter id="Packet_Format">
+<title>Packet Format</title>
+<!-- .XS -->
+<!-- (SN Packet Format -->
+<!-- .XE -->
+<para>
+All XDMCP packets have the following information:
+</para>
+
+<informaltable frame="none">
+ <tgroup cols='3' align='left'>
+ <colspec colname='c1' colsep="0"/>
+ <colspec colname='c2' colsep="0"/>
+ <colspec colname='c3' colsep="0"/>
+ <thead>
+ <row>
+ <entry>Length (Bytes)</entry>
+ <entry>Field Type</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row rowsep="0">
+ <entry>2</entry>
+ <entry>CARD16</entry>
+ <entry>version number</entry>
+ </row>
+ <row rowsep="0">
+ <entry>2</entry>
+ <entry>CARD16</entry>
+ <entry>opcode packet header</entry>
+ </row>
+ <row rowsep="0">
+ <entry>2</entry>
+ <entry>CARD16</entry>
+ <entry>n = length of remaining data in bytes</entry>
+ </row>
+ <row rowsep="0">
+ <entry>n</entry>
+ <entry>???</entry>
+ <entry>packet-specific data</entry>
+ </row>
+ </tbody>
+ </tgroup>
+</informaltable>
+
+<para>
+<!-- .LP -->
+The fields are as follows:
+</para>
+
+<variablelist>
+ <varlistentry>
+ <term>Version number</term>
+ <listitem>
+ <para>
+This specifies the version of XDMCP that generated this packet in
+case changes in this protocol are required. Displays and
+managers may choose to support older versions for compatibility.
+This field will initially be one (1).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Opcode</term>
+ <listitem>
+ <para>
+This specifies what step of the protocol this packet represents and should
+contain one of the following values (encoding provided in section below):
+<emphasis role="bold">BroadcastQuery</emphasis>,
+<emphasis role="bold">Query</emphasis>,
+<emphasis role="bold">IndirectQuery</emphasis>,
+<emphasis role="bold">ForwardQuery</emphasis>,
+<emphasis role="bold">Willing</emphasis>,
+<emphasis role="bold">Unwilling</emphasis>,
+<emphasis role="bold">Request</emphasis>,
+<emphasis role="bold">Accept</emphasis>,
+<emphasis role="bold">Decline</emphasis>,
+<emphasis role="bold">Manage</emphasis>,
+<emphasis role="bold">Refuse</emphasis>,
+<emphasis role="bold">Failed</emphasis>,
+<emphasis role="bold">KeepAlive</emphasis>
+or
+<emphasis role="bold">Alive</emphasis>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Length of data in bytes</term>
+ <listitem>
+ <para>
+This specifies the length of the information following the first 6 bytes.
+Each packet-type has a different format and will need to be separately
+length-checked against this value. Because every data item has either an
+explicit or implicit length, this can be easily accomplished.
+Packets that have too little or too much data should be ignored.
+ </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+<para>
+Packets should be checked to make sure that they satisfy the following
+conditions:
+</para>
+
+<orderedlist>
+ <listitem>
+ <para>
+They must contain valid opcodes.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+The length of the remaining data should correspond to the sum of the
+lengths of the individual remaining data items.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+The opcode should be expected (a finite state diagram is given
+in a later section).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+If the packet is of type
+<emphasis role="bold">Manage</emphasis> or
+<emphasis role="bold">Refuse</emphasis>,
+the Session ID should match the value sent in the preceding
+<emphasis role="bold">Accept</emphasis> packet.
+ </para>
+ </listitem>
+</orderedlist>
+</chapter>
+
+<chapter id="Protocol">
+<title>Protocol</title>
+<!-- .XS -->
+<!-- (SN Protocol -->
+<!-- .XE -->
+<para>
+Each of the opcodes is described below. Because a given packet type is only
+ever sent one way, each packet description below indicates the direction.
+Most of the packets have additional information included beyond the
+description above. The additional information is appended to the packet
+header in the order described without padding, and the length field is
+computed accordingly.
+</para>
+
+<informaltable frame="none">
+ <tgroup cols='10' align='left'>
+ <colspec colname='col1' colsep="0" colwidth="1*"/>
+ <colspec colname='col2' colsep="0" colwidth="1*"/>
+ <colspec colname='col3' colsep="0" colwidth="1*"/>
+ <colspec colname='col4' colsep="0" colwidth="1*"/>
+ <colspec colname='col5' colsep="0" colwidth="1*"/>
+ <colspec colname='col6' colsep="0" colwidth="1*"/>
+ <colspec colname='col7' colsep="0" colwidth="1*"/>
+ <colspec colname='col8' colsep="0" colwidth="1*"/>
+ <colspec colname='col9' colsep="0" colwidth="1*"/>
+ <colspec colname='col10' colsep="0" colwidth="1*"/>
+ <spanspec namest="col1" nameend="col10" spanname="col1_on" align="left"/>
+ <spanspec namest="col2" nameend="col10" spanname="col2_on" align="left"/>
+ <spanspec namest="col3" nameend="col10" spanname="col3_on" align="left"/>
+ <spanspec namest="col4" nameend="col10" spanname="col4_on" align="left"/>
+ <spanspec namest="col5" nameend="col10" spanname="col5_on" align="left"/>
+ <tbody>
+ <row rowsep="0">
+ <entry spanname="col1_on"><emphasis role="bold">Query</emphasis></entry>
+ </row>
+ <row rowsep="0">
+ <entry spanname="col1_on"><emphasis role="bold">BroadcastQuery</emphasis></entry>
+ </row>
+ <row rowsep="0">
+ <entry spanname="col1_on"><emphasis role="bold">IndirectQuery</emphasis></entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">Display -> Manager</entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">Additional Fields:</entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis>Authentication Names</emphasis>: ARRAYofARRAY8
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Specifies a list of authentication names that the display supports. The
+manager will choose one of these and return it in the
+<emphasis role="bold">Willing</emphasis> packet.
+ </entry>
+ </row>
+<!-- AAAAAAAAAAAAA -->
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry>Semantics</entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+<para>
+A <function>Query</function>
+packet is sent from the display to a specific host to ask if
+that host is willing to provide management services to this display. The
+host should respond with
+<function>Willing</function>
+if it is willing to service the display or
+<function>Unwilling</function>
+if it is not.
+</para>
+
+<para>
+A
+<function>BroadcastQuery</function>
+packet is similar to the
+<function>Query</function>
+packet except that it is intended to be received by all hosts on the network
+(or subnetwork). However, unlike
+<function>Query</function>
+requests, hosts that are not willing to service the display
+should simply ignore
+<function>BroadcastQuery</function>
+requests.
+</para>
+
+<para>
+An
+<function>IndirectQuery</function>
+packet is sent to a well known manager that forwards
+the request to a larger collection of secondary managers using
+<function>ForwardQuery</function>
+packets.
+In this way, the collection of managers that respond can be grouped
+on other than network boundaries; the use of a central manager reduces
+system administrative overhead.
+The primary manager may also send a
+<function>Willing</function>
+packet in response to this packet.
+</para>
+
+<para>
+Each packet type has slightly different semantics:
+</para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+<para>
+The
+<function>Query</function>
+packet is destined only for a single host.
+If the display is instructed to
+<function>Query</function>
+multiple managers, it will send multiple
+<function>Query</function>
+packets. The
+<function>Query</function>
+packet also demands a response from the manager, either
+<function>Willing</function>
+or
+<function>Unwilling</function>.
+ </para>
+ <para>
+The
+<function>BroadcastQuery</function>
+packet is sent to many hosts.
+Each manager that receives this packet will not respond with an
+<function>Unwilling</function>
+packet.
+ </para>
+ <para>
+The
+<function>IndirectQuery</function>
+packet is sent to only one manager with the request
+that the request be forwarded to a larger list of managers using
+<function>ForwardQuery</function>
+packets. This list is expected to be maintained at one
+central site to reduce administrative overhead.
+The function of this packet type is similar to
+<function>BroadcastQuery except that</function>
+<function>BroadcastQuery</function>
+is not forwarded.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">Valid Responses:</entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<function>Willing</function>,
+<function>Unwilling</function>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">Problems/Solutions:</entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">Problem:</entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+<para>Not all managers receive the query packet.</para>
+<para>Indication:</para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+None if
+<function>BroadcastQuery</function>
+or
+<function>IndirectQuery</function>
+was sent, else failure to receive
+<function>Willing</function>.
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">Solution:</entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Repeatedly send the packet while waiting for user to choose a manager.
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Timeout/Retransmission policy:
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+An exponential backoff algorithm should be used here to reduce network load
+for long-standing idle displays. Start at 2 seconds, back off by factors of
+2 to 32 seconds, and discontinue retransmit after 126 seconds. The display
+should reset the timeout when user-input is detected. In this way, the
+display will wakeup when touched by the user.
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry spanname="col1_on">
+<function>ForwardQuery</function>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+<para>Primary Manager -&gt; Secondary Manager</para>
+<para>Additional Fields:</para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Client Address</emphasis>: ARRAY8
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Specifies the network address of the client display.
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Client Port</emphasis>: ARRAY8
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Specifies an identification of the client task on the client display.
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Authentication Names</emphasis>: ARRAYofARRAY8
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Is a duplicate of Authentication Names array that was received
+in the
+<function>IndirectQuery</function>
+packet.
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Semantics:
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+ <para>
+When primary manager receives a
+<function>IndirectQuery</function>
+packet, it is responsible for sending
+<function>ForwardQuery</function>
+packets to an appropriate list of
+managers that can provide service to the display using the same network
+type as the one the original
+<function>IndirectQuery</function>
+packet was received from.
+The Client Address and Client Port fields must contain an
+address that the secondary manager can use to reach the display also using
+this same network. Each secondary manager sends a
+<function>Willing</function>
+packet to the display if it is willing to provide service.
+ </para>
+
+ <para>
+<function>ForwardQuery</function>
+packets are similar to
+<function>BroadcastQuery</function>
+packets in that managers that are not willing to service
+particular displays should not send a
+<function>Unwilling</function>
+packet.
+ </para>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Valid Responses:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<function>Willing</function>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Problems/Solutions:
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Identical to
+<function>BroadcastQuery</function>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Timeout/Retransmission policy:
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Like all packets sent from a manager, this packet should never be
+retransmitted.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry spanname="col1_on">
+<function>Willing</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+ <para>
+Manager -&gt; Display
+ </para>
+ <para>
+Additional Fields:
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Authentication Name</emphasis>: ARRAY8
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+<para>
+Specifies the authentication method, selected from the list offered in the
+<function>Query ,</function>
+<function>BroadcastQuery ,</function>
+or
+<function>IndirectQuery</function>
+packet that the manger expects the display to use in the subsequent
+<function>Request</function>
+packet.
+This choice should remain as constant as feasible so that displays that
+send multiple
+<function>Query</function>
+packets can use the Authentication Name from any
+<function>Willing</function>
+packet that arrives.
+</para>
+<para>
+The display is free to ignore managers that request an insufficient level
+of authentication.
+</para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Hostname</emphasis>: ARRAY8
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Is a human readable string describing the host from which the packet was sent.
+The protocol specifies no interpretation of the data in this field.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Status</emphasis>: ARRAY8
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Is a human readable string describing the status of the host. This could
+include load average/number of users connected or other information. The
+protocol specifies no interpretation of the data in this field.
+ </entry>
+ </row>
+
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Semantics:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+A
+<function>Willing</function>
+packet is sent by managers that may service connections from
+this display. It is sent in response to either a
+<function>Query ,</function>
+<function>BroadcastQuery ,</function>
+or
+<function>ForwardQuery</function>
+but does not imply a commitment to provide service
+(for example, it may later decide that it has accepted enough
+connections already).
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Problems/Solutions:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Problem:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+<para>
+<function>Willing</function>
+not received by the display.
+</para>
+<para>
+Indication:
+</para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+None if
+<function>BroadcastQuery</function>
+or
+<function>IndirectQuery</function>
+was sent, else failure to receive
+<function>Willing .</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+The display should continue to send the query until a response is received.
+ </entry>
+ </row>
+
+
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Timeout/Retransmission policy:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Like all packets sent from the manager to the display, this packet should
+never be retransmitted.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry spanname="col1_on">
+<function>Unwilling</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+ <para>
+Manager -&gt; Display
+ </para>
+ <para>
+Additional Fields:
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+The Hostname and Status fields as in the
+<function>Willing</function>
+packet.
+The Status field should indicate to the user a reason
+for the refusal of service.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Semantics:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+An
+<function>Unwilling</function>
+packet is sent by managers in response to direct
+<function>Query</function>
+requests (as opposed to
+<function>BroadcastQuery</function>
+or
+<function>IndirectQuery</function>
+requests) if the manager will not accept requests for management.
+This is typically sent by managers that wish to only service
+particular displays or that handle a limited number of displays at once.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Problems/Solutions:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Problem:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+<para>
+<function>Unwilling</function>
+not received by the display.
+</para>
+<para>
+Indication:
+</para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Display fails to receive
+<function>Unwilling .</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+The display should continue to send
+<function>Query</function>
+messages until a response is received.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Timeout/Retransmission policy:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Like all packets sent from the manager to the display, this packet should
+never be retransmitted.
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry spanname="col1_on">
+<function>Request</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+ <para>
+Display -&gt; Manager
+ </para>
+ <para>
+Additional Fields:
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Display Number</emphasis>: CARD16
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Specifies the index of this particular server for the host
+on which the display is resident.
+This value will be zero for most autonomous displays.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Connection Types</emphasis>: ARRAY16
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Specifies an array indicating the stream services accepted by the display.
+If the high-order byte in a particular entry is zero, the low-order byte
+corresponds to an X-protocol host family type.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Connection Addresses</emphasis>: ARRAYofARRAY8
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+For each connection type in the previous array, the corresponding entry in
+this array indicates the network address of the display device.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+ <para>
+<emphasis remap='I'>Authentication Name</emphasis>: ARRAY8
+ </para>
+ <para>
+<emphasis remap='I'>Authentication Data</emphasis>: ARRAY8
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Specifies the authentication protocol that the display expects
+the manager to validate itself with. The Authentication Data is
+expected to contain data that the manager will interpret, modify
+and use to authenticate itself.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Authorization Names</emphasis>: ARRAYofARRAY8
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Specifies which types of authorization the display supports. The
+manager may decide to reject displays with which it cannot perform
+authorization.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Manufacturer Display ID</emphasis>: ARRAY8
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Can be used by the manager to determine how to decrypt the
+Authentication Data field in this packet. See the section below on
+Manufacturer Display ID Format.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Semantics:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+A
+<function>Request</function>
+packet is sent by a display to a specific host to request a
+session ID in preparation for a establishing a connection. If the manager
+is willing to service a connection to this display, it should return an
+<function>Accept</function>
+packet with a valid session ID and should be ready for a subsequent
+<function>Manage</function>
+request. Otherwise, it should return a
+<function>Decline</function>
+packet.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Valid Responses:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<function>Accept ,</function>
+<function>Decline</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Problems/Solutions:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Problem:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Request not received by manager.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Indication:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Display timeout waiting for response.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Display resends
+<function>Request</function>
+message.
+ </entry>
+ </row>
+
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Problem:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Message received out of order by manager.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Indication:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+None.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Each time a
+<function>Request</function>
+is sent, the manager sends the Session ID
+associated with the next session in the
+<function>Accept .</function>
+If that next session is not yet started,
+the manager will simply resend with the same Session ID.
+If the session is in progress, the manager will reply
+with a new Session ID; in which case, the
+<function>Accept</function>
+will be discarded by the display.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Timeout/Retransmission policy:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Timeout after 2 seconds, exponential backoff to 32 seconds.
+After no more than 126 seconds, give up and report an error to the user.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry spanname="col1_on">
+<function>Accept</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+ <para>
+Manager -&gt; Display
+ </para>
+ <para>
+Additional Fields:
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Session ID</emphasis>: CARD32
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Identifies the session that can be started by the manager.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+ <para>
+<emphasis remap='I'>Authentication Name</emphasis>: ARRAY8
+ </para>
+ <para>
+<emphasis remap='I'>Authentication Data</emphasis>: ARRAY8
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Is the data sent back to the display to authenticate the manager.
+If the Authentication Data is not the value expected by the display, it
+should terminate the protocol at this point and display an error to the user.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+ <para>
+<emphasis remap='I'>Authorization Name</emphasis>: ARRAY8
+ </para>
+ <para>
+<emphasis remap='I'>Authorization Data</emphasis>: ARRAY8
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Is the data sent to the display to indicate the type of authorization the
+manager will be using in the first call to
+<function>XOpenDisplay</function>
+after the
+<function>Manage</function>
+packet is received.
+ </entry>
+ </row>
+
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Semantics:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<para>
+An
+<function>Accept</function>
+packet is sent by a manager in response to a
+<function>Request</function>
+packet if the manager is willing to establish a connection for the display.
+The Session ID is used to identify this connection from any preceding
+ones and will be used by the display in its subsequent
+<function>Manage</function>
+packet.
+The Session ID is a 32-bit number that is incremented each time an
+<function>Accept</function>
+packet is sent as it must be unique over a reasonably long period of time.
+</para>
+<para>
+If the authentication information is invalid, a
+<function>Decline</function>
+packet will be returned with an appropriate
+<function>Status</function>
+message.
+</para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Problems/Solutions:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Problem:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+<function>Accept</function>
+or
+<function>Decline</function>
+not received by display.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Indication:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Display timeout waiting for response to
+<function>Request .</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Display resends
+<function>Request</function>
+message.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Problem:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Message received out of order by display.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Indication:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Display receives
+<function>Accept</function>
+after
+<function>Manage</function>
+has been sent.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Display discards
+<function>Accept</function>
+messages after it has sent a
+<function>Manage</function>
+message.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Timeout/Retransmission policy:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Like all packets sent from the manager to the display, this packet should
+never be retransmitted.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry spanname="col1_on">
+<function>Decline</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+ <para>
+Manager -&gt; Display
+ </para>
+ <para>
+Additional Fields:
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Status</emphasis>: ARRAY8
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Is a human readable string indicating the reason for refusal of
+service.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+ <para>
+<emphasis remap='I'>Authentication Name</emphasis>:
+ARRAY8
+ </para>
+ <para>
+<emphasis remap='I'>Authentication Data</emphasis>:
+ARRAY8
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Is the data sent back to the display to authenticate the manager. If the
+Authentication Data is not the value expected by the display, it
+should terminate the protocol at this point and display an error to the user.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Semantics:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+A
+<function>Decline</function>
+packet is sent by a manager in response to a
+<function>Request</function>
+packet if the manager is unwilling to establish a connection for the
+display.
+This is allowed even if the manager had responded
+<function>Willing</function>
+to a previous query.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Problems/Solutions:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Same as for
+<function>Accept .</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Timeout/Retransmission policy:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Like all packets sent from a manager to a display, this packet should never
+be retransmitted.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry spanname="col1_on">
+<function>Manage</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+ <para>
+Display -&gt; Manager
+ </para>
+ <para>
+Additional Fields:
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Session ID</emphasis>: CARD32
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Should contain the nonzero session ID returned in the
+<function>Accept</function>
+packet.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Display Number</emphasis>: CARD16
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Must match the value sent in the previous
+<function>Request</function>
+packet.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Display Class</emphasis>: ARRAY8
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Specifies the class of the display.
+See the Display Class Format section,
+which discusses the format of this field.
+ </entry>
+ </row>
+
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Semantics:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+A
+<function>Manage</function>
+packet is sent by a display to ask the manager to begin a
+session on the display. If the Session ID is correct the manager
+should open a connection; otherwise, it should respond with a
+<function>Refuse</function>
+or
+<function>Failed</function>
+packet, unless the Session ID matches a currently
+running session or a session that has not yet successfully opened the
+display but has not given up the attempt. In this latter case, the
+<function>Manage</function>
+packet should be ignored.
+This will work as stream connections give positive success indication
+to both halves of the stream, and positive failure indication
+to the connection initiator (which will eventually generate a
+<function>Failed</function>
+packet).
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Valid Responses:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+X connection with correct auth info,
+<function>Refuse ,</function>
+<function>Failed .</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Problems/Solutions:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Problem:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+<function>Manage</function>
+not received by manager.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Indication:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Display timeout waiting for response.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Display resends
+<function>Manage</function>
+message.
+ </entry>
+ </row>
+
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Problem:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+<function>Manage</function>
+received out of order by manager.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Indication:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Session already in progress with matching Session ID.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+<function>Manage</function>
+packet ignored.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Indication:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Session ID does not match next Session ID.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+<function>Refuse</function>
+message is sent.
+ </entry>
+ </row>
+
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Problem:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Display cannot be opened on selected stream.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Indication:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Display connection setup fails.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+<function>Failed</function>
+message is sent including a human readable reason.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Problem:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Display open does not succeed before a second manage packet is received
+because of a timeout occuring in the display.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Indication:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+<function>Manage</function>
+packet received with Session ID matching the session
+attempting to connect to the display.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+<function>Manage</function>
+packet is ignored. As the stream connection will either
+succeed, which will result in an active session, or the stream will
+eventually give up hope of connecting and send a
+<function>Failed</function>
+packet; no response to this
+<function>Manage</function>
+packet is necessary.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Timeout/Retransmission policy:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Timeout after 2 seconds, exponential backoff to 32 seconds. After no more
+than 126 seconds, give up and report an error to the user.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry spanname="col1_on">
+<function>Refuse</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+ <para>
+Manager -&gt; Display
+ </para>
+ <para>
+Additional Fields:
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Session ID</emphasis>: CARD32
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Should be set to the Session ID received in the
+<function>Manage</function>
+packet.
+ </entry>
+ </row>
+
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Semantics:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+A
+<function>Refuse</function>
+packet is sent by a manager when the Session ID received in the
+<function>Manage</function>
+packet does not match the current Session ID.
+The display should assume that it received an old
+<function>Accept</function>
+packet and should resend its
+<function>Request</function>
+packet.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Problems/Solutions:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Problem:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Error message is lost.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Indication:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Display times out waiting for
+new connection,
+<function>Refuse</function>
+or
+<function>Failed .</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Display resends
+<function>Manage</function>
+message.
+ </entry>
+ </row>
+
+
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Timeout/Retransmission policy:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Like all packets sent from a manager to a display, this packet should never be
+retransmitted.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry spanname="col1_on">
+<function>Failed</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+ <para>
+Manager -&gt; Display
+ </para>
+ <para>
+Additional Fields:
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Session ID</emphasis>: CARD32
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Should be set to the Session ID received in the
+<function>Manage</function>
+packet.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Status</emphasis>: ARRAY8
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Is a human readable string indicating the reason for failure.
+ </entry>
+ </row>
+
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Semantics:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+A
+<function>Failed</function>
+packet is sent by a manager when it has problems establishing
+the initial X connection in response to the
+<function>Manage</function>
+packet.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Problems/Solutions
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Same as for
+<function>Refuse .</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry spanname="col1_on">
+<function>KeepAlive</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+ <para>
+Display -&gt; Manager
+ </para>
+ <para>
+Additional Fields:
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Display Number</emphasis>: CARD16
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Set to the display index for the display host.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Session ID</emphasis>: CARD32
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Should be set to the Session ID received in the
+<function>Manage</function>
+packet during the negotiation for the current session.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Sematics:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+ <para>
+A
+<function>KeepAlive</function>
+packet can be sent at any time during the session by a
+display to discover if the manager is running.
+The manager should respond with
+<function>Alive</function>
+whenever it receives this type of packet.
+ </para>
+ <para>
+This allows the display to discover when the manager host
+is no longer running.
+A display is not required to send
+<function>KeepAlive</function>
+packets and, upon lack of receipt of
+<function>Alive</function>
+packets, is not required to perform any specific action.
+ </para>
+ <para>
+The expected use of this packet is to terminate an active session when the
+manager host or network link fails. The display should keep track of the
+time since any packet has been received from the manager host and use
+<function>KeepAlive</function>
+packets when a substantial time has elapsed since the
+most recent packet.
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Valid Responses:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<function>Alive</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Problems/Solutions:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+Problem:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Manager does not receive the packet or display does not receive the response.
+ </entry>
+ </row>
+
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Indication:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+No
+<function>Alive</function>
+packet is returned.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Solution:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col5_on">
+Retransmit the packet with an exponential backoff; start at 2 seconds and
+assume the host is not up after no less than 30 seconds.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry spanname="col1_on">
+<function>Alive</function>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+ <para>
+Manager -&gt; Display
+ </para>
+ <para>
+Additional Fields:
+ </para>
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Session Running</emphasis>: CARD8
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Indicates that the session identified by Session ID is
+currently active. The value is zero if no session is active
+or one if a session
+is active.
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+<emphasis remap='I'>Session ID</emphasis>: CARD32
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col4_on">
+Specifies the ID of the currently running session; if any.
+When no session is active this field should be zero.
+ </entry>
+ </row>
+
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry spanname="col2_on">
+Semantics:
+ </entry>
+ </row>
+
+ <row rowsep="0">
+ <entry></entry>
+ <entry></entry>
+ <entry spanname="col3_on">
+An
+<function>Alive</function>
+packet is sent in response to a
+<function>KeepAlive</function>
+request.
+If a session is currently active on the display, the manager includes the
+Session ID in the packet. The display can use this information to
+determine the status of the manager.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+</informaltable>
+
+</chapter>
+
+<chapter id="Session_Termination">
+<title>Session Termination</title>
+<para>
+When the session is over, the initial connection with the display (the one
+that acknowledges the
+<function>Manage</function>
+packet) will be closed by the manager.
+If only a single session was active on the display,
+all other connections should be closed by the display
+and the display should be reset. If multiple sessions
+are active simultaneously and the display can identify which connections
+belong to the terminated sesssion, those connections should be closed.
+Otherwise, all connections should be closed and the display reset only when
+all sessions have been terminated (that is, all initial connections closed).
+</para>
+
+<para>
+The session may also be terminated at any time by the display if the
+managing host no longer responds to
+<function>KeepAlive</function>
+packets.
+The exact time-outs for sending
+<function>KeepAlive</function>
+packets is not specified in this protocol as the trade off
+should not be fixed between loading an otherwise idle system with spurious
+<function>KeepAlive</function>
+packets and not noticing that the manager host is down for a long time.
+</para>
+</chapter>
+
+<chapter id="State_Diagrams">
+<title>State Diagrams</title>
+<!-- .XS -->
+<!-- (SN State Diagrams -->
+<!-- .XE -->
+<para>
+<!-- .LP -->
+The following state diagrams are designed to cover all actions of both
+the display and the manager. Any packet that is received out-of-sequence
+will be ignored.
+</para>
+<para>
+<!-- .LP -->
+Display:
+</para>
+
+<variablelist>
+ <varlistentry>
+ <term><emphasis remap='I'>start</emphasis>:</term>
+ <listitem>
+ <para>
+User-requested connect to one host -&gt; <emphasis remap='I'>query</emphasis>
+ </para>
+ <para>
+User-requested connect to some host -&gt; <emphasis remap='I'>broadcast</emphasis>
+ </para>
+ <para>
+User-requested connect to site host-list -&gt; <emphasis remap='I'>indirect</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>query</emphasis>:</term>
+ <listitem>
+ <para>
+Send <function>Query</function> packet
+-&gt; <emphasis remap='I'>collect-query</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>collect-query</emphasis>:</term>
+ <listitem>
+ <para>
+Receive <function>Willing</function> -&gt;
+<emphasis remap='I'>start-connection</emphasis>
+ </para>
+ <para>
+Receive <function>Unwilling</function> -&gt;
+<emphasis remap='I'>stop-connection</emphasis>
+ </para>
+ <para>
+Timeout -&gt; <emphasis remap='I'>query</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><emphasis remap='I'>broadcast</emphasis>:</term>
+ <listitem>
+ <para>
+Send <function>BroadcastQuery</function> packet
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>collect-broadcast-query</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>collect-broadcast-query</emphasis>:</term>
+ <listitem>
+ <para>
+Receive <function>Willing</function> -&gt;
+<emphasis remap='I'>update-broadcast-willing</emphasis>
+ </para>
+ <para>
+User-requested connect to one host -&gt;
+<emphasis remap='I'>start-connection</emphasis>
+ </para>
+ <para>
+Timeout -&gt; <emphasis remap='I'>broadcast</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>update-broadcast-willing</emphasis>:</term>
+ <listitem>
+ <para>
+Add new host to the host list presented to the user
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>collect-broadcast-query</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>indirect</emphasis>:</term>
+ <listitem>
+ <para>
+Send <function>IndirectQuery</function> packet
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>collect-indirect-query</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>collect-indirect-query</emphasis>:</term>
+ <listitem>
+ <para>
+Receive <function>Willing</function> -&gt;
+<emphasis remap='I'>update-indirect-willing</emphasis>
+ </para>
+ <para>
+User-requested connect to one host -&gt;
+<emphasis remap='I'>start-connection</emphasis>
+ </para>
+ <para>
+Timeout -&gt; <emphasis remap='I'>indirect</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>update-indirect-willing</emphasis>:</term>
+ <listitem>
+ <para>
+Add new host to the host list presented to the user
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>collect-indirect-query</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><emphasis remap='I'>start-connection</emphasis>:</term>
+ <listitem>
+ <para>
+Send <function>Request</function> packet
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>await-request-response</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>await-request-response</emphasis>:</term>
+ <listitem>
+ <para>
+Receive <function>Accept</function> -&gt;
+<emphasis remap='I'>manage</emphasis>
+ </para>
+ <para>
+Receive <function>Decline</function> -&gt;
+<emphasis remap='I'>stop-connection</emphasis>
+ </para>
+ <para>
+Timeout -&gt; <emphasis remap='I'>start-connection</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>manage</emphasis>:</term>
+ <listitem>
+ <para>
+Save Session ID
+ </para>
+ <para>
+Send <function>Manage</function> packet with Session ID
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>await-manage-response</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>await-manage-response</emphasis>:</term>
+ <listitem>
+ <para>
+Receive <function>XOpenDisplay :</function> -&gt;
+<emphasis remap='I'>run-session</emphasis>
+ </para>
+ <para>
+Receive <function>Refuse</function> with matching Session ID
+-&gt; <emphasis remap='I'>start-connection</emphasis>
+ </para>
+ <para>
+Receive <function>Failed</function> with matching Session ID
+-&gt; <emphasis remap='I'>stop-connection</emphasis>
+ </para>
+ <para>
+Timeout -&gt; <emphasis remap='I'>manage</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>stop-connection</emphasis>:</term>
+ <listitem>
+ <para>
+Display cause of termination to user
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>start</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>run-session</emphasis>:</term>
+ <listitem>
+ <para>
+Decide to send <function>KeepAlive</function> packet -&gt;
+<emphasis remap='I'>keep-alive</emphasis>
+ </para>
+ <para>
+wait close of first display connection
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>reset-display</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>keep-alive</emphasis>:</term>
+ <listitem>
+ <para>
+Send <function>KeepAlive</function> packet with current Session ID
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>await-alive</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>await-alive</emphasis>:</term>
+ <listitem>
+ <para>
+Receive <function>Alive</function> with matching Session ID -&gt;
+<emphasis remap='I'>run-session</emphasis>
+ </para>
+ <para>
+Receive <function>Alive</function> with nonmatching Session ID
+or FALSE Session Running -&gt; <emphasis remap='I'>reset-display</emphasis>
+ </para>
+ <para>
+Final timeout without receiving <function>Alive</function>
+packet -&gt; <emphasis remap='I'>reset-display</emphasis>
+ </para>
+ <para>
+Timeout -&gt; <emphasis remap='I'>keep-alive</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>reset-display</emphasis>:</term>
+ <listitem>
+ <para>
+(if possible) -&gt; close all display connections associated with this session
+ </para>
+ <para>
+Last session -&gt; close all display connections
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>start</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+
+
+<para>
+Manager:
+</para>
+
+<variablelist>
+ <varlistentry>
+ <term><emphasis remap='I'>idle</emphasis>:</term>
+ <listitem>
+ <para>
+Receive <function>Query</function> -&gt;
+<emphasis remap='I'>query-respond</emphasis>
+ </para>
+ <para>
+Receive
+<function>BroadcastQuery</function>
+-&gt; <emphasis remap='I'>broadcast-respond</emphasis>
+ </para>
+ <para>
+Receive
+<function>IndirectQuery</function>
+-&gt; <emphasis remap='I'>indirect-respond</emphasis>
+ </para>
+ <para>
+Receive
+<function>ForwardQuery</function>
+-&gt; <emphasis remap='I'>forward-respond</emphasis>
+Receive
+ </para>
+ <para>
+<function>Request</function>
+-&gt; <emphasis remap='I'>request-respond</emphasis>
+ </para>
+ <para>
+Receive
+<function>Manage</function>
+-&gt; <emphasis remap='I'>manage</emphasis>
+ </para>
+ <para>
+An active session terminates
+-&gt; <emphasis remap='I'>finish-session</emphasis>
+ </para>
+ <para>
+Receive <function>KeepAlive</function>
+-&gt; <emphasis remap='I'>send-alive</emphasis>
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>query-respond</emphasis>:</term>
+ <listitem>
+ <para>
+If willing to manage -&gt; <emphasis remap='I'>send-willing</emphasis>
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>send-unwilling</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>broadcast-respond</emphasis>:</term>
+ <listitem>
+ <para>
+If willing to manage -&gt; <emphasis remap='I'>send-willing</emphasis>
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>indirect-respond</emphasis>:</term>
+ <listitem>
+ <para>
+Send <function>ForwardQuery</function>
+packets to all managers on redirect list
+ </para>
+ <para>
+If willing to manage -&gt; <emphasis remap='I'>send-willing</emphasis>
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>forward-respond</emphasis>:</term>
+ <listitem>
+ <para>
+Decode destination address, if willing to manage -&gt;
+<emphasis remap='I'>send-willing</emphasis>
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>send-willing</emphasis>:</term>
+ <listitem>
+ <para>
+Send <function>Willing</function> packet
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>send-unwilling</emphasis>:</term>
+ <listitem>
+ <para>
+Send <function>Unwilling</function> packet
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>request-respond</emphasis>:</term>
+ <listitem>
+ <para>
+If manager is willing to allow a session on display
+-&gt; <emphasis remap='I'>accept-session</emphasis>
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>decline-session</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>accept-session</emphasis>:</term>
+ <listitem>
+ <para>
+Generate Session ID and save Session ID, display address, and
+display number somewhere
+ </para>
+ <para>
+Send <function>Accept</function> packet
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>decline-session</emphasis>:</term>
+ <listitem>
+ <para>
+Send <function>Decline</function> packet
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>manage</emphasis>:</term>
+ <listitem>
+ <para>
+If Session ID matches saved Session ID -&gt;
+<emphasis remap='I'>run-session</emphasis>
+ </para>
+ <para>
+If Session ID matches Session ID of session in process of
+starting up, or currently active session -&gt;
+<emphasis remap='I'>idle</emphasis>
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>refuse</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>refuse</emphasis>:</term>
+ <listitem>
+ <para>
+Send <function>Refuse</function> packet
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>run-session</emphasis>:</term>
+ <listitem>
+ <para>
+Terminate any session in progress
+ </para>
+ <para>
+<function>XOpenDisplay</function>
+ </para>
+ <para>
+Open display succeeds -&gt;
+<emphasis remap='I'>start-session</emphasis>
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>failed</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>failed</emphasis>:</term>
+ <listitem>
+ <para>
+Send <function>Failed</function> packet
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>start-session</emphasis>:</term>
+ <listitem>
+ <para>
+Start a new session
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>finish-session</emphasis>:</term>
+ <listitem>
+ <para>
+<function>XCloseDisplay</function>
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><emphasis remap='I'>send-alive</emphasis>:</term>
+ <listitem>
+ <para>
+Send <function>Alive</function> packet containing current status
+ </para>
+ <para>
+-&gt; <emphasis remap='I'>idle</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+
+</chapter>
+
+<chapter id="Protocol_Encoding">
+<title>Protocol Encoding</title>
+<para>
+When XDMCP is implemented on top of the Internet User Datagram Protocol (UDP),
+port number 177 is to be used. When using UDP over IPv4, Broadcast Query
+packets are sent via UDP broadcast. When using UDP over IPv6, Broadcast Query
+packets are sent via multicast, either to an address in the IANA registered
+XDMCP multicast address range of
+FF0<emphasis remap='I'>X</emphasis>:0:0:0:0:0:0:12B
+(where the <emphasis remap='I'>X</emphasis> is replaced by a valid scope id)
+or to a locally assigned
+multicast address. The version number in all packets will be 1.
+Packet opcodes are 16-bit integers.
+</para>
+
+<informaltable frame="none">
+ <tgroup cols='2' align='left'>
+ <colspec colname='c1' colsep="0"/>
+ <colspec colname='c2' colsep="0"/>
+ <thead>
+ <row>
+ <entry>Packet Name</entry>
+ <entry>Encoding</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row rowsep="0">
+ <entry>BroadcastQuery</entry>
+ <entry>1</entry>
+ </row>
+ <row rowsep="0">
+ <entry>Query</entry>
+ <entry>2</entry>
+ </row>
+ <row rowsep="0">
+ <entry>IndirectQuery</entry>
+ <entry>3</entry>
+ </row>
+ <row rowsep="0">
+ <entry>ForwardQuery</entry>
+ <entry>4</entry>
+ </row>
+ <row rowsep="0">
+ <entry>Willing</entry>
+ <entry>5</entry>
+ </row>
+ <row rowsep="0">
+ <entry>Unwilling</entry>
+ <entry>6</entry>
+ </row>
+ <row rowsep="0">
+ <entry>Request</entry>
+ <entry>7</entry>
+ </row>
+ <row rowsep="0">
+ <entry>Accept</entry>
+ <entry>8</entry>
+ </row>
+ <row rowsep="0">
+ <entry>Decline</entry>
+ <entry>9</entry>
+ </row>
+ <row rowsep="0">
+ <entry>Manage</entry>
+ <entry>10</entry>
+ </row>
+ <row rowsep="0">
+ <entry>Refuse</entry>
+ <entry>11</entry>
+ </row>
+ <row rowsep="0">
+ <entry>Failed</entry>
+ <entry>12</entry>
+ </row>
+ <row rowsep="0">
+ <entry>KeepAlive</entry>
+ <entry>13
+<footnote><para>
+A previous version of this document incorrectly reversed the opcodes of
+<emphasis role="bold">Alive</emphasis> and
+<emphasis role="bold">KeepAlive</emphasis>.
+</para></footnote>
+ </entry>
+ </row>
+ <row rowsep="0">
+ <entry>Alive</entry>
+ <entry>14
+<footnote><para>
+A previous version of this document incorrectly reversed the opcodes of
+<emphasis role="bold">Alive</emphasis> and
+<emphasis role="bold">KeepAlive</emphasis>.
+</para></footnote>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+</informaltable>
+
+<para>
+Per packet information follows:
+</para>
+
+<para>
+<function>Query</function>,
+<function>BroadcastQuery</function>,
+<function>IndirectQuery</function>
+</para>
+
+<literallayout class="monospaced">
+ 2 CARD16 version number (always 1)
+ 2 CARD16 opcode (always Query, BroadcastQuery or IndirectQuery)
+ 2 CARD16 length
+ 1 CARD8 number of Authentication Names sent (m)
+ 2 CARD16 length of first Authentication Name (m<emphasis role="subscript">1</emphasis>)
+ m<emphasis role="subscript">1</emphasis> CARD8 first Authentication Name
+ ... Other Authentication Names
+</literallayout>
+
+<para>
+Note that these three packets are identical except for the opcode field.
+</para>
+
+<literallayout class="monospaced">
+<function>ForwardQuery</function>
+ 2 CARD16 version number (always 1)
+ 2 CARD16 opcode (always ForwardQuery)
+ 2 CARD16 length
+ 2 CARD16 length of Client Address (m)
+ m CARD8 Client Address
+ 2 CARD16 length of Client Port (n)
+ n CARD8 Client Port
+ 1 CARD8 number of Authentication Names sent (o)
+ 2 CARD16 length of first Authentication Name (o<emphasis role="subscript">1</emphasis>)
+ o<emphasis role="subscript">1</emphasis> CARD8 first Authentication Name
+ ... Other Authentication Names
+</literallayout>
+
+<literallayout class="monospaced">
+<function>Willing</function>
+ 2 CARD16 version number (always 1)
+ 2 CARD16 opcode (always Willing)
+ 2 CARD16 length (6 + m + n + o)
+ 2 CARD16 Length of Authentication Name (m)
+ m CARD8 Authentication Name
+ 2 CARD16 Hostname length (n)
+ n CARD8 Hostname
+ 2 CARD16 Status length (o)
+ o CARD8 Status
+</literallayout>
+
+<literallayout class="monospaced">
+<function>Unwilling</function>
+ 2 CARD16 version number (always 1)
+ 2 CARD16 opcode (always Unwilling)
+ 2 CARD16 length (4 + m + n)
+ 2 CARD16 Hostname length (m)
+ m CARD8 Hostname
+ 2 CARD16 Status length (n)
+ n CARD8 Status
+</literallayout>
+
+<literallayout class="monospaced">
+<function>Request</function>
+ 2 CARD16 version number (always 1)
+ 2 CARD16 opcode (always Request)
+ 2 CARD16 length
+ 2 CARD16 Display Number
+ 1 CARD8 Count of Connection Types (m)
+ 2xm CARD16 Connection Types
+ 1 CARD8 Count of Connection Addresses (n)
+ 2 CARD16 Length of first Connection Address (n<emphasis role="subscript">1</emphasis>)
+ n<emphasis role="subscript">1</emphasis> CARD8 First Connection Address
+ ... Other connection addresses
+ 2 CARD16 Length of Authentication Name (o)
+ o CARD8 Authentication Name
+ 2 CARD16 Length of Authentication Data (p)
+ p CARD8 Authentication Data
+ 1 CARD8 Count of Authorization Names (q)
+ 2 CARD16 Length of first Authorization Name (q<emphasis role="subscript">1</emphasis>)
+ q<emphasis role="subscript">1</emphasis> CARD8 First Authorization Name
+ ... Other authorization names
+ 2 CARD16 Length of Manufacturer Display ID (r)
+ r CARD8 Manufacturer Display ID
+</literallayout>
+
+<literallayout class="monospaced">
+<function>Accept</function>
+ 2 CARD16 version number (always 1)
+ 2 CARD16 opcode (always Accept)
+ 2 CARD16 length (12 + n + m + o + p)
+ 4 CARD32 Session ID
+ 2 CARD16 Length of Authentication Name (n)
+ n CARD8 Authentication Name
+ 2 CARD16 Length of Authentication Data (m)
+ m CARD8 Authentication Data
+ 2 CARD16 Length of Authorization Name (o)
+ o CARD8 Authorization Name
+ 2 CARD16 Length of Authorization Data (p)
+ p CARD8 Authorization Data
+</literallayout>
+
+<literallayout class="monospaced">
+<function>Decline</function>
+ 2 CARD16 version number (always 1)
+ 2 CARD16 opcode (always Decline)
+ 2 CARD16 length (6 + m + n + o)
+ 2 CARD16 Length of Status (m)
+ m CARD8 Status
+ 2 CARD16 Length of Authentication Name (n)
+ n CARD8 Authentication Name
+ 2 CARD16 Length of Authentication Data (o)
+ o CARD8 Authentication Data
+</literallayout>
+
+<literallayout class="monospaced">
+<function>Manage</function>
+ 2 CARD16 version number (always 1)
+ 2 CARD16 opcode (always Manage)
+ 2 CARD16 length (8 + m)
+ 4 CARD32 Session ID
+ 2 CARD16 Display Number
+ 2 CARD16 Length of Display Class (m)
+ m CARD8 Display Class
+</literallayout>
+
+<literallayout class="monospaced">
+<function>Refuse</function>
+ 2 CARD16 version number (always 1)
+ 2 CARD16 opcode (always Refuse)
+ 2 CARD16 length (4)
+ 4 CARD32 Session ID
+</literallayout>
+
+<literallayout class="monospaced">
+<function>Failed</function>
+ 2 CARD16 version number (always 1)
+ 2 CARD16 opcode (always Failed)
+ 2 CARD16 length (6 + m)
+ 4 CARD32 Session ID
+ 2 CARD16 Length of Status (m)
+ m CARD8 Status
+</literallayout>
+
+<literallayout class="monospaced">
+<function>KeepAlive</function>
+ 2 CARD16 version number (always 1)
+ 2 CARD16 opcode (always KeepAlive)
+ 2 CARD16 length (6)
+ 2 CARD16 Display Number
+ 4 CARD32 Session ID
+</literallayout>
+
+<literallayout class="monospaced">
+<function>Alive</function>
+ 2 CARD16 version number (always 1)
+ 2 CARD16 opcode (always Alive)
+ 2 CARD16 length (5)
+ 1 CARD8 Session Running (0: not running 1: running)
+ 4 CARD32 Session ID (0: not running)
+</literallayout>
+</chapter>
+
+<chapter id="Display_Class_Format">
+<title>Display Class Format</title>
+<!-- .XS -->
+<!-- (SN Display Class Format -->
+<!-- .XE -->
+<para>
+The Display Class field of the
+<function>Manage</function>
+packet is used by the display manager to collect common sorts of
+displays into manageable groups. This field is a string encoded of
+ISO-LATIN-1 characters in the following format:
+</para>
+
+<literallayout class="monospaced">
+<emphasis remap='I'>ManufacturerID</emphasis>-<emphasis remap='I'>ModelNumber</emphasis>
+</literallayout>
+
+<para>
+Both elements of this string must exclude characters of the set
+{ <function>-</function>,
+<function>.</function>,
+<function>:</function>,
+<function>*</function>,
+<function>?</function>,
+<emphasis remap='I'>&lt;space&gt;</emphasis> }.
+The ManufacturerID is a string that should be registered
+with the X Consortium.
+The ModelNumber is designed to identify characteristics of the display
+within the manufacturer's product line.
+This string should be documented in the users manual for the
+particular device and should probably not be specifiable by the
+display user to avoid unexpected configuration errors.
+</para>
+</chapter>
+
+<chapter id="Manufacturer_Display_ID_Format">
+<title>Manufacturer Display ID Format</title>
+<!-- .XS -->
+<!-- (SN Manufacturer Display ID Format -->
+<!-- .XE -->
+<para>
+To authenticate the manager, the display and manager will share a private
+key.
+The manager, then, must be able to discover which key to use for a
+particular device.
+The Manufacturer Display ID field of the
+<function>Request</function>
+packet is intended for this purpose. Typically, the manager host will
+contain a map between this number and the key. This field is intended to be
+unique per display, possibly the ethernet address of the display in the form:
+</para>
+
+<literallayout class="monospaced">
+-Ethernet-8:0:2b:a:f:d2
+</literallayout>
+
+<para>
+It can also be a string of the form:
+</para>
+
+<literallayout class="monospaced">
+<emphasis remap='I'>ManufacturerID</emphasis>-<emphasis remap='I'>ModelNumber</emphasis>-<emphasis remap='I'>SerialNumber</emphasis>
+</literallayout>
+
+<para>
+The ManufacturerID, ModelNumber and SerialNumber are encoded using
+ISO-LATIN-1 characters, excluding {
+<function>-</function>,
+<function>.</function>,
+<function>*</function>,
+<function>?</function>,
+<emphasis remap='I'>&lt;space&gt;</emphasis> }
+</para>
+
+<para>
+When the display is shipped to a customer, it should include both the
+Manufacturer Display ID and the private key in the documentation set.
+This information should not be modifiable by the display user.
+</para>
+
+</chapter>
+
+<chapter id="Authentication">
+<title>Authentication</title>
+<!-- .XS -->
+<!-- (SN Authentication -->
+<!-- .XE -->
+<para>
+In an environment where authentication is not needed, XDMCP can disable
+authentication by having the display send empty Authentication Name
+and Authentication Data fields in the
+<function>Request</function>
+packet.
+In this case, the manager will not attempt to authenticate itself.
+Other authentication protocols may be developed, depending on local needs.
+</para>
+
+<para>
+In an unsecure environment, the display must be able to verify that the
+source of the various packets is a trusted manager. These packets will
+contain authentication information. As an example of such a system, the
+following discussion describes the "XDM-AUTHENTICATION-1" authentication
+system. This system uses a 56-bit shared private key, and 64 bits of
+authentication data. An associated example X authorization protocol
+"XDM-AUTHORIZATION-1" will also be discussed. The 56-bit key is represented
+as a 64-bit number in network order (big endian). This means that the first
+octet in the representation will be zero. When incrementing a 64-bit value,
+the 8 octets of data will be interpreted in network order (big endian).
+That is, the last octet will be incremented, subsequent carries propogate
+towards the first octet.
+</para>
+
+<para>
+Assumptions:
+</para>
+
+<orderedlist>
+ <listitem>
+ <para>
+The display and manager share a private key. This key could be programmed
+into the display by the manufacturer and shipped with the unit. It must not
+be available from the display itself, but should allow the value to be
+modified in some way. The system administrator would be responsible for
+managing a database of terminal keys.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+The display can generate random authentication numbers.
+ </para>
+ </listitem>
+</orderedlist>
+
+<para>
+Some definitions first:
+</para>
+
+<!-- FIXME: -->
+<!-- double chk math symbols, use mathml to display them? -->
+<itemizedlist>
+ <listitem>
+ <para>
+{&variable.D;}<superscript>&variable.kappa;</superscript> = encryption of plain text D by key &variable.kappa;
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+{&variable.Delta;}*<superscript>&variable.kappa;</superscript> = decryption of crypto text &variable.Delta; with key &variable.kappa;
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+&variable.tau; = private key shared by display and manager
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+&variable.rho; = 64 bit random number generated by display
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+&variable.alpha; = authentication data in XDMCP packets
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+&variable.sigma; = per-session private key, generated by manager
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+&variable.beta; = authorization data
+ </para>
+ </listitem>
+</itemizedlist>
+
+<para>
+Encryption will use the Data Encryption Standard (DES, FIPS 46-3); blocks
+shorter than 64 bits will be zero-filled
+on the right to 64 bits. Blocks longer than 64 bits will use block chaining:
+</para>
+<para>
+{&variable.D;}<superscript>&variable.kappa;</superscript> = {&variable.D;<subscript>1</subscript>}<superscript>&variable.kappa;</superscript> {&variable.D;<subscript>2</subscript> xor {&variable.D;<subscript>1</subscript>}<superscript>&variable.kappa;</superscript>}<superscript>&variable.kappa;</superscript>
+</para>
+
+<para>
+The display generates the first authentication data in the
+<function>Request</function>
+packet:
+</para>
+
+<para>
+&variable.alpha;<subscript>Request</subscript> = {&variable.rho;}<superscript>&variable.tau;</superscript>
+</para>
+
+<para>
+For the <function>Accept</function>
+packet, the manager decrypts the initial message and returns
+&variable.alpha;<subscript>Accept</subscript>:
+
+</para>
+
+<para>
+&variable.rho; = {&variable.alpha;<subscript>Request</subscript>}*<superscript>&variable.tau;</superscript>
+</para>
+
+<para>
+&variable.alpha;<subscript>Accept</subscript> = { &variable.rho; + 1}<superscript>&variable.tau;</superscript>
+</para>
+
+<para>
+The <function>Accept</function>
+packet also contains the authorization intended for use by
+the X server. A description of authorization type "XDM-AUTHORIZATION-1"
+follows.
+</para>
+
+<para>
+The <function>Accept</function>
+packet contains the authorization name
+"XDM-AUTHORIZATION-1". The authorization data is the string:
+</para>
+<para>
+&variable.beta;<subscript>Accept</subscript> = {&variable.sigma;}<superscript>&variable.tau;</superscript>
+</para>
+
+<para>
+To create authorization information for connection setup with the X server
+using the XDM-AUTHORIZATION-1 authorization protocol, the client computes the
+following:
+</para>
+<para>
+&variable.N; = X client identifier
+</para>
+<para>
+&variable.T; = Current time in seconds on client host (32 bits)
+</para>
+<para>
+&variable.beta; = {&variable.rho;&variable.N;&variable.T;}<superscript>&variable.sigma;</superscript>
+</para>
+
+<para>
+For TCP connections &variable.N; is 48 bits long and contains the 32-bit IPv4 address of
+the client host followed by the 16-bit port number of the client socket.
+Formats for other connections must be registered.
+The resulting value, &variable.beta;, is 192 bits of authorization data that is sent
+in the connection setup to the server. The server receives the packet,
+decrypts the contents. To accept the connection, the following must hold:
+</para>
+
+<itemizedlist>
+ <listitem>
+ <para>
+&variable.rho; must match the value generated for the most recent XDMCP negotiation.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+&variable.T; must be within 1200 seconds of the internally stored time. If no time
+been received before, the current time is set to &variable.T;.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+No packet containing the same pair (&variable.N;, &variable.T;) can have been received
+in the last 1200 seconds (20 minutes).
+ </para>
+ </listitem>
+</itemizedlist>
+</chapter>
+</book>
diff --git a/libXdmcp/docbook.am b/libXdmcp/docbook.am
index 2ffb7e60a..bba4d5453 100644
--- a/libXdmcp/docbook.am
+++ b/libXdmcp/docbook.am
@@ -21,74 +21,82 @@ shelf_DATA =
dist_shelf_DATA = $(docbook) $(chapters)
if HAVE_XMLTO
-#
-# Generate DocBook/XML output formats with or without stylesheets
-#
-
-# Stylesheets are available if the package xorg-sgml-doctools is installed
if HAVE_STYLESHEETS
-# The location where all cross reference databases are installed
-sgmldbsdir = $(XORG_SGML_PATH)/X11/dbs
-masterdb = "$(sgmldbsdir)/masterdb$(suffix $@).xml"
-XMLTO_FLAGS = \
- --searchpath "$(XORG_SGML_PATH)/X11" \
- --stringparam target.database.document=$(masterdb) \
- --stringparam current.docid="$(<:.xml=)" \
- --stringparam collect.xref.targets="no"
-
-XMLTO_XHTML_FLAGS = \
- -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl \
- --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
-
-XMLTO_FO_FLAGS = \
- -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl
-endif HAVE_STYLESHEETS
+XMLTO_SEARCHPATH_FLAGS = \
+ --searchpath "$(XORG_SGML_PATH)/X11" \
+ --searchpath "$(abs_top_builddir)"
+XMLTO_HTML_OLINK_FLAGS = \
+ --stringparam target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.html.xml \
+ --stringparam current.docid="$(<:.xml=)"
+XMLTO_HTML_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl
+XMLTO_HTML_FLAGS = \
+ $(XMLTO_SEARCHPATH_FLAGS) \
+ $(XMLTO_HTML_STYLESHEET_FLAGS) \
+ $(XMLTO_HTML_OLINK_FLAGS)
shelf_DATA += $(docbook:.xml=.html)
-%.html: %.xml $(chapters)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) xhtml-nochunks $<
-
-if HAVE_FOP
-shelf_DATA += $(docbook:.xml=.pdf) $(docbook:.xml=.ps)
-%.pdf: %.xml $(chapters)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop pdf $<
-%.ps: %.xml $(chapters)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop ps $<
-endif HAVE_FOP
+%.html: %.xml $(chapters)
+ $(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) xhtml-nochunks $<
if HAVE_XMLTO_TEXT
+
shelf_DATA += $(docbook:.xml=.txt)
%.txt: %.xml $(chapters)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) txt $<
+ $(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) txt $<
endif HAVE_XMLTO_TEXT
-#
-# Generate documents cross-reference target databases
-#
+if HAVE_FOP
+XMLTO_FO_IMAGEPATH_FLAGS = --stringparam img.src.path=$(abs_builddir)/
+XMLTO_PDF_OLINK_FLAGS = \
+ --stringparam target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.pdf.xml \
+ --stringparam current.docid="$(<:.xml=)"
+XMLTO_FO_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl
+
+XMLTO_FO_FLAGS = \
+ $(XMLTO_SEARCHPATH_FLAGS) \
+ $(XMLTO_FO_STYLESHEET_FLAGS) \
+ $(XMLTO_FO_IMAGEPATH_FLAGS) \
+ $(XMLTO_PDF_OLINK_FLAGS)
+
+shelf_DATA += $(docbook:.xml=.pdf)
+%.pdf: %.xml $(chapters)
+ $(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop pdf $<
-# This is only possible if the xorg-sgml-doctools package is installed
-if HAVE_STYLESHEETS
-if HAVE_XSLTPROC
+shelf_DATA += $(docbook:.xml=.ps)
+%.ps: %.xml $(chapters)
+ $(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop ps $<
+endif HAVE_FOP
-# DocBook/XML generated document cross-reference database
-shelf_DATA += $(docbook:.xml=.html.db) $(docbook:.xml=.fo.db)
+# Generate documents cross-reference target databases
+if HAVE_XSLTPROC
-# Generate DocBook/XML document cross-reference database
-# Flags for the XSL Transformation processor generating xref target databases
-XSLTPROC_FLAGS = \
+XSLT_SEARCHPATH_FLAGS = \
--path "$(XORG_SGML_PATH)/X11" \
- --stringparam targets.filename "$@" \
- --stringparam collect.xref.targets "only" \
- --nonet --xinclude
-
+ --path "$(abs_top_builddir)"
+XSLT_OLINK_FLAGS = \
+ --stringparam targets.filename "$@" \
+ --stringparam collect.xref.targets "only" \
+ --stringparam olink.base.uri "$(@:.db=)"
+
+XSLT_HTML_FLAGS = \
+ $(XSLT_SEARCHPATH_FLAGS) \
+ $(XSLT_OLINK_FLAGS) \
+ --nonet --xinclude \
+ $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl
+XSLT_PDF_FLAGS = \
+ $(XSLT_SEARCHPATH_FLAGS) \
+ $(XSLT_OLINK_FLAGS) \
+ --nonet --xinclude \
+ $(STYLESHEET_SRCDIR)/xorg-fo.xsl
+
+shelf_DATA += $(docbook:.xml=.html.db)
%.html.db: %.xml $(chapters)
- $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \
- http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl $<
+ $(AM_V_GEN)$(XSLTPROC) $(XSLT_HTML_FLAGS) $<
-%.fo.db: %.xml $(chapters)
- $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \
- http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl $<
+shelf_DATA += $(docbook:.xml=.pdf.db)
+%.pdf.db: %.xml $(chapters)
+ $(AM_V_GEN)$(XSLTPROC) $(XSLT_PDF_FLAGS) $<
endif HAVE_XSLTPROC
endif HAVE_STYLESHEETS
diff --git a/libXext/specs/dbelib.xml b/libXext/specs/dbelib.xml
index 1f9068a7d..c642a511f 100644
--- a/libXext/specs/dbelib.xml
+++ b/libXext/specs/dbelib.xml
@@ -13,22 +13,22 @@
<title>Double Buffer Extension Library</title>
<subtitle>X Consortium Standard</subtitle>
<releaseinfo>X Version 11, Release &fullrelvers;</releaseinfo>
+ <releaseinfo>Version 1.0</releaseinfo>
<authorgroup>
<author>
<firstname>Ian</firstname><surname>Elliot</surname>
+ <affiliation><orgname>Hewlett-Packard Company</orgname></affiliation>
</author>
</authorgroup>
<othercredit>
- <firstname>Davide</firstname><surname>Wiggins</surname>
+ <firstname>David</firstname><othername>P.</othername><surname>Wiggins</surname>
+ <affiliation><orgname>X Consortium, Inc</orgname></affiliation>
</othercredit>
- <corpname>Hewlett-Packard Company</corpname>
<copyright><year>1989</year><holder>X Consortium, Inc and Digital Equipment Corporation</holder></copyright>
<copyright><year>1992</year><holder>X Consortium, Inc and Intergraph Corporation</holder></copyright>
<copyright><year>1993</year><holder>X Consortium, Inc and Silicon Graphics, Inc.</holder></copyright>
<copyright><year>1994</year><holder>X Consortium, Inc and Hewlett-Packard Company</holder></copyright>
<copyright><year>1995</year><holder>X Consortium, Inc and Hewlett-Packard Company</holder></copyright>
- <releaseinfo>Version 1.0</releaseinfo>
- <affiliation><orgname>X Consortium</orgname></affiliation>
<legalnotice>
<para>
diff --git a/libXext/specs/dpmslib.xml b/libXext/specs/dpmslib.xml
index d0e24472d..93e6398c7 100644
--- a/libXext/specs/dpmslib.xml
+++ b/libXext/specs/dpmslib.xml
@@ -12,15 +12,15 @@
<title>X Display Power Management Signaling (DPMS) Extension</title>
<subtitle>X Consortium Standard</subtitle>
<releaseinfo>X Version 11, Release &fullrelvers;</releaseinfo>
+ <releaseinfo>Version 1.0</releaseinfo>
<authorgroup>
<author>
<firstname>Rob</firstname><surname>Lembree</surname>
+ <affiliation><orgname>Digital Equipment Corporation</orgname></affiliation>
+ <email>lembree@zk3.dec.com</email>
</author>
</authorgroup>
- <corpname>Digital Equipment Corporation</corpname>
- <copyright><year>1996</year><holder>X Consortium</holder></copyright>
- <releaseinfo>Version 1.0</releaseinfo>
- <affiliation><orgname>X Consortium</orgname></affiliation>
+ <copyright><year>1996</year><holder>Digital Equipment Corporation</holder></copyright>
<legalnotice>
<para>
diff --git a/libXext/specs/synclib.xml b/libXext/specs/synclib.xml
index 67a7b5255..51b7cf5e3 100644
--- a/libXext/specs/synclib.xml
+++ b/libXext/specs/synclib.xml
@@ -17,20 +17,30 @@
<authorgroup>
<author>
<firstname>Tim</firstname><surname>Glauert</surname>
- <affiliation><orgname>Olivetti Research/MultiWorks</orgname></affiliation>
+ <affiliation>
+ <orgname>Olivetti Research</orgname>
+ <orgdiv>MultiWorks</orgdiv>
+ </affiliation>
</author>
<author>
<firstname>Dave</firstname>
<surname>Carver</surname>
- <affiliation><orgname>Digital Equipment Corporation, MIT/Project Athena</orgname></affiliation>
+ <affiliation>
+ <orgname>Digital Equipment Corporation</orgname>
+ <orgdiv>MIT/Project Athena</orgdiv>
+ </affiliation>
</author>
<author>
<firstname>Jim</firstname>
<surname>Gettys</surname>
- <affiliation><orgname>Digital Equipment Corporation, Cambridge Research Laboratory</orgname></affiliation>
+ <affiliation>
+ <orgname>Digital Equipment Corporation</orgname>
+ <orgdiv>Cambridge Research Laboratory</orgdiv>
+ </affiliation>
</author>
<author>
<firstname>David</firstname>
+ <othername>P.</othername>
<surname>Wiggins</surname>
<affiliation><orgname>X Consortium, Inc.</orgname></affiliation>
</author>
diff --git a/libXext/specs/xtest1.xml b/libXext/specs/xtest1.xml
index 22d046767..9229d273e 100644
--- a/libXext/specs/xtest1.xml
+++ b/libXext/specs/xtest1.xml
@@ -16,9 +16,7 @@
<orgname>Hewlett Packard</orgname></affiliation>
</author>
</authorgroup>
- <corpname>X Consortium Standard</corpname>
<copyright><year>1993</year><holder>X Consortium</holder></copyright>
- <affiliation><orgname>X Consortium</orgname></affiliation>
<abstract>
<para>
diff --git a/mesalib/src/gallium/auxiliary/util/u_format.c b/mesalib/src/gallium/auxiliary/util/u_format.c
index 34922ab18..700382a0f 100644
--- a/mesalib/src/gallium/auxiliary/util/u_format.c
+++ b/mesalib/src/gallium/auxiliary/util/u_format.c
@@ -67,6 +67,100 @@ util_format_is_float(enum pipe_format format)
}
+/**
+ * Return the number of logical channels in the given format by
+ * examining swizzles.
+ * XXX this could be made into a public function if useful elsewhere.
+ */
+static unsigned
+nr_logical_channels(const struct util_format_description *desc)
+{
+ boolean swizzle_used[UTIL_FORMAT_SWIZZLE_MAX];
+
+ memset(swizzle_used, 0, sizeof(swizzle_used));
+
+ swizzle_used[desc->swizzle[0]] = TRUE;
+ swizzle_used[desc->swizzle[1]] = TRUE;
+ swizzle_used[desc->swizzle[2]] = TRUE;
+ swizzle_used[desc->swizzle[3]] = TRUE;
+
+ return (swizzle_used[UTIL_FORMAT_SWIZZLE_X] +
+ swizzle_used[UTIL_FORMAT_SWIZZLE_Y] +
+ swizzle_used[UTIL_FORMAT_SWIZZLE_Z] +
+ swizzle_used[UTIL_FORMAT_SWIZZLE_W]);
+}
+
+
+/** Test if the format contains RGB, but not alpha */
+boolean
+util_format_is_rgb_no_alpha(enum pipe_format format)
+{
+ const struct util_format_description *desc =
+ util_format_description(format);
+
+ if ((desc->colorspace == UTIL_FORMAT_COLORSPACE_RGB ||
+ desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB) &&
+ nr_logical_channels(desc) == 3) {
+ return TRUE;
+ }
+ return FALSE;
+}
+
+
+boolean
+util_format_is_luminance(enum pipe_format format)
+{
+ const struct util_format_description *desc =
+ util_format_description(format);
+
+ if ((desc->colorspace == UTIL_FORMAT_COLORSPACE_RGB ||
+ desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB) &&
+ desc->swizzle[0] == UTIL_FORMAT_SWIZZLE_X &&
+ desc->swizzle[1] == UTIL_FORMAT_SWIZZLE_X &&
+ desc->swizzle[2] == UTIL_FORMAT_SWIZZLE_X &&
+ desc->swizzle[3] == UTIL_FORMAT_SWIZZLE_1) {
+ return TRUE;
+ }
+ return FALSE;
+}
+
+
+boolean
+util_format_is_luminance_alpha(enum pipe_format format)
+{
+ const struct util_format_description *desc =
+ util_format_description(format);
+
+ if ((desc->colorspace == UTIL_FORMAT_COLORSPACE_RGB ||
+ desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB) &&
+ desc->swizzle[0] == UTIL_FORMAT_SWIZZLE_X &&
+ desc->swizzle[1] == UTIL_FORMAT_SWIZZLE_X &&
+ desc->swizzle[2] == UTIL_FORMAT_SWIZZLE_X &&
+ desc->swizzle[3] == UTIL_FORMAT_SWIZZLE_Y) {
+ return TRUE;
+ }
+ return FALSE;
+}
+
+
+boolean
+util_format_is_intensity(enum pipe_format format)
+{
+ const struct util_format_description *desc =
+ util_format_description(format);
+
+ if ((desc->colorspace == UTIL_FORMAT_COLORSPACE_RGB ||
+ desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB) &&
+ desc->swizzle[0] == UTIL_FORMAT_SWIZZLE_X &&
+ desc->swizzle[1] == UTIL_FORMAT_SWIZZLE_X &&
+ desc->swizzle[2] == UTIL_FORMAT_SWIZZLE_X &&
+ desc->swizzle[3] == UTIL_FORMAT_SWIZZLE_X) {
+ return TRUE;
+ }
+ return FALSE;
+}
+
+
boolean
util_format_is_supported(enum pipe_format format, unsigned bind)
{
diff --git a/mesalib/src/gallium/auxiliary/util/u_format.h b/mesalib/src/gallium/auxiliary/util/u_format.h
index 352710310..2eb3e1b80 100644
--- a/mesalib/src/gallium/auxiliary/util/u_format.h
+++ b/mesalib/src/gallium/auxiliary/util/u_format.h
@@ -105,7 +105,8 @@ enum util_format_swizzle {
UTIL_FORMAT_SWIZZLE_W = 3,
UTIL_FORMAT_SWIZZLE_0 = 4,
UTIL_FORMAT_SWIZZLE_1 = 5,
- UTIL_FORMAT_SWIZZLE_NONE = 6
+ UTIL_FORMAT_SWIZZLE_NONE = 6,
+ UTIL_FORMAT_SWIZZLE_MAX = 7 /**< Number of enums counter (must be last) */
};
@@ -477,6 +478,22 @@ boolean
util_format_is_float(enum pipe_format format);
+boolean
+util_format_is_rgb_no_alpha(enum pipe_format format);
+
+
+boolean
+util_format_is_luminance(enum pipe_format format);
+
+
+boolean
+util_format_is_luminance_alpha(enum pipe_format format);
+
+
+boolean
+util_format_is_intensity(enum pipe_format format);
+
+
/**
* Whether the src format can be blitted to destation format with a simple
* memcpy.
diff --git a/mesalib/src/mesa/main/dlist.c b/mesalib/src/mesa/main/dlist.c
index 6e075b4e5..2b2ff9015 100644
--- a/mesalib/src/mesa/main/dlist.c
+++ b/mesalib/src/mesa/main/dlist.c
@@ -871,7 +871,11 @@ translate_id(GLsizei n, GLenum type, const GLvoid * list)
/**
* Wrapper for _mesa_unpack_image() that handles pixel buffer objects.
- * If we run out of memory, GL_OUT_OF_MEMORY will be recorded.
+ * If width < 0 or height < 0 or format or type are invalid we'll just
+ * return NULL. We will not generate an error since OpenGL command
+ * arguments aren't error-checked until the command is actually executed
+ * (not when they're compiled).
+ * But if we run out of memory, GL_OUT_OF_MEMORY will be recorded.
*/
static GLvoid *
unpack_image(struct gl_context *ctx, GLuint dimensions,
@@ -879,6 +883,15 @@ unpack_image(struct gl_context *ctx, GLuint dimensions,
GLenum format, GLenum type, const GLvoid * pixels,
const struct gl_pixelstore_attrib *unpack)
{
+ if (width <= 0 || height <= 0) {
+ return NULL;
+ }
+
+ if (_mesa_bytes_per_pixel(format, type) <= 0) {
+ /* bad format and/or type */
+ return NULL;
+ }
+
if (!_mesa_is_bufferobj(unpack->BufferObj)) {
/* no PBO */
GLvoid *image = _mesa_unpack_image(dimensions, width, height, depth,
diff --git a/mesalib/src/mesa/main/drawpix.c b/mesalib/src/mesa/main/drawpix.c
index 89c2b2697..b7e2c36e1 100644
--- a/mesalib/src/mesa/main/drawpix.c
+++ b/mesalib/src/mesa/main/drawpix.c
@@ -62,7 +62,7 @@ _mesa_DrawPixels( GLsizei width, GLsizei height,
if (width < 0 || height < 0) {
- _mesa_error( ctx, GL_INVALID_VALUE, "glDrawPixels(width or height < 0" );
+ _mesa_error( ctx, GL_INVALID_VALUE, "glDrawPixels(width or height < 0)" );
return;
}
diff --git a/mesalib/src/mesa/state_tracker/st_cb_texture.c b/mesalib/src/mesa/state_tracker/st_cb_texture.c
index e4be7fba4..eab02fb3b 100644
--- a/mesalib/src/mesa/state_tracker/st_cb_texture.c
+++ b/mesalib/src/mesa/state_tracker/st_cb_texture.c
@@ -1829,9 +1829,10 @@ st_finalize_texture(struct gl_context *ctx,
/* Need to import images in main memory or held in other textures.
*/
if (stImage && stObj->pt != stImage->pt) {
- if (level == 0 || (stImage->base.Width == u_minify(stObj->width0, level) &&
- stImage->base.Height == u_minify(stObj->height0, level) &&
- stImage->base.Depth == u_minify(stObj->depth0, level))) {
+ if (level == 0 ||
+ (stImage->base.Width == u_minify(stObj->width0, level) &&
+ stImage->base.Height == u_minify(stObj->height0, level) &&
+ stImage->base.Depth == u_minify(stObj->depth0, level))) {
/* src image fits expected dest mipmap level size */
copy_image_data_to_texture(st, stObj, level, stImage);
}
diff --git a/xorg-server/xkeyboard-config/symbols/cm b/xorg-server/xkeyboard-config/symbols/cm
index 0bca38ef7..622d62d8b 100644
--- a/xorg-server/xkeyboard-config/symbols/cm
+++ b/xorg-server/xkeyboard-config/symbols/cm
@@ -146,7 +146,7 @@ xkb_symbols "azerty"
key <AB01> { [ w, W, U1E85, U1E84 ] }; // SMALL LETTER W, CAPITAL LETTER W, SMALL LETTER W WITH DIAERESIS, CAPITAL LETTER W WITH DIAERESIS
key <AB02> { [ x, X, U2039, U203A ] }; // SMALL LETTER X, CAPITAL LETTER X, SINGLE LEFT-POINTING ANGLE QUOTATION MARK, SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
key <AB03> { [ c, C, U0327, copyright ] }; // SMALL LETTER C, CAPITAL LETTER C, COMBINING CEDILLA, COPYRIGHT SIGN
- key <AB04> { [ v, V, U25CC, NoSymbol ] }; // SMALL LETTER V, CAPITAL LETTER V, PLACEHOLDER CHARACTER
+ key <AB04> { [ v, V, UA78C, UA78B ] }; // SMALL LETTER V, CAPITAL LETTER V, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO)
key <AB05> { [ b, B, U0253, U0181 ] }; // SMALL LETTER B, CAPITAL LETTER B, SMALL LETTER B WITH HOOK, CAPITAL LETTER B WITH HOOK
key <AB06> { [ n, N, U014B, U014A ] }; // SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
key <AB07> { [ U002C, U003F, NoSymbol, U00D7 ] }; // COMMA, QUESTION MARK, , MULTIPLY
@@ -157,8 +157,8 @@ xkb_symbols "azerty"
key <AC02> { [ s, S, U201C, U201D ] }; // SMALL LETTER S, CAPITAL LETTER S, LEFT DOUBLE QUOTES, RIGHT DOUBLE QUOTES
key <AC03> { [ d, D, U0257, U018A ] }; // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK
key <AC04> { [ f, F, U00E6, U00C6 ] }; // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
- key <AC05> { [ g, G, UA78C, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO)
- key <AC06> { [ h, H, U0251, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
+ key <AC05> { [ g, G, U02BC, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
+ key <AC06> { [ h, H, U03B1, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
key <AC07> { [ j, J, leftarrow, U2122 ] }; //SMALL LETTER J, CAPITAL LETTER J, LEFT ARROW, TRADE MARK SIGN
key <AC08> { [ k, K, downarrow, uparrow ] }; // SMALL LETTER K, CAPITAL LETTER K, DOWN ARROW, UP ARROW
key <AC09> { [ l, L, rightarrow, U00A3 ] }; // SMALL LETTER L, CAPITAL LETTER L, RIGHT ARROW, POUND STERLING
@@ -167,7 +167,7 @@ xkb_symbols "azerty"
key <AD01> { [ a, A, U025B, U0190 ] }; // SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E
key <AD02> { [ z, Z, U2026, U2020 ] }; // SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER
key <AD03> { [ e, E, U0259, U018F ] }; // SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA
- key <AD04> { [ r, R, NoSymbol, U00AE ] }; // SMALL LETTER R, CAPITAL LETTER R, , REGISTERED SIGN
+ key <AD04> { [ r, R, U25CC, U00AE ] }; // SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN
key <AD05> { [ t, T, U0153, U0152 ] }; // SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
key <AD06> { [ y, Y, U01B4, U01B3 ] }; // SMALL LETTER Y, CAPITAL LETTER Y, SMALL LETTER Y WITH HOOK, CAPITAL LETTER Y WITH HOOK
key <AD07> { [ u, U, U0289, U0244 ] }; // SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
@@ -202,8 +202,8 @@ xkb_symbols "qwerty"
include "cm(basic)"
key <AB01> { [ z, Z, U2026, U2020 ] }; // SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER
key <AB02> { [ x, X ] }; // SMALL LETTER X, CAPITAL LETTER X
- key <AB03> { [ c, C, NoSymbol, U00A9 ] }; // SMALL LETTER C, CAPITAL LETTER C, , COPYRIGHT
- key <AB04> { [ v, V, U25CC, NoSymbol ] }; // SMALL LETTER V, CAPITAL LETTER V, PLACEHOLDER CHARACTER
+ key <AB03> { [ c, C, U0327, U00A9 ] }; // SMALL LETTER C, CAPITAL LETTER C, CEDILLA, COPYRIGHT
+ key <AB04> { [ v, V, UA78C, UA78B ] }; // SMALL LETTER V, CAPITAL LETTER V, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO)
key <AB05> { [ b, B, U0253, U0181 ] }; // SMALL LETTER B, CAPITAL LETTER B, SMALL LETTER B WITH HOOK, CAPITAL LETTER B WITH HOOK
key <AB06> { [ n, N, U014B, U014A ] }; // SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
key <AB07> { [ m, M, NoSymbol, U2122 ] }; // SMALL LETTER M, CAPITAL LETTER M, , TRADEMARK SIGN
@@ -214,8 +214,8 @@ xkb_symbols "qwerty"
key <AC02> { [ s, S ] }; // SMALL LETTER S, CAPITAL LETTER S
key <AC03> { [ d, D, U0257, U018A ] }; // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK
key <AC04> { [ f, F, U00E6, U00C6 ] }; // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
- key <AC05> { [ g, G, UA78C, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO)
- key <AC06> { [ h, H, U0251, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
+ key <AC05> { [ g, G, U02BC, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
+ key <AC06> { [ h, H, U03B1, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
key <AC07> { [ j, J, U0330, U0323 ] }; // SMALL LETTER J, CAPITAL LETTER J, COMBINING TILDE (NASAL) BELOW, COMBINING DOT BELOW
key <AC08> { [ k, K, U1DC5, U1DC7 ] }; // SMALL LETTER K, CAPITAL LETTER K, COMBINING LOW-MID TONE, COMBINING HIGH-MID
key <AC09> { [ l, L, U1DC6, U1DC4 ] }; // SMALL LETTER L, CAPITAL LETTER L, COMBINING MID-LOW, COMBINING MID-HIGH TONE
@@ -224,7 +224,7 @@ xkb_symbols "qwerty"
key <AD01> { [ q, Q, U2014, U2013 ] }; // SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH
key <AD02> { [ w, W, U1E85, U1E84 ] }; // SMALL LETTER W, CAPITAL LETTER W, SMALL LETTER W WITH DIAERESIS, CAPITAL LETTER W WITH DIAERESIS
key <AD03> { [ e, E, U0259, U018F ] }; // SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA
- key <AD04> { [ r, R, NoSymbol, U00AE ] }; // SMALL LETTER R, CAPITAL LETTER R, , REGISTERED SIGN
+ key <AD04> { [ r, R, U25CC, U00AE ] }; // SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN
key <AD05> { [ t, T, U0153, U0152 ] }; // SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
key <AD06> { [ y, Y, U01B4, U01B3 ] }; // SMALL LETTER Y, CAPITAL LETTER Y, SMALL LETTER Y WITH HOOK, CAPITAL LETTER Y WITH HOOK
key <AD07> { [ u, U, U0289, U0244 ] }; // SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
@@ -251,7 +251,7 @@ xkb_symbols "qwerty"
partial alphanumeric_keys
xkb_symbols "dvorak"
{
- name[Group1] = "English (Cameroon Dvorak)";
+ name[Group1] = "Cameroon Multilingual (Dvorak)";
include "level3(ralt_switch)"
include "us(dvorak)"
key <AB01> { [ semicolon, colon ] }; // SEMICOLON, COLON
@@ -262,7 +262,7 @@ xkb_symbols "dvorak"
key <AB06> { [ b, B, U0253, U0181 ] }; // SMALL LETTER B, CAPITAL LETTER B, SMALL LETTER B WITH HOOK, CAPITAL LETTER B WITH HOOK
key <AB07> { [ m, M, NoSymbol, U2122 ] }; // SMALL LETTER M, CAPITAL LETTER M, , TRADEMARK SIGN
key <AB08> { [ w, W, U1E85, U1E84 ] }; // SMALL LETTER W, CAPITAL LETTER W, SMALL LETTER W WITH DIAERESIS, CAPITAL LETTER W WITH DIAERESIS
- key <AB09> { [ v, V, U25CC, NoSymbol ] }; // SMALL LETTER V, CAPITAL LETTER V, PLACEHOLDER CHARACTER
+ key <AB09> { [ v, V, UA78C, UA78B ] }; // SMALL LETTER V, CAPITAL LETTER V, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO)
key <AB10> { [ z, Z, U2026, U2020 ] }; // SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER
key <AC01> { [ a, A, U025B, U0190 ] }; // SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E
key <AC02> { [ o, O, U0254, U0186 ] }; // SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O
@@ -270,7 +270,7 @@ xkb_symbols "dvorak"
key <AC04> { [ u, U, U0289, U0244 ] }; // SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
key <AC05> { [ i, I, U0268, U0197 ] }; // SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR
key <AC06> { [ d, D, U0257, U018A ] }; // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK
- key <AC07> { [ h, H, U0251, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
+ key <AC07> { [ h, H, U03B1, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
key <AC08> { [ t, T, U0153, U0152 ] }; // SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
key <AC09> { [ n, N, U014B, U014A ] }; // SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
key <AC10> { [ s, S ] }; // SMALL LETTER S, CAPITAL LETTER S
@@ -281,9 +281,9 @@ xkb_symbols "dvorak"
key <AD04> { [ p, P, U00F8, U00D8 ] }; // SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR
key <AD05> { [ y, Y, U01B4, U01B3 ] }; // SMALL LETTER Y, CAPITAL LETTER Y, SMALL LETTER Y WITH HOOK, CAPITAL LETTER Y WITH HOOK
key <AD06> { [ f, F, U00E6, U00C6 ] }; // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
- key <AD07> { [ g, G, UA78C, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO)
- key <AD08> { [ c, C, NoSymbol, U00A9 ] }; // SMALL LETTER C, CAPITAL LETTER C, , COPYRIGHT
- key <AD09> { [ r, R, NoSymbol, U00AE ] }; // SMALL LETTER R, CAPITAL LETTER R, , REGISTERED SIGN
+ key <AD07> { [ g, G, U02BC, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
+ key <AD08> { [ c, C, U0327, U00A9 ] }; // SMALL LETTER C, CAPITAL LETTER C, CEDILLA, COPYRIGHT
+ key <AD09> { [ r, R, U25CC, U00AE ] }; // SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN
key <AD10> { [ l, L, U1DC6, U1DC4 ] }; // SMALL LETTER L, CAPITAL LETTER L, COMBINING MID-LOW, COMBINING MID-HIGH TONE
key <AD11> { [ slash, U003F, U00F7, U0294 ] }; // SLASH, QUESTION MARK, DIVISION SIGN, GLOTTAL STOP
key <AD12> { [ equal, plus, NoSymbol, plusminus ] }; // EQUAL, PLUS, , PLUS-MINUS