diff --git a/driver/xf86-input-vmmouse/ChangeLog b/driver/xf86-input-vmmouse/ChangeLog index d5937c073..1ad8f773c 100644 --- a/driver/xf86-input-vmmouse/ChangeLog +++ b/driver/xf86-input-vmmouse/ChangeLog @@ -1,3 +1,187 @@ +commit cfaffd24413a31ebd7ae766ac39ed366902e38e5 +Author: Thomas Hellstrom +Date: Wed Mar 2 09:06:47 2011 +0100 + + vmmouse 12.7.0.0 + + VMware internal testing completed. + + Signed-off-by: Thomas Hellstrom + +commit 07232feb6b5acc5c25e9cdf12b804397ca52dbce +Author: Thomas Hellstrom +Date: Wed Dec 8 10:07:20 2010 +0100 + + vmmouse 12.6.99.901 + + Signed-off-by: Thomas Hellstrom + +commit 5d0ba2e03718b73013519fc0a1c74f2ef5f4e7ad +Author: Thomas Hellstrom +Date: Wed Dec 1 10:04:01 2010 +0100 + + Make the .fdi script work on solaris + + Solaris doesn't use the same HAL device naming as Linux. + Use the common part of the device name. + + Signed-off-by: Thomas Hellstrom + +commit e5987a4e60d4e05159c7cc4a24cee6daed36c770 +Author: Thomas Hellstrom +Date: Thu Nov 4 09:09:52 2010 +0100 + + Make the modinfo sring contain an optional subpatch number + + The idea is that the build system assigns this number if needed. + As an example it might be the commit number since the last version tag. + + Signed-off-by: Thomas Hellstrom + +commit 3ef519e91fb85261834a3f4ff6982c0a9f86d616 +Author: Peter Hutterer +Date: Tue Nov 2 09:23:10 2010 +1000 + + Adjust to input ABI 12. + + New PreInit prototype that requires reshuffling. + + Signed-off-by: Peter Hutterer + Signed-off-by: Thomas Hellstrom + +commit 3d97fa1c3a5404ae02ed67eb94a5519394ba2bf5 +Author: Peter Hutterer +Date: Tue Nov 2 09:23:41 2010 +1000 + + Move allocation of mPriv down. + + No functional change. If we get to this point, we know it's available. + + Signed-off-by: Peter Hutterer + Acked-by: Thomas Hellstrom + +commit 4e08974ead62fc50ebbe0190abce78c5de3fcdff +Author: Peter Hutterer +Date: Tue Nov 2 09:04:45 2010 +1000 + + ABI 12 requires valuator modes to be specified. + + Signed-off-by: Peter Hutterer + Acked-by: Thomas Hellstrom + +commit 4527ef863a4c4d3e499007abb65dbb5e086219e8 +Author: Peter Hutterer +Date: Tue Oct 26 10:43:42 2010 +1000 + + Move passthrough initialization out into a separate function. + + No functional changes, just modularising a bit to make future changes + easier. + + Signed-off-by: Peter Hutterer + Signed-off-by: Thomas Hellstrom + +commit 6561d57d4cc8ba5a68c4f333a48eb2f9f131be7b +Author: Peter Hutterer +Date: Tue Oct 26 10:38:57 2010 +1000 + + Remove superflouous assignment. + + mPriv is freed a few lines down, assigning anything here makes no + difference. + + Signed-off-by: Peter Hutterer + Acked-by: Thomas Hellstrom + +commit 4345af5cacec0501a045a303ff9816098b0d63d0 +Author: Peter Hutterer +Date: Tue Oct 26 10:16:28 2010 +1000 + + Replace LocalDevicePtr with InputInfoPtr. + + The LocalDevicePtr define was removed from the server with ABI 12, but + InputInfoPtr has been an alias for it since the Xfree86/Xorg fork. + + Signed-off-by: Peter Hutterer + Acked-by: Thomas Hellstrom + +commit 8962e5c7c521e6cf28f464a9cdb80bd37f2f4328 +Author: Gaetan Nadon +Date: Tue Oct 19 20:20:01 2010 -0400 + + make: remove duplicate definition of EXTRA_DIST + + autoreconf -vfi produces this output: + tools/Makefile.am:59: EXTRA_DIST multiply defined in condition TRUE ... + tools/Makefile.am:36: ... `EXTRA_DIST' previously defined here + + Signed-off-by: Gaetan Nadon + Acked-by: Thomas Hellstrom + +commit d060a173af59cfde74aa5aa9a59557f509022421 +Author: Gaetan Nadon +Date: Tue Oct 19 20:20:02 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 + Use the appropriate platform version of sed + + Signed-off-by: Gaetan Nadon + Acked-by: Thomas Hellstrom + +commit 61944e4497a65370716fa067f4b6a8643d089a24 +Author: Gaetan Nadon +Date: Tue Oct 19 20:20:03 2010 -0400 + + tools make: use Autoconf provided $(AM_V_GEN)$(SED) + + Enables silent rule and use platform appropriate version of sed. + + Signed-off-by: Gaetan Nadon + Acked-by: Thomas Hellstrom + +commit 3b290e278b3721bef01ecc8ebc04a9a2992f7558 +Author: Trevor Woerner +Date: Tue Oct 19 15:10:45 2010 -0400 + + InputDriverRec XINPUT cleanup. + + ABI version 11 of the InputDriverRec data structure no longer + includes the refCount member. + + Signed-off-by: Trevor Woerner + Reviewed-by: Thomas Hellstrom + +commit 8650db94573e73953ba9718a2cc2644b38adc306 +Author: Trevor Woerner +Date: Tue Oct 19 15:09:55 2010 -0400 + + Deprecated code cleanup. + + Replace calls to deprecated dynamic memory wrapper functions + in driver code. + + Signed-off-by: Trevor Woerner + Reviewed-by: Thomas Hellstrom + +commit adc177e3af9dc5da982ceb7a93e9c5e3bc6aed59 +Author: Adam Jackson +Date: Tue Aug 10 10:36:33 2010 -0400 + + xf86-input-vmmouse 12.6.10 + + Signed-off-by: Adam Jackson + +commit cc76aec9b712403c777b7ce1290fa1e7ca62bf8c +Author: Adam Jackson +Date: Tue Aug 10 10:36:21 2010 -0400 + + Fix distcheck + commit 61608b87c01ce87bd29869c1554a2ade5998782c Author: Alan Coopersmith Date: Fri Jul 9 20:45:53 2010 -0700 diff --git a/driver/xf86-input-vmmouse/INSTALL b/driver/xf86-input-vmmouse/INSTALL new file mode 100644 index 000000000..8b82ade08 --- /dev/null +++ b/driver/xf86-input-vmmouse/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 `' 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-vmmouse/aclocal.m4 b/driver/xf86-input-vmmouse/aclocal.m4 index 2dc7125e9..b8fd22345 100644 --- a/driver/xf86-input-vmmouse/aclocal.m4 +++ b/driver/xf86-input-vmmouse/aclocal.m4 @@ -7633,7 +7633,7 @@ AC_SUBST([am__untar]) dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure. dnl -dnl Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved. +dnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved. dnl dnl Permission is hereby granted, free of charge, to any person obtaining a dnl copy of this software and associated documentation files (the "Software"), @@ -7670,7 +7670,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.10.0]) +m4_define([vers_have], [1.13.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,, @@ -7821,6 +7821,7 @@ MAN_SUBSTS="\ -e 's|__xservername__|Xorg|g' \ -e 's|__xconfigfile__|xorg.conf|g' \ -e 's|__projectroot__|\$(prefix)|g' \ + -e 's|__apploaddir__|\$(appdefaultdir)|g' \ -e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \ -e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \ -e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \ @@ -7978,15 +7979,17 @@ AC_SUBST(MAKE_PDF) AC_SUBST(MAKE_HTML) ]) # XORG_CHECK_DOCBOOK -# XORG_WITH_XMLTO([MIN-VERSION]) +# XORG_WITH_XMLTO([MIN-VERSION], [DEFAULT]) # ---------------- # Minimum version: 1.5.0 +# Minimum version for optional DEFAULT argument: 1.11.0 # # Documentation tools are not always available on all platforms and sometimes # not at the appropriate level. This macro enables a module to test for the # presence of the tool and obtain it's path in separate variables. Coupled with # the --with-xmlto option, it allows maximum flexibilty in making decisions -# as whether or not to use the xmlto package. +# as whether or not to use the xmlto package. When DEFAULT is not specified, +# --with-xmlto assumes 'auto'. # # Interface to module: # HAVE_XMLTO: used in makefiles to conditionally generate documentation @@ -8003,10 +8006,12 @@ AC_SUBST(MAKE_HTML) # AC_DEFUN([XORG_WITH_XMLTO],[ AC_ARG_VAR([XMLTO], [Path to xmlto command]) +m4_define([_defopt], m4_default([$2], [auto])) AC_ARG_WITH(xmlto, AS_HELP_STRING([--with-xmlto], - [Use xmlto to regenerate documentation (default: yes, if installed)]), - [use_xmlto=$withval], [use_xmlto=auto]) + [Use xmlto to regenerate documentation (default: ]_defopt[)]), + [use_xmlto=$withval], [use_xmlto=]_defopt) +m4_undefine([_defopt]) if test "x$use_xmlto" = x"auto"; then AC_PATH_PROG([XMLTO], [xmlto]) @@ -8060,15 +8065,80 @@ AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes]) AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes]) ]) # XORG_WITH_XMLTO -# XORG_WITH_ASCIIDOC([MIN-VERSION]) +# XORG_WITH_XSLTPROC([MIN-VERSION], [DEFAULT]) +# -------------------------------------------- +# Minimum version: 1.12.0 +# Minimum version for optional DEFAULT argument: 1.12.0 +# +# XSLT (Extensible Stylesheet Language Transformations) is a declarative, +# XML-based language used for the transformation of XML documents. +# The xsltproc command line tool is for applying XSLT stylesheets to XML documents. +# It is used under the cover by xmlto to generate html files from DocBook/XML. +# The XSLT processor is often used as a standalone tool for transformations. +# It should not be assumed that this tool is used only to work with documnetation. +# When DEFAULT is not specified, --with-xsltproc assumes 'auto'. +# +# Interface to module: +# HAVE_XSLTPROC: used in makefiles to conditionally generate documentation +# XSLTPROC: returns the path of the xsltproc program found +# returns the path set by the user in the environment +# --with-xsltproc: 'yes' user instructs the module to use xsltproc +# 'no' user instructs the module not to use xsltproc +# have_xsltproc: returns yes if xsltproc found in PATH or no +# +# If the user sets the value of XSLTPROC, AC_PATH_PROG skips testing the path. +# +AC_DEFUN([XORG_WITH_XSLTPROC],[ +AC_ARG_VAR([XSLTPROC], [Path to xsltproc command]) +m4_define([_defopt], m4_default([$2], [auto])) +AC_ARG_WITH(xsltproc, + AS_HELP_STRING([--with-xsltproc], + [Use xsltproc for the transformation of XML documents (default: ]_defopt[)]), + [use_xsltproc=$withval], [use_xsltproc=]_defopt) +m4_undefine([_defopt]) + +if test "x$use_xsltproc" = x"auto"; then + AC_PATH_PROG([XSLTPROC], [xsltproc]) + if test "x$XSLTPROC" = "x"; then + AC_MSG_WARN([xsltproc not found - cannot transform XML documents]) + have_xsltproc=no + else + have_xsltproc=yes + fi +elif test "x$use_xsltproc" = x"yes" ; then + AC_PATH_PROG([XSLTPROC], [xsltproc]) + if test "x$XSLTPROC" = "x"; then + AC_MSG_ERROR([--with-xsltproc=yes specified but xsltproc not found in PATH]) + fi + have_xsltproc=yes +elif test "x$use_xsltproc" = x"no" ; then + if test "x$XSLTPROC" != "x"; then + AC_MSG_WARN([ignoring XSLTPROC environment variable since --with-xsltproc=no was specified]) + fi + have_xsltproc=no +else + AC_MSG_ERROR([--with-xsltproc expects 'yes' or 'no']) +fi + +# Checking for minimum version is not implemented +# but we want to keep the interface consistent with other commands +m4_ifval([$1],[AC_MSG_WARN(Checking for MIN-VERSION is not implemented.)]) + +AM_CONDITIONAL([HAVE_XSLTPROC], [test "$have_xsltproc" = yes]) +]) # XORG_WITH_XSLTPROC + + +# XORG_WITH_ASCIIDOC([MIN-VERSION], [DEFAULT]) # ---------------- # Minimum version: 1.5.0 +# Minimum version for optional DEFAULT argument: 1.11.0 # # Documentation tools are not always available on all platforms and sometimes # not at the appropriate level. This macro enables a module to test for the # presence of the tool and obtain it's path in separate variables. Coupled with # the --with-asciidoc option, it allows maximum flexibilty in making decisions -# as whether or not to use the asciidoc package. +# as whether or not to use the asciidoc package. When DEFAULT is not specified, +# --with-asciidoc assumes 'auto'. # # Interface to module: # HAVE_ASCIIDOC: used in makefiles to conditionally generate documentation @@ -8081,10 +8151,12 @@ AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes]) # AC_DEFUN([XORG_WITH_ASCIIDOC],[ AC_ARG_VAR([ASCIIDOC], [Path to asciidoc command]) +m4_define([_defopt], m4_default([$2], [auto])) AC_ARG_WITH(asciidoc, AS_HELP_STRING([--with-asciidoc], - [Use asciidoc to regenerate documentation (default: yes, if installed)]), - [use_asciidoc=$withval], [use_asciidoc=auto]) + [Use asciidoc to regenerate documentation (default: ]_defopt[)]), + [use_asciidoc=$withval], [use_asciidoc=]_defopt) +m4_undefine([_defopt]) if test "x$use_asciidoc" = x"auto"; then AC_PATH_PROG([ASCIIDOC], [asciidoc]) @@ -8125,15 +8197,17 @@ fi]) AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes]) ]) # XORG_WITH_ASCIIDOC -# XORG_WITH_DOXYGEN([MIN-VERSION]) +# XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT]) # -------------------------------- # Minimum version: 1.5.0 +# Minimum version for optional DEFAULT argument: 1.11.0 # # Documentation tools are not always available on all platforms and sometimes # not at the appropriate level. This macro enables a module to test for the # presence of the tool and obtain it's path in separate variables. Coupled with # the --with-doxygen option, it allows maximum flexibilty in making decisions -# as whether or not to use the doxygen package. +# as whether or not to use the doxygen package. When DEFAULT is not specified, +# --with-doxygen assumes 'auto'. # # Interface to module: # HAVE_DOXYGEN: used in makefiles to conditionally generate documentation @@ -8146,10 +8220,12 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes]) # AC_DEFUN([XORG_WITH_DOXYGEN],[ AC_ARG_VAR([DOXYGEN], [Path to doxygen command]) +m4_define([_defopt], m4_default([$2], [auto])) AC_ARG_WITH(doxygen, AS_HELP_STRING([--with-doxygen], - [Use doxygen to regenerate documentation (default: yes, if installed)]), - [use_doxygen=$withval], [use_doxygen=auto]) + [Use doxygen to regenerate documentation (default: ]_defopt[)]), + [use_doxygen=$withval], [use_doxygen=]_defopt) +m4_undefine([_defopt]) if test "x$use_doxygen" = x"auto"; then AC_PATH_PROG([DOXYGEN], [doxygen]) @@ -8190,15 +8266,17 @@ fi]) AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes]) ]) # XORG_WITH_DOXYGEN -# XORG_WITH_GROFF +# XORG_WITH_GROFF([DEFAULT]) # ---------------- # Minimum version: 1.6.0 +# Minimum version for optional DEFAULT argument: 1.11.0 # # Documentation tools are not always available on all platforms and sometimes # not at the appropriate level. This macro enables a module to test for the # presence of the tool and obtain it's path in separate variables. Coupled with # the --with-groff option, it allows maximum flexibilty in making decisions -# as whether or not to use the groff package. +# as whether or not to use the groff package. When DEFAULT is not specified, +# --with-groff assumes 'auto'. # # Interface to module: # HAVE_GROFF: used in makefiles to conditionally generate documentation @@ -8227,10 +8305,12 @@ AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes]) # AC_DEFUN([XORG_WITH_GROFF],[ AC_ARG_VAR([GROFF], [Path to groff command]) +m4_define([_defopt], m4_default([$1], [auto])) AC_ARG_WITH(groff, AS_HELP_STRING([--with-groff], - [Use groff to regenerate documentation (default: yes, if installed)]), - [use_groff=$withval], [use_groff=auto]) + [Use groff to regenerate documentation (default: ]_defopt[)]), + [use_groff=$withval], [use_groff=]_defopt) +m4_undefine([_defopt]) if test "x$use_groff" = x"auto"; then AC_PATH_PROG([GROFF], [groff]) @@ -8293,15 +8373,17 @@ 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 +# XORG_WITH_FOP([DEFAULT]) # ---------------- # Minimum version: 1.6.0 +# Minimum version for optional DEFAULT argument: 1.11.0 # # Documentation tools are not always available on all platforms and sometimes # not at the appropriate level. This macro enables a module to test for the # presence of the tool and obtain it's path in separate variables. Coupled with # the --with-fop option, it allows maximum flexibilty in making decisions -# as whether or not to use the fop package. +# as whether or not to use the fop package. When DEFAULT is not specified, +# --with-fop assumes 'auto'. # # Interface to module: # HAVE_FOP: used in makefiles to conditionally generate documentation @@ -8314,10 +8396,12 @@ AM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes]) # AC_DEFUN([XORG_WITH_FOP],[ AC_ARG_VAR([FOP], [Path to fop command]) +m4_define([_defopt], m4_default([$1], [auto])) AC_ARG_WITH(fop, AS_HELP_STRING([--with-fop], - [Use fop to regenerate documentation (default: yes, if installed)]), - [use_fop=$withval], [use_fop=auto]) + [Use fop to regenerate documentation (default: ]_defopt[)]), + [use_fop=$withval], [use_fop=]_defopt) +m4_undefine([_defopt]) if test "x$use_fop" = x"auto"; then AC_PATH_PROG([FOP], [fop]) @@ -8344,15 +8428,17 @@ fi AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes]) ]) # XORG_WITH_FOP -# XORG_WITH_PS2PDF +# XORG_WITH_PS2PDF([DEFAULT]) # ---------------- # Minimum version: 1.6.0 +# Minimum version for optional DEFAULT argument: 1.11.0 # # Documentation tools are not always available on all platforms and sometimes # not at the appropriate level. This macro enables a module to test for the # presence of the tool and obtain it's path in separate variables. Coupled with # the --with-ps2pdf option, it allows maximum flexibilty in making decisions -# as whether or not to use the ps2pdf package. +# as whether or not to use the ps2pdf package. When DEFAULT is not specified, +# --with-ps2pdf assumes 'auto'. # # Interface to module: # HAVE_PS2PDF: used in makefiles to conditionally generate documentation @@ -8365,10 +8451,12 @@ AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes]) # AC_DEFUN([XORG_WITH_PS2PDF],[ AC_ARG_VAR([PS2PDF], [Path to ps2pdf command]) +m4_define([_defopt], m4_default([$1], [auto])) AC_ARG_WITH(ps2pdf, AS_HELP_STRING([--with-ps2pdf], - [Use ps2pdf to regenerate documentation (default: yes, if installed)]), - [use_ps2pdf=$withval], [use_ps2pdf=auto]) + [Use ps2pdf to regenerate documentation (default: ]_defopt[)]), + [use_ps2pdf=$withval], [use_ps2pdf=]_defopt) +m4_undefine([_defopt]) if test "x$use_ps2pdf" = x"auto"; then AC_PATH_PROG([PS2PDF], [ps2pdf]) @@ -8419,14 +8507,12 @@ AM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes]) # parm1: specify the default value, yes or no. # AC_DEFUN([XORG_ENABLE_DOCS],[ -default=$1 -if test "x$default" = x ; then - default="yes" -fi +m4_define([docs_default], m4_default([$1], [yes])) AC_ARG_ENABLE(docs, AS_HELP_STRING([--enable-docs], - [Enable building the documentation (default: yes)]), - [build_docs=$enableval], [build_docs=$default]) + [Enable building the documentation (default: ]docs_default[)]), + [build_docs=$enableval], [build_docs=]docs_default) +m4_undefine([docs_default]) AM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes]) AC_MSG_CHECKING([whether to build documentation]) AC_MSG_RESULT([$build_docs]) @@ -8454,14 +8540,12 @@ AC_MSG_RESULT([$build_docs]) # parm1: specify the default value, yes or no. # AC_DEFUN([XORG_ENABLE_DEVEL_DOCS],[ -devel_default=$1 -if test "x$devel_default" = x ; then - devel_default="yes" -fi +m4_define([devel_default], m4_default([$1], [yes])) AC_ARG_ENABLE(devel-docs, AS_HELP_STRING([--enable-devel-docs], - [Enable building the developer documentation (default: yes)]), - [build_devel_docs=$enableval], [build_devel_docs=$devel_default]) + [Enable building the developer documentation (default: ]devel_default[)]), + [build_devel_docs=$enableval], [build_devel_docs=]devel_default) +m4_undefine([devel_default]) AM_CONDITIONAL(ENABLE_DEVEL_DOCS, [test x$build_devel_docs = xyes]) AC_MSG_CHECKING([whether to build developer documentation]) AC_MSG_RESULT([$build_devel_docs]) @@ -8489,19 +8573,205 @@ AC_MSG_RESULT([$build_devel_docs]) # parm1: specify the default value, yes or no. # AC_DEFUN([XORG_ENABLE_SPECS],[ -spec_default=$1 -if test "x$spec_default" = x ; then - spec_default="yes" -fi +m4_define([spec_default], m4_default([$1], [yes])) AC_ARG_ENABLE(specs, AS_HELP_STRING([--enable-specs], - [Enable building the specs (default: yes)]), - [build_specs=$enableval], [build_specs=$spec_default]) + [Enable building the specs (default: ]spec_default[)]), + [build_specs=$enableval], [build_specs=]spec_default) +m4_undefine([spec_default]) AM_CONDITIONAL(ENABLE_SPECS, [test x$build_specs = xyes]) AC_MSG_CHECKING([whether to build functional specifications]) AC_MSG_RESULT([$build_specs]) ]) # XORG_ENABLE_SPECS +# XORG_ENABLE_UNIT_TESTS (enable_unit_tests=auto) +# ---------------------------------------------- +# Minimum version: 1.13.0 +# +# This macro enables a builder to enable/disable unit testing +# It makes no assumption about the test cases implementation +# Test cases may or may not use Automake "Support for test suites" +# They may or may not use the software utility library GLib +# +# When used in conjunction with XORG_WITH_GLIB, use both AM_CONDITIONAL +# ENABLE_UNIT_TESTS and HAVE_GLIB. Not all unit tests may use glib. +# The variable enable_unit_tests is used by other macros in this file. +# +# Interface to module: +# ENABLE_UNIT_TESTS: used in makefiles to conditionally build tests +# enable_unit_tests: used in configure.ac for additional configuration +# --enable-unit-tests: 'yes' user instructs the module to build tests +# 'no' user instructs the module not to build tests +# parm1: specify the default value, yes or no. +# +AC_DEFUN([XORG_ENABLE_UNIT_TESTS],[ +AC_BEFORE([$0], [XORG_WITH_GLIB]) +AC_BEFORE([$0], [XORG_LD_WRAP]) +m4_define([_defopt], m4_default([$1], [auto])) +AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests], + [Enable building unit test cases (default: ]_defopt[)]), + [enable_unit_tests=$enableval], [enable_unit_tests=]_defopt) +m4_undefine([_defopt]) +AM_CONDITIONAL(ENABLE_UNIT_TESTS, [test "x$enable_unit_tests" != xno]) +AC_MSG_CHECKING([whether to build unit test cases]) +AC_MSG_RESULT([$enable_unit_tests]) +]) # XORG_ENABLE_UNIT_TESTS + +# XORG_WITH_GLIB([MIN-VERSION], [DEFAULT]) +# ---------------------------------------- +# Minimum version: 1.13.0 +# +# GLib is a library which provides advanced data structures and functions. +# This macro enables a module to test for the presence of Glib. +# +# When used with ENABLE_UNIT_TESTS, it is assumed GLib is used for unit testing. +# Otherwise the value of $enable_unit_tests is blank. +# +# Interface to module: +# HAVE_GLIB: used in makefiles to conditionally build targets +# with_glib: used in configure.ac to know if GLib has been found +# --with-glib: 'yes' user instructs the module to use glib +# 'no' user instructs the module not to use glib +# +AC_DEFUN([XORG_WITH_GLIB],[ +AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +m4_define([_defopt], m4_default([$2], [auto])) +AC_ARG_WITH(glib, AS_HELP_STRING([--with-glib], + [Use GLib library for unit testing (default: ]_defopt[)]), + [with_glib=$withval], [with_glib=]_defopt) +m4_undefine([_defopt]) + +have_glib=no +# Do not probe GLib if user explicitly disabled unit testing +if test "x$enable_unit_tests" != x"no"; then + # Do not probe GLib if user explicitly disabled it + if test "x$with_glib" != x"no"; then + m4_ifval( + [$1], + [PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $1], [have_glib=yes], [have_glib=no])], + [PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])] + ) + fi +fi + +# Not having GLib when unit testing has been explicitly requested is an error +if test "x$enable_unit_tests" = x"yes"; then + if test "x$have_glib" = x"no"; then + AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found]) + fi +fi + +# Having unit testing disabled when GLib has been explicitly requested is an error +if test "x$enable_unit_tests" = x"no"; then + if test "x$with_glib" = x"yes"; then + AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found]) + fi +fi + +# Not having GLib when it has been explicitly requested is an error +if test "x$with_glib" = x"yes"; then + if test "x$have_glib" = x"no"; then + AC_MSG_ERROR([--with-glib=yes specified but glib-2.0 not found]) + fi +fi + +AM_CONDITIONAL([HAVE_GLIB], [test "$have_glib" = yes]) +]) # XORG_WITH_GLIB + +# XORG_LD_WRAP +# ------------ +# Minimum version: 1.13.0 +# +# Check if linker supports -wrap, passed via compiler flags +# +# When used with ENABLE_UNIT_TESTS, it is assumed -wrap is used for unit testing. +# Otherwise the value of $enable_unit_tests is blank. +# +AC_DEFUN([XORG_LD_WRAP],[ +XORG_CHECK_LINKER_FLAGS([-Wl,-wrap,exit],[have_ld_wrap=yes],[have_ld_wrap=no]) +# Not having ld wrap when unit testing has been explicitly requested is an error +if test "x$enable_unit_tests" = x"yes"; then + if test "x$have_ld_wrap" = x"no"; then + AC_MSG_ERROR([--enable-unit-tests=yes specified but ld -wrap support is not available]) + fi +fi +AM_CONDITIONAL([HAVE_LD_WRAP], [test "$have_ld_wrap" = yes]) +# +]) # XORG_LD_WRAP + +# XORG_CHECK_LINKER_FLAGS +# ----------------------- +# SYNOPSIS +# +# XORG_CHECK_LINKER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE]) +# +# DESCRIPTION +# +# Check whether the given linker FLAGS work with the current language's +# linker, or whether they give an error. +# +# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on +# success/failure. +# +# NOTE: Based on AX_CHECK_COMPILER_FLAGS. +# +# LICENSE +# +# Copyright (c) 2009 Mike Frysinger +# Copyright (c) 2009 Steven G. Johnson +# Copyright (c) 2009 Matteo Frigo +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well.# +AC_DEFUN([XORG_CHECK_LINKER_FLAGS], +[AC_MSG_CHECKING([whether the linker accepts $1]) +dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname: +AS_LITERAL_IF([$1], + [AC_CACHE_VAL(AS_TR_SH(xorg_cv_linker_flags_[$1]), [ + ax_save_FLAGS=$LDFLAGS + LDFLAGS="$1" + AC_LINK_IFELSE([AC_LANG_PROGRAM()], + AS_TR_SH(xorg_cv_linker_flags_[$1])=yes, + AS_TR_SH(xorg_cv_linker_flags_[$1])=no) + LDFLAGS=$ax_save_FLAGS])], + [ax_save_FLAGS=$LDFLAGS + LDFLAGS="$1" + AC_LINK_IFELSE([AC_LANG_PROGRAM()], + eval AS_TR_SH(xorg_cv_linker_flags_[$1])=yes, + eval AS_TR_SH(xorg_cv_linker_flags_[$1])=no) + LDFLAGS=$ax_save_FLAGS]) +eval xorg_check_linker_flags=$AS_TR_SH(xorg_cv_linker_flags_[$1]) +AC_MSG_RESULT($xorg_check_linker_flags) +if test "x$xorg_check_linker_flags" = xyes; then + m4_default([$2], :) +else + m4_default([$3], :) +fi +]) # XORG_CHECK_LINKER_FLAGS + # XORG_CHECK_MALLOC_ZERO # ---------------------- # Minimum version: 1.0.0 @@ -8518,18 +8788,16 @@ AC_ARG_ENABLE(malloc0returnsnull, AC_MSG_CHECKING([whether malloc(0) returns NULL]) if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then - AC_RUN_IFELSE([ -char *malloc(); -char *realloc(); -char *calloc(); -main() { + AC_RUN_IFELSE([AC_LANG_PROGRAM([ +#include +],[ char *m0, *r0, *c0, *p; m0 = malloc(0); p = malloc(10); r0 = realloc(p,0); - c0 = calloc(0); - exit(m0 == 0 || r0 == 0 || c0 == 0 ? 0 : 1); -}], + c0 = calloc(0,10); + exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1); +])], [MALLOC_ZERO_RETURNS_NULL=yes], [MALLOC_ZERO_RETURNS_NULL=no], [MALLOC_ZERO_RETURNS_NULL=yes]) diff --git a/driver/xf86-input-vmmouse/config.h.in b/driver/xf86-input-vmmouse/config.h.in index 737128410..375d09acf 100644 --- a/driver/xf86-input-vmmouse/config.h.in +++ b/driver/xf86-input-vmmouse/config.h.in @@ -41,6 +41,9 @@ /* Has version 1.1.0 or greater of the Xserver */ #undef HAVE_XORG_SERVER_1_1_0 +/* Has version 1.5.0 or greater of the Xserver */ +#undef HAVE_XORG_SERVER_1_5_0 + /* Do not include built-in mouse module fallback */ #undef NO_MOUSE_MODULE diff --git a/driver/xf86-input-vmmouse/configure b/driver/xf86-input-vmmouse/configure index 70f486c4c..95e4ef84b 100644 --- a/driver/xf86-input-vmmouse/configure +++ b/driver/xf86-input-vmmouse/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-vmmouse 12.6.10. +# Generated by GNU Autoconf 2.62 for xf86-input-vmmouse 12.7.0. # # Report bugs to . # @@ -750,8 +750,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='xf86-input-vmmouse' PACKAGE_TARNAME='xf86-input-vmmouse' -PACKAGE_VERSION='12.6.10' -PACKAGE_STRING='xf86-input-vmmouse 12.6.10' +PACKAGE_VERSION='12.7.0' +PACKAGE_STRING='xf86-input-vmmouse 12.7.0' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' ac_unique_file="Makefile.am" @@ -1521,7 +1521,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-vmmouse 12.6.10 to adapt to many kinds of systems. +\`configure' configures xf86-input-vmmouse 12.7.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1592,7 +1592,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xf86-input-vmmouse 12.6.10:";; + short | recursive ) echo "Configuration of xf86-input-vmmouse 12.7.0:";; esac cat <<\_ACEOF @@ -1722,7 +1722,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xf86-input-vmmouse configure 12.6.10 +xf86-input-vmmouse configure 12.7.0 generated by GNU Autoconf 2.62 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1736,7 +1736,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-vmmouse $as_me 12.6.10, which was +It was created by xf86-input-vmmouse $as_me 12.7.0, which was generated by GNU Autoconf 2.62. Invocation command line was $ $0 $@ @@ -2387,7 +2387,7 @@ fi # Define the identity of the package. PACKAGE='xf86-input-vmmouse' - VERSION='12.6.10' + VERSION='12.7.0' cat >>confdefs.h <<_ACEOF @@ -2559,7 +2559,7 @@ fi -# Require xorg-macros: XORG_DEFAULT_OPTIONS +# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS @@ -5114,6 +5114,7 @@ MAN_SUBSTS="\ -e 's|__xservername__|Xorg|g' \ -e 's|__xconfigfile__|xorg.conf|g' \ -e 's|__projectroot__|\$(prefix)|g' \ + -e 's|__apploaddir__|\$(appdefaultdir)|g' \ -e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \ -e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \ -e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \ @@ -5697,7 +5698,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 5700 "configure"' > conftest.$ac_ext + echo '#line 5701 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -8320,11 +8321,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:8323: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8324: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8327: \$? = $ac_status" >&5 + echo "$as_me:8328: \$? = $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. @@ -8610,11 +8611,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:8613: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8614: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8617: \$? = $ac_status" >&5 + echo "$as_me:8618: \$? = $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. @@ -8714,11 +8715,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:8717: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8718: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8721: \$? = $ac_status" >&5 + echo "$as_me:8722: \$? = $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 @@ -11114,7 +11115,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:13627: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13630: \$? = $ac_status" >&5 + echo "$as_me:13631: \$? = $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. @@ -13727,11 +13728,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:13730: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13731: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:13734: \$? = $ac_status" >&5 + echo "$as_me:13735: \$? = $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 @@ -15310,11 +15311,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:15313: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15314: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15317: \$? = $ac_status" >&5 + echo "$as_me:15318: \$? = $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. @@ -15414,11 +15415,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:15417: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15418: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15421: \$? = $ac_status" >&5 + echo "$as_me:15422: \$? = $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 @@ -17629,11 +17630,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:17632: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17633: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:17636: \$? = $ac_status" >&5 + echo "$as_me:17637: \$? = $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. @@ -17919,11 +17920,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:17922: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17923: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:17926: \$? = $ac_status" >&5 + echo "$as_me:17927: \$? = $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. @@ -18023,11 +18024,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:18026: $lt_compile\"" >&5) + (eval echo "\"\$as_me:18027: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:18030: \$? = $ac_status" >&5 + echo "$as_me:18031: \$? = $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 @@ -21506,77 +21507,6 @@ else 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 - @@ -21925,6 +21855,19 @@ _ACEOF fi +if test -n "$PKG_CONFIG" && \ + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-server > 1.4.99\"") >&5 + ($PKG_CONFIG --exists --print-errors "xorg-server > 1.4.99") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_XORG_SERVER_1_5_0 1 +_ACEOF + +fi + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-server >= 1.3.99.0 xorg-server <= 1.4.0.90\"") >&5 ($PKG_CONFIG --exists --print-errors "xorg-server >= 1.3.99.0 xorg-server <= 1.4.0.90") 2>&5 @@ -22614,7 +22557,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-vmmouse $as_me 12.6.10, which was +This file was extended by xf86-input-vmmouse $as_me 12.7.0, which was generated by GNU Autoconf 2.62. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22667,7 +22610,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -xf86-input-vmmouse config.status 12.6.10 +xf86-input-vmmouse config.status 12.7.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-vmmouse/configure.ac b/driver/xf86-input-vmmouse/configure.ac index 8c1322c44..20d680687 100644 --- a/driver/xf86-input-vmmouse/configure.ac +++ b/driver/xf86-input-vmmouse/configure.ac @@ -22,7 +22,7 @@ AC_PREREQ(2.57) AC_INIT([xf86-input-vmmouse], - 12.6.10, + [12.7.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xf86-input-vmmouse) @@ -32,10 +32,10 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -# Require xorg-macros: XORG_DEFAULT_OPTIONS +# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS m4_ifndef([XORG_MACROS_VERSION], - [m4_fatal([must install xorg-macros 1.4 or later before running autoconf/autogen])]) -XORG_MACROS_VERSION(1.4) + [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.8) XORG_DEFAULT_OPTIONS DRIVER_NAME=vmmouse @@ -47,7 +47,6 @@ AM_CONFIG_HEADER([config.h]) AC_DISABLE_STATIC AC_PROG_LIBTOOL AC_PROG_CC -AC_PROG_SED AH_TOP([#include "xorg-server.h"]) @@ -127,6 +126,10 @@ PKG_CHECK_EXISTS([xorg-server >= 1.1.0], [AC_DEFINE([HAVE_XORG_SERVER_1_1_0], 1, [Has version 1.1.0 or greater of the Xserver])]) +PKG_CHECK_EXISTS([xorg-server > 1.4.99], + [AC_DEFINE([HAVE_XORG_SERVER_1_5_0], 1, + [Has version 1.5.0 or greater of the Xserver])]) + PKG_CHECK_EXISTS([xorg-server >= 1.3.99.0 xorg-server <= 1.4.0.90], [AC_DEFINE([CALL_CONVERSION_PROC], 1, [Call conversion_proc from within the driver, as diff --git a/driver/xf86-input-vmmouse/fdi/11-x11-vmmouse.fdi b/driver/xf86-input-vmmouse/fdi/11-x11-vmmouse.fdi index e725f9a21..61511968c 100644 --- a/driver/xf86-input-vmmouse/fdi/11-x11-vmmouse.fdi +++ b/driver/xf86-input-vmmouse/fdi/11-x11-vmmouse.fdi @@ -2,7 +2,7 @@ - + hal-probe-vmmouse diff --git a/driver/xf86-input-vmmouse/man/Makefile.am b/driver/xf86-input-vmmouse/man/Makefile.am index b176b6104..a8e5ac972 100644 --- a/driver/xf86-input-vmmouse/man/Makefile.am +++ b/driver/xf86-input-vmmouse/man/Makefile.am @@ -22,9 +22,7 @@ # drivermandir = $(DRIVER_MAN_DIR) - driverman_PRE = @DRIVER_NAME@.man - driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@) # appmandir = $(APP_MAN_DIR) @@ -32,27 +30,10 @@ driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@) # appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) EXTRA_DIST = @DRIVER_NAME@.man $(appman_PRE) - CLEANFILES = $(driverman_DATA) $(appman_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 +# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure .man.$(DRIVER_MAN_SUFFIX): $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ .man.$(APP_MAN_SUFFIX): diff --git a/driver/xf86-input-vmmouse/man/Makefile.in b/driver/xf86-input-vmmouse/man/Makefile.in index c0b805221..501a5c212 100644 --- a/driver/xf86-input-vmmouse/man/Makefile.in +++ b/driver/xf86-input-vmmouse/man/Makefile.in @@ -147,18 +147,7 @@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ -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' - +MAN_SUBSTS = @MAN_SUBSTS@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ NMEDIT = @NMEDIT@ @@ -239,10 +228,6 @@ driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@) # appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) EXTRA_DIST = @DRIVER_NAME@.man $(appman_PRE) CLEANFILES = $(driverman_DATA) $(appman_DATA) - -# Strings to replace in man pages -XORGRELSTRING = @PACKAGE_STRING@ -XORGMANNAME = X Version 11 SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man all: all-am @@ -428,6 +413,7 @@ uninstall-am: uninstall-drivermanDATA uninstall-info-am uninstall-info-am +# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure .man.$(DRIVER_MAN_SUFFIX): $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ .man.$(APP_MAN_SUFFIX): diff --git a/driver/xf86-input-vmmouse/src/vmmouse.c b/driver/xf86-input-vmmouse/src/vmmouse.c index f5ad23476..ad014ece2 100644 --- a/driver/xf86-input-vmmouse/src/vmmouse.c +++ b/driver/xf86-input-vmmouse/src/vmmouse.c @@ -75,6 +75,11 @@ #include "xisb.h" #include "mipointer.h" +#ifndef HAVE_XORG_SERVER_1_5_0 +#include +#include +#endif + /***************************************************************************** * Local Headers ****************************************************************************/ @@ -105,31 +110,41 @@ /* * Standard four digit version string expected by VMware Tools installer. - * As the driver's version is only {major, minor, patchlevel}, simply append an - * extra zero for the fourth digit. + * As the driver's version is only {major, minor, patchlevel}, + * The fourth digit may describe the commit number relative to the + * last version tag as output from `git describe` */ #ifdef __GNUC__ +#ifdef VMW_SUBPATCH +const char vm_mouse_version[] __attribute__((section(".modinfo"),unused)) = + "version=" VMMOUSE_DRIVER_VERSION_STRING "." VMW_STRING(VMW_SUBPATCH); +#else const char vm_mouse_version[] __attribute__((section(".modinfo"),unused)) = "version=" VMMOUSE_DRIVER_VERSION_STRING ".0"; +#endif /*VMW_SUBPATCH*/ #endif /***************************************************************************** * static function header ****************************************************************************/ +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 +static int VMMousePreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags); +#else static InputInfoPtr VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags); +static void VMMouseCloseProc(InputInfoPtr pInfo); +static Bool VMMouseConvertProc(InputInfoPtr pInfo, int first, int num, int v0, int v1, int v2, + int v3, int v4, int v5, int *x, int *y); +#endif static void VMMouseUnInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags); static void MouseCommonOptions(InputInfoPtr pInfo); static void GetVMMouseMotionEvent(InputInfoPtr pInfo); static void VMMousePostEvent(InputInfoPtr pInfo, int buttons, int dx, int dy, int dz, int dw); static void VMMouseDoPostEvent(InputInfoPtr pInfo, int buttons, int dx, int dy); static Bool VMMouseDeviceControl(DeviceIntPtr device, int mode); -static void VMMouseCloseProc(LocalDevicePtr local); -static int VMMouseControlProc(LocalDevicePtr local, xDeviceCtl * control); +static int VMMouseControlProc(InputInfoPtr pInfo, xDeviceCtl * control); static void VMMouseReadInput(InputInfoPtr pInfo); static int VMMouseSwitchMode(ClientPtr client, DeviceIntPtr dev, int mode); -static Bool VMMouseConvertProc(InputInfoPtr pInfo, int first, int num, int v0, int v1, int v2, - int v3, int v4, int v5, int *x, int *y); static void MouseCtrl(DeviceIntPtr device, PtrCtrl *ctrl); /****************************************************************************** @@ -198,8 +213,11 @@ InputDriverRec VMMOUSE = { NULL, VMMousePreInit, VMMouseUnInit, - NULL, + NULL +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 11 + , 0 +#endif }; static char reverseMap[32] = { 0, 4, 2, 6, 1, 5, 3, 7, @@ -209,6 +227,56 @@ static char reverseMap[32] = { 0, 4, 2, 6, 1, 5, 3, 7, #define reverseBits(map, b) (((b) & ~0x0f) | map[(b) & 0x0f]) +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 +static int +VMMouseInitPassthru(InputDriverPtr drv, InputInfoPtr pInfo, int flags) +{ + InputAttributes *attrs = NULL; + InputOption *input_options = NULL, *tmp, *opts; + pointer options; + DeviceIntPtr dev; + int rc; + + options = xf86OptionListDuplicate(pInfo->options); + options = xf86ReplaceStrOption(options, "Driver", "mouse"); + + while(options) { + tmp = calloc(1, sizeof(InputOption)); + tmp->key = xf86OptionName(options); + tmp->value = xf86OptionValue(options); + tmp->next = input_options; + input_options = tmp; + options = xf86NextOption(options); + } + + rc = NewInputDeviceRequest(input_options, attrs, &dev); + + opts = input_options; + tmp = opts; + while(opts) { + tmp = opts->next; + free(opts->key); + free(opts->value); + free(opts); + opts = tmp; + } + + return rc; +} + +#else /* if ABI_XINPUT_VERSION < 12 */ +static InputInfoPtr +VMMouseInitPassthru(InputDriverPtr drv, IDevPtr dev, int flags) +{ + InputDriverRec *passthruMouse; + passthruMouse = (InputDriverRec *)LoaderSymbol("MOUSE"); + if(passthruMouse != NULL) { + return (passthruMouse->PreInit)(drv, dev, flags); + } else { + return NULL; + } +} +#endif /* *---------------------------------------------------------------------- @@ -229,12 +297,14 @@ static char reverseMap[32] = { 0, 4, 2, 6, 1, 5, 3, 7, *---------------------------------------------------------------------- */ +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 +static int +VMMouseNewPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags); + static InputInfoPtr VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) { InputInfoPtr pInfo; - MouseDevPtr pMse; - VMMousePrivPtr mPriv; #ifndef NO_MOUSE_MODULE { @@ -249,15 +319,6 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) } #endif - mPriv = xcalloc (1, sizeof (VMMousePrivRec)); - - - if (!mPriv) { - return NULL; - } - - mPriv->absoluteRequested = FALSE; - /* * try to enable vmmouse here */ @@ -266,22 +327,12 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) * vmmouse failed * Fall back to normal mouse module */ - InputDriverRec *passthruMouse; xf86Msg(X_ERROR, "VMWARE(0): vmmouse enable failed\n"); - mPriv->vmmouseAvailable = FALSE; - passthruMouse = (InputDriverRec *)LoaderSymbol("MOUSE"); - xfree(mPriv); - if(passthruMouse != NULL){ - return (passthruMouse->PreInit)(drv, dev, flags); - } else { - return NULL; - } - + return VMMouseInitPassthru(drv, dev, flags); } else { /* * vmmouse is available */ - mPriv->vmmouseAvailable = TRUE; xf86Msg(X_INFO, "VMWARE(0): vmmouse is available\n"); /* * Disable the absolute pointing device for now @@ -291,22 +342,14 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) } if (!(pInfo = xf86AllocateInput(drv, 0))) { - xfree(mPriv); return NULL; } - /* Settup the pInfo */ pInfo->name = dev->identifier; - pInfo->type_name = XI_MOUSE; - pInfo->flags = XI86_POINTER_CAPABLE | XI86_SEND_DRAG_EVENTS; - pInfo->device_control = VMMouseDeviceControl; - pInfo->read_input = VMMouseReadInput; #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 pInfo->motion_history_proc = xf86GetMotionEvents; #endif - pInfo->control_proc = VMMouseControlProc; pInfo->close_proc = VMMouseCloseProc; - pInfo->switch_mode = VMMouseSwitchMode; pInfo->conversion_proc = VMMouseConvertProc; pInfo->reverse_conversion_proc = NULL; pInfo->fd = -1; @@ -314,11 +357,62 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) pInfo->private_flags = 0; pInfo->always_core_feedback = 0; pInfo->conf_idev = dev; + pInfo->flags = XI86_POINTER_CAPABLE | XI86_SEND_DRAG_EVENTS; + + /* Collect the options, and process the common options. */ + xf86CollectInputOptions(pInfo, NULL, NULL); + xf86ProcessCommonOptions(pInfo, pInfo->options); + + if (VMMouseNewPreInit(drv, pInfo, flags) == Success) + pInfo->flags |= XI86_CONFIGURED; + + return pInfo; +} + +static int +VMMouseNewPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags) +#else /* if ABI_XINPUT_VERSION >= 12 */ +static int +VMMousePreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags) +#endif +{ + MouseDevPtr pMse = NULL; + VMMousePrivPtr mPriv = NULL; + int rc = Success; + +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 + /* For ABI < 12, we need to return the wrapped driver's pInfo (see + * above). ABI 12, we call NIDR and are done */ + if (!VMMouseClient_Enable()) { + xf86Msg(X_ERROR, "VMWARE(0): vmmouse enable failed\n"); + return VMMouseInitPassthru(drv, pInfo, flags); + } else { + xf86Msg(X_INFO, "VMWARE(0): vmmouse is available\n"); + VMMouseClient_Disable(); + } +#endif + + mPriv = calloc (1, sizeof (VMMousePrivRec)); + + if (!mPriv) { + rc = BadAlloc; + goto error; + } + + mPriv->absoluteRequested = FALSE; + mPriv->vmmouseAvailable = TRUE; + + /* Settup the pInfo */ + pInfo->type_name = XI_MOUSE; + pInfo->device_control = VMMouseDeviceControl; + pInfo->read_input = VMMouseReadInput; + pInfo->control_proc = VMMouseControlProc; + pInfo->switch_mode = VMMouseSwitchMode; /* Allocate the MouseDevRec and initialise it. */ - if (!(pMse = xcalloc(sizeof(MouseDevRec), 1))) { - xfree(mPriv); - return pInfo; + if (!(pMse = calloc(sizeof(MouseDevRec), 1))) { + rc = BadAlloc; + goto error; } pInfo->private = pMse; @@ -328,10 +422,6 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) pMse->mousePriv = mPriv; - /* Collect the options, and process the common options. */ - xf86CollectInputOptions(pInfo, NULL, NULL); - xf86ProcessCommonOptions(pInfo, pInfo->options); - /* Check if the device can be opened. */ pInfo->fd = xf86OpenSerial(pInfo->options); if (pInfo->fd == -1) { @@ -339,11 +429,8 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) xf86Msg(X_WARNING, "%s: cannot open input device\n", pInfo->name); else { xf86Msg(X_ERROR, "%s: cannot open input device\n", pInfo->name); - if (pMse->mousePriv) - xfree(pMse->mousePriv); - xfree(pMse); - pInfo->private = NULL; - return pInfo; + rc = BadValue; + goto error; } } xf86CloseSerial(pInfo->fd); @@ -355,8 +442,16 @@ VMMousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) /* set up the current screen num */ mPriv->screenNum = xf86SetIntOption(pInfo->options, "ScreenNumber", 0); - pInfo->flags |= XI86_CONFIGURED; - return pInfo; + return Success; + +error: + pInfo->private = NULL; + if (mPriv) + free(mPriv); + if (pMse) + free(pMse); + + return rc; } @@ -645,7 +740,7 @@ MouseCommonOptions(InputInfoPtr pInfo) } if (msg) { xf86Msg(X_CONFIG, "%s: ZAxisMapping: %s\n", pInfo->name, msg); - xfree(msg); + free(msg); } else { xf86Msg(X_WARNING, "%s: Invalid ZAxisMapping value: \"%s\"\n", pInfo->name, s); @@ -678,7 +773,7 @@ MouseCommonOptions(InputInfoPtr pInfo) */ static void -VMMouseUnInit(InputDriverPtr drv, LocalDevicePtr local, int flags) +VMMouseUnInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags) { xf86Msg(X_INFO, "VMWARE(0): VMMouseUnInit\n"); } @@ -776,13 +871,21 @@ VMMouseDeviceControl(DeviceIntPtr device, int mode) #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 axes_labels[0], #endif - 0, 65535, 10000, 0, 10000); + 0, 65535, 10000, 0, 10000 +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 + , Absolute +#endif + ); #else xf86InitValuatorAxisStruct(device, 0, #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 axes_labels[0], #endif - 0, -1, 1, 0, 1); + 0, -1, 1, 0, 1 +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 + , Relative +#endif + ); #endif xf86InitValuatorDefaults(device, 0); /* Y valuator */ @@ -791,13 +894,21 @@ VMMouseDeviceControl(DeviceIntPtr device, int mode) #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 axes_labels[1], #endif - 0, 65535, 10000, 0, 10000); + 0, 65535, 10000, 0, 10000 +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 + , Absolute +#endif + ); #else xf86InitValuatorAxisStruct(device, 1, #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 axes_labels[1], #endif - 0, -1, 1, 0, 1); + 0, -1, 1, 0, 1 +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 + , Relative +#endif + ); #endif xf86InitValuatorDefaults(device, 1); #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 @@ -1025,7 +1136,7 @@ GetVMMouseMotionEvent(InputInfoPtr pInfo){ */ static int -VMMouseControlProc(LocalDevicePtr local, xDeviceCtl * control) +VMMouseControlProc(InputInfoPtr pInfo, xDeviceCtl * control) { xf86Msg(X_INFO, "VMWARE(0): VMMouseControlProc\n"); return (Success); @@ -1047,11 +1158,13 @@ VMMouseControlProc(LocalDevicePtr local, xDeviceCtl * control) *---------------------------------------------------------------------- */ +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 static void -VMMouseCloseProc(LocalDevicePtr local) +VMMouseCloseProc(InputInfoPtr pInfo) { xf86Msg(X_INFO, "VMWARE(0): VMMouseCloseProc\n"); } +#endif /* @@ -1092,6 +1205,7 @@ VMMouseSwitchMode(ClientPtr client, DeviceIntPtr dev, int mode) *---------------------------------------------------------------------- */ +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 static Bool VMMouseConvertProc(InputInfoPtr pInfo, int first, int num, int v0, int v1, int v2, int v3, int v4, int v5, int *x, int *y) @@ -1122,6 +1236,7 @@ VMMouseConvertProc(InputInfoPtr pInfo, int first, int num, int v0, int v1, int v } return TRUE; } +#endif #ifdef XFree86LOADER @@ -1201,7 +1316,7 @@ VMMousePlug(pointer module, if (!LoadSubModule(module, name, NULL, NULL, NULL, NULL, errmaj, errmin)) { LoaderErrorMsg(NULL, name, *errmaj, *errmin); } - xfree(name); + free(name); } #endif diff --git a/driver/xf86-input-vmmouse/tools/Makefile.am b/driver/xf86-input-vmmouse/tools/Makefile.am index 77a97311f..23493cd99 100644 --- a/driver/xf86-input-vmmouse/tools/Makefile.am +++ b/driver/xf86-input-vmmouse/tools/Makefile.am @@ -33,8 +33,6 @@ hal-probe-vmmouse: hal-probe-vmmouse.in -e 's|__HAL_BIN_PREFIX__|$(HAL_BIN_DIR)|g' \ < $< > $@ -EXTRA_DIST = hal-probe-vmmouse.in - CLEANFILES = hal-probe-vmmouse if HAS_XORG_CONF_DIR @@ -50,7 +48,7 @@ udevdir=$(UDEV_RULES_DIR) udev_DATA = 69-xorg-vmmouse.rules $(udev_DATA): $(udev_DATA).in - sed -e 's|__BIN_PREFIX__|$(bindir)|g' < $< > $@ + $(AM_V_GEN)$(SED) -e 's|__BIN_PREFIX__|$(bindir)|g' < $< > $@ CLEANFILES += $(udev_DATA) diff --git a/driver/xf86-input-vmmouse/tools/Makefile.in b/driver/xf86-input-vmmouse/tools/Makefile.in index a2b6a9ed0..d042dd585 100644 --- a/driver/xf86-input-vmmouse/tools/Makefile.in +++ b/driver/xf86-input-vmmouse/tools/Makefile.in @@ -250,12 +250,12 @@ AM_CPPFLAGS = -I$(top_srcdir)/shared $(XORG_CFLAGS) @DRIVER_NAME@_detect_LDADD = $(top_builddir)/shared/lib@DRIVER_NAME@.la calloutsdir = $(HAL_CALLOUTS_DIR) callouts_SCRIPTS = hal-probe-vmmouse -EXTRA_DIST = $(udev_DATA).in hal-probe-vmmouse.in CLEANFILES = hal-probe-vmmouse $(am__append_1) @HAS_XORG_CONF_DIR_TRUE@confdir = $(XORG_CONF_DIR) @HAS_XORG_CONF_DIR_TRUE@dist_conf_DATA = 50-vmmouse.conf @HAS_UDEV_RULES_DIR_TRUE@udevdir = $(UDEV_RULES_DIR) @HAS_UDEV_RULES_DIR_TRUE@udev_DATA = 69-xorg-vmmouse.rules +EXTRA_DIST = $(udev_DATA).in hal-probe-vmmouse.in all: all-am .SUFFIXES: @@ -593,7 +593,7 @@ hal-probe-vmmouse: hal-probe-vmmouse.in < $< > $@ @HAS_UDEV_RULES_DIR_TRUE@$(udev_DATA): $(udev_DATA).in -@HAS_UDEV_RULES_DIR_TRUE@ sed -e 's|__BIN_PREFIX__|$(bindir)|g' < $< > $@ +@HAS_UDEV_RULES_DIR_TRUE@ $(AM_V_GEN)$(SED) -e 's|__BIN_PREFIX__|$(bindir)|g' < $< > $@ # 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: