diff options
author | Alexandr Shadchin <shadchin@cvs.openbsd.org> | 2010-11-21 15:13:53 +0000 |
---|---|---|
committer | Alexandr Shadchin <shadchin@cvs.openbsd.org> | 2010-11-21 15:13:53 +0000 |
commit | 4c6799443ef2d613ba2a05fbfa311398f15921fc (patch) | |
tree | 15f271cce7dab1ff6b29026cafed1869050ac21b | |
parent | 9197b32a2c48c921a2f935c306953d39f19d9574 (diff) |
Update to xf86-input-mouse 1.6.0.
ok matthieu@
21 files changed, 1495 insertions, 3121 deletions
diff --git a/driver/xf86-input-mouse/COPYING b/driver/xf86-input-mouse/COPYING index 1fddcfcac..844bdb1a2 100644 --- a/driver/xf86-input-mouse/COPYING +++ b/driver/xf86-input-mouse/COPYING @@ -1,3 +1,25 @@ +Copyright (c) 2004-2005, 2008-2010, Oracle and/or its affiliates. +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, 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. + Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany. Copyright 1993 by David Dawes <dawes@xfree86.org> Copyright 2002 by SuSE Linux AG, Author: Egbert Eich @@ -108,31 +130,3 @@ 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 2004-2005 Sun Microsystems, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, and/or sell copies of the Software, and to permit persons -to whom the Software is furnished to do so, provided that the above -copyright notice(s) and this permission notice appear in all copies of -the Software and that both the above copyright notice(s) and this -permission notice appear in supporting documentation. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL -INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING -FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, use -or other dealings in this Software without prior written authorization -of the copyright holder. - diff --git a/driver/xf86-input-mouse/ChangeLog b/driver/xf86-input-mouse/ChangeLog index d800f1f2d..f6a12b6d7 100644 --- a/driver/xf86-input-mouse/ChangeLog +++ b/driver/xf86-input-mouse/ChangeLog @@ -1,3 +1,417 @@ +commit 6d6c24768b2b347436a6d35c4aaa129227c7392e +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Wed Sep 8 23:11:19 2010 -0700 + + xf86-input-mouse 1.6.0 + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit 4719334800b7eb88479acdcbbc176019ba9c5bd2 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Wed Sep 8 22:58:30 2010 -0700 + + Bring README a little closer to the current state of reality + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit cb11e9ca60e8ca2590c77f844bfd19e5278f518f +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Wed Aug 11 21:30:40 2010 -0700 + + MouseCtrl doesn't need to save values we never use + + Makes it into a no-op, like evdev's PtrCtrl function, now that + mouse acceleration is completely handled in dix. + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> + Reviewed-by: Patrick E. Kane <pekane52 at gmail.com> + Reviewed-by: Simon Thum <simon.thum@gmx.de> + +commit 374725ef73ca929f8a951061528d11ee796cb069 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Wed Aug 11 20:21:33 2010 -0700 + + Sun's copyrights belong to Oracle now + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit 5b208a2b8d1032489a02c465830150422d1123cc +Author: Henry Zhao <henry.zhao@oracle.com> +Date: Wed Aug 11 20:16:44 2010 -0700 + + Check for NULL currentMode in vuidMouseSendScreenSize() + + Fixes Sun bug 6920647: + Core dump in resume when monitor changed in suspend + http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6920647 + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit b9d6d0309abdec7b384cb1f0958b9bcd60364e60 +Author: Samuel Thibault <samuel.thibault@ens-lyon.org> +Date: Wed Jul 28 21:23:25 2010 +0200 + + Do not return the address of a local buffer + + Make the const buffer returned by FindDevice a static const buffer, to avoid + letting be on the stack. + + Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> + +commit 75300d6ae5a5b2324224423c9f976cba50e47547 +Author: Patrick E. Kane <pekane52@gmail.com> +Date: Fri Jul 16 11:13:20 2010 -0500 + + xf86-input-mouse: Update sun_mouse devPrivates code #29049 + + Update the sun_mouse devPrivates code to conform to the new API + (introducted by commit faeebead7bfcc78535757ca7acc1faf7554c03b7) + that requires the PrivateKey to be registered. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=29049 + + Signed-off-by: Patrick E. Kane <pekane52@gmail.com> + Reviewed-by: Jamey Sharp <jamey@minilop.net> + Signed-off-by: Jamey Sharp <jamey@minilop.net> + +commit 112caa1724e139caeb91c792c394b21d1391b370 +Author: Fernando Carrijo <fcarrijo@yahoo.com.br> +Date: Thu Jul 1 07:13:05 2010 -0300 + + Purge macro NEED_EVENTS + + Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br> + Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com> + Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit b714882b0245a2d6078d8778156e88813761f2c4 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 27 18:57:33 2010 -0400 + + config: use AC_PROG_INSTALL now supplied by XORG_DEFAULT_OPTIONS + + The existing statement can now be removed from the configuration file. + + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 1188152feee345b7a0f39513cd9d7b8bab938338 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 27 09:32:59 2010 -0400 + + config: upgrade to util-macros 1.8 for additional man page support + + Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS + The value of MAN_SUBST is the same for all X.Org packages. + + Use AC_PROG_SED now supplied by XORG_DEFAULT_OPTIONS + The existing statement can now be removed from the configuration file. + + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit ad78ef7a9488f7235032e106839224fc43f20e5f +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 13 16:09:03 2010 -0400 + + config: let AC_PROG_SED find the best value for $SED + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 9a9344e66d2e03ee44bf6fe6a1c1d97082a74c20 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 13 15:59:24 2010 -0400 + + README: keep the text version of README, discard the sgml version + + The linuxdoc doc tool is deprecated. + README files are exclusively text files. + The file had not been updated for 5 years. + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 9711c050e6d2a7c7c89ddc26775d819b5bc41ad3 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 13 14:29:32 2010 -0400 + + config: fix warnings, m4 quoting and layout + + Fix some m4 quoting + Fix some autoconf warnings + Regroup statements per section + Add comments + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 86ddfe77024dbd94e99695a23ba77c2100b7e3e8 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 13 14:08:04 2010 -0400 + + config: Upgrade X.Org macros to 1.4 for INSTALL file copying + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 349db3f68d7f727b965132ade5bcefd5da6ad399 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 13 14:01:28 2010 -0400 + + config: remove AC_PROG_CC as it overrides AC_PROG_C_C99 + + XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls + AC_PROG_C_C99. This sets gcc with -std=gnu99. + If AC_PROG_CC macro is called afterwards, it resets CC to gcc. + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 59ace3b6fd3c1901e8025f4785c31d514aac3b3f +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 13 14:00:41 2010 -0400 + + config: remove unrequired AC_HEADER_STDC + + Autoconf says: + "This macro is obsolescent, as current systems have conforming + header files. New programs need not use this macro". + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 540f1d8826aeee17235bd29c42144fe52213130c +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 13 14:00:06 2010 -0400 + + config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS + + Regroup AC statements at the top. + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 27d00be1f8ae04be0bcb73d2744731ded527e8e5 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 13 13:58:03 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 + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit f76449cbe38d9f2e925d0af0cd0b1050168d86d1 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 13 13:28:37 2010 -0400 + + config: optional extension check for inputproto not required + + The check should be in PKG_CHECK_MODULES permanently. + + The XORG_DRIVER_CHECK_EXT will add inputproto to PKG_CHECK_MODULES + only if the extension is available. By definition, this extension + is an integral part of the server and is always present. + + The server always sets XINPUT macro to 1. + The conditional code was removed + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit a4dfc92927c8e26aca58da11bae1e516238fd60a +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 13 13:27:02 2010 -0400 + + config: remove extension check for unused RANDR extension + + The randr protocol is not used, no randr*.h are included. + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit ecc0b614aa3077e4d73f1b1a567486f5540f3eb5 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 13 13:12:34 2010 -0400 + + config: remove AH_TOP autoheader statement + + The generated config.h does not need to include xorg-server.h + for the content it provides. + Add #include <xorg-server.h> in .[hc] files as needed. + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 4ef973d4c740a0b92e6b0d1afae1d6fca0386bd8 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu May 13 13:08:00 2010 -0400 + + Remove unused SCO driver files + + The SCO driver has never been enabled since its original commit + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 0071e2eb6bd3c31be108b7cdbc415498c83ed1c6 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Wed Apr 28 18:18:14 2010 -0400 + + README: update text content from sgml content + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 4fc24a0093d453944dc8d46aebe27b1671d45c77 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Tue Apr 27 13:50:20 2010 -0400 + + README: fix linuxdoc content + + defs.ent are located under X11 directory + ident tag is not a Linuxdoc tag + replace docbook email tag with linuxdoc email tag + replace <code> with <verb> which preserves tabs + + Reviewed-by: Rémi Cardona <remi@gentoo.org> + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 3ee9b720856efa240b70d38172706485f6420289 +Author: Márton Németh <nm127@freemail.hu> +Date: Tue Apr 13 00:35:57 2010 -0700 + + Bug 10866 - serial Genius NetScroll+ autodetection + + https://bugs.freedesktop.org/show_bug.cgi?id=10866 + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit c74d482378a85eef26dd85fc191f602e0f7c667f +Author: Alan Coopersmith <alan.coopersmith@sun.com> +Date: Wed Jan 20 17:47:20 2010 -0800 + + Solaris: Handle ENODEV & other errors from VUID protocol mice + + Adapted code from keyboard fix for ENODEV to do the same thing for the mouse + + Use normal read() calls for reading from the mouse so we can get the ENODEV + errors, instead of going through the Xisb*() wrappers, which are needed for + reading directly from serial ports (which this code never does since it's + only used with VUID mouse event streams from the kernel). + + Fixes http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6844148 + + Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> + +commit a2d158c290a831dffef3613ddb736c04377c51e7 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Tue Mar 9 13:12:10 2010 -0500 + + config: remove unused -I$(top_srcdir)/src directive + + There are no sibling directories that need access to /src headers + + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit c9ebc0c532bf72e459ec93f6ff4198dfd7e32252 +Author: Alan Coopersmith <alan.coopersmith@sun.com> +Date: Fri Jan 15 14:48:49 2010 -0800 + + Update Sun license notices to current X.Org standard form + + Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> + +commit 36cb94a9af364c18ccae774d79a8c1f937cb786f +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Tue Dec 15 22:01:02 2009 -0500 + + configure.ac: remove unused sdkdir=$(pkg-config...) statement + + The sdkdir variable isn't use, so remove the statement. + + Acked-by: Dan Nicholson <dbn.lists@gmail.com> + + Signed-off-by: Gaetan Nadon <memsize@videotron.ca> + +commit 327ede732bd05185a459c195dbc9ceee250b3b71 +Author: Alan Coopersmith <alan.coopersmith@sun.com> +Date: Wed Dec 16 18:17:26 2009 -0800 + + Silence sed substitutions in make output + + Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> + +commit c6ff6c3bba57a5134b050bead65dd6a1ff2f42aa +Author: Peter Hutterer <peter.hutterer@who-t.net> +Date: Thu Dec 3 11:27:30 2009 +1000 + + Plug minor memory leak. + + This change splits the DEVICE_CLOSE behaviour from the DEVICE_OFF behaviour. + This doesn't change functionality as the server guarantees DEVICE_OFF to be + called first and DEVICE_CLOSE thus becomes a noop anyway. + + Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> + Reviewed-by: Alan Coopersmith <alan.coopersmith@sun.com> + +commit 6ac394cafc959980893553955e98827c7cb45119 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Mon Nov 23 09:25:05 2009 -0500 + + Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES + + Now that the INSTALL file is generated. + Allows running make maintainer-clean. + +commit 9705701af25089ba8896d706f13403416f632cb4 +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Wed Oct 28 14:41:41 2009 -0400 + + INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206 + + Automake 'foreign' option is specified in configure.ac. + Remove from Makefile.am + +commit a80227b40dd710e13fb497f2f01a51afb0e5337c +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Wed Oct 28 14:09:09 2009 -0400 + + INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206 + + Add missing INSTALL file. Use standard GNU file on building tarball + README may have been updated + Remove AUTHORS file as it is empty and no content available yet. + Remove NEWS file as it is empty and no content available yet. + +commit ad49b908b8b6aa7643325e8be75e0b0e5c7e764d +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Mon Oct 26 12:54:20 2009 -0400 + + Several driver modules do not have a ChangeLog target in Makefile.am #23814 + + The git generated ChangeLog replaces the hand written one. + Update configure.ac to xorg-macros level 1.3. + Use XORG_DEFAULT_OPTIONS which replaces four XORG_* macros + Update Makefile.am to add ChangeLog target if missing + Remove ChangeLog from EXTRA_DIST or *CLEAN variables + This is a pre-req for the INSTALL_CMD + +commit 034f5430549b0c713b0be302e067e4f1fd02c6fb +Author: Gaetan Nadon <memsize@videotron.ca> +Date: Thu Oct 22 12:34:16 2009 -0400 + + .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 2b6dc8ccfe85356d309e3191cf5b942c6d4e0cd5 Author: Peter Hutterer <peter.hutterer@who-t.net> Date: Tue Oct 6 12:09:46 2009 +1000 @@ -117,7 +531,7 @@ Date: Sun Aug 16 21:33:43 2009 -0700 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> commit 0996fd2e3dcac813ad450884e8c117bc4d49b89a -Merge: 66bdf8d 8a3f6f7 +Merge: 66bdf8d... 8a3f6f7... Author: Charlie <root@netbsd.(none)> Date: Thu Jul 9 10:05:46 2009 +0200 diff --git a/driver/xf86-input-mouse/INSTALL b/driver/xf86-input-mouse/INSTALL new file mode 100644 index 000000000..8b82ade08 --- /dev/null +++ b/driver/xf86-input-mouse/INSTALL @@ -0,0 +1,291 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006, 2007, 2008 Free Software Foundation, Inc. + + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + + Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 6. Often, you can also type `make uninstall' to remove the installed + files again. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + +Installation Names +================== + + By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `<wchar.h>' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--prefix=DIR' + Use DIR as the installation prefix. *Note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/driver/xf86-input-mouse/Makefile.am b/driver/xf86-input-mouse/Makefile.am index 6acb94955..f73a7ce26 100644 --- a/driver/xf86-input-mouse/Makefile.am +++ b/driver/xf86-input-mouse/Makefile.am @@ -18,24 +18,18 @@ # 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. -AUTOMAKE_OPTIONS = foreign SUBDIRS = src man +MAINTAINERCLEANFILES = ChangeLog INSTALL -if BUILD_LINUXDOC -README: README.sgml - $(MAKE_TEXT) README.sgml && mv README.txt README -endif +.PHONY: ChangeLog INSTALL -EXTRA_DIST = README.sgml - -MAINTAINERCLEANFILES=ChangeLog - -.PHONY: ChangeLog +INSTALL: + $(INSTALL_CMD) ChangeLog: $(CHANGELOG_CMD) -dist-hook: ChangeLog +dist-hook: ChangeLog INSTALL if LINT # Check source code with tools like lint & sparse diff --git a/driver/xf86-input-mouse/Makefile.in b/driver/xf86-input-mouse/Makefile.in index b939b6fe2..ba6088f51 100644 --- a/driver/xf86-input-mouse/Makefile.in +++ b/driver/xf86-input-mouse/Makefile.in @@ -57,7 +57,7 @@ build_triplet = @build@ host_triplet = @host@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure COPYING ChangeLog config.guess \ + $(top_srcdir)/configure COPYING ChangeLog INSTALL config.guess \ config.sub depcomp install-sh ltmain.sh missing subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -105,10 +105,6 @@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_LINUXDOC_FALSE = @BUILD_LINUXDOC_FALSE@ -BUILD_LINUXDOC_TRUE = @BUILD_LINUXDOC_TRUE@ -BUILD_PDFDOC_FALSE = @BUILD_PDFDOC_FALSE@ -BUILD_PDFDOC_TRUE = @BUILD_PDFDOC_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -153,17 +149,13 @@ LINT = @LINT@ LINT_FALSE = @LINT_FALSE@ LINT_FLAGS = @LINT_FLAGS@ LINT_TRUE = @LINT_TRUE@ -LINUXDOC = @LINUXDOC@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ -MAKE_HTML = @MAKE_HTML@ -MAKE_PDF = @MAKE_PDF@ -MAKE_PS = @MAKE_PS@ -MAKE_TEXT = @MAKE_TEXT@ +MAN_SUBSTS = @MAN_SUBSTS@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ NMEDIT = @NMEDIT@ @@ -177,7 +169,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PS2PDF = @PS2PDF@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -186,7 +177,7 @@ STRIP = @STRIP@ VERSION = @VERSION@ XORG_CFLAGS = @XORG_CFLAGS@ XORG_LIBS = @XORG_LIBS@ -XORG_SGML_PATH = @XORG_SGML_PATH@ +XORG_MAN_PAGE = @XORG_MAN_PAGE@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ @@ -235,10 +226,8 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -AUTOMAKE_OPTIONS = foreign SUBDIRS = src man -EXTRA_DIST = README.sgml -MAINTAINERCLEANFILES = ChangeLog +MAINTAINERCLEANFILES = ChangeLog INSTALL all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -678,15 +667,15 @@ uninstall-info: uninstall-info-recursive tags tags-recursive uninstall uninstall-am uninstall-info-am -@BUILD_LINUXDOC_TRUE@README: README.sgml -@BUILD_LINUXDOC_TRUE@ $(MAKE_TEXT) README.sgml && mv README.txt README +.PHONY: ChangeLog INSTALL -.PHONY: ChangeLog +INSTALL: + $(INSTALL_CMD) ChangeLog: $(CHANGELOG_CMD) -dist-hook: ChangeLog +dist-hook: ChangeLog INSTALL # Check source code with tools like lint & sparse @LINT_TRUE@lint: diff --git a/driver/xf86-input-mouse/README b/driver/xf86-input-mouse/README index 0ba8f7bc3..8daf55853 100644 --- a/driver/xf86-input-mouse/README +++ b/driver/xf86-input-mouse/README @@ -1,6 +1,6 @@ - Mouse Support in X11R6.8 - Kazutaka Yokota - 17 December 2002 + Mouse Support in xf86-input-mouse + Original version written by Kazutaka Yokota for XFree86 on 17 December 2002 + Updated by Alan Coopersmith for X.Org releases ____________________________________________________________ Table of Contents @@ -29,14 +29,15 @@ 4. Configuring Your Mouse 5. xorg.conf Options 5.1 Buttons - 5.2 ZAxisMappping + 5.2 ZAxisMapping 5.3 Resolution 5.4 Drag Lock Buttons 6. Mouse Gallery - 6.1 MS IntelliMouse (serial, PS/2) + 6.1 MS IntelliMouse (serial, PS/2) 6.2 MS IntelliMouse Explorer (PS/2, USB) - 6.3 Kensington Thinking Mouse and Kensington Expert Mouse (serial, PS/2) + 6.3 Kensington Thinking Mouse and Kensington Expert Mouse (serial, + PS/2) 6.4 Genius NetScroll (PS/2) 6.5 Genius NetMouse and NetMouse Pro (serial, PS/2) 6.6 Genius NetScroll Optical (PS/2, USB) @@ -52,27 +53,29 @@ ______________________________________________________________________ - [1m1. Introduction[0m + 1. Introduction - This document describes mouse support in X.org Foundation's X11R6.8 - server. + This document describes mouse support in the xf86-input-mouse driver + for the Xorg X server. This driver is mainly used on non-Linux + operating systems such as BSD & Solaris, as modern Linux systems use + the xf86-input-evdev driver instead. Mouse configuration has often been mysterious task for novice users. However, once you learn several basics, it is straightforward to write the mouse "InputDevice" section in the xorg.conf file by hand. + 2. Supported Hardware - [1m2. Supported Hardware[0m + The xf86-input-mouse driver supports four classes of mice: serial, + bus and PS/2 mice, and additional mouse types supported by specific + operating systems, such as USB mice. - The X.org Foundation X server supports three classes of mice: serial, - bus and PS/2 mice. - - [1mSerial mouse[0m - The serial mouse has been the most popular pointing device for + Serial mouse + The serial mouse was once the most popular pointing device for PCs. There have been numerous serial mouse models from a number of manufactures. Despite the wide range of variations, there have been relatively few protocols (data format) with which the @@ -85,20 +88,21 @@ models on most platforms. - [1mBus mouse[0m + Bus mouse The bus mouse connects to a dedicated interface card in an expansion slot. Some video cards, notably those from ATI, and integrated I/O cards may also have a bus mouse connector. Some bus mice are known as `InPort mouse'. - Note that some mouse manufactures have sold a package including + Note that some mouse manufacturers have sold a package including a serial mouse and a serial interface card. Don't confuse this type of products with the genuine bus mouse. - [1mPS/2 mouse[0m - They are sometimes called `Mouse-port mouse'. The PS/2 mouse is - becoming increasingly common and popular. + PS/2 mouse + They are sometimes called `Mouse-port mouse'. The PS/2 mouse was + common for a generation after serial mice, and most laptops still + use the PS/2 protocol for built-in pointer devices. The PS/2 mouse is an intelligent device and may have more than three buttons and a wheel or a roller. The PS/2 mouse is @@ -109,32 +113,33 @@ behaves as though it were an ordinary two or three button mouse. - [1mUSB mouse[0m + USB mouse USB (Universal Serial Bus) ports are present on most modern computers. Several devices can be plugged into this bus, - including mices and keyboards. + including mice and keyboards. - The server includes support for USB mices on some systems. + This driver includes support for USB mice on some systems. Many mice nowadays can be used both as a serial mouse and as a PS/2 - mouse. They has a logic to distinguish which interface it is - connected to. However, the mouse which is not marketed as compatible - with both serial and PS/2 mouse interface lacks this logic and cannot - be used in such a way, even if you can find an appropriate adapter - with which you can connect the PS/2 mouse to a serial port or visa - versa. - - X11R6.8 supports the mouse with a wheel, a roller or a knob. Its + mouse, or as both a PS/2 and a USB mouse. They have logic to distinguish + which interface it is connected to. However, a mouse which is not + marketed as compatible with both mouse interfaces lacks this logic and + cannot be used in such a way, even if you can find an appropriate adapter + with which you can connect the mouse to a different format port. + + This driver supports a mouse with a wheel, a roller or a knob. Its action is detected as the Z (third) axis motion of the mouse. As the X server or clients normally do not use the Z axis movement of the pointing device, a configuration option, "ZAxisMapping", is provided to assign the Z axis movement to another axis or a pair of buttons (see below). - [1m3. OS Support for Mice[0m + 3. OS Support for Mice + - [1m3.1. Summary of Supported Mouse Protocol Types[0m + + 3.1. Summary of Supported Mouse Protocol Types Protocol Types @@ -152,7 +157,6 @@ NetBSD Ok Ok Ok SP*1 SP*1 SP*1 NetBSD/pc98 Ok ? Ok NA NA NA OpenBSD Ok Ok Ok Ok*1 Ok*1 Ok*1 - OS/2 SP*2 SP*2 SP*2 SP*2 SP*2 ? SCO Ok ? SP*1 SP*1 NA ? Solaris 2.x Ok NA*1 ?*1 Ok Ok SP*1 SVR4 Ok NA*1 SP*1 SP*1 NA ? @@ -162,17 +166,15 @@ SP: support is available in a different form *1 Refer to the following sections for details. - *2 X11R6.8/OS2 will support any type of mouse that the OS supports, - whether it is serial, bus mouse, or PnP type. - [1m3.2. BSD/OS[0m + 3.2. BSD/OS No testing has been done with BSD/OS. - [1m3.3. FreeBSD[0m + 3.3. FreeBSD FreeBSD supports the "SysMouse" protocol which must be specified when the moused daemon is running in versions 2.2.1 or later. @@ -195,18 +197,19 @@ FreeBSD versions 2.2.5 or earlier do not support extended PS/2 mouse protocols ("xxxPS/2"). Always specify the "PS/2" protocol for any PS/2 mouse in these versions regardless of the brand of the mouse. + FreeBSD versions 3.1 or later have support for USB mice. Specify the "Auto" protocol for the /dev/ums0 device. (If the moused daemon is running for the USB mouse, you must use /dev/sysmouse instead of - /dev/ums0 as explained above.) See the [4mums(4)[24m manual page for details. + /dev/ums0 as explained above.) See the ums(4) manual page for details. - [1m3.4. FreeBSD(98)[0m + 3.4. FreeBSD(98) The PS/2 mouse is not supported. - [1m3.5. Interactive Unix[0m + 3.5. Interactive Unix The PnP serial mouse support (the "Auto" protocol) is not supported for the moment. @@ -215,26 +218,26 @@ appropriate device drivers. Use /dev/mouse for the "BusMouse" protocol and /dev/kdmouse for the "PS/2" protocol. These protocols are untested but may work. Please send success/failure reports to - <michael.rohleder@stadt-frankfurt.de>. + <mailto:michael.rohleder@stadt-frankfurt.de> - [1m3.6. Linux[0m + 3.6. Linux All protocol types should work. - [1m3.7. Linux/98[0m + 3.7. Linux/98 The PS/2 mouse is not supported. - [1m3.8. LynxOS[0m + 3.8. LynxOS The PnP serial mouse support (the "Auto" protocol) is disabled in LynxOS, because of limited TTY device driver functionality. - [1m3.9. NetBSD[0m + 3.9. NetBSD NetBSD 1.3.x and former does not support extended PS/2 mouse protocols ("xxxPS/2"). The PS/2 mouse device driver /dev/pms emulates the bus @@ -244,25 +247,26 @@ The "wsmouse" protocol introduced in NetBSD 1.4 along with the wscons console driver is supported. You need to run binaries compiled on NetBSD 1.4 to have support for it though. Use "/dev/wsmouse0" for the - device. Refer to the [4mwsmouse(4)[24m manual page for kernel configuration + device. Refer to the wsmouse(4) manual page for kernel configuration informations. - This driver also provides support for USB mices. See the [4mums(4)[24m manual + This driver also provides support for USB mice. See the ums(4) manual page for details. - [1m3.10. NetBSD/pc98[0m + 3.10. NetBSD/pc98 The PS/2 mouse is not supported. - [1m3.11. OpenBSD[0m + + 3.11. OpenBSD The raw PS/2 mouse device driver /dev/psm0 uses the raw PS/2 mouse protocol. OpenBSD 2.2 and earlier does not support extended PS/2 mouse protocols - ("xxxPS/2") . Therefore, you should specify the "PS/2" protocol for + ("xxxPS/2") . Therefore, you should specify the "PS/2" protocol for any PS/2 mouse regardless of the brand of the mouse. OpenBSD 2.3 and later support all extended PS/2 mouse protocols. You @@ -270,50 +274,58 @@ extended ("xxxPS/2") protocol for non PnP mice. There is also a cooked PS/2 mouse device driver /dev/pms0 which - emulates the bus mouse. Specify the "BusMouse" protocol for any PS/2 + emulates the bus mouse. Specify the "BusMouse" protocol for any PS/2 mouse regardless of the brand of the mouse when using this device. - XFree86 3.3.6 support USB mices on OpenBSD 2.6 and later though the + XFree86 3.3.6 support USB mice on OpenBSD 2.6 and later though the generic Human Interface Device (hid) /dev/uhid*. Select the "usb" protocol and the /dev/uhid* instance corresponding to your mouse as the device name. - [1m3.12. OS/2[0m + 3.12. OS/2 - X11R6.8/OS2 always uses the native mouse driver of the operating + X11R7.5/OS2 always uses the native mouse driver of the operating system and will support any type of pointer that the OS supports, whether it is serial, bus mouse, or PnP type. If the mouse works - under Presentation Manager, it will also work under X11R6.8/OS2. + under Presentation Manager, it will also work under X11R7.5/OS2. Always specify "OSMouse" as the protocol type. - [1m3.13. SCO[0m + 3.13. SCO The bus and PS/2 mouse are supported with the "OSMouse" protocol type. The "OSMouse" may also be used with the serial mouse. - [1m3.14. Solaris[0m + 3.14. Solaris - Testing has been done with Solaris 2.5.1, 2.6, 7, 8, 9 and pre-release - versions of Solaris 10. Logitech and Microsoft bus mice have not been - tested, but might work with the /dev/logi and /dev/msm devices. - Standard 2 and 3 button PS/2 mice work with the "PS/2" protocol type - and the /dev/kdmouse device. USB mice work with the "VUID" protocol - type and the /dev/mouse device. The PnP serial mouse support (the - "Auto" protocol) has been tested and does not work. The "Auto" - protocol can however detect PS/2 and USB mice correctly. + Testing has been done with Solaris 2.5.1, 2.6, 7, 8, 9, 10, and 11. + + On Solaris 10 1/06 and later versions with "virtual mouse" support, + all PS/2 and USB mice connected to the system can be accessed via the + /dev/mouse device using the VUID protocol, including USB mice plugged + in after the X server is started. On older releases or to address mice + individually, specific devices and protocols may be used. + + Logitech and Microsoft bus mice have not been tested, but might work + with the /dev/logi and /dev/msm devices. Standard 2 and 3 button PS/2 + mice work with the "PS/2" protocol type and the /dev/kdmouse device. + USB mice work with the "VUID" protocol type and the /dev/mouse device. + The PnP serial mouse support via the "Auto" protocol has been tested + and does not work. The "Auto" protocol can however detect PS/2 and USB + mice correctly. Additional USB mice can be connected using the "VUID" protocol type - and the appropriate "/dev/usb/hid" device with the Option - "StreamsModule" "usbms" line included in the associated "InputDevice" - section. + and the appropriate "/dev/usb/hid" device with the + Option "StreamsModule" "usbms" + line included in the associated "InputDevice" section. + - [1m3.15. SVR4[0m + 3.15. SVR4 The bus and PS/2 mouse may be supported with the "Xqueue" protocol type. @@ -323,17 +335,17 @@ The PnP serial mouse support (the "Auto" protocol) is not tested. - [1m3.16. PANIX[0m + 3.16. PANIX The PC/AT version of PANIX supports the bus and PS/2 mouse with the "Xqueue" protocol type. The PC-98 version of PANIX supports the bus mouse with the "Xqueue" protocol type. - [1m4. Configuring Your Mouse[0m + 4. Configuring Your Mouse - Before using the xorgconfig program to set up mouse configuration, you + Before editing the xorg.conf file to set up mouse configuration, you must identify the interface type, the device name and the protocol type of your mouse. Blindly trying every possible combination of mouse settings will lead you nowhere. @@ -343,10 +355,11 @@ connector of the mouse. The serial mouse has a D-Sub female 9- or 25-pin connector. The bus mice have either a D-Sub male 9-pin connector or a round DIN 9-pin connector. The PS/2 mouse is equipped - with a small, round DIN 6-pin connector. Some mice come with adapters - with which the connector can be converted to another. If you are to - use such an adapter, remember that the connector at the very end of - the mouse/adapter pair is what matters. + with a small, round DIN 6-pin connector. USB mice have a thin + rectangular connector. Some mice come with adapters with which the + connector can be converted to another. If you are to use such an + adapter, remember that the connector at the very end of the + mouse/adapter pair is what matters. The next thing to decide is a device node to use for the given interface. For the bus and PS/2 mice, there is little choice; your OS @@ -360,7 +373,7 @@ manually. Follow the guidelines below. - [1mBus mouse[0m + Bus mouse The bus and InPort mice always use "BusMouse" protocol regardless of the brand of the mouse. @@ -368,7 +381,7 @@ for the bus mouse. - [1mPS/2 mouse[0m + PS/2 mouse The "PS/2" protocol should always be tried first for the PS/2 mouse regardless of the brand of the mouse. Any PS/2 mouse should work with this protocol type, although wheels and other @@ -387,7 +400,7 @@ itself. - [1mSerial mouse[0m + Serial mouse The server supports a wide range of mice, both old and new. If your mouse is of a relatively new model, it may conform to the PnP COM device specification and the X server may be able to @@ -408,23 +421,23 @@ the following list: - +o GlidePoint + o GlidePoint - +o IntelliMouse + o IntelliMouse - +o Logitech + o Logitech - +o Microsoft + o Microsoft - +o MMHittab + o MMHittab - +o MMSeries + o MMSeries - +o MouseMan + o MouseMan - +o MouseSystems + o MouseSystems - +o ThinkingMouse + o ThinkingMouse When you choose, keep in mind the following rule of thumb: @@ -455,24 +468,24 @@ work with the "IntelliMouse" protocol, you have to use it as a regular 2- or 3-button serial mouse. - If the "Auto" protocol is specified and the mouse seems working, - but you find that not all features of the mouse is available, that - is because the X server does not have native support for that model - of mouse and is using a ``compatible'' protocol according to PnP - information. + If the "Auto" protocol is specified and the mouse seems to be + working, but you find that not all features of the mouse are + available, that is because the X server does not have native + support for that model of mouse and is using a ``compatible'' + protocol according to PnP information. - If you suspect this is the case with your mouse, please enter a - bugreport in bugzilla.freedesktop.org, using the xorg product. + If you suspect this is the case with your mouse, please enter a bug + report at http://bugzilla.freedesktop.org, using the xorg product. - [1mUSB mouse[0m + USB mouse If your mouse is connected to the USB port, it can either be supported by the "Auto" protocol, or by an OS-specific protocol (see below), or as a generic Human Interface Device by the "usb" protocol. - [1mStandardized protocols[0m + Standardized protocols Mouse device drivers in your OS may use the standardized protocol regardless of the model or the class of the mouse. For example, SVR4 systems may support "Xqueue" protocol. In FreeBSD @@ -482,35 +495,34 @@ - [1m5. xorg.conf Options[0m + 5. xorg.conf Options The old Pointer section has been replaced by a more general - InputDevice section. The following is a minimal example of an + InputDevice section. The following is a minimal example of an InputDevice section for a mouse: - ______________________________________________________________________ Section "InputDevice" Identifier "Mouse 1" Driver "mouse" Option "Device" "/dev/mouse" Option "Protocol" "Auto" EndSection - ______________________________________________________________________ The mouse driver supports the following config file options: - [1m5.1. Buttons[0m + 5.1. Buttons This option tells the X server the number of buttons on the mouse. Currently there is no reliable way to automatically detect the correct number. This option is the only means for the X server to obtain it. The default value is three. + Note that if you intend to assign Z axis movement to button events using the ZAxisMapping option below, you need to take account of those buttons into N too. @@ -520,10 +532,12 @@ - [1m5.2. ZAxisMappping[0m + 5.2. ZAxisMapping This option maps the Z axis (wheel) motion to buttons or to another axis. + + Option "ZAxisMapping" "X" Option "ZAxisMapping" "Y" Option "ZAxisMapping" "N1 N2" @@ -533,8 +547,8 @@ The first example will map the Z axis motion to the X axis motion. Whenever the user moves the wheel/roller, its movement is reported as - the X axis motion. When the wheel/roller stays still, the real X axis - motion is reported as is. The third example will map negative Z axis + the X axis motion. When the wheel/roller stays still, the real X axis + motion is reported as is. The third example will map negative Z axis motion to the button N1 and positive Z axis motion to the button N2. If this option is used and the buttons N1 or N2 actually exists in the mouse, their actions won't be detected by the X server. @@ -548,7 +562,7 @@ mouse, their actions won't be detected by the X server. NOTE #1: horizontal movement may not always be detected by the current - version of the X11R6.8 X servers, because there appears to be no + version of the X11R7.5 X servers, because there appears to be no accepted standard as to how the horizontal direction is encoded in mouse data. @@ -562,7 +576,7 @@ configuration. - [1m5.3. Resolution[0m + 5.3. Resolution The following option will set the mouse device resolution to N counts per inch, if possible: @@ -574,14 +588,13 @@ Not all mice and OSs can support this option. - - [1m5.4. Drag Lock Buttons[0m + 5.4. Drag Lock Buttons Some people find it difficult or inconvenient to hold a trackball button down, while at the same time moving the ball. Drag lock buttons simulate the holding down of another button. When a drag lock button - is first pressed, its target buttons is "locked" down until the - second time the lock button is released, or until the button itself is + is first pressed, its target buttons is "locked" down until the second + time the lock button is released, or until the button itself is pressed and released. This allows the starting of a drag, the movement of the trackball, and the ending of the drag to be separate operations. @@ -590,6 +603,7 @@ Option "DragLockButtons" "W X Y Z" + This option consists of pairs of buttons. Each lock button number is followed by the number of the button that it locks. In the above, button number "W" is a drag lock button for button "X" and button @@ -609,14 +623,14 @@ Since button "M" is unpaired it is a master drag lock button. - [1m6. Mouse Gallery[0m + 6. Mouse Gallery In all of the examples below, it is assumed that /dev/mouse is a link to the appropriate serial port or PS/2 mouse device. - [1m6.1. MS IntelliMouse (serial, PS/2)[0m + 6.1. MS IntelliMouse (serial, PS/2) This mouse has a wheel which also acts as the button 2 (middle button). The wheel movement is recognized as the Z axis motion. This @@ -640,7 +654,6 @@ To use this mouse as the PS/2 device and the OS supports PS/2 mouse initialization: - Option "Protocol" "IMPS/2" @@ -655,12 +668,11 @@ To use this mouse as the PS/2 device and the OS supports automatic PS/2 mouse detection: - Option "Protocol" "Auto" - [1m6.2. MS IntelliMouse Explorer (PS/2, USB)[0m + 6.2. MS IntelliMouse Explorer (PS/2, USB) This mouse has a wheel which also acts as the button 2 (middle button). There are two side buttons; they are recognized as the @@ -703,11 +715,11 @@ - [1m6.3. Kensington Thinking Mouse and Kensington Expert Mouse (serial,[0m - [1mPS/2)[0m + 6.3. Kensington Thinking Mouse and Kensington Expert Mouse (serial, + PS/2) These mice have four buttons. The Kensington Expert Mouse is really a - trackball. Both Thinking mice support the PnP COM device + trackball. Both Thinking mice support the PnP COM device specification. To use this mouse as a serial device: @@ -720,6 +732,7 @@ Option "Protocol" "ThinkingMouse" + To use this mouse as the PS/2 device and the OS supports PS/2 mouse initialization: @@ -742,9 +755,9 @@ - [1m6.4. Genius NetScroll (PS/2)[0m + 6.4. Genius NetScroll (PS/2) - This mouse has four buttons and a roller. The roller movement is + This mouse has four buttons and a roller. The roller movement is recognized as the Z axis motion. To use this mouse as the PS/2 device and the OS supports PS/2 mouse @@ -767,11 +780,10 @@ Option "Protocol" "Auto" - - [1m6.5. Genius NetMouse and NetMouse Pro (serial, PS/2)[0m + 6.5. Genius NetMouse and NetMouse Pro (serial, PS/2) These mice have a "magic button" which is used like a wheel or a - roller. The "magic button" action is recognized as the Z axis motion. + roller. The "magic button" action is recognized as the Z axis motion. NetMouse Pro is identical to NetMouse except that it has the third button on the left hand side. @@ -783,7 +795,6 @@ Option "Protocol" "Auto" - or: Option "Protocol" "IntelliMouse" @@ -812,7 +823,7 @@ - [1m6.6. Genius NetScroll Optical (PS/2, USB)[0m + 6.6. Genius NetScroll Optical (PS/2, USB) This mouse has a wheel which also acts as the button 2 (middle button), and two side buttons which are recognized as the buttons 4 @@ -834,7 +845,6 @@ To use this mouse as the PS/2 device and the OS supports automatic PS/2 mouse detection: - Option "Protocol" "Auto" @@ -853,10 +863,10 @@ - [1m6.7. ALPS GlidePoint (serial, PS/2)[0m + 6.7. ALPS GlidePoint (serial, PS/2) The serial version of this pad device has been supported since XFree86 - 3.2. `Tapping' action is interpreted as the fourth button press. + 3.2. `Tapping' action is interpreted as the fourth button press. (IMHO, the fourth button of GlidePoint should always be mapped to the first button in order to make this pad behave like the other pad products.) @@ -888,16 +898,17 @@ - [1m6.8. ASCII MieMouse (serial, PS/2)[0m + 6.8. ASCII MieMouse (serial, PS/2) - This mouse appears to be OEM from Genius. Although its shape is quite - different, it works like Genius NetMouse Pro. This mouse has a "knob" - which is used like a wheel or a roller. The "knob" action is + This mouse appears to be OEM from Genius. Although its shape is quite + different, it works like Genius NetMouse Pro. This mouse has a "knob" + which is used like a wheel or a roller. The "knob" action is recognized as the Z axis motion. - MieMouse supports the PnP COM device specification. When used as a + MieMouse supports the PnP COM device specification. When used as a serial mouse, it is compatible with MS IntelliMouse. + To use this mouse as a serial device: Option "Protocol" "Auto" @@ -912,7 +923,6 @@ To use this mouse as the PS/2 device and the OS supports PS/2 mouse initialization: - Option "Protocol" "NetMousePS/2" @@ -931,12 +941,12 @@ - [1m6.9. Logitech MouseMan+ and FirstMouse+ (serial, PS/2)[0m + 6.9. Logitech MouseMan+ and FirstMouse+ (serial, PS/2) MouseMan+ has two buttons on top, one side button and a roller. - FirstMouse+ has two buttons and a roller. The roller movement is - recognized as the Z axis motion. The roller also acts as the third - button. The side button is recognized as the fourth button. + FirstMouse+ has two buttons and a roller. The roller movement is + recognized as the Z axis motion. The roller also acts as the third + button. The side button is recognized as the fourth button. MouseMan+ and FirstMouse+ support the PnP COM device specification. They have MS IntelliMouse compatible mode when used as a serial mouse. @@ -964,8 +974,6 @@ Option "Protocol" "PS/2" - - To use this mouse as the PS/2 device and the OS supports automatic PS/2 mouse detection: @@ -973,13 +981,13 @@ - [1m6.10. IBM ScrollPoint (PS/2)[0m + 6.10. IBM ScrollPoint (PS/2) ScrollPoint has a "stick" in between the two buttons. This "stick" is the same as the stick-shaped pointing device often found on notebook computers, on which you move the mouse cursor by pushing the stick. The stick movement is recognized as the Z axis motion. You can push - the stick to right and left, as well as forward and backward. Give + the stick to right and left, as well as forward and backward. Give four numbers to ZAxisMapping option to map movement along all these four directions to button actions. @@ -1004,15 +1012,15 @@ - [1m6.11. 8D ScrollMouse (serial, PS/2)[0m + 6.11. 8D ScrollMouse (serial, PS/2) ScrollMouse, also known as GyroMouse, has a "stick" similar to IBM ScrollPoint. The stick movement is recognized as the Z axis motion. You can push the stick to right and left, as well as forward and - backward. Give four numbers to ZAxisMapping option to map movement + backward. Give four numbers to ZAxisMapping option to map movement along all these four directions to button actions. - ScrollMouse supports the PnP COM device specification. When used as a + ScrollMouse supports the PnP COM device specification. When used as a serial mouse, it is compatible with MS IntelliMouse. To use this mouse as a serial device: @@ -1029,6 +1037,7 @@ To use this mouse as the PS/2 device and the OS supports PS/2 mouse initialization: + Option "Protocol" "IMPS/2" @@ -1042,18 +1051,19 @@ To use this mouse as the PS/2 device and the OS supports automatic PS/2 mouse detection: + Option "Protocol" "Auto" - [1m6.12. A4 Tech 4D mice (serial, PS/2, USB)[0m + 6.12. A4 Tech 4D mice (serial, PS/2, USB) A4 Tech produces quit a number of mice with one or two wheels. Their mice may have 2, 3, or 4 buttons. The wheels movement is recognized as the Z axis motion. Give four numbers to ZAxisMapping option to map movement of both wheels to button actions. - 4D mice support the PnP COM device specification. When used as a + 4D mice support the PnP COM device specification. When used as a serial mouse, it is compatible with MS IntelliMouse. To use this mouse as a serial device: @@ -1093,8 +1103,6 @@ Option "Protocol" "usb" - - To use this mouse as the USB device and the OS supports automatic mouse detection: @@ -1102,8 +1110,7 @@ - [1m7. Configuration Examples[0m - + 7. Configuration Examples This section shows some example InputDevice section for popular mice. @@ -1111,11 +1118,10 @@ port, and the OS supports the PS/2 mouse initialization. It is also assumed that /dev/mouse is a link to the PS/2 mouse port. - Logitech MouseMan+ has 4 buttons and a wheel. The following example + Logitech MouseMan+ has 4 buttons and a wheel. The following example makes the wheel movement available as the button 5 and 6. - ______________________________________________________________________ Section "InputDevice" Identifier "MouseMan+" Driver "mouse" @@ -1124,14 +1130,13 @@ Option "Buttons" "6" Option "ZAxisMapping" "5 6" EndSection - ______________________________________________________________________ You can change button number assignment using the xmodmap command AFTER you start the X server with the above configuration. You may not like to use the wheel as the button 2 and rather want the side - button (button 4) act like the button 2. You may also want to map the + button (button 4) act like the button 2. You may also want to map the wheel movement to the button 4 and 5. This can be done by the following command: @@ -1155,11 +1160,18 @@ + Starting in the Xorg 6.9 release, you can also achieve this in your + configuration file by adding this to the "InputDevice" section in + xorg.conf: + + Option "ButtonMapping" "1 6 3 2 4 5" + + + For the MS IntelliMouse Explorer which as a wheel and 5 buttons, you may have the following InputDevice section. - ______________________________________________________________________ Section "InputDevice" Identifier "IntelliMouse Explorer" Driver "mouse" @@ -1168,7 +1180,6 @@ Option "Buttons" "7" Option "ZAxisMapping" "6 7" EndSection - ______________________________________________________________________ @@ -1199,7 +1210,7 @@ The above command will moves the side button 2 to the button 7 and - make the wheel movement reported as the button 5 and 6. See the table + make the wheel movement reported as the button 5 and 6. See the table below. @@ -1219,7 +1230,7 @@ may have the following InputDevice section. - ______________________________________________________________________ + Section "InputDevice" Identifier "WinEasy" Driver "mouse" @@ -1228,17 +1239,16 @@ Option "Buttons" "7" Option "ZAxisMapping" "4 5 6 7" EndSection - ______________________________________________________________________ - The movement of the first wheel is mapped to the button 4 and 5. The + The movement of the first wheel is mapped to the button 4 and 5. The second wheel's movement will be reported as the buttons 6 and 7. The Kensington Expert mouse is really a trackball. It has 4 buttons arranged in a rectangle around the ball. - ______________________________________________________________________ + Section "InputDevice" Identifier "DLB" Driver "mouse" @@ -1248,7 +1258,6 @@ Option "Device" "/dev/mouse" Option "DragLockButtons" "2 1 4 3" EndSection - ______________________________________________________________________ In this example, button 2 is a drag lock button for button number 1, @@ -1263,7 +1272,6 @@ InputDevice section which defines button 4 as a master drag lock button, and leaves button 2 free for ordinary use. - ______________________________________________________________________ Section "InputDevice" Identifier "MasterDLB" Driver "mouse" @@ -1272,7 +1280,6 @@ Option "Device" "/dev/mouse" Option "DragLockButtons" "4" EndSection - ______________________________________________________________________ diff --git a/driver/xf86-input-mouse/README.sgml b/driver/xf86-input-mouse/README.sgml deleted file mode 100644 index 37ccc2964..000000000 --- a/driver/xf86-input-mouse/README.sgml +++ /dev/null @@ -1,1125 +0,0 @@ -<!DOCTYPE linuxdoc PUBLIC "-//Xorg//DTD linuxdoc//EN" [ -<!ENTITY % defs SYSTEM "defs.ent"> %defs; -]> - -<article> -<title>Mouse Support in X11R&relvers; -<author>Kazutaka Yokota -<date>17 December 2002 - -<ident> -</ident> - -<toc> - -<sect>Introduction <p> - -This document describes mouse support in X.Org Foundation's X11R&relvers; server. - -Mouse configuration has often been mysterious task for -novice users. -However, once you learn several basics, it is straightforward -to write the mouse <tt>"InputDevice"</tt> -section in the <tt>xorg.conf</tt> file by hand. - -<sect>Supported Hardware <p> - -The X.Org Foundation X server supports four classes of mice: -serial, bus and PS/2 mice, and additional mouse types supported by -specific operating systems, such as USB mice. - -<descrip> -<tag>Serial mouse</tag> -The serial mouse has been the most popular pointing device for -PCs. -There have been numerous serial mouse models from a number of -manufactures. -Despite the wide range of variations, there have been relatively -few protocols (data format) with which the serial mouse talks -to the host computer. - -The modern serial mouse conforms to the PnP COM device specification -so that the host computer can automatically detect the mouse -and load an appropriate driver. -The X server supports this specification and can detect -popular PnP serial mouse models on most platforms. - -<tag>Bus mouse</tag> -The bus mouse connects to a dedicated interface card in an expansion -slot. -Some video cards, notably those from ATI, and integrated I/O -cards may also have a bus mouse connector. -Some bus mice are known as `InPort mouse'. - -Note that some mouse manufactures have sold a package including a serial mouse -and a serial interface card. -Don't confuse this type of products with the genuine bus mouse. - -<tag>PS/2 mouse</tag> -They are sometimes called `Mouse-port mouse'. -The PS/2 mouse is becoming increasingly common and popular. - -The PS/2 mouse is an intelligent device and may have more than -three buttons and a wheel or a roller. -The PS/2 mouse is usually compatible with the original PS/2 mouse from IBM -immediately after power up. -The PS/2 mouse with additional features requires a specialized -initialization procedure to enable these features. -Without proper initialization, it behaves as though it were an ordinary -two or three button mouse. - -<tag>USB mouse </tag> -USB (Universal Serial Bus) ports are present on most modern -computers. Several devices can be plugged into this bus, including -mice and keyboards. - -The server includes support for USB mice on some systems. -</descrip> - -Many mice nowadays can be used both as a serial mouse and as a PS/2 mouse. -They has a logic to distinguish which interface it is connected to. -However, the mouse which is not marketed as compatible with both -serial and PS/2 mouse interface lacks this logic and cannot be -used in such a way, even if you can find an appropriate -adapter with which you can connect the PS/2 mouse to a serial port -or visa versa. - -X11R&relvers; supports the mouse with a wheel, a roller or a knob. -Its action is detected as the Z (third) axis motion of the mouse. -As the X server or clients normally do not use the Z axis movement of the -pointing device, a configuration option, <tt>"ZAxisMapping"</tt>, -is provided to assign the Z axis movement to another axis or a pair -of buttons (see below). - -<sect>OS Support for Mice <p> - -<sect1>Summary of Supported Mouse Protocol Types <p> -<verb> - Protocol Types - serial PnP BusMouse PS/2 Extended PS/2 -OS platforms protocols serial protocol protocol protocols - "Auto" "BusMouse" "PS/2" "xxxPS/2" USB -------------------------------------------------------------------------- -BSD/OS Ok ? ? ? ? ? -FreeBSD Ok Ok Ok Ok SP*1 SP*1 -FreeBSD(98) Ok ? Ok NA NA ? -Interactive Unix Ok NA ?*1 ?*1 NA ? -Linux Ok Ok Ok Ok Ok ? -Linux/98 Ok ? Ok NA NA ? -LynxOS Ok NA Ok Ok NA ? -NetBSD Ok Ok Ok SP*1 SP*1 SP*1 -NetBSD/pc98 Ok ? Ok NA NA NA -OpenBSD Ok Ok Ok Ok*1 Ok*1 Ok*1 -OS/2 SP*2 SP*2 SP*2 SP*2 SP*2 ? -SCO Ok ? SP*1 SP*1 NA ? -Solaris 2.x Ok NA*1 ?*1 Ok Ok SP*1 -SVR4 Ok NA*1 SP*1 SP*1 NA ? -PANIX Ok ? SP*1 SP*1 NA ? - -Ok: support is available, NA: not available, ?: untested or unknown. -SP: support is available in a different form - -*1 Refer to the following sections for details. -*2 X11R&relvers;/OS2 will support any type of mouse that the OS supports, - whether it is serial, bus mouse, or PnP type. - -</verb> - -<sect1>BSD/OS <p> -No testing has been done with BSD/OS. - -<sect1>FreeBSD <p> -FreeBSD supports the <tt>"SysMouse"</tt> protocol which must be -specified when the <tt>moused</tt> daemon is running in versions 2.2.1 -or later. - -When running the <tt>moused</tt>daemon, you must always specify the -<tt>/dev/sysmouse</tt> device and the <tt>"SysMouse"</tt> protocol -to the X server, regardless of the actual type of your mouse. - -FreeBSD versions 2.2.6 or later include the kernel-level -support for extended PS/2 mouse protocols and there is no need to specify -the exact protocol name to the X server. -Instead specify the <tt>"PS/2"</tt> or <tt>"Auto"</tt> protocol and -the X server will automatically make use of the kernel-level support. - -In fact, <tt>"Auto"</tt> protocol support is really efficient in these -versions. -You may always specify <tt>"Auto"</tt> to any mouse, serial, -bus or PS/2, unless the mouse is an old serial model which doesn't -support PnP. - -FreeBSD versions 2.2.5 or earlier do not support extended PS/2 -mouse protocols (<tt>"xxxPS/2"</tt>). -Always specify the <tt>"PS/2"</tt> protocol for any PS/2 mouse -in these versions regardless of the brand of the mouse. - -FreeBSD versions 3.1 or later have support for USB mice. -Specify the <tt>"Auto"</tt> protocol for the <tt>/dev/ums0</tt> device. -(If the <tt>moused</tt> daemon is running for the USB mouse, -you must use <tt>/dev/sysmouse</tt> instead of <tt>/dev/ums0</tt> -as explained above.) See the <em>ums(4)</em> manual page for details. - -<sect1>FreeBSD(98) <p> -The PS/2 mouse is not supported. - -<sect1>Interactive Unix <p> -The PnP serial mouse support (the <tt>"Auto"</tt> protocol) is not -supported for the moment. - -The bus mouse and PS/2 mouse should be supported by using the -appropriate device drivers. -Use <tt>/dev/mouse</tt> for the <tt>"BusMouse"</tt> protocol -and <tt>/dev/kdmouse</tt> for the <tt>"PS/2"</tt> protocol. -These protocols are untested but may work. -Please send success/failure reports to -<email>michael.rohleder@stadt-frankfurt.de</email>. - -<sect1>Linux <p> -All protocol types should work. - -<sect1>Linux/98 <p> -The PS/2 mouse is not supported. - -<sect1>LynxOS <p> -The PnP serial mouse support (the <tt>"Auto"</tt> protocol) is disabled in -LynxOS, because of limited TTY device driver functionality. - -<sect1>NetBSD <p> -NetBSD 1.3.x and former does not support extended PS/2 mouse protocols -(<tt>"xxxPS/2"</tt>). -The PS/2 mouse device driver <tt>/dev/pms</tt> emulates the bus mouse. -Therefore, you should always specify the <tt>"BusMouse"</tt> protocol for -any PS/2 mouse regardless of the brand of the mouse. -<p> -The <tt>"wsmouse"</tt> protocol introduced in NetBSD -1.4 along with the wscons console driver is supported. You need to run binaries -compiled on NetBSD 1.4 to have support -for it though. Use <tt>"/dev/wsmouse0"</tt> for the device. Refer to the -<em>wsmouse(4)</em> manual page for kernel configuration informations. -<p> -This driver also provides support for USB mice. See the -<em>ums(4)</em> manual page for details. - -<sect1>NetBSD/pc98 <p> -The PS/2 mouse is not supported. - -<sect1>OpenBSD <p> -The raw PS/2 mouse device driver <tt>/dev/psm0</tt> uses the raw PS/2 -mouse protocol. - -OpenBSD 2.2 and earlier does not support extended PS/2 mouse protocols -(<tt>"xxxPS/2"</tt>) . Therefore, you should specify the -<tt>"PS/2"</tt> protocol for any PS/2 mouse regardless of the brand of -the mouse. - -OpenBSD 2.3 and later support all extended PS/2 mouse protocols. -You can select the <tt>"Auto"</tt> protocol for PnP PS/2 -mice or any specific extended (<tt>"xxxPS/2"</tt>) protocol -for non PnP mice. - -There is also a cooked PS/2 mouse device driver <tt>/dev/pms0</tt> -which emulates the bus mouse. Specify the <tt>"BusMouse"</tt> -protocol for any PS/2 mouse regardless of the brand of the mouse when -using this device. -<p> -XFree86 3.3.6 support USB mice on OpenBSD 2.6 and later though the -generic Human Interface Device (hid) <tt>/dev/uhid*</tt>. Select the -<tt>"usb"</tt> protocol and the <tt>/dev/uhid*</tt> instance -corresponding to your mouse as the device name. - -<sect1>OS/2 <p> -X11R&relvers;/OS2 always uses the native mouse driver of the operating system -and will support any type of pointer that the OS supports, whether it is -serial, bus mouse, or PnP type. -If the mouse works under Presentation Manager, -it will also work under X11R&relvers;/OS2. - -Always specify <tt>"OSMouse"</tt> as the protocol type. - -<sect1>SCO <p> -The bus and PS/2 mouse are supported with the <tt>"OSMouse"</tt> -protocol type. - -The <tt>"OSMouse"</tt> may also be used with the serial mouse. - -<sect1>Solaris <p> -Testing has been done with Solaris 2.5.1, 2.6, 7, 8, 9 and 10. - -On Solaris 10 1/06 and later versions with "virtual mouse" support, -all PS/2 and USB mice connected to the system can be accessed via -the /dev/mouse device using the VUID protocol, including USB mice -plugged in after the X server is started. On older releases or -to address mice individually, specific devices and protocols may -be used. - -Logitech and Microsoft bus mice -have not been tested, but might work with the <tt>/dev/logi</tt> and -<tt>/dev/msm</tt> devices. -Standard 2 and 3 button PS/2 mice work with the <tt>"PS/2"</tt> protocol -type and the <tt>/dev/kdmouse</tt> device. -USB mice work with the <tt>"VUID"</tt> protocol type and the -<tt>/dev/mouse</tt> device. -The PnP serial mouse support via the <tt>"Auto"</tt> protocol has been tested -and does not work. The <tt>"Auto"</tt> protocol can however detect PS/2 and -USB mice correctly. - -Additional USB mice can be connected using the <tt>"VUID"</tt> protocol type -and the appropriate <tt>"/dev/usb/hid"</tt> device with the <tt>Option "StreamsModule" "usbms"</tt> line included in the associated <tt>"InputDevice"</tt> -section. - -<sect1>SVR4 <p> -The bus and PS/2 mouse may be supported with the <tt>"Xqueue"</tt> -protocol type. - -The <tt>"Xqueue"</tt> may also be used with the serial mouse. - -The PnP serial mouse support (the <tt>"Auto"</tt> protocol) is not -tested. - -<sect1>PANIX <p> -The PC/AT version of PANIX supports the bus and PS/2 mouse with the -<tt>"Xqueue"</tt> protocol type. -The PC-98 version of PANIX supports the bus mouse with the -<tt>"Xqueue"</tt> protocol type. - -<sect>Configuring Your Mouse <p> - -Before using the <tt>xorgconfig</tt> program -to set up mouse configuration, you must identify the interface type, -the device name and the protocol type of your mouse. -Blindly trying every possible combination of mouse settings -will lead you nowhere. - -The first thing you need to know is the interface type -of the mouse you are going to use. -It can be determined by looking at the connector of the mouse. -The serial mouse has a D-Sub female 9- or 25-pin connector. -The bus mice have either a D-Sub male 9-pin connector -or a round DIN 9-pin connector. -The PS/2 mouse is equipped with a small, round DIN 6-pin connector. -USB mice have a thin rectangular connector. -Some mice come with adapters with which the connector can -be converted to another. If you are to use such an adapter, -remember that the connector at the very end of the mouse/adapter pair is -what matters. - -The next thing to decide is a device node to use for the given interface. -For the bus and PS/2 mice, there is little choice; -your OS most possibly offers just one device node each -for the bus mouse and PS/2 mouse. -There may be more than one serial port to which the serial -mouse can be attached. - -The next step is to guess the appropriate protocol type for the mouse. -The X server may be able to select a protocol type for the given mouse -automatically in some cases. -Otherwise, the user has to choose one manually. -Follow the guidelines below. - -<descrip> -<tag>Bus mouse</tag> -The bus and InPort mice always use <tt>"BusMouse"</tt> -protocol regardless of the brand of the mouse. - -Some OSs may allow you to specify <tt>"Auto"</tt> as the -protocol type for the bus mouse. - -<tag>PS/2 mouse</tag> -The <tt>"PS/2"</tt> protocol should always be tried first for the PS/2 mouse -regardless of the brand of the mouse. -Any PS/2 mouse should work with this protocol type, although -wheels and other additional features are unavailable in the -X server. - -After verifying the mouse works with this protocol, -you may choose to specify one of <tt>"xxxPS/2"</tt> protocols so that -extra features are made available in the X server. -However, support for these PS/2 mice assumes certain behavior of -the underlying OS and may not always work as expected. -Support for some PS/2 mouse models may be disabled all together -for some OS platforms for this reason. - -Some OSs may allow you to specify <tt>"Auto"</tt> as the -protocol type for the PS/2 mouse and the X server will automatically -adjust itself. - -<tag>Serial mouse</tag> -The server supports a wide range of mice, both old and new. -If your mouse is of a relatively new model, it may conform to the -PnP COM device specification and the X server may be able to -detect an appropriate protocol type for the mouse automatically. - -Specify <tt>"Auto"</tt> as the protocol type and start the X server. -If the mouse is not a PnP mouse, or the X server cannot determine -a suitable protocol type, the server will print the following -error message and abort. - -<verb> -<mousename>: cannot determine the mouse protocol -</verb> - -If the X server generates the above error message, you need to -manually specify a protocol type for your mouse. -Choose one from the following list: - -<itemize> - <item><tt>GlidePoint</tt> - <item><tt>IntelliMouse</tt> - <item><tt>Logitech</tt> - <item><tt>Microsoft</tt> - <item><tt>MMHittab</tt> - <item><tt>MMSeries</tt> - <item><tt>MouseMan</tt> - <item><tt>MouseSystems</tt> - <item><tt>ThinkingMouse</tt> -</itemize> - -When you choose, keep in mind the following rule of thumb: - -<enum> -<item><tt>"Logitech"</tt> protocol is for old serial mouse models -from Logitech. -Modern Logitech mice use either <tt>"MouseMan"</tt> or <tt>"Microsoft"</tt> -protocol. -<item>Most 2-button serial mice support the <tt>"Microsoft"</tt> protocol. -<item>3-button serial mice may work with the <tt>"Mousesystems"</tt> -protocol. If it doesn't, it may work instead with the -<tt>"Microsoft"</tt> protocol although the third (middle) button won't -function. -3-button serial mice may also work with the <tt>"Mouseman"</tt> -protocol under which the third button may function as expected. -<item>3-button serial mice may have a small switch at the bottom -of the mouse to choose between ``MS'' and ``PC'', or ``2'' and ``3''. -``MS'' or ``2'' usually mean the <tt>"Microsoft"</tt> protocol. -``PC'' or ``3'' will choose the <tt>"MouseSystems"</tt> protocol. -<item>If the serial mouse has a roller or a wheel, it may be compatible -with the <tt>"IntelliMouse"</tt> protocol. -<item>If the serial mouse has a roller or a wheel and it doesn't work -with the <tt>"IntelliMouse"</tt> protocol, you have to use it -as a regular 2- or 3-button serial mouse. -</enum> - -If the <tt>"Auto"</tt> protocol is specified and the mouse seems to be working, -but you find that not all features of the mouse are available, that is -because the X server does not have native support for that model of mouse -and is using a ``compatible'' protocol according to PnP information. - -If you suspect this is the case with your mouse, please enter a -bug report at http://bugzilla.freedesktop.org, using the xorg product. - -<tag>USB mouse</tag> -If your mouse is connected to the USB port, it can either be supported -by the <tt>"Auto"</tt> protocol, or by an OS-specific protocol (see below), -or as a generic Human Interface Device by the <tt>"usb"</tt> protocol. - -<tag>Standardized protocols</tag> -Mouse device drivers in your OS may use the standardized protocol -regardless of the model or the class of the mouse. -For example, SVR4 systems may support <tt>"Xqueue"</tt> protocol. -In FreeBSD the system mouse device <tt>/dev/sysmouse</tt> -uses the <tt>"SysMouse"</tt> protocol. -Please refer to the OS support section of this file for more information. - -</descrip> - -<sect>xorg.conf Options <p> - -The old <tt>Pointer</tt> section has been replaced by a more general -<tt>InputDevice</tt> section. The following is a minimal example -of an <tt>InputDevice</tt> section for a mouse: - -<code> -Section "InputDevice" - Identifier "Mouse 1" - Driver "mouse" - Option "Device" "/dev/mouse" - Option "Protocol" "Auto" -EndSection -</code> - -The <tt>mouse</tt> driver supports the following config file options: - -<sect1>Buttons <p> -This option tells the X server the number of buttons on the mouse. -Currently there is no reliable way to automatically detect the correct -number. -This option is the only means for the X server to obtain it. -The default value is three. - -Note that if you intend to assign Z axis movement to button events -using the <tt>ZAxisMapping</tt> option below, you need to take account -of those buttons into <tt>N</tt> too. - -<verb> - Option "Buttons" "N" -</verb> - -<sect1>ZAxisMapping <p> -This option maps the Z axis (wheel) motion to buttons or to -another axis. - -<verb> - Option "ZAxisMapping" "X" - Option "ZAxisMapping" "Y" - Option "ZAxisMapping" "N1 N2" - Option "ZAxisMapping" "N1 N2 N3 N4" -</verb> - -The first example will map the Z axis motion to the X axis motion. -Whenever the user moves the wheel/roller, its movement is reported as -the X axis motion. When the wheel/roller stays still, the real X axis -motion is reported as is. The third example will map negative Z axis -motion to the button <tt>N1</tt> and positive Z axis motion to -the button <tt>N2</tt>. If this option is used and the buttons <tt>N1</tt> -or <tt>N2</tt> actually exists in the mouse, -their actions won't be detected by the X server. - -The last example is useful for the mouse with two wheels of which -the second wheel is used to generate horizontal scroll action, -and the mouse which has a knob or a stick which can detect the horizontal -force applied by the user. -The motion of the second wheel will be mapped to the buttons <tt>N3</tt>, -for the negative direction, and <tt>N4</tt>, for the positive direction. -If the buttons <tt>N3</tt> and <tt>N4</tt> actually exist in this mouse, -their actions won't be detected by the X server. - -NOTE #1: horizontal movement may not always be detected -by the current version of the X11R&relvers; X servers, -because there appears to be no accepted standard as to how the horizontal -direction is encoded in mouse data. - -NOTE #2: Some mice think left is the negative horizontal direction, -others may think otherwise. -Moreover, there are some mice whose two wheels are both mounted vertically, -and the direction of the second vertical wheel does not match the -first one's. - -You need to edit the <tt>xorg.conf</tt> file by hand to change this option if -the default value of "4 5 6 7" does not match the needs of your configuration. - -<sect1>Resolution <p> -The following option will set the mouse device resolution to <tt>N</tt> -counts per inch, if possible: - -<verb> - Option "Resolution" "N" -</verb> - -Not all mice and OSs can support this option. - -<sect1>Drag Lock Buttons <p> -Some people find it difficult or inconvenient to hold a trackball -button down, while at the same time moving the ball. Drag lock buttons -simulate the holding down of another button. When a drag lock button -is first pressed, its target buttons is "locked" down until the -second time the lock button is released, or until the button itself -is pressed and released. This allows the starting of a drag, the movement -of the trackball, and the ending of the drag to be separate operations. - -<verb> - Option "DragLockButtons" "W X Y Z" -</verb> - -This option consists of pairs of buttons. Each lock button number -is followed by the number of the button that it locks. In the above, -button number "W" is a drag lock button for button "X" and button number -"Y" is a drag lock button for button "Z". - -It may not be desirable to use multiple buttons as drag locks. -Instead, a "master drag lock button" may be defined. A master drag -lock button acts as a "META" key. After a master lock button is released, -the next button pressed is "locked" and not released until the -second time the real button is released. - -<verb> - Option "DragLockButtons" "M" -</verb> - -Since button "M" is unpaired it is a master drag lock button. - -<sect>Mouse Gallery <p> - -In all of the examples below, it is assumed that <tt>/dev/mouse</tt> is -a link to the appropriate serial port or PS/2 mouse device. - -<sect1>MS IntelliMouse (serial, PS/2) <p> -This mouse has a wheel which also acts as the button 2 (middle button). -The wheel movement is recognized as the Z axis motion. -This behavior is not compatible with XFree86 versions prior to 3.3.2, -but is more consistent with the support for other mice with -wheels or rollers. -If you want to make the wheel behave like before, -you can use the <tt>"ZAxisMapping"</tt> option as described above. -<p> -IntelliMouse supports the PnP COM device specification. -<p> -To use this mouse as a serial device: -<verb> - Option "Protocol" "Auto" -</verb> -or: -<verb> - Option "Protocol" "IntelliMouse" -</verb> - -To use this mouse as the PS/2 device and the OS supports PS/2 mouse -initialization: -<verb> - Option "Protocol" "IMPS/2" -</verb> - -To use this mouse as the PS/2 device but the OS does not support PS/2 mouse -initialization (the wheel won't work in this case): -<verb> - Option "Protocol" "PS/2" -</verb> - -To use this mouse as the PS/2 device and the OS supports automatic -PS/2 mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -<sect1>MS IntelliMouse Explorer (PS/2, USB) <p> -This mouse has a wheel which also acts as the button 2 (middle button). -There are two side buttons; they are recognized as the buttons 4 and 5. -The wheel movement is recognized as the Z axis motion. -<p> -To use this mouse as the PS/2 device and the OS supports PS/2 mouse -initialization: -<verb> - Option "Protocol" "ExplorerPS/2" -</verb> - -To use this mouse as the PS/2 device but the OS does not support PS/2 mouse -initialization (the wheel and the side buttons won't work in this case): -<verb> - Option "Protocol" "PS/2" -</verb> - -To use this mouse as the PS/2 device and the OS supports automatic -PS/2 mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -To use this mouse as the USB device and the OS supports the generic -HID protocol: -<verb> - Option "Protocol" "usb" -</verb> - -To use this mouse as the USB device and the OS supports automatic -mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -<sect1>Kensington Thinking Mouse and Kensington Expert Mouse (serial, PS/2) <p> -These mice have four buttons. -The Kensington Expert Mouse is really a trackball. -Both Thinking mice support the PnP COM device specification. -<p> -To use this mouse as a serial device: -<verb> - Option "Protocol" "Auto" -</verb> -or: -<verb> - Option "Protocol" "ThinkingMouse" -</verb> - -To use this mouse as the PS/2 device and the OS supports PS/2 mouse -initialization: -<verb> - Option "Protocol" "ThinkingMousePS/2" -</verb> - -To use this mouse as the PS/2 device but the OS does not support PS/2 mouse -initialization (the third and the fourth buttons act as though they -were the first and the second buttons): -<verb> - Option "Protocol" "PS/2" -</verb> - -To use this mouse as the PS/2 device and the OS supports automatic -PS/2 mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -<sect1>Genius NetScroll (PS/2) <p> -This mouse has four buttons and a roller. The roller movement is -recognized as the Z axis motion. -<p> -To use this mouse as the PS/2 device and the OS supports PS/2 mouse -initialization: -<verb> - Option "Protocol" "NetScrollPS/2" -</verb> - -To use this mouse as the PS/2 device but the OS does not support PS/2 mouse -initialization (the roller and the fourth button won't work): -<verb> - Option "Protocol" "PS/2" -</verb> - -To use this mouse as the PS/2 device and the OS supports automatic -PS/2 mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -<sect1>Genius NetMouse and NetMouse Pro (serial, PS/2) <p> -These mice have a "magic button" which is used like a wheel or a -roller. The "magic button" action is recognized as the Z axis motion. -NetMouse Pro is identical to NetMouse except that it has the third -button on the left hand side. -<p> -NetMouse and NetMouse Pro support the PnP COM device specification. -When used as a serial mouse, they are compatible with MS IntelliMouse. -<p> -To use these mice as a serial device: -<verb> - Option "Protocol" "Auto" -</verb> -or: -<verb> - Option "Protocol" "IntelliMouse" -</verb> - -To use this mouse as the PS/2 device and the OS supports PS/2 mouse -initialization: -<verb> - Option "Protocol" "NetMousePS/2" -</verb> - -To use this mouse as the PS/2 device but the OS does not support PS/2 mouse -initialization (the "magic button" and the third button won't work): -<verb> - Option "Protocol" "PS/2" -</verb> - -To use this mouse as the PS/2 device and the OS supports automatic -PS/2 mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -<sect1>Genius NetScroll Optical (PS/2, USB) <p> -This mouse has a wheel which also acts as the button 2 (middle button), -and two side buttons which are recognized as the buttons 4 and 5. -It is compatible with NetMouse and NetMouse Pro. -<p> -To use this mouse as the PS/2 device and the OS supports PS/2 mouse -initialization: -<verb> - Option "Protocol" "NetMousePS/2" -</verb> - -To use this mouse as the PS/2 device but the OS does not support PS/2 mouse -initialization (the wheel and the side buttons won't work): -<verb> - Option "Protocol" "PS/2" -</verb> - -To use this mouse as the PS/2 device and the OS supports automatic -PS/2 mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -To use this mouse as the USB device and the OS supports the generic -HID protocol: -<verb> - Option "Protocol" "usb" -</verb> - -To use this mouse as the USB device and the OS supports automatic -mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -<sect1>ALPS GlidePoint (serial, PS/2) <p> -The serial version of this pad device has been supported since XFree86 -3.2. `Tapping' action is interpreted as the fourth button press. -(IMHO, the fourth button of GlidePoint should always be mapped to the first -button in order to make this pad behave like the other pad products.) -<p> -To use this pad as a serial device: -<verb> - Option "Protocol" "GlidePoint" -</verb> - -To use this mouse as the PS/2 device and the OS supports PS/2 mouse -initialization: -<verb> - Option "Protocol" "GlidePointPS/2" -</verb> - -To use this mouse as the PS/2 device but the OS does not support PS/2 mouse -initialization: -<verb> - Option "Protocol" "PS/2" -</verb> - -To use this mouse as the PS/2 device and the OS supports automatic -PS/2 mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -<sect1>ASCII MieMouse (serial, PS/2) <p> -This mouse appears to be OEM from Genius. Although its shape is -quite different, it works like Genius NetMouse Pro. This mouse has a -"knob" which is used like a wheel or a roller. The "knob" action is -recognized as the Z axis motion. -<p> -MieMouse supports the PnP COM device specification. When used as a -serial mouse, it is compatible with MS IntelliMouse. -<p> -To use this mouse as a serial device: -<verb> - Option "Protocol" "Auto" -</verb> -or: -<verb> - Option "Protocol" "IntelliMouse" -</verb> - -To use this mouse as the PS/2 device and the OS supports PS/2 mouse -initialization: -<verb> - Option "Protocol" "NetMousePS/2" -</verb> - -To use this mouse as the PS/2 device but the OS does not support PS/2 mouse -initialization (the knob and the third button won't work): -<verb> - Option "Protocol" "PS/2" -</verb> - -To use this mouse as the PS/2 device and the OS supports automatic -PS/2 mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -<sect1>Logitech MouseMan+ and FirstMouse+ (serial, PS/2) <p> -MouseMan+ has two buttons on top, one side button and a roller. -FirstMouse+ has two buttons and a roller. The roller movement is -recognized as the Z axis motion. The roller also acts as the third -button. The side button is recognized as the fourth button. -<p> -MouseMan+ and FirstMouse+ support the PnP COM device specification. -They have MS IntelliMouse compatible mode when used as a serial mouse. -<p> -To use these mice as a serial device: -<verb> - Option "Protocol" "Auto" -</verb> -or: -<verb> - Option "Protocol" "IntelliMouse" -</verb> - -To use this mouse as the PS/2 device and the OS supports PS/2 mouse -initialization: -<verb> - Option "Protocol" "MouseManPlusPS/2" -</verb> - -To use this mouse as the PS/2 device but the OS does not support PS/2 mouse -initialization (the wheel and the fourth button won't work): -<verb> - Option "Protocol" "PS/2" -</verb> - -To use this mouse as the PS/2 device and the OS supports automatic -PS/2 mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -<sect1>IBM ScrollPoint (PS/2) <p> -ScrollPoint has a "stick" in between the two buttons. -This "stick" is the same as the stick-shaped pointing device often -found on notebook computers, on which you move the mouse cursor by -pushing the stick. -The stick movement is recognized as the Z axis motion. -You can push the stick to right and left, as well as forward and -backward. Give four numbers to <tt>ZAxisMapping</tt> option -to map movement along all these four directions to button actions. -<p> -This mouse is compatible with Logitech MouseMan+. -To use this mouse as the PS/2 device and the OS supports PS/2 mouse -initialization: -<verb> - Option "Protocol" "MouseManPlusPS/2" -</verb> - -To use this mouse as the PS/2 device but the OS does not support PS/2 mouse -initialization (the stick won't work): -<verb> - Option "Protocol" "PS/2" -</verb> - -To use this mouse as the PS/2 device and the OS supports automatic -PS/2 mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -<sect1>8D ScrollMouse (serial, PS/2) <p> -ScrollMouse, also known as GyroMouse, has a "stick" similar to -IBM ScrollPoint. -The stick movement is recognized as the Z axis motion. -You can push the stick to right and left, as well as forward and -backward. Give four numbers to <tt>ZAxisMapping</tt> option -to map movement along all these four directions to button actions. -<p> -ScrollMouse supports the PnP COM device specification. When used as a -serial mouse, it is compatible with MS IntelliMouse. -<p> -To use this mouse as a serial device: -<verb> - Option "Protocol" "Auto" -</verb> -or: -<verb> - Option "Protocol" "IntelliMouse" -</verb> - -To use this mouse as the PS/2 device and the OS supports PS/2 mouse -initialization: -<verb> - Option "Protocol" "IMPS/2" -</verb> - -To use this mouse as the PS/2 device but the OS does not support PS/2 mouse -initialization (the stick won't work): -<verb> - Option "Protocol" "PS/2" -</verb> - -To use this mouse as the PS/2 device and the OS supports automatic -PS/2 mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -<sect1>A4 Tech 4D mice (serial, PS/2, USB) <p> -A4 Tech produces quit a number of mice with one or two wheels. -Their mice may have 2, 3, or 4 buttons. -The wheels movement is recognized as the Z axis motion. -Give four numbers to <tt>ZAxisMapping</tt> option -to map movement of both wheels to button actions. -<p> -4D mice support the PnP COM device specification. When used as a -serial mouse, it is compatible with MS IntelliMouse. -<p> -To use this mouse as a serial device: -<verb> - Option "Protocol" "Auto" -</verb> -or: -<verb> - Option "Protocol" "IntelliMouse" -</verb> - -To use this mouse as the PS/2 device and the OS supports PS/2 mouse -initialization: -<verb> - Option "Protocol" "IMPS/2" -</verb> - -To use this mouse as the PS/2 device but the OS does not support PS/2 mouse -initialization (the wheels won't work): -<verb> - Option "Protocol" "PS/2" -</verb> - -To use this mouse as the PS/2 device and the OS supports automatic -PS/2 mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -To use this mouse as the USB device and the OS supports the generic -HID protocol: -<verb> - Option "Protocol" "usb" -</verb> - -To use this mouse as the USB device and the OS supports automatic -mouse detection: -<verb> - Option "Protocol" "Auto" -</verb> - -<sect>Configuration Examples <p> - -This section shows some example <tt>InputDevice</tt> section for -popular mice. All the examples assume that the mouse is connected to -the PS/2 mouse port, and the OS supports the PS/2 mouse initialization. -It is also assumed that <tt>/dev/mouse</tt> is -a link to the PS/2 mouse port. - -Logitech MouseMan+ has 4 buttons and a wheel. The following example -makes the wheel movement available as the button 5 and 6. - -<code> -Section "InputDevice" - Identifier "MouseMan+" - Driver "mouse" - Option "Device" "/dev/mouse" - Option "Protocol" "MouseManPlusPS/2" - Option "Buttons" "6" - Option "ZAxisMapping" "5 6" -EndSection -</code> - -You can change button number assignment using the <tt>xmodmap</tt> -command AFTER you start the X server with the above configuration. -You may not like to use the wheel as the button 2 and rather want -the side button (button 4) act like the button 2. You may also -want to map the wheel movement to the button 4 and 5. -This can be done by the following command: - -<verb> - xmodmap -e "pointer = 1 6 3 2 4 5" -</verb> - -After this command is run, the correspondence between the buttons and -button numbers will be as shown in the following table. - -<verb> -Physical Buttons Reported as: ------------------------------------- -1 Left Button Button 1 -2 Wheel Button Button 6 -3 Right Button Button 3 -4 Side Button Button 2 -5 Wheel Negative Move Button 4 -6 Wheel Positive Move Button 5 -</verb> - -Starting in the Xorg 6.9 release, you can also achieve this in your -configuration file by adding this to the "InputDevice" section in xorg.conf: -<verb> - Option "ButtonMapping" "1 6 3 2 4 5" -</verb> - - -For the MS IntelliMouse Explorer which as a wheel and 5 buttons, -you may have the following <tt>InputDevice</tt> section. - -<code> -Section "InputDevice" - Identifier "IntelliMouse Explorer" - Driver "mouse" - Option "Device" "/dev/mouse" - Option "Protocol" "ExplorerPS/2" - Option "Buttons" "7" - Option "ZAxisMapping" "6 7" -EndSection -</code> - -The IntelliMouse Explorer has 5 buttons, thus, you should give "7" -to the <tt>Buttons</tt> option if you want to map the wheel movement -to buttons (6 and 7). -With this configuration, the correspondence between the buttons and -button numbers will be as follows: - -<verb> -Physical Buttons Reported as: ------------------------------------- -1 Left Button Button 1 -2 Wheel Button Button 2 -3 Right Button Button 3 -4 Side Button 1 Button 4 -5 Side Button 2 Button 5 -6 Wheel Negative Move Button 6 -7 Wheel Positive Move Button 7 -</verb> - -You can change button number assignment using <tt>xmodmap</tt> -AFTER you started the X server with the above configuration. - -<verb> - xmodmap -e "pointer = 1 2 3 4 7 5 6" -</verb> - -The above command will moves the side button 2 to the button 7 and -make the wheel movement reported as the button 5 and 6. See -the table below. - -<verb> -Physical Buttons Reported as: ------------------------------------- -1 Left Button Button 1 -2 Wheel Button Button 2 -3 Right Button Button 3 -4 Side Button 1 Button 4 -5 Side Button 2 Button 7 -6 Wheel Negative Move Button 5 -7 Wheel Positive Move Button 6 -</verb> - -For the A4 Tech WinEasy mouse which has two wheels and 3 buttons, -you may have the following <tt>InputDevice</tt> section. - -<code> -Section "InputDevice" - Identifier "WinEasy" - Driver "mouse" - Option "Device" "/dev/mouse" - Option "Protocol" "IMPS/2" - Option "Buttons" "7" - Option "ZAxisMapping" "4 5 6 7" -EndSection -</code> - -The movement of the first wheel is mapped to the button 4 and 5. The -second wheel's movement will be reported as the buttons 6 and 7. - -The Kensington Expert mouse is really a trackball. It has 4 buttons -arranged in a rectangle around the ball. - -<code> -Section "InputDevice" - Identifier "DLB" - Driver "mouse" - Option "Protocol" "ThinkingMousePS/2" - Option "Buttons" "3" - Option "Emulate3Buttons" - Option "Device" "/dev/mouse" - Option "DragLockButtons" "2 1 4 3" -EndSection -</code> -In this example, button 2 is a drag lock button for button -number 1, and button 4 is a drag lock button for button 3. -Since button 2 is above button 1 and button 4 is above button 3 -in the layout of this trackball, this is reasonable. - -Because button 2 is being used as a drag lock, it can not be -used as an ordinary button. However, it can be activated by -using the "Emulate3Buttons" feature. However, some people my -be unable to press two buttons at the same time. They may -prefer the following <tt>InputDevice</tt> section which -defines button 4 as a master drag lock button, and leaves -button 2 free for ordinary use. -<code> -Section "InputDevice" - Identifier "MasterDLB" - Driver "mouse" - Option "Protocol" "ThinkingMousePS/2" - Option "Buttons" "3" - Option "Device" "/dev/mouse" - Option "DragLockButtons" "4" -EndSection -</code> - -</article> diff --git a/driver/xf86-input-mouse/aclocal.m4 b/driver/xf86-input-mouse/aclocal.m4 index 3ecdba9f1..915a09533 100644 --- a/driver/xf86-input-mouse/aclocal.m4 +++ b/driver/xf86-input-mouse/aclocal.m4 @@ -7134,18 +7134,6 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -# Copyright (C) 1996, 1997, 2000, 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. - -# serial 8 - -# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. -AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) - # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 @@ -7670,7 +7658,7 @@ dnl DEALINGS IN THE SOFTWARE. # 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.7.0]) +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,, @@ -7738,9 +7726,12 @@ AC_SUBST(RAWCPPFLAGS) # 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 @@ -7809,31 +7800,57 @@ 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 +# 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]) +AC_MSG_CHECKING([for X.Org SGML entities m4_ifval([$1],[>= $1])]) XORG_SGML_PATH= -PKG_CHECK_EXISTS([xorg-sgml-doctools], +PKG_CHECK_EXISTS([xorg-sgml-doctools m4_ifval([$1],[>= $1])], [XORG_SGML_PATH=`$PKG_CONFIG --variable=sgmlrootdir xorg-sgml-doctools`], - [if test x"$cross_compiling" != x"yes" ; then - AC_CHECK_FILE([$prefix/share/sgml/X11/defs.ent], - [XORG_SGML_PATH=$prefix/share/sgml]) - fi]) + [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 @@ -7846,9 +7863,9 @@ AC_SUBST(XORG_SGML_PATH) # 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_PATH_PROG(PS2PDF, ps2pdf) AC_MSG_CHECKING([whether to build documentation]) @@ -7864,7 +7881,7 @@ AC_MSG_RESULT([$BUILDDOC]) AC_MSG_CHECKING([whether to build pdf documentation]) -if test x$PS2PDF != x && test x$BUILD_PDFDOC != xno; then +if test x$have_ps2pdf != xno && test x$BUILD_PDFDOC != xno; then BUILDPDFDOC=yes else BUILDPDFDOC=no @@ -7874,7 +7891,7 @@ 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" +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" @@ -7966,6 +7983,10 @@ AC_SUBST(MAKE_HTML) # --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],[ @@ -7997,6 +8018,8 @@ elif test "x$use_xmlto" = x"no" ; then 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 @@ -8011,6 +8034,17 @@ m4_ifval([$1], 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 @@ -8163,6 +8197,12 @@ AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes]) # --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 @@ -8202,6 +8242,7 @@ elif test "x$use_groff" = x"no" ; then 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]) @@ -8219,9 +8260,25 @@ if test "x$have_groff" = x"yes"; then 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 @@ -8486,38 +8543,69 @@ AC_SUBST([XTMALLOC_ZERO_CFLAGS]) # ---------------- # Minimum version: 1.1.0 # -# Sets up flags for source checkers such as lint and sparse if --with-lint -# is specified. (Use --with-lint=sparse for sparse.) -# Sets $LINT to name of source checker passed with --with-lint (default: lint) -# Sets $LINT_FLAGS to flags to pass to source checker -# Sets LINT automake conditional if enabled (default: disabled) +# 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],[ -# Allow checking code with lint, sparse, etc. +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]) -if test "x$use_lint" = "xyes" ; then - LINT="lint" + +# 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 - LINT="$use_lint" + AC_MSG_ERROR([--with-lint expects 'yes' or 'no'. Use LINT variable to specify path.]) fi -if test "x$LINT_FLAGS" = "x" -a "x$LINT" != "xno" ; then - case $LINT in - lint|*/lint) - case $host_os in - solaris*) - LINT_FLAGS="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2" - ;; - esac - ;; - esac + +# User supplied flags override default flags +if test "x$LINT_FLAGS" != "x"; then + lint_options=$LINT_FLAGS fi -AC_SUBST(LINT) -AC_SUBST(LINT_FLAGS) -AM_CONDITIONAL(LINT, [test x$LINT != xno]) +AC_SUBST([LINT_FLAGS],[$lint_options]) +AM_CONDITIONAL(LINT, [test "x$LINT" != x]) ]) # XORG_WITH_LINT @@ -8527,28 +8615,29 @@ AM_CONDITIONAL(LINT, [test x$LINT != xno]) # # Sets up flags for building lint libraries for checking programs that call # functions in the library. -# Disabled by default, enable with --enable-lint-library -# Sets: -# @LINTLIB@ - name of lint library file to make -# MAKE_LINT_LIB - automake conditional # +# 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]) -# Build lint "library" for more indepth checks of programs calling this library 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" != "xno" ; then - if test "x$LINT" = "xno" ; then - AC_MSG_ERROR([Cannot make lint library without --with-lint]) - fi - if test "x$make_lint_lib" = "xyes" ; then - LINTLIB=llib-l$1.ln - else - LINTLIB=$make_lint_lib - fi + +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]) @@ -8561,7 +8650,7 @@ AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno]) # Defines CWARNFLAGS to enable C compiler warnings. # AC_DEFUN([XORG_CWARNFLAGS], [ -AC_REQUIRE([AC_PROG_CC]) +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 \ @@ -8586,7 +8675,7 @@ AC_SUBST(CWARNFLAGS) # # Add configure option to enable strict compilation AC_DEFUN([XORG_STRICT_OPTION], [ -AC_REQUIRE([AC_PROG_CC]) +# 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]) @@ -8616,6 +8705,7 @@ AC_SUBST([CWARNFLAGS]) # 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 @@ -8669,22 +8759,9 @@ dnl # XORG_RELEASE_VERSION # -------------------- -# Adds --with/without-release-string and changes the PACKAGE and -# PACKAGE_TARNAME to use "$PACKAGE{_TARNAME}-$RELEASE_VERSION". If -# no option is given, PACKAGE and PACKAGE_TARNAME are unchanged. Also -# defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use. +# Defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use. AC_DEFUN([XORG_RELEASE_VERSION],[ - AC_ARG_WITH(release-version, - AS_HELP_STRING([--with-release-version=STRING], - [Use release version string in package name]), - [RELEASE_VERSION="$withval"], - [RELEASE_VERSION=""]) - if test "x$RELEASE_VERSION" != "x"; then - PACKAGE="$PACKAGE-$RELEASE_VERSION" - PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION" - AC_MSG_NOTICE([Building with package name set to $PACKAGE]) - fi AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR], [`echo $PACKAGE_VERSION | cut -d . -f 1`], [Major version of this package]) @@ -8720,52 +8797,3 @@ echo 'git directory not found: installing possibly empty changelog.' >&2)" AC_SUBST([CHANGELOG_CMD]) ]) # XORG_CHANGELOG -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_DRIVER_CHECK_EXT() -# -------------------------- -# Checks for the $1 define in xorg-server.h (from the sdk). If it -# is defined, then add $1 to $REQUIRED_MODULES. - -AC_DEFUN([XORG_DRIVER_CHECK_EXT],[ - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -I`pkg-config --variable=sdkdir xorg-server`" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include "xorg-server.h" -#if !defined $1 -#error $1 not defined -#endif - ]])], - [_EXT_CHECK=yes], - [_EXT_CHECK=no]) - CFLAGS="$SAVE_CFLAGS" - AC_MSG_CHECKING([if $1 is defined]) - AC_MSG_RESULT([$_EXT_CHECK]) - if test "$_EXT_CHECK" != no; then - REQUIRED_MODULES="$REQUIRED_MODULES $2" - fi -]) - diff --git a/driver/xf86-input-mouse/config.h.in b/driver/xf86-input-mouse/config.h.in index a6aea89c9..14da6e208 100644 --- a/driver/xf86-input-mouse/config.h.in +++ b/driver/xf86-input-mouse/config.h.in @@ -1,7 +1,5 @@ /* config.h.in. Generated from configure.ac by autoheader. */ -#include "xorg-server.h" - /* Define to 1 if you have the <dlfcn.h> header file. */ #undef HAVE_DLFCN_H diff --git a/driver/xf86-input-mouse/configure b/driver/xf86-input-mouse/configure index ff31704a9..5cf5fe7b0 100644 --- a/driver/xf86-input-mouse/configure +++ b/driver/xf86-input-mouse/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62 for xf86-input-mouse 1.5.0. +# Generated by GNU Autoconf 2.62 for xf86-input-mouse 1.6.0. # # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. # @@ -750,8 +750,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='xf86-input-mouse' PACKAGE_TARNAME='xf86-input-mouse' -PACKAGE_VERSION='1.5.0' -PACKAGE_STRING='xf86-input-mouse 1.5.0' +PACKAGE_VERSION='1.6.0' +PACKAGE_STRING='xf86-input-mouse 1.6.0' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' ac_unique_file="Makefile.am" @@ -852,7 +852,6 @@ am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT -DRIVER_NAME build build_cpu build_vendor @@ -914,26 +913,18 @@ FILE_MAN_DIR MISC_MAN_DIR DRIVER_MAN_DIR ADMIN_MAN_DIR +XORG_MAN_PAGE +MAN_SUBSTS AM_DEFAULT_VERBOSITY -inputdir -XORG_CFLAGS -XORG_LIBS -OS_MOUSE_NAME LINT LINT_FLAGS LINT_TRUE LINT_FALSE -XORG_SGML_PATH -LINUXDOC -PS2PDF -BUILD_LINUXDOC_TRUE -BUILD_LINUXDOC_FALSE -BUILD_PDFDOC_TRUE -BUILD_PDFDOC_FALSE -MAKE_TEXT -MAKE_PS -MAKE_PDF -MAKE_HTML +XORG_CFLAGS +XORG_LIBS +inputdir +OS_MOUSE_NAME +DRIVER_NAME LIBOBJS LTLIBOBJS' ac_subst_files='' @@ -949,9 +940,8 @@ enable_libtool_lock with_pic with_tags enable_strict_compilation -with_release_version -with_xorg_module_dir with_lint +with_xorg_module_dir ' ac_precious_vars='build_alias host_alias @@ -969,6 +959,8 @@ CXXCPP F77 FFLAGS PKG_CONFIG +LINT +LINT_FLAGS XORG_CFLAGS XORG_LIBS' @@ -1523,7 +1515,7 @@ 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 xf86-input-mouse 1.5.0 to adapt to many kinds of systems. +\`configure' configures xf86-input-mouse 1.6.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1594,7 +1586,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xf86-input-mouse 1.5.0:";; + short | recursive ) echo "Configuration of xf86-input-mouse 1.6.0:";; esac cat <<\_ACEOF @@ -1622,13 +1614,11 @@ Optional Packages: --with-pic try to use only PIC/non-PIC objects [default=use both] --with-tags[=TAGS] include additional configurations [automatic] - --with-release-version=STRING - Use release version string in package name + --with-lint Use a lint-style source code checker (default: + disabled) --with-xorg-module-dir=DIR Default xorg module directory [default=$libdir/xorg/modules] - --with-lint Use a lint-style source code checker (default: - disabled) Some influential environment variables: CC C compiler command @@ -1645,6 +1635,8 @@ Some influential environment variables: F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags PKG_CONFIG path to pkg-config utility + LINT Path to a lint-style command + LINT_FLAGS Flags for the lint-style command XORG_CFLAGS C compiler flags for XORG, overriding pkg-config XORG_LIBS linker flags for XORG, overriding pkg-config @@ -1714,7 +1706,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xf86-input-mouse configure 1.5.0 +xf86-input-mouse configure 1.6.0 generated by GNU Autoconf 2.62 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1728,7 +1720,7 @@ 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 xf86-input-mouse $as_me 1.5.0, which was +It was created by xf86-input-mouse $as_me 1.6.0, which was generated by GNU Autoconf 2.62. Invocation command line was $ $0 $@ @@ -2095,19 +2087,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -# Require xorg-macros version >= 1.3.0 for XORG_DEFAULT_OPTIONS - - - - - - - - - - - - +ac_config_headers="$ac_config_headers config.h" ac_aux_dir= for ac_dir in . "$srcdir"/.; do @@ -2140,6 +2120,8 @@ 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. + +# Initialize Automake am__api_version="1.9" # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -2392,7 +2374,7 @@ fi # Define the identity of the package. PACKAGE='xf86-input-mouse' - VERSION='1.5.0' + VERSION='1.6.0' cat >>confdefs.h <<_ACEOF @@ -2538,7 +2520,6 @@ 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. @@ -2564,13 +2545,7 @@ fi -DRIVER_NAME=mouse - - -ac_config_headers="$ac_config_headers config.h" - - -# Checks for programs. +# Initialize libtool # Check whether --enable-static was given. if test "${enable_static+set}" = set; then enableval=$enable_static; p=${PACKAGE-default} @@ -4457,7 +4432,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4460 "configure"' > conftest.$ac_ext + echo '#line 4435 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7565,11 +7540,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7568: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7543: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7572: \$? = $ac_status" >&5 + echo "$as_me:7547: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7855,11 +7830,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7858: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7833: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7862: \$? = $ac_status" >&5 + echo "$as_me:7837: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7959,11 +7934,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7962: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7937: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7966: \$? = $ac_status" >&5 + echo "$as_me:7941: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10359,7 +10334,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 10362 "configure" +#line 10337 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10459,7 +10434,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 10462 "configure" +#line 10437 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12868,11 +12843,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12871: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12846: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:12875: \$? = $ac_status" >&5 + echo "$as_me:12850: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -12972,11 +12947,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12975: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12950: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:12979: \$? = $ac_status" >&5 + echo "$as_me:12954: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14555,11 +14530,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14558: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14533: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:14562: \$? = $ac_status" >&5 + echo "$as_me:14537: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -14659,11 +14634,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14662: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14637: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14666: \$? = $ac_status" >&5 + echo "$as_me:14641: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -16874,11 +16849,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16877: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16852: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16881: \$? = $ac_status" >&5 + echo "$as_me:16856: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -17164,11 +17139,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17167: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17142: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:17171: \$? = $ac_status" >&5 + echo "$as_me:17146: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -17268,11 +17243,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17271: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17246: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:17275: \$? = $ac_status" >&5 + echo "$as_me:17250: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -19953,802 +19928,17 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool' -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: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&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: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $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); } - -{ $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 +# Initialize X.Org macros - 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 - 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 - - case $depmode in - 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 - ;; - none) break ;; - esac - # 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. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} 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 @@ -21073,6 +20263,78 @@ $as_echo "no" >&6; } fi fi +{ $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 + + @@ -21152,7 +20414,7 @@ fi - +# If the module's configure.ac calls AC_PROG_CC later on, CC gets set to C89 @@ -21295,20 +20557,6 @@ CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS" -# Check whether --with-release-version was given. -if test "${with_release_version+set}" = set; then - withval=$with_release_version; RELEASE_VERSION="$withval" -else - RELEASE_VERSION="" -fi - - if test "x$RELEASE_VERSION" != "x"; then - PACKAGE="$PACKAGE-$RELEASE_VERSION" - PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION" - { $as_echo "$as_me:$LINENO: Building with package name set to $PACKAGE" >&5 -$as_echo "$as_me: Building with package name set to $PACKAGE" >&6;} - fi - cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION_MAJOR `echo $PACKAGE_VERSION | cut -d . -f 1` _ACEOF @@ -21351,6 +20599,7 @@ echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possi + if test x$APP_MAN_SUFFIX = x ; then APP_MAN_SUFFIX=1 fi @@ -21419,145 +20668,135 @@ fi -AM_DEFAULT_VERBOSITY=1 - +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'" +AM_DEFAULT_VERBOSITY=1 -# Check whether --with-xorg-module-dir was given. -if test "${with_xorg_module_dir+set}" = set; then - withval=$with_xorg_module_dir; moduledir="$withval" -else - moduledir="$libdir/xorg/modules" -fi -inputdir=${moduledir}/input -# Checks for extensions - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -I`pkg-config --variable=sdkdir xorg-server`" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include "xorg-server.h" -#if !defined RANDR -#error RANDR not defined -#endif +# Check whether --with-lint was given. +if test "${with_lint+set}" = set; then + withval=$with_lint; use_lint=$withval +else + use_lint=no +fi -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;; +# 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 -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 - _EXT_CHECK=yes + +# 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 + # Extract the first word of "$lint_name", so it can be a program name with args. +set dummy $lint_name; 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_LINT+set}" = set; then + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + case $LINT in + [\\/]* | ?:[\\/]*) + ac_cv_path_LINT="$LINT" # 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_LINT="$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 - _EXT_CHECK=no + ;; +esac +fi +LINT=$ac_cv_path_LINT +if test -n "$LINT"; then + { $as_echo "$as_me:$LINENO: result: $LINT" >&5 +$as_echo "$LINT" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:$LINENO: checking if RANDR is defined" >&5 -$as_echo_n "checking if RANDR is defined... " >&6; } - { $as_echo "$as_me:$LINENO: result: $_EXT_CHECK" >&5 -$as_echo "$_EXT_CHECK" >&6; } - if test "$_EXT_CHECK" != no; then - REQUIRED_MODULES="$REQUIRED_MODULES randrproto" - fi + if test "x$LINT" = "x"; then + { { $as_echo "$as_me:$LINENO: error: --with-lint=yes specified but lint-style tool not found in PATH" >&5 +$as_echo "$as_me: error: --with-lint=yes specified but lint-style tool not found in PATH" >&2;} + { (exit 1); exit 1; }; } + fi +elif test "x$use_lint" = x"no" ; then + if test "x$LINT" != "x"; then + { $as_echo "$as_me:$LINENO: WARNING: ignoring LINT environment variable since --with-lint=no was specified" >&5 +$as_echo "$as_me: WARNING: ignoring LINT environment variable since --with-lint=no was specified" >&2;} + fi +else + { { $as_echo "$as_me:$LINENO: error: --with-lint expects 'yes' or 'no'. Use LINT variable to specify path." >&5 +$as_echo "$as_me: error: --with-lint expects 'yes' or 'no'. Use LINT variable to specify path." >&2;} + { (exit 1); exit 1; }; } +fi - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -I`pkg-config --variable=sdkdir xorg-server`" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# User supplied flags override default flags +if test "x$LINT_FLAGS" != "x"; then + lint_options=$LINT_FLAGS +fi -#include "xorg-server.h" -#if !defined XINPUT -#error XINPUT not defined -#endif +LINT_FLAGS=$lint_options -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 - _EXT_CHECK=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - _EXT_CHECK=no +if test "x$LINT" != x; then + LINT_TRUE= + LINT_FALSE='#' +else + LINT_TRUE='#' + LINT_FALSE= fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:$LINENO: checking if XINPUT is defined" >&5 -$as_echo_n "checking if XINPUT is defined... " >&6; } - { $as_echo "$as_me:$LINENO: result: $_EXT_CHECK" >&5 -$as_echo "$_EXT_CHECK" >&6; } - if test "$_EXT_CHECK" != no; then - REQUIRED_MODULES="$REQUIRED_MODULES inputproto" - fi -# Checks for pkg-config packages + +# Obtain compiler/linker options from server and required extensions pkg_failed=no { $as_echo "$as_me:$LINENO: checking for XORG" >&5 @@ -21568,12 +20807,12 @@ if test -n "$PKG_CONFIG"; then pkg_cv_XORG_CFLAGS="$XORG_CFLAGS" else if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-server >= 1.5.99.901 xproto \$REQUIRED_MODULES\"") >&5 - ($PKG_CONFIG --exists --print-errors "xorg-server >= 1.5.99.901 xproto $REQUIRED_MODULES") 2>&5 + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-server >= 1.5.99.901 xproto inputproto\"") >&5 + ($PKG_CONFIG --exists --print-errors "xorg-server >= 1.5.99.901 xproto inputproto") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - pkg_cv_XORG_CFLAGS=`$PKG_CONFIG --cflags "xorg-server >= 1.5.99.901 xproto $REQUIRED_MODULES" 2>/dev/null` + pkg_cv_XORG_CFLAGS=`$PKG_CONFIG --cflags "xorg-server >= 1.5.99.901 xproto inputproto" 2>/dev/null` else pkg_failed=yes fi @@ -21586,12 +20825,12 @@ if test -n "$PKG_CONFIG"; then pkg_cv_XORG_LIBS="$XORG_LIBS" else if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-server >= 1.5.99.901 xproto \$REQUIRED_MODULES\"") >&5 - ($PKG_CONFIG --exists --print-errors "xorg-server >= 1.5.99.901 xproto $REQUIRED_MODULES") 2>&5 + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-server >= 1.5.99.901 xproto inputproto\"") >&5 + ($PKG_CONFIG --exists --print-errors "xorg-server >= 1.5.99.901 xproto inputproto") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - pkg_cv_XORG_LIBS=`$PKG_CONFIG --libs "xorg-server >= 1.5.99.901 xproto $REQUIRED_MODULES" 2>/dev/null` + pkg_cv_XORG_LIBS=`$PKG_CONFIG --libs "xorg-server >= 1.5.99.901 xproto inputproto" 2>/dev/null` else pkg_failed=yes fi @@ -21610,14 +20849,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XORG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xorg-server >= 1.5.99.901 xproto $REQUIRED_MODULES"` + XORG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xorg-server >= 1.5.99.901 xproto inputproto"` else - XORG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xorg-server >= 1.5.99.901 xproto $REQUIRED_MODULES"` + XORG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xorg-server >= 1.5.99.901 xproto inputproto"` fi # Put the nasty error message in config.log where it belongs echo "$XORG_PKG_ERRORS" >&5 - { { $as_echo "$as_me:$LINENO: error: Package requirements (xorg-server >= 1.5.99.901 xproto $REQUIRED_MODULES) were not met: + { { $as_echo "$as_me:$LINENO: error: Package requirements (xorg-server >= 1.5.99.901 xproto inputproto) were not met: $XORG_PKG_ERRORS @@ -21628,7 +20867,7 @@ Alternatively, you may set the environment variables XORG_CFLAGS and XORG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&5 -$as_echo "$as_me: error: Package requirements (xorg-server >= 1.5.99.901 xproto $REQUIRED_MODULES) were not met: +$as_echo "$as_me: error: Package requirements (xorg-server >= 1.5.99.901 xproto inputproto) were not met: $XORG_PKG_ERRORS @@ -21669,188 +20908,17 @@ else $as_echo "yes" >&6; } : fi -sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server` -# Checks for libraries. +# Define a configure option for an alternate input module directory -# Checks for header files. -{ $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 - : +# Check whether --with-xorg-module-dir was given. +if test "${with_xorg_module_dir+set}" = set; then + withval=$with_xorg_module_dir; moduledir="$withval" 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 + moduledir="$libdir/xorg/modules" 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 +inputdir=${moduledir}/input # Work out which OS mouse driver we need to build @@ -21870,238 +20938,7 @@ case $host_os in esac - - -# Allow checking code with lint, sparse, etc. - -# Check whether --with-lint was given. -if test "${with_lint+set}" = set; then - withval=$with_lint; use_lint=$withval -else - use_lint=no -fi - -if test "x$use_lint" = "xyes" ; then - LINT="lint" -else - LINT="$use_lint" -fi -if test "x$LINT_FLAGS" = "x" -a "x$LINT" != "xno" ; then - case $LINT in - lint|*/lint) - case $host_os in - solaris*) - LINT_FLAGS="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2" - ;; - esac - ;; - esac -fi - - - - - -if test x$LINT != xno; then - LINT_TRUE= - LINT_FALSE='#' -else - LINT_TRUE='#' - LINT_FALSE= -fi - - - - -{ $as_echo "$as_me:$LINENO: checking for X.Org SGML entities" >&5 -$as_echo_n "checking for X.Org SGML entities... " >&6; } -XORG_SGML_PATH= -if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-sgml-doctools\"") >&5 - ($PKG_CONFIG --exists --print-errors "xorg-sgml-doctools") 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 - if test x"$cross_compiling" != x"yes" ; then - as_ac_File=`$as_echo "ac_cv_file_$prefix/share/sgml/X11/defs.ent" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $prefix/share/sgml/X11/defs.ent" >&5 -$as_echo_n "checking for $prefix/share/sgml/X11/defs.ent... " >&6; } -if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && - { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } -if test -r "$prefix/share/sgml/X11/defs.ent"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -ac_res=`eval 'as_val=${'$as_ac_File'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_File'} - $as_echo "$as_val"'` = yes; then - XORG_SGML_PATH=$prefix/share/sgml -fi - - fi -fi - -if test "x$XORG_SGML_PATH" != "x" ; then - { $as_echo "$as_me:$LINENO: result: $XORG_SGML_PATH" >&5 -$as_echo "$XORG_SGML_PATH" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - - -# Extract the first word of "linuxdoc", so it can be a program name with args. -set dummy linuxdoc; 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_LINUXDOC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case $LINUXDOC in - [\\/]* | ?:[\\/]*) - ac_cv_path_LINUXDOC="$LINUXDOC" # 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_LINUXDOC="$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 -LINUXDOC=$ac_cv_path_LINUXDOC -if test -n "$LINUXDOC"; then - { $as_echo "$as_me:$LINENO: result: $LINUXDOC" >&5 -$as_echo "$LINUXDOC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "ps2pdf", so it can be a program name with args. -set dummy ps2pdf; 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_PS2PDF+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case $PS2PDF in - [\\/]* | ?:[\\/]*) - ac_cv_path_PS2PDF="$PS2PDF" # 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_PS2PDF="$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 -PS2PDF=$ac_cv_path_PS2PDF -if test -n "$PS2PDF"; then - { $as_echo "$as_me:$LINENO: result: $PS2PDF" >&5 -$as_echo "$PS2PDF" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - -{ $as_echo "$as_me:$LINENO: checking whether to build documentation" >&5 -$as_echo_n "checking whether to build documentation... " >&6; } - -if test x$XORG_SGML_PATH != x && test x$LINUXDOC != x ; then - BUILDDOC=yes -else - BUILDDOC=no -fi - - - -if test x$BUILDDOC = xyes; then - BUILD_LINUXDOC_TRUE= - BUILD_LINUXDOC_FALSE='#' -else - BUILD_LINUXDOC_TRUE='#' - BUILD_LINUXDOC_FALSE= -fi - - -{ $as_echo "$as_me:$LINENO: result: $BUILDDOC" >&5 -$as_echo "$BUILDDOC" >&6; } - -{ $as_echo "$as_me:$LINENO: checking whether to build pdf documentation" >&5 -$as_echo_n "checking whether to build pdf documentation... " >&6; } - -if test x$PS2PDF != x && test x$BUILD_PDFDOC != xno; then - BUILDPDFDOC=yes -else - BUILDPDFDOC=no -fi - - - -if test x$BUILDPDFDOC = xyes; then - BUILD_PDFDOC_TRUE= - BUILD_PDFDOC_FALSE='#' -else - BUILD_PDFDOC_TRUE='#' - BUILD_PDFDOC_FALSE= -fi - - -{ $as_echo "$as_me:$LINENO: result: $BUILDPDFDOC" >&5 -$as_echo "$BUILDPDFDOC" >&6; } - -MAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH GROFF_NO_SGR=y $LINUXDOC -B txt" -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" - - - - - +DRIVER_NAME=mouse ac_config_files="$ac_config_files Makefile src/Makefile man/Makefile" @@ -22231,13 +21068,6 @@ $as_echo "$as_me: error: conditional \"am__fastdepCXX\" 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 "${LINT_TRUE}" && test -z "${LINT_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"LINT\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -22245,20 +21075,6 @@ $as_echo "$as_me: error: conditional \"LINT\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi -if test -z "${BUILD_LINUXDOC_TRUE}" && test -z "${BUILD_LINUXDOC_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_LINUXDOC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"BUILD_LINUXDOC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${BUILD_PDFDOC_TRUE}" && test -z "${BUILD_PDFDOC_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_PDFDOC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"BUILD_PDFDOC\" 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 @@ -22581,7 +21397,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xf86-input-mouse $as_me 1.5.0, which was +This file was extended by xf86-input-mouse $as_me 1.6.0, which was generated by GNU Autoconf 2.62. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22634,7 +21450,7 @@ Report bugs to <bug-autoconf@gnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -xf86-input-mouse config.status 1.5.0 +xf86-input-mouse config.status 1.6.0 configured by $0, generated by GNU Autoconf 2.62, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/driver/xf86-input-mouse/configure.ac b/driver/xf86-input-mouse/configure.ac index 11c7cabcd..8c99ac557 100644 --- a/driver/xf86-input-mouse/configure.ac +++ b/driver/xf86-input-mouse/configure.ac @@ -20,56 +20,43 @@ # # Process this file with autoconf to produce a configure script -AC_PREREQ(2.57) +# Initialize Autoconf +AC_PREREQ([2.60]) AC_INIT([xf86-input-mouse], - 1.5.0, + [1.6.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], - xf86-input-mouse) - -# Require xorg-macros version >= 1.3.0 for XORG_DEFAULT_OPTIONS -m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])]) -XORG_MACROS_VERSION(1.3) - + [xf86-input-mouse]) AC_CONFIG_SRCDIR([Makefile.am]) +AC_CONFIG_HEADERS([config.h]) AC_CONFIG_AUX_DIR(.) -AM_INIT_AUTOMAKE([dist-bzip2]) +# Initialize Automake +AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -DRIVER_NAME=mouse -AC_SUBST([DRIVER_NAME]) - -AM_CONFIG_HEADER([config.h]) - -# Checks for programs. +# Initialize libtool AC_DISABLE_STATIC AC_PROG_LIBTOOL -AC_PROG_CC + +# Initialize X.Org macros +m4_ifndef([XORG_MACROS_VERSION], + [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.8) XORG_DEFAULT_OPTIONS +XORG_WITH_LINT -AH_TOP([#include "xorg-server.h"]) +# Obtain compiler/linker options from server and required extensions +PKG_CHECK_MODULES(XORG, [xorg-server >= 1.5.99.901] xproto inputproto) +# Define a configure option for an alternate input module directory AC_ARG_WITH(xorg-module-dir, - AC_HELP_STRING([--with-xorg-module-dir=DIR], + AS_HELP_STRING([--with-xorg-module-dir=DIR], [Default xorg module directory [[default=$libdir/xorg/modules]]]), [moduledir="$withval"], [moduledir="$libdir/xorg/modules"]) inputdir=${moduledir}/input AC_SUBST(inputdir) -# Checks for extensions -XORG_DRIVER_CHECK_EXT(RANDR, randrproto) -XORG_DRIVER_CHECK_EXT(XINPUT, inputproto) - -# Checks for pkg-config packages -PKG_CHECK_MODULES(XORG, [xorg-server >= 1.5.99.901] xproto $REQUIRED_MODULES) -sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server` - -# Checks for libraries. - -# Checks for header files. -AC_HEADER_STDC - # Work out which OS mouse driver we need to build case $host_os in linux*) @@ -87,8 +74,10 @@ case $host_os in esac AC_SUBST([OS_MOUSE_NAME]) -dnl Allow checking code with lint, sparse, etc. -XORG_WITH_LINT -XORG_CHECK_LINUXDOC +DRIVER_NAME=mouse +AC_SUBST([DRIVER_NAME]) -AC_OUTPUT([Makefile src/Makefile man/Makefile]) +AC_CONFIG_FILES([Makefile + src/Makefile + man/Makefile]) +AC_OUTPUT diff --git a/driver/xf86-input-mouse/man/Makefile.am b/driver/xf86-input-mouse/man/Makefile.am index ceca07608..419175e2f 100644 --- a/driver/xf86-input-mouse/man/Makefile.am +++ b/driver/xf86-input-mouse/man/Makefile.am @@ -1,28 +1,25 @@ # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. -# -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation. -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR -# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the copyright holders shall -# not be used in advertising or otherwise to promote the sale, use or -# other dealings in this Software without prior written authorization -# from the copyright holders. -# +# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, 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. +# drivermandir = $(DRIVER_MAN_DIR) @@ -34,25 +31,7 @@ EXTRA_DIST = mousedrv.man CLEANFILES = $(driverman_DATA) -SED = sed - -# Strings to replace in man pages -XORGRELSTRING = @PACKAGE_STRING@ - XORGMANNAME = X Version 11 - -MAN_SUBSTS = \ - -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ - -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ - -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|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ - -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' - SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man .man.$(DRIVER_MAN_SUFFIX): - sed $(MAN_SUBSTS) < $< > $@ + $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ diff --git a/driver/xf86-input-mouse/man/Makefile.in b/driver/xf86-input-mouse/man/Makefile.in index b5892a6ef..92355427c 100644 --- a/driver/xf86-input-mouse/man/Makefile.in +++ b/driver/xf86-input-mouse/man/Makefile.in @@ -15,30 +15,27 @@ @SET_MAKE@ # -# Copyright 2005 Sun Microsystems, Inc. All rights reserved. -# -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation. -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR -# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the copyright holders shall -# not be used in advertising or otherwise to promote the sale, use or -# other dealings in this Software without prior written authorization -# from the copyright holders. -# +# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, 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. +# srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -97,10 +94,6 @@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_LINUXDOC_FALSE = @BUILD_LINUXDOC_FALSE@ -BUILD_LINUXDOC_TRUE = @BUILD_LINUXDOC_TRUE@ -BUILD_PDFDOC_FALSE = @BUILD_PDFDOC_FALSE@ -BUILD_PDFDOC_TRUE = @BUILD_PDFDOC_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -145,17 +138,13 @@ LINT = @LINT@ LINT_FALSE = @LINT_FALSE@ LINT_FLAGS = @LINT_FLAGS@ LINT_TRUE = @LINT_TRUE@ -LINUXDOC = @LINUXDOC@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ -MAKE_HTML = @MAKE_HTML@ -MAKE_PDF = @MAKE_PDF@ -MAKE_PS = @MAKE_PS@ -MAKE_TEXT = @MAKE_TEXT@ +MAN_SUBSTS = @MAN_SUBSTS@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ NMEDIT = @NMEDIT@ @@ -169,16 +158,15 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PS2PDF = @PS2PDF@ RANLIB = @RANLIB@ -SED = sed +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ XORG_CFLAGS = @XORG_CFLAGS@ XORG_LIBS = @XORG_LIBS@ -XORG_SGML_PATH = @XORG_SGML_PATH@ +XORG_MAN_PAGE = @XORG_MAN_PAGE@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ @@ -232,22 +220,6 @@ driverman_PRE = mousedrv.man driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@) EXTRA_DIST = mousedrv.man CLEANFILES = $(driverman_DATA) - -# Strings to replace in man pages -XORGRELSTRING = @PACKAGE_STRING@ -XORGMANNAME = X Version 11 -MAN_SUBSTS = \ - -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ - -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ - -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|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ - -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' - SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man all: all-am @@ -262,9 +234,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/Makefile + $(AUTOMAKE) --foreign man/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -434,7 +406,7 @@ uninstall-am: uninstall-drivermanDATA uninstall-info-am .man.$(DRIVER_MAN_SUFFIX): - sed $(MAN_SUBSTS) < $< > $@ + $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/driver/xf86-input-mouse/src/Makefile.am b/driver/xf86-input-mouse/src/Makefile.am index da0dba5e3..0857c98f1 100644 --- a/driver/xf86-input-mouse/src/Makefile.am +++ b/driver/xf86-input-mouse/src/Makefile.am @@ -19,7 +19,7 @@ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. AM_CFLAGS = $(CWARNFLAGS) -AM_CPPFLAGS = $(XORG_CFLAGS) -I$(top_srcdir)/src +AM_CPPFLAGS = $(XORG_CFLAGS) # this is obnoxious: # -module lets us name the module exactly how we want diff --git a/driver/xf86-input-mouse/src/Makefile.in b/driver/xf86-input-mouse/src/Makefile.in index e281f0df1..e04bf00a5 100644 --- a/driver/xf86-input-mouse/src/Makefile.in +++ b/driver/xf86-input-mouse/src/Makefile.in @@ -108,10 +108,6 @@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BUILD_LINUXDOC_FALSE = @BUILD_LINUXDOC_FALSE@ -BUILD_LINUXDOC_TRUE = @BUILD_LINUXDOC_TRUE@ -BUILD_PDFDOC_FALSE = @BUILD_PDFDOC_FALSE@ -BUILD_PDFDOC_TRUE = @BUILD_PDFDOC_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -156,17 +152,13 @@ LINT = @LINT@ LINT_FALSE = @LINT_FALSE@ LINT_FLAGS = @LINT_FLAGS@ LINT_TRUE = @LINT_TRUE@ -LINUXDOC = @LINUXDOC@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ -MAKE_HTML = @MAKE_HTML@ -MAKE_PDF = @MAKE_PDF@ -MAKE_PS = @MAKE_PS@ -MAKE_TEXT = @MAKE_TEXT@ +MAN_SUBSTS = @MAN_SUBSTS@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ NMEDIT = @NMEDIT@ @@ -180,7 +172,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -PS2PDF = @PS2PDF@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -189,7 +180,7 @@ STRIP = @STRIP@ VERSION = @VERSION@ XORG_CFLAGS = @XORG_CFLAGS@ XORG_LIBS = @XORG_LIBS@ -XORG_SGML_PATH = @XORG_SGML_PATH@ +XORG_MAN_PAGE = @XORG_MAN_PAGE@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ @@ -239,7 +230,7 @@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ AM_CFLAGS = $(CWARNFLAGS) -AM_CPPFLAGS = $(XORG_CFLAGS) -I$(top_srcdir)/src +AM_CPPFLAGS = $(XORG_CFLAGS) # this is obnoxious: # -module lets us name the module exactly how we want @@ -278,9 +269,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/Makefile + $(AUTOMAKE) --foreign src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/driver/xf86-input-mouse/src/hurd_mouse.c b/driver/xf86-input-mouse/src/hurd_mouse.c index 089cba38d..4dac225d9 100644 --- a/driver/xf86-input-mouse/src/hurd_mouse.c +++ b/driver/xf86-input-mouse/src/hurd_mouse.c @@ -21,11 +21,11 @@ * */ -#define NEED_EVENTS #ifdef HAVE_XORG_CONFIG_H #include <xorg-config.h> #endif +#include <xorg-server.h> #include <X11/X.h> #include <X11/Xproto.h> #include "inputstr.h" @@ -171,7 +171,7 @@ OsMousePreInit(InputInfoPtr pInfo, const char *protocol, int flags) static const char * FindDevice(InputInfoPtr pInfo, const char *protocol, int flags) { - const char path[] = DEFAULT_MOUSE_DEV; + static const char path[] = DEFAULT_MOUSE_DEV; int fd; SYSCALL (fd = open(path, O_RDWR | O_NONBLOCK | O_EXCL)); diff --git a/driver/xf86-input-mouse/src/lnx_mouse.c b/driver/xf86-input-mouse/src/lnx_mouse.c index c317f5da9..2f74ddb24 100644 --- a/driver/xf86-input-mouse/src/lnx_mouse.c +++ b/driver/xf86-input-mouse/src/lnx_mouse.c @@ -7,6 +7,7 @@ #include "config.h" #endif +#include <xorg-server.h> #include <X11/X.h> #include "xf86.h" #include "xf86Xinput.h" diff --git a/driver/xf86-input-mouse/src/mouse.c b/driver/xf86-input-mouse/src/mouse.c index 427ab2c9f..1ebd13f59 100644 --- a/driver/xf86-input-mouse/src/mouse.c +++ b/driver/xf86-input-mouse/src/mouse.c @@ -47,24 +47,20 @@ #include "config.h" #endif +#include <xorg-server.h> #include <math.h> #include <string.h> #include <stdio.h> #include <stdlib.h> -#define NEED_EVENTS #include <X11/X.h> #include <X11/Xproto.h> #include "xf86.h" -#ifdef XINPUT #include <X11/extensions/XI.h> #include <X11/extensions/XIproto.h> #include "extnsionst.h" #include "extinit.h" -#else -#include "inputstr.h" -#endif #include "xf86Xinput.h" #include "xf86_OSproc.h" @@ -1562,26 +1558,14 @@ post_event: /* * MouseCtrl -- - * Alter the control parameters for the mouse. Note that all special - * protocol values are handled by dix. + * Alter the control parameters for the mouse. Note that all + * settings are now handled by dix. */ static void MouseCtrl(DeviceIntPtr device, PtrCtrl *ctrl) { - InputInfoPtr pInfo; - MouseDevPtr pMse; - - pInfo = device->public.devicePrivate; - pMse = pInfo->private; - -#ifdef EXTMOUSEDEBUG - ErrorF("MouseCtrl pMse=%p\n", pMse); -#endif - - pMse->num = ctrl->num; - pMse->den = ctrl->den; - pMse->threshold = ctrl->threshold; + /* This function intentionally left blank */ } /* @@ -1721,7 +1705,6 @@ MouseProc(DeviceIntPtr device, int what) break; case DEVICE_OFF: - case DEVICE_CLOSE: if (pInfo->fd != -1) { xf86RemoveEnabledDevice(pInfo); if (pMse->buffer) { @@ -1739,6 +1722,10 @@ MouseProc(DeviceIntPtr device, int what) } device->public.on = FALSE; break; + case DEVICE_CLOSE: + xfree(pMse->mousePriv); + pMse->mousePriv = NULL; + break; } return Success; } diff --git a/driver/xf86-input-mouse/src/pnp.c b/driver/xf86-input-mouse/src/pnp.c index 0e95ac31c..50d6b13b3 100644 --- a/driver/xf86-input-mouse/src/pnp.c +++ b/driver/xf86-input-mouse/src/pnp.c @@ -24,10 +24,10 @@ #include "config.h" #endif +#include <xorg-server.h> #include <stdio.h> #include <string.h> #include <unistd.h> -#define NEED_EVENTS #include <X11/X.h> #include <X11/Xproto.h> #include "inputstr.h" @@ -75,6 +75,7 @@ static symtab_t pnpprod[] = { { "KYE0001", PROT_MS }, /* Genius PnP Mouse */ { "KYE0002", PROT_MS }, /* MouseSystem (Genius?) SmartScroll */ { "KYE0003", PROT_IMSERIAL }, /* Genius NetMouse */ + { "KYE0004", PROT_IMSERIAL }, /* Genius NetScroll+ (serial) */ { "LGI800C", PROT_IMSERIAL }, /* Logitech MouseMan (4 button model) */ { "LGI8033", PROT_IMSERIAL }, /* Logitech Cordless MouseMan Wheel */ { "LGI8050", PROT_IMSERIAL }, /* Logitech MouseMan+ */ diff --git a/driver/xf86-input-mouse/src/sun_mouse.c b/driver/xf86-input-mouse/src/sun_mouse.c index 7194f4de8..42ab93384 100644 --- a/driver/xf86-input-mouse/src/sun_mouse.c +++ b/driver/xf86-input-mouse/src/sun_mouse.c @@ -1,4 +1,27 @@ /* + * Copyright (c) 2004-2005, 2008-2010, Oracle and/or its affiliates. + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, 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. + */ +/* * Copyright 1999-2001 The XFree86 Project, Inc. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy @@ -23,33 +46,6 @@ * dealings in this Software without prior written authorization from the * XFree86 Project. */ -/* Copyright 2004-2005, 2008-2009 Sun Microsystems, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, and/or sell copies of the Software, and to permit persons - * to whom the Software is furnished to do so, provided that the above - * copyright notice(s) and this permission notice appear in all copies of - * the Software and that both the above copyright notice(s) and this - * permission notice appear in supporting documentation. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT - * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL - * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING - * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, - * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION - * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * Except as contained in this notice, the name of a copyright holder - * shall not be used in advertising or otherwise to promote the sale, use - * or other dealings in this Software without prior written authorization - * of the copyright holder. - */ #ifdef HAVE_XORG_CONFIG_H #include <xorg-config.h> @@ -107,6 +103,7 @@ typedef struct _VuidMseRec { #ifdef HAVE_ABSOLUTE_MOUSE_SCALING Ms_screen_resolution absres; #endif + OsTimerPtr remove_timer; /* Callback for removal on ENODEV */ } VuidMseRec, *VuidMsePtr; static VuidMsePtr vuidMouseList = NULL; @@ -119,7 +116,13 @@ static void vuidMouseSendScreenSize(ScreenPtr pScreen, VuidMsePtr pVuidMse); static void vuidMouseAdjustFrame(int index, int x, int y, int flags); static int vuidMouseGeneration = 0; + +#if HAS_DEVPRIVATEKEYREC +static DevPrivateKeyRec vuidMouseScreenIndex; +#else static int vuidMouseScreenIndex; +#endif /* HAS_DEVPRIVATEKEYREC */ + #define vuidMouseGetScreenPrivate(s) ( \ dixLookupPrivate(&(s)->devPrivates, &vuidMouseScreenIndex)) #define vuidMouseSetScreenPrivate(s,p) \ @@ -138,6 +141,18 @@ VuidMsePtr getVuidMsePriv(InputInfoPtr pInfo) return m; } +/* Called from OsTimer callback, since removing a device from the device + list or changing pInfo->fd while xf86Wakeup is looping through the list + causes server crashes */ +static CARD32 +vuidRemoveMouse(OsTimerPtr timer, CARD32 time, pointer arg) +{ + InputInfoPtr pInfo = (InputInfoPtr) arg; + + xf86DisableDevice(pInfo->dev, TRUE); + + return 0; /* All done, don't set to run again */ +} /* * Initialize and enable the mouse wheel, if present. @@ -334,19 +349,40 @@ vuidReadInput(InputInfoPtr pInfo) pMse = pInfo->private; pVuidMse = getVuidMsePriv(pInfo); buttons = pMse->lastButtons; - XisbBlockDuration(pMse->buffer, -1); pBuf = pVuidMse->buffer; n = 0; do { - while (n < sizeof(Firm_event) && (c = XisbRead(pMse->buffer)) >= 0) { - pBuf[n++] = (unsigned char)c; - } - - if (n == 0) - return; - - if (n != sizeof(Firm_event)) { + n = read(pInfo->fd, pBuf, sizeof(Firm_event)); + + if (n == 0) { + break; + } else if (n == -1) { + switch (errno) { + case EAGAIN: /* Nothing to read now */ + n = 0; /* End loop, go on to flush events & return */ + continue; + case EINTR: /* Interrupted, try again */ + continue; + case ENODEV: /* May happen when USB mouse is unplugged */ + /* We use X_NONE here because it doesn't alloc since we + may be called from SIGIO handler */ + xf86MsgVerb(X_NONE, 0, + "%s: Device no longer present - removing.\n", + pInfo->name); + xf86RemoveEnabledDevice(pInfo); + pVuidMse->remove_timer = + TimerSet(pVuidMse->remove_timer, 0, 1, + vuidRemoveMouse, pInfo); + return; + default: /* All other errors */ + /* We use X_NONE here because it doesn't alloc since we + may be called from SIGIO handler */ + xf86MsgVerb(X_NONE, 0, "%s: Read error: %s\n", pInfo->name, + strerror(errno)); + return; + } + } else if (n != sizeof(Firm_event)) { xf86Msg(X_WARNING, "%s: incomplete packet, size %d\n", pInfo->name, n); } @@ -416,11 +452,6 @@ vuidReadInput(InputInfoPtr pInfo) } #endif - n = 0; - if ((c = XisbRead(pMse->buffer)) >= 0) { - /* Another packet. Handle it right away. */ - pBuf[n++] = c; - } } while (n != 0); if (absXset || absYset) { @@ -438,6 +469,9 @@ static void vuidMouseSendScreenSize(ScreenPtr pScreen, VuidMsePtr pVuidMse) ScrnInfoPtr pScr = XF86SCRNINFO(pScreen); int result; + if (!pScr->currentMode) + return; + if ((pVuidMse->absres.width != pScr->currentMode->HDisplay) || (pVuidMse->absres.height != pScr->currentMode->VDisplay)) { @@ -517,6 +551,12 @@ vuidMouseProc(DeviceIntPtr pPointer, int what) case DEVICE_INIT: #ifdef HAVE_ABSOLUTE_MOUSE_SCALING + +#if HAS_DEVPRIVATEKEYREC + if (!dixRegisterPrivateKey(&vuidMouseScreenIndex, PRIVATE_SCREEN, 0)) + return BadAlloc; +#endif /* HAS_DEVPRIVATEKEYREC */ + if (vuidMouseGeneration != serverGeneration) { for (i = 0; i < screenInfo.numScreens; i++) { ScreenPtr pScreen = screenInfo.screens[i]; @@ -563,6 +603,13 @@ vuidMouseProc(DeviceIntPtr pPointer, int what) vuidMouseSendScreenSize(screenInfo.screens[0], pVuidMse); #endif xf86FlushInput(pInfo->fd); + + /* Allocate here so we don't alloc in ReadInput which may be called + from SIGIO handler. */ + if (pVuidMse->remove_timer == NULL) { + pVuidMse->remove_timer = TimerSet(pVuidMse->remove_timer, + 0, 0, NULL, NULL); + } } break; @@ -578,6 +625,10 @@ vuidMouseProc(DeviceIntPtr pPointer, int what) } } } + if (pVuidMse->remove_timer) { + TimerFree(pVuidMse->remove_timer); + pVuidMse->remove_timer = NULL; + } ret = pVuidMse->wrapped_device_control(pPointer, what); break; diff --git a/driver/xf86-input-mouse/src/xf86OSmouse.h b/driver/xf86-input-mouse/src/xf86OSmouse.h index f11858eb3..b90c306ba 100644 --- a/driver/xf86-input-mouse/src/xf86OSmouse.h +++ b/driver/xf86-input-mouse/src/xf86OSmouse.h @@ -215,9 +215,6 @@ typedef struct _MouseDevRec { int oldBaudRate; int sampleRate; int lastButtons; - int threshold; /* acceleration */ - int num; - int den; int buttons; /* # of buttons */ int emulateState; /* automata state for 2 button mode */ Bool emulate3Buttons; |