Добавление новый компонентов и их сборка а также регистрация в pkg
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,674 @@
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by GNU Automake configure 1.15.1, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ ./configure
|
||||
|
||||
## --------- ##
|
||||
## Platform. ##
|
||||
## --------- ##
|
||||
|
||||
hostname = calista-dev
|
||||
uname -m = amd64
|
||||
uname -r = 15.0-RELEASE
|
||||
uname -s = FreeBSD
|
||||
uname -v = FreeBSD 15.0-RELEASE releng/15.0-n280995-7aedc8de6446 GENERIC
|
||||
|
||||
/usr/bin/uname -p = amd64
|
||||
/bin/uname -X = unknown
|
||||
|
||||
/bin/arch = unknown
|
||||
/usr/bin/arch -k = unknown
|
||||
/usr/convex/getsysinfo = unknown
|
||||
/usr/bin/hostinfo = unknown
|
||||
/bin/machine = unknown
|
||||
/usr/bin/oslevel = unknown
|
||||
/bin/universe = unknown
|
||||
|
||||
PATH: /sbin
|
||||
PATH: /bin
|
||||
PATH: /usr/sbin
|
||||
PATH: /usr/bin
|
||||
PATH: /usr/local/sbin
|
||||
PATH: /usr/local/bin
|
||||
PATH: /root/bin
|
||||
|
||||
|
||||
## ----------- ##
|
||||
## Core tests. ##
|
||||
## ----------- ##
|
||||
|
||||
configure:2031: checking whether make supports nested variables
|
||||
configure:2048: result: yes
|
||||
configure:2064: checking build system type
|
||||
configure:2078: result: x86_64-unknown-freebsd15.0
|
||||
configure:2098: checking host system type
|
||||
configure:2111: result: x86_64-unknown-freebsd15.0
|
||||
configure:2164: checking for a BSD-compatible install
|
||||
configure:2232: result: /usr/bin/install -c
|
||||
configure:2243: checking whether build environment is sane
|
||||
configure:2298: result: yes
|
||||
configure:2449: checking for a thread-safe mkdir -p
|
||||
configure:2488: result: lib/install-sh -c -d
|
||||
configure:2495: checking for gawk
|
||||
configure:2525: result: no
|
||||
configure:2495: checking for mawk
|
||||
configure:2525: result: no
|
||||
configure:2495: checking for nawk
|
||||
configure:2511: found /usr/bin/nawk
|
||||
configure:2522: result: nawk
|
||||
configure:2533: checking whether make sets $(MAKE)
|
||||
configure:2555: result: yes
|
||||
configure:2713: checking whether ln -s works
|
||||
configure:2717: result: yes
|
||||
configure:2727: checking for perl
|
||||
configure:2745: found /usr/local/bin/perl
|
||||
configure:2757: result: /usr/local/bin/perl
|
||||
configure:2769: /usr/local/bin/perl --version
|
||||
|
||||
This is perl 5, version 42, subversion 0 (v5.42.0) built for amd64-freebsd-thread-multi
|
||||
(with 13 registered patches, see perl -V for more detail)
|
||||
|
||||
Copyright 1987-2025, Larry Wall
|
||||
|
||||
Perl may be copied only under the terms of either the Artistic License or the
|
||||
GNU General Public License, which may be found in the Perl 5 source kit.
|
||||
|
||||
Complete documentation for Perl, including FAQ lists, should be found on
|
||||
this system using "man perl" or "perldoc perl". If you have access to the
|
||||
Internet, point your browser at https://www.perl.org/, the Perl Home Page.
|
||||
|
||||
configure:2772: $? = 0
|
||||
configure:2784: checking for tex
|
||||
configure:2814: result: no
|
||||
configure:2822: --version </dev/null
|
||||
./configure: --version: not found
|
||||
configure:2825: $? = 127
|
||||
configure:2843: checking for yacc
|
||||
configure:2859: found /usr/bin/yacc
|
||||
configure:2870: result: yacc
|
||||
configure:2886: checking for lex
|
||||
configure:2902: found /usr/bin/lex
|
||||
configure:2913: result: lex
|
||||
configure:2934: checking whether autoconf is installed
|
||||
configure:2939: autoconf --version
|
||||
autoconf (GNU Autoconf) 2.72
|
||||
Copyright (C) 2023 Free Software Foundation, Inc.
|
||||
License GPLv3+/Autoconf: GNU GPL version 3 or later
|
||||
<https://gnu.org/licenses/gpl.html>, <https://gnu.org/licenses/exceptions.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
|
||||
Written by David J. MacKenzie and Akim Demaille.
|
||||
configure:2942: $? = 0
|
||||
configure:2950: result: yes
|
||||
configure:2957: checking whether autoconf works
|
||||
configure:2964: cd conftest && autoconf -o /dev/null conftest.ac
|
||||
/usr/local/share/autoconf2.72/autoconf/trailer.m4:4: warning: AC_OUTPUT was never used
|
||||
configure:2967: $? = 0
|
||||
configure:2976: result: yes
|
||||
configure:2983: checking whether autoconf is recent enough
|
||||
configure:2990: cd conftest && autoconf -o /dev/null conftest.ac
|
||||
/usr/local/share/autoconf2.72/autoconf/trailer.m4:4: warning: AC_INIT was never used
|
||||
/usr/local/share/autoconf2.72/autoconf/trailer.m4:4: warning: AC_OUTPUT was never used
|
||||
configure:2993: $? = 0
|
||||
configure:3002: result: yes
|
||||
configure:3009: checking whether ln works
|
||||
configure:3029: result: yes
|
||||
configure:3047: checking for grep that handles long lines and -e
|
||||
configure:3105: result: /usr/bin/grep
|
||||
configure:3110: checking for egrep
|
||||
configure:3172: result: /usr/bin/grep -E
|
||||
configure:3177: checking for fgrep
|
||||
configure:3239: result: /usr/bin/grep -F
|
||||
configure:3282: will now look for a sturdy POSIX shell, for our testsuite
|
||||
configure:3318: checking for sh
|
||||
configure:3336: found /bin/sh
|
||||
configure:3348: result: /bin/sh
|
||||
configure:3318: checking for sh5
|
||||
configure:3351: result: no
|
||||
configure:3318: checking for dash
|
||||
configure:3351: result: no
|
||||
configure:3318: checking for ash
|
||||
configure:3351: result: no
|
||||
configure:3318: checking for bash
|
||||
configure:3351: result: no
|
||||
configure:3318: checking for zsh
|
||||
configure:3351: result: no
|
||||
configure:3318: checking for ksh
|
||||
configure:3351: result: no
|
||||
configure:3318: checking for pdksh
|
||||
configure:3351: result: no
|
||||
configure:3372: checking whether /bin/sh supports $(cmd)
|
||||
configure:3382: result: yes
|
||||
configure:3392: checking whether /bin/sh supports $((expr))
|
||||
configure:3402: result: yes
|
||||
configure:3412: checking whether /bin/sh supports ${#var}
|
||||
configure:3425: result: yes
|
||||
configure:3435: checking whether /bin/sh supports ${var#glob} and ${var%glob}
|
||||
configure:3449: result: yes
|
||||
configure:3459: checking whether /bin/sh preserves exit traps with "set -e"
|
||||
configure:3469: result: yes
|
||||
configure:3479: checking whether /bin/sh can define exit traps in a shell function
|
||||
configure:3489: result: yes
|
||||
configure:3499: checking whether /bin/sh corrupts stderr with "set -x"
|
||||
configure:3513: result: no
|
||||
configure:3521: checking whether /bin/sh can return early from "dot-sourced" files
|
||||
configure:3531: result: yes
|
||||
configure:3543: checking whether /bin/sh supports alias named like shell builtins
|
||||
|
||||
configure:3553: result: yes
|
||||
configure:3563: checking whether /bin/sh supports "test -e"
|
||||
configure:3573: result: yes
|
||||
configure:3591: shell /bin/sh is good enough, stop looking
|
||||
configure:3608: will use /bin/sh as the testsuite shell
|
||||
configure:3632: will now look for generic compilers
|
||||
configure:3695: checking for cc
|
||||
configure:3711: found /usr/bin/cc
|
||||
configure:3722: result: cc
|
||||
configure:3755: checking for C compiler version
|
||||
configure:3764: cc --version >&5
|
||||
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
|
||||
Target: x86_64-unknown-freebsd15.0
|
||||
Thread model: posix
|
||||
InstalledDir: /usr/bin
|
||||
configure:3775: $? = 0
|
||||
configure:3764: cc -v >&5
|
||||
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
|
||||
Target: x86_64-unknown-freebsd15.0
|
||||
Thread model: posix
|
||||
InstalledDir: /usr/bin
|
||||
configure:3775: $? = 0
|
||||
configure:3764: cc -V >&5
|
||||
cc: error: argument to '-V' is missing (expected 1 value)
|
||||
cc: error: no input files
|
||||
configure:3775: $? = 1
|
||||
configure:3764: cc -qversion >&5
|
||||
cc: error: unknown argument '-qversion'; did you mean '--version'?
|
||||
cc: error: no input files
|
||||
configure:3775: $? = 1
|
||||
configure:3795: checking whether the C compiler works
|
||||
configure:3817: cc -w -I/usr/local/include conftest.c >&5
|
||||
configure:3821: $? = 0
|
||||
configure:3871: result: yes
|
||||
configure:3874: checking for C compiler default output file name
|
||||
configure:3876: result: a.out
|
||||
configure:3882: checking for suffix of executables
|
||||
configure:3889: cc -o conftest -w -I/usr/local/include conftest.c >&5
|
||||
configure:3893: $? = 0
|
||||
configure:3917: result:
|
||||
configure:3939: checking whether we are cross compiling
|
||||
configure:3947: cc -o conftest -w -I/usr/local/include conftest.c >&5
|
||||
configure:3951: $? = 0
|
||||
configure:3958: ./conftest
|
||||
configure:3962: $? = 0
|
||||
configure:3980: result: no
|
||||
configure:3985: checking for suffix of object files
|
||||
configure:4007: cc -c -w -I/usr/local/include conftest.c >&5
|
||||
configure:4011: $? = 0
|
||||
configure:4034: result: o
|
||||
configure:4038: checking whether we are using the GNU C compiler
|
||||
configure:4057: cc -c -w -I/usr/local/include conftest.c >&5
|
||||
configure:4057: $? = 0
|
||||
configure:4066: result: yes
|
||||
configure:4075: checking whether cc accepts -g
|
||||
configure:4095: cc -c -g conftest.c >&5
|
||||
configure:4095: $? = 0
|
||||
configure:4136: result: yes
|
||||
configure:4153: checking for cc option to accept ISO C89
|
||||
configure:4216: cc -c -w -I/usr/local/include conftest.c >&5
|
||||
configure:4216: $? = 0
|
||||
configure:4229: result: none needed
|
||||
configure:4254: checking whether cc understands -c and -o together
|
||||
configure:4276: cc -c conftest.c -o conftest2.o
|
||||
configure:4279: $? = 0
|
||||
configure:4276: cc -c conftest.c -o conftest2.o
|
||||
configure:4279: $? = 0
|
||||
configure:4291: result: yes
|
||||
configure:4413: checking for aCC
|
||||
configure:4443: result: no
|
||||
configure:4413: checking for CC
|
||||
configure:4429: found /usr/bin/CC
|
||||
configure:4440: result: CC
|
||||
configure:4467: checking for C++ compiler version
|
||||
configure:4476: CC --version >&5
|
||||
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
|
||||
Target: x86_64-unknown-freebsd15.0
|
||||
Thread model: posix
|
||||
InstalledDir: /usr/bin
|
||||
configure:4487: $? = 0
|
||||
configure:4476: CC -v >&5
|
||||
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
|
||||
Target: x86_64-unknown-freebsd15.0
|
||||
Thread model: posix
|
||||
InstalledDir: /usr/bin
|
||||
configure:4487: $? = 0
|
||||
configure:4476: CC -V >&5
|
||||
c++: error: argument to '-V' is missing (expected 1 value)
|
||||
c++: error: no input files
|
||||
configure:4487: $? = 1
|
||||
configure:4476: CC -qversion >&5
|
||||
c++: error: unknown argument '-qversion'; did you mean '--version'?
|
||||
c++: error: no input files
|
||||
configure:4487: $? = 1
|
||||
configure:4507: checking whether the C++ compiler works
|
||||
configure:4529: CC conftest.cpp >&5
|
||||
configure:4533: $? = 0
|
||||
configure:4583: result: yes
|
||||
configure:4586: checking for C++ compiler default output file name
|
||||
configure:4588: result: a.out
|
||||
configure:4594: checking for suffix of executables
|
||||
configure:4601: CC -o conftest conftest.cpp >&5
|
||||
configure:4605: $? = 0
|
||||
configure:4629: result:
|
||||
configure:4651: checking whether we are cross compiling
|
||||
configure:4659: CC -o conftest conftest.cpp >&5
|
||||
configure:4663: $? = 0
|
||||
configure:4670: ./conftest
|
||||
configure:4674: $? = 0
|
||||
configure:4692: result: no
|
||||
configure:4697: checking for suffix of object files
|
||||
configure:4719: CC -c conftest.cpp >&5
|
||||
configure:4723: $? = 0
|
||||
configure:4746: result: o
|
||||
configure:4750: checking whether we are using the GNU C++ compiler
|
||||
configure:4769: CC -c conftest.cpp >&5
|
||||
configure:4769: $? = 0
|
||||
configure:4778: result: yes
|
||||
configure:4787: checking whether CC accepts -g
|
||||
configure:4807: CC -c -g conftest.cpp >&5
|
||||
configure:4807: $? = 0
|
||||
configure:4848: result: yes
|
||||
configure:4959: checking for xlf95
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for f95
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for fort
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for ifort
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for ifc
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for efc
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for pgfortran
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for pgf95
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for lf95
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for ftn
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for nagfor
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for xlf90
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for f90
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for pgf90
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for pghpf
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for epcf90
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for g95
|
||||
configure:4989: result: no
|
||||
configure:4959: checking for gfortran
|
||||
configure:4989: result: no
|
||||
configure:5012: checking for Fortran compiler version
|
||||
configure:5021: --version >&5
|
||||
eval: --version: not found
|
||||
configure:5032: $? = 127
|
||||
configure:5021: -v >&5
|
||||
eval: -v: not found
|
||||
configure:5032: $? = 127
|
||||
configure:5021: -V >&5
|
||||
eval: -V: not found
|
||||
configure:5032: $? = 127
|
||||
configure:5021: -qversion >&5
|
||||
eval: -qversion: not found
|
||||
configure:5032: $? = 127
|
||||
configure:5047: checking whether the Fortran compiler works
|
||||
configure:5069: conftest.f >&5
|
||||
eval: conftest.f: not found
|
||||
configure:5073: $? = 127
|
||||
configure:5111: result: no
|
||||
configure: failed program was:
|
||||
| program main
|
||||
|
|
||||
| end
|
||||
configure:5117: WARNING: Fortran compiler cannot create executables
|
||||
configure:5361: tests requiring the Fortran compiler will be skipped
|
||||
configure:5441: checking for xlf
|
||||
configure:5471: result: no
|
||||
configure:5441: checking for f77
|
||||
configure:5471: result: no
|
||||
configure:5441: checking for frt
|
||||
configure:5471: result: no
|
||||
configure:5441: checking for pgf77
|
||||
configure:5471: result: no
|
||||
configure:5441: checking for cf77
|
||||
configure:5471: result: no
|
||||
configure:5441: checking for fort77
|
||||
configure:5471: result: no
|
||||
configure:5441: checking for fl32
|
||||
configure:5471: result: no
|
||||
configure:5441: checking for af77
|
||||
configure:5471: result: no
|
||||
configure:5441: checking for g77
|
||||
configure:5471: result: no
|
||||
configure:5441: checking for gfortran
|
||||
configure:5471: result: no
|
||||
configure:5494: checking for Fortran 77 compiler version
|
||||
configure:5503: --version >&5
|
||||
eval: --version: not found
|
||||
configure:5514: $? = 127
|
||||
configure:5503: -v >&5
|
||||
eval: -v: not found
|
||||
configure:5514: $? = 127
|
||||
configure:5503: -V >&5
|
||||
eval: -V: not found
|
||||
configure:5514: $? = 127
|
||||
configure:5503: -qversion >&5
|
||||
eval: -qversion: not found
|
||||
configure:5514: $? = 127
|
||||
configure:5529: checking whether the Fortran 77 compiler works
|
||||
configure:5551: conftest.f >&5
|
||||
eval: conftest.f: not found
|
||||
configure:5555: $? = 127
|
||||
configure:5593: result: no
|
||||
configure: failed program was:
|
||||
| program main
|
||||
|
|
||||
| end
|
||||
configure:5599: WARNING: Fortran 77 compiler cannot create executables
|
||||
configure:5843: tests requiring the Fortran 77 compiler will be skipped
|
||||
configure:5875: will now look for GNU compilers
|
||||
configure:5882: cc is already a GNU C compiler
|
||||
configure:5988: cc --version && cc -v
|
||||
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
|
||||
Target: x86_64-unknown-freebsd15.0
|
||||
Thread model: posix
|
||||
InstalledDir: /usr/bin
|
||||
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
|
||||
Target: x86_64-unknown-freebsd15.0
|
||||
Thread model: posix
|
||||
InstalledDir: /usr/bin
|
||||
configure:5991: $? = 0
|
||||
configure:6006: CC is already a GNU C++ compiler
|
||||
configure:6113: CC --version && CC -v
|
||||
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
|
||||
Target: x86_64-unknown-freebsd15.0
|
||||
Thread model: posix
|
||||
InstalledDir: /usr/bin
|
||||
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
|
||||
Target: x86_64-unknown-freebsd15.0
|
||||
Thread model: posix
|
||||
InstalledDir: /usr/bin
|
||||
configure:6116: $? = 0
|
||||
configure:6185: checking for gfortran
|
||||
configure:6215: result: no
|
||||
configure:6310: checking for g77
|
||||
configure:6340: result: no
|
||||
configure:6310: checking for gfortran
|
||||
configure:6340: result: no
|
||||
configure:6429: checking for gcj
|
||||
configure:6459: result: no
|
||||
configure:6663: checking that generated files are newer than configure
|
||||
configure:6669: result: done
|
||||
configure:6684: creating ./config.status
|
||||
|
||||
## ---------------------- ##
|
||||
## Running config.status. ##
|
||||
## ---------------------- ##
|
||||
|
||||
This file was extended by GNU Automake config.status 1.15.1, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES =
|
||||
CONFIG_HEADERS =
|
||||
CONFIG_LINKS =
|
||||
CONFIG_COMMANDS =
|
||||
$ ./config.status
|
||||
|
||||
on calista-dev
|
||||
|
||||
config.status:824: creating Makefile
|
||||
config.status:824: creating t/wrap/aclocal-1.15
|
||||
config.status:824: creating t/wrap/automake-1.15
|
||||
|
||||
## ---------------- ##
|
||||
## Cache variables. ##
|
||||
## ---------------- ##
|
||||
|
||||
ac_cv_AM_TEST_RUNNER_SHELL=/bin/sh
|
||||
ac_cv_build=x86_64-unknown-freebsd15.0
|
||||
ac_cv_c_compiler_gnu=yes
|
||||
ac_cv_cxx_compiler_gnu=yes
|
||||
ac_cv_env_AM_TEST_RUNNER_SHELL_set=''
|
||||
ac_cv_env_AM_TEST_RUNNER_SHELL_value=''
|
||||
ac_cv_env_CCC_set=''
|
||||
ac_cv_env_CCC_value=''
|
||||
ac_cv_env_CC_set=''
|
||||
ac_cv_env_CC_value=''
|
||||
ac_cv_env_CFLAGS_set=set
|
||||
ac_cv_env_CFLAGS_value='-w -I/usr/local/include'
|
||||
ac_cv_env_CPPFLAGS_set=''
|
||||
ac_cv_env_CPPFLAGS_value=''
|
||||
ac_cv_env_CXXFLAGS_set=''
|
||||
ac_cv_env_CXXFLAGS_value=''
|
||||
ac_cv_env_CXX_set=''
|
||||
ac_cv_env_CXX_value=''
|
||||
ac_cv_env_F77_set=''
|
||||
ac_cv_env_F77_value=''
|
||||
ac_cv_env_FCFLAGS_set=''
|
||||
ac_cv_env_FCFLAGS_value=''
|
||||
ac_cv_env_FC_set=''
|
||||
ac_cv_env_FC_value=''
|
||||
ac_cv_env_FFLAGS_set=''
|
||||
ac_cv_env_FFLAGS_value=''
|
||||
ac_cv_env_GNU_CC_set=''
|
||||
ac_cv_env_GNU_CC_value=''
|
||||
ac_cv_env_GNU_CFLAGS_set=''
|
||||
ac_cv_env_GNU_CFLAGS_value=''
|
||||
ac_cv_env_GNU_CXXFLAGS_set=''
|
||||
ac_cv_env_GNU_CXXFLAGS_value=''
|
||||
ac_cv_env_GNU_CXX_set=''
|
||||
ac_cv_env_GNU_CXX_value=''
|
||||
ac_cv_env_GNU_F77_set=''
|
||||
ac_cv_env_GNU_F77_value=''
|
||||
ac_cv_env_GNU_FCFLAGS_set=''
|
||||
ac_cv_env_GNU_FCFLAGS_value=''
|
||||
ac_cv_env_GNU_FC_set=''
|
||||
ac_cv_env_GNU_FC_value=''
|
||||
ac_cv_env_GNU_FFLAGS_set=''
|
||||
ac_cv_env_GNU_FFLAGS_value=''
|
||||
ac_cv_env_GNU_GCJFLAGS_set=''
|
||||
ac_cv_env_GNU_GCJFLAGS_value=''
|
||||
ac_cv_env_GNU_GCJ_set=''
|
||||
ac_cv_env_GNU_GCJ_value=''
|
||||
ac_cv_env_LDFLAGS_set=''
|
||||
ac_cv_env_LDFLAGS_value=''
|
||||
ac_cv_env_LIBS_set=''
|
||||
ac_cv_env_LIBS_value=''
|
||||
ac_cv_env_build_alias_set=''
|
||||
ac_cv_env_build_alias_value=''
|
||||
ac_cv_env_host_alias_set=''
|
||||
ac_cv_env_host_alias_value=''
|
||||
ac_cv_env_target_alias_set=''
|
||||
ac_cv_env_target_alias_value=''
|
||||
ac_cv_host=x86_64-unknown-freebsd15.0
|
||||
ac_cv_path_EGREP='/usr/bin/grep -E'
|
||||
ac_cv_path_FGREP='/usr/bin/grep -F'
|
||||
ac_cv_path_GREP=/usr/bin/grep
|
||||
ac_cv_path_PERL=/usr/local/bin/perl
|
||||
ac_cv_path_install='/usr/bin/install -c'
|
||||
ac_cv_prog_AWK=nawk
|
||||
ac_cv_prog_LEX=lex
|
||||
ac_cv_prog_YACC=yacc
|
||||
ac_cv_prog_ac_ct_CC=cc
|
||||
ac_cv_prog_ac_ct_CXX=CC
|
||||
ac_cv_prog_cc_c89=''
|
||||
ac_cv_prog_cc_g=yes
|
||||
ac_cv_prog_cxx_g=yes
|
||||
ac_cv_prog_make_make_set=yes
|
||||
am_cv_autoconf_installed=yes
|
||||
am_cv_autoconf_version=yes
|
||||
am_cv_autoconf_works=yes
|
||||
am_cv_make_support_nested_variables=yes
|
||||
am_cv_prog_cc_c_o=yes
|
||||
am_cv_prog_ln=ln
|
||||
|
||||
## ----------------- ##
|
||||
## Output variables. ##
|
||||
## ----------------- ##
|
||||
|
||||
ACLOCAL='"/root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/t/wrap/aclocal-1.15"'
|
||||
AMTAR='$${TAR-tar}'
|
||||
AM_BACKSLASH='\'
|
||||
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
|
||||
AM_DEFAULT_VERBOSITY='0'
|
||||
AM_TEST_RUNNER_SHELL='/bin/sh'
|
||||
AM_V='$(V)'
|
||||
APIVERSION='1.15'
|
||||
AUTOCONF='${SHELL} /root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/lib/missing autoconf'
|
||||
AUTOHEADER='${SHELL} /root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/lib/missing autoheader'
|
||||
AUTOMAKE='"/root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/t/wrap/automake-1.15"'
|
||||
AWK='nawk'
|
||||
CC='cc'
|
||||
CFLAGS='-w -I/usr/local/include'
|
||||
CPPFLAGS=''
|
||||
CXX='CC'
|
||||
CXXFLAGS='-g -O2'
|
||||
CYGPATH_W='echo'
|
||||
DEFS='-DPACKAGE_NAME=\"GNU\ Automake\" -DPACKAGE_TARNAME=\"automake\" -DPACKAGE_VERSION=\"1.15.1\" -DPACKAGE_STRING=\"GNU\ Automake\ 1.15.1\" -DPACKAGE_BUGREPORT=\"bug-automake@gnu.org\" -DPACKAGE_URL=\"http://www.gnu.org/software/automake/\"'
|
||||
ECHO_C=''
|
||||
ECHO_N='-n'
|
||||
ECHO_T=''
|
||||
EGREP='/usr/bin/grep -E'
|
||||
EXEEXT='UNKNOWN'
|
||||
F77='false'
|
||||
FC='false'
|
||||
FCFLAGS=''
|
||||
FFLAGS=''
|
||||
FGREP='/usr/bin/grep -F'
|
||||
GNU_CC='cc'
|
||||
GNU_CFLAGS='-w -I/usr/local/include'
|
||||
GNU_CXX='CC'
|
||||
GNU_CXXFLAGS='-g -O2'
|
||||
GNU_F77='false'
|
||||
GNU_FC='false'
|
||||
GNU_FCFLAGS=''
|
||||
GNU_FFLAGS=''
|
||||
GNU_GCJ='false'
|
||||
GNU_GCJFLAGS=''
|
||||
GREP='/usr/bin/grep'
|
||||
INSTALL_DATA='${INSTALL} -m 644'
|
||||
INSTALL_PROGRAM='${INSTALL}'
|
||||
INSTALL_SCRIPT='${INSTALL}'
|
||||
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
|
||||
LDFLAGS=''
|
||||
LEX='lex'
|
||||
LIBOBJS=''
|
||||
LIBS=''
|
||||
LN='ln'
|
||||
LN_S='ln -s'
|
||||
LTLIBOBJS=''
|
||||
MAKEINFO='${SHELL} /root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/lib/missing makeinfo'
|
||||
MKDIR_P='lib/install-sh -c -d'
|
||||
MODIFICATION_DELAY='2'
|
||||
OBJEXT='UNKNOWN'
|
||||
PACKAGE='automake'
|
||||
PACKAGE_BUGREPORT='bug-automake@gnu.org'
|
||||
PACKAGE_NAME='GNU Automake'
|
||||
PACKAGE_STRING='GNU Automake 1.15.1'
|
||||
PACKAGE_TARNAME='automake'
|
||||
PACKAGE_URL='http://www.gnu.org/software/automake/'
|
||||
PACKAGE_VERSION='1.15.1'
|
||||
PATH_SEPARATOR=':'
|
||||
PERL='/usr/local/bin/perl'
|
||||
RELEASE_YEAR='2017'
|
||||
SET_MAKE=''
|
||||
SHELL='/bin/sh'
|
||||
STRIP=''
|
||||
TEX=''
|
||||
VERSION='1.15.1'
|
||||
YACC='yacc'
|
||||
ac_ct_CC='cc'
|
||||
ac_ct_CXX='CC'
|
||||
ac_ct_F77=''
|
||||
ac_ct_FC=''
|
||||
ac_ct_GNU_CC=''
|
||||
ac_ct_GNU_CXX=''
|
||||
ac_ct_GNU_F77=''
|
||||
ac_ct_GNU_FC=''
|
||||
ac_ct_GNU_GCJ=''
|
||||
am_AUTOCONF='autoconf'
|
||||
am_AUTOHEADER='autoheader'
|
||||
am_AUTOM4TE='autom4te'
|
||||
am_AUTORECONF='autoreconf'
|
||||
am_AUTOUPDATE='autoupdate'
|
||||
am__EXEEXT_FALSE='#'
|
||||
am__EXEEXT_TRUE=''
|
||||
am__isrc=''
|
||||
am__leading_dot='.'
|
||||
am__tar='$${TAR-tar} chof - "$$tardir"'
|
||||
am__untar='$${TAR-tar} xf -'
|
||||
am_candidate_sh=''
|
||||
amdir='${pkgvdatadir}/am'
|
||||
automake_acdir='${datadir}/aclocal-1.15'
|
||||
bindir='${exec_prefix}/bin'
|
||||
build='x86_64-unknown-freebsd15.0'
|
||||
build_alias=''
|
||||
build_cpu='x86_64'
|
||||
build_os='freebsd15.0'
|
||||
build_vendor='unknown'
|
||||
datadir='${datarootdir}'
|
||||
datarootdir='${prefix}/share'
|
||||
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||
dvidir='${docdir}'
|
||||
exec_prefix='${prefix}'
|
||||
host='x86_64-unknown-freebsd15.0'
|
||||
host_alias=''
|
||||
host_cpu='x86_64'
|
||||
host_os='freebsd15.0'
|
||||
host_vendor='unknown'
|
||||
htmldir='${docdir}'
|
||||
includedir='${prefix}/include'
|
||||
infodir='${datarootdir}/info'
|
||||
install_sh='${SHELL} /root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/lib/install-sh'
|
||||
libdir='${exec_prefix}/lib'
|
||||
libexecdir='${exec_prefix}/libexec'
|
||||
localedir='${datarootdir}/locale'
|
||||
localstatedir='${prefix}/var'
|
||||
mandir='${datarootdir}/man'
|
||||
mkdir_p='$(MKDIR_P)'
|
||||
oldincludedir='/usr/include'
|
||||
pdfdir='${docdir}'
|
||||
pkgvdatadir='${datadir}/automake-1.15'
|
||||
prefix='/usr/local'
|
||||
program_transform_name='s,x,x,'
|
||||
psdir='${docdir}'
|
||||
required_autoconf_version='2.65'
|
||||
sbindir='${exec_prefix}/sbin'
|
||||
scriptdir='${pkgvdatadir}'
|
||||
sharedstatedir='${prefix}/com'
|
||||
sysconfdir='${prefix}/etc'
|
||||
system_acdir='${datadir}/aclocal'
|
||||
target_alias=''
|
||||
|
||||
## ----------- ##
|
||||
## confdefs.h. ##
|
||||
## ----------- ##
|
||||
|
||||
/* confdefs.h */
|
||||
#define PACKAGE_NAME "GNU Automake"
|
||||
#define PACKAGE_TARNAME "automake"
|
||||
#define PACKAGE_VERSION "1.15.1"
|
||||
#define PACKAGE_STRING "GNU Automake 1.15.1"
|
||||
#define PACKAGE_BUGREPORT "bug-automake@gnu.org"
|
||||
#define PACKAGE_URL "http://www.gnu.org/software/automake/"
|
||||
|
||||
configure: exit 0
|
||||
Executable
+1039
File diff suppressed because it is too large
Load Diff
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/usr/local/bin/perl -w
|
||||
# t/wrap/aclocal-1.15. Generated from aclocal.in by configure.
|
||||
|
||||
# Copyright (C) 2012-2017 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
BEGIN
|
||||
{
|
||||
use strict;
|
||||
@Aclocal::perl_libdirs = ('/root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/lib');
|
||||
unshift @Aclocal::perl_libdirs, '/root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/lib'
|
||||
if '.' ne '.';
|
||||
unshift @ARGV,
|
||||
'--automake-acdir=/root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/m4',
|
||||
'--system-acdir=/root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/m4/acdir';
|
||||
}
|
||||
require '/root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/bin/aclocal';
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/usr/local/bin/perl -w
|
||||
# t/wrap/automake-1.15. Generated from automake.in by configure.
|
||||
|
||||
# Copyright (C) 2012-2017 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
BEGIN
|
||||
{
|
||||
use strict;
|
||||
@Automake::perl_libdirs = ('/root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/lib');
|
||||
unshift @Automake::perl_libdirs, '/root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/lib'
|
||||
if '.' ne '.';
|
||||
unshift @ARGV, '--libdir=/root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/lib';
|
||||
}
|
||||
require '/root/calista-xserver-1.18.4-building-scripts/automake-1.15.1/bin/automake';
|
||||
@@ -13,7 +13,9 @@ EOF
|
||||
|
||||
pkg -o REPOS_DIR="$REPO_CONF_DIR" -o repositories_conf="$REPO_CONF_NAME" install -y pkgconf pixman libdrm libX11 libglvnd mesa-dri
|
||||
pkg -o REPOS_DIR="$REPO_CONF_DIR" -o repositories_conf="$REPO_CONF_NAME" install -y xtrans libXfont libxkbfile autoconf xorg-macros
|
||||
pkg -o REPOS_DIR="$REPO_CONF_DIR" -o repositories_conf="$REPO_CONF_NAME" install -y font-util
|
||||
pkg -o REPOS_DIR="$REPO_CONF_DIR" -o repositories_conf="$REPO_CONF_NAME" install -y font-util libudev-devd libevdev libmtdev
|
||||
pkg -o REPOS_DIR="$REPO_CONF_DIR" -o repositories_conf="$REPO_CONF_NAME" install -y evdev-proto xkbcomp xkeyboard-config
|
||||
pkg -o REPOS_DIR="$REPO_CONF_DIR" -o repositories_conf="$REPO_CONF_NAME" install -y glx-utils
|
||||
|
||||
cd automake-1.15.1
|
||||
./configure
|
||||
@@ -38,6 +40,8 @@ EOF
|
||||
|
||||
cd xorg-server-1.18.4
|
||||
|
||||
export CFLAGS="-w" #Выключаем варнинги они нам не нужны
|
||||
|
||||
./configure --disable-docs --disable-devel-docs --with-dtrace=no --disable-unit-tests --with-builder-addr=svsp@svsptech.ru \
|
||||
--with-os-name="Calista Operating System amd64 build 9" --with-os-vendor="SVSP Technologies" \
|
||||
--with-builderstring="Assembled using the Calista operating system assembler"
|
||||
@@ -59,4 +63,70 @@ Libs: -L${libdir} -lGL
|
||||
Cflags: -I${includedir}
|
||||
EOF
|
||||
|
||||
#pkg delete -y pkgconf pixman libdrm
|
||||
cp /usr/local/lib/pkgconfig/xorg-server.pc /usr/local/libdata/pkgconfig/xorg-server.pc
|
||||
|
||||
cat > /tmp/xorg-server.ucl << EOF
|
||||
name: xorg-server
|
||||
version: 1.18.4
|
||||
origin: xorg-server
|
||||
comment: X.Org X server for Calista
|
||||
desc: X.Org X server for Calista
|
||||
arch: freebsd:$(uname -m)
|
||||
maintainer: x11@FreeBSD.org
|
||||
www: https://www.x.org
|
||||
prefix: /usr/local
|
||||
EOF
|
||||
|
||||
pkg register -M /tmp/xorg-server.ucl
|
||||
rm -rf /tmp/xorg-server.ucl
|
||||
pkg lock -y xorg-server
|
||||
|
||||
cd ..
|
||||
cd xf86-input-mouse-1.9.2
|
||||
|
||||
./configure
|
||||
|
||||
make
|
||||
make install
|
||||
|
||||
cp /usr/local/lib/pkgconfig/xorg-mouse.pc /usr/local/libdata/pkgconfig/xorg-mouse.pc
|
||||
|
||||
cat > /tmp/xorg-mouse.ucl << EOF
|
||||
name: xorg-mouse
|
||||
version: 1.9.2
|
||||
origin: xorg-mouse
|
||||
comment: Mouse driver for X.Org X server for Calista
|
||||
desc: Mouse driver for X.Org X server for Calista
|
||||
arch: freebsd:$(uname -m)
|
||||
maintainer: x11@FreeBSD.org
|
||||
www: https://www.x.org
|
||||
prefix: /usr/local
|
||||
EOF
|
||||
|
||||
pkg register -M /tmp/xorg-mouse.ucl
|
||||
rm -rf /tmp/xorg-mouse.ucl
|
||||
pkg lock -y xorg-mouse
|
||||
|
||||
cd ..
|
||||
cd xf86-input-keyboard-1.9.0
|
||||
|
||||
make
|
||||
make install
|
||||
|
||||
cp /usr/local/lib/pkgconfig/xorg-keyboard.pc /usr/local/libdata/pkgconfig/xorg-keyboard.pc
|
||||
|
||||
cat > /tmp/xorg-keyboard.ucl << EOF
|
||||
name: xorg-keyboard
|
||||
version: 1.9.0
|
||||
origin: xorg-keyboard
|
||||
comment: Keyboard driver for X.Org X server for Calista
|
||||
desc: Keyboard driver for X.Org X server for Calista
|
||||
arch: freebsd:$(uname -m)
|
||||
maintainer: x11@FreeBSD.org
|
||||
www: https://www.x.org
|
||||
prefix: /usr/local
|
||||
EOF
|
||||
|
||||
pkg register -M /tmp/xorg-keyboard.ucl
|
||||
rm -rf /tmp/xorg-keyboard.ucl
|
||||
pkg lock -y xorg-keyboard
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
xserver_dep_repo: {
|
||||
url: "file:///root/calista-xserver/packages",
|
||||
url: "file:///root/calista-xserver-1.18.4-building-scripts/packages",
|
||||
enabled: yes,
|
||||
priority: 100
|
||||
}
|
||||
|
||||
@@ -0,0 +1,224 @@
|
||||
Code common to all operating systems is covered by these notices:
|
||||
|
||||
Copyright (c) 1992-2003 by The XFree86 Project, Inc.
|
||||
Copyright 1997 by Metro Link, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE COPYRIGHT HOLDER(S) OR AUTHOR(S) 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 holder(s)
|
||||
and author(s) 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 holder(s) and author(s).
|
||||
|
||||
|
||||
Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
|
||||
Copyright 1993 by David Dawes <dawes@xfree86.org>
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that copyright
|
||||
notice and this permission notice appear in supporting documentation, and
|
||||
that the names of Thomas Roell and David Dawes not be used in advertising or
|
||||
publicity pertaining to distribution of the software without specific,
|
||||
written prior permission. Thomas Roell and David Dawes make no
|
||||
representations about the suitability of this software for any purpose. It
|
||||
is provided "as is" without express or implied warranty.
|
||||
|
||||
THOMAS ROELL AND DAVID DAWES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
|
||||
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
|
||||
IN NO EVENT SHALL THOMAS ROELL OR DAVID DAWES BE LIABLE FOR ANY SPECIAL,
|
||||
INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
Code for BSD operating systems is additionally covered by this notice:
|
||||
|
||||
Copyright 1992 by Rich Murphey <Rich@Rice.edu>
|
||||
Copyright 1993 by David Dawes <dawes@xfree86.org>
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the names of Rich Murphey and David Dawes
|
||||
not be used in advertising or publicity pertaining to distribution of
|
||||
the software without specific, written prior permission. Rich Murphey and
|
||||
David Dawes make no representations about the suitability of this
|
||||
software for any purpose. It is provided "as is" without express or
|
||||
implied warranty.
|
||||
|
||||
RICH MURPHEY AND DAVID DAWES DISCLAIM ALL WARRANTIES WITH REGARD TO
|
||||
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS, IN NO EVENT SHALL RICH MURPHEY OR DAVID DAWES BE LIABLE FOR
|
||||
ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
|
||||
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
|
||||
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
|
||||
Code for the GNU Hurd operating system is additionally covered by this notice:
|
||||
|
||||
Copyright 1997,1998 by UCHIYAMA Yasushi
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the name of UCHIYAMA Yasushi not be used in
|
||||
advertising or publicity pertaining to distribution of the software without
|
||||
specific, written prior permission. UCHIYAMA Yasushi makes no representations
|
||||
about the suitability of this software for any purpose. It is provided
|
||||
"as is" without express or implied warranty.
|
||||
|
||||
UCHIYAMA YASUSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
EVENT SHALL UCHIYAMA YASUSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
|
||||
Code for Linux operating systems is additionally covered by these notices:
|
||||
|
||||
Based on the code from lnx_io.c which is
|
||||
Copyright 1992 by Orest Zborowski <obz@Kodak.com>
|
||||
Copyright 1993 by David Dawes <dawes@xfree86.org>
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the names of Orest Zborowski and David Dawes
|
||||
not be used in advertising or publicity pertaining to distribution of
|
||||
the software without specific, written prior permission. Orest Zborowski
|
||||
and David Dawes make no representations about the suitability of this
|
||||
software for any purpose. It is provided "as is" without express or
|
||||
implied warranty.
|
||||
|
||||
OREST ZBOROWSKI AND DAVID DAWES DISCLAIMS ALL WARRANTIES WITH REGARD
|
||||
TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS, IN NO EVENT SHALL OREST ZBOROWSKI OR DAVID DAWES BE LIABLE
|
||||
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
Portions based on kbdrate.c from util-linux 2.9t, which is
|
||||
Copyright 1992 Rickard E. Faith. Distributed under the GPL.
|
||||
This program comes with ABSOLUTELY NO WARRANTY.
|
||||
|
||||
|
||||
|
||||
Code for SCO operating systems is additionally covered by these notices:
|
||||
|
||||
Copyright 2003, 2005 by J. Kean Johnston <jkj@sco.com>
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the name J. Kean Johnston not be used in
|
||||
advertising or publicity pertaining to distribution of the software without
|
||||
specific, written prior permission. J. Kean Johnston makes no
|
||||
representations about the suitability of this software for any purpose.
|
||||
It is provided "as is" without express or implied warranty.
|
||||
|
||||
J. KEAN JOHNSTON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
EVENT SHALL J. KEAN JOHNSTON BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
|
||||
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
Based on lnx_kbd.c which is
|
||||
Copyright 1992 by Orest Zborowski <obz@Kodak.com>
|
||||
Copyright 1993 by David Dawes <dawes@xfree86.org>
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the names of Orest Zborowski and David Dawes
|
||||
not be used in advertising or publicity pertaining to distribution of
|
||||
the software without specific, written prior permission. Orest Zborowski
|
||||
and David Dawes make no representations about the suitability of this
|
||||
software for any purpose. It is provided "as is" without express or
|
||||
implied warranty.
|
||||
|
||||
OREST ZBOROWSKI AND DAVID DAWES DISCLAIMS ALL WARRANTIES WITH REGARD
|
||||
TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS, IN NO EVENT SHALL OREST ZBOROWSKI OR DAVID DAWES BE LIABLE
|
||||
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
|
||||
Code for Solaris operating systems is additionally covered by these notices:
|
||||
|
||||
Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany
|
||||
Copyright 1993 by David Dawes <dawes@XFree86.org>
|
||||
Copyright 1999 by David Holland <davidh@iquest.net)
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that copyright
|
||||
notice and this permission notice appear in supporting documentation, and
|
||||
that the names of Thomas Roell, David Dawes, and David Holland not be used
|
||||
in advertising or publicity pertaining to distribution of the software
|
||||
without specific, written prior permission. Thomas Roell, David Dawes, and
|
||||
David Holland make no representations about the suitability of this software
|
||||
for any purpose. It is provided "as is" without express or implied
|
||||
warranty.
|
||||
|
||||
THOMAS ROELL, DAVID DAWES, AND DAVID HOLLAND DISCLAIM ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS. IN NO EVENT SHALL THOMAS ROELL, DAVID DAWES, OR DAVID HOLLAND
|
||||
BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
||||
OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
Copyright (c) 2004-2009, 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.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,370 @@
|
||||
Installation Instructions
|
||||
*************************
|
||||
|
||||
Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. This file is offered as-is,
|
||||
without warranty of any kind.
|
||||
|
||||
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. Some packages provide this
|
||||
`INSTALL' file but do not implement all of the features documented
|
||||
below. The lack of an optional feature in a given package is not
|
||||
necessarily a bug. More recommendations for GNU packages can be found
|
||||
in *note Makefile Conventions: (standards)Makefile Conventions.
|
||||
|
||||
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, generally using the just-built uninstalled binaries.
|
||||
|
||||
4. Type `make install' to install the programs and any data files and
|
||||
documentation. When installing into a prefix owned by root, it is
|
||||
recommended that the package be configured and built as a regular
|
||||
user, and only the `make install' phase executed with root
|
||||
privileges.
|
||||
|
||||
5. Optionally, type `make installcheck' to repeat any self-tests, but
|
||||
this time using the binaries in their final installed location.
|
||||
This target does not install anything. Running this target as a
|
||||
regular user, particularly if the prior `make install' required
|
||||
root privileges, verifies that the installation completed
|
||||
correctly.
|
||||
|
||||
6. 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.
|
||||
|
||||
7. Often, you can also type `make uninstall' to remove the installed
|
||||
files again. In practice, not all packages have tested that
|
||||
uninstallation works correctly, even though it is required by the
|
||||
GNU Coding Standards.
|
||||
|
||||
8. Some packages, particularly those that use Automake, provide `make
|
||||
distcheck', which can by used by developers to test that all other
|
||||
targets like `make install' and `make uninstall' work correctly.
|
||||
This target is generally not run by end users.
|
||||
|
||||
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 `..'. This
|
||||
is known as a "VPATH" build.
|
||||
|
||||
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', where PREFIX must be an
|
||||
absolute file name.
|
||||
|
||||
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. In general, the
|
||||
default for these options is expressed in terms of `${prefix}', so that
|
||||
specifying just `--prefix' will affect all of the other directory
|
||||
specifications that were not explicitly provided.
|
||||
|
||||
The most portable way to affect installation locations is to pass the
|
||||
correct locations to `configure'; however, many packages provide one or
|
||||
both of the following shortcuts of passing variable assignments to the
|
||||
`make install' command line to change installation locations without
|
||||
having to reconfigure or recompile.
|
||||
|
||||
The first method involves providing an override variable for each
|
||||
affected directory. For example, `make install
|
||||
prefix=/alternate/directory' will choose an alternate location for all
|
||||
directory configuration variables that were expressed in terms of
|
||||
`${prefix}'. Any directories that were specified during `configure',
|
||||
but not in terms of `${prefix}', must each be overridden at install
|
||||
time for the entire installation to be relocated. The approach of
|
||||
makefile variable overrides for each directory variable is required by
|
||||
the GNU Coding Standards, and ideally causes no recompilation.
|
||||
However, some platforms have known limitations with the semantics of
|
||||
shared libraries that end up requiring recompilation when using this
|
||||
method, particularly noticeable in packages that use GNU Libtool.
|
||||
|
||||
The second method involves providing the `DESTDIR' variable. For
|
||||
example, `make install DESTDIR=/alternate/directory' will prepend
|
||||
`/alternate/directory' before all installation names. The approach of
|
||||
`DESTDIR' overrides is not required by the GNU Coding Standards, and
|
||||
does not work on platforms that have drive letters. On the other hand,
|
||||
it does better at avoiding recompilation issues, and works well even
|
||||
when some directory options were not specified in terms of `${prefix}'
|
||||
at `configure' time.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
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'.
|
||||
|
||||
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.
|
||||
|
||||
Some packages offer the ability to configure how verbose the
|
||||
execution of `make' will be. For these packages, running `./configure
|
||||
--enable-silent-rules' sets the default to minimal output, which can be
|
||||
overridden with `make V=1'; while running `./configure
|
||||
--disable-silent-rules' sets the default to verbose, which can be
|
||||
overridden with `make V=0'.
|
||||
|
||||
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 -D_XOPEN_SOURCE=500"
|
||||
|
||||
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
|
||||
|
||||
HP-UX `make' updates targets which have the same time stamps as
|
||||
their prerequisites, which makes it generally unusable when shipped
|
||||
generated files such as `configure' are involved. Use GNU `make'
|
||||
instead.
|
||||
|
||||
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"
|
||||
|
||||
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
|
||||
directory contains several dysfunctional programs; working variants of
|
||||
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
|
||||
in your `PATH', put it _after_ `/usr/bin'.
|
||||
|
||||
On Haiku, software installed for all users goes in `/boot/common',
|
||||
not `/usr/local'. It is recommended to use the following options:
|
||||
|
||||
./configure --prefix=/boot/common
|
||||
|
||||
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.
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
# Copyright 2005 Adam Jackson.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
# license, and/or sell copies of the Software, and to permit persons to whom
|
||||
# the Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
# ADAM JACKSON 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.
|
||||
|
||||
SUBDIRS = src man
|
||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
|
||||
.PHONY: ChangeLog INSTALL
|
||||
|
||||
INSTALL:
|
||||
$(INSTALL_CMD)
|
||||
|
||||
ChangeLog:
|
||||
$(CHANGELOG_CMD)
|
||||
|
||||
dist-hook: ChangeLog INSTALL
|
||||
@@ -0,0 +1,867 @@
|
||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
# Copyright 2005 Adam Jackson.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
# license, and/or sell copies of the Software, and to permit persons to whom
|
||||
# the Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
# ADAM JACKSON 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.
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
|
||||
$(am__configure_deps) $(am__DIST_COMMON)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno config.status.lineno
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
||||
ctags-recursive dvi-recursive html-recursive info-recursive \
|
||||
install-data-recursive install-dvi-recursive \
|
||||
install-exec-recursive install-html-recursive \
|
||||
install-info-recursive install-pdf-recursive \
|
||||
install-ps-recursive install-recursive installcheck-recursive \
|
||||
installdirs-recursive pdf-recursive ps-recursive \
|
||||
tags-recursive uninstall-recursive
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
am__recursive_targets = \
|
||||
$(RECURSIVE_TARGETS) \
|
||||
$(RECURSIVE_CLEAN_TARGETS) \
|
||||
$(am__extra_recursive_targets)
|
||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||
cscope distdir dist dist-all distcheck
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
||||
$(LISP)config.h.in
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
CSCOPE = cscope
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in COPYING \
|
||||
ChangeLog INSTALL README compile config.guess config.sub \
|
||||
depcomp install-sh ltmain.sh missing
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
if test -d "$(distdir)"; then \
|
||||
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -rf "$(distdir)" \
|
||||
|| { sleep 5 && rm -rf "$(distdir)"; }; \
|
||||
else :; fi
|
||||
am__post_remove_distdir = $(am__remove_distdir)
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
|
||||
GZIP_ENV = --best
|
||||
DIST_TARGETS = dist-bzip2 dist-gzip
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
||||
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DRIVER_NAME = @DRIVER_NAME@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MAN_SUBSTS = @MAN_SUBSTS@
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OS_FLAGS = @OS_FLAGS@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRICT_CFLAGS = @STRICT_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
XORG_CFLAGS = @XORG_CFLAGS@
|
||||
XORG_LIBS = @XORG_LIBS@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
inputdir = @inputdir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
SUBDIRS = src man
|
||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
am--refresh: Makefile
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
|
||||
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
$(am__cd) $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
config.h: stamp-h1
|
||||
@test -f $@ || rm -f stamp-h1
|
||||
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool config.lt
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run 'make' without going through this Makefile.
|
||||
# To change the values of 'make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in 'config.status', edit 'config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run 'make');
|
||||
# (2) otherwise, pass the desired values on the 'make' command line.
|
||||
$(am__recursive_targets):
|
||||
@fail=; \
|
||||
if $(am__make_keepgoing); then \
|
||||
failcom='fail=yes'; \
|
||||
else \
|
||||
failcom='exit 1'; \
|
||||
fi; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-recursive
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-recursive
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscope: cscope.files
|
||||
test ! -s cscope.files \
|
||||
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
|
||||
clean-cscope:
|
||||
-rm -f cscope.files
|
||||
cscope.files: clean-cscope cscopelist
|
||||
cscopelist: cscopelist-recursive
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
$(am__make_dryrun) \
|
||||
|| test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
||||
dist-hook
|
||||
-test -n "$(am__skip_mode_fix)" \
|
||||
|| find "$(distdir)" -type d ! -perm -755 \
|
||||
-exec chmod u+rwx,go+rx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r "$(distdir)"
|
||||
dist-gzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
|
||||
$(am__post_remove_distdir)
|
||||
dist-bzip2: distdir
|
||||
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-lzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-xz: distdir
|
||||
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
@echo WARNING: "Support for distribution archives compressed with" \
|
||||
"legacy program 'compress' is deprecated." >&2
|
||||
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
@echo WARNING: "Support for shar distribution archives is" \
|
||||
"deprecated." >&2
|
||||
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist dist-all:
|
||||
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
|
||||
*.tar.bz2*) \
|
||||
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.lz*) \
|
||||
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
|
||||
*.tar.xz*) \
|
||||
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir)
|
||||
chmod u+w $(distdir)
|
||||
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
test -d $(distdir)/_build || exit 0; \
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& am__cwd=`pwd` \
|
||||
&& $(am__cd) $(distdir)/_build/sub \
|
||||
&& ../../configure \
|
||||
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
--srcdir=../.. --prefix="$$dc_install_base" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
|
||||
&& cd "$$am__cwd" \
|
||||
|| exit 1
|
||||
$(am__post_remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||
distuninstallcheck:
|
||||
@test -n '$(distuninstallcheck_dir)' || { \
|
||||
echo 'ERROR: trying to run $@ with an empty' \
|
||||
'$$(distuninstallcheck_dir)' >&2; \
|
||||
exit 1; \
|
||||
}; \
|
||||
$(am__cd) '$(distuninstallcheck_dir)' || { \
|
||||
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
|
||||
exit 1; \
|
||||
}; \
|
||||
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile config.h
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-hdr \
|
||||
distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: $(am__recursive_targets) all install-am install-strip
|
||||
|
||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
||||
am--refresh check check-am clean clean-cscope clean-generic \
|
||||
clean-libtool cscope cscopelist-am ctags ctags-am dist \
|
||||
dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
|
||||
dist-tarZ dist-xz dist-zip distcheck distclean \
|
||||
distclean-generic distclean-hdr distclean-libtool \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-strip \
|
||||
installcheck installcheck-am installdirs installdirs-am \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
.PHONY: ChangeLog INSTALL
|
||||
|
||||
INSTALL:
|
||||
$(INSTALL_CMD)
|
||||
|
||||
ChangeLog:
|
||||
$(CHANGELOG_CMD)
|
||||
|
||||
dist-hook: ChangeLog INSTALL
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,20 @@
|
||||
kbd - Keyboard input driver for the Xorg X server
|
||||
|
||||
Please submit bugs & patches to the Xorg bugzilla:
|
||||
|
||||
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
|
||||
|
||||
All questions regarding this software should be directed at the
|
||||
Xorg mailing list:
|
||||
|
||||
http://lists.freedesktop.org/mailman/listinfo/xorg
|
||||
|
||||
The master development code repository can be found at:
|
||||
|
||||
git://anongit.freedesktop.org/git/xorg/driver/xf86-input-keyboard
|
||||
|
||||
http://cgit.freedesktop.org/xorg/driver/xf86-input-keyboard
|
||||
|
||||
For more information on the git code manager, see:
|
||||
|
||||
http://wiki.x.org/wiki/GitPage
|
||||
Vendored
+12371
File diff suppressed because it is too large
Load Diff
Executable
+347
@@ -0,0 +1,347 @@
|
||||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand '-c -o'.
|
||||
|
||||
scriptversion=2012-10-14.11; # UTC
|
||||
|
||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent tools from complaining about whitespace usage.
|
||||
IFS=" "" $nl"
|
||||
|
||||
file_conv=
|
||||
|
||||
# func_file_conv build_file lazy
|
||||
# Convert a $build file to $host form and store it in $file
|
||||
# Currently only supports Windows hosts. If the determined conversion
|
||||
# type is listed in (the comma separated) LAZY, no conversion will
|
||||
# take place.
|
||||
func_file_conv ()
|
||||
{
|
||||
file=$1
|
||||
case $file in
|
||||
/ | /[!/]*) # absolute file, and not a UNC file
|
||||
if test -z "$file_conv"; then
|
||||
# lazily determine how to convert abs files
|
||||
case `uname -s` in
|
||||
MINGW*)
|
||||
file_conv=mingw
|
||||
;;
|
||||
CYGWIN*)
|
||||
file_conv=cygwin
|
||||
;;
|
||||
*)
|
||||
file_conv=wine
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $file_conv/,$2, in
|
||||
*,$file_conv,*)
|
||||
;;
|
||||
mingw/*)
|
||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||
;;
|
||||
cygwin/*)
|
||||
file=`cygpath -m "$file" || echo "$file"`
|
||||
;;
|
||||
wine/*)
|
||||
file=`winepath -w "$file" || echo "$file"`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# func_cl_dashL linkdir
|
||||
# Make cl look for libraries in LINKDIR
|
||||
func_cl_dashL ()
|
||||
{
|
||||
func_file_conv "$1"
|
||||
if test -z "$lib_path"; then
|
||||
lib_path=$file
|
||||
else
|
||||
lib_path="$lib_path;$file"
|
||||
fi
|
||||
linker_opts="$linker_opts -LIBPATH:$file"
|
||||
}
|
||||
|
||||
# func_cl_dashl library
|
||||
# Do a library search-path lookup for cl
|
||||
func_cl_dashl ()
|
||||
{
|
||||
lib=$1
|
||||
found=no
|
||||
save_IFS=$IFS
|
||||
IFS=';'
|
||||
for dir in $lib_path $LIB
|
||||
do
|
||||
IFS=$save_IFS
|
||||
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.dll.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/$lib.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/lib$lib.a"; then
|
||||
found=yes
|
||||
lib=$dir/lib$lib.a
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS=$save_IFS
|
||||
|
||||
if test "$found" != yes; then
|
||||
lib=$lib.lib
|
||||
fi
|
||||
}
|
||||
|
||||
# func_cl_wrapper cl arg...
|
||||
# Adjust compile command to suit cl
|
||||
func_cl_wrapper ()
|
||||
{
|
||||
# Assume a capable shell
|
||||
lib_path=
|
||||
shared=:
|
||||
linker_opts=
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.[oO][bB][jJ])
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fo"$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fe"$file"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-I)
|
||||
eat=1
|
||||
func_file_conv "$2" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-I*)
|
||||
func_file_conv "${1#-I}" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-l)
|
||||
eat=1
|
||||
func_cl_dashl "$2"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-l*)
|
||||
func_cl_dashl "${1#-l}"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-L)
|
||||
eat=1
|
||||
func_cl_dashL "$2"
|
||||
;;
|
||||
-L*)
|
||||
func_cl_dashL "${1#-L}"
|
||||
;;
|
||||
-static)
|
||||
shared=false
|
||||
;;
|
||||
-Wl,*)
|
||||
arg=${1#-Wl,}
|
||||
save_ifs="$IFS"; IFS=','
|
||||
for flag in $arg; do
|
||||
IFS="$save_ifs"
|
||||
linker_opts="$linker_opts $flag"
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
;;
|
||||
-Xlinker)
|
||||
eat=1
|
||||
linker_opts="$linker_opts $2"
|
||||
;;
|
||||
-*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||
func_file_conv "$1"
|
||||
set x "$@" -Tp"$file"
|
||||
shift
|
||||
;;
|
||||
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||
func_file_conv "$1" mingw
|
||||
set x "$@" "$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
if test -n "$linker_opts"; then
|
||||
linker_opts="-link$linker_opts"
|
||||
fi
|
||||
exec "$@" $linker_opts
|
||||
exit 1
|
||||
}
|
||||
|
||||
eat=
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Wrapper for compilers which do not understand '-c -o'.
|
||||
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||
arguments, and rename the output as expected.
|
||||
|
||||
If you are trying to build a whole package this is not the
|
||||
right script to run: please start by reading the file 'INSTALL'.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "compile $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||
func_cl_wrapper "$@" # Doesn't return...
|
||||
;;
|
||||
esac
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
# So we strip '-o arg' only if arg is an object.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.obj)
|
||||
ofile=$2
|
||||
;;
|
||||
*)
|
||||
set x "$@" -o "$2"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*.c)
|
||||
cfile=$1
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if test -z "$ofile" || test -z "$cfile"; then
|
||||
# If no '-o' option was seen then we might have been invoked from a
|
||||
# pattern rule where we don't need one. That is ok -- this is a
|
||||
# normal compilation that the losing compiler can handle. If no
|
||||
# '.c' file was seen then we are probably linking. That is also
|
||||
# ok.
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
|
||||
# that we are using for the .o file. Also, base the name on the expected
|
||||
# object file name, since that is what matters with a parallel build.
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||
while true; do
|
||||
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
# FIXME: race condition here if user kills between mkdir and trap.
|
||||
trap "rmdir '$lockdir'; exit 1" 1 2 15
|
||||
|
||||
# Run the compile.
|
||||
"$@"
|
||||
ret=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
|
||||
elif test -f "${cofile}bj"; then
|
||||
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir "$lockdir"
|
||||
exit $ret
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
+1421
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,70 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Major version of this package */
|
||||
#undef PACKAGE_VERSION_MAJOR
|
||||
|
||||
/* Minor version of this package */
|
||||
#undef PACKAGE_VERSION_MINOR
|
||||
|
||||
/* Patch version of this package */
|
||||
#undef PACKAGE_VERSION_PATCHLEVEL
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
+1807
File diff suppressed because it is too large
Load Diff
+20758
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,109 @@
|
||||
# Copyright 2005 Adam Jackson.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
# license, and/or sell copies of the Software, and to permit persons to whom
|
||||
# the Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
# ADAM JACKSON 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.
|
||||
#
|
||||
# Process this file with autoconf to produce a configure script
|
||||
|
||||
# Initialize Autoconf
|
||||
AC_PREREQ([2.60])
|
||||
AC_INIT([xf86-input-keyboard],
|
||||
[1.9.0],
|
||||
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
|
||||
[xf86-input-keyboard])
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_AUX_DIR(.)
|
||||
|
||||
# Initialize Automake
|
||||
AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
||||
|
||||
# Initialize libtool
|
||||
AC_DISABLE_STATIC
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
# Initialize 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.8 or later before running autoconf/autogen])])
|
||||
XORG_MACROS_VERSION(1.8)
|
||||
XORG_DEFAULT_OPTIONS
|
||||
|
||||
# Obtain compiler/linker options from server and required extensions
|
||||
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.10] 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],
|
||||
[Default xorg module directory [[default=$libdir/xorg/modules]]]),
|
||||
[moduledir="$withval"],
|
||||
[moduledir="$libdir/xorg/modules"])
|
||||
inputdir=${moduledir}/input
|
||||
AC_SUBST(inputdir)
|
||||
|
||||
# The keyboard driver code is O/S specific
|
||||
case $host_os in
|
||||
linux*)
|
||||
IS_LINUX="yes"
|
||||
;;
|
||||
|
||||
freebsd* | kfreebsd-gnu* | netbsd* | openbsd* | dragonfly*)
|
||||
IS_BSD="yes"
|
||||
;;
|
||||
|
||||
solaris*)
|
||||
IS_SOLARIS="yes"
|
||||
;;
|
||||
|
||||
gnu*)
|
||||
IS_HURD="yes"
|
||||
;;
|
||||
|
||||
*)
|
||||
AC_MSG_ERROR([Your operating system is not supported by the kbd driver.
|
||||
Contact xorg@lists.freedesktop.org if you are interested in
|
||||
porting it.])
|
||||
;;
|
||||
esac
|
||||
case $host_os in
|
||||
netbsd*)
|
||||
case $host in
|
||||
*powerpc-*|*sparc-*|*sparc64-*|*vax-*)
|
||||
OS_FLAGS="$OS_FLAGS -DDEFAULT_TO_WSKBD"
|
||||
;;
|
||||
esac
|
||||
case "$(uname -m 2>&1)" in
|
||||
evbarm|sgimips|shark)
|
||||
OS_FLAGS="$OS_FLAGS -DDEFAULT_TO_WSKBD"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
AC_SUBST([OS_FLAGS])
|
||||
|
||||
AM_CONDITIONAL(LINUX, [test "x$IS_LINUX" = xyes])
|
||||
AM_CONDITIONAL(BSD, [test "x$IS_BSD" = xyes])
|
||||
AM_CONDITIONAL(SOLARIS, [test "x$IS_SOLARIS" = xyes])
|
||||
AM_CONDITIONAL(HURD, [test "x$IS_HURD" = xyes])
|
||||
|
||||
DRIVER_NAME=kbd
|
||||
AC_SUBST([DRIVER_NAME])
|
||||
|
||||
AC_CONFIG_FILES([Makefile
|
||||
src/Makefile
|
||||
man/Makefile])
|
||||
AC_OUTPUT
|
||||
Executable
+791
@@ -0,0 +1,791 @@
|
||||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2013-05-30.07; # UTC
|
||||
|
||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||
as side-effects.
|
||||
|
||||
Environment variables:
|
||||
depmode Dependency tracking mode.
|
||||
source Source file read by 'PROGRAMS ARGS'.
|
||||
object Object file output by 'PROGRAMS ARGS'.
|
||||
DEPDIR directory where to store dependencies.
|
||||
depfile Dependency file to output.
|
||||
tmpdepfile Temporary file to use when outputting dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
# Get the directory component of the given path, and save it in the
|
||||
# global variables '$dir'. Note that this directory component will
|
||||
# be either empty or ending with a '/' character. This is deliberate.
|
||||
set_dir_from ()
|
||||
{
|
||||
case $1 in
|
||||
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
|
||||
*) dir=;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Get the suffix-stripped basename of the given path, and save it the
|
||||
# global variable '$base'.
|
||||
set_base_from ()
|
||||
{
|
||||
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
|
||||
}
|
||||
|
||||
# If no dependency file was actually created by the compiler invocation,
|
||||
# we still have to create a dummy depfile, to avoid errors with the
|
||||
# Makefile "include basename.Plo" scheme.
|
||||
make_dummy_depfile ()
|
||||
{
|
||||
echo "#dummy" > "$depfile"
|
||||
}
|
||||
|
||||
# Factor out some common post-processing of the generated depfile.
|
||||
# Requires the auxiliary global variable '$tmpdepfile' to be set.
|
||||
aix_post_process_depfile ()
|
||||
{
|
||||
# If the compiler actually managed to produce a dependency file,
|
||||
# post-process it.
|
||||
if test -f "$tmpdepfile"; then
|
||||
# Each line is of the form 'foo.o: dependency.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# $object: dependency.h
|
||||
# and one to simply output
|
||||
# dependency.h:
|
||||
# which is needed to avoid the deleted-header problem.
|
||||
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
|
||||
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
|
||||
} > "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
}
|
||||
|
||||
# A tabulation character.
|
||||
tab=' '
|
||||
# A newline character.
|
||||
nl='
|
||||
'
|
||||
# Character ranges might be problematic outside the C locale.
|
||||
# These definitions help.
|
||||
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||||
lower=abcdefghijklmnopqrstuvwxyz
|
||||
digits=0123456789
|
||||
alpha=${upper}${lower}
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||
depfile=${depfile-`echo "$object" |
|
||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Avoid interferences from the environment.
|
||||
gccflag= dashmflag=
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
cygpath_u="cygpath -u -f -"
|
||||
if test "$depmode" = msvcmsys; then
|
||||
# This is just like msvisualcpp but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvisualcpp
|
||||
fi
|
||||
|
||||
if test "$depmode" = msvc7msys; then
|
||||
# This is just like msvc7 but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvc7
|
||||
fi
|
||||
|
||||
if test "$depmode" = xlc; then
|
||||
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
|
||||
gccflag=-qmakedep=gcc,-MF
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||
## the command line argument order; so add the flags where they
|
||||
## appear in depend2.am. Note that the slowdown incurred here
|
||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||
*) set fnord "$@" "$arg" ;;
|
||||
esac
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
done
|
||||
"$@"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
|
||||
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
|
||||
## (see the conditional assignment to $gccflag above).
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say). Also, it might not be
|
||||
## supported by the other compilers which use the 'gcc' depmode.
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The second -e expression handles DOS-style file names with drive
|
||||
# letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the "deleted header file" problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
## Some versions of gcc put a space before the ':'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well. hp depmode also adds that space, but also prefixes the VPATH
|
||||
## to the object. Take care to not repeat it in the output.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like '#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
|
||||
| tr "$nl" ' ' >> "$depfile"
|
||||
echo >> "$depfile"
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> "$depfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
xlc)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts '$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$base.u
|
||||
tmpdepfile3=$dir.libs/$base.u
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$dir$base.u
|
||||
tmpdepfile3=$dir$base.u
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
aix_post_process_depfile
|
||||
;;
|
||||
|
||||
tcc)
|
||||
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
|
||||
# FIXME: That version still under development at the moment of writing.
|
||||
# Make that this statement remains true also for stable, released
|
||||
# versions.
|
||||
# It will wrap lines (doesn't matter whether long or short) with a
|
||||
# trailing '\', as in:
|
||||
#
|
||||
# foo.o : \
|
||||
# foo.c \
|
||||
# foo.h \
|
||||
#
|
||||
# It will put a trailing '\' even on the last line, and will use leading
|
||||
# spaces rather than leading tabs (at least since its commit 0394caf7
|
||||
# "Emit spaces for -MD").
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
|
||||
# We have to change lines of the first kind to '$object: \'.
|
||||
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
|
||||
# And for each line of the second kind, we have to emit a 'dep.h:'
|
||||
# dummy dependency, to avoid the deleted-header problem.
|
||||
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
## The order of this option in the case statement is important, since the
|
||||
## shell code in configure will try each of these formats in the order
|
||||
## listed in this file. A plain '-MD' option would be understood by many
|
||||
## compilers, so we must ensure this comes after the gcc and icc options.
|
||||
pgcc)
|
||||
# Portland's C compiler understands '-MD'.
|
||||
# Will always output deps to 'file.d' where file is the root name of the
|
||||
# source file under compilation, even if file resides in a subdirectory.
|
||||
# The object file name does not affect the name of the '.d' file.
|
||||
# pgcc 10.2 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using '\' :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
set_dir_from "$object"
|
||||
# Use the source, not the object, to determine the base name, since
|
||||
# that's sadly what pgcc will do too.
|
||||
set_base_from "$source"
|
||||
tmpdepfile=$base.d
|
||||
|
||||
# For projects that build the same source file twice into different object
|
||||
# files, the pgcc approach of using the *source* file root name can cause
|
||||
# problems in parallel builds. Use a locking strategy to avoid stomping on
|
||||
# the same $tmpdepfile.
|
||||
lockdir=$base.d-lock
|
||||
trap "
|
||||
echo '$0: caught signal, cleaning up...' >&2
|
||||
rmdir '$lockdir'
|
||||
exit 1
|
||||
" 1 2 13 15
|
||||
numtries=100
|
||||
i=$numtries
|
||||
while test $i -gt 0; do
|
||||
# mkdir is a portable test-and-set.
|
||||
if mkdir "$lockdir" 2>/dev/null; then
|
||||
# This process acquired the lock.
|
||||
"$@" -MD
|
||||
stat=$?
|
||||
# Release the lock.
|
||||
rmdir "$lockdir"
|
||||
break
|
||||
else
|
||||
# If the lock is being held by a different process, wait
|
||||
# until the winning process is done or we timeout.
|
||||
while test -d "$lockdir" && test $i -gt 0; do
|
||||
sleep 1
|
||||
i=`expr $i - 1`
|
||||
done
|
||||
fi
|
||||
i=`expr $i - 1`
|
||||
done
|
||||
trap - 1 2 13 15
|
||||
if test $i -le 0; then
|
||||
echo "$0: failed to acquire lock after $numtries attempts" >&2
|
||||
echo "$0: check lockdir '$lockdir'" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp2)
|
||||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||
# compilers, which have integrated preprocessors. The correct option
|
||||
# to use with these is +Maked; it writes dependencies to a file named
|
||||
# 'foo.d', which lands next to the object file, wherever that
|
||||
# happens to be.
|
||||
# Much of this is similar to the tru64 case; see comments there.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir.libs/$base.d
|
||||
"$@" -Wc,+Maked
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
"$@" +Maked
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add 'dependent.h:' lines.
|
||||
sed -ne '2,${
|
||||
s/^ *//
|
||||
s/ \\*$//
|
||||
s/$/:/
|
||||
p
|
||||
}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in 'foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# Libtool generates 2 separate objects for the 2 libraries. These
|
||||
# two compilations output dependencies in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||
# the former would cause a distcleancheck panic.
|
||||
tmpdepfile1=$dir$base.o.d # libtool 1.5
|
||||
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
|
||||
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
# Same post-processing that is required for AIX mode.
|
||||
aix_post_process_depfile
|
||||
;;
|
||||
|
||||
msvc7)
|
||||
if test "$libtool" = yes; then
|
||||
showIncludes=-Wc,-showIncludes
|
||||
else
|
||||
showIncludes=-showIncludes
|
||||
fi
|
||||
"$@" $showIncludes > "$tmpdepfile"
|
||||
stat=$?
|
||||
grep -v '^Note: including file: ' "$tmpdepfile"
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The first sed program below extracts the file names and escapes
|
||||
# backslashes for cygpath. The second sed program outputs the file
|
||||
# name when reading, but also accumulates all include files in the
|
||||
# hold buffer in order to output them again at the end. This only
|
||||
# works with sed implementations that can handle large buffers.
|
||||
sed < "$tmpdepfile" -n '
|
||||
/^Note: including file: *\(.*\)/ {
|
||||
s//\1/
|
||||
s/\\/\\\\/g
|
||||
p
|
||||
}' | $cygpath_u | sort -u | sed -n '
|
||||
s/ /\\ /g
|
||||
s/\(.*\)/'"$tab"'\1 \\/p
|
||||
s/.\(.*\) \\/\1:/
|
||||
H
|
||||
$ {
|
||||
s/.*/'"$tab"'/
|
||||
G
|
||||
p
|
||||
}' >> "$depfile"
|
||||
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvc7msys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for ':'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this sed invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no eat=no
|
||||
for arg
|
||||
do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
if test $eat = yes; then
|
||||
eat=no
|
||||
continue
|
||||
fi
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-arch)
|
||||
eat=yes ;;
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix=`echo "$object" | sed 's/^.*\././'`
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
# makedepend may prepend the VPATH from the source file name to the object.
|
||||
# No need to regex-escape $object, excess matching of '.' is harmless.
|
||||
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process the last invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed '1,2d' "$tmpdepfile" \
|
||||
| tr ' ' "$nl" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E \
|
||||
| sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
| sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E 2>/dev/null |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
|
||||
echo "$tab" >> "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvcmsys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
Executable
+501
@@ -0,0 +1,501 @@
|
||||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2013-12-25.23; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# 'make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
tab=' '
|
||||
nl='
|
||||
'
|
||||
IFS=" $tab$nl"
|
||||
|
||||
# Set DOITPROG to "echo" to test this script.
|
||||
|
||||
doit=${DOITPROG-}
|
||||
doit_exec=${doit:-exec}
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
|
||||
chgrpprog=${CHGRPPROG-chgrp}
|
||||
chmodprog=${CHMODPROG-chmod}
|
||||
chownprog=${CHOWNPROG-chown}
|
||||
cmpprog=${CMPPROG-cmp}
|
||||
cpprog=${CPPROG-cp}
|
||||
mkdirprog=${MKDIRPROG-mkdir}
|
||||
mvprog=${MVPROG-mv}
|
||||
rmprog=${RMPROG-rm}
|
||||
stripprog=${STRIPPROG-strip}
|
||||
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
chgrpcmd=
|
||||
chmodcmd=$chmodprog
|
||||
chowncmd=
|
||||
mvcmd=$mvprog
|
||||
rmcmd="$rmprog -f"
|
||||
stripcmd=
|
||||
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dst_arg=
|
||||
|
||||
copy_on_change=false
|
||||
is_target_a_directory=possibly
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
-c (ignored)
|
||||
-C install only if different (preserve the last data modification time)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||
RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test $# -ne 0; do
|
||||
case $1 in
|
||||
-c) ;;
|
||||
|
||||
-C) copy_on_change=true;;
|
||||
|
||||
-d) dir_arg=true;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
case $mode in
|
||||
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift;;
|
||||
|
||||
-s) stripcmd=$stripprog;;
|
||||
|
||||
-t)
|
||||
is_target_a_directory=always
|
||||
dst_arg=$2
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-T) is_target_a_directory=never;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# We allow the use of options -d and -T together, by making -d
|
||||
# take the precedence; this is for compatibility with GNU install.
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
if test -n "$dst_arg"; then
|
||||
echo "$0: target directory not allowed when installing a directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dst_arg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dst_arg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dst_arg=$arg
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
if test $# -eq 0; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call 'install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
if test $# -gt 1 || test "$is_target_a_directory" = always; then
|
||||
if test ! -d "$dst_arg"; then
|
||||
echo "$0: $dst_arg: Is not a directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
do_exit='(exit $ret); exit $ret'
|
||||
trap "ret=129; $do_exit" 1
|
||||
trap "ret=130; $do_exit" 2
|
||||
trap "ret=141; $do_exit" 13
|
||||
trap "ret=143; $do_exit" 15
|
||||
|
||||
# Set umask so as not to create temps with too-generous modes.
|
||||
# However, 'strip' requires both read and write access to temps.
|
||||
case $mode in
|
||||
# Optimize common cases.
|
||||
*644) cp_umask=133;;
|
||||
*755) cp_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $src in
|
||||
-* | [=\(\)!]) src=./$src;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
dstdir=$dst
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dst_arg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
dst=$dst_arg
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test "$is_target_a_directory" = never; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstdir_status=0
|
||||
else
|
||||
dstdir=`dirname "$dst"`
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||
umask=`umask`
|
||||
case $stripcmd.$umask in
|
||||
# Optimize common cases.
|
||||
*[2367][2367]) mkdir_umask=$umask;;
|
||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
mkdir_umask=`expr $umask + 22 \
|
||||
- $umask % 100 % 40 + $umask % 20 \
|
||||
- $umask % 10 % 4 + $umask % 2
|
||||
`;;
|
||||
*) mkdir_umask=$umask,go-w;;
|
||||
esac
|
||||
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
|
||||
posix_mkdir=false
|
||||
case $umask in
|
||||
*[123567][0-7][0-7])
|
||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix='/';;
|
||||
[-=\(\)!]*) prefix='./';;
|
||||
*) prefix='';;
|
||||
esac
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
set -f
|
||||
set fnord $dstdir
|
||||
shift
|
||||
set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test X"$d" = X && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask=$mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
|
||||
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
|
||||
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||
|
||||
# If -C, don't bother to copy if it wouldn't change the file.
|
||||
if $copy_on_change &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
set -f &&
|
||||
set X $old && old=:$2:$4:$5:$6 &&
|
||||
set X $new && new=:$2:$4:$5:$6 &&
|
||||
set +f &&
|
||||
test "$old" = "$new" &&
|
||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||
then
|
||||
rm -f "$dsttmp"
|
||||
else
|
||||
# Rename the file to the real destination.
|
||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
{
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
fi || exit 1
|
||||
|
||||
trap '' 0
|
||||
fi
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,43 @@
|
||||
#
|
||||
# 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)
|
||||
|
||||
driverman_PRE = @DRIVER_NAME@.man
|
||||
|
||||
driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@)
|
||||
|
||||
EXTRA_DIST = @DRIVER_NAME@.man
|
||||
|
||||
CLEANFILES = $(driverman_DATA)
|
||||
|
||||
# should allow configure override like xserver's configure.ac does
|
||||
XKBPATH=${datadir}/X11/xkb
|
||||
|
||||
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
|
||||
MAN_SUBSTS += -e 's|__xkb_path__|$(XKBPATH)|g'
|
||||
|
||||
SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
|
||||
|
||||
.man.$(DRIVER_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||
@@ -0,0 +1,552 @@
|
||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = man
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(drivermandir)"
|
||||
DATA = $(driverman_DATA)
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DRIVER_NAME = @DRIVER_NAME@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
|
||||
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
|
||||
MAN_SUBSTS = @MAN_SUBSTS@ -e 's|__xkb_path__|$(XKBPATH)|g'
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OS_FLAGS = @OS_FLAGS@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRICT_CFLAGS = @STRICT_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
XORG_CFLAGS = @XORG_CFLAGS@
|
||||
XORG_LIBS = @XORG_LIBS@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
inputdir = @inputdir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
drivermandir = $(DRIVER_MAN_DIR)
|
||||
driverman_PRE = @DRIVER_NAME@.man
|
||||
driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@)
|
||||
EXTRA_DIST = @DRIVER_NAME@.man
|
||||
CLEANFILES = $(driverman_DATA)
|
||||
|
||||
# should allow configure override like xserver's configure.ac does
|
||||
XKBPATH = ${datadir}/X11/xkb
|
||||
SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .$(DRIVER_MAN_SUFFIX) .man
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign man/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
install-drivermanDATA: $(driverman_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(driverman_DATA)'; test -n "$(drivermandir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(drivermandir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(drivermandir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(drivermandir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(drivermandir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-drivermanDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(driverman_DATA)'; test -n "$(drivermandir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(drivermandir)'; $(am__uninstall_files_from_dir)
|
||||
tags TAGS:
|
||||
|
||||
ctags CTAGS:
|
||||
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(DATA)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(drivermandir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-drivermanDATA
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-drivermanDATA
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
cscopelist-am ctags-am distclean distclean-generic \
|
||||
distclean-libtool distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am \
|
||||
install-drivermanDATA install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
|
||||
uninstall-am uninstall-drivermanDATA
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
.man.$(DRIVER_MAN_SUFFIX):
|
||||
$(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:
|
||||
@@ -0,0 +1,136 @@
|
||||
.\" shorthand for double quote that works everywhere.
|
||||
.ds q \N'34'
|
||||
.TH KBD __drivermansuffix__ __vendorversion__
|
||||
.SH NAME
|
||||
kbd \- Keyboard input driver
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
.B "Section \*qInputDevice\*q"
|
||||
.BI " Identifier \*q" idevname \*q
|
||||
.B " Driver \*qkbd\*q"
|
||||
\ \ ...
|
||||
.B EndSection
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
.B kbd
|
||||
is an __xservername__ input driver for keyboards. The driver supports the standard
|
||||
OS-provided keyboard interface, but these are currently only available to
|
||||
this driver module for Linux, BSD, and Solaris. This driver is the
|
||||
replacement for the built-in
|
||||
.B keyboard
|
||||
driver formerly included in __xservername__.
|
||||
.PP
|
||||
The
|
||||
.B kbd
|
||||
driver functions as a keyboard input device.
|
||||
.SH CONFIGURATION DETAILS
|
||||
.PP
|
||||
Depending on the X server version in use, input device options may be set
|
||||
in either a __xconfigfile__ file, an xorg.conf.d snippet, or in the
|
||||
configuration files read by the Hardware Abstraction Layer (HAL) daemon,
|
||||
hald(1).
|
||||
.PP
|
||||
Please refer to __xconfigfile__(__filemansuffix__) for general configuration
|
||||
details and for options that can be used with all input drivers. This
|
||||
section only covers configuration details specific to this driver.
|
||||
.PP
|
||||
The following driver
|
||||
.B Options
|
||||
are supported:
|
||||
.TP 7
|
||||
.BI "Option \*qDevice\*q \*q" string \*q
|
||||
Specify the keyboard device. Default: the OS's default console keyboard
|
||||
input source. Property: "Device Node" (read-only).
|
||||
.TP 7
|
||||
.BI "Option \*qProtocol\*q \*q" string \*q
|
||||
Specify the keyboard protocol. Valid protocol types include:
|
||||
.PP
|
||||
.RS 12
|
||||
Standard, Xqueue.
|
||||
.RE
|
||||
.PP
|
||||
.RS 7
|
||||
Not all protocols are supported on all platforms. Default: "Standard".
|
||||
.RE
|
||||
.TP 7
|
||||
.BI "Option \*qXLeds\*q \*q" ledlist \*q
|
||||
makes the keyboard LEDs specified in
|
||||
.I ledlist
|
||||
available for client use instead of their traditional function
|
||||
(Scroll Lock, Caps Lock and Num Lock). The numbers in the list are
|
||||
in the range 1 to 3. Default: empty list.
|
||||
.TP 7
|
||||
.BI "Option \*qXkbRules\*q \*q" rules \*q
|
||||
specifies which XKB rules file to use for interpreting the
|
||||
.BR XkbModel ,
|
||||
.BR XkbLayout ,
|
||||
.BR XkbVariant ,
|
||||
and
|
||||
.B XkbOptions
|
||||
settings. Default: "base" for most platforms.
|
||||
If you use the "base" value then you can
|
||||
find listing of all valid values for these four options in the
|
||||
.I
|
||||
__xkb_path__/rules/base.lst
|
||||
file.
|
||||
.TP 7
|
||||
.BI "Option \*qXkbModel\*q \*q" modelname \*q
|
||||
specifies the XKB keyboard model name. Default: "pc105" for most platforms.
|
||||
.TP 7
|
||||
.BI "Option \*qXkbLayout\*q \*q" layoutname \*q
|
||||
specifies the XKB keyboard layout name. This is usually the country or
|
||||
language type of the keyboard. Default: "us" for most platforms.
|
||||
.TP 7
|
||||
.BI "Option \*qXkbVariant\*q \*q" variants \*q
|
||||
specifies the XKB keyboard variant components. These can be used to
|
||||
enhance the keyboard layout details. Default: not set.
|
||||
.TP 7
|
||||
.BI "Option \*qXkbOptions\*q \*q" options \*q
|
||||
specifies the XKB keyboard option components. These can be used to
|
||||
enhance the keyboard behaviour. Default: not set.
|
||||
.PP
|
||||
For a list of available XKB options, see
|
||||
.B xkeyboard-config(__miscmansuffix__).
|
||||
.SH EXAMPLE
|
||||
The following xorg.conf fragment ensures that user will be able to switch between
|
||||
.I us
|
||||
and
|
||||
.I sk
|
||||
layouts by pressing the "menu" key. The scroll lock LED shows which layout
|
||||
is currently active.
|
||||
.PP
|
||||
The
|
||||
.B XkbVariant
|
||||
option defines which variants of the two layouts should be used. In case of the
|
||||
.I us
|
||||
layout
|
||||
its default variant is used. In case of the
|
||||
.I sk
|
||||
layout
|
||||
its
|
||||
.I qwerty
|
||||
variant is used.
|
||||
.PP
|
||||
.nf
|
||||
.RS 4
|
||||
Section \*qInputDevice\*q
|
||||
.RS 4
|
||||
Identifier "Generic Keyboard"
|
||||
Driver "kbd"
|
||||
Option "CoreKeyboard"
|
||||
Option "XkbRules" "base"
|
||||
Option "XkbModel" "pc105"
|
||||
Option "XkbLayout" "us,sk"
|
||||
Option "XkbVariant" ",qwerty"
|
||||
Option "XkbOptions" "grp:menu_toggle,grp_led:scroll"
|
||||
.RE
|
||||
EndSection
|
||||
.RE
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__),
|
||||
Xserver(__appmansuffix__), X(__miscmansuffix__).
|
||||
|
||||
hal(__miscmansuffix__), hald(__adminmansuffix__), fdi(__filemansuffix__).
|
||||
|
||||
xkeyboard-config(__miscmansuffix__).
|
||||
Executable
+215
@@ -0,0 +1,215 @@
|
||||
#! /bin/sh
|
||||
# Common wrapper for a few potentially missing GNU programs.
|
||||
|
||||
scriptversion=2013-10-28.13; # UTC
|
||||
|
||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
||||
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try '$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case $1 in
|
||||
|
||||
--is-lightweight)
|
||||
# Used by our autoconf macros to check whether the available missing
|
||||
# script is modern enough.
|
||||
exit 0
|
||||
;;
|
||||
|
||||
--run)
|
||||
# Back-compat with the calling convention used by older automake.
|
||||
shift
|
||||
;;
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
|
||||
to PROGRAM being missing or too old.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal autoconf autoheader autom4te automake makeinfo
|
||||
bison yacc flex lex help2man
|
||||
|
||||
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
|
||||
'g' are ignored when checking the name.
|
||||
|
||||
Send bug reports to <bug-automake@gnu.org>."
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing $scriptversion (GNU Automake)"
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: unknown '$1' option"
|
||||
echo 1>&2 "Try '$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
# Run the given program, remember its exit status.
|
||||
"$@"; st=$?
|
||||
|
||||
# If it succeeded, we are done.
|
||||
test $st -eq 0 && exit 0
|
||||
|
||||
# Also exit now if we it failed (or wasn't found), and '--version' was
|
||||
# passed; such an option is passed most likely to detect whether the
|
||||
# program is present and works.
|
||||
case $2 in --version|--help) exit $st;; esac
|
||||
|
||||
# Exit code 63 means version mismatch. This often happens when the user
|
||||
# tries to use an ancient version of a tool on a file that requires a
|
||||
# minimum version.
|
||||
if test $st -eq 63; then
|
||||
msg="probably too old"
|
||||
elif test $st -eq 127; then
|
||||
# Program was missing.
|
||||
msg="missing on your system"
|
||||
else
|
||||
# Program was found and executed, but failed. Give up.
|
||||
exit $st
|
||||
fi
|
||||
|
||||
perl_URL=http://www.perl.org/
|
||||
flex_URL=http://flex.sourceforge.net/
|
||||
gnu_software_URL=http://www.gnu.org/software
|
||||
|
||||
program_details ()
|
||||
{
|
||||
case $1 in
|
||||
aclocal|automake)
|
||||
echo "The '$1' program is part of the GNU Automake package:"
|
||||
echo "<$gnu_software_URL/automake>"
|
||||
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
|
||||
echo "<$gnu_software_URL/autoconf>"
|
||||
echo "<$gnu_software_URL/m4/>"
|
||||
echo "<$perl_URL>"
|
||||
;;
|
||||
autoconf|autom4te|autoheader)
|
||||
echo "The '$1' program is part of the GNU Autoconf package:"
|
||||
echo "<$gnu_software_URL/autoconf/>"
|
||||
echo "It also requires GNU m4 and Perl in order to run:"
|
||||
echo "<$gnu_software_URL/m4/>"
|
||||
echo "<$perl_URL>"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
give_advice ()
|
||||
{
|
||||
# Normalize program name to check for.
|
||||
normalized_program=`echo "$1" | sed '
|
||||
s/^gnu-//; t
|
||||
s/^gnu//; t
|
||||
s/^g//; t'`
|
||||
|
||||
printf '%s\n' "'$1' is $msg."
|
||||
|
||||
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
|
||||
case $normalized_program in
|
||||
autoconf*)
|
||||
echo "You should only need it if you modified 'configure.ac',"
|
||||
echo "or m4 files included by it."
|
||||
program_details 'autoconf'
|
||||
;;
|
||||
autoheader*)
|
||||
echo "You should only need it if you modified 'acconfig.h' or"
|
||||
echo "$configure_deps."
|
||||
program_details 'autoheader'
|
||||
;;
|
||||
automake*)
|
||||
echo "You should only need it if you modified 'Makefile.am' or"
|
||||
echo "$configure_deps."
|
||||
program_details 'automake'
|
||||
;;
|
||||
aclocal*)
|
||||
echo "You should only need it if you modified 'acinclude.m4' or"
|
||||
echo "$configure_deps."
|
||||
program_details 'aclocal'
|
||||
;;
|
||||
autom4te*)
|
||||
echo "You might have modified some maintainer files that require"
|
||||
echo "the 'autom4te' program to be rebuilt."
|
||||
program_details 'autom4te'
|
||||
;;
|
||||
bison*|yacc*)
|
||||
echo "You should only need it if you modified a '.y' file."
|
||||
echo "You may want to install the GNU Bison package:"
|
||||
echo "<$gnu_software_URL/bison/>"
|
||||
;;
|
||||
lex*|flex*)
|
||||
echo "You should only need it if you modified a '.l' file."
|
||||
echo "You may want to install the Fast Lexical Analyzer package:"
|
||||
echo "<$flex_URL>"
|
||||
;;
|
||||
help2man*)
|
||||
echo "You should only need it if you modified a dependency" \
|
||||
"of a man page."
|
||||
echo "You may want to install the GNU Help2man package:"
|
||||
echo "<$gnu_software_URL/help2man/>"
|
||||
;;
|
||||
makeinfo*)
|
||||
echo "You should only need it if you modified a '.texi' file, or"
|
||||
echo "any other file indirectly affecting the aspect of the manual."
|
||||
echo "You might want to install the Texinfo package:"
|
||||
echo "<$gnu_software_URL/texinfo/>"
|
||||
echo "The spurious makeinfo call might also be the consequence of"
|
||||
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
|
||||
echo "want to install GNU make:"
|
||||
echo "<$gnu_software_URL/make/>"
|
||||
;;
|
||||
*)
|
||||
echo "You might have modified some files without having the proper"
|
||||
echo "tools for further handling them. Check the 'README' file, it"
|
||||
echo "often tells you about the needed prerequisites for installing"
|
||||
echo "this package. You may also peek at any GNU archive site, in"
|
||||
echo "case some other package contains this missing '$1' program."
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
give_advice "$1" | sed -e '1s/^/WARNING: /' \
|
||||
-e '2,$s/^/ /' >&2
|
||||
|
||||
# Propagate the correct exit status (expected to be 127 for a program
|
||||
# not found, 63 for a program that failed due to version mismatch).
|
||||
exit $st
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
@@ -0,0 +1,50 @@
|
||||
# Copyright 2005 Adam Jackson.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
# license, and/or sell copies of the Software, and to permit persons to whom
|
||||
# the Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
# ADAM JACKSON 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.
|
||||
|
||||
AM_CFLAGS = $(XORG_CFLAGS) $(CWARNFLAGS) $(OS_FLAGS)
|
||||
|
||||
kbd_drv_la_LTLIBRARIES = kbd_drv.la
|
||||
kbd_drv_la_LDFLAGS = -avoid-version -module
|
||||
kbd_drv_la_SOURCES = kbd.c xf86OSKbd.h xf86Keymap.h atKeynames.h
|
||||
kbd_drv_la_LIBADD = $(XORG_LIBS)
|
||||
kbd_drv_ladir = @inputdir@
|
||||
|
||||
BSD_SRCS = bsd_KbdMap.c bsd_kbd.c bsd_kbd.h at_scancode.c
|
||||
HURD_SRCS = hurd_kbd.c at_scancode.c
|
||||
LINUX_SRCS = lnx_KbdMap.c lnx_kbd.c lnx_kbd.h at_scancode.c
|
||||
SOLARIS_SRCS = sun_kbd.c sun_kbd.h sun_kbdMap.c
|
||||
|
||||
if BSD
|
||||
kbd_drv_la_SOURCES += $(BSD_SRCS)
|
||||
endif
|
||||
|
||||
if SOLARIS
|
||||
kbd_drv_la_SOURCES += $(SOLARIS_SRCS)
|
||||
endif
|
||||
|
||||
if LINUX
|
||||
kbd_drv_la_SOURCES += $(LINUX_SRCS)
|
||||
endif
|
||||
|
||||
if HURD
|
||||
kbd_drv_la_SOURCES += $(HURD_SRCS)
|
||||
endif
|
||||
|
||||
EXTRA_DIST = $(BSD_SRCS) $(HURD_SRCS) $(LINUX_SRCS) $(SOLARIS_SRCS)
|
||||
@@ -0,0 +1,722 @@
|
||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
# Copyright 2005 Adam Jackson.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
# license, and/or sell copies of the Software, and to permit persons to whom
|
||||
# the Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
# ADAM JACKSON 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.
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
@BSD_TRUE@am__append_1 = $(BSD_SRCS)
|
||||
@SOLARIS_TRUE@am__append_2 = $(SOLARIS_SRCS)
|
||||
@LINUX_TRUE@am__append_3 = $(LINUX_SRCS)
|
||||
@HURD_TRUE@am__append_4 = $(HURD_SRCS)
|
||||
subdir = src
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(kbd_drv_ladir)"
|
||||
LTLIBRARIES = $(kbd_drv_la_LTLIBRARIES)
|
||||
am__DEPENDENCIES_1 =
|
||||
kbd_drv_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
|
||||
am__kbd_drv_la_SOURCES_DIST = kbd.c xf86OSKbd.h xf86Keymap.h \
|
||||
atKeynames.h bsd_KbdMap.c bsd_kbd.c bsd_kbd.h at_scancode.c \
|
||||
sun_kbd.c sun_kbd.h sun_kbdMap.c lnx_KbdMap.c lnx_kbd.c \
|
||||
lnx_kbd.h hurd_kbd.c
|
||||
am__objects_1 = bsd_KbdMap.lo bsd_kbd.lo at_scancode.lo
|
||||
@BSD_TRUE@am__objects_2 = $(am__objects_1)
|
||||
am__objects_3 = sun_kbd.lo sun_kbdMap.lo
|
||||
@SOLARIS_TRUE@am__objects_4 = $(am__objects_3)
|
||||
am__objects_5 = lnx_KbdMap.lo lnx_kbd.lo at_scancode.lo
|
||||
@LINUX_TRUE@am__objects_6 = $(am__objects_5)
|
||||
am__objects_7 = hurd_kbd.lo at_scancode.lo
|
||||
@HURD_TRUE@am__objects_8 = $(am__objects_7)
|
||||
am_kbd_drv_la_OBJECTS = kbd.lo $(am__objects_2) $(am__objects_4) \
|
||||
$(am__objects_6) $(am__objects_8)
|
||||
kbd_drv_la_OBJECTS = $(am_kbd_drv_la_OBJECTS)
|
||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||
am__v_lt_0 = --silent
|
||||
am__v_lt_1 =
|
||||
kbd_drv_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(kbd_drv_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(kbd_drv_la_SOURCES)
|
||||
DIST_SOURCES = $(am__kbd_drv_la_SOURCES_DIST)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DRIVER_NAME = @DRIVER_NAME@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MAN_SUBSTS = @MAN_SUBSTS@
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OS_FLAGS = @OS_FLAGS@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRICT_CFLAGS = @STRICT_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
XORG_CFLAGS = @XORG_CFLAGS@
|
||||
XORG_LIBS = @XORG_LIBS@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
inputdir = @inputdir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
AM_CFLAGS = $(XORG_CFLAGS) $(CWARNFLAGS) $(OS_FLAGS)
|
||||
kbd_drv_la_LTLIBRARIES = kbd_drv.la
|
||||
kbd_drv_la_LDFLAGS = -avoid-version -module
|
||||
kbd_drv_la_SOURCES = kbd.c xf86OSKbd.h xf86Keymap.h atKeynames.h \
|
||||
$(am__append_1) $(am__append_2) $(am__append_3) \
|
||||
$(am__append_4)
|
||||
kbd_drv_la_LIBADD = $(XORG_LIBS)
|
||||
kbd_drv_ladir = @inputdir@
|
||||
BSD_SRCS = bsd_KbdMap.c bsd_kbd.c bsd_kbd.h at_scancode.c
|
||||
HURD_SRCS = hurd_kbd.c at_scancode.c
|
||||
LINUX_SRCS = lnx_KbdMap.c lnx_kbd.c lnx_kbd.h at_scancode.c
|
||||
SOLARIS_SRCS = sun_kbd.c sun_kbd.h sun_kbdMap.c
|
||||
EXTRA_DIST = $(BSD_SRCS) $(HURD_SRCS) $(LINUX_SRCS) $(SOLARIS_SRCS)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign src/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
install-kbd_drv_laLTLIBRARIES: $(kbd_drv_la_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(kbd_drv_la_LTLIBRARIES)'; test -n "$(kbd_drv_ladir)" || list=; \
|
||||
list2=; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
list2="$$list2 $$p"; \
|
||||
else :; fi; \
|
||||
done; \
|
||||
test -z "$$list2" || { \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(kbd_drv_ladir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(kbd_drv_ladir)" || exit 1; \
|
||||
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(kbd_drv_ladir)'"; \
|
||||
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(kbd_drv_ladir)"; \
|
||||
}
|
||||
|
||||
uninstall-kbd_drv_laLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(kbd_drv_la_LTLIBRARIES)'; test -n "$(kbd_drv_ladir)" || list=; \
|
||||
for p in $$list; do \
|
||||
$(am__strip_dir) \
|
||||
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(kbd_drv_ladir)/$$f'"; \
|
||||
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(kbd_drv_ladir)/$$f"; \
|
||||
done
|
||||
|
||||
clean-kbd_drv_laLTLIBRARIES:
|
||||
-test -z "$(kbd_drv_la_LTLIBRARIES)" || rm -f $(kbd_drv_la_LTLIBRARIES)
|
||||
@list='$(kbd_drv_la_LTLIBRARIES)'; \
|
||||
locs=`for p in $$list; do echo $$p; done | \
|
||||
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
|
||||
sort -u`; \
|
||||
test -z "$$locs" || { \
|
||||
echo rm -f $${locs}; \
|
||||
rm -f $${locs}; \
|
||||
}
|
||||
|
||||
kbd_drv.la: $(kbd_drv_la_OBJECTS) $(kbd_drv_la_DEPENDENCIES) $(EXTRA_kbd_drv_la_DEPENDENCIES)
|
||||
$(AM_V_CCLD)$(kbd_drv_la_LINK) -rpath $(kbd_drv_ladir) $(kbd_drv_la_OBJECTS) $(kbd_drv_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/at_scancode.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_KbdMap.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_kbd.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hurd_kbd.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kbd.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lnx_KbdMap.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lnx_kbd.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sun_kbd.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sun_kbdMap.Plo@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(kbd_drv_ladir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-kbd_drv_laLTLIBRARIES clean-libtool \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-kbd_drv_laLTLIBRARIES
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-kbd_drv_laLTLIBRARIES
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
|
||||
clean-kbd_drv_laLTLIBRARIES clean-libtool cscopelist-am ctags \
|
||||
ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
||||
html-am info info-am install install-am install-data \
|
||||
install-data-am install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-kbd_drv_laLTLIBRARIES install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
|
||||
uninstall-kbd_drv_laLTLIBRARIES
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,297 @@
|
||||
/*
|
||||
* Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of Thomas Roell not be used in
|
||||
* advertising or publicity pertaining to distribution of the software without
|
||||
* specific, written prior permission. Thomas Roell makes no representations
|
||||
* about the suitability of this software for any purpose. It is provided
|
||||
* "as is" without express or implied warranty.
|
||||
*
|
||||
* THOMAS ROELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
* EVENT SHALL THOMAS ROELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 1994-2003 by The XFree86 Project, Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) 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 holder(s)
|
||||
* and author(s) 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 holder(s) and author(s).
|
||||
*/
|
||||
|
||||
#ifndef _ATKEYNAMES_H
|
||||
#define _ATKEYNAMES_H
|
||||
|
||||
#define XK_TECHNICAL
|
||||
#define XK_KATAKANA
|
||||
#include <X11/keysym.h>
|
||||
#include <X11/XF86keysym.h>
|
||||
|
||||
#define GLYPHS_PER_KEY 4
|
||||
#define NUM_KEYCODES 248
|
||||
#define MIN_KEYCODE 8
|
||||
#define MAX_KEYCODE (NUM_KEYCODES + MIN_KEYCODE - 1)
|
||||
|
||||
#define AltMask Mod1Mask
|
||||
#define NumLockMask Mod2Mask
|
||||
#define AltLangMask Mod3Mask
|
||||
#define KanaMask Mod4Mask
|
||||
#define ScrollLockMask Mod5Mask
|
||||
|
||||
#define KeyPressed(k) (keyc->postdown[k >> 3] & (1 << (k & 7)))
|
||||
#define ModifierDown(k) ((keyc->state & (k)) == (k))
|
||||
|
||||
/*
|
||||
* NOTE: The AT/MF keyboards can generate (via the 8042) two (MF: three)
|
||||
* sets of scancodes. Set3 can only be generated by a MF keyboard.
|
||||
* Set2 sends a makecode for keypress, and the same code prefixed by a
|
||||
* F0 for keyrelease. This is a little bit ugly to handle. Thus we use
|
||||
* here for X386 the PC/XT compatible Set1. This set uses 8bit scancodes.
|
||||
* Bit 7 ist set if the key is released. The code E0 switches to a
|
||||
* different meaning to add the new MF cursorkeys, while not breaking old
|
||||
* applications. E1 is another special prefix. Since I assume that there
|
||||
* will be further versions of PC/XT scancode compatible keyboards, we
|
||||
* may be in trouble one day.
|
||||
*
|
||||
* IDEA: 1) Use Set2 on AT84 keyboards and translate it to MF Set3.
|
||||
* 2) Use the keyboards native set and translate it to common keysyms.
|
||||
*/
|
||||
|
||||
/*
|
||||
* definition of the AT84/MF101/MF102 Keyboard:
|
||||
* ============================================================
|
||||
* Defined Key Cap Glyphs Pressed value
|
||||
* Key Name Main Also (hex) (dec)
|
||||
* ---------------- ---------- ------- ------ ------
|
||||
*/
|
||||
|
||||
#define KEY_Escape /* Escape 0x01 */ 1
|
||||
#define KEY_1 /* 1 ! 0x02 */ 2
|
||||
#define KEY_2 /* 2 @ 0x03 */ 3
|
||||
#define KEY_3 /* 3 # 0x04 */ 4
|
||||
#define KEY_4 /* 4 $ 0x05 */ 5
|
||||
#define KEY_5 /* 5 % 0x06 */ 6
|
||||
#define KEY_6 /* 6 ^ 0x07 */ 7
|
||||
#define KEY_7 /* 7 & 0x08 */ 8
|
||||
#define KEY_8 /* 8 * 0x09 */ 9
|
||||
#define KEY_9 /* 9 ( 0x0a */ 10
|
||||
#define KEY_0 /* 0 ) 0x0b */ 11
|
||||
#define KEY_Minus /* - (Minus) _ (Under) 0x0c */ 12
|
||||
#define KEY_Equal /* = (Equal) + 0x0d */ 13
|
||||
#define KEY_BackSpace /* Back Space 0x0e */ 14
|
||||
#define KEY_Tab /* Tab 0x0f */ 15
|
||||
#define KEY_Q /* Q 0x10 */ 16
|
||||
#define KEY_W /* W 0x11 */ 17
|
||||
#define KEY_E /* E 0x12 */ 18
|
||||
#define KEY_R /* R 0x13 */ 19
|
||||
#define KEY_T /* T 0x14 */ 20
|
||||
#define KEY_Y /* Y 0x15 */ 21
|
||||
#define KEY_U /* U 0x16 */ 22
|
||||
#define KEY_I /* I 0x17 */ 23
|
||||
#define KEY_O /* O 0x18 */ 24
|
||||
#define KEY_P /* P 0x19 */ 25
|
||||
#define KEY_LBrace /* [ { 0x1a */ 26
|
||||
#define KEY_RBrace /* ] } 0x1b */ 27
|
||||
#define KEY_Enter /* Enter 0x1c */ 28
|
||||
#define KEY_LCtrl /* Ctrl(left) 0x1d */ 29
|
||||
#define KEY_A /* A 0x1e */ 30
|
||||
#define KEY_S /* S 0x1f */ 31
|
||||
#define KEY_D /* D 0x20 */ 32
|
||||
#define KEY_F /* F 0x21 */ 33
|
||||
#define KEY_G /* G 0x22 */ 34
|
||||
#define KEY_H /* H 0x23 */ 35
|
||||
#define KEY_J /* J 0x24 */ 36
|
||||
#define KEY_K /* K 0x25 */ 37
|
||||
#define KEY_L /* L 0x26 */ 38
|
||||
#define KEY_SemiColon /* ;(SemiColon) :(Colon) 0x27 */ 39
|
||||
#define KEY_Quote /* ' (Apostr) " (Quote) 0x28 */ 40
|
||||
#define KEY_Tilde /* ` (Accent) ~ (Tilde) 0x29 */ 41
|
||||
#define KEY_ShiftL /* Shift(left) 0x2a */ 42
|
||||
#define KEY_BSlash /* \(BckSlash) |(VertBar)0x2b */ 43
|
||||
#define KEY_Z /* Z 0x2c */ 44
|
||||
#define KEY_X /* X 0x2d */ 45
|
||||
#define KEY_C /* C 0x2e */ 46
|
||||
#define KEY_V /* V 0x2f */ 47
|
||||
#define KEY_B /* B 0x30 */ 48
|
||||
#define KEY_N /* N 0x31 */ 49
|
||||
#define KEY_M /* M 0x32 */ 50
|
||||
#define KEY_Comma /* , (Comma) < (Less) 0x33 */ 51
|
||||
#define KEY_Period /* . (Period) >(Greater)0x34 */ 52
|
||||
#define KEY_Slash /* / (Slash) ? 0x35 */ 53
|
||||
#define KEY_ShiftR /* Shift(right) 0x36 */ 54
|
||||
#define KEY_KP_Multiply /* * 0x37 */ 55
|
||||
#define KEY_Alt /* Alt(left) 0x38 */ 56
|
||||
#define KEY_Space /* (SpaceBar) 0x39 */ 57
|
||||
#define KEY_CapsLock /* CapsLock 0x3a */ 58
|
||||
#define KEY_F1 /* F1 0x3b */ 59
|
||||
#define KEY_F2 /* F2 0x3c */ 60
|
||||
#define KEY_F3 /* F3 0x3d */ 61
|
||||
#define KEY_F4 /* F4 0x3e */ 62
|
||||
#define KEY_F5 /* F5 0x3f */ 63
|
||||
#define KEY_F6 /* F6 0x40 */ 64
|
||||
#define KEY_F7 /* F7 0x41 */ 65
|
||||
#define KEY_F8 /* F8 0x42 */ 66
|
||||
#define KEY_F9 /* F9 0x43 */ 67
|
||||
#define KEY_F10 /* F10 0x44 */ 68
|
||||
#define KEY_NumLock /* NumLock 0x45 */ 69
|
||||
#define KEY_ScrollLock /* ScrollLock 0x46 */ 70
|
||||
#define KEY_KP_7 /* 7 Home 0x47 */ 71
|
||||
#define KEY_KP_8 /* 8 Up 0x48 */ 72
|
||||
#define KEY_KP_9 /* 9 PgUp 0x49 */ 73
|
||||
#define KEY_KP_Minus /* - (Minus) 0x4a */ 74
|
||||
#define KEY_KP_4 /* 4 Left 0x4b */ 75
|
||||
#define KEY_KP_5 /* 5 0x4c */ 76
|
||||
#define KEY_KP_6 /* 6 Right 0x4d */ 77
|
||||
#define KEY_KP_Plus /* + (Plus) 0x4e */ 78
|
||||
#define KEY_KP_1 /* 1 End 0x4f */ 79
|
||||
#define KEY_KP_2 /* 2 Down 0x50 */ 80
|
||||
#define KEY_KP_3 /* 3 PgDown 0x51 */ 81
|
||||
#define KEY_KP_0 /* 0 Insert 0x52 */ 82
|
||||
#define KEY_KP_Decimal /* . (Decimal) Delete 0x53 */ 83
|
||||
#define KEY_SysReqest /* SysReqest 0x54 */ 84
|
||||
/* NOTUSED 0x55 */
|
||||
#define KEY_Less /* < (Less) >(Greater) 0x56 */ 86
|
||||
#define KEY_F11 /* F11 0x57 */ 87
|
||||
#define KEY_F12 /* F12 0x58 */ 88
|
||||
|
||||
#define KEY_Prefix0 /* special 0x60 */ 96
|
||||
#define KEY_Prefix1 /* specail 0x61 */ 97
|
||||
|
||||
/*
|
||||
* The 'scancodes' below are generated by the server, because the MF101/102
|
||||
* keyboard sends them as sequence of other scancodes
|
||||
*/
|
||||
#define KEY_Home /* Home 0x59 */ 89
|
||||
#define KEY_Up /* Up 0x5a */ 90
|
||||
#define KEY_PgUp /* PgUp 0x5b */ 91
|
||||
#define KEY_Left /* Left 0x5c */ 92
|
||||
#define KEY_Begin /* Begin 0x5d */ 93
|
||||
#define KEY_Right /* Right 0x5e */ 94
|
||||
#define KEY_End /* End 0x5f */ 95
|
||||
#define KEY_Down /* Down 0x60 */ 96
|
||||
#define KEY_PgDown /* PgDown 0x61 */ 97
|
||||
#define KEY_Insert /* Insert 0x62 */ 98
|
||||
#define KEY_Delete /* Delete 0x63 */ 99
|
||||
#define KEY_KP_Enter /* Enter 0x64 */ 100
|
||||
#define KEY_RCtrl /* Ctrl(right) 0x65 */ 101
|
||||
#define KEY_Pause /* Pause 0x66 */ 102
|
||||
#define KEY_Print /* Print 0x67 */ 103
|
||||
#define KEY_KP_Divide /* Divide 0x68 */ 104
|
||||
#define KEY_AltLang /* AtlLang(right) 0x69 */ 105
|
||||
#define KEY_Break /* Break 0x6a */ 106
|
||||
#define KEY_LMeta /* Left Meta 0x6b */ 107
|
||||
#define KEY_RMeta /* Right Meta 0x6c */ 108
|
||||
#define KEY_Menu /* Menu 0x6d */ 109
|
||||
#define KEY_F13 /* F13 0x6e */ 110
|
||||
#define KEY_F14 /* F14 0x6f */ 111
|
||||
#define KEY_F15 /* F15 0x70 */ 112
|
||||
#define KEY_HKTG /* Hirugana/Katakana tog 0x70 */ 112
|
||||
#define KEY_F16 /* F16 0x71 */ 113
|
||||
#define KEY_F17 /* F17 0x72 */ 114
|
||||
#define KEY_KP_DEC /* KP_DEC 0x73 */ 115
|
||||
#define KEY_BSlash2 /* \ _ 0x73 */ 115
|
||||
#define KEY_KP_Equal /* Equal (Keypad) 0x76 */ 118
|
||||
#define KEY_XFER /* Kanji Transfer 0x79 */ 121
|
||||
#define KEY_NFER /* No Kanji Transfer 0x7b */ 123
|
||||
#define KEY_Yen /* Yen 0x7d */ 125
|
||||
|
||||
#define KEY_Power /* Power Key 0x84 */ 132
|
||||
#define KEY_Mute /* Audio Mute 0x85 */ 133
|
||||
#define KEY_AudioLower /* Audio Lower 0x86 */ 134
|
||||
#define KEY_AudioRaise /* Audio Raise 0x87 */ 135
|
||||
#define KEY_Help /* Help 0x88 */ 136
|
||||
#define KEY_L1 /* Stop 0x89 */ 137
|
||||
#define KEY_L2 /* Again 0x8a */ 138
|
||||
#define KEY_L3 /* Props 0x8b */ 139
|
||||
#define KEY_L4 /* Undo 0x8c */ 140
|
||||
#define KEY_L5 /* Front 0x8d */ 141
|
||||
#define KEY_L6 /* Copy 0x8e */ 142
|
||||
#define KEY_L7 /* Open 0x8f */ 143
|
||||
#define KEY_L8 /* Paste 0x90 */ 144
|
||||
#define KEY_L9 /* Find 0x91 */ 145
|
||||
#define KEY_L10 /* Cut 0x92 */ 146
|
||||
|
||||
/*
|
||||
* Fake 'scancodes' in the following ranges are generated for 2-byte
|
||||
* codes not handled elsewhere. These correspond to most extended keys
|
||||
* on so-called "Internet" keyboards:
|
||||
*
|
||||
* 0x79-0x93
|
||||
* 0x96-0xa1
|
||||
* 0xa3-0xac
|
||||
* 0xb1-0xb4
|
||||
* 0xba-0xbd
|
||||
* 0xc2
|
||||
* 0xcc-0xd2
|
||||
* 0xd6-0xf7
|
||||
*/
|
||||
|
||||
/*
|
||||
* Remapped 'scancodes' are generated for single-byte codes in the range
|
||||
* 0x59-0x5f,0x62-0x76. These are used for some extra keys on some keyboards.
|
||||
*/
|
||||
|
||||
#define KEY_0x59 0x95
|
||||
#define KEY_0x5A 0xA2
|
||||
#define KEY_0x5B 0xAD
|
||||
#define KEY_0x5C KEY_KP_EQUAL
|
||||
#define KEY_0x5D 0xAE
|
||||
#define KEY_0x5E 0xAF
|
||||
#define KEY_0x5F 0xB0
|
||||
#define KEY_0x62 0xB5
|
||||
#define KEY_0x63 0xB6
|
||||
#define KEY_0x64 0xB7
|
||||
#define KEY_0x65 0xB8
|
||||
#define KEY_0x66 0xB9
|
||||
#define KEY_0x67 0xBE
|
||||
#define KEY_0x68 0xBF
|
||||
#define KEY_0x69 0xC0
|
||||
#define KEY_0x6A 0xC1
|
||||
#define KEY_0x6B 0xC3
|
||||
#define KEY_0x6C 0xC4
|
||||
#define KEY_0x6D 0xC5
|
||||
#define KEY_0x6E 0xC6
|
||||
#define KEY_0x6F 0xC7
|
||||
#define KEY_0x70 0xC8
|
||||
#define KEY_0x71 0xC9
|
||||
#define KEY_0x72 0xCA
|
||||
#define KEY_0x73 0xCB
|
||||
#define KEY_0x74 0xD3
|
||||
#define KEY_0x75 0xD4
|
||||
#define KEY_0x76 0xD5
|
||||
#define KEY_R_0xF4 0xF4
|
||||
#define KEY_R_0xF5 0xF5
|
||||
|
||||
/* These are for "notused" and "unknown" entries in translation maps. */
|
||||
#define KEY_NOTUSED 0
|
||||
#define KEY_UNKNOWN 255
|
||||
|
||||
#endif /* _ATKEYNAMES_H */
|
||||
@@ -0,0 +1,135 @@
|
||||
/*
|
||||
* Copyright (c) 2002-2003 by The XFree86 Project, Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) 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 holder(s)
|
||||
* and author(s) 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 holder(s) and author(s).
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include "xf86.h"
|
||||
#include "xf86Xinput.h"
|
||||
#include "xf86OSKbd.h"
|
||||
#include "atKeynames.h"
|
||||
|
||||
Bool
|
||||
ATScancode(InputInfoPtr pInfo, int *scanCode)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
|
||||
switch (pKbd->scanPrefix) {
|
||||
case 0:
|
||||
switch (*scanCode) {
|
||||
case KEY_Prefix0:
|
||||
case KEY_Prefix1:
|
||||
pKbd->scanPrefix = *scanCode; /* special prefixes */
|
||||
return TRUE;
|
||||
}
|
||||
switch (*scanCode) {
|
||||
case 0x59: *scanCode = KEY_0x59; break;
|
||||
case 0x5a: *scanCode = KEY_0x5A; break;
|
||||
case 0x5b: *scanCode = KEY_0x5B; break;
|
||||
case 0x5c: *scanCode = KEY_KP_Equal; break; /* Keypad Equal */
|
||||
case 0x5d: *scanCode = KEY_0x5D; break;
|
||||
case 0x5e: *scanCode = KEY_0x5E; break;
|
||||
case 0x5f: *scanCode = KEY_0x5F; break;
|
||||
case 0x62: *scanCode = KEY_0x62; break;
|
||||
case 0x63: *scanCode = KEY_0x63; break;
|
||||
case 0x64: *scanCode = KEY_0x64; break;
|
||||
case 0x65: *scanCode = KEY_0x65; break;
|
||||
case 0x66: *scanCode = KEY_0x66; break;
|
||||
case 0x67: *scanCode = KEY_0x67; break;
|
||||
case 0x68: *scanCode = KEY_0x68; break;
|
||||
case 0x69: *scanCode = KEY_0x69; break;
|
||||
case 0x6a: *scanCode = KEY_0x6A; break;
|
||||
case 0x6b: *scanCode = KEY_0x6B; break;
|
||||
case 0x6c: *scanCode = KEY_0x6C; break;
|
||||
case 0x6d: *scanCode = KEY_0x6D; break;
|
||||
case 0x6e: *scanCode = KEY_0x6E; break;
|
||||
case 0x6f: *scanCode = KEY_0x6F; break;
|
||||
case 0x70: *scanCode = KEY_0x70; break;
|
||||
case 0x71: *scanCode = KEY_0x71; break;
|
||||
case 0x72: *scanCode = KEY_0x72; break;
|
||||
case 0x73: *scanCode = KEY_0x73; break;
|
||||
case 0x74: *scanCode = KEY_0x74; break;
|
||||
case 0x75: *scanCode = KEY_0x75; break;
|
||||
case 0x76: *scanCode = KEY_0x76; break;
|
||||
}
|
||||
break;
|
||||
case KEY_Prefix0:
|
||||
pKbd->scanPrefix = 0;
|
||||
switch (*scanCode) {
|
||||
case KEY_KP_7: *scanCode = KEY_Home; break; /* curs home */
|
||||
case KEY_KP_8: *scanCode = KEY_Up; break; /* curs up */
|
||||
case KEY_KP_9: *scanCode = KEY_PgUp; break; /* curs pgup */
|
||||
case KEY_KP_4: *scanCode = KEY_Left; break; /* curs left */
|
||||
case KEY_KP_5: *scanCode = KEY_Begin; break; /* curs begin */
|
||||
case KEY_KP_6: *scanCode = KEY_Right; break; /* curs right */
|
||||
case KEY_KP_1: *scanCode = KEY_End; break; /* curs end */
|
||||
case KEY_KP_2: *scanCode = KEY_Down; break; /* curs down */
|
||||
case KEY_KP_3: *scanCode = KEY_PgDown; break; /* curs pgdown */
|
||||
case KEY_KP_0: *scanCode = KEY_Insert; break; /* curs insert */
|
||||
case KEY_KP_Decimal: *scanCode = KEY_Delete; break; /* curs delete */
|
||||
case KEY_Enter: *scanCode = KEY_KP_Enter; break; /* keypad enter */
|
||||
case KEY_LCtrl: *scanCode = KEY_RCtrl; break; /* right ctrl */
|
||||
case KEY_KP_Multiply: *scanCode = KEY_Print; break; /* print */
|
||||
case KEY_Slash: *scanCode = KEY_KP_Divide; break; /* keyp divide */
|
||||
case KEY_Alt: *scanCode = KEY_AltLang; break; /* right alt */
|
||||
case KEY_ScrollLock: *scanCode = KEY_Break; break; /* curs break */
|
||||
case 0x5b: *scanCode = KEY_LMeta; break;
|
||||
case 0x5c: *scanCode = KEY_RMeta; break;
|
||||
case 0x5d: *scanCode = KEY_Menu; break;
|
||||
case KEY_F3: *scanCode = KEY_F13; break;
|
||||
case KEY_F4: *scanCode = KEY_F14; break;
|
||||
case KEY_F5: *scanCode = KEY_F15; break;
|
||||
case KEY_F6: *scanCode = KEY_F16; break;
|
||||
case KEY_F7: *scanCode = KEY_F17; break;
|
||||
case KEY_KP_Plus: *scanCode = KEY_KP_DEC; break;
|
||||
/* Remap codes 0x09 and 0x11 to avoid overlap with the
|
||||
Henkan and Muhenkan keys on Japanese pc106 or pc103
|
||||
keyboards */
|
||||
case 0x01: *scanCode = KEY_R_0xF4; break;
|
||||
case 0x03: *scanCode = KEY_R_0xF5; break;
|
||||
case 0x2A:
|
||||
case 0x36:
|
||||
return TRUE;
|
||||
default:
|
||||
LogMessageVerbSigSafe(X_INFO, 4, "Unreported Prefix0 scancode: 0x%x\n",
|
||||
*scanCode);
|
||||
*scanCode += 0x78;
|
||||
}
|
||||
break;
|
||||
case KEY_Prefix1:
|
||||
pKbd->scanPrefix = (*scanCode == KEY_LCtrl) ? KEY_LCtrl : 0;
|
||||
return TRUE;
|
||||
case KEY_LCtrl:
|
||||
pKbd->scanPrefix = 0;
|
||||
if (*scanCode != KEY_NumLock)
|
||||
return TRUE;
|
||||
*scanCode = KEY_Pause; /* pause */
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,516 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 2002 by The XFree86 Project, Inc.
|
||||
* Author: Ivan Pascal.
|
||||
*
|
||||
* Based on the code from bsd_io.c which is
|
||||
* Copyright 1992 by Rich Murphey <Rich@Rice.edu>
|
||||
* Copyright 1993 by David Dawes <dawes@xfree86.org>
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <X11/X.h>
|
||||
#include <termios.h>
|
||||
|
||||
#include "compiler.h"
|
||||
|
||||
#include "xf86.h"
|
||||
#include "xf86Priv.h"
|
||||
#include "xf86_OSlib.h"
|
||||
|
||||
#include "xf86Xinput.h"
|
||||
#include "xf86OSKbd.h"
|
||||
#include "atKeynames.h"
|
||||
#include "bsd_kbd.h"
|
||||
|
||||
static KbdProtocolRec protocols[] = {
|
||||
{"standard", PROT_STD },
|
||||
#ifdef WSCONS_SUPPORT
|
||||
{"wskbd", PROT_WSCONS },
|
||||
#endif
|
||||
{ NULL, PROT_UNKNOWN_KBD }
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
struct termios kbdtty;
|
||||
} BsdKbdPrivRec, *BsdKbdPrivPtr;
|
||||
|
||||
#ifdef WSCONS_SUPPORT
|
||||
static Bool
|
||||
WSSetVersion(int fd, const char *name)
|
||||
{
|
||||
#ifdef WSKBDIO_SETVERSION
|
||||
int version = WSKBDIO_EVENT_VERSION;
|
||||
if (ioctl(fd, WSKBDIO_SETVERSION, &version) == -1) {
|
||||
xf86Msg(X_WARNING, "%s: cannot set version\n", name);
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
static
|
||||
int KbdInit(InputInfoPtr pInfo, int what)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
BsdKbdPrivPtr priv = (BsdKbdPrivPtr) pKbd->private;
|
||||
|
||||
if (pKbd->isConsole) {
|
||||
switch (pKbd->consType) {
|
||||
#if defined(PCCONS_SUPPORT) || defined(SYSCONS_SUPPORT) || defined (PCVT_SUPPORT) || defined (WSCONS_SUPPORT)
|
||||
case PCCONS:
|
||||
case SYSCONS:
|
||||
case PCVT:
|
||||
#if defined WSCONS_SUPPORT
|
||||
case WSCONS:
|
||||
#endif
|
||||
tcgetattr(pInfo->fd, &(priv->kbdtty));
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return Success;
|
||||
}
|
||||
|
||||
static void
|
||||
SetKbdLeds(InputInfoPtr pInfo, int leds)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
int real_leds = 0;
|
||||
|
||||
#ifdef LED_CAP
|
||||
if (leds & XLED1) real_leds |= LED_CAP;
|
||||
#endif
|
||||
#ifdef LED_NUM
|
||||
if (leds & XLED2) real_leds |= LED_NUM;
|
||||
#endif
|
||||
#ifdef LED_SCR
|
||||
if (leds & XLED3) real_leds |= LED_SCR;
|
||||
if (leds & XLED4) real_leds |= LED_SCR;
|
||||
#endif
|
||||
|
||||
switch (pKbd->consType) {
|
||||
|
||||
#ifdef PCCONS_SUPPORT
|
||||
case PCCONS:
|
||||
break;
|
||||
#endif
|
||||
#if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
|
||||
case SYSCONS:
|
||||
case PCVT:
|
||||
ioctl(pInfo->fd, KDSETLED, real_leds);
|
||||
break;
|
||||
#endif
|
||||
#if defined(WSCONS_SUPPORT)
|
||||
case WSCONS:
|
||||
ioctl(pInfo->fd, WSKBDIO_SETLEDS, &real_leds);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
GetKbdLeds(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
int leds = 0, real_leds = 0;
|
||||
|
||||
switch (pKbd->consType) {
|
||||
|
||||
#ifdef PCCONS_SUPPORT
|
||||
case PCCONS:
|
||||
break;
|
||||
#endif
|
||||
#if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
|
||||
case SYSCONS:
|
||||
case PCVT:
|
||||
ioctl(pInfo->fd, KDGETLED, &real_leds);
|
||||
break;
|
||||
#endif
|
||||
#if defined(WSCONS_SUPPORT)
|
||||
case WSCONS:
|
||||
ioctl(pInfo->fd, WSKBDIO_GETLEDS, &real_leds);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef LED_CAP
|
||||
if (real_leds & LED_CAP) leds |= XLED1;
|
||||
#endif
|
||||
#ifdef LED_NUM
|
||||
if (real_leds & LED_NUM) leds |= XLED2;
|
||||
#endif
|
||||
#ifdef LED_SCR
|
||||
if (real_leds & LED_SCR) leds |= XLED3;
|
||||
#endif
|
||||
|
||||
return(leds);
|
||||
}
|
||||
|
||||
static int
|
||||
KbdOn(InputInfoPtr pInfo, int what)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
#if defined(SYSCONS_SUPPORT) || defined(PCCONS_SUPPORT) || defined(PCVT_SUPPORT) || defined(WSCONS_SUPPORT)
|
||||
BsdKbdPrivPtr priv = (BsdKbdPrivPtr) pKbd->private;
|
||||
struct termios nTty;
|
||||
#endif
|
||||
#ifdef WSCONS_SUPPORT
|
||||
int option;
|
||||
#endif
|
||||
|
||||
if (pKbd->isConsole) {
|
||||
switch (pKbd->consType) {
|
||||
|
||||
#if defined(SYSCONS_SUPPORT) || defined(PCCONS_SUPPORT) || defined(PCVT_SUPPORT) || defined(WSCONS_SUPPORT)
|
||||
case SYSCONS:
|
||||
case PCCONS:
|
||||
case PCVT:
|
||||
#ifdef WSCONS_SUPPORT
|
||||
case WSCONS:
|
||||
#endif
|
||||
nTty = priv->kbdtty;
|
||||
nTty.c_iflag = IGNPAR | IGNBRK;
|
||||
nTty.c_oflag = 0;
|
||||
nTty.c_cflag = CREAD | CS8;
|
||||
nTty.c_lflag = 0;
|
||||
nTty.c_cc[VTIME] = 0;
|
||||
nTty.c_cc[VMIN] = 1;
|
||||
cfsetispeed(&nTty, 9600);
|
||||
cfsetospeed(&nTty, 9600);
|
||||
if (tcsetattr(pInfo->fd, TCSANOW, &nTty) < 0) {
|
||||
xf86Msg(X_ERROR, "KbdOn: tcsetattr: %s\n",
|
||||
strerror(errno));
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
#if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT) || defined (WSCONS_SUPPORT)
|
||||
switch (pKbd->consType) {
|
||||
case SYSCONS:
|
||||
case PCVT:
|
||||
#ifdef K_CODE
|
||||
if (pKbd->CustomKeycodes)
|
||||
ioctl(pInfo->fd, KDSKBMODE, K_CODE);
|
||||
else
|
||||
ioctl(pInfo->fd, KDSKBMODE, K_RAW);
|
||||
#else
|
||||
ioctl(pInfo->fd, KDSKBMODE, K_RAW);
|
||||
#endif
|
||||
break;
|
||||
#ifdef WSCONS_SUPPORT
|
||||
case WSCONS:
|
||||
option = WSKBD_RAW;
|
||||
if (ioctl(pInfo->fd, WSKBDIO_SETMODE, &option) == -1) {
|
||||
FatalError("can't switch keyboard to raw mode. "
|
||||
"Enable support for it in the kernel\n"
|
||||
"or use for example:\n\n"
|
||||
"Option \"Protocol\" \"wskbd\"\n"
|
||||
"Option \"Device\" \"/dev/wskbd0\"\n"
|
||||
"\nin your xorg.conf(5) file\n");
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
switch (pKbd->consType) {
|
||||
#ifdef WSCONS_SUPPORT
|
||||
case WSCONS:
|
||||
if ((pKbd->wsKbdDev[0] != 0) && (pInfo->fd == -1)) {
|
||||
xf86Msg(X_INFO, "opening %s\n", pKbd->wsKbdDev);
|
||||
pInfo->fd = open(pKbd->wsKbdDev, O_RDONLY | O_NONBLOCK | O_EXCL);
|
||||
if (pInfo->fd == -1) {
|
||||
xf86Msg(X_ERROR, "cannot open \"%s\"\n", pKbd->wsKbdDev);
|
||||
return FALSE;
|
||||
}
|
||||
if (WSSetVersion(pInfo->fd, pInfo->name) == FALSE)
|
||||
return FALSE;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return Success;
|
||||
}
|
||||
|
||||
static int
|
||||
KbdOff(InputInfoPtr pInfo, int what)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
BsdKbdPrivPtr priv = (BsdKbdPrivPtr) pKbd->private;
|
||||
#ifdef WSCONS_SUPPORT
|
||||
int option;
|
||||
#endif
|
||||
|
||||
if (pKbd->isConsole) {
|
||||
switch (pKbd->consType) {
|
||||
#if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
|
||||
case SYSCONS:
|
||||
case PCVT:
|
||||
ioctl(pInfo->fd, KDSKBMODE, K_XLATE);
|
||||
/* FALL THROUGH */
|
||||
#endif
|
||||
#if defined(SYSCONS_SUPPORT) || defined(PCCONS_SUPPORT) || defined(PCVT_SUPPORT)
|
||||
case PCCONS:
|
||||
tcsetattr(pInfo->fd, TCSANOW, &(priv->kbdtty));
|
||||
break;
|
||||
#endif
|
||||
#ifdef WSCONS_SUPPORT
|
||||
case WSCONS:
|
||||
option = WSKBD_TRANSLATED;
|
||||
ioctl(xf86Info.consoleFd, WSKBDIO_SETMODE, &option);
|
||||
tcsetattr(pInfo->fd, TCSANOW, &(priv->kbdtty));
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
switch (pKbd->consType) {
|
||||
#ifdef WSCONS_SUPPORT
|
||||
case WSCONS:
|
||||
if ((pKbd->wsKbdDev[0] != 0) && (pInfo->fd != -1)) {
|
||||
xf86Msg(X_INFO, "closing %s\n", pKbd->wsKbdDev);
|
||||
/* need to close the fd while we're gone */
|
||||
close(pInfo->fd);
|
||||
pInfo->fd = -1;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return Success;
|
||||
}
|
||||
|
||||
static void
|
||||
SoundBell(InputInfoPtr pInfo, int loudness, int pitch, int duration)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
#ifdef WSCONS_SUPPORT
|
||||
struct wskbd_bell_data wsb;
|
||||
#endif
|
||||
|
||||
if (loudness && pitch) {
|
||||
switch (pKbd->consType) {
|
||||
#ifdef PCCONS_SUPPORT
|
||||
case PCCONS:
|
||||
{ int data[2];
|
||||
data[0] = pitch;
|
||||
data[1] = (duration * loudness) / 50;
|
||||
ioctl(pInfo->fd, CONSOLE_X_BELL, data);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
#if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
|
||||
case SYSCONS:
|
||||
case PCVT:
|
||||
ioctl(pInfo->fd, KDMKTONE,
|
||||
((1193190 / pitch) & 0xffff) |
|
||||
(((unsigned long)duration*loudness/50)<<16));
|
||||
break;
|
||||
#endif
|
||||
#if defined (WSCONS_SUPPORT)
|
||||
case WSCONS:
|
||||
wsb.which = WSKBD_BELL_DOALL;
|
||||
wsb.pitch = pitch;
|
||||
wsb.period = duration;
|
||||
wsb.volume = loudness;
|
||||
ioctl(pInfo->fd, WSKBDIO_COMPLEXBELL, &wsb);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
stdReadInput(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
unsigned char rBuf[64];
|
||||
int nBytes, i;
|
||||
if ((nBytes = read( pInfo->fd, (char *)rBuf, sizeof(rBuf))) > 0) {
|
||||
for (i = 0; i < nBytes; i++)
|
||||
pKbd->PostEvent(pInfo, rBuf[i] & 0x7f,
|
||||
rBuf[i] & 0x80 ? FALSE : TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef WSCONS_SUPPORT
|
||||
|
||||
static void
|
||||
WSReadInput(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
struct wscons_event events[64];
|
||||
int type;
|
||||
int blocked, n, i;
|
||||
|
||||
if ((n = read( pInfo->fd, events, sizeof(events))) > 0) {
|
||||
n /= sizeof(struct wscons_event);
|
||||
for (i = 0; i < n; i++) {
|
||||
type = events[i].type;
|
||||
if (type == WSCONS_EVENT_KEY_UP || type == WSCONS_EVENT_KEY_DOWN) {
|
||||
/* It seems better to block SIGIO there */
|
||||
blocked = xf86BlockSIGIO();
|
||||
pKbd->PostEvent(pInfo, (unsigned int)(events[i].value),
|
||||
type == WSCONS_EVENT_KEY_DOWN ? TRUE : FALSE);
|
||||
xf86UnblockSIGIO(blocked);
|
||||
}
|
||||
} /* for */
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
printWsType(const char *type, const char *name)
|
||||
{
|
||||
xf86Msg(X_PROBED, "%s: Keyboard type: %s\n", name, type);
|
||||
}
|
||||
#endif
|
||||
|
||||
static Bool
|
||||
OpenKeyboard(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
int i;
|
||||
KbdProtocolId prot = PROT_UNKNOWN_KBD;
|
||||
char *s;
|
||||
|
||||
s = xf86SetStrOption(pInfo->options, "Protocol", NULL);
|
||||
for (i = 0; protocols[i].name; i++) {
|
||||
if (xf86NameCmp(s, protocols[i].name) == 0) {
|
||||
prot = protocols[i].id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch (prot) {
|
||||
case PROT_STD:
|
||||
pInfo->read_input = stdReadInput;
|
||||
break;
|
||||
#ifdef WSCONS_SUPPORT
|
||||
case PROT_WSCONS:
|
||||
pInfo->read_input = WSReadInput;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
xf86Msg(X_ERROR,"\"%s\" is not a valid keyboard protocol name\n", s);
|
||||
free(s);
|
||||
return FALSE;
|
||||
}
|
||||
free(s);
|
||||
|
||||
if (prot == PROT_WSCONS)
|
||||
s = xf86SetStrOption(pInfo->options, "Device", "/dev/wskbd");
|
||||
else
|
||||
s = xf86SetStrOption(pInfo->options, "Device", NULL);
|
||||
|
||||
if (s == NULL) {
|
||||
pInfo->fd = xf86Info.consoleFd;
|
||||
pKbd->isConsole = TRUE;
|
||||
pKbd->consType = xf86Info.consType;
|
||||
pKbd->wsKbdDev[0] = 0;
|
||||
} else {
|
||||
pInfo->fd = open(s, O_RDONLY | O_NONBLOCK | O_EXCL);
|
||||
if (pInfo->fd == -1) {
|
||||
xf86Msg(X_ERROR, "%s: cannot open \"%s\"\n", pInfo->name, s);
|
||||
free(s);
|
||||
return FALSE;
|
||||
}
|
||||
pKbd->isConsole = FALSE;
|
||||
strncpy(pKbd->wsKbdDev, s, 256);
|
||||
pKbd->consType = xf86Info.consType;
|
||||
free(s);
|
||||
}
|
||||
|
||||
#ifdef WSCONS_SUPPORT
|
||||
if( prot == PROT_WSCONS) {
|
||||
pKbd->consType = WSCONS;
|
||||
if (WSSetVersion(pInfo->fd, pInfo->name) == FALSE)
|
||||
return FALSE;
|
||||
/* Find out keyboard type */
|
||||
if (ioctl(pInfo->fd, WSKBDIO_GTYPE, &(pKbd->wsKbdType)) == -1) {
|
||||
xf86Msg(X_ERROR, "%s: cannot get keyboard type", pInfo->name);
|
||||
close(pInfo->fd);
|
||||
return FALSE;
|
||||
}
|
||||
switch (pKbd->wsKbdType) {
|
||||
case WSKBD_TYPE_PC_XT:
|
||||
printWsType("XT", pInfo->name);
|
||||
break;
|
||||
case WSKBD_TYPE_PC_AT:
|
||||
printWsType("AT", pInfo->name);
|
||||
break;
|
||||
case 0:
|
||||
/* If wsKbdType==0, no keyboard attached to the mux. Assume USB. */
|
||||
xf86Msg(X_WARNING, "%s: No keyboard attached, assuming USB\n",
|
||||
pInfo->name);
|
||||
pKbd->wsKbdType = WSKBD_TYPE_USB;
|
||||
/* FALLTHROUGH */
|
||||
case WSKBD_TYPE_USB:
|
||||
printWsType("USB", pInfo->name);
|
||||
break;
|
||||
#ifdef WSKBD_TYPE_ADB
|
||||
case WSKBD_TYPE_ADB:
|
||||
printWsType("ADB", pInfo->name);
|
||||
break;
|
||||
#endif
|
||||
#ifdef WSKBD_TYPE_LK201
|
||||
case WSKBD_TYPE_LK201:
|
||||
printWsType("LK201", pInfo->name);
|
||||
break;
|
||||
#endif
|
||||
#ifdef WSKBD_TYPE_MAPLE
|
||||
case WSKBD_TYPE_MAPLE:
|
||||
printWsType("Maple", pInfo->name);
|
||||
break;
|
||||
#endif
|
||||
#ifdef WSKBD_TYPE_SUN
|
||||
case WSKBD_TYPE_SUN:
|
||||
printWsType("Sun", pInfo->name);
|
||||
break;
|
||||
#endif
|
||||
#ifdef WSKBD_TYPE_SUN5
|
||||
case WSKBD_TYPE_SUN5:
|
||||
printWsType("Sun5", pInfo->name);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
xf86Msg(X_WARNING, "%s: Unsupported wskbd type \"%d\"\n",
|
||||
pInfo->name, pKbd->wsKbdType);
|
||||
printWsType("Unknown wskbd", pInfo->name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
_X_EXPORT Bool
|
||||
xf86OSKbdPreInit(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = pInfo->private;
|
||||
|
||||
pKbd->KbdInit = KbdInit;
|
||||
pKbd->KbdOn = KbdOn;
|
||||
pKbd->KbdOff = KbdOff;
|
||||
pKbd->Bell = SoundBell;
|
||||
pKbd->SetLeds = SetKbdLeds;
|
||||
pKbd->GetLeds = GetKbdLeds;
|
||||
pKbd->KbdGetMapping = KbdGetMapping;
|
||||
|
||||
pKbd->RemapScanCode = NULL;
|
||||
|
||||
pKbd->OpenKeyboard = OpenKeyboard;
|
||||
|
||||
pKbd->private = calloc(sizeof(BsdKbdPrivRec), 1);
|
||||
if (pKbd->private == NULL) {
|
||||
xf86Msg(X_ERROR,"can't allocate keyboard OS private data\n");
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
extern void KbdGetMapping(InputInfoPtr pInfo, KeySymsPtr pKeySyms,
|
||||
CARD8 *pModMap);
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
/*
|
||||
* Copyright 1997,1998 by UCHIYAMA Yasushi
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of UCHIYAMA Yasushi not be used in
|
||||
* advertising or publicity pertaining to distribution of the software without
|
||||
* specific, written prior permission. UCHIYAMA Yasushi makes no representations
|
||||
* about the suitability of this software for any purpose. It is provided
|
||||
* "as is" without express or implied warranty.
|
||||
*
|
||||
* UCHIYAMA YASUSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
* EVENT SHALL UCHIYAMA YASUSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <X11/X.h>
|
||||
|
||||
#include "compiler.h"
|
||||
|
||||
#include "xf86.h"
|
||||
#include "xf86Priv.h"
|
||||
#include "xf86_OSlib.h"
|
||||
|
||||
#include "xf86Xinput.h"
|
||||
#include "xf86OSKbd.h"
|
||||
#include "atKeynames.h"
|
||||
#include "xf86Keymap.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/file.h>
|
||||
#include <assert.h>
|
||||
#include <mach.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
typedef unsigned short kev_type; /* kd event type */
|
||||
typedef unsigned char Scancode;
|
||||
|
||||
struct mouse_motion {
|
||||
short mm_deltaX; /* units? */
|
||||
short mm_deltaY;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
kev_type type; /* see below */
|
||||
struct timeval time; /* timestamp */
|
||||
union { /* value associated with event */
|
||||
boolean_t up; /* MOUSE_LEFT .. MOUSE_RIGHT */
|
||||
Scancode sc; /* KEYBD_EVENT */
|
||||
struct mouse_motion mmotion; /* MOUSE_MOTION */
|
||||
} value;
|
||||
} kd_event;
|
||||
|
||||
/*
|
||||
* kd_event ID's.
|
||||
*/
|
||||
#define MOUSE_LEFT 1 /* mouse left button up/down */
|
||||
#define MOUSE_MIDDLE 2
|
||||
#define MOUSE_RIGHT 3
|
||||
#define MOUSE_MOTION 4 /* mouse motion */
|
||||
#define KEYBD_EVENT 5 /* key up/down */
|
||||
|
||||
/***********************************************************************
|
||||
* Keyboard
|
||||
**********************************************************************/
|
||||
static void
|
||||
SoundKbdBell(InputInfoPtr pInfo, int loudness,int pitch,int duration)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
static void
|
||||
SetKbdLeds(InputInfoPtr pInfo, int leds)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
static int
|
||||
GetKbdLeds(InputInfoPtr pInfo)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
KbdGetMapping(InputInfoPtr pInfo, KeySymsPtr pKeySyms, CARD8 *pModMap)
|
||||
{
|
||||
pKeySyms->map = map;
|
||||
pKeySyms->mapWidth = GLYPHS_PER_KEY;
|
||||
pKeySyms->minKeyCode = MIN_KEYCODE;
|
||||
pKeySyms->maxKeyCode = MAX_KEYCODE;
|
||||
return;
|
||||
}
|
||||
|
||||
static int
|
||||
KbdOn(InputInfoPtr pInfo, int what)
|
||||
{
|
||||
int data = 1;
|
||||
if( ioctl( pInfo->fd, _IOW('k', 1, int),&data) < 0)
|
||||
FatalError("Cannot set event mode on keyboard (%s)\n",strerror(errno));
|
||||
return Success;
|
||||
}
|
||||
static int
|
||||
KbdOff(InputInfoPtr pInfo, int what)
|
||||
{
|
||||
int data = 2;
|
||||
if( ioctl( pInfo->fd, _IOW('k', 1, int),&data) < 0)
|
||||
FatalError("can't reset keyboard mode (%s)\n",strerror(errno));
|
||||
return Success;
|
||||
}
|
||||
|
||||
static int
|
||||
KbdInit(InputInfoPtr pInfo, int what)
|
||||
{
|
||||
return Success;
|
||||
}
|
||||
|
||||
static void
|
||||
ReadInput(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
kd_event ke;
|
||||
while( read(pInfo->fd, &ke, sizeof(ke)) == sizeof(ke) )
|
||||
pKbd->PostEvent(pInfo, ke.value.sc & 0x7f, ke.value.sc & 0x80 ? FALSE : TRUE);
|
||||
}
|
||||
|
||||
static Bool
|
||||
OpenKeyboard(InputInfoPtr pInfo)
|
||||
{
|
||||
pInfo->fd = xf86Info.consoleFd;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Bool
|
||||
xf86OSKbdPreInit(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = pInfo->private;
|
||||
|
||||
pKbd->KbdInit = KbdInit;
|
||||
pKbd->KbdOn = KbdOn;
|
||||
pKbd->KbdOff = KbdOff;
|
||||
pKbd->Bell = SoundKbdBell;
|
||||
pKbd->SetLeds = SetKbdLeds;
|
||||
pKbd->GetLeds = GetKbdLeds;
|
||||
pKbd->KbdGetMapping = KbdGetMapping;
|
||||
pKbd->RemapScanCode = ATScancode;
|
||||
pKbd->OpenKeyboard = OpenKeyboard;
|
||||
pKbd->private = NULL;
|
||||
pInfo->read_input = ReadInput;
|
||||
return TRUE;
|
||||
}
|
||||
@@ -0,0 +1,435 @@
|
||||
/*
|
||||
* Copyright (c) 2002 by The XFree86 Project, Inc.
|
||||
* Author: Ivan Pascal.
|
||||
*
|
||||
* Based on the code from
|
||||
* xf86Config.c which is
|
||||
* Copyright 1991-2002 by The XFree86 Project, Inc.
|
||||
* Copyright 1997 by Metro Link, Inc.
|
||||
* xf86Events.c and xf86Io.c which are
|
||||
* Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <xorg-server.h>
|
||||
|
||||
#include <X11/X.h>
|
||||
#include <X11/Xproto.h>
|
||||
|
||||
#include "xf86.h"
|
||||
#include "atKeynames.h"
|
||||
#include "xf86Privstr.h"
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include "extnsionst.h"
|
||||
#include "extinit.h"
|
||||
#include "inputstr.h"
|
||||
|
||||
#include "xf86Xinput.h"
|
||||
#include "xf86_OSproc.h"
|
||||
#include "xf86OSKbd.h"
|
||||
#include "compiler.h"
|
||||
|
||||
#include "exevents.h"
|
||||
#include <X11/Xatom.h>
|
||||
#include "xserver-properties.h"
|
||||
|
||||
#include "xkbstr.h"
|
||||
#include "xkbsrv.h"
|
||||
|
||||
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 23
|
||||
#define HAVE_THREADED_INPUT 1
|
||||
#endif
|
||||
|
||||
#define CAPSFLAG 1
|
||||
#define NUMFLAG 2
|
||||
#define SCROLLFLAG 4
|
||||
#define MODEFLAG 8
|
||||
#define COMPOSEFLAG 16
|
||||
/* Used to know when the first DEVICE_ON after a DEVICE_INIT is called */
|
||||
#define INITFLAG (1U << 31)
|
||||
|
||||
static int KbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags);
|
||||
static int KbdProc(DeviceIntPtr device, int what);
|
||||
static void KbdCtrl(DeviceIntPtr device, KeybdCtrl *ctrl);
|
||||
static void KbdBell(int percent, DeviceIntPtr dev, pointer ctrl, int unused);
|
||||
static void PostKbdEvent(InputInfoPtr pInfo, unsigned int key, Bool down);
|
||||
|
||||
static void InitKBD(InputInfoPtr pInfo, Bool init);
|
||||
static void UpdateLeds(InputInfoPtr pInfo);
|
||||
|
||||
static const char *kbdDefaults[] = {
|
||||
#ifdef __NetBSD__
|
||||
#ifdef DEFAULT_TO_WSKBD
|
||||
"Protocol", "wskbd",
|
||||
#else
|
||||
"Protocol", "standard",
|
||||
#endif
|
||||
#else /* NetBSD */
|
||||
"Protocol", "standard",
|
||||
#endif /* NetBSD */
|
||||
"XkbRules", "base",
|
||||
"XkbModel", "pc105",
|
||||
"XkbLayout", "us",
|
||||
NULL
|
||||
};
|
||||
|
||||
static char *xkb_rules;
|
||||
static char *xkb_model;
|
||||
static char *xkb_layout;
|
||||
static char *xkb_variant;
|
||||
static char *xkb_options;
|
||||
|
||||
_X_EXPORT InputDriverRec KBD = {
|
||||
1,
|
||||
"kbd",
|
||||
NULL,
|
||||
KbdPreInit,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
_X_EXPORT InputDriverRec KEYBOARD = {
|
||||
1,
|
||||
"keyboard",
|
||||
NULL,
|
||||
KbdPreInit,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
static XF86ModuleVersionInfo xf86KbdVersionRec = {
|
||||
"kbd",
|
||||
MODULEVENDORSTRING,
|
||||
MODINFOSTRING1,
|
||||
MODINFOSTRING2,
|
||||
XORG_VERSION_CURRENT,
|
||||
PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,
|
||||
ABI_CLASS_XINPUT,
|
||||
ABI_XINPUT_VERSION,
|
||||
MOD_CLASS_XINPUT,
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
static pointer
|
||||
xf86KbdPlug(pointer module, pointer options, int *errmaj, int *errmin)
|
||||
{
|
||||
xf86AddInputDriver(&KBD, module, 0);
|
||||
return module;
|
||||
}
|
||||
|
||||
_X_EXPORT XF86ModuleData kbdModuleData = {
|
||||
&xf86KbdVersionRec,
|
||||
xf86KbdPlug,
|
||||
NULL
|
||||
};
|
||||
|
||||
static int
|
||||
KbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
|
||||
{
|
||||
KbdDevPtr pKbd;
|
||||
char *s;
|
||||
const char **defaults;
|
||||
int rc = Success;
|
||||
|
||||
/* Initialise the InputInfoRec. */
|
||||
pInfo->type_name = XI_KEYBOARD;
|
||||
pInfo->device_control = KbdProc;
|
||||
/*
|
||||
* We don't specify our own read_input function. We expect
|
||||
* an OS specific readInput() function to handle this.
|
||||
*/
|
||||
pInfo->read_input = NULL;
|
||||
pInfo->control_proc = NULL;
|
||||
pInfo->switch_mode = NULL;
|
||||
pInfo->fd = -1;
|
||||
pInfo->dev = NULL;
|
||||
|
||||
defaults = kbdDefaults;
|
||||
xf86CollectInputOptions(pInfo, defaults);
|
||||
xf86ProcessCommonOptions(pInfo, pInfo->options);
|
||||
|
||||
if (!(pKbd = calloc(sizeof(KbdDevRec), 1))) {
|
||||
rc = BadAlloc;
|
||||
goto out;
|
||||
}
|
||||
|
||||
pInfo->private = pKbd;
|
||||
pKbd->PostEvent = PostKbdEvent;
|
||||
|
||||
if (!xf86OSKbdPreInit(pInfo)) {
|
||||
rc = BadAlloc;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!pKbd->OpenKeyboard(pInfo)) {
|
||||
rc = BadMatch;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if ((s = xf86SetStrOption(pInfo->options, "XLeds", NULL))) {
|
||||
char *l, *end;
|
||||
unsigned int i;
|
||||
l = strtok(s, " \t\n");
|
||||
while (l) {
|
||||
i = strtoul(l, &end, 0);
|
||||
if (*end == '\0')
|
||||
pKbd->xledsMask |= 1L << (i - 1);
|
||||
else {
|
||||
xf86Msg(X_ERROR, "\"%s\" is not a valid XLeds value", l);
|
||||
}
|
||||
l = strtok(NULL, " \t\n");
|
||||
}
|
||||
free(s);
|
||||
}
|
||||
|
||||
xkb_rules = xf86SetStrOption(pInfo->options, "XkbRules", NULL);
|
||||
xkb_model = xf86SetStrOption(pInfo->options, "XkbModel", NULL);
|
||||
xkb_layout = xf86SetStrOption(pInfo->options, "XkbLayout", NULL);
|
||||
xkb_variant = xf86SetStrOption(pInfo->options, "XkbVariant", NULL);
|
||||
xkb_options = xf86SetStrOption(pInfo->options, "XkbOptions", NULL);
|
||||
|
||||
pKbd->CustomKeycodes = xf86SetBoolOption(pInfo->options, "CustomKeycodes",
|
||||
FALSE);
|
||||
|
||||
out:
|
||||
return rc;
|
||||
}
|
||||
|
||||
static void
|
||||
KbdBell(int percent, DeviceIntPtr dev, pointer ctrl, int unused)
|
||||
{
|
||||
InputInfoPtr pInfo = (InputInfoPtr) dev->public.devicePrivate;
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
pKbd->Bell(pInfo, percent, ((KeybdCtrl*) ctrl)->bell_pitch,
|
||||
((KeybdCtrl*) ctrl)->bell_duration);
|
||||
}
|
||||
|
||||
static void
|
||||
UpdateLeds(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
unsigned long leds = 0;
|
||||
|
||||
if (pKbd->keyLeds & CAPSFLAG) leds |= XLED1;
|
||||
if (pKbd->keyLeds & NUMFLAG) leds |= XLED2;
|
||||
if (pKbd->keyLeds & SCROLLFLAG ||
|
||||
pKbd->keyLeds & MODEFLAG) leds |= XLED3;
|
||||
if (pKbd->keyLeds & COMPOSEFLAG) leds |= XLED4;
|
||||
|
||||
pKbd->leds = (pKbd->leds & pKbd->xledsMask) | (leds & ~pKbd->xledsMask);
|
||||
pKbd->SetLeds(pInfo, pKbd->leds);
|
||||
}
|
||||
|
||||
static void
|
||||
KbdCtrl( DeviceIntPtr device, KeybdCtrl *ctrl)
|
||||
{
|
||||
unsigned long leds;
|
||||
InputInfoPtr pInfo = (InputInfoPtr) device->public.devicePrivate;
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
|
||||
if ( ctrl->leds & XLED1) {
|
||||
pKbd->keyLeds |= CAPSFLAG;
|
||||
} else {
|
||||
pKbd->keyLeds &= ~CAPSFLAG;
|
||||
}
|
||||
if ( ctrl->leds & XLED2) {
|
||||
pKbd->keyLeds |= NUMFLAG;
|
||||
} else {
|
||||
pKbd->keyLeds &= ~NUMFLAG;
|
||||
}
|
||||
if ( ctrl->leds & XLED3) {
|
||||
pKbd->keyLeds |= SCROLLFLAG;
|
||||
} else {
|
||||
pKbd->keyLeds &= ~SCROLLFLAG;
|
||||
}
|
||||
if ( ctrl->leds & (XCOMP|XLED4) ) {
|
||||
pKbd->keyLeds |= COMPOSEFLAG;
|
||||
} else {
|
||||
pKbd->keyLeds &= ~COMPOSEFLAG;
|
||||
}
|
||||
leds = ctrl->leds & ~(XCAPS | XNUM | XSCR); /* ??? */
|
||||
pKbd->leds = leds;
|
||||
pKbd->SetLeds(pInfo, pKbd->leds);
|
||||
}
|
||||
|
||||
static void
|
||||
InitKBD(InputInfoPtr pInfo, Bool init)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
|
||||
pKbd->scanPrefix = 0;
|
||||
|
||||
if (init) {
|
||||
pKbd->keyLeds = pKbd->GetLeds(pInfo);
|
||||
UpdateLeds(pInfo);
|
||||
pKbd->keyLeds |= INITFLAG;
|
||||
} else {
|
||||
unsigned long leds = pKbd->keyLeds;
|
||||
|
||||
pKbd->keyLeds = pKbd->GetLeds(pInfo);
|
||||
UpdateLeds(pInfo);
|
||||
if ((pKbd->keyLeds & CAPSFLAG) !=
|
||||
((leds & INITFLAG) ? 0 : (leds & CAPSFLAG))) {
|
||||
pKbd->PostEvent(pInfo, KEY_CapsLock, TRUE);
|
||||
pKbd->PostEvent(pInfo, KEY_CapsLock, FALSE);
|
||||
}
|
||||
if ((pKbd->keyLeds & NUMFLAG) !=
|
||||
(leds & INITFLAG ? 0 : leds & NUMFLAG)) {
|
||||
pKbd->PostEvent(pInfo, KEY_NumLock, TRUE);
|
||||
pKbd->PostEvent(pInfo, KEY_NumLock, FALSE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
KbdProc(DeviceIntPtr device, int what)
|
||||
{
|
||||
|
||||
InputInfoPtr pInfo = device->public.devicePrivate;
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
XkbRMLVOSet rmlvo;
|
||||
KeySymsRec keySyms;
|
||||
CARD8 modMap[MAP_LENGTH];
|
||||
int ret;
|
||||
|
||||
switch (what) {
|
||||
case DEVICE_INIT:
|
||||
ret = pKbd->KbdInit(pInfo, what);
|
||||
if (ret != Success)
|
||||
return ret;
|
||||
|
||||
pKbd->KbdGetMapping(pInfo, &keySyms, modMap);
|
||||
|
||||
device->public.on = FALSE;
|
||||
rmlvo.rules = xkb_rules;
|
||||
rmlvo.model = xkb_model;
|
||||
rmlvo.layout = xkb_layout;
|
||||
rmlvo.variant = xkb_variant;
|
||||
rmlvo.options = xkb_options;
|
||||
|
||||
if (!InitKeyboardDeviceStruct(device, &rmlvo, KbdBell, KbdCtrl))
|
||||
{
|
||||
xf86Msg(X_ERROR, "%s: Keyboard initialization failed. This "
|
||||
"could be a missing or incorrect setup of "
|
||||
"xkeyboard-config.\n", device->name);
|
||||
|
||||
return BadValue;
|
||||
}
|
||||
# ifdef XI_PROP_DEVICE_NODE
|
||||
{
|
||||
const char *device_node =
|
||||
xf86CheckStrOption(pInfo->options, "Device", NULL);
|
||||
|
||||
if (device_node)
|
||||
{
|
||||
Atom prop_device = MakeAtom(XI_PROP_DEVICE_NODE,
|
||||
strlen(XI_PROP_DEVICE_NODE), TRUE);
|
||||
XIChangeDeviceProperty(device, prop_device, XA_STRING, 8,
|
||||
PropModeReplace, strlen(device_node),
|
||||
device_node, FALSE);
|
||||
}
|
||||
}
|
||||
# endif /* XI_PROP_DEVICE_NODE */
|
||||
InitKBD(pInfo, TRUE);
|
||||
break;
|
||||
case DEVICE_ON:
|
||||
if (device->public.on)
|
||||
break;
|
||||
/*
|
||||
* Set the keyboard into "direct" mode and turn on
|
||||
* event translation.
|
||||
*/
|
||||
if ((ret = pKbd->KbdOn(pInfo, what)) != Success)
|
||||
return ret;
|
||||
/*
|
||||
* Discard any pending input after a VT switch to prevent the server
|
||||
* passing on parts of the VT switch sequence.
|
||||
*/
|
||||
if (pInfo->fd >= 0) {
|
||||
xf86FlushInput(pInfo->fd);
|
||||
#if HAVE_THREADED_INPUT
|
||||
xf86AddEnabledDevice(pInfo);
|
||||
#else
|
||||
AddEnabledDevice(pInfo->fd);
|
||||
#endif
|
||||
}
|
||||
|
||||
device->public.on = TRUE;
|
||||
InitKBD(pInfo, FALSE);
|
||||
break;
|
||||
|
||||
case DEVICE_CLOSE:
|
||||
case DEVICE_OFF:
|
||||
|
||||
/*
|
||||
* Restore original keyboard directness and translation.
|
||||
*/
|
||||
if (pInfo->fd != -1) {
|
||||
#if HAVE_THREADED_INPUT
|
||||
xf86RemoveEnabledDevice(pInfo);
|
||||
#else
|
||||
RemoveEnabledDevice(pInfo->fd);
|
||||
#endif
|
||||
}
|
||||
pKbd->KbdOff(pInfo, what);
|
||||
device->public.on = FALSE;
|
||||
break;
|
||||
|
||||
default:
|
||||
return BadValue;
|
||||
}
|
||||
return (Success);
|
||||
}
|
||||
|
||||
static void
|
||||
PostKbdEvent(InputInfoPtr pInfo, unsigned int scanCode, Bool down)
|
||||
{
|
||||
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
DeviceIntPtr device = pInfo->dev;
|
||||
KeyClassRec *keyc = device->key;
|
||||
int state;
|
||||
|
||||
#ifdef DEBUG
|
||||
LogMessageVerbSigSafe(X_INFO, -1, "kbd driver rec scancode: 0x%x %s\n", scanCode, down ? "down" : "up");
|
||||
#endif
|
||||
|
||||
/*
|
||||
* First do some special scancode remapping ...
|
||||
*/
|
||||
if (pKbd->RemapScanCode != NULL) {
|
||||
if (pKbd->RemapScanCode(pInfo, (int*) &scanCode))
|
||||
return;
|
||||
} else {
|
||||
if (pKbd->scancodeMap != NULL) {
|
||||
TransMapPtr map = pKbd->scancodeMap;
|
||||
if (scanCode >= map->begin && scanCode < map->end)
|
||||
scanCode = map->map[scanCode - map->begin];
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* PC keyboards generate separate key codes for
|
||||
* Alt+Print and Control+Pause but in the X keyboard model
|
||||
* they need to get the same key code as the base key on the same
|
||||
* physical keyboard key.
|
||||
*/
|
||||
|
||||
state = XkbStateFieldFromRec(&keyc->xkbInfo->state);
|
||||
|
||||
if (((state & AltMask) == AltMask) && (scanCode == KEY_SysReqest))
|
||||
scanCode = KEY_Print;
|
||||
else if (scanCode == KEY_Break)
|
||||
scanCode = KEY_Pause;
|
||||
|
||||
xf86PostKeyboardEvent(device, scanCode + MIN_KEYCODE, down);
|
||||
}
|
||||
@@ -0,0 +1,600 @@
|
||||
/*
|
||||
* Slightly modified xf86KbdLnx.c which is
|
||||
*
|
||||
* Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <X11/X.h>
|
||||
#include <X11/Xmd.h>
|
||||
#include "input.h"
|
||||
|
||||
#include "compiler.h"
|
||||
|
||||
#include "xf86.h"
|
||||
#include "xf86Priv.h"
|
||||
#include "xf86_OSlib.h"
|
||||
#include "xf86Xinput.h"
|
||||
#include "xf86OSKbd.h"
|
||||
#include "atKeynames.h"
|
||||
|
||||
#include "xf86Keymap.h"
|
||||
|
||||
#include "lnx_kbd.h"
|
||||
|
||||
/*ARGSUSED*/
|
||||
|
||||
/*
|
||||
* KbdGetMapping --
|
||||
* Get the national keyboard mapping. The keyboard type is set, a new map
|
||||
* and the modifiermap is computed.
|
||||
*/
|
||||
|
||||
static void readKernelMapping(InputInfoPtr pInfo,
|
||||
KeySymsPtr pKeySyms, CARD8 *pModMap);
|
||||
void
|
||||
KbdGetMapping (InputInfoPtr pInfo, KeySymsPtr pKeySyms, CARD8 *pModMap)
|
||||
{
|
||||
KeySym *k;
|
||||
int i;
|
||||
|
||||
readKernelMapping(pInfo, pKeySyms, pModMap);
|
||||
|
||||
/*
|
||||
* compute the modifier map
|
||||
*/
|
||||
for (i = 0; i < MAP_LENGTH; i++)
|
||||
pModMap[i] = NoSymbol; /* make sure it is restored */
|
||||
|
||||
for (k = map, i = MIN_KEYCODE;
|
||||
i < (NUM_KEYCODES + MIN_KEYCODE);
|
||||
i++, k += 4)
|
||||
|
||||
switch(*k) {
|
||||
|
||||
case XK_Shift_L:
|
||||
case XK_Shift_R:
|
||||
pModMap[i] = ShiftMask;
|
||||
break;
|
||||
|
||||
case XK_Control_L:
|
||||
case XK_Control_R:
|
||||
pModMap[i] = ControlMask;
|
||||
break;
|
||||
|
||||
case XK_Caps_Lock:
|
||||
pModMap[i] = LockMask;
|
||||
break;
|
||||
|
||||
case XK_Alt_L:
|
||||
case XK_Alt_R:
|
||||
pModMap[i] = AltMask;
|
||||
break;
|
||||
|
||||
case XK_Num_Lock:
|
||||
pModMap[i] = NumLockMask;
|
||||
break;
|
||||
|
||||
case XK_Scroll_Lock:
|
||||
pModMap[i] = ScrollLockMask;
|
||||
break;
|
||||
|
||||
/* kana support */
|
||||
case XK_Kana_Lock:
|
||||
case XK_Kana_Shift:
|
||||
pModMap[i] = KanaMask;
|
||||
break;
|
||||
|
||||
/* alternate toggle for multinational support */
|
||||
case XK_Mode_switch:
|
||||
pModMap[i] = AltLangMask;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
pKeySyms->map = map;
|
||||
pKeySyms->mapWidth = GLYPHS_PER_KEY;
|
||||
pKeySyms->minKeyCode = MIN_KEYCODE;
|
||||
pKeySyms->maxKeyCode = MAX_KEYCODE;
|
||||
}
|
||||
|
||||
#include <linux/keyboard.h>
|
||||
|
||||
static KeySym linux_to_x[256] = {
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
XK_BackSpace, XK_Tab, XK_Linefeed, NoSymbol,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
NoSymbol, NoSymbol, NoSymbol, XK_Escape,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
XK_space, XK_exclam, XK_quotedbl, XK_numbersign,
|
||||
XK_dollar, XK_percent, XK_ampersand, XK_apostrophe,
|
||||
XK_parenleft, XK_parenright, XK_asterisk, XK_plus,
|
||||
XK_comma, XK_minus, XK_period, XK_slash,
|
||||
XK_0, XK_1, XK_2, XK_3,
|
||||
XK_4, XK_5, XK_6, XK_7,
|
||||
XK_8, XK_9, XK_colon, XK_semicolon,
|
||||
XK_less, XK_equal, XK_greater, XK_question,
|
||||
XK_at, XK_A, XK_B, XK_C,
|
||||
XK_D, XK_E, XK_F, XK_G,
|
||||
XK_H, XK_I, XK_J, XK_K,
|
||||
XK_L, XK_M, XK_N, XK_O,
|
||||
XK_P, XK_Q, XK_R, XK_S,
|
||||
XK_T, XK_U, XK_V, XK_W,
|
||||
XK_X, XK_Y, XK_Z, XK_bracketleft,
|
||||
XK_backslash, XK_bracketright,XK_asciicircum, XK_underscore,
|
||||
XK_grave, XK_a, XK_b, XK_c,
|
||||
XK_d, XK_e, XK_f, XK_g,
|
||||
XK_h, XK_i, XK_j, XK_k,
|
||||
XK_l, XK_m, XK_n, XK_o,
|
||||
XK_p, XK_q, XK_r, XK_s,
|
||||
XK_t, XK_u, XK_v, XK_w,
|
||||
XK_x, XK_y, XK_z, XK_braceleft,
|
||||
XK_bar, XK_braceright, XK_asciitilde, XK_BackSpace,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
XK_nobreakspace,XK_exclamdown, XK_cent, XK_sterling,
|
||||
XK_currency, XK_yen, XK_brokenbar, XK_section,
|
||||
XK_diaeresis, XK_copyright, XK_ordfeminine, XK_guillemotleft,
|
||||
XK_notsign, XK_hyphen, XK_registered, XK_macron,
|
||||
XK_degree, XK_plusminus, XK_twosuperior, XK_threesuperior,
|
||||
XK_acute, XK_mu, XK_paragraph, XK_periodcentered,
|
||||
XK_cedilla, XK_onesuperior, XK_masculine, XK_guillemotright,
|
||||
XK_onequarter, XK_onehalf, XK_threequarters,XK_questiondown,
|
||||
XK_Agrave, XK_Aacute, XK_Acircumflex, XK_Atilde,
|
||||
XK_Adiaeresis, XK_Aring, XK_AE, XK_Ccedilla,
|
||||
XK_Egrave, XK_Eacute, XK_Ecircumflex, XK_Ediaeresis,
|
||||
XK_Igrave, XK_Iacute, XK_Icircumflex, XK_Idiaeresis,
|
||||
XK_ETH, XK_Ntilde, XK_Ograve, XK_Oacute,
|
||||
XK_Ocircumflex, XK_Otilde, XK_Odiaeresis, XK_multiply,
|
||||
XK_Ooblique, XK_Ugrave, XK_Uacute, XK_Ucircumflex,
|
||||
XK_Udiaeresis, XK_Yacute, XK_THORN, XK_ssharp,
|
||||
XK_agrave, XK_aacute, XK_acircumflex, XK_atilde,
|
||||
XK_adiaeresis, XK_aring, XK_ae, XK_ccedilla,
|
||||
XK_egrave, XK_eacute, XK_ecircumflex, XK_ediaeresis,
|
||||
XK_igrave, XK_iacute, XK_icircumflex, XK_idiaeresis,
|
||||
XK_eth, XK_ntilde, XK_ograve, XK_oacute,
|
||||
XK_ocircumflex, XK_otilde, XK_odiaeresis, XK_division,
|
||||
XK_oslash, XK_ugrave, XK_uacute, XK_ucircumflex,
|
||||
XK_udiaeresis, XK_yacute, XK_thorn, XK_ydiaeresis
|
||||
};
|
||||
|
||||
/*
|
||||
* Maps the AT keycodes to Linux keycodes
|
||||
*/
|
||||
static unsigned char at2lnx[] =
|
||||
{
|
||||
0x01, /* KEY_Escape */ 0x02, /* KEY_1 */
|
||||
0x03, /* KEY_2 */ 0x04, /* KEY_3 */
|
||||
0x05, /* KEY_4 */ 0x06, /* KEY_5 */
|
||||
0x07, /* KEY_6 */ 0x08, /* KEY_7 */
|
||||
0x09, /* KEY_8 */ 0x0a, /* KEY_9 */
|
||||
0x0b, /* KEY_0 */ 0x0c, /* KEY_Minus */
|
||||
0x0d, /* KEY_Equal */ 0x0e, /* KEY_BackSpace */
|
||||
0x0f, /* KEY_Tab */ 0x10, /* KEY_Q */
|
||||
0x11, /* KEY_W */ 0x12, /* KEY_E */
|
||||
0x13, /* KEY_R */ 0x14, /* KEY_T */
|
||||
0x15, /* KEY_Y */ 0x16, /* KEY_U */
|
||||
0x17, /* KEY_I */ 0x18, /* KEY_O */
|
||||
0x19, /* KEY_P */ 0x1a, /* KEY_LBrace */
|
||||
0x1b, /* KEY_RBrace */ 0x1c, /* KEY_Enter */
|
||||
0x1d, /* KEY_LCtrl */ 0x1e, /* KEY_A */
|
||||
0x1f, /* KEY_S */ 0x20, /* KEY_D */
|
||||
0x21, /* KEY_F */ 0x22, /* KEY_G */
|
||||
0x23, /* KEY_H */ 0x24, /* KEY_J */
|
||||
0x25, /* KEY_K */ 0x26, /* KEY_L */
|
||||
0x27, /* KEY_SemiColon */ 0x28, /* KEY_Quote */
|
||||
0x29, /* KEY_Tilde */ 0x2a, /* KEY_ShiftL */
|
||||
0x2b, /* KEY_BSlash */ 0x2c, /* KEY_Z */
|
||||
0x2d, /* KEY_X */ 0x2e, /* KEY_C */
|
||||
0x2f, /* KEY_V */ 0x30, /* KEY_B */
|
||||
0x31, /* KEY_N */ 0x32, /* KEY_M */
|
||||
0x33, /* KEY_Comma */ 0x34, /* KEY_Period */
|
||||
0x35, /* KEY_Slash */ 0x36, /* KEY_ShiftR */
|
||||
0x37, /* KEY_KP_Multiply */ 0x38, /* KEY_Alt */
|
||||
0x39, /* KEY_Space */ 0x3a, /* KEY_CapsLock */
|
||||
0x3b, /* KEY_F1 */ 0x3c, /* KEY_F2 */
|
||||
0x3d, /* KEY_F3 */ 0x3e, /* KEY_F4 */
|
||||
0x3f, /* KEY_F5 */ 0x40, /* KEY_F6 */
|
||||
0x41, /* KEY_F7 */ 0x42, /* KEY_F8 */
|
||||
0x43, /* KEY_F9 */ 0x44, /* KEY_F10 */
|
||||
0x45, /* KEY_NumLock */ 0x46, /* KEY_ScrollLock */
|
||||
0x47, /* KEY_KP_7 */ 0x48, /* KEY_KP_8 */
|
||||
0x49, /* KEY_KP_9 */ 0x4a, /* KEY_KP_Minus */
|
||||
0x4b, /* KEY_KP_4 */ 0x4c, /* KEY_KP_5 */
|
||||
0x4d, /* KEY_KP_6 */ 0x4e, /* KEY_KP_Plus */
|
||||
0x4f, /* KEY_KP_1 */ 0x50, /* KEY_KP_2 */
|
||||
0x51, /* KEY_KP_3 */ 0x52, /* KEY_KP_0 */
|
||||
0x53, /* KEY_KP_Decimal */ 0x54, /* KEY_SysReqest */
|
||||
0x00, /* 0x55 */ 0x56, /* KEY_Less */
|
||||
0x57, /* KEY_F11 */ 0x58, /* KEY_F12 */
|
||||
0x66, /* KEY_Home */ 0x67, /* KEY_Up */
|
||||
0x68, /* KEY_PgUp */ 0x69, /* KEY_Left */
|
||||
0x5d, /* KEY_Begin */ 0x6a, /* KEY_Right */
|
||||
0x6b, /* KEY_End */ 0x6c, /* KEY_Down */
|
||||
0x6d, /* KEY_PgDown */ 0x6e, /* KEY_Insert */
|
||||
0x6f, /* KEY_Delete */ 0x60, /* KEY_KP_Enter */
|
||||
0x61, /* KEY_RCtrl */ 0x77, /* KEY_Pause */
|
||||
0x63, /* KEY_Print */ 0x62, /* KEY_KP_Divide */
|
||||
0x64, /* KEY_AltLang */ 0x65, /* KEY_Break */
|
||||
0x00, /* KEY_LMeta */ 0x00, /* KEY_RMeta */
|
||||
0x7A, /* KEY_Menu/FOCUS_PF11*/0x00, /* 0x6e */
|
||||
0x7B, /* FOCUS_PF12 */ 0x00, /* 0x70 */
|
||||
0x00, /* 0x71 */ 0x00, /* 0x72 */
|
||||
0x59, /* FOCUS_PF2 */ 0x78, /* FOCUS_PF9 */
|
||||
0x00, /* 0x75 */ 0x00, /* 0x76 */
|
||||
0x5A, /* FOCUS_PF3 */ 0x5B, /* FOCUS_PF4 */
|
||||
0x5C, /* FOCUS_PF5 */ 0x5D, /* FOCUS_PF6 */
|
||||
0x5E, /* FOCUS_PF7 */ 0x5F, /* FOCUS_PF8 */
|
||||
0x7C, /* JAP_86 */ 0x79, /* FOCUS_PF10 */
|
||||
0x00, /* 0x7f */
|
||||
};
|
||||
#define NUM_AT2LNX (sizeof(at2lnx) / sizeof(at2lnx[0]))
|
||||
|
||||
#define NUM_CUSTOMKEYS NR_KEYS
|
||||
|
||||
static void
|
||||
readKernelMapping(InputInfoPtr pInfo, KeySymsPtr pKeySyms, CARD8 *pModMap)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
KeySym *k;
|
||||
int i;
|
||||
int maxkey;
|
||||
static unsigned char tbl[GLYPHS_PER_KEY] =
|
||||
{
|
||||
0, /* unshifted */
|
||||
1, /* shifted */
|
||||
0, /* modeswitch unshifted */
|
||||
0 /* modeswitch shifted */
|
||||
};
|
||||
|
||||
/*
|
||||
* Read the mapping from the kernel.
|
||||
* Since we're still using the XFree86 scancode->AT keycode mapping
|
||||
* routines, we need to convert the AT keycodes to Linux keycodes,
|
||||
* then translate the Linux keysyms into X keysyms.
|
||||
*
|
||||
* First, figure out which tables to use for the modeswitch columns
|
||||
* above, from the XF86Config fields.
|
||||
*/
|
||||
tbl[2] = 8; /* alt */
|
||||
tbl[3] = tbl[2] | 1;
|
||||
|
||||
if (pKbd->CustomKeycodes) {
|
||||
k = map;
|
||||
maxkey = NUM_CUSTOMKEYS;
|
||||
}
|
||||
else {
|
||||
k = map+GLYPHS_PER_KEY;
|
||||
maxkey = NUM_AT2LNX;
|
||||
}
|
||||
|
||||
for (i = 0; i < maxkey; ++i)
|
||||
{
|
||||
struct kbentry kbe;
|
||||
int j;
|
||||
|
||||
if (pKbd->CustomKeycodes)
|
||||
kbe.kb_index = i;
|
||||
else
|
||||
kbe.kb_index = at2lnx[i];
|
||||
|
||||
for (j = 0; j < GLYPHS_PER_KEY; ++j, ++k)
|
||||
{
|
||||
unsigned short kval;
|
||||
|
||||
*k = NoSymbol;
|
||||
|
||||
kbe.kb_table = tbl[j];
|
||||
if (
|
||||
(!pKbd->CustomKeycodes && kbe.kb_index == 0) ||
|
||||
ioctl(pInfo->fd, KDGKBENT, &kbe))
|
||||
continue;
|
||||
|
||||
kval = KVAL(kbe.kb_value);
|
||||
switch (KTYP(kbe.kb_value))
|
||||
{
|
||||
case KT_LATIN:
|
||||
case KT_LETTER:
|
||||
*k = linux_to_x[kval];
|
||||
break;
|
||||
|
||||
case KT_FN:
|
||||
if (kval <= 19)
|
||||
*k = XK_F1 + kval;
|
||||
else switch (kbe.kb_value)
|
||||
{
|
||||
case K_FIND:
|
||||
*k = XK_Home; /* or XK_Find */
|
||||
break;
|
||||
case K_INSERT:
|
||||
*k = XK_Insert;
|
||||
break;
|
||||
case K_REMOVE:
|
||||
*k = XK_Delete;
|
||||
break;
|
||||
case K_SELECT:
|
||||
*k = XK_End; /* or XK_Select */
|
||||
break;
|
||||
case K_PGUP:
|
||||
*k = XK_Prior;
|
||||
break;
|
||||
case K_PGDN:
|
||||
*k = XK_Next;
|
||||
break;
|
||||
case K_HELP:
|
||||
*k = XK_Help;
|
||||
break;
|
||||
case K_DO:
|
||||
*k = XK_Execute;
|
||||
break;
|
||||
case K_PAUSE:
|
||||
*k = XK_Pause;
|
||||
break;
|
||||
case K_MACRO:
|
||||
*k = XK_Menu;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case KT_SPEC:
|
||||
switch (kbe.kb_value)
|
||||
{
|
||||
case K_ENTER:
|
||||
*k = XK_Return;
|
||||
break;
|
||||
case K_BREAK:
|
||||
*k = XK_Break;
|
||||
break;
|
||||
case K_CAPS:
|
||||
*k = XK_Caps_Lock;
|
||||
break;
|
||||
case K_NUM:
|
||||
*k = XK_Num_Lock;
|
||||
break;
|
||||
case K_HOLD:
|
||||
*k = XK_Scroll_Lock;
|
||||
break;
|
||||
case K_COMPOSE:
|
||||
*k = XK_Multi_key;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case KT_PAD:
|
||||
switch (kbe.kb_value)
|
||||
{
|
||||
case K_PPLUS:
|
||||
*k = XK_KP_Add;
|
||||
break;
|
||||
case K_PMINUS:
|
||||
*k = XK_KP_Subtract;
|
||||
break;
|
||||
case K_PSTAR:
|
||||
*k = XK_KP_Multiply;
|
||||
break;
|
||||
case K_PSLASH:
|
||||
*k = XK_KP_Divide;
|
||||
break;
|
||||
case K_PENTER:
|
||||
*k = XK_KP_Enter;
|
||||
break;
|
||||
case K_PCOMMA:
|
||||
*k = XK_KP_Separator;
|
||||
break;
|
||||
case K_PDOT:
|
||||
*k = XK_KP_Decimal;
|
||||
break;
|
||||
case K_PPLUSMINUS:
|
||||
*k = XK_KP_Subtract;
|
||||
break;
|
||||
default:
|
||||
if (kval <= 9)
|
||||
*k = XK_KP_0 + kval;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
/*
|
||||
* KT_DEAD keys are for accelerated diacritical creation.
|
||||
*/
|
||||
case KT_DEAD:
|
||||
switch (kbe.kb_value)
|
||||
{
|
||||
case K_DGRAVE:
|
||||
*k = XK_dead_grave;
|
||||
break;
|
||||
case K_DACUTE:
|
||||
*k = XK_dead_acute;
|
||||
break;
|
||||
case K_DCIRCM:
|
||||
*k = XK_dead_circumflex;
|
||||
break;
|
||||
case K_DTILDE:
|
||||
*k = XK_dead_tilde;
|
||||
break;
|
||||
case K_DDIERE:
|
||||
*k = XK_dead_diaeresis;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case KT_CUR:
|
||||
switch (kbe.kb_value)
|
||||
{
|
||||
case K_DOWN:
|
||||
*k = XK_Down;
|
||||
break;
|
||||
case K_LEFT:
|
||||
*k = XK_Left;
|
||||
break;
|
||||
case K_RIGHT:
|
||||
*k = XK_Right;
|
||||
break;
|
||||
case K_UP:
|
||||
*k = XK_Up;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case KT_SHIFT:
|
||||
switch (kbe.kb_value)
|
||||
{
|
||||
case K_ALTGR:
|
||||
*k = XK_Alt_R;
|
||||
break;
|
||||
case K_ALT:
|
||||
*k = (kbe.kb_index == 0x64 ?
|
||||
XK_Alt_R : XK_Alt_L);
|
||||
break;
|
||||
case K_CTRL:
|
||||
*k = (kbe.kb_index == 0x61 ?
|
||||
XK_Control_R : XK_Control_L);
|
||||
break;
|
||||
case K_CTRLL:
|
||||
*k = XK_Control_L;
|
||||
break;
|
||||
case K_CTRLR:
|
||||
*k = XK_Control_R;
|
||||
break;
|
||||
case K_SHIFT:
|
||||
*k = (kbe.kb_index == 0x36 ?
|
||||
XK_Shift_R : XK_Shift_L);
|
||||
break;
|
||||
case K_SHIFTL:
|
||||
*k = XK_Shift_L;
|
||||
break;
|
||||
case K_SHIFTR:
|
||||
*k = XK_Shift_R;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
/*
|
||||
* KT_ASCII keys accumulate a 3 digit decimal number that gets
|
||||
* emitted when the shift state changes. We can't emulate that.
|
||||
*/
|
||||
case KT_ASCII:
|
||||
break;
|
||||
|
||||
case KT_LOCK:
|
||||
if (kbe.kb_value == K_SHIFTLOCK)
|
||||
*k = XK_Shift_Lock;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (k[-1] == k[-2]) k[-1] = NoSymbol;
|
||||
if (k[-2] == k[-3]) k[-2] = NoSymbol;
|
||||
if (k[-3] == k[-4]) k[-3] = NoSymbol;
|
||||
if (k[-4] == k[-2] && k[-3] == k[-1]) k[-2] = k[-1] = NoSymbol;
|
||||
if (k[-1] == k[-4] && k[-2] == k[-3] && k[-2] == NoSymbol) k[-1] =NoSymbol;
|
||||
}
|
||||
|
||||
if (!pKbd->CustomKeycodes)
|
||||
return;
|
||||
|
||||
/*
|
||||
* Find the Mapping for the special server functions
|
||||
*/
|
||||
pKbd->specialMap = (TransMapPtr) calloc(NUM_CUSTOMKEYS, 1);
|
||||
if (pKbd->specialMap != NULL) {
|
||||
pKbd->specialMap->end = NUM_CUSTOMKEYS;
|
||||
pKbd->specialMap->map = (unsigned char*) calloc(NUM_CUSTOMKEYS, 1);
|
||||
if (pKbd->specialMap == NULL) {
|
||||
free(pKbd->specialMap);
|
||||
pKbd->specialMap = NULL;
|
||||
}
|
||||
}
|
||||
if (pKbd->specialMap == NULL) {
|
||||
xf86Msg(X_ERROR, "%s can't allocate \"special map\"\n", pInfo->name);
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < NUM_CUSTOMKEYS; ++i) {
|
||||
struct kbentry kbe;
|
||||
int special = 0;
|
||||
|
||||
kbe.kb_index = i;
|
||||
kbe.kb_table = 0; /* Plain map */
|
||||
if (!ioctl(pInfo->fd, KDGKBENT, &kbe))
|
||||
switch (kbe.kb_value) {
|
||||
case K(KT_LATIN,0x7f): /* This catches DEL too... But who cares? */
|
||||
special = KEY_BackSpace;
|
||||
break;
|
||||
case K_PMINUS:
|
||||
special = KEY_KP_Minus;
|
||||
break;
|
||||
case K_PPLUS:
|
||||
special = KEY_KP_Plus;
|
||||
break;
|
||||
case K_F1:
|
||||
special = KEY_F1;
|
||||
break;
|
||||
case K_F2:
|
||||
special = KEY_F2;
|
||||
break;
|
||||
case K_F3:
|
||||
special = KEY_F3;
|
||||
break;
|
||||
case K_F4:
|
||||
special = KEY_F4;
|
||||
break;
|
||||
case K_F5:
|
||||
special = KEY_F5;
|
||||
break;
|
||||
case K_F6:
|
||||
special = KEY_F6;
|
||||
break;
|
||||
case K_F7:
|
||||
special = KEY_F7;
|
||||
break;
|
||||
case K_F8:
|
||||
special = KEY_F8;
|
||||
break;
|
||||
case K_F9:
|
||||
special = KEY_F9;
|
||||
break;
|
||||
case K_F10:
|
||||
special = KEY_F10;
|
||||
break;
|
||||
case K_F11:
|
||||
special = KEY_F11;
|
||||
break;
|
||||
case K_F12:
|
||||
special = KEY_F12;
|
||||
break;
|
||||
case K_ALT:
|
||||
special = KEY_Alt;
|
||||
break;
|
||||
case K_ALTGR:
|
||||
special = KEY_AltLang;
|
||||
break;
|
||||
case K_CONS:
|
||||
special = KEY_SysReqest;
|
||||
break;
|
||||
}
|
||||
pKbd->specialMap->map[i] = special;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,250 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 2002 by The XFree86 Project, Inc.
|
||||
* Author: Ivan Pascal.
|
||||
*
|
||||
* Based on the code from lnx_io.c which is
|
||||
* Copyright 1992 by Orest Zborowski <obz@Kodak.com>
|
||||
* Copyright 1993 by David Dawes <dawes@xfree86.org>
|
||||
*
|
||||
* Portions based on kbdrate.c from util-linux 2.9t, which is
|
||||
* Copyright 1992 Rickard E. Faith. Distributed under the GPL.
|
||||
* This program comes with ABSOLUTELY NO WARRANTY.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <X11/X.h>
|
||||
|
||||
#include "compiler.h"
|
||||
|
||||
#include "xf86.h"
|
||||
#include "xf86Priv.h"
|
||||
#include "xf86_OSlib.h"
|
||||
|
||||
#include "xf86Xinput.h"
|
||||
#include "xf86OSKbd.h"
|
||||
#include "atKeynames.h"
|
||||
#include "lnx_kbd.h"
|
||||
|
||||
#define KBC_TIMEOUT 250 /* Timeout in ms for sending to keyboard controller */
|
||||
|
||||
static KbdProtocolRec protocols[] = {
|
||||
{"standard", PROT_STD },
|
||||
{ NULL, PROT_UNKNOWN_KBD }
|
||||
};
|
||||
|
||||
static void
|
||||
SoundBell(InputInfoPtr pInfo, int loudness, int pitch, int duration)
|
||||
{
|
||||
if (loudness && pitch)
|
||||
{
|
||||
ioctl(pInfo->fd, KDMKTONE,
|
||||
((1193190 / pitch) & 0xffff) |
|
||||
(((unsigned long)duration *
|
||||
loudness / 50) << 16));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
SetKbdLeds(InputInfoPtr pInfo, int leds)
|
||||
{
|
||||
int real_leds = 0;
|
||||
|
||||
#ifdef LED_CAP
|
||||
if (leds & XLED1) real_leds |= LED_CAP;
|
||||
if (leds & XLED2) real_leds |= LED_NUM;
|
||||
if (leds & XLED3) real_leds |= LED_SCR;
|
||||
#ifdef LED_COMP
|
||||
if (leds & XLED4) real_leds |= LED_COMP;
|
||||
#else
|
||||
if (leds & XLED4) real_leds |= LED_SCR;
|
||||
#endif
|
||||
#endif
|
||||
ioctl(pInfo->fd, KDSETLED, real_leds);
|
||||
}
|
||||
|
||||
static int
|
||||
GetKbdLeds(InputInfoPtr pInfo)
|
||||
{
|
||||
char real_leds = 0;
|
||||
int leds = 0;
|
||||
|
||||
ioctl(pInfo->fd, KDGETLED, &real_leds);
|
||||
|
||||
if (real_leds & LED_CAP) leds |= XLED1;
|
||||
if (real_leds & LED_NUM) leds |= XLED2;
|
||||
if (real_leds & LED_SCR) leds |= XLED3;
|
||||
|
||||
return(leds);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
int kbdtrans;
|
||||
struct termios kbdtty;
|
||||
} LnxKbdPrivRec, *LnxKbdPrivPtr;
|
||||
|
||||
static int
|
||||
KbdInit(InputInfoPtr pInfo, int what)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
LnxKbdPrivPtr priv = (LnxKbdPrivPtr) pKbd->private;
|
||||
|
||||
if (pKbd->isConsole) {
|
||||
ioctl (pInfo->fd, KDGKBMODE, &(priv->kbdtrans));
|
||||
tcgetattr (pInfo->fd, &(priv->kbdtty));
|
||||
}
|
||||
if (!pKbd->CustomKeycodes) {
|
||||
pKbd->RemapScanCode = ATScancode;
|
||||
}
|
||||
|
||||
return Success;
|
||||
}
|
||||
|
||||
static int
|
||||
KbdOn(InputInfoPtr pInfo, int what)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
LnxKbdPrivPtr priv = (LnxKbdPrivPtr) pKbd->private;
|
||||
struct termios nTty;
|
||||
|
||||
if (pKbd->isConsole) {
|
||||
if (pKbd->CustomKeycodes)
|
||||
ioctl(pInfo->fd, KDSKBMODE, K_MEDIUMRAW);
|
||||
else
|
||||
ioctl(pInfo->fd, KDSKBMODE, K_RAW);
|
||||
|
||||
nTty = priv->kbdtty;
|
||||
nTty.c_iflag = (IGNPAR | IGNBRK) & (~PARMRK) & (~ISTRIP);
|
||||
nTty.c_oflag = 0;
|
||||
nTty.c_cflag = CREAD | CS8;
|
||||
nTty.c_lflag = 0;
|
||||
nTty.c_cc[VTIME]=0;
|
||||
nTty.c_cc[VMIN]=1;
|
||||
cfsetispeed(&nTty, 9600);
|
||||
cfsetospeed(&nTty, 9600);
|
||||
tcsetattr(pInfo->fd, TCSANOW, &nTty);
|
||||
}
|
||||
return Success;
|
||||
}
|
||||
|
||||
static int
|
||||
KbdOff(InputInfoPtr pInfo, int what)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
LnxKbdPrivPtr priv = (LnxKbdPrivPtr) pKbd->private;
|
||||
|
||||
if (pKbd->isConsole) {
|
||||
ioctl(pInfo->fd, KDSKBMODE, priv->kbdtrans);
|
||||
tcsetattr(pInfo->fd, TCSANOW, &(priv->kbdtty));
|
||||
}
|
||||
return Success;
|
||||
}
|
||||
|
||||
static void
|
||||
stdReadInput(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
unsigned char rBuf[64];
|
||||
int nBytes, i;
|
||||
if ((nBytes = read( pInfo->fd, (char *)rBuf, sizeof(rBuf))) > 0) {
|
||||
for (i = 0; i < nBytes; i++)
|
||||
pKbd->PostEvent(pInfo, rBuf[i] & 0x7f,
|
||||
rBuf[i] & 0x80 ? FALSE : TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
static Bool
|
||||
OpenKeyboard(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
int i;
|
||||
KbdProtocolId prot = PROT_UNKNOWN_KBD;
|
||||
char *s;
|
||||
|
||||
s = xf86SetStrOption(pInfo->options, "Protocol", NULL);
|
||||
for (i = 0; protocols[i].name; i++) {
|
||||
if (xf86NameCmp(s, protocols[i].name) == 0) {
|
||||
prot = protocols[i].id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch (prot) {
|
||||
case PROT_STD:
|
||||
pInfo->read_input = stdReadInput;
|
||||
break;
|
||||
default:
|
||||
xf86Msg(X_ERROR,"\"%s\" is not a valid keyboard protocol name\n", s);
|
||||
free(s);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
free(s);
|
||||
|
||||
s = xf86SetStrOption(pInfo->options, "Device", NULL);
|
||||
if (s == NULL) {
|
||||
int rc;
|
||||
pInfo->fd = xf86Info.consoleFd;
|
||||
pKbd->isConsole = TRUE;
|
||||
|
||||
rc = tcsetpgrp(pInfo->fd, getpgid(0));
|
||||
if (rc < 0) {
|
||||
xf86IDrvMsg(pInfo, X_ERROR,
|
||||
"failed to set us as foreground pgrp (%s)\n",
|
||||
strerror(errno));
|
||||
}
|
||||
|
||||
} else {
|
||||
pInfo->fd = open(s, O_RDONLY | O_NONBLOCK | O_EXCL);
|
||||
if (pInfo->fd == -1) {
|
||||
xf86Msg(X_ERROR, "%s: cannot open \"%s\"\n", pInfo->name, s);
|
||||
free(s);
|
||||
return FALSE;
|
||||
}
|
||||
pKbd->isConsole = FALSE;
|
||||
free(s);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
_X_EXPORT Bool
|
||||
xf86OSKbdPreInit(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = pInfo->private;
|
||||
|
||||
pKbd->KbdInit = KbdInit;
|
||||
pKbd->KbdOn = KbdOn;
|
||||
pKbd->KbdOff = KbdOff;
|
||||
pKbd->Bell = SoundBell;
|
||||
pKbd->SetLeds = SetKbdLeds;
|
||||
pKbd->GetLeds = GetKbdLeds;
|
||||
pKbd->KbdGetMapping = KbdGetMapping;
|
||||
|
||||
pKbd->RemapScanCode = NULL;
|
||||
|
||||
pKbd->OpenKeyboard = OpenKeyboard;
|
||||
|
||||
pKbd->private = calloc(sizeof(LnxKbdPrivRec), 1);
|
||||
if (pKbd->private == NULL) {
|
||||
xf86Msg(X_ERROR,"can't allocate keyboard OS private data\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#if defined(__powerpc__)
|
||||
{
|
||||
FILE *f;
|
||||
f = fopen("/proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes","r");
|
||||
if (f) {
|
||||
if (fgetc(f) == '0')
|
||||
xf86ReplaceBoolOption(pInfo->options, "CustomKeycodes", TRUE);
|
||||
fclose(f);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return TRUE;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
extern void KbdGetMapping(InputInfoPtr pInfo, KeySymsPtr pKeySyms,
|
||||
CARD8 *pModMap);
|
||||
|
||||
@@ -0,0 +1,538 @@
|
||||
/*
|
||||
* Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany
|
||||
* Copyright 1993 by David Dawes <dawes@XFree86.org>
|
||||
* Copyright 1999 by David Holland <davidh@iquest.net)
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that copyright
|
||||
* notice and this permission notice appear in supporting documentation, and
|
||||
* that the names of Thomas Roell, David Dawes, and David Holland not be used
|
||||
* in advertising or publicity pertaining to distribution of the software
|
||||
* without specific, written prior permission. Thomas Roell, David Dawes, and
|
||||
* David Holland make no representations about the suitability of this software
|
||||
* for any purpose. It is provided "as is" without express or implied
|
||||
* warranty.
|
||||
*
|
||||
* THOMAS ROELL, DAVID DAWES, AND DAVID HOLLAND DISCLAIM ALL WARRANTIES WITH
|
||||
* REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS. IN NO EVENT SHALL THOMAS ROELL, DAVID DAWES, OR DAVID HOLLAND
|
||||
* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2004-2009, 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.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include "xf86.h"
|
||||
#include "xf86Priv.h"
|
||||
#include "xf86_OSlib.h"
|
||||
#include "xf86OSKbd.h"
|
||||
#include "sun_kbd.h"
|
||||
|
||||
#include <sys/stropts.h>
|
||||
#include <sys/vuid_event.h>
|
||||
#include <sys/kbd.h>
|
||||
#include <sys/note.h> /* needed before including older versions of hid.h */
|
||||
#include <sys/usb/clients/hid/hid.h>
|
||||
|
||||
static int KbdOn(InputInfoPtr pInfo, int what);
|
||||
static Bool OpenKeyboard(InputInfoPtr pInfo);
|
||||
static void CloseKeyboard(InputInfoPtr pInfo);
|
||||
|
||||
static void
|
||||
sunKbdSetLeds(InputInfoPtr pInfo, int leds)
|
||||
{
|
||||
int i;
|
||||
uchar_t setleds = (uchar_t) (leds & 0xFF);
|
||||
|
||||
SYSCALL(i = ioctl(pInfo->fd, KIOCSLED, &setleds));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR, "%s: Failed to set keyboard LED's: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
sunKbdGetLeds(InputInfoPtr pInfo)
|
||||
{
|
||||
int i;
|
||||
uchar_t leds = 0;
|
||||
|
||||
SYSCALL(i = ioctl(pInfo->fd, KIOCGLED, &leds));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR, "%s: Failed to get keyboard LED's: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
}
|
||||
return (int) leds;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Save initial keyboard state. This is called at the start of each server
|
||||
* generation.
|
||||
*/
|
||||
static int
|
||||
KbdInit(InputInfoPtr pInfo, int what)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
sunKbdPrivPtr priv = (sunKbdPrivPtr) pKbd->private;
|
||||
pointer options = pInfo->options;
|
||||
|
||||
int ktype, klayout, i;
|
||||
const char *ktype_name;
|
||||
|
||||
priv->kbdActive = FALSE;
|
||||
priv->otranslation = -1;
|
||||
priv->odirect = -1;
|
||||
|
||||
if (options != NULL) {
|
||||
priv->strmod = xf86SetStrOption(options, "StreamsModule", NULL);
|
||||
} else {
|
||||
priv->strmod = NULL;
|
||||
}
|
||||
|
||||
i = KbdOn(pInfo, DEVICE_INIT);
|
||||
if (i != Success) {
|
||||
return i;
|
||||
}
|
||||
|
||||
SYSCALL(i = ioctl(pInfo->fd, KIOCTYPE, &ktype));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR, "%s: Unable to determine keyboard type: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
return BadImplementation;
|
||||
}
|
||||
|
||||
SYSCALL(i = ioctl(pInfo->fd, KIOCLAYOUT, &klayout));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR, "%s: Unable to determine keyboard layout: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
return BadImplementation;
|
||||
}
|
||||
|
||||
switch (ktype) {
|
||||
case KB_SUN3:
|
||||
ktype_name = "Sun Type 3"; break;
|
||||
case KB_SUN4:
|
||||
ktype_name = "Sun Type 4/5/6"; break;
|
||||
case KB_USB:
|
||||
ktype_name = "USB"; break;
|
||||
case KB_PC:
|
||||
ktype_name = "PC"; break;
|
||||
default:
|
||||
ktype_name = "Unknown"; break;
|
||||
}
|
||||
|
||||
xf86Msg(X_PROBED, "%s: Keyboard type: %s (%d)\n",
|
||||
pInfo->name, ktype_name, ktype);
|
||||
xf86Msg(X_PROBED, "%s: Keyboard layout: %d\n", pInfo->name, klayout);
|
||||
|
||||
priv->ktype = ktype;
|
||||
|
||||
return Success;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
KbdOn(InputInfoPtr pInfo, int what)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
sunKbdPrivPtr priv = (sunKbdPrivPtr) pKbd->private;
|
||||
|
||||
int ktrans, kdirect, i;
|
||||
int io_get_direct = KIOCGDIRECT;
|
||||
int io_set_direct = KIOCSDIRECT;
|
||||
|
||||
if (priv->kbdActive) {
|
||||
return Success;
|
||||
}
|
||||
|
||||
if (pInfo->fd == -1) {
|
||||
if (!OpenKeyboard(pInfo)) {
|
||||
return BadImplementation;
|
||||
}
|
||||
}
|
||||
|
||||
if (priv->strmod) {
|
||||
/* Check to see if module is already pushed */
|
||||
SYSCALL(i = ioctl(pInfo->fd, I_FIND, priv->strmod));
|
||||
|
||||
if (i == 0) { /* Not already pushed */
|
||||
SYSCALL(i = ioctl(pInfo->fd, I_PUSH, priv->strmod));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR, "%s: cannot push module '%s' onto "
|
||||
"keyboard device: %s\n",
|
||||
pInfo->name, priv->strmod, strerror(errno));
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef HIDIOCKMSDIRECT
|
||||
if (strcmp(priv->strmod, "usbkbm") == 0) {
|
||||
io_get_direct = HIDIOCKMGDIRECT;
|
||||
io_set_direct = HIDIOCKMSDIRECT;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
SYSCALL(i = ioctl(pInfo->fd, io_get_direct, &kdirect));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR,
|
||||
"%s: Unable to determine keyboard direct setting: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
return BadImplementation;
|
||||
}
|
||||
|
||||
priv->odirect = kdirect;
|
||||
kdirect = 1;
|
||||
|
||||
SYSCALL(i = ioctl(pInfo->fd, io_set_direct, &kdirect));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR, "%s: Failed turning keyboard direct mode on: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
return BadImplementation;
|
||||
}
|
||||
|
||||
/* Setup translation */
|
||||
|
||||
SYSCALL(i = ioctl(pInfo->fd, KIOCGTRANS, &ktrans));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR,
|
||||
"%s: Unable to determine keyboard translation mode: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
return BadImplementation;
|
||||
}
|
||||
|
||||
priv->otranslation = ktrans;
|
||||
ktrans = TR_UNTRANS_EVENT;
|
||||
|
||||
SYSCALL(i = ioctl(pInfo->fd, KIOCTRANS, &ktrans));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR, "%s: Failed setting keyboard translation mode: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
return BadImplementation;
|
||||
}
|
||||
|
||||
priv->oleds = sunKbdGetLeds(pInfo);
|
||||
|
||||
/* Allocate here so we don't alloc in ReadInput which may be called
|
||||
from SIGIO handler. */
|
||||
priv->remove_timer = TimerSet(priv->remove_timer, 0, 0, NULL, NULL);
|
||||
|
||||
priv->kbdActive = TRUE;
|
||||
return Success;
|
||||
}
|
||||
|
||||
static int
|
||||
KbdOff(InputInfoPtr pInfo, int what)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
sunKbdPrivPtr priv = (sunKbdPrivPtr) pKbd->private;
|
||||
|
||||
int i;
|
||||
int io_set_direct, kdirect;
|
||||
|
||||
if (priv->remove_timer) {
|
||||
TimerFree(priv->remove_timer);
|
||||
priv->remove_timer = NULL;
|
||||
}
|
||||
|
||||
if (!priv->kbdActive) {
|
||||
return Success;
|
||||
}
|
||||
|
||||
if (pInfo->fd == -1) {
|
||||
priv->kbdActive = FALSE;
|
||||
return Success;
|
||||
}
|
||||
|
||||
/* restore original state */
|
||||
|
||||
if (priv->oleds != -1) {
|
||||
sunKbdSetLeds(pInfo, priv->oleds);
|
||||
priv->oleds = -1;
|
||||
}
|
||||
|
||||
if (priv->otranslation != -1) {
|
||||
SYSCALL(i = ioctl(pInfo->fd, KIOCTRANS, &priv->otranslation));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR,
|
||||
"%s: Unable to restore keyboard translation mode: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
return BadImplementation;
|
||||
}
|
||||
priv->otranslation = -1;
|
||||
}
|
||||
|
||||
io_set_direct = KIOCSDIRECT;
|
||||
kdirect = priv->odirect;
|
||||
|
||||
#ifdef HIDIOCKMSDIRECT
|
||||
if ((priv->strmod != NULL) && (strcmp(priv->strmod, "usbkbm") == 0)) {
|
||||
io_set_direct = HIDIOCKMSDIRECT;
|
||||
kdirect = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (kdirect != -1) {
|
||||
SYSCALL(i = ioctl(pInfo->fd, io_set_direct, &kdirect));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR,
|
||||
"%s: Unable to restore keyboard direct setting: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
return BadImplementation;
|
||||
}
|
||||
priv->odirect = -1;
|
||||
}
|
||||
|
||||
if (priv->strmod) {
|
||||
SYSCALL(i = ioctl(pInfo->fd, I_POP, priv->strmod));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_WARNING,
|
||||
"%s: cannot pop module '%s' off keyboard device: %s\n",
|
||||
pInfo->name, priv->strmod, strerror(errno));
|
||||
}
|
||||
}
|
||||
|
||||
CloseKeyboard(pInfo);
|
||||
return Success;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
SoundKbdBell(InputInfoPtr pInfo, int loudness, int pitch, int duration)
|
||||
{
|
||||
int kbdCmd, i;
|
||||
#ifdef KIOCMKTONE
|
||||
int cycles;
|
||||
int mktonevalue;
|
||||
#endif
|
||||
|
||||
if (loudness && pitch)
|
||||
{
|
||||
#ifdef KIOCMKTONE
|
||||
if (pitch == 0)
|
||||
cycles = UINT16_MAX;
|
||||
else if (pitch >= UINT16_MAX)
|
||||
cycles = 0;
|
||||
else {
|
||||
cycles = (PIT_HZ + pitch / 2) / pitch;
|
||||
if (cycles > UINT16_MAX)
|
||||
cycles = UINT16_MAX;
|
||||
}
|
||||
|
||||
mktonevalue = cycles | (((duration * loudness * 20) / 1000) << 16);
|
||||
|
||||
errno = 0;
|
||||
SYSCALL(i = ioctl (pInfo->fd, KIOCMKTONE, mktonevalue));
|
||||
if (i == 0)
|
||||
return;
|
||||
|
||||
if (errno != EINVAL) {
|
||||
if (errno != EAGAIN)
|
||||
xf86Msg(X_ERROR, "%s: Failed to activate bell: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
kbdCmd = KBD_CMD_BELL;
|
||||
|
||||
SYSCALL(i = ioctl (pInfo->fd, KIOCCMD, &kbdCmd));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR, "%s: Failed to activate bell: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
}
|
||||
|
||||
usleep(duration * loudness * 20);
|
||||
|
||||
kbdCmd = KBD_CMD_NOBELL;
|
||||
SYSCALL(i = ioctl (pInfo->fd, KIOCCMD, &kbdCmd));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_ERROR, "%s: Failed to deactivate bell: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
SetKbdLeds(InputInfoPtr pInfo, int leds)
|
||||
{
|
||||
int real_leds = sunKbdGetLeds(pInfo);
|
||||
|
||||
real_leds &= ~(LED_CAPS_LOCK | LED_NUM_LOCK | LED_SCROLL_LOCK | LED_COMPOSE);
|
||||
|
||||
if (leds & XLED1) real_leds |= LED_CAPS_LOCK;
|
||||
if (leds & XLED2) real_leds |= LED_NUM_LOCK;
|
||||
if (leds & XLED3) real_leds |= LED_SCROLL_LOCK;
|
||||
if (leds & XLED4) real_leds |= LED_COMPOSE;
|
||||
|
||||
sunKbdSetLeds(pInfo, real_leds);
|
||||
}
|
||||
|
||||
static int
|
||||
GetKbdLeds(InputInfoPtr pInfo)
|
||||
{
|
||||
int leds = 0;
|
||||
int real_leds = sunKbdGetLeds(pInfo);
|
||||
|
||||
if (real_leds & LED_CAPS_LOCK) leds |= XLED1;
|
||||
if (real_leds & LED_NUM_LOCK) leds |= XLED2;
|
||||
if (real_leds & LED_SCROLL_LOCK) leds |= XLED3;
|
||||
if (real_leds & LED_COMPOSE) leds |= XLED4;
|
||||
|
||||
return leds;
|
||||
}
|
||||
|
||||
static void
|
||||
CloseKeyboard(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
sunKbdPrivPtr priv = (sunKbdPrivPtr) pKbd->private;
|
||||
|
||||
close(pInfo->fd);
|
||||
pInfo->fd = -1;
|
||||
priv->kbdActive = FALSE;
|
||||
}
|
||||
|
||||
/* 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
|
||||
RemoveKeyboard(OsTimerPtr timer, CARD32 time, pointer arg)
|
||||
{
|
||||
InputInfoPtr pInfo = (InputInfoPtr) arg;
|
||||
|
||||
CloseKeyboard(pInfo);
|
||||
xf86DisableDevice(pInfo->dev, TRUE);
|
||||
|
||||
return 0; /* All done, don't set to run again */
|
||||
}
|
||||
|
||||
static void
|
||||
ReadInput(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
sunKbdPrivPtr priv = (sunKbdPrivPtr) pKbd->private;
|
||||
Firm_event event[64];
|
||||
int nBytes, i;
|
||||
|
||||
while (TRUE) {
|
||||
/* I certainly hope it's not possible to read partial events */
|
||||
nBytes = read(pInfo->fd, (char *)event, sizeof(event));
|
||||
if (nBytes > 0) {
|
||||
for (i = 0; i < (nBytes / sizeof(Firm_event)); i++) {
|
||||
pKbd->PostEvent(pInfo, event[i].id & 0xFF,
|
||||
event[i].value == VKEY_DOWN ? TRUE : FALSE);
|
||||
}
|
||||
} else if (nBytes == -1) {
|
||||
switch (errno) {
|
||||
case EAGAIN: /* Nothing to read now */
|
||||
return;
|
||||
case EINTR: /* Interrupted, try again */
|
||||
break;
|
||||
case ENODEV: /* May happen when USB kbd is unplugged */
|
||||
/* We use X_NONE here because it didn't alloc since we
|
||||
may be called from SIGIO handler. No longer true for
|
||||
sigsafe logging, but matters for older servers */
|
||||
LogMessageVerbSigSafe(X_NONE, 0,
|
||||
"%s: Device no longer present - removing.\n",
|
||||
pInfo->name);
|
||||
xf86RemoveEnabledDevice(pInfo);
|
||||
priv->remove_timer = TimerSet(priv->remove_timer, 0, 1,
|
||||
RemoveKeyboard, pInfo);
|
||||
return;
|
||||
default: /* All other errors */
|
||||
/* We use X_NONE here because it didn't alloc since we
|
||||
may be called from SIGIO handler. No longer true for
|
||||
sigsafe logging, but matters for older servers */
|
||||
LogMessageVerbSigSafe(X_NONE, 0, "%s: Read error: %s\n", pInfo->name,
|
||||
strerror(errno));
|
||||
return;
|
||||
}
|
||||
} else { /* nBytes == 0, so nothing more to read */
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static Bool
|
||||
OpenKeyboard(InputInfoPtr pInfo)
|
||||
{
|
||||
char *kbdPath = xf86SetStrOption(pInfo->options, "Device", "/dev/kbd");
|
||||
Bool ret;
|
||||
|
||||
pInfo->fd = open(kbdPath, O_RDONLY | O_NONBLOCK);
|
||||
|
||||
if (pInfo->fd == -1) {
|
||||
xf86Msg(X_ERROR, "%s: cannot open \"%s\"\n", pInfo->name, kbdPath);
|
||||
ret = FALSE;
|
||||
} else {
|
||||
xf86MsgVerb(X_INFO, 3, "%s: Opened device \"%s\"\n", pInfo->name,
|
||||
kbdPath);
|
||||
pInfo->read_input = ReadInput;
|
||||
ret = TRUE;
|
||||
/* in case it wasn't set and we fell back to default */
|
||||
xf86ReplaceStrOption(pInfo->options, "Device", kbdPath);
|
||||
}
|
||||
|
||||
free(kbdPath);
|
||||
return ret;
|
||||
}
|
||||
|
||||
_X_EXPORT Bool
|
||||
xf86OSKbdPreInit(InputInfoPtr pInfo)
|
||||
{
|
||||
KbdDevPtr pKbd = pInfo->private;
|
||||
|
||||
pKbd->KbdInit = KbdInit;
|
||||
pKbd->KbdOn = KbdOn;
|
||||
pKbd->KbdOff = KbdOff;
|
||||
pKbd->Bell = SoundKbdBell;
|
||||
pKbd->SetLeds = SetKbdLeds;
|
||||
pKbd->GetLeds = GetKbdLeds;
|
||||
pKbd->KbdGetMapping = KbdGetMapping;
|
||||
|
||||
pKbd->RemapScanCode = NULL;
|
||||
|
||||
pKbd->OpenKeyboard = OpenKeyboard;
|
||||
|
||||
pKbd->private = calloc(sizeof(sunKbdPrivRec), 1);
|
||||
if (pKbd->private == NULL) {
|
||||
xf86Msg(X_ERROR,"can't allocate keyboard OS private data\n");
|
||||
return FALSE;
|
||||
} else {
|
||||
sunKbdPrivPtr priv = (sunKbdPrivPtr) pKbd->private;
|
||||
priv->otranslation = -1;
|
||||
priv->odirect = -1;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (c) 2007, 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.
|
||||
*/
|
||||
|
||||
#ifndef _XORG_SUN_KBD_H_
|
||||
#define _XORG_SUN_KBD_H_
|
||||
|
||||
typedef struct {
|
||||
int ktype; /* Keyboard type from KIOCTYPE */
|
||||
Bool kbdActive; /* Have we set kbd modes for X? */
|
||||
int otranslation; /* Original translation mode */
|
||||
int odirect; /* Original "direct" mode setting */
|
||||
int oleds; /* Original LED state */
|
||||
const char * strmod; /* Streams module pushed on kbd device */
|
||||
OsTimerPtr remove_timer; /* Callback for removal on ENODEV */
|
||||
} sunKbdPrivRec, *sunKbdPrivPtr;
|
||||
|
||||
/* sun_kbdMap.c */
|
||||
extern void KbdGetMapping (InputInfoPtr pInfo, KeySymsPtr pKeySyms,
|
||||
CARD8 *pModMap);
|
||||
#endif
|
||||
@@ -0,0 +1,683 @@
|
||||
/*
|
||||
* Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
|
||||
* Copyright 1993 by David Dawes <dawes@xfree86.org>
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that copyright
|
||||
* notice and this permission notice appear in supporting documentation, and
|
||||
* that the names of Thomas Roell and David Dawes not be used in advertising or
|
||||
* publicity pertaining to distribution of the software without specific,
|
||||
* written prior permission. Thomas Roell and David Dawes make no
|
||||
* representations about the suitability of this software for any purpose. It
|
||||
* is provided "as is" without express or implied warranty.
|
||||
*
|
||||
* THOMAS ROELL AND DAVID DAWES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
|
||||
* SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
|
||||
* IN NO EVENT SHALL THOMAS ROELL OR DAVID DAWES BE LIABLE FOR ANY SPECIAL,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <X11/Xfuncproto.h>
|
||||
#include <X11/Sunkeysym.h>
|
||||
#include "atKeynames.h"
|
||||
#include "xf86OSKbd.h"
|
||||
#include "xf86Keymap.h"
|
||||
#include "sun_kbd.h"
|
||||
|
||||
#include <sys/kbd.h>
|
||||
|
||||
/* Map the Solaris keycodes to the "XFree86" keycodes. */
|
||||
|
||||
/*
|
||||
* Additional Korean 106 Keyboard Keys not defined in atKeynames.h
|
||||
* These are exactly same USB usage id with Kana(0x90) and Eisu(0x91) keys
|
||||
* in Mac Japanese keyboard. From /usr/X11/lib/X11/xkb/keycodes/xfree86, these
|
||||
* are 209 and 210. So these should be 0xc9(209-8=201) and 0xca(210-8=202).
|
||||
* <EISU> = 210; // Alphanumeric mode on macintosh
|
||||
* <KANA> = 209; // Kana mode on macintosh
|
||||
*/
|
||||
#define KEY_Hangul 0xC9 /* Also Kana in Mac Japanaese kbd */
|
||||
#define KEY_Hangul_Hanja 0xCA /* Also Eisu in Mac Japanaese kbd */
|
||||
|
||||
/* Override atKeynames.h values with unique keycodes, so we can distinguish
|
||||
KEY_F15 from KEY_HKTG & KEY_KP_DEC from KEY_BSlash2 */
|
||||
#undef KEY_HKTG
|
||||
#define KEY_HKTG /* Hirugana/Katakana tog 0xC8 */ 200 /* was 112 */
|
||||
#undef KEY_BSlash2
|
||||
#define KEY_BSlash2 /* \ _ 0xCB */ 203 /* was 115 */
|
||||
|
||||
static unsigned char sunmap[256] = {
|
||||
#if defined(i386) || defined(__i386) || defined(__i386__) || defined(__x86)
|
||||
KEY_NOTUSED, /* 0 */
|
||||
KEY_Tilde, /* 1 */
|
||||
KEY_1, /* 2 */
|
||||
KEY_2, /* 3 */
|
||||
KEY_3, /* 4 */
|
||||
KEY_4, /* 5 */
|
||||
KEY_5, /* 6 */
|
||||
KEY_6, /* 7 */
|
||||
KEY_7, /* 8 */
|
||||
KEY_8, /* 9 */
|
||||
KEY_9, /* 10 */
|
||||
KEY_0, /* 11 */
|
||||
KEY_Minus, /* 12 */
|
||||
KEY_Equal, /* 13 */
|
||||
0x7D, /*KEY_P_YEN*/ /* 14 */
|
||||
KEY_BackSpace, /* 15 */
|
||||
KEY_Tab, /* 16 */
|
||||
KEY_Q, /* 17 */
|
||||
KEY_W, /* 18 */
|
||||
KEY_E, /* 19 */
|
||||
KEY_R, /* 20 */
|
||||
KEY_T, /* 21 */
|
||||
KEY_Y, /* 22 */
|
||||
KEY_U, /* 23 */
|
||||
KEY_I, /* 24 */
|
||||
KEY_O, /* 25 */
|
||||
KEY_P, /* 26 */
|
||||
KEY_LBrace, /* 27 */
|
||||
KEY_RBrace, /* 28 */
|
||||
KEY_BSlash, /* 29 */
|
||||
KEY_CapsLock, /* 30 */
|
||||
KEY_A, /* 31 */
|
||||
KEY_S, /* 32 */
|
||||
KEY_D, /* 33 */
|
||||
KEY_F, /* 34 */
|
||||
KEY_G, /* 35 */
|
||||
KEY_H, /* 36 */
|
||||
KEY_J, /* 37 */
|
||||
KEY_K, /* 38 */
|
||||
KEY_L, /* 39 */
|
||||
KEY_SemiColon, /* 40 */
|
||||
KEY_Quote, /* 41 */
|
||||
KEY_UNKNOWN, /* 42 */
|
||||
KEY_Enter, /* 43 */
|
||||
KEY_ShiftL, /* 44 */
|
||||
KEY_Less, /* 45 */
|
||||
KEY_Z, /* 46 */
|
||||
KEY_X, /* 47 */
|
||||
KEY_C, /* 48 */
|
||||
KEY_V, /* 49 */
|
||||
KEY_B, /* 50 */
|
||||
KEY_N, /* 51 */
|
||||
KEY_M, /* 52 */
|
||||
KEY_Comma, /* 53 */
|
||||
KEY_Period, /* 54 */
|
||||
KEY_Slash, /* 55 */
|
||||
KEY_BSlash2, /* 56 */
|
||||
KEY_ShiftR, /* 57 */
|
||||
KEY_LCtrl, /* 58 */
|
||||
KEY_LMeta, /* 59 */
|
||||
KEY_Alt, /* 60 */
|
||||
KEY_Space, /* 61 */
|
||||
KEY_AltLang, /* 62 */
|
||||
KEY_RMeta, /* 63 */
|
||||
KEY_RCtrl, /* 64 */
|
||||
KEY_Menu, /* 65 */
|
||||
KEY_UNKNOWN, /* 66 */
|
||||
KEY_UNKNOWN, /* 67 */
|
||||
KEY_UNKNOWN, /* 68 */
|
||||
KEY_UNKNOWN, /* 69 */
|
||||
KEY_UNKNOWN, /* 70 */
|
||||
KEY_UNKNOWN, /* 71 */
|
||||
KEY_UNKNOWN, /* 72 */
|
||||
KEY_UNKNOWN, /* 73 */
|
||||
KEY_UNKNOWN, /* 74 */
|
||||
KEY_Insert, /* 75 */
|
||||
KEY_Delete, /* 76 */
|
||||
KEY_UNKNOWN, /* 77 */
|
||||
KEY_UNKNOWN, /* 78 */
|
||||
KEY_Left, /* 79 */
|
||||
KEY_Home, /* 80 */
|
||||
KEY_End, /* 81 */
|
||||
KEY_UNKNOWN, /* 82 */
|
||||
KEY_Up, /* 83 */
|
||||
KEY_Down, /* 84 */
|
||||
KEY_PgUp, /* 85 */
|
||||
KEY_PgDown, /* 86 */
|
||||
KEY_UNKNOWN, /* 87 */
|
||||
KEY_UNKNOWN, /* 88 */
|
||||
KEY_Right, /* 89 */
|
||||
KEY_NumLock, /* 90 */
|
||||
KEY_KP_7, /* 91 */
|
||||
KEY_KP_4, /* 92 */
|
||||
KEY_KP_1, /* 93 */
|
||||
KEY_UNKNOWN, /* 94 */
|
||||
KEY_KP_Divide, /* 95 */
|
||||
KEY_KP_8, /* 96 */
|
||||
KEY_KP_5, /* 97 */
|
||||
KEY_KP_2, /* 98 */
|
||||
KEY_KP_0, /* 99 */
|
||||
KEY_KP_Multiply, /* 100 */
|
||||
KEY_KP_9, /* 101 */
|
||||
KEY_KP_6, /* 102 */
|
||||
KEY_KP_3, /* 103 */
|
||||
KEY_KP_Decimal, /* 104 */
|
||||
KEY_KP_Minus, /* 105 */
|
||||
KEY_KP_Plus, /* 106 */
|
||||
KEY_UNKNOWN, /* 107 */
|
||||
KEY_KP_Enter, /* 108 */
|
||||
KEY_UNKNOWN, /* 109 */
|
||||
KEY_Escape, /* 110 */
|
||||
KEY_UNKNOWN, /* 111 */
|
||||
KEY_F1, /* 112 */
|
||||
KEY_F2, /* 113 */
|
||||
KEY_F3, /* 114 */
|
||||
KEY_F4, /* 115 */
|
||||
KEY_F5, /* 116 */
|
||||
KEY_F6, /* 117 */
|
||||
KEY_F7, /* 118 */
|
||||
KEY_F8, /* 119 */
|
||||
KEY_F9, /* 120 */
|
||||
KEY_F10, /* 121 */
|
||||
KEY_F11, /* 122 */
|
||||
KEY_F12, /* 123 */
|
||||
KEY_Print, /* 124 */
|
||||
KEY_ScrollLock, /* 125 */
|
||||
KEY_Pause, /* 126 */
|
||||
KEY_UNKNOWN, /* 127 */
|
||||
KEY_UNKNOWN, /* 128 */
|
||||
KEY_UNKNOWN, /* 129 */
|
||||
KEY_UNKNOWN, /* 130 */
|
||||
KEY_NFER, /* 131 */
|
||||
KEY_XFER, /* 132 */
|
||||
KEY_HKTG, /* 133 */
|
||||
KEY_UNKNOWN, /* 134 */
|
||||
#elif defined(sparc) || defined(__sparc__)
|
||||
KEY_UNKNOWN, /* 0x00 */
|
||||
KEY_UNKNOWN, /* 0x01 */
|
||||
KEY_UNKNOWN, /* 0x02 */
|
||||
KEY_UNKNOWN, /* 0x03 */
|
||||
KEY_UNKNOWN, /* 0x04 */
|
||||
KEY_F1, /* 0x05 */
|
||||
KEY_F2, /* 0x06 */
|
||||
KEY_F10, /* 0x07 */
|
||||
KEY_F3, /* 0x08 */
|
||||
KEY_F11, /* 0x09 */
|
||||
KEY_F4, /* 0x0A */
|
||||
KEY_F12, /* 0x0B */
|
||||
KEY_F5, /* 0x0C */
|
||||
KEY_UNKNOWN, /* 0x0D */
|
||||
KEY_F6, /* 0x0E */
|
||||
KEY_UNKNOWN, /* 0x0F */
|
||||
KEY_F7, /* 0x10 */
|
||||
KEY_F8, /* 0x11 */
|
||||
KEY_F9, /* 0x12 */
|
||||
KEY_Alt, /* 0x13 */
|
||||
KEY_Up, /* 0x14 */
|
||||
KEY_Pause, /* 0x15 */
|
||||
KEY_SysReqest, /* 0x16 */
|
||||
KEY_ScrollLock, /* 0x17 */
|
||||
KEY_Left, /* 0x18 */
|
||||
KEY_UNKNOWN, /* 0x19 */
|
||||
KEY_UNKNOWN, /* 0x1A */
|
||||
KEY_Down, /* 0x1B */
|
||||
KEY_Right, /* 0x1C */
|
||||
KEY_Escape, /* 0x1D */
|
||||
KEY_1, /* 0x1E */
|
||||
KEY_2, /* 0x1F */
|
||||
KEY_3, /* 0x20 */
|
||||
KEY_4, /* 0x21 */
|
||||
KEY_5, /* 0x22 */
|
||||
KEY_6, /* 0x23 */
|
||||
KEY_7, /* 0x24 */
|
||||
KEY_8, /* 0x25 */
|
||||
KEY_9, /* 0x26 */
|
||||
KEY_0, /* 0x27 */
|
||||
KEY_Minus, /* 0x28 */
|
||||
KEY_Equal, /* 0x29 */
|
||||
KEY_Tilde, /* 0x2A */
|
||||
KEY_BackSpace, /* 0x2B */
|
||||
KEY_Insert, /* 0x2C */
|
||||
KEY_UNKNOWN, /* 0x2D */
|
||||
KEY_KP_Divide, /* 0x2E */
|
||||
KEY_KP_Multiply, /* 0x2F */
|
||||
KEY_UNKNOWN, /* 0x30 */
|
||||
KEY_UNKNOWN, /* 0x31 */
|
||||
KEY_KP_Decimal, /* 0x32 */
|
||||
KEY_UNKNOWN, /* 0x33 */
|
||||
KEY_Home, /* 0x34 */
|
||||
KEY_Tab, /* 0x35 */
|
||||
KEY_Q, /* 0x36 */
|
||||
KEY_W, /* 0x37 */
|
||||
KEY_E, /* 0x38 */
|
||||
KEY_R, /* 0x39 */
|
||||
KEY_T, /* 0x3A */
|
||||
KEY_Y, /* 0x3B */
|
||||
KEY_U, /* 0x3C */
|
||||
KEY_I, /* 0x3D */
|
||||
KEY_O, /* 0x3E */
|
||||
KEY_P, /* 0x3F */
|
||||
KEY_LBrace, /* 0x40 */
|
||||
KEY_RBrace, /* 0x41 */
|
||||
KEY_Delete, /* 0x42 */
|
||||
KEY_UNKNOWN, /* 0x43 */
|
||||
KEY_KP_7, /* 0x44 */
|
||||
KEY_KP_8, /* 0x45 */
|
||||
KEY_KP_9, /* 0x46 */
|
||||
KEY_KP_Minus, /* 0x47 */
|
||||
KEY_UNKNOWN, /* 0x48 */
|
||||
KEY_UNKNOWN, /* 0x49 */
|
||||
KEY_End, /* 0x4A */
|
||||
KEY_UNKNOWN, /* 0x4B */
|
||||
KEY_LCtrl, /* 0x4C */
|
||||
KEY_A, /* 0x4D */
|
||||
KEY_S, /* 0x4E */
|
||||
KEY_D, /* 0x4F */
|
||||
KEY_F, /* 0x50 */
|
||||
KEY_G, /* 0x51 */
|
||||
KEY_H, /* 0x52 */
|
||||
KEY_J, /* 0x53 */
|
||||
KEY_K, /* 0x54 */
|
||||
KEY_L, /* 0x55 */
|
||||
KEY_SemiColon, /* 0x56 */
|
||||
KEY_Quote, /* 0x57 */
|
||||
KEY_BSlash, /* 0x58 */
|
||||
KEY_Enter, /* 0x59 */
|
||||
KEY_KP_Enter, /* 0x5A */
|
||||
KEY_KP_4, /* 0x5B */
|
||||
KEY_KP_5, /* 0x5C */
|
||||
KEY_KP_6, /* 0x5D */
|
||||
KEY_KP_0, /* 0x5E */
|
||||
KEY_UNKNOWN, /* 0x5F */
|
||||
KEY_PgUp, /* 0x60 */
|
||||
KEY_UNKNOWN, /* 0x61 */
|
||||
KEY_NumLock, /* 0x62 */
|
||||
KEY_ShiftL, /* 0x63 */
|
||||
KEY_Z, /* 0x64 */
|
||||
KEY_X, /* 0x65 */
|
||||
KEY_C, /* 0x66 */
|
||||
KEY_V, /* 0x67 */
|
||||
KEY_B, /* 0x68 */
|
||||
KEY_N, /* 0x69 */
|
||||
KEY_M, /* 0x6A */
|
||||
KEY_Comma, /* 0x6B */
|
||||
KEY_Period, /* 0x6C */
|
||||
KEY_Slash, /* 0x6D */
|
||||
KEY_ShiftR, /* 0x6E */
|
||||
KEY_UNKNOWN, /* 0x6F */
|
||||
KEY_KP_1, /* 0x70 */
|
||||
KEY_KP_2, /* 0x71 */
|
||||
KEY_KP_3, /* 0x72 */
|
||||
KEY_UNKNOWN, /* 0x73 */
|
||||
KEY_UNKNOWN, /* 0x74 */
|
||||
KEY_UNKNOWN, /* 0x75 */
|
||||
KEY_UNKNOWN, /* 0x76 */
|
||||
KEY_CapsLock, /* 0x77 */
|
||||
KEY_LMeta, /* 0x78 */
|
||||
KEY_Space, /* 0x79 */
|
||||
KEY_RMeta, /* 0x7A */
|
||||
KEY_PgDown, /* 0x7B */
|
||||
KEY_UNKNOWN, /* 0x7C */
|
||||
KEY_KP_Plus, /* 0x7D */
|
||||
KEY_UNKNOWN, /* 0x7E */
|
||||
KEY_UNKNOWN, /* 0x7F */
|
||||
#endif
|
||||
/* The rest default to KEY_UNKNOWN */
|
||||
};
|
||||
|
||||
static
|
||||
TransMapRec sunTransMap = {
|
||||
0,
|
||||
(sizeof(sunmap)/sizeof(unsigned char)),
|
||||
sunmap
|
||||
};
|
||||
|
||||
#if defined(KB_USB)
|
||||
static unsigned char usbmap[256] = {
|
||||
/*
|
||||
* partially taken from ../bsd/bsd_KbdMap.c
|
||||
*
|
||||
* added keycodes for Sun special keys (left function keys, audio control)
|
||||
*/
|
||||
/* 0 */ KEY_NOTUSED,
|
||||
/* 1 */ KEY_NOTUSED,
|
||||
/* 2 */ KEY_NOTUSED,
|
||||
/* 3 */ KEY_NOTUSED,
|
||||
/* 4 */ KEY_A,
|
||||
/* 5 */ KEY_B,
|
||||
/* 6 */ KEY_C,
|
||||
/* 7 */ KEY_D,
|
||||
/* 8 */ KEY_E,
|
||||
/* 9 */ KEY_F,
|
||||
/* 10 */ KEY_G,
|
||||
/* 11 */ KEY_H,
|
||||
/* 12 */ KEY_I,
|
||||
/* 13 */ KEY_J,
|
||||
/* 14 */ KEY_K,
|
||||
/* 15 */ KEY_L,
|
||||
/* 16 */ KEY_M,
|
||||
/* 17 */ KEY_N,
|
||||
/* 18 */ KEY_O,
|
||||
/* 19 */ KEY_P,
|
||||
/* 20 */ KEY_Q,
|
||||
/* 21 */ KEY_R,
|
||||
/* 22 */ KEY_S,
|
||||
/* 23 */ KEY_T,
|
||||
/* 24 */ KEY_U,
|
||||
/* 25 */ KEY_V,
|
||||
/* 26 */ KEY_W,
|
||||
/* 27 */ KEY_X,
|
||||
/* 28 */ KEY_Y,
|
||||
/* 29 */ KEY_Z,
|
||||
/* 30 */ KEY_1, /* 1 !*/
|
||||
/* 31 */ KEY_2, /* 2 @ */
|
||||
/* 32 */ KEY_3, /* 3 # */
|
||||
/* 33 */ KEY_4, /* 4 $ */
|
||||
/* 34 */ KEY_5, /* 5 % */
|
||||
/* 35 */ KEY_6, /* 6 ^ */
|
||||
/* 36 */ KEY_7, /* 7 & */
|
||||
/* 37 */ KEY_8, /* 8 * */
|
||||
/* 38 */ KEY_9, /* 9 ( */
|
||||
/* 39 */ KEY_0, /* 0 ) */
|
||||
/* 40 */ KEY_Enter, /* Return */
|
||||
/* 41 */ KEY_Escape, /* Escape */
|
||||
/* 42 */ KEY_BackSpace, /* Backspace Delete */
|
||||
/* 43 */ KEY_Tab, /* Tab */
|
||||
/* 44 */ KEY_Space, /* Space */
|
||||
/* 45 */ KEY_Minus, /* - _ */
|
||||
/* 46 */ KEY_Equal, /* = + */
|
||||
/* 47 */ KEY_LBrace, /* [ { */
|
||||
/* 48 */ KEY_RBrace, /* ] } */
|
||||
/* 49 */ KEY_BSlash, /* \ | */
|
||||
/* 50 */ KEY_BSlash, /* \ _ # ~ on some keyboards */
|
||||
/* 51 */ KEY_SemiColon, /* ; : */
|
||||
/* 52 */ KEY_Quote, /* ' " */
|
||||
/* 53 */ KEY_Tilde, /* ` ~ */
|
||||
/* 54 */ KEY_Comma, /* , < */
|
||||
/* 55 */ KEY_Period, /* . > */
|
||||
/* 56 */ KEY_Slash, /* / ? */
|
||||
/* 57 */ KEY_CapsLock, /* Caps Lock */
|
||||
/* 58 */ KEY_F1, /* F1 */
|
||||
/* 59 */ KEY_F2, /* F2 */
|
||||
/* 60 */ KEY_F3, /* F3 */
|
||||
/* 61 */ KEY_F4, /* F4 */
|
||||
/* 62 */ KEY_F5, /* F5 */
|
||||
/* 63 */ KEY_F6, /* F6 */
|
||||
/* 64 */ KEY_F7, /* F7 */
|
||||
/* 65 */ KEY_F8, /* F8 */
|
||||
/* 66 */ KEY_F9, /* F9 */
|
||||
/* 67 */ KEY_F10, /* F10 */
|
||||
/* 68 */ KEY_F11, /* F11 */
|
||||
/* 69 */ KEY_F12, /* F12 */
|
||||
/* 70 */ KEY_Print, /* PrintScrn SysReq */
|
||||
/* 71 */ KEY_ScrollLock, /* Scroll Lock */
|
||||
/* 72 */ KEY_Pause, /* Pause Break */
|
||||
/* 73 */ KEY_Insert, /* Insert XXX Help on some Mac Keyboards */
|
||||
/* 74 */ KEY_Home, /* Home */
|
||||
/* 75 */ KEY_PgUp, /* Page Up */
|
||||
/* 76 */ KEY_Delete, /* Delete */
|
||||
/* 77 */ KEY_End, /* End */
|
||||
/* 78 */ KEY_PgDown, /* Page Down */
|
||||
/* 79 */ KEY_Right, /* Right Arrow */
|
||||
/* 80 */ KEY_Left, /* Left Arrow */
|
||||
/* 81 */ KEY_Down, /* Down Arrow */
|
||||
/* 82 */ KEY_Up, /* Up Arrow */
|
||||
/* 83 */ KEY_NumLock, /* Num Lock */
|
||||
/* 84 */ KEY_KP_Divide, /* Keypad / */
|
||||
/* 85 */ KEY_KP_Multiply, /* Keypad * */
|
||||
/* 86 */ KEY_KP_Minus, /* Keypad - */
|
||||
/* 87 */ KEY_KP_Plus, /* Keypad + */
|
||||
/* 88 */ KEY_KP_Enter, /* Keypad Enter */
|
||||
/* 89 */ KEY_KP_1, /* Keypad 1 End */
|
||||
/* 90 */ KEY_KP_2, /* Keypad 2 Down */
|
||||
/* 91 */ KEY_KP_3, /* Keypad 3 Pg Down */
|
||||
/* 92 */ KEY_KP_4, /* Keypad 4 Left */
|
||||
/* 93 */ KEY_KP_5, /* Keypad 5 */
|
||||
/* 94 */ KEY_KP_6, /* Keypad 6 */
|
||||
/* 95 */ KEY_KP_7, /* Keypad 7 Home */
|
||||
/* 96 */ KEY_KP_8, /* Keypad 8 Up */
|
||||
/* 97 */ KEY_KP_9, /* KEypad 9 Pg Up */
|
||||
/* 98 */ KEY_KP_0, /* Keypad 0 Ins */
|
||||
/* 99 */ KEY_KP_Decimal, /* Keypad . Del */
|
||||
/* 100 */ KEY_Less, /* < > on some keyboards */
|
||||
/* 101 */ KEY_Menu, /* Menu */
|
||||
/* 102 */ KEY_Power, /* Sun: Power */
|
||||
/* 103 */ KEY_KP_Equal, /* Keypad = on Mac keyboards */
|
||||
/* 104 */ KEY_NOTUSED,
|
||||
/* 105 */ KEY_NOTUSED,
|
||||
/* 106 */ KEY_NOTUSED,
|
||||
/* 107 */ KEY_NOTUSED,
|
||||
/* 108 */ KEY_NOTUSED,
|
||||
/* 109 */ KEY_NOTUSED,
|
||||
/* 110 */ KEY_NOTUSED,
|
||||
/* 111 */ KEY_NOTUSED,
|
||||
/* 112 */ KEY_NOTUSED,
|
||||
/* 113 */ KEY_NOTUSED,
|
||||
/* 114 */ KEY_NOTUSED,
|
||||
/* 115 */ KEY_NOTUSED,
|
||||
/* 116 */ KEY_L7, /* Sun: Open */
|
||||
/* 117 */ KEY_Help, /* Sun: Help */
|
||||
/* 118 */ KEY_L3, /* Sun: Props */
|
||||
/* 119 */ KEY_L5, /* Sun: Front */
|
||||
/* 120 */ KEY_L1, /* Sun: Stop */
|
||||
/* 121 */ KEY_L2, /* Sun: Again */
|
||||
/* 122 */ KEY_L4, /* Sun: Undo */
|
||||
/* 123 */ KEY_L10, /* Sun: Cut */
|
||||
/* 124 */ KEY_L6, /* Sun: Copy */
|
||||
/* 125 */ KEY_L8, /* Sun: Paste */
|
||||
/* 126 */ KEY_L9, /* Sun: Find */
|
||||
/* 127 */ KEY_Mute, /* Sun: AudioMute */
|
||||
/* 128 */ KEY_AudioRaise, /* Sun: AudioRaise */
|
||||
/* 129 */ KEY_AudioLower, /* Sun: AudioLower */
|
||||
/* 130 */ KEY_NOTUSED,
|
||||
/* 131 */ KEY_NOTUSED,
|
||||
/* 132 */ KEY_NOTUSED,
|
||||
/* 133 */ KEY_NOTUSED,
|
||||
/* 134 */ KEY_NOTUSED,
|
||||
/* 135 */ KEY_BSlash2, /* Sun Japanese Kbd: Backslash / Underscore */
|
||||
/* 136 */ KEY_HKTG, /* Sun Japanese type7 Kbd: Hirugana/Katakana */
|
||||
/* 137 */ KEY_Yen, /* Sun Japanese Kbd: Yen / Brokenbar */
|
||||
/* 138 */ KEY_XFER, /* Sun Japanese Kbd: Kanji Transfer */
|
||||
/* 139 */ KEY_NFER, /* Sun Japanese Kbd: No Kanji Transfer */
|
||||
/* 140 */ KEY_NOTUSED,
|
||||
/* 141 */ KEY_NOTUSED,
|
||||
/* 142 */ KEY_NOTUSED,
|
||||
/* 143 */ KEY_NOTUSED,
|
||||
/* 144 */ KEY_Hangul, /* Korean 106 Kbd: Hangul */
|
||||
/* 145 */ KEY_Hangul_Hanja, /* Korean 106 Kbd: Hanja */
|
||||
/* 146 */ KEY_NOTUSED,
|
||||
/* 147 */ KEY_NOTUSED,
|
||||
/* 148 */ KEY_NOTUSED,
|
||||
/* 149 */ KEY_NOTUSED,
|
||||
/* 150 */ KEY_NOTUSED,
|
||||
/* 151 */ KEY_NOTUSED,
|
||||
/* 152 */ KEY_NOTUSED,
|
||||
/* 153 */ KEY_NOTUSED,
|
||||
/* 154 */ KEY_NOTUSED,
|
||||
/* 155 */ KEY_NOTUSED,
|
||||
/* 156 */ KEY_NOTUSED,
|
||||
/* 157 */ KEY_NOTUSED,
|
||||
/* 158 */ KEY_NOTUSED,
|
||||
/* 159 */ KEY_NOTUSED,
|
||||
/* 160 */ KEY_NOTUSED,
|
||||
/* 161 */ KEY_NOTUSED,
|
||||
/* 162 */ KEY_NOTUSED,
|
||||
/* 163 */ KEY_NOTUSED,
|
||||
/* 164 */ KEY_NOTUSED,
|
||||
/* 165 */ KEY_NOTUSED,
|
||||
/* 166 */ KEY_NOTUSED,
|
||||
/* 167 */ KEY_NOTUSED,
|
||||
/* 168 */ KEY_NOTUSED,
|
||||
/* 169 */ KEY_NOTUSED,
|
||||
/* 170 */ KEY_NOTUSED,
|
||||
/* 171 */ KEY_NOTUSED,
|
||||
/* 172 */ KEY_NOTUSED,
|
||||
/* 173 */ KEY_NOTUSED,
|
||||
/* 174 */ KEY_NOTUSED,
|
||||
/* 175 */ KEY_NOTUSED,
|
||||
/* 176 */ KEY_NOTUSED,
|
||||
/* 177 */ KEY_NOTUSED,
|
||||
/* 178 */ KEY_NOTUSED,
|
||||
/* 179 */ KEY_NOTUSED,
|
||||
/* 180 */ KEY_NOTUSED,
|
||||
/* 181 */ KEY_NOTUSED,
|
||||
/* 182 */ KEY_NOTUSED,
|
||||
/* 183 */ KEY_NOTUSED,
|
||||
/* 184 */ KEY_NOTUSED,
|
||||
/* 185 */ KEY_NOTUSED,
|
||||
/* 186 */ KEY_NOTUSED,
|
||||
/* 187 */ KEY_NOTUSED,
|
||||
/* 188 */ KEY_NOTUSED,
|
||||
/* 189 */ KEY_NOTUSED,
|
||||
/* 190 */ KEY_NOTUSED,
|
||||
/* 191 */ KEY_NOTUSED,
|
||||
/* 192 */ KEY_NOTUSED,
|
||||
/* 193 */ KEY_NOTUSED,
|
||||
/* 194 */ KEY_NOTUSED,
|
||||
/* 195 */ KEY_NOTUSED,
|
||||
/* 196 */ KEY_NOTUSED,
|
||||
/* 197 */ KEY_NOTUSED,
|
||||
/* 198 */ KEY_NOTUSED,
|
||||
/* 199 */ KEY_NOTUSED,
|
||||
/* 200 */ KEY_NOTUSED,
|
||||
/* 201 */ KEY_NOTUSED,
|
||||
/* 202 */ KEY_NOTUSED,
|
||||
/* 203 */ KEY_NOTUSED,
|
||||
/* 204 */ KEY_NOTUSED,
|
||||
/* 205 */ KEY_NOTUSED,
|
||||
/* 206 */ KEY_NOTUSED,
|
||||
/* 207 */ KEY_NOTUSED,
|
||||
/* 208 */ KEY_NOTUSED,
|
||||
/* 209 */ KEY_NOTUSED,
|
||||
/* 210 */ KEY_NOTUSED,
|
||||
/* 211 */ KEY_NOTUSED,
|
||||
/* 212 */ KEY_NOTUSED,
|
||||
/* 213 */ KEY_NOTUSED,
|
||||
/* 214 */ KEY_NOTUSED,
|
||||
/* 215 */ KEY_NOTUSED,
|
||||
/* 216 */ KEY_NOTUSED,
|
||||
/* 217 */ KEY_NOTUSED,
|
||||
/* 218 */ KEY_NOTUSED,
|
||||
/* 219 */ KEY_NOTUSED,
|
||||
/* 220 */ KEY_NOTUSED,
|
||||
/* 221 */ KEY_NOTUSED,
|
||||
/* 222 */ KEY_NOTUSED,
|
||||
/* 223 */ KEY_NOTUSED,
|
||||
/* 224 */ KEY_LCtrl, /* Left Control */
|
||||
/* 225 */ KEY_ShiftL, /* Left Shift */
|
||||
/* 226 */ KEY_Alt, /* Left Alt */
|
||||
/* 227 */ KEY_LMeta, /* Left Meta */
|
||||
/* 228 */ KEY_RCtrl, /* Right Control */
|
||||
/* 229 */ KEY_ShiftR, /* Right Shift */
|
||||
/* 230 */ KEY_AltLang, /* Right Alt, AKA AltGr */
|
||||
/* 231 */ KEY_RMeta, /* Right Meta */
|
||||
};
|
||||
|
||||
static
|
||||
TransMapRec usbTransMap = {
|
||||
0,
|
||||
(sizeof(usbmap)/sizeof(unsigned char)),
|
||||
usbmap
|
||||
};
|
||||
#endif /* KB_USB */
|
||||
|
||||
_X_HIDDEN void
|
||||
KbdGetMapping (InputInfoPtr pInfo, KeySymsPtr pKeySyms, CARD8 *pModMap)
|
||||
{
|
||||
KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
|
||||
sunKbdPrivPtr priv = (sunKbdPrivPtr) pKbd->private;
|
||||
int i;
|
||||
KeySym *k;
|
||||
|
||||
#if defined(KB_USB)
|
||||
if (priv->ktype == KB_USB)
|
||||
pKbd->scancodeMap = &usbTransMap;
|
||||
else
|
||||
#endif
|
||||
pKbd->scancodeMap = &sunTransMap;
|
||||
|
||||
/*
|
||||
* Add Sun keyboard keysyms to default map
|
||||
*/
|
||||
#define map_for_key(k,c) map[(k * GLYPHS_PER_KEY) + c]
|
||||
map_for_key(KEY_Power, 0) = SunXK_PowerSwitch;
|
||||
map_for_key(KEY_Power, 1) = SunXK_PowerSwitchShift;
|
||||
map_for_key(KEY_Mute, 0) = SunXK_AudioMute;
|
||||
map_for_key(KEY_Mute, 1) = SunXK_VideoDegauss;
|
||||
map_for_key(KEY_AudioLower, 0) = SunXK_AudioLowerVolume;
|
||||
map_for_key(KEY_AudioLower, 1) = SunXK_VideoLowerBrightness;
|
||||
map_for_key(KEY_AudioRaise, 0) = SunXK_AudioRaiseVolume;
|
||||
map_for_key(KEY_AudioRaise, 1) = SunXK_VideoRaiseBrightness;
|
||||
map_for_key(KEY_Help, 0) = XK_Help;
|
||||
map_for_key(KEY_L1, 0) = XK_L1;
|
||||
map_for_key(KEY_L2, 0) = XK_L2;
|
||||
map_for_key(KEY_L3, 0) = XK_L3;
|
||||
map_for_key(KEY_L4, 0) = XK_L4;
|
||||
map_for_key(KEY_L5, 0) = XK_L5;
|
||||
map_for_key(KEY_L6, 0) = XK_L6;
|
||||
map_for_key(KEY_L7, 0) = XK_L7;
|
||||
map_for_key(KEY_L8, 0) = XK_L8;
|
||||
map_for_key(KEY_L9, 0) = XK_L9;
|
||||
map_for_key(KEY_L10, 0) = XK_L10;
|
||||
map_for_key(KEY_F11, 0) = SunXK_F36;
|
||||
map_for_key(KEY_F12, 0) = SunXK_F37;
|
||||
map_for_key(KEY_Menu, 0) = XK_Multi_key;
|
||||
|
||||
/*
|
||||
* compute the modifier map
|
||||
*/
|
||||
for (i = 0; i < MAP_LENGTH; i++)
|
||||
pModMap[i] = NoSymbol; /* make sure it is restored */
|
||||
|
||||
for (k = map, i = MIN_KEYCODE;
|
||||
i < (NUM_KEYCODES + MIN_KEYCODE);
|
||||
i++, k += 4)
|
||||
{
|
||||
switch(*k) {
|
||||
|
||||
case XK_Shift_L:
|
||||
case XK_Shift_R:
|
||||
pModMap[i] = ShiftMask;
|
||||
break;
|
||||
|
||||
case XK_Control_L:
|
||||
case XK_Control_R:
|
||||
pModMap[i] = ControlMask;
|
||||
break;
|
||||
|
||||
case XK_Caps_Lock:
|
||||
pModMap[i] = LockMask;
|
||||
break;
|
||||
|
||||
case XK_Alt_L:
|
||||
case XK_Alt_R:
|
||||
pModMap[i] = AltMask;
|
||||
break;
|
||||
|
||||
case XK_Num_Lock:
|
||||
pModMap[i] = NumLockMask;
|
||||
break;
|
||||
|
||||
case XK_Scroll_Lock:
|
||||
pModMap[i] = ScrollLockMask;
|
||||
break;
|
||||
|
||||
/* kana support */
|
||||
case XK_Kana_Lock:
|
||||
case XK_Kana_Shift:
|
||||
pModMap[i] = KanaMask;
|
||||
break;
|
||||
|
||||
/* alternate toggle for multinational support */
|
||||
case XK_Mode_switch:
|
||||
pModMap[i] = AltLangMask;
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
pKeySyms->map = map;
|
||||
pKeySyms->mapWidth = GLYPHS_PER_KEY;
|
||||
pKeySyms->minKeyCode = MIN_KEYCODE;
|
||||
pKeySyms->maxKeyCode = MAX_KEYCODE;
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 1994-2002 by The XFree86 Project, Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) 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 holder(s)
|
||||
* and author(s) 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 holder(s) and author(s).
|
||||
*/
|
||||
|
||||
/*
|
||||
*
|
||||
* For Scancodes see notes in atKeynames.h !!!!
|
||||
*
|
||||
*/
|
||||
|
||||
#include "xorg-server.h"
|
||||
|
||||
static KeySym map[NUM_KEYCODES * GLYPHS_PER_KEY] = {
|
||||
|
||||
/* 0x00 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x01 */ XK_Escape, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x02 */ XK_1, XK_exclam, NoSymbol, NoSymbol,
|
||||
/* 0x03 */ XK_2, XK_at, NoSymbol, NoSymbol,
|
||||
/* 0x04 */ XK_3, XK_numbersign, NoSymbol, NoSymbol,
|
||||
/* 0x05 */ XK_4, XK_dollar, NoSymbol, NoSymbol,
|
||||
/* 0x06 */ XK_5, XK_percent, NoSymbol, NoSymbol,
|
||||
/* 0x07 */ XK_6, XK_asciicircum, NoSymbol, NoSymbol,
|
||||
/* 0x08 */ XK_7, XK_ampersand, NoSymbol, NoSymbol,
|
||||
/* 0x09 */ XK_8, XK_asterisk, NoSymbol, NoSymbol,
|
||||
/* 0x0a */ XK_9, XK_parenleft, NoSymbol, NoSymbol,
|
||||
/* 0x0b */ XK_0, XK_parenright, NoSymbol, NoSymbol,
|
||||
/* 0x0c */ XK_minus, XK_underscore, NoSymbol, NoSymbol,
|
||||
/* 0x0d */ XK_equal, XK_plus, NoSymbol, NoSymbol,
|
||||
/* 0x0e */ XK_BackSpace, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x0f */ XK_Tab, XK_ISO_Left_Tab,NoSymbol, NoSymbol,
|
||||
/* 0x10 */ XK_Q, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x11 */ XK_W, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x12 */ XK_E, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x13 */ XK_R, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x14 */ XK_T, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x15 */ XK_Y, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x16 */ XK_U, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x17 */ XK_I, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x18 */ XK_O, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x19 */ XK_P, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x1a */ XK_bracketleft, XK_braceleft, NoSymbol, NoSymbol,
|
||||
/* 0x1b */ XK_bracketright,XK_braceright, NoSymbol, NoSymbol,
|
||||
/* 0x1c */ XK_Return, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x1d */ XK_Control_L, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x1e */ XK_A, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x1f */ XK_S, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x20 */ XK_D, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x21 */ XK_F, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x22 */ XK_G, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x23 */ XK_H, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x24 */ XK_J, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x25 */ XK_K, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x26 */ XK_L, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x27 */ XK_semicolon, XK_colon, NoSymbol, NoSymbol,
|
||||
/* 0x28 */ XK_quoteright, XK_quotedbl, NoSymbol, NoSymbol,
|
||||
/* 0x29 */ XK_quoteleft, XK_asciitilde, NoSymbol, NoSymbol,
|
||||
/* 0x2a */ XK_Shift_L, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x2b */ XK_backslash, XK_bar, NoSymbol, NoSymbol,
|
||||
/* 0x2c */ XK_Z, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x2d */ XK_X, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x2e */ XK_C, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x2f */ XK_V, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x30 */ XK_B, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x31 */ XK_N, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x32 */ XK_M, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x33 */ XK_comma, XK_less, NoSymbol, NoSymbol,
|
||||
/* 0x34 */ XK_period, XK_greater, NoSymbol, NoSymbol,
|
||||
/* 0x35 */ XK_slash, XK_question, NoSymbol, NoSymbol,
|
||||
/* 0x36 */ XK_Shift_R, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x37 */ XK_KP_Multiply, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x38 */ XK_Alt_L, XK_Meta_L, NoSymbol, NoSymbol,
|
||||
/* 0x39 */ XK_space, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x3a */ XK_Caps_Lock, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x3b */ XK_F1, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x3c */ XK_F2, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x3d */ XK_F3, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x3e */ XK_F4, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x3f */ XK_F5, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x40 */ XK_F6, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x41 */ XK_F7, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x42 */ XK_F8, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x43 */ XK_F9, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x44 */ XK_F10, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x45 */ XK_Num_Lock, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x46 */ XK_Scroll_Lock, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x47 */ XK_KP_Home, XK_KP_7, NoSymbol, NoSymbol,
|
||||
/* 0x48 */ XK_KP_Up, XK_KP_8, NoSymbol, NoSymbol,
|
||||
/* 0x49 */ XK_KP_Prior, XK_KP_9, NoSymbol, NoSymbol,
|
||||
/* 0x4a */ XK_KP_Subtract, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x4b */ XK_KP_Left, XK_KP_4, NoSymbol, NoSymbol,
|
||||
/* 0x4c */ XK_KP_Begin, XK_KP_5, NoSymbol, NoSymbol,
|
||||
/* 0x4d */ XK_KP_Right, XK_KP_6, NoSymbol, NoSymbol,
|
||||
/* 0x4e */ XK_KP_Add, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x4f */ XK_KP_End, XK_KP_1, NoSymbol, NoSymbol,
|
||||
/* 0x50 */ XK_KP_Down, XK_KP_2, NoSymbol, NoSymbol,
|
||||
/* 0x51 */ XK_KP_Next, XK_KP_3, NoSymbol, NoSymbol,
|
||||
/* 0x52 */ XK_KP_Insert, XK_KP_0, NoSymbol, NoSymbol,
|
||||
/* 0x53 */ XK_KP_Delete, XK_KP_Decimal, NoSymbol, NoSymbol,
|
||||
/* 0x54 */ XK_Sys_Req, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x55 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x56 */ XK_less, XK_greater, NoSymbol, NoSymbol,
|
||||
/* 0x57 */ XK_F11, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x58 */ XK_F12, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x59 */ XK_Home, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x5a */ XK_Up, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x5b */ XK_Prior, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x5c */ XK_Left, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x5d */ XK_Begin, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x5e */ XK_Right, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x5f */ XK_End, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x60 */ XK_Down, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x61 */ XK_Next, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x62 */ XK_Insert, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x63 */ XK_Delete, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x64 */ XK_KP_Enter, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x65 */ XK_Control_R, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x66 */ XK_Pause, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x67 */ XK_Print, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x68 */ XK_KP_Divide, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x69 */ XK_Alt_R, XK_Meta_R, NoSymbol, NoSymbol,
|
||||
/* 0x6a */ XK_Break, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x6b */ XK_Meta_L, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x6c */ XK_Meta_R, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x6d */ XK_Menu, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x6e */ XK_F13, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x6f */ XK_F14, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x70 */ XK_F15, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x71 */ XK_F16, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x72 */ XK_F17, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x73 */ XK_backslash, XK_underscore, NoSymbol, NoSymbol,
|
||||
/* 0x74 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x75 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x76 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x77 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x78 */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x79 */ XK_Henkan, XK_Mode_switch, NoSymbol, NoSymbol,
|
||||
/* 0x7a */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x7b */ XK_Muhenkan, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x7c */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x7d */ XK_backslash, XK_bar, NoSymbol, NoSymbol,
|
||||
/* 0x7e */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
/* 0x7f */ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
|
||||
};
|
||||
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Copyright (c) 2002-2003 by The XFree86 Project, Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) 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 holder(s)
|
||||
* and author(s) 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 holder(s) and author(s).
|
||||
*
|
||||
* Author: Ivan Pascal.
|
||||
*/
|
||||
|
||||
#include "xf86Xinput.h"
|
||||
|
||||
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 18
|
||||
#define LogMessageVerbSigSafe xf86MsgVerb
|
||||
#endif
|
||||
|
||||
Bool ATScancode(InputInfoPtr pInfo, int *scanCode);
|
||||
|
||||
/* Public interface to OS-specific keyboard support. */
|
||||
|
||||
typedef int (*KbdInitProc)(InputInfoPtr pInfo, int what);
|
||||
typedef int (*KbdOnProc)(InputInfoPtr pInfo, int what);
|
||||
typedef int (*KbdOffProc)(InputInfoPtr pInfo, int what);
|
||||
typedef void (*BellProc)(InputInfoPtr pInfo,
|
||||
int loudness, int pitch, int duration);
|
||||
typedef void (*SetLedsProc)(InputInfoPtr pInfo, int leds);
|
||||
typedef int (*GetLedsProc)(InputInfoPtr pInfo);
|
||||
typedef void (*KbdGetMappingProc)(InputInfoPtr pInfo,
|
||||
KeySymsPtr pKeySyms, CARD8* pModMap);
|
||||
typedef int (*RemapScanCodeProc)(InputInfoPtr pInfo, int *scanCode);
|
||||
typedef Bool (*OpenKeyboardProc)(InputInfoPtr pInfo);
|
||||
typedef void (*PostEventProc)(InputInfoPtr pInfo,
|
||||
unsigned int key, Bool down);
|
||||
typedef struct {
|
||||
int begin;
|
||||
int end;
|
||||
unsigned char *map;
|
||||
} TransMapRec, *TransMapPtr;
|
||||
|
||||
typedef struct {
|
||||
KbdInitProc KbdInit;
|
||||
KbdOnProc KbdOn;
|
||||
KbdOffProc KbdOff;
|
||||
BellProc Bell;
|
||||
SetLedsProc SetLeds;
|
||||
GetLedsProc GetLeds;
|
||||
KbdGetMappingProc KbdGetMapping;
|
||||
RemapScanCodeProc RemapScanCode;
|
||||
|
||||
OpenKeyboardProc OpenKeyboard;
|
||||
PostEventProc PostEvent;
|
||||
|
||||
unsigned long leds;
|
||||
unsigned long xledsMask;
|
||||
unsigned long keyLeds;
|
||||
int scanPrefix;
|
||||
Bool CustomKeycodes;
|
||||
Bool isConsole;
|
||||
TransMapPtr scancodeMap;
|
||||
TransMapPtr specialMap;
|
||||
|
||||
/* os specific */
|
||||
pointer private;
|
||||
int consType;
|
||||
int wsKbdType;
|
||||
char wsKbdDev[256];
|
||||
|
||||
} KbdDevRec, *KbdDevPtr;
|
||||
|
||||
typedef enum {
|
||||
PROT_STD,
|
||||
PROT_WSCONS,
|
||||
PROT_UNKNOWN_KBD
|
||||
} KbdProtocolId;
|
||||
|
||||
typedef struct {
|
||||
const char *name;
|
||||
KbdProtocolId id;
|
||||
} KbdProtocolRec;
|
||||
|
||||
_X_EXPORT Bool xf86OSKbdPreInit(InputInfoPtr pInfo);
|
||||
@@ -0,0 +1,133 @@
|
||||
Copyright (c) 2004-2005, 2008-2010, Oracle and/or its affiliates.
|
||||
All rights reserved.
|
||||
Copyright 2012 Red Hat, Inc.
|
||||
|
||||
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
|
||||
Copyright 1994-2002 by The XFree86 Project, Inc.
|
||||
Copyright 2002 by Paul Elliott
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the names of copyright holders not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission. The copyright holders
|
||||
make no representations about the suitability of this
|
||||
software for any purpose. It is provided "as is" without express or
|
||||
implied warranty.
|
||||
|
||||
THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
|
||||
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
|
||||
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
|
||||
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
Copyright 1998 by Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the name of Kazutaka YOKOTA not be used in
|
||||
advertising or publicity pertaining to distribution of the software without
|
||||
specific, written prior permission. Kazutaka YOKOTA makes no representations
|
||||
about the suitability of this software for any purpose. It is provided
|
||||
"as is" without express or implied warranty.
|
||||
|
||||
KAZUTAKA YOKOTA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
EVENT SHALL KAZUTAKA YOKOTA BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
Copyright (c) 1999-2003 by The XFree86 Project, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE COPYRIGHT HOLDER(S) OR AUTHOR(S) 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 holder(s)
|
||||
and author(s) 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 holder(s) and author(s).
|
||||
|
||||
Copyright 1997,1998 by UCHIYAMA Yasushi
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the name of UCHIYAMA Yasushi not be used in
|
||||
advertising or publicity pertaining to distribution of the software without
|
||||
specific, written prior permission. UCHIYAMA Yasushi makes no representations
|
||||
about the suitability of this software for any purpose. It is provided
|
||||
"as is" without express or implied warranty.
|
||||
|
||||
UCHIYAMA YASUSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
EVENT SHALL UCHIYAMA YASUSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
Copyright 2001 by J. Kean Johnston <jkj@sco.com>
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the name J. Kean Johnston not be used in
|
||||
advertising or publicity pertaining to distribution of the software without
|
||||
specific, written prior permission. J. Kean Johnston makes no
|
||||
representations about the suitability of this software for any purpose.
|
||||
It is provided "as is" without express or implied warranty.
|
||||
|
||||
J. KEAN JOHNSTON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
EVENT SHALL J. KEAN JOHNSTON BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
|
||||
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,370 @@
|
||||
Installation Instructions
|
||||
*************************
|
||||
|
||||
Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. This file is offered as-is,
|
||||
without warranty of any kind.
|
||||
|
||||
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. Some packages provide this
|
||||
`INSTALL' file but do not implement all of the features documented
|
||||
below. The lack of an optional feature in a given package is not
|
||||
necessarily a bug. More recommendations for GNU packages can be found
|
||||
in *note Makefile Conventions: (standards)Makefile Conventions.
|
||||
|
||||
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, generally using the just-built uninstalled binaries.
|
||||
|
||||
4. Type `make install' to install the programs and any data files and
|
||||
documentation. When installing into a prefix owned by root, it is
|
||||
recommended that the package be configured and built as a regular
|
||||
user, and only the `make install' phase executed with root
|
||||
privileges.
|
||||
|
||||
5. Optionally, type `make installcheck' to repeat any self-tests, but
|
||||
this time using the binaries in their final installed location.
|
||||
This target does not install anything. Running this target as a
|
||||
regular user, particularly if the prior `make install' required
|
||||
root privileges, verifies that the installation completed
|
||||
correctly.
|
||||
|
||||
6. 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.
|
||||
|
||||
7. Often, you can also type `make uninstall' to remove the installed
|
||||
files again. In practice, not all packages have tested that
|
||||
uninstallation works correctly, even though it is required by the
|
||||
GNU Coding Standards.
|
||||
|
||||
8. Some packages, particularly those that use Automake, provide `make
|
||||
distcheck', which can by used by developers to test that all other
|
||||
targets like `make install' and `make uninstall' work correctly.
|
||||
This target is generally not run by end users.
|
||||
|
||||
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 `..'. This
|
||||
is known as a "VPATH" build.
|
||||
|
||||
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', where PREFIX must be an
|
||||
absolute file name.
|
||||
|
||||
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. In general, the
|
||||
default for these options is expressed in terms of `${prefix}', so that
|
||||
specifying just `--prefix' will affect all of the other directory
|
||||
specifications that were not explicitly provided.
|
||||
|
||||
The most portable way to affect installation locations is to pass the
|
||||
correct locations to `configure'; however, many packages provide one or
|
||||
both of the following shortcuts of passing variable assignments to the
|
||||
`make install' command line to change installation locations without
|
||||
having to reconfigure or recompile.
|
||||
|
||||
The first method involves providing an override variable for each
|
||||
affected directory. For example, `make install
|
||||
prefix=/alternate/directory' will choose an alternate location for all
|
||||
directory configuration variables that were expressed in terms of
|
||||
`${prefix}'. Any directories that were specified during `configure',
|
||||
but not in terms of `${prefix}', must each be overridden at install
|
||||
time for the entire installation to be relocated. The approach of
|
||||
makefile variable overrides for each directory variable is required by
|
||||
the GNU Coding Standards, and ideally causes no recompilation.
|
||||
However, some platforms have known limitations with the semantics of
|
||||
shared libraries that end up requiring recompilation when using this
|
||||
method, particularly noticeable in packages that use GNU Libtool.
|
||||
|
||||
The second method involves providing the `DESTDIR' variable. For
|
||||
example, `make install DESTDIR=/alternate/directory' will prepend
|
||||
`/alternate/directory' before all installation names. The approach of
|
||||
`DESTDIR' overrides is not required by the GNU Coding Standards, and
|
||||
does not work on platforms that have drive letters. On the other hand,
|
||||
it does better at avoiding recompilation issues, and works well even
|
||||
when some directory options were not specified in terms of `${prefix}'
|
||||
at `configure' time.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
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'.
|
||||
|
||||
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.
|
||||
|
||||
Some packages offer the ability to configure how verbose the
|
||||
execution of `make' will be. For these packages, running `./configure
|
||||
--enable-silent-rules' sets the default to minimal output, which can be
|
||||
overridden with `make V=1'; while running `./configure
|
||||
--disable-silent-rules' sets the default to verbose, which can be
|
||||
overridden with `make V=0'.
|
||||
|
||||
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 -D_XOPEN_SOURCE=500"
|
||||
|
||||
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
|
||||
|
||||
HP-UX `make' updates targets which have the same time stamps as
|
||||
their prerequisites, which makes it generally unusable when shipped
|
||||
generated files such as `configure' are involved. Use GNU `make'
|
||||
instead.
|
||||
|
||||
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"
|
||||
|
||||
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
|
||||
directory contains several dysfunctional programs; working variants of
|
||||
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
|
||||
in your `PATH', put it _after_ `/usr/bin'.
|
||||
|
||||
On Haiku, software installed for all users goes in `/boot/common',
|
||||
not `/usr/local'. It is recommended to use the following options:
|
||||
|
||||
./configure --prefix=/boot/common
|
||||
|
||||
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.
|
||||
|
||||
@@ -0,0 +1,937 @@
|
||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# Makefile. Generated from Makefile.in by configure.
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
|
||||
# Copyright 2005 Adam Jackson.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
# license, and/or sell copies of the Software, and to permit persons to whom
|
||||
# the Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
# ADAM JACKSON 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.
|
||||
|
||||
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/xf86-input-mouse
|
||||
pkgincludedir = $(includedir)/xf86-input-mouse
|
||||
pkglibdir = $(libdir)/xf86-input-mouse
|
||||
pkglibexecdir = $(libexecdir)/xf86-input-mouse
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = x86_64-unknown-freebsd15.0
|
||||
host_triplet = x86_64-unknown-freebsd15.0
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
|
||||
$(am__configure_deps) $(am__DIST_COMMON)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno config.status.lineno
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES = xorg-mouse.pc
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_$(V))
|
||||
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_$(V))
|
||||
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_$(V))
|
||||
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
||||
ctags-recursive dvi-recursive html-recursive info-recursive \
|
||||
install-data-recursive install-dvi-recursive \
|
||||
install-exec-recursive install-html-recursive \
|
||||
install-info-recursive install-pdf-recursive \
|
||||
install-ps-recursive install-recursive installcheck-recursive \
|
||||
installdirs-recursive pdf-recursive ps-recursive \
|
||||
tags-recursive uninstall-recursive
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
|
||||
DATA = $(pkgconfig_DATA)
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
am__recursive_targets = \
|
||||
$(RECURSIVE_TARGETS) \
|
||||
$(RECURSIVE_CLEAN_TARGETS) \
|
||||
$(am__extra_recursive_targets)
|
||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||
cscope distdir dist dist-all distcheck
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
||||
$(LISP)config.h.in
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
CSCOPE = cscope
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||
$(srcdir)/xorg-mouse.pc.in COPYING ChangeLog INSTALL README \
|
||||
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
||||
missing
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
if test -d "$(distdir)"; then \
|
||||
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -rf "$(distdir)" \
|
||||
|| { sleep 5 && rm -rf "$(distdir)"; }; \
|
||||
else :; fi
|
||||
am__post_remove_distdir = $(am__remove_distdir)
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
|
||||
GZIP_ENV = --best
|
||||
DIST_TARGETS = dist-bzip2 dist-gzip
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
||||
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = aclocal-1.15
|
||||
ADMIN_MAN_DIR = $(mandir)/man$(ADMIN_MAN_SUFFIX)
|
||||
ADMIN_MAN_SUFFIX = 8
|
||||
AMTAR = $${TAR-tar}
|
||||
AM_DEFAULT_VERBOSITY = 0
|
||||
APP_MAN_DIR = $(mandir)/man$(APP_MAN_SUFFIX)
|
||||
APP_MAN_SUFFIX = 1
|
||||
AR = ar
|
||||
AUTOCONF = autoconf
|
||||
AUTOHEADER = autoheader
|
||||
AUTOMAKE = automake-1.15
|
||||
AWK = nawk
|
||||
BASE_CFLAGS = -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Wlogical-op -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces -Werror=sequence-point -Werror=return-type -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast
|
||||
CC = cc
|
||||
CCDEPMODE = depmode=gcc3
|
||||
CFLAGS = -w
|
||||
CHANGELOG_CMD = (GIT_DIR=$(top_srcdir)/.git git log > $(top_srcdir)/.changelog.tmp && mv $(top_srcdir)/.changelog.tmp $(top_srcdir)/ChangeLog) || (rm -f $(top_srcdir)/.changelog.tmp; touch $(top_srcdir)/ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
|
||||
CPP = cc -E
|
||||
CPPFLAGS =
|
||||
CWARNFLAGS = -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Wlogical-op -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces -Werror=sequence-point -Werror=return-type -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -fno-strict-aliasing
|
||||
CYGPATH_W = echo
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
DEPDIR = .deps
|
||||
DLLTOOL = false
|
||||
DRIVER_MAN_DIR = $(mandir)/man$(DRIVER_MAN_SUFFIX)
|
||||
DRIVER_MAN_SUFFIX = 4
|
||||
DRIVER_NAME = mouse
|
||||
DSYMUTIL =
|
||||
DUMPBIN =
|
||||
ECHO_C =
|
||||
ECHO_N = -n
|
||||
ECHO_T =
|
||||
EGREP = /usr/bin/grep -E
|
||||
EXEEXT =
|
||||
FGREP = /usr/bin/grep -F
|
||||
FILE_MAN_DIR = $(mandir)/man$(FILE_MAN_SUFFIX)
|
||||
FILE_MAN_SUFFIX = 5
|
||||
GREP = /usr/bin/grep
|
||||
INSTALL = /usr/bin/install -c
|
||||
INSTALL_CMD = (cp -f /usr/local/share/util-macros/INSTALL $(top_srcdir)/.INSTALL.tmp && mv $(top_srcdir)/.INSTALL.tmp $(top_srcdir)/INSTALL) || (rm -f $(top_srcdir)/.INSTALL.tmp; touch $(top_srcdir)/INSTALL; echo 'util-macros "pkgdatadir" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
||||
LD = /usr/bin/ld
|
||||
LDFLAGS =
|
||||
LIBOBJS =
|
||||
LIBS =
|
||||
LIBTOOL = $(SHELL) $(top_builddir)/libtool
|
||||
LIB_MAN_DIR = $(mandir)/man$(LIB_MAN_SUFFIX)
|
||||
LIB_MAN_SUFFIX = 3
|
||||
LINT =
|
||||
LINT_FLAGS = -u -b
|
||||
LIPO =
|
||||
LN_S = ln -s
|
||||
LTLIBOBJS =
|
||||
LT_SYS_LIBRARY_PATH =
|
||||
MAKEINFO = makeinfo
|
||||
MANIFEST_TOOL = :
|
||||
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|__xorgconfdir__|xorg.conf.d|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' -e 's|__libmansuffix__|$(LIB_MAN_SUFFIX)|g' -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
|
||||
MISC_MAN_DIR = $(mandir)/man$(MISC_MAN_SUFFIX)
|
||||
MISC_MAN_SUFFIX = 7
|
||||
MKDIR_P = ./install-sh -c -d
|
||||
NM = /usr/bin/nm -B
|
||||
NMEDIT =
|
||||
OBJDUMP = objdump
|
||||
OBJEXT = o
|
||||
OS_MOUSE_NAME = bsd
|
||||
OTOOL =
|
||||
OTOOL64 =
|
||||
PACKAGE = xf86-input-mouse
|
||||
PACKAGE_BUGREPORT = https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
|
||||
PACKAGE_NAME = xf86-input-mouse
|
||||
PACKAGE_STRING = xf86-input-mouse 1.9.2
|
||||
PACKAGE_TARNAME = xf86-input-mouse
|
||||
PACKAGE_URL =
|
||||
PACKAGE_VERSION = 1.9.2
|
||||
PATH_SEPARATOR = :
|
||||
PKG_CONFIG = /usr/local/bin/pkg-config
|
||||
PKG_CONFIG_LIBDIR =
|
||||
PKG_CONFIG_PATH =
|
||||
RANLIB = ranlib
|
||||
SED = /usr/bin/sed
|
||||
SET_MAKE =
|
||||
SHELL = /bin/sh
|
||||
STRICT_CFLAGS = -pedantic -Werror -Werror=attributes
|
||||
STRIP = strip
|
||||
VERSION = 1.9.2
|
||||
XORG_CFLAGS = -I/usr/local/include/xorg -fvisibility=hidden -I/usr/local/include/pixman-1 -I/usr/local/include/X11/dri -I/usr/local/include/libdrm
|
||||
XORG_LIBS = -L/usr/local/lib
|
||||
XORG_MAN_PAGE = X Version 11
|
||||
abs_builddir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2
|
||||
abs_srcdir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2
|
||||
abs_top_builddir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2
|
||||
abs_top_srcdir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2
|
||||
ac_ct_AR = ar
|
||||
ac_ct_CC =
|
||||
ac_ct_DUMPBIN =
|
||||
am__include = include
|
||||
am__leading_dot = .
|
||||
am__quote =
|
||||
am__tar = $${TAR-tar} chof - "$$tardir"
|
||||
am__untar = $${TAR-tar} xf -
|
||||
bindir = ${exec_prefix}/bin
|
||||
build = x86_64-unknown-freebsd15.0
|
||||
build_alias =
|
||||
build_cpu = x86_64
|
||||
build_os = freebsd15.0
|
||||
build_vendor = unknown
|
||||
builddir = .
|
||||
datadir = ${datarootdir}
|
||||
datarootdir = ${prefix}/share
|
||||
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
||||
dvidir = ${docdir}
|
||||
exec_prefix = ${prefix}
|
||||
host = x86_64-unknown-freebsd15.0
|
||||
host_alias =
|
||||
host_cpu = x86_64
|
||||
host_os = freebsd15.0
|
||||
host_vendor = unknown
|
||||
htmldir = ${docdir}
|
||||
includedir = ${prefix}/include
|
||||
infodir = ${datarootdir}/info
|
||||
inputdir = ${exec_prefix}/lib/xorg/modules/input
|
||||
install_sh = ${SHELL} /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2/install-sh
|
||||
libdir = ${exec_prefix}/lib
|
||||
libexecdir = ${exec_prefix}/libexec
|
||||
localedir = ${datarootdir}/locale
|
||||
localstatedir = ${prefix}/var
|
||||
mandir = ${datarootdir}/man
|
||||
mkdir_p = $(MKDIR_P)
|
||||
oldincludedir = /usr/include
|
||||
pdfdir = ${docdir}
|
||||
prefix = /usr/local
|
||||
program_transform_name = s,x,x,
|
||||
psdir = ${docdir}
|
||||
sbindir = ${exec_prefix}/sbin
|
||||
sdkdir = /usr/local/include/xorg
|
||||
sharedstatedir = ${prefix}/com
|
||||
srcdir = .
|
||||
sysconfdir = ${prefix}/etc
|
||||
target_alias =
|
||||
top_build_prefix =
|
||||
top_builddir = .
|
||||
top_srcdir = .
|
||||
SUBDIRS = include src man
|
||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = xorg-mouse.pc
|
||||
|
||||
# Provide an sdk location that is writable by this module
|
||||
DISTCHECK_CONFIGURE_FLAGS = --with-sdkdir='$${includedir}/xorg'
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
am--refresh: Makefile
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
|
||||
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
$(am__cd) $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
config.h: stamp-h1
|
||||
@test -f $@ || rm -f stamp-h1
|
||||
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
xorg-mouse.pc: $(top_builddir)/config.status $(srcdir)/xorg-mouse.pc.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool config.lt
|
||||
install-pkgconfigDATA: $(pkgconfig_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-pkgconfigDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run 'make' without going through this Makefile.
|
||||
# To change the values of 'make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in 'config.status', edit 'config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run 'make');
|
||||
# (2) otherwise, pass the desired values on the 'make' command line.
|
||||
$(am__recursive_targets):
|
||||
@fail=; \
|
||||
if $(am__make_keepgoing); then \
|
||||
failcom='fail=yes'; \
|
||||
else \
|
||||
failcom='exit 1'; \
|
||||
fi; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-recursive
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-recursive
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscope: cscope.files
|
||||
test ! -s cscope.files \
|
||||
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
|
||||
clean-cscope:
|
||||
-rm -f cscope.files
|
||||
cscope.files: clean-cscope cscopelist
|
||||
cscopelist: cscopelist-recursive
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
$(am__make_dryrun) \
|
||||
|| test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
||||
dist-hook
|
||||
-test -n "$(am__skip_mode_fix)" \
|
||||
|| find "$(distdir)" -type d ! -perm -755 \
|
||||
-exec chmod u+rwx,go+rx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r "$(distdir)"
|
||||
dist-gzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
|
||||
$(am__post_remove_distdir)
|
||||
dist-bzip2: distdir
|
||||
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-lzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-xz: distdir
|
||||
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
@echo WARNING: "Support for distribution archives compressed with" \
|
||||
"legacy program 'compress' is deprecated." >&2
|
||||
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
@echo WARNING: "Support for shar distribution archives is" \
|
||||
"deprecated." >&2
|
||||
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist dist-all:
|
||||
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
|
||||
*.tar.bz2*) \
|
||||
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.lz*) \
|
||||
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
|
||||
*.tar.xz*) \
|
||||
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir)
|
||||
chmod u+w $(distdir)
|
||||
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
test -d $(distdir)/_build || exit 0; \
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& am__cwd=`pwd` \
|
||||
&& $(am__cd) $(distdir)/_build/sub \
|
||||
&& ../../configure \
|
||||
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
--srcdir=../.. --prefix="$$dc_install_base" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
|
||||
&& cd "$$am__cwd" \
|
||||
|| exit 1
|
||||
$(am__post_remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||
distuninstallcheck:
|
||||
@test -n '$(distuninstallcheck_dir)' || { \
|
||||
echo 'ERROR: trying to run $@ with an empty' \
|
||||
'$$(distuninstallcheck_dir)' >&2; \
|
||||
exit 1; \
|
||||
}; \
|
||||
$(am__cd) '$(distuninstallcheck_dir)' || { \
|
||||
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
|
||||
exit 1; \
|
||||
}; \
|
||||
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile $(DATA) config.h
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-hdr \
|
||||
distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-pkgconfigDATA
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-pkgconfigDATA
|
||||
|
||||
.MAKE: $(am__recursive_targets) all install-am install-strip
|
||||
|
||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
||||
am--refresh check check-am clean clean-cscope clean-generic \
|
||||
clean-libtool cscope cscopelist-am ctags ctags-am dist \
|
||||
dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
|
||||
dist-tarZ dist-xz dist-zip distcheck distclean \
|
||||
distclean-generic distclean-hdr distclean-libtool \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
installdirs-am maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
|
||||
ps ps-am tags tags-am uninstall uninstall-am \
|
||||
uninstall-pkgconfigDATA
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
.PHONY: ChangeLog INSTALL
|
||||
|
||||
INSTALL:
|
||||
$(INSTALL_CMD)
|
||||
|
||||
ChangeLog:
|
||||
$(CHANGELOG_CMD)
|
||||
|
||||
dist-hook: ChangeLog INSTALL
|
||||
|
||||
# Check source code with tools like lint & sparse
|
||||
#lint:
|
||||
# (cd src && $(MAKE) $(MAKEFLAGS) lint)
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,44 @@
|
||||
# Copyright 2005 Adam Jackson.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
# license, and/or sell copies of the Software, and to permit persons to whom
|
||||
# the Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
# ADAM JACKSON 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.
|
||||
|
||||
SUBDIRS = include src man
|
||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = xorg-mouse.pc
|
||||
|
||||
.PHONY: ChangeLog INSTALL
|
||||
|
||||
INSTALL:
|
||||
$(INSTALL_CMD)
|
||||
|
||||
ChangeLog:
|
||||
$(CHANGELOG_CMD)
|
||||
|
||||
dist-hook: ChangeLog INSTALL
|
||||
|
||||
# Provide an sdk location that is writable by this module
|
||||
DISTCHECK_CONFIGURE_FLAGS = --with-sdkdir='$${includedir}/xorg'
|
||||
|
||||
if LINT
|
||||
# Check source code with tools like lint & sparse
|
||||
lint:
|
||||
(cd src && $(MAKE) $(MAKEFLAGS) lint)
|
||||
endif LINT
|
||||
@@ -0,0 +1,937 @@
|
||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
# Copyright 2005 Adam Jackson.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
# license, and/or sell copies of the Software, and to permit persons to whom
|
||||
# the Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
# ADAM JACKSON 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.
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
|
||||
$(am__configure_deps) $(am__DIST_COMMON)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno config.status.lineno
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES = xorg-mouse.pc
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
||||
ctags-recursive dvi-recursive html-recursive info-recursive \
|
||||
install-data-recursive install-dvi-recursive \
|
||||
install-exec-recursive install-html-recursive \
|
||||
install-info-recursive install-pdf-recursive \
|
||||
install-ps-recursive install-recursive installcheck-recursive \
|
||||
installdirs-recursive pdf-recursive ps-recursive \
|
||||
tags-recursive uninstall-recursive
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
|
||||
DATA = $(pkgconfig_DATA)
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
am__recursive_targets = \
|
||||
$(RECURSIVE_TARGETS) \
|
||||
$(RECURSIVE_CLEAN_TARGETS) \
|
||||
$(am__extra_recursive_targets)
|
||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||
cscope distdir dist dist-all distcheck
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
||||
$(LISP)config.h.in
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
CSCOPE = cscope
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||
$(srcdir)/xorg-mouse.pc.in COPYING ChangeLog INSTALL README \
|
||||
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
||||
missing
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
if test -d "$(distdir)"; then \
|
||||
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -rf "$(distdir)" \
|
||||
|| { sleep 5 && rm -rf "$(distdir)"; }; \
|
||||
else :; fi
|
||||
am__post_remove_distdir = $(am__remove_distdir)
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
|
||||
GZIP_ENV = --best
|
||||
DIST_TARGETS = dist-bzip2 dist-gzip
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
||||
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DRIVER_NAME = @DRIVER_NAME@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LINT = @LINT@
|
||||
LINT_FLAGS = @LINT_FLAGS@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MAN_SUBSTS = @MAN_SUBSTS@
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OS_MOUSE_NAME = @OS_MOUSE_NAME@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRICT_CFLAGS = @STRICT_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
XORG_CFLAGS = @XORG_CFLAGS@
|
||||
XORG_LIBS = @XORG_LIBS@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
inputdir = @inputdir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sdkdir = @sdkdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
SUBDIRS = include src man
|
||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = xorg-mouse.pc
|
||||
|
||||
# Provide an sdk location that is writable by this module
|
||||
DISTCHECK_CONFIGURE_FLAGS = --with-sdkdir='$${includedir}/xorg'
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
am--refresh: Makefile
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
|
||||
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
$(am__cd) $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
config.h: stamp-h1
|
||||
@test -f $@ || rm -f stamp-h1
|
||||
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
xorg-mouse.pc: $(top_builddir)/config.status $(srcdir)/xorg-mouse.pc.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool config.lt
|
||||
install-pkgconfigDATA: $(pkgconfig_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-pkgconfigDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run 'make' without going through this Makefile.
|
||||
# To change the values of 'make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in 'config.status', edit 'config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run 'make');
|
||||
# (2) otherwise, pass the desired values on the 'make' command line.
|
||||
$(am__recursive_targets):
|
||||
@fail=; \
|
||||
if $(am__make_keepgoing); then \
|
||||
failcom='fail=yes'; \
|
||||
else \
|
||||
failcom='exit 1'; \
|
||||
fi; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-recursive
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-recursive
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscope: cscope.files
|
||||
test ! -s cscope.files \
|
||||
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
|
||||
clean-cscope:
|
||||
-rm -f cscope.files
|
||||
cscope.files: clean-cscope cscopelist
|
||||
cscopelist: cscopelist-recursive
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
$(am__make_dryrun) \
|
||||
|| test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
||||
dist-hook
|
||||
-test -n "$(am__skip_mode_fix)" \
|
||||
|| find "$(distdir)" -type d ! -perm -755 \
|
||||
-exec chmod u+rwx,go+rx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r "$(distdir)"
|
||||
dist-gzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
|
||||
$(am__post_remove_distdir)
|
||||
dist-bzip2: distdir
|
||||
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-lzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-xz: distdir
|
||||
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
@echo WARNING: "Support for distribution archives compressed with" \
|
||||
"legacy program 'compress' is deprecated." >&2
|
||||
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
@echo WARNING: "Support for shar distribution archives is" \
|
||||
"deprecated." >&2
|
||||
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist dist-all:
|
||||
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
|
||||
*.tar.bz2*) \
|
||||
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.lz*) \
|
||||
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
|
||||
*.tar.xz*) \
|
||||
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir)
|
||||
chmod u+w $(distdir)
|
||||
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
test -d $(distdir)/_build || exit 0; \
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& am__cwd=`pwd` \
|
||||
&& $(am__cd) $(distdir)/_build/sub \
|
||||
&& ../../configure \
|
||||
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
--srcdir=../.. --prefix="$$dc_install_base" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
|
||||
&& cd "$$am__cwd" \
|
||||
|| exit 1
|
||||
$(am__post_remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||
distuninstallcheck:
|
||||
@test -n '$(distuninstallcheck_dir)' || { \
|
||||
echo 'ERROR: trying to run $@ with an empty' \
|
||||
'$$(distuninstallcheck_dir)' >&2; \
|
||||
exit 1; \
|
||||
}; \
|
||||
$(am__cd) '$(distuninstallcheck_dir)' || { \
|
||||
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
|
||||
exit 1; \
|
||||
}; \
|
||||
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile $(DATA) config.h
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-hdr \
|
||||
distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-pkgconfigDATA
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-pkgconfigDATA
|
||||
|
||||
.MAKE: $(am__recursive_targets) all install-am install-strip
|
||||
|
||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
||||
am--refresh check check-am clean clean-cscope clean-generic \
|
||||
clean-libtool cscope cscopelist-am ctags ctags-am dist \
|
||||
dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
|
||||
dist-tarZ dist-xz dist-zip distcheck distclean \
|
||||
distclean-generic distclean-hdr distclean-libtool \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
installdirs-am maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
|
||||
ps ps-am tags tags-am uninstall uninstall-am \
|
||||
uninstall-pkgconfigDATA
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
.PHONY: ChangeLog INSTALL
|
||||
|
||||
INSTALL:
|
||||
$(INSTALL_CMD)
|
||||
|
||||
ChangeLog:
|
||||
$(CHANGELOG_CMD)
|
||||
|
||||
dist-hook: ChangeLog INSTALL
|
||||
|
||||
# Check source code with tools like lint & sparse
|
||||
@LINT_TRUE@lint:
|
||||
@LINT_TRUE@ (cd src && $(MAKE) $(MAKEFLAGS) lint)
|
||||
|
||||
# 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:
|
||||
File diff suppressed because it is too large
Load Diff
Vendored
+12371
File diff suppressed because it is too large
Load Diff
Executable
+347
@@ -0,0 +1,347 @@
|
||||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand '-c -o'.
|
||||
|
||||
scriptversion=2012-10-14.11; # UTC
|
||||
|
||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent tools from complaining about whitespace usage.
|
||||
IFS=" "" $nl"
|
||||
|
||||
file_conv=
|
||||
|
||||
# func_file_conv build_file lazy
|
||||
# Convert a $build file to $host form and store it in $file
|
||||
# Currently only supports Windows hosts. If the determined conversion
|
||||
# type is listed in (the comma separated) LAZY, no conversion will
|
||||
# take place.
|
||||
func_file_conv ()
|
||||
{
|
||||
file=$1
|
||||
case $file in
|
||||
/ | /[!/]*) # absolute file, and not a UNC file
|
||||
if test -z "$file_conv"; then
|
||||
# lazily determine how to convert abs files
|
||||
case `uname -s` in
|
||||
MINGW*)
|
||||
file_conv=mingw
|
||||
;;
|
||||
CYGWIN*)
|
||||
file_conv=cygwin
|
||||
;;
|
||||
*)
|
||||
file_conv=wine
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $file_conv/,$2, in
|
||||
*,$file_conv,*)
|
||||
;;
|
||||
mingw/*)
|
||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||
;;
|
||||
cygwin/*)
|
||||
file=`cygpath -m "$file" || echo "$file"`
|
||||
;;
|
||||
wine/*)
|
||||
file=`winepath -w "$file" || echo "$file"`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# func_cl_dashL linkdir
|
||||
# Make cl look for libraries in LINKDIR
|
||||
func_cl_dashL ()
|
||||
{
|
||||
func_file_conv "$1"
|
||||
if test -z "$lib_path"; then
|
||||
lib_path=$file
|
||||
else
|
||||
lib_path="$lib_path;$file"
|
||||
fi
|
||||
linker_opts="$linker_opts -LIBPATH:$file"
|
||||
}
|
||||
|
||||
# func_cl_dashl library
|
||||
# Do a library search-path lookup for cl
|
||||
func_cl_dashl ()
|
||||
{
|
||||
lib=$1
|
||||
found=no
|
||||
save_IFS=$IFS
|
||||
IFS=';'
|
||||
for dir in $lib_path $LIB
|
||||
do
|
||||
IFS=$save_IFS
|
||||
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.dll.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/$lib.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/lib$lib.a"; then
|
||||
found=yes
|
||||
lib=$dir/lib$lib.a
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS=$save_IFS
|
||||
|
||||
if test "$found" != yes; then
|
||||
lib=$lib.lib
|
||||
fi
|
||||
}
|
||||
|
||||
# func_cl_wrapper cl arg...
|
||||
# Adjust compile command to suit cl
|
||||
func_cl_wrapper ()
|
||||
{
|
||||
# Assume a capable shell
|
||||
lib_path=
|
||||
shared=:
|
||||
linker_opts=
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.[oO][bB][jJ])
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fo"$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fe"$file"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-I)
|
||||
eat=1
|
||||
func_file_conv "$2" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-I*)
|
||||
func_file_conv "${1#-I}" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-l)
|
||||
eat=1
|
||||
func_cl_dashl "$2"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-l*)
|
||||
func_cl_dashl "${1#-l}"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-L)
|
||||
eat=1
|
||||
func_cl_dashL "$2"
|
||||
;;
|
||||
-L*)
|
||||
func_cl_dashL "${1#-L}"
|
||||
;;
|
||||
-static)
|
||||
shared=false
|
||||
;;
|
||||
-Wl,*)
|
||||
arg=${1#-Wl,}
|
||||
save_ifs="$IFS"; IFS=','
|
||||
for flag in $arg; do
|
||||
IFS="$save_ifs"
|
||||
linker_opts="$linker_opts $flag"
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
;;
|
||||
-Xlinker)
|
||||
eat=1
|
||||
linker_opts="$linker_opts $2"
|
||||
;;
|
||||
-*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||
func_file_conv "$1"
|
||||
set x "$@" -Tp"$file"
|
||||
shift
|
||||
;;
|
||||
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||
func_file_conv "$1" mingw
|
||||
set x "$@" "$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
if test -n "$linker_opts"; then
|
||||
linker_opts="-link$linker_opts"
|
||||
fi
|
||||
exec "$@" $linker_opts
|
||||
exit 1
|
||||
}
|
||||
|
||||
eat=
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Wrapper for compilers which do not understand '-c -o'.
|
||||
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||
arguments, and rename the output as expected.
|
||||
|
||||
If you are trying to build a whole package this is not the
|
||||
right script to run: please start by reading the file 'INSTALL'.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "compile $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||
func_cl_wrapper "$@" # Doesn't return...
|
||||
;;
|
||||
esac
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
# So we strip '-o arg' only if arg is an object.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.obj)
|
||||
ofile=$2
|
||||
;;
|
||||
*)
|
||||
set x "$@" -o "$2"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*.c)
|
||||
cfile=$1
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if test -z "$ofile" || test -z "$cfile"; then
|
||||
# If no '-o' option was seen then we might have been invoked from a
|
||||
# pattern rule where we don't need one. That is ok -- this is a
|
||||
# normal compilation that the losing compiler can handle. If no
|
||||
# '.c' file was seen then we are probably linking. That is also
|
||||
# ok.
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
|
||||
# that we are using for the .o file. Also, base the name on the expected
|
||||
# object file name, since that is what matters with a parallel build.
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||
while true; do
|
||||
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
# FIXME: race condition here if user kills between mkdir and trap.
|
||||
trap "rmdir '$lockdir'; exit 1" 1 2 15
|
||||
|
||||
# Run the compile.
|
||||
"$@"
|
||||
ret=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
|
||||
elif test -f "${cofile}bj"; then
|
||||
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir "$lockdir"
|
||||
exit $ret
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
+1530
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,106 @@
|
||||
/* config.h. Generated from config.h.in by configure. */
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the `asprintf' function. */
|
||||
#define HAVE_ASPRINTF 1
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#define HAVE_DLFCN_H 1
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#define HAVE_INTTYPES_H 1
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#define HAVE_MEMORY_H 1
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#define HAVE_STDINT_H 1
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#define HAVE_STDLIB_H 1
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#define HAVE_STRINGS_H 1
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#define HAVE_STRING_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#define HAVE_SYS_STAT_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#define HAVE_SYS_TYPES_H 1
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#define HAVE_UNISTD_H 1
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#define LT_OBJDIR ".libs/"
|
||||
|
||||
/* Name of package */
|
||||
#define PACKAGE "xf86-input-mouse"
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#define PACKAGE_NAME "xf86-input-mouse"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#define PACKAGE_STRING "xf86-input-mouse 1.9.2"
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#define PACKAGE_TARNAME "xf86-input-mouse"
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#define PACKAGE_URL ""
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "1.9.2"
|
||||
|
||||
/* Major version of this package */
|
||||
#define PACKAGE_VERSION_MAJOR 1
|
||||
|
||||
/* Minor version of this package */
|
||||
#define PACKAGE_VERSION_MINOR 9
|
||||
|
||||
/* Patch version of this package */
|
||||
#define PACKAGE_VERSION_PATCHLEVEL 2
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#define STDC_HEADERS 1
|
||||
|
||||
/* Enable extensions on AIX 3, Interix. */
|
||||
#ifndef _ALL_SOURCE
|
||||
# define _ALL_SOURCE 1
|
||||
#endif
|
||||
/* Enable GNU extensions on systems that have them. */
|
||||
#ifndef _GNU_SOURCE
|
||||
# define _GNU_SOURCE 1
|
||||
#endif
|
||||
/* Enable threading extensions on Solaris. */
|
||||
#ifndef _POSIX_PTHREAD_SEMANTICS
|
||||
# define _POSIX_PTHREAD_SEMANTICS 1
|
||||
#endif
|
||||
/* Enable extensions on HP NonStop. */
|
||||
#ifndef _TANDEM_SOURCE
|
||||
# define _TANDEM_SOURCE 1
|
||||
#endif
|
||||
/* Enable general extensions on Solaris. */
|
||||
#ifndef __EXTENSIONS__
|
||||
# define __EXTENSIONS__ 1
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number of package */
|
||||
#define VERSION "1.9.2"
|
||||
|
||||
/* Define to 1 if on MINIX. */
|
||||
/* #undef _MINIX */
|
||||
|
||||
/* Define to 2 if the system does not provide POSIX.1 features except with
|
||||
this defined. */
|
||||
/* #undef _POSIX_1_SOURCE */
|
||||
|
||||
/* Define to 1 if you need to in order for `stat' and other things to work. */
|
||||
/* #undef _POSIX_SOURCE */
|
||||
@@ -0,0 +1,105 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the `asprintf' function. */
|
||||
#undef HAVE_ASPRINTF
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Major version of this package */
|
||||
#undef PACKAGE_VERSION_MAJOR
|
||||
|
||||
/* Minor version of this package */
|
||||
#undef PACKAGE_VERSION_MINOR
|
||||
|
||||
/* Patch version of this package */
|
||||
#undef PACKAGE_VERSION_PATCHLEVEL
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Enable extensions on AIX 3, Interix. */
|
||||
#ifndef _ALL_SOURCE
|
||||
# undef _ALL_SOURCE
|
||||
#endif
|
||||
/* Enable GNU extensions on systems that have them. */
|
||||
#ifndef _GNU_SOURCE
|
||||
# undef _GNU_SOURCE
|
||||
#endif
|
||||
/* Enable threading extensions on Solaris. */
|
||||
#ifndef _POSIX_PTHREAD_SEMANTICS
|
||||
# undef _POSIX_PTHREAD_SEMANTICS
|
||||
#endif
|
||||
/* Enable extensions on HP NonStop. */
|
||||
#ifndef _TANDEM_SOURCE
|
||||
# undef _TANDEM_SOURCE
|
||||
#endif
|
||||
/* Enable general extensions on Solaris. */
|
||||
#ifndef __EXTENSIONS__
|
||||
# undef __EXTENSIONS__
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Define to 1 if on MINIX. */
|
||||
#undef _MINIX
|
||||
|
||||
/* Define to 2 if the system does not provide POSIX.1 features except with
|
||||
this defined. */
|
||||
#undef _POSIX_1_SOURCE
|
||||
|
||||
/* Define to 1 if you need to in order for `stat' and other things to work. */
|
||||
#undef _POSIX_SOURCE
|
||||
File diff suppressed because it is too large
Load Diff
Executable
+2014
File diff suppressed because it is too large
Load Diff
+1782
File diff suppressed because it is too large
Load Diff
+20979
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,98 @@
|
||||
# Copyright 2005 Adam Jackson.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
# license, and/or sell copies of the Software, and to permit persons to whom
|
||||
# the Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
# ADAM JACKSON 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.
|
||||
#
|
||||
# Process this file with autoconf to produce a configure script
|
||||
|
||||
# Initialize Autoconf
|
||||
AC_PREREQ([2.60])
|
||||
AC_INIT([xf86-input-mouse],
|
||||
[1.9.2],
|
||||
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
|
||||
[xf86-input-mouse])
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_AUX_DIR(.)
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
|
||||
# Initialize Automake
|
||||
AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
||||
|
||||
# Initialize libtool
|
||||
AC_DISABLE_STATIC
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
# 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
|
||||
|
||||
# Checks for library functions
|
||||
AC_CHECK_FUNCS([asprintf])
|
||||
|
||||
# Obtain compiler/linker options from server and required extensions
|
||||
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.7] xproto inputproto)
|
||||
|
||||
# Define a configure option for an alternate input module directory
|
||||
AC_ARG_WITH(xorg-module-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)
|
||||
|
||||
# X Server SDK location is required to install xf86-mouse-properties.h
|
||||
# This location is also relayed in the xorg-mouse.pc file
|
||||
sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
|
||||
|
||||
# Workaround overriding sdkdir to be able to create a tarball when user has no
|
||||
# write permission in sdkdir. See DISTCHECK_CONFIGURE_FLAGS in Makefile.am
|
||||
AC_ARG_WITH([sdkdir], [], [sdkdir="$withval"])
|
||||
AC_SUBST([sdkdir])
|
||||
|
||||
|
||||
# Work out which OS mouse driver we need to build
|
||||
case $host_os in
|
||||
linux*)
|
||||
OS_MOUSE_NAME=lnx
|
||||
;;
|
||||
freebsd*|kfreebsd*-gnu|dragonfly*|netbsd*|openbsd*)
|
||||
OS_MOUSE_NAME=bsd
|
||||
;;
|
||||
solaris*)
|
||||
OS_MOUSE_NAME=sun
|
||||
;;
|
||||
gnu*)
|
||||
OS_MOUSE_NAME=hurd
|
||||
;;
|
||||
esac
|
||||
AC_SUBST([OS_MOUSE_NAME])
|
||||
|
||||
DRIVER_NAME=mouse
|
||||
AC_SUBST([DRIVER_NAME])
|
||||
|
||||
AC_CONFIG_FILES([Makefile
|
||||
xorg-mouse.pc
|
||||
include/Makefile
|
||||
src/Makefile
|
||||
man/Makefile])
|
||||
AC_OUTPUT
|
||||
Executable
+707
@@ -0,0 +1,707 @@
|
||||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2012-03-27.16; # UTC
|
||||
|
||||
# Copyright (C) 1999-2012 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||
as side-effects.
|
||||
|
||||
Environment variables:
|
||||
depmode Dependency tracking mode.
|
||||
source Source file read by 'PROGRAMS ARGS'.
|
||||
object Object file output by 'PROGRAMS ARGS'.
|
||||
DEPDIR directory where to store dependencies.
|
||||
depfile Dependency file to output.
|
||||
tmpdepfile Temporary file to use when outputting dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
# A tabulation character.
|
||||
tab=' '
|
||||
# A newline character.
|
||||
nl='
|
||||
'
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||
depfile=${depfile-`echo "$object" |
|
||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
cygpath_u="cygpath -u -f -"
|
||||
if test "$depmode" = msvcmsys; then
|
||||
# This is just like msvisualcpp but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvisualcpp
|
||||
fi
|
||||
|
||||
if test "$depmode" = msvc7msys; then
|
||||
# This is just like msvc7 but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvc7
|
||||
fi
|
||||
|
||||
if test "$depmode" = xlc; then
|
||||
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
|
||||
gccflag=-qmakedep=gcc,-MF
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||
## the command line argument order; so add the flags where they
|
||||
## appear in depend2.am. Note that the slowdown incurred here
|
||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||
*) set fnord "$@" "$arg" ;;
|
||||
esac
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
done
|
||||
"$@"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say).
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
||||
## The second -e expression handles DOS-style file names with drive letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the "deleted header file" problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
tr ' ' "$nl" < "$tmpdepfile" |
|
||||
## Some versions of gcc put a space before the ':'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well. hp depmode also adds that space, but also prefixes the VPATH
|
||||
## to the object. Take care to not repeat it in the output.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like '#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||
tr "$nl" ' ' >> "$depfile"
|
||||
echo >> "$depfile"
|
||||
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
xlc)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts '$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$base.u
|
||||
tmpdepfile3=$dir.libs/$base.u
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$dir$base.u
|
||||
tmpdepfile3=$dir$base.u
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
# Each line is of the form 'foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# '$object: dependent.h' and one to simply 'dependent.h:'.
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
icc)
|
||||
# Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
|
||||
# However on
|
||||
# $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
||||
# ICC 7.0 will fill foo.d with something like
|
||||
# foo.o: sub/foo.c
|
||||
# foo.o: sub/foo.h
|
||||
# which is wrong. We want
|
||||
# sub/foo.o: sub/foo.c
|
||||
# sub/foo.o: sub/foo.h
|
||||
# sub/foo.c:
|
||||
# sub/foo.h:
|
||||
# ICC 7.1 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using '\':
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
# tcc 0.9.26 (FIXME still under development at the moment of writing)
|
||||
# will emit a similar output, but also prepend the continuation lines
|
||||
# with horizontal tabulation characters.
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form 'foo.o: dependent.h',
|
||||
# or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# '$object: dependent.h' and one to simply 'dependent.h:'.
|
||||
sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \
|
||||
< "$tmpdepfile" > "$depfile"
|
||||
sed '
|
||||
s/[ '"$tab"'][ '"$tab"']*/ /g
|
||||
s/^ *//
|
||||
s/ *\\*$//
|
||||
s/^[^:]*: *//
|
||||
/^$/d
|
||||
/:$/d
|
||||
s/$/ :/
|
||||
' < "$tmpdepfile" >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp2)
|
||||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||
# compilers, which have integrated preprocessors. The correct option
|
||||
# to use with these is +Maked; it writes dependencies to a file named
|
||||
# 'foo.d', which lands next to the object file, wherever that
|
||||
# happens to be.
|
||||
# Much of this is similar to the tru64 case; see comments there.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir.libs/$base.d
|
||||
"$@" -Wc,+Maked
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
"$@" +Maked
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add 'dependent.h:' lines.
|
||||
sed -ne '2,${
|
||||
s/^ *//
|
||||
s/ \\*$//
|
||||
s/$/:/
|
||||
p
|
||||
}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in 'foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# With Tru64 cc, shared objects can also be used to make a
|
||||
# static library. This mechanism is used in libtool 1.4 series to
|
||||
# handle both shared and static libraries in a single compilation.
|
||||
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
||||
#
|
||||
# With libtool 1.5 this exception was removed, and libtool now
|
||||
# generates 2 separate objects for the 2 libraries. These two
|
||||
# compilations output dependencies in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||
# the former would cause a distcleancheck panic.
|
||||
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
|
||||
tmpdepfile2=$dir$base.o.d # libtool 1.5
|
||||
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
|
||||
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.o.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
tmpdepfile4=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvc7)
|
||||
if test "$libtool" = yes; then
|
||||
showIncludes=-Wc,-showIncludes
|
||||
else
|
||||
showIncludes=-showIncludes
|
||||
fi
|
||||
"$@" $showIncludes > "$tmpdepfile"
|
||||
stat=$?
|
||||
grep -v '^Note: including file: ' "$tmpdepfile"
|
||||
if test "$stat" = 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The first sed program below extracts the file names and escapes
|
||||
# backslashes for cygpath. The second sed program outputs the file
|
||||
# name when reading, but also accumulates all include files in the
|
||||
# hold buffer in order to output them again at the end. This only
|
||||
# works with sed implementations that can handle large buffers.
|
||||
sed < "$tmpdepfile" -n '
|
||||
/^Note: including file: *\(.*\)/ {
|
||||
s//\1/
|
||||
s/\\/\\\\/g
|
||||
p
|
||||
}' | $cygpath_u | sort -u | sed -n '
|
||||
s/ /\\ /g
|
||||
s/\(.*\)/'"$tab"'\1 \\/p
|
||||
s/.\(.*\) \\/\1:/
|
||||
H
|
||||
$ {
|
||||
s/.*/'"$tab"'/
|
||||
G
|
||||
p
|
||||
}' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvc7msys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for ':'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
tr ' ' "$nl" < "$tmpdepfile" | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no eat=no
|
||||
for arg
|
||||
do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
if test $eat = yes; then
|
||||
eat=no
|
||||
continue
|
||||
fi
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-arch)
|
||||
eat=yes ;;
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix=`echo "$object" | sed 's/^.*\././'`
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
# makedepend may prepend the VPATH from the source file name to the object.
|
||||
# No need to regex-escape $object, excess matching of '.' is harmless.
|
||||
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
|
||||
sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E |
|
||||
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E 2>/dev/null |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
|
||||
echo "$tab" >> "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvcmsys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
@@ -0,0 +1,581 @@
|
||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# include/Makefile. Generated from Makefile.in by configure.
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
|
||||
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/xf86-input-mouse
|
||||
pkgincludedir = $(includedir)/xf86-input-mouse
|
||||
pkglibdir = $(libdir)/xf86-input-mouse
|
||||
pkglibexecdir = $(libexecdir)/xf86-input-mouse
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = x86_64-unknown-freebsd15.0
|
||||
host_triplet = x86_64-unknown-freebsd15.0
|
||||
subdir = include
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(sdk_HEADERS) $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_$(V))
|
||||
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_$(V))
|
||||
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_$(V))
|
||||
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(sdkdir)"
|
||||
HEADERS = $(sdk_HEADERS)
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = aclocal-1.15
|
||||
ADMIN_MAN_DIR = $(mandir)/man$(ADMIN_MAN_SUFFIX)
|
||||
ADMIN_MAN_SUFFIX = 8
|
||||
AMTAR = $${TAR-tar}
|
||||
AM_DEFAULT_VERBOSITY = 0
|
||||
APP_MAN_DIR = $(mandir)/man$(APP_MAN_SUFFIX)
|
||||
APP_MAN_SUFFIX = 1
|
||||
AR = ar
|
||||
AUTOCONF = autoconf
|
||||
AUTOHEADER = autoheader
|
||||
AUTOMAKE = automake-1.15
|
||||
AWK = nawk
|
||||
BASE_CFLAGS = -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Wlogical-op -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces -Werror=sequence-point -Werror=return-type -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast
|
||||
CC = cc
|
||||
CCDEPMODE = depmode=gcc3
|
||||
CFLAGS = -w
|
||||
CHANGELOG_CMD = (GIT_DIR=$(top_srcdir)/.git git log > $(top_srcdir)/.changelog.tmp && mv $(top_srcdir)/.changelog.tmp $(top_srcdir)/ChangeLog) || (rm -f $(top_srcdir)/.changelog.tmp; touch $(top_srcdir)/ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
|
||||
CPP = cc -E
|
||||
CPPFLAGS =
|
||||
CWARNFLAGS = -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Wlogical-op -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces -Werror=sequence-point -Werror=return-type -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -fno-strict-aliasing
|
||||
CYGPATH_W = echo
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
DEPDIR = .deps
|
||||
DLLTOOL = false
|
||||
DRIVER_MAN_DIR = $(mandir)/man$(DRIVER_MAN_SUFFIX)
|
||||
DRIVER_MAN_SUFFIX = 4
|
||||
DRIVER_NAME = mouse
|
||||
DSYMUTIL =
|
||||
DUMPBIN =
|
||||
ECHO_C =
|
||||
ECHO_N = -n
|
||||
ECHO_T =
|
||||
EGREP = /usr/bin/grep -E
|
||||
EXEEXT =
|
||||
FGREP = /usr/bin/grep -F
|
||||
FILE_MAN_DIR = $(mandir)/man$(FILE_MAN_SUFFIX)
|
||||
FILE_MAN_SUFFIX = 5
|
||||
GREP = /usr/bin/grep
|
||||
INSTALL = /usr/bin/install -c
|
||||
INSTALL_CMD = (cp -f /usr/local/share/util-macros/INSTALL $(top_srcdir)/.INSTALL.tmp && mv $(top_srcdir)/.INSTALL.tmp $(top_srcdir)/INSTALL) || (rm -f $(top_srcdir)/.INSTALL.tmp; touch $(top_srcdir)/INSTALL; echo 'util-macros "pkgdatadir" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
||||
LD = /usr/bin/ld
|
||||
LDFLAGS =
|
||||
LIBOBJS =
|
||||
LIBS =
|
||||
LIBTOOL = $(SHELL) $(top_builddir)/libtool
|
||||
LIB_MAN_DIR = $(mandir)/man$(LIB_MAN_SUFFIX)
|
||||
LIB_MAN_SUFFIX = 3
|
||||
LINT =
|
||||
LINT_FLAGS = -u -b
|
||||
LIPO =
|
||||
LN_S = ln -s
|
||||
LTLIBOBJS =
|
||||
LT_SYS_LIBRARY_PATH =
|
||||
MAKEINFO = makeinfo
|
||||
MANIFEST_TOOL = :
|
||||
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|__xorgconfdir__|xorg.conf.d|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' -e 's|__libmansuffix__|$(LIB_MAN_SUFFIX)|g' -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
|
||||
MISC_MAN_DIR = $(mandir)/man$(MISC_MAN_SUFFIX)
|
||||
MISC_MAN_SUFFIX = 7
|
||||
MKDIR_P = .././install-sh -c -d
|
||||
NM = /usr/bin/nm -B
|
||||
NMEDIT =
|
||||
OBJDUMP = objdump
|
||||
OBJEXT = o
|
||||
OS_MOUSE_NAME = bsd
|
||||
OTOOL =
|
||||
OTOOL64 =
|
||||
PACKAGE = xf86-input-mouse
|
||||
PACKAGE_BUGREPORT = https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
|
||||
PACKAGE_NAME = xf86-input-mouse
|
||||
PACKAGE_STRING = xf86-input-mouse 1.9.2
|
||||
PACKAGE_TARNAME = xf86-input-mouse
|
||||
PACKAGE_URL =
|
||||
PACKAGE_VERSION = 1.9.2
|
||||
PATH_SEPARATOR = :
|
||||
PKG_CONFIG = /usr/local/bin/pkg-config
|
||||
PKG_CONFIG_LIBDIR =
|
||||
PKG_CONFIG_PATH =
|
||||
RANLIB = ranlib
|
||||
SED = /usr/bin/sed
|
||||
SET_MAKE =
|
||||
SHELL = /bin/sh
|
||||
STRICT_CFLAGS = -pedantic -Werror -Werror=attributes
|
||||
STRIP = strip
|
||||
VERSION = 1.9.2
|
||||
XORG_CFLAGS = -I/usr/local/include/xorg -fvisibility=hidden -I/usr/local/include/pixman-1 -I/usr/local/include/X11/dri -I/usr/local/include/libdrm
|
||||
XORG_LIBS = -L/usr/local/lib
|
||||
XORG_MAN_PAGE = X Version 11
|
||||
abs_builddir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2/include
|
||||
abs_srcdir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2/include
|
||||
abs_top_builddir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2
|
||||
abs_top_srcdir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2
|
||||
ac_ct_AR = ar
|
||||
ac_ct_CC =
|
||||
ac_ct_DUMPBIN =
|
||||
am__include = include
|
||||
am__leading_dot = .
|
||||
am__quote =
|
||||
am__tar = $${TAR-tar} chof - "$$tardir"
|
||||
am__untar = $${TAR-tar} xf -
|
||||
bindir = ${exec_prefix}/bin
|
||||
build = x86_64-unknown-freebsd15.0
|
||||
build_alias =
|
||||
build_cpu = x86_64
|
||||
build_os = freebsd15.0
|
||||
build_vendor = unknown
|
||||
builddir = .
|
||||
datadir = ${datarootdir}
|
||||
datarootdir = ${prefix}/share
|
||||
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
||||
dvidir = ${docdir}
|
||||
exec_prefix = ${prefix}
|
||||
host = x86_64-unknown-freebsd15.0
|
||||
host_alias =
|
||||
host_cpu = x86_64
|
||||
host_os = freebsd15.0
|
||||
host_vendor = unknown
|
||||
htmldir = ${docdir}
|
||||
includedir = ${prefix}/include
|
||||
infodir = ${datarootdir}/info
|
||||
inputdir = ${exec_prefix}/lib/xorg/modules/input
|
||||
install_sh = ${SHELL} /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2/install-sh
|
||||
libdir = ${exec_prefix}/lib
|
||||
libexecdir = ${exec_prefix}/libexec
|
||||
localedir = ${datarootdir}/locale
|
||||
localstatedir = ${prefix}/var
|
||||
mandir = ${datarootdir}/man
|
||||
mkdir_p = $(MKDIR_P)
|
||||
oldincludedir = /usr/include
|
||||
pdfdir = ${docdir}
|
||||
prefix = /usr/local
|
||||
program_transform_name = s,x,x,
|
||||
psdir = ${docdir}
|
||||
sbindir = ${exec_prefix}/sbin
|
||||
sdkdir = /usr/local/include/xorg
|
||||
sharedstatedir = ${prefix}/com
|
||||
srcdir = .
|
||||
sysconfdir = ${prefix}/etc
|
||||
target_alias =
|
||||
top_build_prefix = ../
|
||||
top_builddir = ..
|
||||
top_srcdir = ..
|
||||
sdk_HEADERS = xf86-mouse-properties.h
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign include/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
install-sdkHEADERS: $(sdk_HEADERS)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(sdk_HEADERS)'; test -n "$(sdkdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(sdkdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(sdkdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(sdkdir)'"; \
|
||||
$(INSTALL_HEADER) $$files "$(DESTDIR)$(sdkdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-sdkHEADERS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(sdk_HEADERS)'; test -n "$(sdkdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(sdkdir)'; $(am__uninstall_files_from_dir)
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(HEADERS)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(sdkdir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-sdkHEADERS
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-sdkHEADERS
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
|
||||
clean-libtool cscopelist-am ctags ctags-am distclean \
|
||||
distclean-generic distclean-libtool distclean-tags distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-sdkHEADERS \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am uninstall-sdkHEADERS
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1 @@
|
||||
sdk_HEADERS = xf86-mouse-properties.h
|
||||
@@ -0,0 +1,581 @@
|
||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = include
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(sdk_HEADERS) $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(sdkdir)"
|
||||
HEADERS = $(sdk_HEADERS)
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DRIVER_NAME = @DRIVER_NAME@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LINT = @LINT@
|
||||
LINT_FLAGS = @LINT_FLAGS@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MAN_SUBSTS = @MAN_SUBSTS@
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OS_MOUSE_NAME = @OS_MOUSE_NAME@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRICT_CFLAGS = @STRICT_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
XORG_CFLAGS = @XORG_CFLAGS@
|
||||
XORG_LIBS = @XORG_LIBS@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
inputdir = @inputdir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sdkdir = @sdkdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
sdk_HEADERS = xf86-mouse-properties.h
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign include/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
install-sdkHEADERS: $(sdk_HEADERS)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(sdk_HEADERS)'; test -n "$(sdkdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(sdkdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(sdkdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(sdkdir)'"; \
|
||||
$(INSTALL_HEADER) $$files "$(DESTDIR)$(sdkdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-sdkHEADERS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(sdk_HEADERS)'; test -n "$(sdkdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(sdkdir)'; $(am__uninstall_files_from_dir)
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(HEADERS)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(sdkdir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-sdkHEADERS
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-sdkHEADERS
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
|
||||
clean-libtool cscopelist-am ctags ctags-am distclean \
|
||||
distclean-generic distclean-libtool distclean-tags distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-sdkHEADERS \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am uninstall-sdkHEADERS
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 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.
|
||||
*/
|
||||
|
||||
#ifndef _XF86_MOUSE_PROPERTIES_H_
|
||||
#define _XF86_MOUSE_PROPERTIES_H_
|
||||
|
||||
/* Middle mouse button emulation */
|
||||
/* BOOL */
|
||||
#define MOUSE_PROP_MIDBUTTON "Mouse Middle Button Emulation"
|
||||
/* CARD32 */
|
||||
#define MOUSE_PROP_MIDBUTTON_TIMEOUT "Mouse Middle Button Timeout"
|
||||
|
||||
#endif /* _XF86_MOUSE_PROPERTIES_H_ */
|
||||
Executable
+527
@@ -0,0 +1,527 @@
|
||||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2011-11-20.07; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# 'make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit=${DOITPROG-}
|
||||
if test -z "$doit"; then
|
||||
doit_exec=exec
|
||||
else
|
||||
doit_exec=$doit
|
||||
fi
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
|
||||
chgrpprog=${CHGRPPROG-chgrp}
|
||||
chmodprog=${CHMODPROG-chmod}
|
||||
chownprog=${CHOWNPROG-chown}
|
||||
cmpprog=${CMPPROG-cmp}
|
||||
cpprog=${CPPROG-cp}
|
||||
mkdirprog=${MKDIRPROG-mkdir}
|
||||
mvprog=${MVPROG-mv}
|
||||
rmprog=${RMPROG-rm}
|
||||
stripprog=${STRIPPROG-strip}
|
||||
|
||||
posix_glob='?'
|
||||
initialize_posix_glob='
|
||||
test "$posix_glob" != "?" || {
|
||||
if (set -f) 2>/dev/null; then
|
||||
posix_glob=
|
||||
else
|
||||
posix_glob=:
|
||||
fi
|
||||
}
|
||||
'
|
||||
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
chgrpcmd=
|
||||
chmodcmd=$chmodprog
|
||||
chowncmd=
|
||||
mvcmd=$mvprog
|
||||
rmcmd="$rmprog -f"
|
||||
stripcmd=
|
||||
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dst_arg=
|
||||
|
||||
copy_on_change=false
|
||||
no_target_directory=
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
-c (ignored)
|
||||
-C install only if different (preserve the last data modification time)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||
RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test $# -ne 0; do
|
||||
case $1 in
|
||||
-c) ;;
|
||||
|
||||
-C) copy_on_change=true;;
|
||||
|
||||
-d) dir_arg=true;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
case $mode in
|
||||
*' '* | *' '* | *'
|
||||
'* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift;;
|
||||
|
||||
-s) stripcmd=$stripprog;;
|
||||
|
||||
-t) dst_arg=$2
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-T) no_target_directory=true;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dst_arg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dst_arg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dst_arg=$arg
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
if test $# -eq 0; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call 'install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
do_exit='(exit $ret); exit $ret'
|
||||
trap "ret=129; $do_exit" 1
|
||||
trap "ret=130; $do_exit" 2
|
||||
trap "ret=141; $do_exit" 13
|
||||
trap "ret=143; $do_exit" 15
|
||||
|
||||
# Set umask so as not to create temps with too-generous modes.
|
||||
# However, 'strip' requires both read and write access to temps.
|
||||
case $mode in
|
||||
# Optimize common cases.
|
||||
*644) cp_umask=133;;
|
||||
*755) cp_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $src in
|
||||
-* | [=\(\)!]) src=./$src;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
dstdir=$dst
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dst_arg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
dst=$dst_arg
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstdir_status=0
|
||||
else
|
||||
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||
dstdir=`
|
||||
(dirname "$dst") 2>/dev/null ||
|
||||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$dst" : 'X\(//\)[^/]' \| \
|
||||
X"$dst" : 'X\(//\)$' \| \
|
||||
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
echo X"$dst" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'
|
||||
`
|
||||
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||
umask=`umask`
|
||||
case $stripcmd.$umask in
|
||||
# Optimize common cases.
|
||||
*[2367][2367]) mkdir_umask=$umask;;
|
||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
mkdir_umask=`expr $umask + 22 \
|
||||
- $umask % 100 % 40 + $umask % 20 \
|
||||
- $umask % 10 % 4 + $umask % 2
|
||||
`;;
|
||||
*) mkdir_umask=$umask,go-w;;
|
||||
esac
|
||||
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
|
||||
posix_mkdir=false
|
||||
case $umask in
|
||||
*[123567][0-7][0-7])
|
||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix='/';;
|
||||
[-=\(\)!]*) prefix='./';;
|
||||
*) prefix='';;
|
||||
esac
|
||||
|
||||
eval "$initialize_posix_glob"
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
$posix_glob set -f
|
||||
set fnord $dstdir
|
||||
shift
|
||||
$posix_glob set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test X"$d" = X && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask=$mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
|
||||
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
|
||||
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||
|
||||
# If -C, don't bother to copy if it wouldn't change the file.
|
||||
if $copy_on_change &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
|
||||
eval "$initialize_posix_glob" &&
|
||||
$posix_glob set -f &&
|
||||
set X $old && old=:$2:$4:$5:$6 &&
|
||||
set X $new && new=:$2:$4:$5:$6 &&
|
||||
$posix_glob set +f &&
|
||||
|
||||
test "$old" = "$new" &&
|
||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||
then
|
||||
rm -f "$dsttmp"
|
||||
else
|
||||
# Rename the file to the real destination.
|
||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
{
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
fi || exit 1
|
||||
|
||||
trap '' 0
|
||||
fi
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
Executable
+11642
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,550 @@
|
||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# man/Makefile. Generated from Makefile.in by configure.
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/xf86-input-mouse
|
||||
pkgincludedir = $(includedir)/xf86-input-mouse
|
||||
pkglibdir = $(libdir)/xf86-input-mouse
|
||||
pkglibexecdir = $(libexecdir)/xf86-input-mouse
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = x86_64-unknown-freebsd15.0
|
||||
host_triplet = x86_64-unknown-freebsd15.0
|
||||
subdir = man
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_$(V))
|
||||
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_$(V))
|
||||
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_$(V))
|
||||
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(drivermandir)"
|
||||
DATA = $(driverman_DATA)
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = aclocal-1.15
|
||||
ADMIN_MAN_DIR = $(mandir)/man$(ADMIN_MAN_SUFFIX)
|
||||
ADMIN_MAN_SUFFIX = 8
|
||||
AMTAR = $${TAR-tar}
|
||||
AM_DEFAULT_VERBOSITY = 0
|
||||
APP_MAN_DIR = $(mandir)/man$(APP_MAN_SUFFIX)
|
||||
APP_MAN_SUFFIX = 1
|
||||
AR = ar
|
||||
AUTOCONF = autoconf
|
||||
AUTOHEADER = autoheader
|
||||
AUTOMAKE = automake-1.15
|
||||
AWK = nawk
|
||||
BASE_CFLAGS = -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Wlogical-op -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces -Werror=sequence-point -Werror=return-type -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast
|
||||
CC = cc
|
||||
CCDEPMODE = depmode=gcc3
|
||||
CFLAGS = -w
|
||||
CHANGELOG_CMD = (GIT_DIR=$(top_srcdir)/.git git log > $(top_srcdir)/.changelog.tmp && mv $(top_srcdir)/.changelog.tmp $(top_srcdir)/ChangeLog) || (rm -f $(top_srcdir)/.changelog.tmp; touch $(top_srcdir)/ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
|
||||
CPP = cc -E
|
||||
CPPFLAGS =
|
||||
CWARNFLAGS = -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Wlogical-op -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces -Werror=sequence-point -Werror=return-type -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -fno-strict-aliasing
|
||||
CYGPATH_W = echo
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
DEPDIR = .deps
|
||||
DLLTOOL = false
|
||||
DRIVER_MAN_DIR = $(mandir)/man$(DRIVER_MAN_SUFFIX)
|
||||
DRIVER_MAN_SUFFIX = 4
|
||||
DRIVER_NAME = mouse
|
||||
DSYMUTIL =
|
||||
DUMPBIN =
|
||||
ECHO_C =
|
||||
ECHO_N = -n
|
||||
ECHO_T =
|
||||
EGREP = /usr/bin/grep -E
|
||||
EXEEXT =
|
||||
FGREP = /usr/bin/grep -F
|
||||
FILE_MAN_DIR = $(mandir)/man$(FILE_MAN_SUFFIX)
|
||||
FILE_MAN_SUFFIX = 5
|
||||
GREP = /usr/bin/grep
|
||||
INSTALL = /usr/bin/install -c
|
||||
INSTALL_CMD = (cp -f /usr/local/share/util-macros/INSTALL $(top_srcdir)/.INSTALL.tmp && mv $(top_srcdir)/.INSTALL.tmp $(top_srcdir)/INSTALL) || (rm -f $(top_srcdir)/.INSTALL.tmp; touch $(top_srcdir)/INSTALL; echo 'util-macros "pkgdatadir" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
||||
LD = /usr/bin/ld
|
||||
LDFLAGS =
|
||||
LIBOBJS =
|
||||
LIBS =
|
||||
LIBTOOL = $(SHELL) $(top_builddir)/libtool
|
||||
LIB_MAN_DIR = $(mandir)/man$(LIB_MAN_SUFFIX)
|
||||
LIB_MAN_SUFFIX = 3
|
||||
LINT =
|
||||
LINT_FLAGS = -u -b
|
||||
LIPO =
|
||||
LN_S = ln -s
|
||||
LTLIBOBJS =
|
||||
LT_SYS_LIBRARY_PATH =
|
||||
MAKEINFO = makeinfo
|
||||
MANIFEST_TOOL = :
|
||||
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|__xorgconfdir__|xorg.conf.d|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' -e 's|__libmansuffix__|$(LIB_MAN_SUFFIX)|g' -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
|
||||
MISC_MAN_DIR = $(mandir)/man$(MISC_MAN_SUFFIX)
|
||||
MISC_MAN_SUFFIX = 7
|
||||
MKDIR_P = .././install-sh -c -d
|
||||
NM = /usr/bin/nm -B
|
||||
NMEDIT =
|
||||
OBJDUMP = objdump
|
||||
OBJEXT = o
|
||||
OS_MOUSE_NAME = bsd
|
||||
OTOOL =
|
||||
OTOOL64 =
|
||||
PACKAGE = xf86-input-mouse
|
||||
PACKAGE_BUGREPORT = https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
|
||||
PACKAGE_NAME = xf86-input-mouse
|
||||
PACKAGE_STRING = xf86-input-mouse 1.9.2
|
||||
PACKAGE_TARNAME = xf86-input-mouse
|
||||
PACKAGE_URL =
|
||||
PACKAGE_VERSION = 1.9.2
|
||||
PATH_SEPARATOR = :
|
||||
PKG_CONFIG = /usr/local/bin/pkg-config
|
||||
PKG_CONFIG_LIBDIR =
|
||||
PKG_CONFIG_PATH =
|
||||
RANLIB = ranlib
|
||||
SED = /usr/bin/sed
|
||||
SET_MAKE =
|
||||
SHELL = /bin/sh
|
||||
STRICT_CFLAGS = -pedantic -Werror -Werror=attributes
|
||||
STRIP = strip
|
||||
VERSION = 1.9.2
|
||||
XORG_CFLAGS = -I/usr/local/include/xorg -fvisibility=hidden -I/usr/local/include/pixman-1 -I/usr/local/include/X11/dri -I/usr/local/include/libdrm
|
||||
XORG_LIBS = -L/usr/local/lib
|
||||
XORG_MAN_PAGE = X Version 11
|
||||
abs_builddir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2/man
|
||||
abs_srcdir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2/man
|
||||
abs_top_builddir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2
|
||||
abs_top_srcdir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2
|
||||
ac_ct_AR = ar
|
||||
ac_ct_CC =
|
||||
ac_ct_DUMPBIN =
|
||||
am__include = include
|
||||
am__leading_dot = .
|
||||
am__quote =
|
||||
am__tar = $${TAR-tar} chof - "$$tardir"
|
||||
am__untar = $${TAR-tar} xf -
|
||||
bindir = ${exec_prefix}/bin
|
||||
build = x86_64-unknown-freebsd15.0
|
||||
build_alias =
|
||||
build_cpu = x86_64
|
||||
build_os = freebsd15.0
|
||||
build_vendor = unknown
|
||||
builddir = .
|
||||
datadir = ${datarootdir}
|
||||
datarootdir = ${prefix}/share
|
||||
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
||||
dvidir = ${docdir}
|
||||
exec_prefix = ${prefix}
|
||||
host = x86_64-unknown-freebsd15.0
|
||||
host_alias =
|
||||
host_cpu = x86_64
|
||||
host_os = freebsd15.0
|
||||
host_vendor = unknown
|
||||
htmldir = ${docdir}
|
||||
includedir = ${prefix}/include
|
||||
infodir = ${datarootdir}/info
|
||||
inputdir = ${exec_prefix}/lib/xorg/modules/input
|
||||
install_sh = ${SHELL} /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2/install-sh
|
||||
libdir = ${exec_prefix}/lib
|
||||
libexecdir = ${exec_prefix}/libexec
|
||||
localedir = ${datarootdir}/locale
|
||||
localstatedir = ${prefix}/var
|
||||
mandir = ${datarootdir}/man
|
||||
mkdir_p = $(MKDIR_P)
|
||||
oldincludedir = /usr/include
|
||||
pdfdir = ${docdir}
|
||||
prefix = /usr/local
|
||||
program_transform_name = s,x,x,
|
||||
psdir = ${docdir}
|
||||
sbindir = ${exec_prefix}/sbin
|
||||
sdkdir = /usr/local/include/xorg
|
||||
sharedstatedir = ${prefix}/com
|
||||
srcdir = .
|
||||
sysconfdir = ${prefix}/etc
|
||||
target_alias =
|
||||
top_build_prefix = ../
|
||||
top_builddir = ..
|
||||
top_srcdir = ..
|
||||
drivermandir = $(DRIVER_MAN_DIR)
|
||||
driverman_PRE = mousedrv.man
|
||||
driverman_DATA = $(driverman_PRE:man=4)
|
||||
EXTRA_DIST = mousedrv.man
|
||||
CLEANFILES = $(driverman_DATA)
|
||||
SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .$(DRIVER_MAN_SUFFIX) .man
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign man/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
install-drivermanDATA: $(driverman_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(driverman_DATA)'; test -n "$(drivermandir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(drivermandir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(drivermandir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(drivermandir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(drivermandir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-drivermanDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(driverman_DATA)'; test -n "$(drivermandir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(drivermandir)'; $(am__uninstall_files_from_dir)
|
||||
tags TAGS:
|
||||
|
||||
ctags CTAGS:
|
||||
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(DATA)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(drivermandir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-drivermanDATA
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-drivermanDATA
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
cscopelist-am ctags-am distclean distclean-generic \
|
||||
distclean-libtool distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am \
|
||||
install-drivermanDATA install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
|
||||
uninstall-am uninstall-drivermanDATA
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
.man.$(DRIVER_MAN_SUFFIX):
|
||||
$(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:
|
||||
@@ -0,0 +1,37 @@
|
||||
#
|
||||
# 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)
|
||||
|
||||
driverman_PRE = mousedrv.man
|
||||
|
||||
driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@)
|
||||
|
||||
EXTRA_DIST = mousedrv.man
|
||||
|
||||
CLEANFILES = $(driverman_DATA)
|
||||
|
||||
SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
|
||||
|
||||
.man.$(DRIVER_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||
@@ -0,0 +1,550 @@
|
||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = man
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(drivermandir)"
|
||||
DATA = $(driverman_DATA)
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DRIVER_NAME = @DRIVER_NAME@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LINT = @LINT@
|
||||
LINT_FLAGS = @LINT_FLAGS@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MAN_SUBSTS = @MAN_SUBSTS@
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OS_MOUSE_NAME = @OS_MOUSE_NAME@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRICT_CFLAGS = @STRICT_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
XORG_CFLAGS = @XORG_CFLAGS@
|
||||
XORG_LIBS = @XORG_LIBS@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
inputdir = @inputdir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sdkdir = @sdkdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
drivermandir = $(DRIVER_MAN_DIR)
|
||||
driverman_PRE = mousedrv.man
|
||||
driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@)
|
||||
EXTRA_DIST = mousedrv.man
|
||||
CLEANFILES = $(driverman_DATA)
|
||||
SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .$(DRIVER_MAN_SUFFIX) .man
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign man/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
install-drivermanDATA: $(driverman_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(driverman_DATA)'; test -n "$(drivermandir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(drivermandir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(drivermandir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(drivermandir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(drivermandir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-drivermanDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(driverman_DATA)'; test -n "$(drivermandir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(drivermandir)'; $(am__uninstall_files_from_dir)
|
||||
tags TAGS:
|
||||
|
||||
ctags CTAGS:
|
||||
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(DATA)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(drivermandir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-drivermanDATA
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-drivermanDATA
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
cscopelist-am ctags-am distclean distclean-generic \
|
||||
distclean-libtool distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am \
|
||||
install-drivermanDATA install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
|
||||
uninstall-am uninstall-drivermanDATA
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
.man.$(DRIVER_MAN_SUFFIX):
|
||||
$(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:
|
||||
@@ -0,0 +1,310 @@
|
||||
.\" shorthand for double quote that works everywhere.
|
||||
.ds q \N'34'
|
||||
.TH MOUSE __drivermansuffix__ __vendorversion__
|
||||
.SH NAME
|
||||
mouse \- __xservername__ mouse input driver
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
.B "Section \*qInputDevice\*q"
|
||||
.BI " Identifier \*q" idevname \*q
|
||||
.B " Driver \*qmouse\*q"
|
||||
.BI " Option \*qProtocol\*q \*q" protoname \*q
|
||||
.BI " Option \*qDevice\*q \*q" devpath \*q
|
||||
\ \ ...
|
||||
.B EndSection
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
.B mouse
|
||||
is an __xservername__ input driver for mice. The driver supports most
|
||||
available mouse types and interfaces, though the level of support for
|
||||
types of mice depends on the OS.
|
||||
.PP
|
||||
The
|
||||
.B mouse
|
||||
driver functions as a pointer input device. Multiple mice are supported by
|
||||
multiple instances of this driver.
|
||||
.SH SUPPORTED HARDWARE
|
||||
.TP
|
||||
USB mouse
|
||||
USB (Universal Serial Bus) ports are present on most modern
|
||||
computers. Several devices can be plugged into this bus, including
|
||||
mice and keyboards. Support for USB mice is platform specific.
|
||||
.TP
|
||||
PS/2 mouse
|
||||
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.
|
||||
.TP
|
||||
Serial mouse
|
||||
There have been numerous serial mouse models from a number of
|
||||
manufacturers.
|
||||
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.
|
||||
This driver supports this specification and can detect
|
||||
popular PnP serial mouse models on most platforms.
|
||||
.TP
|
||||
Bus mouse
|
||||
The bus mouse connects to a dedicated interface card in an expansion
|
||||
slot.
|
||||
Some older video cards, notably those from ATI, and integrated I/O
|
||||
cards may also have a bus mouse connector.
|
||||
.PP
|
||||
The interface type of the mouse can be determined by looking at the connector
|
||||
of the mouse.
|
||||
USB mice have a thin rectangular connector.
|
||||
PS/2 mice are equipped with a small, round DIN 6-pin connector.
|
||||
Serial mouse have a D-Sub female 9- or 25-pin connector.
|
||||
Bus mice have either a D-Sub male 9-pin connector
|
||||
or a round DIN 9-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.
|
||||
.SH CONFIGURATION DETAILS
|
||||
.PP
|
||||
Depending on the X server version in use, input device options may be set
|
||||
in either a __xconfigfile__ file, an xorg.conf.d snippet
|
||||
or in the configuration files read by the Hardware Abstraction Layer (HAL)
|
||||
daemon, hald(1).
|
||||
.PP
|
||||
Please refer to __xconfigfile__(__filemansuffix__) for general configuration
|
||||
details and for options that can be used with all input drivers. This
|
||||
section only covers configuration details specific to this driver.
|
||||
.PP
|
||||
The driver can auto-detect the mouse type on some platforms. On some
|
||||
platforms this is limited to plug and play serial mice, and on some the
|
||||
auto-detection works for any mouse that the OS's kernel driver supports.
|
||||
On others, it is always necessary to specify the mouse protocol in the
|
||||
config file. The
|
||||
.I README
|
||||
document provided with this driver contains some detailed information about
|
||||
this.
|
||||
.PP
|
||||
The following driver
|
||||
.B Options
|
||||
are supported:
|
||||
.TP 7
|
||||
.BI "Option \*qProtocol\*q \*q" string \*q
|
||||
Specify the mouse protocol. Valid protocol types include:
|
||||
.PP
|
||||
.RS 12
|
||||
Auto, Microsoft, MouseSystems, MMSeries, Logitech, MouseMan, MMHitTab,
|
||||
GlidePoint, IntelliMouse, ThinkingMouse, ValuMouseScroll, AceCad, PS/2, ImPS/2,
|
||||
ExplorerPS/2, ThinkingMousePS/2, MouseManPlusPS/2, GlidePointPS/2,
|
||||
NetMousePS/2, NetScrollPS/2, BusMouse, SysMouse, WSMouse, USB, VUID, Xqueue.
|
||||
.RE
|
||||
.PP
|
||||
.RS 7
|
||||
Not all protocols are supported on all platforms. The "Auto" protocol
|
||||
specifies that protocol auto-detection should be attempted. The default
|
||||
protocol setting is platform-specific.
|
||||
.RE
|
||||
.TP 7
|
||||
.BI "Option \*qDevice\*q \*q" string \*q
|
||||
Specifies the device through which the mouse can be accessed. A common
|
||||
setting is "/dev/mouse", which is often a symbolic link to the real
|
||||
device. This option is mandatory, and there is no default setting. The driver
|
||||
may however attempt to probe some default devices if this option is missing.
|
||||
Property: "Device Node" (read-only).
|
||||
.TP 7
|
||||
.BI "Option \*qButtons\*q \*q" integer \*q
|
||||
Specifies the number of mouse buttons. In cases where the number of buttons
|
||||
cannot be auto-detected, the default value is 3. The maximum number is 24.
|
||||
.TP 7
|
||||
.BI "Option \*qEmulate3Buttons\*q \*q" boolean \*q
|
||||
Enable/disable the emulation of the third (middle) mouse button for mice
|
||||
which only have two physical buttons. The third button is emulated by
|
||||
pressing both buttons simultaneously. Default: on, until a press of a
|
||||
physical button 3 is detected. Property: "Mouse Middle Button Emulation"
|
||||
.TP 7
|
||||
.BI "Option \*qEmulate3Timeout\*q \*q" integer \*q
|
||||
Sets the timeout (in milliseconds) that the driver waits before deciding
|
||||
if two buttons where pressed "simultaneously" when 3 button emulation is
|
||||
enabled. Default: 50. Property: "Mouse Middle Button Timeout"
|
||||
.TP 7
|
||||
.BI "Option \*qChordMiddle\*q \*q" boolean \*q
|
||||
Enable/disable handling of mice that send left+right events when the middle
|
||||
button is used. Default: off.
|
||||
.TP 7
|
||||
.BI "Option \*qEmulateWheel\*q \*q" boolean \*q
|
||||
Enable/disable "wheel" emulation. Wheel emulation means emulating button
|
||||
press/release events when the mouse is moved while a specific real button
|
||||
is pressed. Wheel button events (typically buttons 4 and 5) are
|
||||
usually used for scrolling. Wheel emulation is useful for getting wheel-like
|
||||
behaviour with trackballs. It can also be useful for mice with 4 or
|
||||
more buttons but no wheel. See the description of the
|
||||
.BR EmulateWheelButton ,
|
||||
.BR EmulateWheelInertia ,
|
||||
.BR XAxisMapping ,
|
||||
and
|
||||
.B YAxisMapping
|
||||
options below. Default: off.
|
||||
.TP 7
|
||||
.BI "Option \*qEmulateWheelButton\*q \*q" integer \*q
|
||||
Specifies which button must be held down to enable wheel emulation mode.
|
||||
While this button is down, X and/or Y pointer movement will generate button
|
||||
press/release events as specified for the
|
||||
.B XAxisMapping
|
||||
and
|
||||
.B YAxisMapping
|
||||
settings. If set to 0, no button is required and any motion of the device
|
||||
is converted into wheel events. Default: 4.
|
||||
.TP 7
|
||||
.BI "Option \*qEmulateWheelInertia\*q \*q" integer \*q
|
||||
Specifies how far (in pixels) the pointer must move to generate button
|
||||
press/release events in wheel emulation mode. Default: 10.
|
||||
.TP 7
|
||||
.BI "Option \*qEmulateWheelTimeout\*q \*q" integer \*q
|
||||
Specifies the time in milliseconds the
|
||||
.BR EmulateWheelButton
|
||||
must be pressed before wheel emulation is started. If the
|
||||
.BR EmulateWheelButton
|
||||
is released before this timeout, the original button press/release event
|
||||
is sent. Default: 200.
|
||||
.TP 7
|
||||
.BI "Option \*qXAxisMapping\*q \*q" "N1 N2" \*q
|
||||
Specifies which buttons are mapped to motion in the X direction in wheel
|
||||
emulation mode. Button number
|
||||
.I N1
|
||||
is mapped to the negative X axis motion and button number
|
||||
.I N2
|
||||
is mapped to the positive X axis motion. Default: no mapping.
|
||||
.TP 7
|
||||
.BI "Option \*qYAxisMapping\*q \*q" "N1 N2" \*q
|
||||
Specifies which buttons are mapped to motion in the Y direction in wheel
|
||||
emulation mode. Button number
|
||||
.I N1
|
||||
is mapped to the negative Y axis motion and button number
|
||||
.I N2
|
||||
is mapped to the positive Y axis motion. Default: no mapping.
|
||||
.TP 7
|
||||
.BI "Option \*qZAxisMapping\*q \*qX\*q"
|
||||
.TP 7
|
||||
.BI "Option \*qZAxisMapping\*q \*qY\*q"
|
||||
.TP 7
|
||||
.BI "Option \*qZAxisMapping\*q \*q" "N1 N2" \*q
|
||||
.TP 7
|
||||
.BI "Option \*qZAxisMapping\*q \*q" "N1 N2 N3 N4" \*q
|
||||
Set the mapping for the Z axis (wheel) motion to buttons or another axis
|
||||
.RB ( X
|
||||
or
|
||||
.BR Y ).
|
||||
Button number
|
||||
.I N1
|
||||
is mapped to the negative Z axis motion and button number
|
||||
.I N2
|
||||
is mapped to the positive Z axis motion. For mice with two wheels,
|
||||
four button numbers can be specified, with the negative and positive motion
|
||||
of the second wheel mapped respectively to buttons number
|
||||
.I N3
|
||||
and
|
||||
.IR N4 .
|
||||
Note that the protocols for mice with one and two wheels can be different
|
||||
and the driver may not be able to autodetect it.
|
||||
Default: "4 5".
|
||||
.TP 7
|
||||
.BI "Option \*qButtonMapping\*q \*q" "N1 N2 [...]" \*q
|
||||
Specifies how physical mouse buttons are mapped to logical buttons.
|
||||
Physical button 1 is mapped to logical button
|
||||
.IR N1 ,
|
||||
physical button 2 to
|
||||
.IR N2 ,
|
||||
and so forth. This enables the use of physical buttons that are obscured by
|
||||
.IR ZAxisMapping .
|
||||
Default:\ "1\ 2\ 3\ 8\ 9\ 10\ ...".
|
||||
.TP 7
|
||||
.BI "Option \*qFlipXY\*q \*q" boolean \*q
|
||||
Enable/disable swapping the X and Y axes. This transformation is applied
|
||||
after the
|
||||
.BR InvX ,
|
||||
.B InvY
|
||||
and
|
||||
.BR AngleOffset
|
||||
transformations. Default: off.
|
||||
.TP 7
|
||||
.BI "Option \*qInvX\*q \*q" boolean \*q
|
||||
Invert the X axis. Default: off.
|
||||
.TP 7
|
||||
.BI "Option \*qInvY\*q \*q" boolean \*q
|
||||
Invert the Y axis. Default: off.
|
||||
.TP 7
|
||||
.BI "Option \*qAngleOffset\*q \*q" integer \*q
|
||||
Specify a clockwise angular offset (in degrees) to apply to the pointer
|
||||
motion. This transformation is applied before the
|
||||
.BR FlipXY ,
|
||||
.B InvX
|
||||
and
|
||||
.B InvY
|
||||
transformations. Default: 0.
|
||||
.TP 7
|
||||
.BI "Option \*qSampleRate\*q \*q" integer \*q
|
||||
Sets the number of motion/button events the mouse sends per second. Setting
|
||||
this is only supported for some mice, including some Logitech mice and
|
||||
some PS/2 mice on some platforms. Default: whatever the mouse is
|
||||
already set to.
|
||||
.TP 7
|
||||
.BI "Option \*qResolution\*q \*q" integer \*q
|
||||
Sets the resolution of the device in counts per inch. Setting this is
|
||||
only supported for some mice, including some PS/2 mice on some platforms.
|
||||
Default: whatever the mouse is already set to.
|
||||
.TP 7
|
||||
.BI "Option \*qSensitivity\*q \*q" float \*q
|
||||
Mouse movements are multiplied by this float before being processed. Use this
|
||||
mechanism to slow down high resolution mice. Because values bigger than 1.0
|
||||
will result in not all pixels on the screen being accessible, you should better
|
||||
use mouse acceleration (see
|
||||
.BR "man xset" )
|
||||
for speeding up low resolution mice.
|
||||
Default: 1.0
|
||||
.TP 7
|
||||
.BI "Option \*qDragLockButtons\*q \*q" "L1 B2 L3 B4" \*q
|
||||
Sets \*qdrag lock buttons\*q that simulate holding a button down, so
|
||||
that low dexterity people do not have to hold a button down at the
|
||||
same time they move a mouse cursor. Button numbers occur in pairs,
|
||||
with the lock button number occurring first, followed by the button
|
||||
number that is the target of the lock button.
|
||||
.TP 7
|
||||
.BI "Option \*qDragLockButtons\*q \*q" "M1" \*q
|
||||
Sets a \*qmaster drag lock button\*q that acts as a \*qMeta Key\*q
|
||||
indicating that the next button pressed is to be
|
||||
\*qdrag locked\*q.
|
||||
.TP 7
|
||||
.BI "Option \*qClearDTR\*q \*q" boolean \*q
|
||||
Enable/disable clearing the DTR line on the serial port used by the mouse.
|
||||
Some dual-protocol mice require the DTR line to be cleared to operate
|
||||
in the non-default protocol. This option is for serial mice only and is
|
||||
handled by the X server.
|
||||
Default: off.
|
||||
.TP 7
|
||||
.BI "Option \*qClearRTS\*q \*q" boolean \*q
|
||||
Enable/disable clearing the RTS line on the serial port used by the mouse.
|
||||
Some dual-protocol mice require the RTS line to be cleared to operate
|
||||
in the non-default protocol. This option is for serial mice only and is
|
||||
handled by the X server.
|
||||
Default: off.
|
||||
.TP 7
|
||||
.BI "Option \*qBaudRate\*q \*q" integer \*q
|
||||
Set the baud rate to use for communicating with a serial mouse. This
|
||||
option should rarely be required because the default is correct for almost
|
||||
all situations. Valid values include: 300, 1200, 2400, 4800, 9600, 19200.
|
||||
Default: 1200.
|
||||
.PP
|
||||
There are some other options that may be used to control various parameters
|
||||
for serial port communication, but they are not documented here because
|
||||
the driver sets them correctly for each mouse protocol type.
|
||||
.SH "SEE ALSO"
|
||||
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__),
|
||||
Xserver(__appmansuffix__), X(__miscmansuffix__),
|
||||
README.mouse.
|
||||
|
||||
hal(__miscmansuffix__), hald(__adminmansuffix__), fdi(__filemansuffix__).
|
||||
Executable
+330
@@ -0,0 +1,330 @@
|
||||
#! /bin/sh
|
||||
# Common stub for a few missing GNU programs while installing.
|
||||
|
||||
scriptversion=2012-01-06.18; # UTC
|
||||
|
||||
# Copyright (C) 1996-2012 Free Software Foundation, Inc.
|
||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try '$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
run=:
|
||||
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
|
||||
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
|
||||
|
||||
# In the cases where this matters, 'missing' is being run in the
|
||||
# srcdir already.
|
||||
if test -f configure.ac; then
|
||||
configure_ac=configure.ac
|
||||
else
|
||||
configure_ac=configure.in
|
||||
fi
|
||||
|
||||
msg="missing on your system"
|
||||
|
||||
case $1 in
|
||||
--run)
|
||||
# Try to run requested program, and just exit if it succeeds.
|
||||
run=
|
||||
shift
|
||||
"$@" && exit 0
|
||||
# Exit code 63 means version mismatch. This often happens
|
||||
# when the user try to use an ancient version of a tool on
|
||||
# a file that requires a minimum version. In this case we
|
||||
# we should proceed has if the program had been absent, or
|
||||
# if --run hadn't been passed.
|
||||
if test $? = 63; then
|
||||
run=:
|
||||
msg="probably too old"
|
||||
fi
|
||||
;;
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
||||
error status if there is no known handling for PROGRAM.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
--run try to run the given command, and emulate it if it fails
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal touch file 'aclocal.m4'
|
||||
autoconf touch file 'configure'
|
||||
autoheader touch file 'config.h.in'
|
||||
autom4te touch the output file, or create a stub one
|
||||
automake touch all 'Makefile.in' files
|
||||
bison create 'y.tab.[ch]', if possible, from existing .[ch]
|
||||
flex create 'lex.yy.c', if possible, from existing .c
|
||||
help2man touch the output file
|
||||
lex create 'lex.yy.c', if possible, from existing .c
|
||||
makeinfo touch the output file
|
||||
yacc create 'y.tab.[ch]', if possible, from existing .[ch]
|
||||
|
||||
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
|
||||
'g' are ignored when checking the name.
|
||||
|
||||
Send bug reports to <bug-automake@gnu.org>."
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing $scriptversion (GNU Automake)"
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: Unknown '$1' option"
|
||||
echo 1>&2 "Try '$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
# normalize program name to check for.
|
||||
program=`echo "$1" | sed '
|
||||
s/^gnu-//; t
|
||||
s/^gnu//; t
|
||||
s/^g//; t'`
|
||||
|
||||
# Now exit if we have it, but it failed. Also exit now if we
|
||||
# don't have it and --version was passed (most likely to detect
|
||||
# the program). This is about non-GNU programs, so use $1 not
|
||||
# $program.
|
||||
case $1 in
|
||||
lex*|yacc*)
|
||||
# Not GNU programs, they don't have --version.
|
||||
;;
|
||||
|
||||
*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||
# Could not run --version or --help. This is probably someone
|
||||
# running '$TOOL --version' or '$TOOL --help' to check whether
|
||||
# $TOOL exists and not knowing $TOOL uses missing.
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# If it does not exist, or fails to run (possibly an outdated version),
|
||||
# try to emulate it.
|
||||
case $program in
|
||||
aclocal*)
|
||||
echo 1>&2 "\
|
||||
WARNING: '$1' is $msg. You should only need it if
|
||||
you modified 'acinclude.m4' or '${configure_ac}'. You might want
|
||||
to install the Automake and Perl packages. Grab them from
|
||||
any GNU archive site."
|
||||
touch aclocal.m4
|
||||
;;
|
||||
|
||||
autoconf*)
|
||||
echo 1>&2 "\
|
||||
WARNING: '$1' is $msg. You should only need it if
|
||||
you modified '${configure_ac}'. You might want to install the
|
||||
Autoconf and GNU m4 packages. Grab them from any GNU
|
||||
archive site."
|
||||
touch configure
|
||||
;;
|
||||
|
||||
autoheader*)
|
||||
echo 1>&2 "\
|
||||
WARNING: '$1' is $msg. You should only need it if
|
||||
you modified 'acconfig.h' or '${configure_ac}'. You might want
|
||||
to install the Autoconf and GNU m4 packages. Grab them
|
||||
from any GNU archive site."
|
||||
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
||||
test -z "$files" && files="config.h"
|
||||
touch_files=
|
||||
for f in $files; do
|
||||
case $f in
|
||||
*:*) touch_files="$touch_files "`echo "$f" |
|
||||
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
||||
*) touch_files="$touch_files $f.in";;
|
||||
esac
|
||||
done
|
||||
touch $touch_files
|
||||
;;
|
||||
|
||||
automake*)
|
||||
echo 1>&2 "\
|
||||
WARNING: '$1' is $msg. You should only need it if
|
||||
you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'.
|
||||
You might want to install the Automake and Perl packages.
|
||||
Grab them from any GNU archive site."
|
||||
find . -type f -name Makefile.am -print |
|
||||
sed 's/\.am$/.in/' |
|
||||
while read f; do touch "$f"; done
|
||||
;;
|
||||
|
||||
autom4te*)
|
||||
echo 1>&2 "\
|
||||
WARNING: '$1' is needed, but is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them.
|
||||
You can get '$1' as part of Autoconf from any GNU
|
||||
archive site."
|
||||
|
||||
file=`echo "$*" | sed -n "$sed_output"`
|
||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo "#! /bin/sh"
|
||||
echo "# Created by GNU Automake missing as a replacement of"
|
||||
echo "# $ $@"
|
||||
echo "exit 0"
|
||||
chmod +x $file
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
bison*|yacc*)
|
||||
echo 1>&2 "\
|
||||
WARNING: '$1' $msg. You should only need it if
|
||||
you modified a '.y' file. You may need the Bison package
|
||||
in order for those modifications to take effect. You can get
|
||||
Bison from any GNU archive site."
|
||||
rm -f y.tab.c y.tab.h
|
||||
if test $# -ne 1; then
|
||||
eval LASTARG=\${$#}
|
||||
case $LASTARG in
|
||||
*.y)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||
if test -f "$SRCFILE"; then
|
||||
cp "$SRCFILE" y.tab.c
|
||||
fi
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||
if test -f "$SRCFILE"; then
|
||||
cp "$SRCFILE" y.tab.h
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test ! -f y.tab.h; then
|
||||
echo >y.tab.h
|
||||
fi
|
||||
if test ! -f y.tab.c; then
|
||||
echo 'main() { return 0; }' >y.tab.c
|
||||
fi
|
||||
;;
|
||||
|
||||
lex*|flex*)
|
||||
echo 1>&2 "\
|
||||
WARNING: '$1' is $msg. You should only need it if
|
||||
you modified a '.l' file. You may need the Flex package
|
||||
in order for those modifications to take effect. You can get
|
||||
Flex from any GNU archive site."
|
||||
rm -f lex.yy.c
|
||||
if test $# -ne 1; then
|
||||
eval LASTARG=\${$#}
|
||||
case $LASTARG in
|
||||
*.l)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||
if test -f "$SRCFILE"; then
|
||||
cp "$SRCFILE" lex.yy.c
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test ! -f lex.yy.c; then
|
||||
echo 'main() { return 0; }' >lex.yy.c
|
||||
fi
|
||||
;;
|
||||
|
||||
help2man*)
|
||||
echo 1>&2 "\
|
||||
WARNING: '$1' is $msg. You should only need it if
|
||||
you modified a dependency of a manual page. You may need the
|
||||
Help2man package in order for those modifications to take
|
||||
effect. You can get Help2man from any GNU archive site."
|
||||
|
||||
file=`echo "$*" | sed -n "$sed_output"`
|
||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo ".ab help2man is required to generate this page"
|
||||
exit $?
|
||||
fi
|
||||
;;
|
||||
|
||||
makeinfo*)
|
||||
echo 1>&2 "\
|
||||
WARNING: '$1' is $msg. You should only need it if
|
||||
you modified a '.texi' or '.texinfo' file, or any other file
|
||||
indirectly affecting the aspect of the manual. The spurious
|
||||
call might also be the consequence of using a buggy 'make' (AIX,
|
||||
DU, IRIX). You might want to install the Texinfo package or
|
||||
the GNU make package. Grab either from any GNU archive site."
|
||||
# The file to touch is that specified with -o ...
|
||||
file=`echo "$*" | sed -n "$sed_output"`
|
||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||
if test -z "$file"; then
|
||||
# ... or it is the one specified with @setfilename ...
|
||||
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||
file=`sed -n '
|
||||
/^@setfilename/{
|
||||
s/.* \([^ ]*\) *$/\1/
|
||||
p
|
||||
q
|
||||
}' $infile`
|
||||
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
||||
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
||||
fi
|
||||
# If the file does not exist, the user really needs makeinfo;
|
||||
# let's fail without touching anything.
|
||||
test -f $file || exit 1
|
||||
touch $file
|
||||
;;
|
||||
|
||||
*)
|
||||
echo 1>&2 "\
|
||||
WARNING: '$1' is needed, and is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them. Check the 'README' file,
|
||||
it often tells you about the needed prerequisites for installing
|
||||
this package. You may also peek at any GNU archive site, in case
|
||||
some other package would contain this missing '$1' program."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
@@ -0,0 +1,291 @@
|
||||
bsd_mouse.lo: bsd_mouse.c /usr/local/include/xorg/xorg-server.h \
|
||||
/usr/local/include/X11/X.h /usr/local/include/X11/Xmd.h \
|
||||
/usr/local/include/xorg/xf86.h /usr/local/include/xorg/xf86str.h \
|
||||
/usr/local/include/xorg/misc.h /usr/local/include/X11/Xosdefs.h \
|
||||
/usr/local/include/X11/Xfuncproto.h /usr/local/include/X11/Xdefs.h \
|
||||
/usr/include/stddef.h /usr/include/sys/_null.h \
|
||||
/usr/include/sys/_types.h /usr/include/machine/_types.h \
|
||||
/usr/include/x86/_types.h /usr/include/machine/_limits.h \
|
||||
/usr/include/x86/_limits.h /usr/include/sys/_visible.h \
|
||||
/usr/include/stdint.h /usr/include/sys/cdefs.h \
|
||||
/usr/include/machine/_stdint.h /usr/include/x86/_stdint.h \
|
||||
/usr/include/sys/_stdint.h /usr/local/include/xorg/os.h \
|
||||
/usr/include/stdarg.h /usr/include/sys/_stdarg.h /usr/include/string.h \
|
||||
/usr/include/strings.h /usr/include/xlocale/_strings.h \
|
||||
/usr/include/xlocale/_string.h /usr/include/stdio.h \
|
||||
/usr/local/include/xorg/Xprintf.h /usr/local/include/X11/Xfuncs.h \
|
||||
/usr/include/stdlib.h /usr/include/limits.h /usr/include/sys/limits.h \
|
||||
/usr/include/sys/syslimits.h /usr/include/math.h /usr/include/assert.h \
|
||||
/usr/include/ctype.h /usr/include/_ctype.h /usr/include/runetype.h \
|
||||
/usr/include/xlocale/_ctype.h /usr/local/include/xorg/input.h \
|
||||
/usr/local/include/xorg/screenint.h /usr/local/include/X11/Xproto.h \
|
||||
/usr/local/include/X11/Xprotostr.h /usr/local/include/xorg/window.h \
|
||||
/usr/local/include/xorg/region.h /usr/local/include/xorg/regionstr.h \
|
||||
/usr/local/include/xorg/miscstruct.h \
|
||||
/usr/local/include/pixman-1/pixman.h \
|
||||
/usr/local/include/pixman-1/pixman-version.h \
|
||||
/usr/local/include/xorg/xkbrules.h /usr/local/include/xorg/events.h \
|
||||
/usr/local/include/xorg/list.h /usr/local/include/X11/extensions/XI2.h \
|
||||
/usr/local/include/xorg/scrnintstr.h \
|
||||
/usr/local/include/xorg/colormap.h /usr/local/include/xorg/cursor.h \
|
||||
/usr/local/include/xorg/privates.h /usr/local/include/xorg/dix.h \
|
||||
/usr/local/include/xorg/callback.h /usr/local/include/xorg/gc.h \
|
||||
/usr/local/include/xorg/pixmap.h \
|
||||
/usr/local/include/X11/extensions/randr.h \
|
||||
/usr/local/include/xorg/geext.h \
|
||||
/usr/local/include/X11/extensions/geproto.h \
|
||||
/usr/local/include/X11/extensions/ge.h \
|
||||
/usr/local/include/X11/extensions/XI.h \
|
||||
/usr/local/include/xorg/resource.h /usr/local/include/xorg/dixaccess.h \
|
||||
/usr/local/include/xorg/validate.h /usr/local/include/xorg/pixmapstr.h \
|
||||
/usr/local/include/xorg/damage.h /usr/local/include/xorg/picturestr.h \
|
||||
/usr/local/include/xorg/glyphstr.h \
|
||||
/usr/local/include/X11/extensions/renderproto.h \
|
||||
/usr/local/include/X11/extensions/render.h \
|
||||
/usr/local/include/xorg/picture.h /usr/local/include/xorg/colormapst.h \
|
||||
/usr/local/include/xorg/xf86Module.h \
|
||||
/usr/local/include/xorg/extension.h \
|
||||
/usr/local/include/xorg/dixstruct.h /usr/local/include/xorg/client.h \
|
||||
/usr/include/sys/types.h /usr/include/machine/endian.h \
|
||||
/usr/include/x86/endian.h /usr/include/sys/_endian.h \
|
||||
/usr/include/sys/_pthreadtypes.h /usr/include/sys/bitcount.h \
|
||||
/usr/include/sys/select.h /usr/include/sys/_sigset.h \
|
||||
/usr/include/sys/_timeval.h /usr/include/sys/timespec.h \
|
||||
/usr/include/sys/_timespec.h /usr/local/include/xorg/xf86Opt.h \
|
||||
/usr/local/include/xorg/xf86Optionstr.h \
|
||||
/usr/local/include/xorg/displaymode.h /usr/include/inttypes.h \
|
||||
/usr/include/machine/_inttypes.h /usr/include/x86/_inttypes.h \
|
||||
/usr/include/sys/stdint.h /usr/local/include/xorg/propertyst.h \
|
||||
/usr/local/include/xorg/property.h /usr/local/include/pciaccess.h \
|
||||
/usr/local/include/xorg/xf86Priv.h \
|
||||
/usr/local/include/xorg/xf86Privstr.h \
|
||||
/usr/local/include/xorg/xf86_OSlib.h /usr/local/include/X11/Xos.h \
|
||||
/usr/include/fcntl.h /usr/include/unistd.h /usr/include/sys/unistd.h \
|
||||
/usr/include/sys/time.h /usr/include/sys/_clock_id.h \
|
||||
/usr/include/time.h /usr/include/xlocale/_time.h \
|
||||
/usr/local/include/X11/Xarch.h /usr/include/sys/ioctl.h \
|
||||
/usr/include/sys/ioccom.h /usr/include/sys/filio.h \
|
||||
/usr/include/sys/sockio.h /usr/include/sys/ttycom.h \
|
||||
/usr/include/sys/_winsize.h /usr/include/signal.h \
|
||||
/usr/include/sys/signal.h /usr/include/sys/_sigaltstack.h \
|
||||
/usr/include/sys/_sigval.h /usr/include/machine/signal.h \
|
||||
/usr/include/x86/signal.h /usr/include/machine/ucontext.h \
|
||||
/usr/include/x86/ucontext.h /usr/include/sys/_ucontext.h \
|
||||
/usr/include/termios.h /usr/include/sys/_termios.h \
|
||||
/usr/include/sys/ttydefaults.h /usr/include/errno.h \
|
||||
/usr/include/sys/mman.h /usr/include/sys/stat.h \
|
||||
/usr/include/sys/param.h /usr/include/sys/_param.h \
|
||||
/usr/include/machine/param.h /usr/include/machine/_align.h \
|
||||
/usr/include/x86/_align.h /usr/include/sys/_maxphys.h \
|
||||
/usr/include/sys/consio.h /usr/include/sys/font.h \
|
||||
/usr/include/sys/queue.h /usr/include/sys/kbio.h \
|
||||
/usr/include/sys/mouse.h /usr/include/sys/wait.h \
|
||||
/usr/local/include/xorg/xf86_OSproc.h /usr/local/include/xorg/opaque.h \
|
||||
/usr/local/include/xorg/globals.h /usr/local/include/xorg/extinit.h \
|
||||
/usr/local/include/xorg/extnsionst.h \
|
||||
/usr/local/include/X11/extensions/dpmsconst.h \
|
||||
/usr/local/include/X11/extensions/panoramiXproto.h \
|
||||
/usr/local/include/X11/extensions/XResproto.h \
|
||||
/usr/local/include/X11/extensions/saver.h \
|
||||
/usr/local/include/X11/extensions/shapeproto.h \
|
||||
/usr/local/include/X11/extensions/shapeconst.h \
|
||||
/usr/local/include/X11/extensions/shm.h \
|
||||
/usr/local/include/X11/extensions/shmproto.h \
|
||||
/usr/local/include/X11/extensions/XKB.h \
|
||||
/usr/local/include/X11/extensions/xtestconst.h \
|
||||
/usr/local/include/X11/extensions/xtestproto.h \
|
||||
/usr/local/include/X11/extensions/Xv.h \
|
||||
/usr/local/include/X11/extensions/XvMC.h \
|
||||
/usr/local/include/X11/extensions/presentproto.h \
|
||||
/usr/local/include/X11/extensions/presenttokens.h \
|
||||
/usr/local/include/X11/extensions/dri3proto.h \
|
||||
/usr/local/include/xorg/presentext.h /usr/local/include/xorg/hotplug.h \
|
||||
/usr/local/include/xorg/xf86Xinput.h \
|
||||
/usr/local/include/xorg/inputstr.h \
|
||||
/usr/local/include/X11/extensions/XI2proto.h \
|
||||
/usr/local/include/xorg/cursorstr.h \
|
||||
/usr/local/include/X11/extensions/XIproto.h \
|
||||
/usr/local/include/xorg/XIstubs.h mouse.h \
|
||||
/usr/local/include/xorg/xisb.h /usr/local/include/xorg/mipointer.h
|
||||
/usr/local/include/xorg/xorg-server.h:
|
||||
/usr/local/include/X11/X.h:
|
||||
/usr/local/include/X11/Xmd.h:
|
||||
/usr/local/include/xorg/xf86.h:
|
||||
/usr/local/include/xorg/xf86str.h:
|
||||
/usr/local/include/xorg/misc.h:
|
||||
/usr/local/include/X11/Xosdefs.h:
|
||||
/usr/local/include/X11/Xfuncproto.h:
|
||||
/usr/local/include/X11/Xdefs.h:
|
||||
/usr/include/stddef.h:
|
||||
/usr/include/sys/_null.h:
|
||||
/usr/include/sys/_types.h:
|
||||
/usr/include/machine/_types.h:
|
||||
/usr/include/x86/_types.h:
|
||||
/usr/include/machine/_limits.h:
|
||||
/usr/include/x86/_limits.h:
|
||||
/usr/include/sys/_visible.h:
|
||||
/usr/include/stdint.h:
|
||||
/usr/include/sys/cdefs.h:
|
||||
/usr/include/machine/_stdint.h:
|
||||
/usr/include/x86/_stdint.h:
|
||||
/usr/include/sys/_stdint.h:
|
||||
/usr/local/include/xorg/os.h:
|
||||
/usr/include/stdarg.h:
|
||||
/usr/include/sys/_stdarg.h:
|
||||
/usr/include/string.h:
|
||||
/usr/include/strings.h:
|
||||
/usr/include/xlocale/_strings.h:
|
||||
/usr/include/xlocale/_string.h:
|
||||
/usr/include/stdio.h:
|
||||
/usr/local/include/xorg/Xprintf.h:
|
||||
/usr/local/include/X11/Xfuncs.h:
|
||||
/usr/include/stdlib.h:
|
||||
/usr/include/limits.h:
|
||||
/usr/include/sys/limits.h:
|
||||
/usr/include/sys/syslimits.h:
|
||||
/usr/include/math.h:
|
||||
/usr/include/assert.h:
|
||||
/usr/include/ctype.h:
|
||||
/usr/include/_ctype.h:
|
||||
/usr/include/runetype.h:
|
||||
/usr/include/xlocale/_ctype.h:
|
||||
/usr/local/include/xorg/input.h:
|
||||
/usr/local/include/xorg/screenint.h:
|
||||
/usr/local/include/X11/Xproto.h:
|
||||
/usr/local/include/X11/Xprotostr.h:
|
||||
/usr/local/include/xorg/window.h:
|
||||
/usr/local/include/xorg/region.h:
|
||||
/usr/local/include/xorg/regionstr.h:
|
||||
/usr/local/include/xorg/miscstruct.h:
|
||||
/usr/local/include/pixman-1/pixman.h:
|
||||
/usr/local/include/pixman-1/pixman-version.h:
|
||||
/usr/local/include/xorg/xkbrules.h:
|
||||
/usr/local/include/xorg/events.h:
|
||||
/usr/local/include/xorg/list.h:
|
||||
/usr/local/include/X11/extensions/XI2.h:
|
||||
/usr/local/include/xorg/scrnintstr.h:
|
||||
/usr/local/include/xorg/colormap.h:
|
||||
/usr/local/include/xorg/cursor.h:
|
||||
/usr/local/include/xorg/privates.h:
|
||||
/usr/local/include/xorg/dix.h:
|
||||
/usr/local/include/xorg/callback.h:
|
||||
/usr/local/include/xorg/gc.h:
|
||||
/usr/local/include/xorg/pixmap.h:
|
||||
/usr/local/include/X11/extensions/randr.h:
|
||||
/usr/local/include/xorg/geext.h:
|
||||
/usr/local/include/X11/extensions/geproto.h:
|
||||
/usr/local/include/X11/extensions/ge.h:
|
||||
/usr/local/include/X11/extensions/XI.h:
|
||||
/usr/local/include/xorg/resource.h:
|
||||
/usr/local/include/xorg/dixaccess.h:
|
||||
/usr/local/include/xorg/validate.h:
|
||||
/usr/local/include/xorg/pixmapstr.h:
|
||||
/usr/local/include/xorg/damage.h:
|
||||
/usr/local/include/xorg/picturestr.h:
|
||||
/usr/local/include/xorg/glyphstr.h:
|
||||
/usr/local/include/X11/extensions/renderproto.h:
|
||||
/usr/local/include/X11/extensions/render.h:
|
||||
/usr/local/include/xorg/picture.h:
|
||||
/usr/local/include/xorg/colormapst.h:
|
||||
/usr/local/include/xorg/xf86Module.h:
|
||||
/usr/local/include/xorg/extension.h:
|
||||
/usr/local/include/xorg/dixstruct.h:
|
||||
/usr/local/include/xorg/client.h:
|
||||
/usr/include/sys/types.h:
|
||||
/usr/include/machine/endian.h:
|
||||
/usr/include/x86/endian.h:
|
||||
/usr/include/sys/_endian.h:
|
||||
/usr/include/sys/_pthreadtypes.h:
|
||||
/usr/include/sys/bitcount.h:
|
||||
/usr/include/sys/select.h:
|
||||
/usr/include/sys/_sigset.h:
|
||||
/usr/include/sys/_timeval.h:
|
||||
/usr/include/sys/timespec.h:
|
||||
/usr/include/sys/_timespec.h:
|
||||
/usr/local/include/xorg/xf86Opt.h:
|
||||
/usr/local/include/xorg/xf86Optionstr.h:
|
||||
/usr/local/include/xorg/displaymode.h:
|
||||
/usr/include/inttypes.h:
|
||||
/usr/include/machine/_inttypes.h:
|
||||
/usr/include/x86/_inttypes.h:
|
||||
/usr/include/sys/stdint.h:
|
||||
/usr/local/include/xorg/propertyst.h:
|
||||
/usr/local/include/xorg/property.h:
|
||||
/usr/local/include/pciaccess.h:
|
||||
/usr/local/include/xorg/xf86Priv.h:
|
||||
/usr/local/include/xorg/xf86Privstr.h:
|
||||
/usr/local/include/xorg/xf86_OSlib.h:
|
||||
/usr/local/include/X11/Xos.h:
|
||||
/usr/include/fcntl.h:
|
||||
/usr/include/unistd.h:
|
||||
/usr/include/sys/unistd.h:
|
||||
/usr/include/sys/time.h:
|
||||
/usr/include/sys/_clock_id.h:
|
||||
/usr/include/time.h:
|
||||
/usr/include/xlocale/_time.h:
|
||||
/usr/local/include/X11/Xarch.h:
|
||||
/usr/include/sys/ioctl.h:
|
||||
/usr/include/sys/ioccom.h:
|
||||
/usr/include/sys/filio.h:
|
||||
/usr/include/sys/sockio.h:
|
||||
/usr/include/sys/ttycom.h:
|
||||
/usr/include/sys/_winsize.h:
|
||||
/usr/include/signal.h:
|
||||
/usr/include/sys/signal.h:
|
||||
/usr/include/sys/_sigaltstack.h:
|
||||
/usr/include/sys/_sigval.h:
|
||||
/usr/include/machine/signal.h:
|
||||
/usr/include/x86/signal.h:
|
||||
/usr/include/machine/ucontext.h:
|
||||
/usr/include/x86/ucontext.h:
|
||||
/usr/include/sys/_ucontext.h:
|
||||
/usr/include/termios.h:
|
||||
/usr/include/sys/_termios.h:
|
||||
/usr/include/sys/ttydefaults.h:
|
||||
/usr/include/errno.h:
|
||||
/usr/include/sys/mman.h:
|
||||
/usr/include/sys/stat.h:
|
||||
/usr/include/sys/param.h:
|
||||
/usr/include/sys/_param.h:
|
||||
/usr/include/machine/param.h:
|
||||
/usr/include/machine/_align.h:
|
||||
/usr/include/x86/_align.h:
|
||||
/usr/include/sys/_maxphys.h:
|
||||
/usr/include/sys/consio.h:
|
||||
/usr/include/sys/font.h:
|
||||
/usr/include/sys/queue.h:
|
||||
/usr/include/sys/kbio.h:
|
||||
/usr/include/sys/mouse.h:
|
||||
/usr/include/sys/wait.h:
|
||||
/usr/local/include/xorg/xf86_OSproc.h:
|
||||
/usr/local/include/xorg/opaque.h:
|
||||
/usr/local/include/xorg/globals.h:
|
||||
/usr/local/include/xorg/extinit.h:
|
||||
/usr/local/include/xorg/extnsionst.h:
|
||||
/usr/local/include/X11/extensions/dpmsconst.h:
|
||||
/usr/local/include/X11/extensions/panoramiXproto.h:
|
||||
/usr/local/include/X11/extensions/XResproto.h:
|
||||
/usr/local/include/X11/extensions/saver.h:
|
||||
/usr/local/include/X11/extensions/shapeproto.h:
|
||||
/usr/local/include/X11/extensions/shapeconst.h:
|
||||
/usr/local/include/X11/extensions/shm.h:
|
||||
/usr/local/include/X11/extensions/shmproto.h:
|
||||
/usr/local/include/X11/extensions/XKB.h:
|
||||
/usr/local/include/X11/extensions/xtestconst.h:
|
||||
/usr/local/include/X11/extensions/xtestproto.h:
|
||||
/usr/local/include/X11/extensions/Xv.h:
|
||||
/usr/local/include/X11/extensions/XvMC.h:
|
||||
/usr/local/include/X11/extensions/presentproto.h:
|
||||
/usr/local/include/X11/extensions/presenttokens.h:
|
||||
/usr/local/include/X11/extensions/dri3proto.h:
|
||||
/usr/local/include/xorg/presentext.h:
|
||||
/usr/local/include/xorg/hotplug.h:
|
||||
/usr/local/include/xorg/xf86Xinput.h:
|
||||
/usr/local/include/xorg/inputstr.h:
|
||||
/usr/local/include/X11/extensions/XI2proto.h:
|
||||
/usr/local/include/xorg/cursorstr.h:
|
||||
/usr/local/include/X11/extensions/XIproto.h:
|
||||
/usr/local/include/xorg/XIstubs.h:
|
||||
mouse.h:
|
||||
/usr/local/include/xorg/xisb.h:
|
||||
/usr/local/include/xorg/mipointer.h:
|
||||
@@ -0,0 +1,254 @@
|
||||
mouse.lo: mouse.c ../config.h /usr/local/include/xorg/xorg-server.h \
|
||||
/usr/include/math.h /usr/include/sys/cdefs.h \
|
||||
/usr/include/sys/_visible.h /usr/include/sys/_types.h \
|
||||
/usr/include/machine/_types.h /usr/include/x86/_types.h \
|
||||
/usr/include/machine/_limits.h /usr/include/x86/_limits.h \
|
||||
/usr/include/string.h /usr/include/sys/_null.h /usr/include/strings.h \
|
||||
/usr/include/xlocale/_strings.h /usr/include/xlocale/_string.h \
|
||||
/usr/include/stdio.h /usr/include/stdlib.h /usr/local/include/X11/X.h \
|
||||
/usr/local/include/X11/Xmd.h /usr/local/include/xorg/xf86.h \
|
||||
/usr/local/include/xorg/xf86str.h /usr/local/include/xorg/misc.h \
|
||||
/usr/local/include/X11/Xosdefs.h /usr/local/include/X11/Xfuncproto.h \
|
||||
/usr/local/include/X11/Xdefs.h /usr/include/stddef.h \
|
||||
/usr/include/stdint.h /usr/include/machine/_stdint.h \
|
||||
/usr/include/x86/_stdint.h /usr/include/sys/_stdint.h \
|
||||
/usr/local/include/xorg/os.h /usr/include/stdarg.h \
|
||||
/usr/include/sys/_stdarg.h /usr/local/include/xorg/Xprintf.h \
|
||||
/usr/local/include/X11/Xfuncs.h /usr/include/limits.h \
|
||||
/usr/include/sys/limits.h /usr/include/sys/syslimits.h \
|
||||
/usr/include/assert.h /usr/include/ctype.h /usr/include/_ctype.h \
|
||||
/usr/include/runetype.h /usr/include/xlocale/_ctype.h \
|
||||
/usr/local/include/xorg/input.h /usr/local/include/xorg/screenint.h \
|
||||
/usr/local/include/X11/Xproto.h /usr/local/include/X11/Xprotostr.h \
|
||||
/usr/local/include/xorg/window.h /usr/local/include/xorg/region.h \
|
||||
/usr/local/include/xorg/regionstr.h \
|
||||
/usr/local/include/xorg/miscstruct.h \
|
||||
/usr/local/include/pixman-1/pixman.h \
|
||||
/usr/local/include/pixman-1/pixman-version.h \
|
||||
/usr/local/include/xorg/xkbrules.h /usr/local/include/xorg/events.h \
|
||||
/usr/local/include/xorg/list.h /usr/local/include/X11/extensions/XI2.h \
|
||||
/usr/local/include/xorg/scrnintstr.h \
|
||||
/usr/local/include/xorg/colormap.h /usr/local/include/xorg/cursor.h \
|
||||
/usr/local/include/xorg/privates.h /usr/local/include/xorg/dix.h \
|
||||
/usr/local/include/xorg/callback.h /usr/local/include/xorg/gc.h \
|
||||
/usr/local/include/xorg/pixmap.h \
|
||||
/usr/local/include/X11/extensions/randr.h \
|
||||
/usr/local/include/xorg/geext.h \
|
||||
/usr/local/include/X11/extensions/geproto.h \
|
||||
/usr/local/include/X11/extensions/ge.h \
|
||||
/usr/local/include/X11/extensions/XI.h \
|
||||
/usr/local/include/xorg/resource.h /usr/local/include/xorg/dixaccess.h \
|
||||
/usr/local/include/xorg/validate.h /usr/local/include/xorg/pixmapstr.h \
|
||||
/usr/local/include/xorg/damage.h /usr/local/include/xorg/picturestr.h \
|
||||
/usr/local/include/xorg/glyphstr.h \
|
||||
/usr/local/include/X11/extensions/renderproto.h \
|
||||
/usr/local/include/X11/extensions/render.h \
|
||||
/usr/local/include/xorg/picture.h /usr/local/include/xorg/colormapst.h \
|
||||
/usr/local/include/xorg/xf86Module.h \
|
||||
/usr/local/include/xorg/extension.h \
|
||||
/usr/local/include/xorg/dixstruct.h /usr/local/include/xorg/client.h \
|
||||
/usr/include/sys/types.h /usr/include/machine/endian.h \
|
||||
/usr/include/x86/endian.h /usr/include/sys/_endian.h \
|
||||
/usr/include/sys/_pthreadtypes.h /usr/include/sys/bitcount.h \
|
||||
/usr/include/sys/select.h /usr/include/sys/_sigset.h \
|
||||
/usr/include/sys/_timeval.h /usr/include/sys/timespec.h \
|
||||
/usr/include/sys/_timespec.h /usr/local/include/xorg/xf86Opt.h \
|
||||
/usr/local/include/xorg/xf86Optionstr.h \
|
||||
/usr/local/include/xorg/displaymode.h /usr/include/inttypes.h \
|
||||
/usr/include/machine/_inttypes.h /usr/include/x86/_inttypes.h \
|
||||
/usr/include/sys/stdint.h /usr/local/include/xorg/propertyst.h \
|
||||
/usr/local/include/xorg/property.h /usr/local/include/pciaccess.h \
|
||||
/usr/local/include/xorg/extnsionst.h /usr/local/include/xorg/extinit.h \
|
||||
/usr/local/include/X11/extensions/dpmsconst.h \
|
||||
/usr/local/include/X11/extensions/panoramiXproto.h \
|
||||
/usr/local/include/X11/extensions/XResproto.h \
|
||||
/usr/local/include/X11/extensions/saver.h \
|
||||
/usr/local/include/X11/extensions/shapeproto.h \
|
||||
/usr/local/include/X11/extensions/shapeconst.h \
|
||||
/usr/local/include/X11/extensions/shm.h \
|
||||
/usr/local/include/X11/extensions/shmproto.h \
|
||||
/usr/local/include/X11/extensions/XKB.h \
|
||||
/usr/local/include/X11/extensions/xtestconst.h \
|
||||
/usr/local/include/X11/extensions/xtestproto.h \
|
||||
/usr/local/include/X11/extensions/Xv.h \
|
||||
/usr/local/include/X11/extensions/XvMC.h \
|
||||
/usr/local/include/X11/extensions/presentproto.h \
|
||||
/usr/local/include/X11/extensions/presenttokens.h \
|
||||
/usr/local/include/X11/extensions/dri3proto.h \
|
||||
/usr/local/include/xorg/presentext.h \
|
||||
/usr/local/include/xorg/xf86Xinput.h \
|
||||
/usr/local/include/xorg/inputstr.h \
|
||||
/usr/local/include/X11/extensions/XI2proto.h \
|
||||
/usr/local/include/xorg/cursorstr.h \
|
||||
/usr/local/include/X11/extensions/XIproto.h \
|
||||
/usr/local/include/xorg/XIstubs.h \
|
||||
/usr/local/include/xorg/xf86_OSproc.h /usr/local/include/xorg/opaque.h \
|
||||
/usr/local/include/xorg/globals.h /usr/include/signal.h \
|
||||
/usr/include/sys/signal.h /usr/include/sys/_sigaltstack.h \
|
||||
/usr/include/sys/_sigval.h /usr/include/machine/signal.h \
|
||||
/usr/include/x86/signal.h /usr/include/machine/ucontext.h \
|
||||
/usr/include/x86/ucontext.h /usr/include/sys/_ucontext.h \
|
||||
/usr/local/include/xorg/hotplug.h /usr/local/include/xorg/exevents.h \
|
||||
/usr/local/include/X11/Xatom.h \
|
||||
/usr/local/include/xorg/xserver-properties.h \
|
||||
../include/xf86-mouse-properties.h /usr/local/include/xorg/compiler.h \
|
||||
/usr/local/include/xorg/xisb.h /usr/include/unistd.h \
|
||||
/usr/include/sys/unistd.h mouse.h mousePriv.h \
|
||||
/usr/local/include/xorg/mipointer.h \
|
||||
/usr/local/include/xorg/xorgVersion.h
|
||||
../config.h:
|
||||
/usr/local/include/xorg/xorg-server.h:
|
||||
/usr/include/math.h:
|
||||
/usr/include/sys/cdefs.h:
|
||||
/usr/include/sys/_visible.h:
|
||||
/usr/include/sys/_types.h:
|
||||
/usr/include/machine/_types.h:
|
||||
/usr/include/x86/_types.h:
|
||||
/usr/include/machine/_limits.h:
|
||||
/usr/include/x86/_limits.h:
|
||||
/usr/include/string.h:
|
||||
/usr/include/sys/_null.h:
|
||||
/usr/include/strings.h:
|
||||
/usr/include/xlocale/_strings.h:
|
||||
/usr/include/xlocale/_string.h:
|
||||
/usr/include/stdio.h:
|
||||
/usr/include/stdlib.h:
|
||||
/usr/local/include/X11/X.h:
|
||||
/usr/local/include/X11/Xmd.h:
|
||||
/usr/local/include/xorg/xf86.h:
|
||||
/usr/local/include/xorg/xf86str.h:
|
||||
/usr/local/include/xorg/misc.h:
|
||||
/usr/local/include/X11/Xosdefs.h:
|
||||
/usr/local/include/X11/Xfuncproto.h:
|
||||
/usr/local/include/X11/Xdefs.h:
|
||||
/usr/include/stddef.h:
|
||||
/usr/include/stdint.h:
|
||||
/usr/include/machine/_stdint.h:
|
||||
/usr/include/x86/_stdint.h:
|
||||
/usr/include/sys/_stdint.h:
|
||||
/usr/local/include/xorg/os.h:
|
||||
/usr/include/stdarg.h:
|
||||
/usr/include/sys/_stdarg.h:
|
||||
/usr/local/include/xorg/Xprintf.h:
|
||||
/usr/local/include/X11/Xfuncs.h:
|
||||
/usr/include/limits.h:
|
||||
/usr/include/sys/limits.h:
|
||||
/usr/include/sys/syslimits.h:
|
||||
/usr/include/assert.h:
|
||||
/usr/include/ctype.h:
|
||||
/usr/include/_ctype.h:
|
||||
/usr/include/runetype.h:
|
||||
/usr/include/xlocale/_ctype.h:
|
||||
/usr/local/include/xorg/input.h:
|
||||
/usr/local/include/xorg/screenint.h:
|
||||
/usr/local/include/X11/Xproto.h:
|
||||
/usr/local/include/X11/Xprotostr.h:
|
||||
/usr/local/include/xorg/window.h:
|
||||
/usr/local/include/xorg/region.h:
|
||||
/usr/local/include/xorg/regionstr.h:
|
||||
/usr/local/include/xorg/miscstruct.h:
|
||||
/usr/local/include/pixman-1/pixman.h:
|
||||
/usr/local/include/pixman-1/pixman-version.h:
|
||||
/usr/local/include/xorg/xkbrules.h:
|
||||
/usr/local/include/xorg/events.h:
|
||||
/usr/local/include/xorg/list.h:
|
||||
/usr/local/include/X11/extensions/XI2.h:
|
||||
/usr/local/include/xorg/scrnintstr.h:
|
||||
/usr/local/include/xorg/colormap.h:
|
||||
/usr/local/include/xorg/cursor.h:
|
||||
/usr/local/include/xorg/privates.h:
|
||||
/usr/local/include/xorg/dix.h:
|
||||
/usr/local/include/xorg/callback.h:
|
||||
/usr/local/include/xorg/gc.h:
|
||||
/usr/local/include/xorg/pixmap.h:
|
||||
/usr/local/include/X11/extensions/randr.h:
|
||||
/usr/local/include/xorg/geext.h:
|
||||
/usr/local/include/X11/extensions/geproto.h:
|
||||
/usr/local/include/X11/extensions/ge.h:
|
||||
/usr/local/include/X11/extensions/XI.h:
|
||||
/usr/local/include/xorg/resource.h:
|
||||
/usr/local/include/xorg/dixaccess.h:
|
||||
/usr/local/include/xorg/validate.h:
|
||||
/usr/local/include/xorg/pixmapstr.h:
|
||||
/usr/local/include/xorg/damage.h:
|
||||
/usr/local/include/xorg/picturestr.h:
|
||||
/usr/local/include/xorg/glyphstr.h:
|
||||
/usr/local/include/X11/extensions/renderproto.h:
|
||||
/usr/local/include/X11/extensions/render.h:
|
||||
/usr/local/include/xorg/picture.h:
|
||||
/usr/local/include/xorg/colormapst.h:
|
||||
/usr/local/include/xorg/xf86Module.h:
|
||||
/usr/local/include/xorg/extension.h:
|
||||
/usr/local/include/xorg/dixstruct.h:
|
||||
/usr/local/include/xorg/client.h:
|
||||
/usr/include/sys/types.h:
|
||||
/usr/include/machine/endian.h:
|
||||
/usr/include/x86/endian.h:
|
||||
/usr/include/sys/_endian.h:
|
||||
/usr/include/sys/_pthreadtypes.h:
|
||||
/usr/include/sys/bitcount.h:
|
||||
/usr/include/sys/select.h:
|
||||
/usr/include/sys/_sigset.h:
|
||||
/usr/include/sys/_timeval.h:
|
||||
/usr/include/sys/timespec.h:
|
||||
/usr/include/sys/_timespec.h:
|
||||
/usr/local/include/xorg/xf86Opt.h:
|
||||
/usr/local/include/xorg/xf86Optionstr.h:
|
||||
/usr/local/include/xorg/displaymode.h:
|
||||
/usr/include/inttypes.h:
|
||||
/usr/include/machine/_inttypes.h:
|
||||
/usr/include/x86/_inttypes.h:
|
||||
/usr/include/sys/stdint.h:
|
||||
/usr/local/include/xorg/propertyst.h:
|
||||
/usr/local/include/xorg/property.h:
|
||||
/usr/local/include/pciaccess.h:
|
||||
/usr/local/include/xorg/extnsionst.h:
|
||||
/usr/local/include/xorg/extinit.h:
|
||||
/usr/local/include/X11/extensions/dpmsconst.h:
|
||||
/usr/local/include/X11/extensions/panoramiXproto.h:
|
||||
/usr/local/include/X11/extensions/XResproto.h:
|
||||
/usr/local/include/X11/extensions/saver.h:
|
||||
/usr/local/include/X11/extensions/shapeproto.h:
|
||||
/usr/local/include/X11/extensions/shapeconst.h:
|
||||
/usr/local/include/X11/extensions/shm.h:
|
||||
/usr/local/include/X11/extensions/shmproto.h:
|
||||
/usr/local/include/X11/extensions/XKB.h:
|
||||
/usr/local/include/X11/extensions/xtestconst.h:
|
||||
/usr/local/include/X11/extensions/xtestproto.h:
|
||||
/usr/local/include/X11/extensions/Xv.h:
|
||||
/usr/local/include/X11/extensions/XvMC.h:
|
||||
/usr/local/include/X11/extensions/presentproto.h:
|
||||
/usr/local/include/X11/extensions/presenttokens.h:
|
||||
/usr/local/include/X11/extensions/dri3proto.h:
|
||||
/usr/local/include/xorg/presentext.h:
|
||||
/usr/local/include/xorg/xf86Xinput.h:
|
||||
/usr/local/include/xorg/inputstr.h:
|
||||
/usr/local/include/X11/extensions/XI2proto.h:
|
||||
/usr/local/include/xorg/cursorstr.h:
|
||||
/usr/local/include/X11/extensions/XIproto.h:
|
||||
/usr/local/include/xorg/XIstubs.h:
|
||||
/usr/local/include/xorg/xf86_OSproc.h:
|
||||
/usr/local/include/xorg/opaque.h:
|
||||
/usr/local/include/xorg/globals.h:
|
||||
/usr/include/signal.h:
|
||||
/usr/include/sys/signal.h:
|
||||
/usr/include/sys/_sigaltstack.h:
|
||||
/usr/include/sys/_sigval.h:
|
||||
/usr/include/machine/signal.h:
|
||||
/usr/include/x86/signal.h:
|
||||
/usr/include/machine/ucontext.h:
|
||||
/usr/include/x86/ucontext.h:
|
||||
/usr/include/sys/_ucontext.h:
|
||||
/usr/local/include/xorg/hotplug.h:
|
||||
/usr/local/include/xorg/exevents.h:
|
||||
/usr/local/include/X11/Xatom.h:
|
||||
/usr/local/include/xorg/xserver-properties.h:
|
||||
../include/xf86-mouse-properties.h:
|
||||
/usr/local/include/xorg/compiler.h:
|
||||
/usr/local/include/xorg/xisb.h:
|
||||
/usr/include/unistd.h:
|
||||
/usr/include/sys/unistd.h:
|
||||
mouse.h:
|
||||
mousePriv.h:
|
||||
/usr/local/include/xorg/mipointer.h:
|
||||
/usr/local/include/xorg/xorgVersion.h:
|
||||
@@ -0,0 +1,244 @@
|
||||
pnp.lo: pnp.c ../config.h /usr/local/include/xorg/xorg-server.h \
|
||||
/usr/include/stdio.h /usr/include/sys/cdefs.h \
|
||||
/usr/include/sys/_visible.h /usr/include/sys/_null.h \
|
||||
/usr/include/sys/_types.h /usr/include/machine/_types.h \
|
||||
/usr/include/x86/_types.h /usr/include/machine/_limits.h \
|
||||
/usr/include/x86/_limits.h /usr/include/string.h \
|
||||
/usr/include/strings.h /usr/include/xlocale/_strings.h \
|
||||
/usr/include/xlocale/_string.h /usr/include/unistd.h \
|
||||
/usr/include/sys/types.h /usr/include/machine/endian.h \
|
||||
/usr/include/x86/endian.h /usr/include/sys/_endian.h \
|
||||
/usr/include/sys/_pthreadtypes.h /usr/include/sys/_stdint.h \
|
||||
/usr/include/sys/bitcount.h /usr/include/sys/select.h \
|
||||
/usr/include/sys/_sigset.h /usr/include/sys/_timeval.h \
|
||||
/usr/include/sys/timespec.h /usr/include/sys/_timespec.h \
|
||||
/usr/include/sys/unistd.h /usr/local/include/X11/X.h \
|
||||
/usr/local/include/X11/Xmd.h /usr/local/include/X11/Xproto.h \
|
||||
/usr/local/include/X11/Xprotostr.h /usr/local/include/xorg/inputstr.h \
|
||||
/usr/local/include/X11/extensions/XI2proto.h \
|
||||
/usr/local/include/X11/extensions/XI2.h /usr/include/stdint.h \
|
||||
/usr/include/machine/_stdint.h /usr/include/x86/_stdint.h \
|
||||
/usr/local/include/pixman-1/pixman.h \
|
||||
/usr/local/include/pixman-1/pixman-version.h \
|
||||
/usr/local/include/xorg/input.h /usr/local/include/xorg/misc.h \
|
||||
/usr/local/include/X11/Xosdefs.h /usr/local/include/X11/Xfuncproto.h \
|
||||
/usr/local/include/X11/Xdefs.h /usr/include/stddef.h \
|
||||
/usr/local/include/xorg/os.h /usr/include/stdarg.h \
|
||||
/usr/include/sys/_stdarg.h /usr/local/include/xorg/Xprintf.h \
|
||||
/usr/local/include/X11/Xfuncs.h /usr/include/stdlib.h \
|
||||
/usr/include/limits.h /usr/include/sys/limits.h \
|
||||
/usr/include/sys/syslimits.h /usr/include/math.h /usr/include/assert.h \
|
||||
/usr/include/ctype.h /usr/include/_ctype.h /usr/include/runetype.h \
|
||||
/usr/include/xlocale/_ctype.h /usr/local/include/xorg/screenint.h \
|
||||
/usr/local/include/xorg/window.h /usr/local/include/xorg/region.h \
|
||||
/usr/local/include/xorg/regionstr.h \
|
||||
/usr/local/include/xorg/miscstruct.h \
|
||||
/usr/local/include/xorg/xkbrules.h /usr/local/include/xorg/events.h \
|
||||
/usr/local/include/xorg/list.h /usr/local/include/xorg/dixstruct.h \
|
||||
/usr/local/include/xorg/client.h /usr/local/include/xorg/dix.h \
|
||||
/usr/local/include/xorg/callback.h /usr/local/include/xorg/gc.h \
|
||||
/usr/local/include/xorg/pixmap.h \
|
||||
/usr/local/include/X11/extensions/randr.h \
|
||||
/usr/local/include/xorg/cursor.h /usr/local/include/xorg/privates.h \
|
||||
/usr/local/include/xorg/resource.h /usr/local/include/xorg/dixaccess.h \
|
||||
/usr/local/include/xorg/geext.h \
|
||||
/usr/local/include/X11/extensions/geproto.h \
|
||||
/usr/local/include/X11/extensions/ge.h \
|
||||
/usr/local/include/X11/extensions/XI.h \
|
||||
/usr/local/include/xorg/cursorstr.h \
|
||||
/usr/local/include/xorg/scrnintstr.h \
|
||||
/usr/local/include/xorg/colormap.h /usr/local/include/xorg/validate.h \
|
||||
/usr/local/include/xorg/xf86.h /usr/local/include/xorg/xf86str.h \
|
||||
/usr/local/include/xorg/pixmapstr.h /usr/local/include/xorg/damage.h \
|
||||
/usr/local/include/xorg/picturestr.h \
|
||||
/usr/local/include/xorg/glyphstr.h \
|
||||
/usr/local/include/X11/extensions/renderproto.h \
|
||||
/usr/local/include/X11/extensions/render.h \
|
||||
/usr/local/include/xorg/picture.h /usr/local/include/xorg/colormapst.h \
|
||||
/usr/local/include/xorg/xf86Module.h \
|
||||
/usr/local/include/xorg/extension.h /usr/local/include/xorg/xf86Opt.h \
|
||||
/usr/local/include/xorg/xf86Optionstr.h \
|
||||
/usr/local/include/xorg/displaymode.h /usr/include/inttypes.h \
|
||||
/usr/include/machine/_inttypes.h /usr/include/x86/_inttypes.h \
|
||||
/usr/include/sys/stdint.h /usr/local/include/xorg/propertyst.h \
|
||||
/usr/local/include/xorg/property.h /usr/local/include/pciaccess.h \
|
||||
/usr/local/include/xorg/xf86Priv.h \
|
||||
/usr/local/include/xorg/xf86Privstr.h \
|
||||
/usr/local/include/xorg/xf86Xinput.h \
|
||||
/usr/local/include/X11/extensions/XIproto.h \
|
||||
/usr/local/include/xorg/XIstubs.h \
|
||||
/usr/local/include/xorg/xf86_OSproc.h /usr/local/include/xorg/opaque.h \
|
||||
/usr/local/include/xorg/globals.h /usr/include/signal.h \
|
||||
/usr/include/sys/signal.h /usr/include/sys/_sigaltstack.h \
|
||||
/usr/include/sys/_sigval.h /usr/include/machine/signal.h \
|
||||
/usr/include/x86/signal.h /usr/include/machine/ucontext.h \
|
||||
/usr/include/x86/ucontext.h /usr/include/sys/_ucontext.h \
|
||||
/usr/local/include/xorg/extinit.h /usr/local/include/xorg/extnsionst.h \
|
||||
/usr/local/include/X11/extensions/dpmsconst.h \
|
||||
/usr/local/include/X11/extensions/panoramiXproto.h \
|
||||
/usr/local/include/X11/extensions/XResproto.h \
|
||||
/usr/local/include/X11/extensions/saver.h \
|
||||
/usr/local/include/X11/extensions/shapeproto.h \
|
||||
/usr/local/include/X11/extensions/shapeconst.h \
|
||||
/usr/local/include/X11/extensions/shm.h \
|
||||
/usr/local/include/X11/extensions/shmproto.h \
|
||||
/usr/local/include/X11/extensions/XKB.h \
|
||||
/usr/local/include/X11/extensions/xtestconst.h \
|
||||
/usr/local/include/X11/extensions/xtestproto.h \
|
||||
/usr/local/include/X11/extensions/Xv.h \
|
||||
/usr/local/include/X11/extensions/XvMC.h \
|
||||
/usr/local/include/X11/extensions/presentproto.h \
|
||||
/usr/local/include/X11/extensions/presenttokens.h \
|
||||
/usr/local/include/X11/extensions/dri3proto.h \
|
||||
/usr/local/include/xorg/presentext.h /usr/local/include/xorg/hotplug.h \
|
||||
mouse.h mousePriv.h
|
||||
../config.h:
|
||||
/usr/local/include/xorg/xorg-server.h:
|
||||
/usr/include/stdio.h:
|
||||
/usr/include/sys/cdefs.h:
|
||||
/usr/include/sys/_visible.h:
|
||||
/usr/include/sys/_null.h:
|
||||
/usr/include/sys/_types.h:
|
||||
/usr/include/machine/_types.h:
|
||||
/usr/include/x86/_types.h:
|
||||
/usr/include/machine/_limits.h:
|
||||
/usr/include/x86/_limits.h:
|
||||
/usr/include/string.h:
|
||||
/usr/include/strings.h:
|
||||
/usr/include/xlocale/_strings.h:
|
||||
/usr/include/xlocale/_string.h:
|
||||
/usr/include/unistd.h:
|
||||
/usr/include/sys/types.h:
|
||||
/usr/include/machine/endian.h:
|
||||
/usr/include/x86/endian.h:
|
||||
/usr/include/sys/_endian.h:
|
||||
/usr/include/sys/_pthreadtypes.h:
|
||||
/usr/include/sys/_stdint.h:
|
||||
/usr/include/sys/bitcount.h:
|
||||
/usr/include/sys/select.h:
|
||||
/usr/include/sys/_sigset.h:
|
||||
/usr/include/sys/_timeval.h:
|
||||
/usr/include/sys/timespec.h:
|
||||
/usr/include/sys/_timespec.h:
|
||||
/usr/include/sys/unistd.h:
|
||||
/usr/local/include/X11/X.h:
|
||||
/usr/local/include/X11/Xmd.h:
|
||||
/usr/local/include/X11/Xproto.h:
|
||||
/usr/local/include/X11/Xprotostr.h:
|
||||
/usr/local/include/xorg/inputstr.h:
|
||||
/usr/local/include/X11/extensions/XI2proto.h:
|
||||
/usr/local/include/X11/extensions/XI2.h:
|
||||
/usr/include/stdint.h:
|
||||
/usr/include/machine/_stdint.h:
|
||||
/usr/include/x86/_stdint.h:
|
||||
/usr/local/include/pixman-1/pixman.h:
|
||||
/usr/local/include/pixman-1/pixman-version.h:
|
||||
/usr/local/include/xorg/input.h:
|
||||
/usr/local/include/xorg/misc.h:
|
||||
/usr/local/include/X11/Xosdefs.h:
|
||||
/usr/local/include/X11/Xfuncproto.h:
|
||||
/usr/local/include/X11/Xdefs.h:
|
||||
/usr/include/stddef.h:
|
||||
/usr/local/include/xorg/os.h:
|
||||
/usr/include/stdarg.h:
|
||||
/usr/include/sys/_stdarg.h:
|
||||
/usr/local/include/xorg/Xprintf.h:
|
||||
/usr/local/include/X11/Xfuncs.h:
|
||||
/usr/include/stdlib.h:
|
||||
/usr/include/limits.h:
|
||||
/usr/include/sys/limits.h:
|
||||
/usr/include/sys/syslimits.h:
|
||||
/usr/include/math.h:
|
||||
/usr/include/assert.h:
|
||||
/usr/include/ctype.h:
|
||||
/usr/include/_ctype.h:
|
||||
/usr/include/runetype.h:
|
||||
/usr/include/xlocale/_ctype.h:
|
||||
/usr/local/include/xorg/screenint.h:
|
||||
/usr/local/include/xorg/window.h:
|
||||
/usr/local/include/xorg/region.h:
|
||||
/usr/local/include/xorg/regionstr.h:
|
||||
/usr/local/include/xorg/miscstruct.h:
|
||||
/usr/local/include/xorg/xkbrules.h:
|
||||
/usr/local/include/xorg/events.h:
|
||||
/usr/local/include/xorg/list.h:
|
||||
/usr/local/include/xorg/dixstruct.h:
|
||||
/usr/local/include/xorg/client.h:
|
||||
/usr/local/include/xorg/dix.h:
|
||||
/usr/local/include/xorg/callback.h:
|
||||
/usr/local/include/xorg/gc.h:
|
||||
/usr/local/include/xorg/pixmap.h:
|
||||
/usr/local/include/X11/extensions/randr.h:
|
||||
/usr/local/include/xorg/cursor.h:
|
||||
/usr/local/include/xorg/privates.h:
|
||||
/usr/local/include/xorg/resource.h:
|
||||
/usr/local/include/xorg/dixaccess.h:
|
||||
/usr/local/include/xorg/geext.h:
|
||||
/usr/local/include/X11/extensions/geproto.h:
|
||||
/usr/local/include/X11/extensions/ge.h:
|
||||
/usr/local/include/X11/extensions/XI.h:
|
||||
/usr/local/include/xorg/cursorstr.h:
|
||||
/usr/local/include/xorg/scrnintstr.h:
|
||||
/usr/local/include/xorg/colormap.h:
|
||||
/usr/local/include/xorg/validate.h:
|
||||
/usr/local/include/xorg/xf86.h:
|
||||
/usr/local/include/xorg/xf86str.h:
|
||||
/usr/local/include/xorg/pixmapstr.h:
|
||||
/usr/local/include/xorg/damage.h:
|
||||
/usr/local/include/xorg/picturestr.h:
|
||||
/usr/local/include/xorg/glyphstr.h:
|
||||
/usr/local/include/X11/extensions/renderproto.h:
|
||||
/usr/local/include/X11/extensions/render.h:
|
||||
/usr/local/include/xorg/picture.h:
|
||||
/usr/local/include/xorg/colormapst.h:
|
||||
/usr/local/include/xorg/xf86Module.h:
|
||||
/usr/local/include/xorg/extension.h:
|
||||
/usr/local/include/xorg/xf86Opt.h:
|
||||
/usr/local/include/xorg/xf86Optionstr.h:
|
||||
/usr/local/include/xorg/displaymode.h:
|
||||
/usr/include/inttypes.h:
|
||||
/usr/include/machine/_inttypes.h:
|
||||
/usr/include/x86/_inttypes.h:
|
||||
/usr/include/sys/stdint.h:
|
||||
/usr/local/include/xorg/propertyst.h:
|
||||
/usr/local/include/xorg/property.h:
|
||||
/usr/local/include/pciaccess.h:
|
||||
/usr/local/include/xorg/xf86Priv.h:
|
||||
/usr/local/include/xorg/xf86Privstr.h:
|
||||
/usr/local/include/xorg/xf86Xinput.h:
|
||||
/usr/local/include/X11/extensions/XIproto.h:
|
||||
/usr/local/include/xorg/XIstubs.h:
|
||||
/usr/local/include/xorg/xf86_OSproc.h:
|
||||
/usr/local/include/xorg/opaque.h:
|
||||
/usr/local/include/xorg/globals.h:
|
||||
/usr/include/signal.h:
|
||||
/usr/include/sys/signal.h:
|
||||
/usr/include/sys/_sigaltstack.h:
|
||||
/usr/include/sys/_sigval.h:
|
||||
/usr/include/machine/signal.h:
|
||||
/usr/include/x86/signal.h:
|
||||
/usr/include/machine/ucontext.h:
|
||||
/usr/include/x86/ucontext.h:
|
||||
/usr/include/sys/_ucontext.h:
|
||||
/usr/local/include/xorg/extinit.h:
|
||||
/usr/local/include/xorg/extnsionst.h:
|
||||
/usr/local/include/X11/extensions/dpmsconst.h:
|
||||
/usr/local/include/X11/extensions/panoramiXproto.h:
|
||||
/usr/local/include/X11/extensions/XResproto.h:
|
||||
/usr/local/include/X11/extensions/saver.h:
|
||||
/usr/local/include/X11/extensions/shapeproto.h:
|
||||
/usr/local/include/X11/extensions/shapeconst.h:
|
||||
/usr/local/include/X11/extensions/shm.h:
|
||||
/usr/local/include/X11/extensions/shmproto.h:
|
||||
/usr/local/include/X11/extensions/XKB.h:
|
||||
/usr/local/include/X11/extensions/xtestconst.h:
|
||||
/usr/local/include/X11/extensions/xtestproto.h:
|
||||
/usr/local/include/X11/extensions/Xv.h:
|
||||
/usr/local/include/X11/extensions/XvMC.h:
|
||||
/usr/local/include/X11/extensions/presentproto.h:
|
||||
/usr/local/include/X11/extensions/presenttokens.h:
|
||||
/usr/local/include/X11/extensions/dri3proto.h:
|
||||
/usr/local/include/xorg/presentext.h:
|
||||
/usr/local/include/xorg/hotplug.h:
|
||||
mouse.h:
|
||||
mousePriv.h:
|
||||
@@ -0,0 +1,656 @@
|
||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# src/Makefile. Generated from Makefile.in by configure.
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
|
||||
# Copyright 2005 Adam Jackson.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
# license, and/or sell copies of the Software, and to permit persons to whom
|
||||
# the Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
# ADAM JACKSON 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.
|
||||
|
||||
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/xf86-input-mouse
|
||||
pkgincludedir = $(includedir)/xf86-input-mouse
|
||||
pkglibdir = $(libdir)/xf86-input-mouse
|
||||
pkglibexecdir = $(libexecdir)/xf86-input-mouse
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = x86_64-unknown-freebsd15.0
|
||||
host_triplet = x86_64-unknown-freebsd15.0
|
||||
subdir = src
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(mouse_drv_ladir)"
|
||||
LTLIBRARIES = $(mouse_drv_la_LTLIBRARIES)
|
||||
mouse_drv_la_LIBADD =
|
||||
am_mouse_drv_la_OBJECTS = mouse.lo pnp.lo \
|
||||
bsd_mouse.lo
|
||||
mouse_drv_la_OBJECTS = $(am_mouse_drv_la_OBJECTS)
|
||||
AM_V_lt = $(am__v_lt_$(V))
|
||||
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_lt_0 = --silent
|
||||
am__v_lt_1 =
|
||||
mouse_drv_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
|
||||
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
|
||||
$(AM_CFLAGS) $(CFLAGS) $(mouse_drv_la_LDFLAGS) \
|
||||
$(LDFLAGS) -o $@
|
||||
AM_V_P = $(am__v_P_$(V))
|
||||
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_$(V))
|
||||
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_$(V))
|
||||
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I. -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_$(V))
|
||||
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_$(V))
|
||||
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(mouse_drv_la_SOURCES)
|
||||
DIST_SOURCES = $(mouse_drv_la_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = aclocal-1.15
|
||||
ADMIN_MAN_DIR = $(mandir)/man$(ADMIN_MAN_SUFFIX)
|
||||
ADMIN_MAN_SUFFIX = 8
|
||||
AMTAR = $${TAR-tar}
|
||||
AM_DEFAULT_VERBOSITY = 0
|
||||
APP_MAN_DIR = $(mandir)/man$(APP_MAN_SUFFIX)
|
||||
APP_MAN_SUFFIX = 1
|
||||
AR = ar
|
||||
AUTOCONF = autoconf
|
||||
AUTOHEADER = autoheader
|
||||
AUTOMAKE = automake-1.15
|
||||
AWK = nawk
|
||||
BASE_CFLAGS = -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Wlogical-op -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces -Werror=sequence-point -Werror=return-type -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast
|
||||
CC = cc
|
||||
CCDEPMODE = depmode=gcc3
|
||||
CFLAGS = -w
|
||||
CHANGELOG_CMD = (GIT_DIR=$(top_srcdir)/.git git log > $(top_srcdir)/.changelog.tmp && mv $(top_srcdir)/.changelog.tmp $(top_srcdir)/ChangeLog) || (rm -f $(top_srcdir)/.changelog.tmp; touch $(top_srcdir)/ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
|
||||
CPP = cc -E
|
||||
CPPFLAGS =
|
||||
CWARNFLAGS = -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Wlogical-op -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces -Werror=sequence-point -Werror=return-type -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -fno-strict-aliasing
|
||||
CYGPATH_W = echo
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
DEPDIR = .deps
|
||||
DLLTOOL = false
|
||||
DRIVER_MAN_DIR = $(mandir)/man$(DRIVER_MAN_SUFFIX)
|
||||
DRIVER_MAN_SUFFIX = 4
|
||||
DRIVER_NAME = mouse
|
||||
DSYMUTIL =
|
||||
DUMPBIN =
|
||||
ECHO_C =
|
||||
ECHO_N = -n
|
||||
ECHO_T =
|
||||
EGREP = /usr/bin/grep -E
|
||||
EXEEXT =
|
||||
FGREP = /usr/bin/grep -F
|
||||
FILE_MAN_DIR = $(mandir)/man$(FILE_MAN_SUFFIX)
|
||||
FILE_MAN_SUFFIX = 5
|
||||
GREP = /usr/bin/grep
|
||||
INSTALL = /usr/bin/install -c
|
||||
INSTALL_CMD = (cp -f /usr/local/share/util-macros/INSTALL $(top_srcdir)/.INSTALL.tmp && mv $(top_srcdir)/.INSTALL.tmp $(top_srcdir)/INSTALL) || (rm -f $(top_srcdir)/.INSTALL.tmp; touch $(top_srcdir)/INSTALL; echo 'util-macros "pkgdatadir" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
||||
LD = /usr/bin/ld
|
||||
LDFLAGS =
|
||||
LIBOBJS =
|
||||
LIBS =
|
||||
LIBTOOL = $(SHELL) $(top_builddir)/libtool
|
||||
LIB_MAN_DIR = $(mandir)/man$(LIB_MAN_SUFFIX)
|
||||
LIB_MAN_SUFFIX = 3
|
||||
LINT =
|
||||
LINT_FLAGS = -u -b
|
||||
LIPO =
|
||||
LN_S = ln -s
|
||||
LTLIBOBJS =
|
||||
LT_SYS_LIBRARY_PATH =
|
||||
MAKEINFO = makeinfo
|
||||
MANIFEST_TOOL = :
|
||||
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|__xorgconfdir__|xorg.conf.d|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' -e 's|__libmansuffix__|$(LIB_MAN_SUFFIX)|g' -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
|
||||
MISC_MAN_DIR = $(mandir)/man$(MISC_MAN_SUFFIX)
|
||||
MISC_MAN_SUFFIX = 7
|
||||
MKDIR_P = .././install-sh -c -d
|
||||
NM = /usr/bin/nm -B
|
||||
NMEDIT =
|
||||
OBJDUMP = objdump
|
||||
OBJEXT = o
|
||||
OS_MOUSE_NAME = bsd
|
||||
OTOOL =
|
||||
OTOOL64 =
|
||||
PACKAGE = xf86-input-mouse
|
||||
PACKAGE_BUGREPORT = https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
|
||||
PACKAGE_NAME = xf86-input-mouse
|
||||
PACKAGE_STRING = xf86-input-mouse 1.9.2
|
||||
PACKAGE_TARNAME = xf86-input-mouse
|
||||
PACKAGE_URL =
|
||||
PACKAGE_VERSION = 1.9.2
|
||||
PATH_SEPARATOR = :
|
||||
PKG_CONFIG = /usr/local/bin/pkg-config
|
||||
PKG_CONFIG_LIBDIR =
|
||||
PKG_CONFIG_PATH =
|
||||
RANLIB = ranlib
|
||||
SED = /usr/bin/sed
|
||||
SET_MAKE =
|
||||
SHELL = /bin/sh
|
||||
STRICT_CFLAGS = -pedantic -Werror -Werror=attributes
|
||||
STRIP = strip
|
||||
VERSION = 1.9.2
|
||||
XORG_CFLAGS = -I/usr/local/include/xorg -fvisibility=hidden -I/usr/local/include/pixman-1 -I/usr/local/include/X11/dri -I/usr/local/include/libdrm
|
||||
XORG_LIBS = -L/usr/local/lib
|
||||
XORG_MAN_PAGE = X Version 11
|
||||
abs_builddir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2/src
|
||||
abs_srcdir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2/src
|
||||
abs_top_builddir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2
|
||||
abs_top_srcdir = /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2
|
||||
ac_ct_AR = ar
|
||||
ac_ct_CC =
|
||||
ac_ct_DUMPBIN =
|
||||
am__include = include
|
||||
am__leading_dot = .
|
||||
am__quote =
|
||||
am__tar = $${TAR-tar} chof - "$$tardir"
|
||||
am__untar = $${TAR-tar} xf -
|
||||
bindir = ${exec_prefix}/bin
|
||||
build = x86_64-unknown-freebsd15.0
|
||||
build_alias =
|
||||
build_cpu = x86_64
|
||||
build_os = freebsd15.0
|
||||
build_vendor = unknown
|
||||
builddir = .
|
||||
datadir = ${datarootdir}
|
||||
datarootdir = ${prefix}/share
|
||||
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
||||
dvidir = ${docdir}
|
||||
exec_prefix = ${prefix}
|
||||
host = x86_64-unknown-freebsd15.0
|
||||
host_alias =
|
||||
host_cpu = x86_64
|
||||
host_os = freebsd15.0
|
||||
host_vendor = unknown
|
||||
htmldir = ${docdir}
|
||||
includedir = ${prefix}/include
|
||||
infodir = ${datarootdir}/info
|
||||
inputdir = ${exec_prefix}/lib/xorg/modules/input
|
||||
install_sh = ${SHELL} /root/calista-xserver-1.18.4-building-scripts/xf86-input-mouse-1.9.2/install-sh
|
||||
libdir = ${exec_prefix}/lib
|
||||
libexecdir = ${exec_prefix}/libexec
|
||||
localedir = ${datarootdir}/locale
|
||||
localstatedir = ${prefix}/var
|
||||
mandir = ${datarootdir}/man
|
||||
mkdir_p = $(MKDIR_P)
|
||||
oldincludedir = /usr/include
|
||||
pdfdir = ${docdir}
|
||||
prefix = /usr/local
|
||||
program_transform_name = s,x,x,
|
||||
psdir = ${docdir}
|
||||
sbindir = ${exec_prefix}/sbin
|
||||
sdkdir = /usr/local/include/xorg
|
||||
sharedstatedir = ${prefix}/com
|
||||
srcdir = .
|
||||
sysconfdir = ${prefix}/etc
|
||||
target_alias =
|
||||
top_build_prefix = ../
|
||||
top_builddir = ..
|
||||
top_srcdir = ..
|
||||
AM_CFLAGS = $(CWARNFLAGS)
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include $(XORG_CFLAGS)
|
||||
|
||||
# this is obnoxious:
|
||||
# -module lets us name the module exactly how we want
|
||||
# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
|
||||
# _ladir passes a dummy rpath to libtool so the thing will actually link
|
||||
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
|
||||
mouse_drv_la_LTLIBRARIES = mouse_drv.la
|
||||
mouse_drv_la_LDFLAGS = -module -avoid-version
|
||||
mouse_drv_ladir = ${exec_prefix}/lib/xorg/modules/input
|
||||
|
||||
# We have to list all the mouse drivers here, even if we don't build them, so
|
||||
# they get included in distcheck.
|
||||
OS_SRCS = bsd_mouse.c hurd_mouse.c lnx_mouse.c sun_mouse.c
|
||||
mouse_drv_la_SOURCES = \
|
||||
mouse.c \
|
||||
mouse.h \
|
||||
pnp.c \
|
||||
mousePriv.h \
|
||||
compat-api.h \
|
||||
bsd_mouse.c
|
||||
|
||||
EXTRA_DIST = $(OS_SRCS)
|
||||
#ALL_LINT_FLAGS = $(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
# $(AM_CPPFLAGS) $(CPPFLAGS)
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign src/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
install-mouse_drv_laLTLIBRARIES: $(mouse_drv_la_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(mouse_drv_la_LTLIBRARIES)'; test -n "$(mouse_drv_ladir)" || list=; \
|
||||
list2=; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
list2="$$list2 $$p"; \
|
||||
else :; fi; \
|
||||
done; \
|
||||
test -z "$$list2" || { \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(mouse_drv_ladir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(mouse_drv_ladir)" || exit 1; \
|
||||
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(mouse_drv_ladir)'"; \
|
||||
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(mouse_drv_ladir)"; \
|
||||
}
|
||||
|
||||
uninstall-mouse_drv_laLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(mouse_drv_la_LTLIBRARIES)'; test -n "$(mouse_drv_ladir)" || list=; \
|
||||
for p in $$list; do \
|
||||
$(am__strip_dir) \
|
||||
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(mouse_drv_ladir)/$$f'"; \
|
||||
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(mouse_drv_ladir)/$$f"; \
|
||||
done
|
||||
|
||||
clean-mouse_drv_laLTLIBRARIES:
|
||||
-test -z "$(mouse_drv_la_LTLIBRARIES)" || rm -f $(mouse_drv_la_LTLIBRARIES)
|
||||
@list='$(mouse_drv_la_LTLIBRARIES)'; \
|
||||
locs=`for p in $$list; do echo $$p; done | \
|
||||
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
|
||||
sort -u`; \
|
||||
test -z "$$locs" || { \
|
||||
echo rm -f $${locs}; \
|
||||
rm -f $${locs}; \
|
||||
}
|
||||
|
||||
mouse_drv.la: $(mouse_drv_la_OBJECTS) $(mouse_drv_la_DEPENDENCIES) $(EXTRA_mouse_drv_la_DEPENDENCIES)
|
||||
$(AM_V_CCLD)$(mouse_drv_la_LINK) -rpath $(mouse_drv_ladir) $(mouse_drv_la_OBJECTS) $(mouse_drv_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
include ./$(DEPDIR)/bsd_mouse.Plo
|
||||
include ./$(DEPDIR)/mouse.Plo
|
||||
include ./$(DEPDIR)/pnp.Plo
|
||||
|
||||
.c.o:
|
||||
$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
# $(AM_V_CC)source='$<' object='$@' libtool=no \
|
||||
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CC_no)$(COMPILE) -c -o $@ $<
|
||||
|
||||
.c.obj:
|
||||
$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
# $(AM_V_CC)source='$<' object='$@' libtool=no \
|
||||
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
||||
# $(AM_V_CC)source='$<' object='$@' libtool=yes \
|
||||
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
tags TAGS:
|
||||
|
||||
ctags CTAGS:
|
||||
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(mouse_drv_ladir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-mouse_drv_laLTLIBRARIES clean-generic \
|
||||
clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-mouse_drv_laLTLIBRARIES
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-mouse_drv_laLTLIBRARIES
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean \
|
||||
clean-mouse_drv_laLTLIBRARIES clean-generic \
|
||||
clean-libtool cscopelist-am ctags-am distclean \
|
||||
distclean-compile distclean-generic distclean-libtool distdir \
|
||||
dvi dvi-am html html-am info info-am install \
|
||||
install-mouse_drv_laLTLIBRARIES install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags-am uninstall uninstall-mouse_drv_laLTLIBRARIES \
|
||||
uninstall-am
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
#lint:
|
||||
# $(LINT) $(ALL_LINT_FLAGS) $(mouse_drv_la_SOURCES)
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,53 @@
|
||||
# Copyright 2005 Adam Jackson.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
# license, and/or sell copies of the Software, and to permit persons to whom
|
||||
# the Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
# ADAM JACKSON 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.
|
||||
|
||||
AM_CFLAGS = $(CWARNFLAGS)
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include $(XORG_CFLAGS)
|
||||
|
||||
# this is obnoxious:
|
||||
# -module lets us name the module exactly how we want
|
||||
# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
|
||||
# _ladir passes a dummy rpath to libtool so the thing will actually link
|
||||
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
|
||||
@DRIVER_NAME@_drv_la_LTLIBRARIES = @DRIVER_NAME@_drv.la
|
||||
@DRIVER_NAME@_drv_la_LDFLAGS = -module -avoid-version
|
||||
@DRIVER_NAME@_drv_ladir = @inputdir@
|
||||
|
||||
# We have to list all the mouse drivers here, even if we don't build them, so
|
||||
# they get included in distcheck.
|
||||
OS_SRCS = bsd_mouse.c hurd_mouse.c lnx_mouse.c sun_mouse.c
|
||||
|
||||
@DRIVER_NAME@_drv_la_SOURCES = \
|
||||
mouse.c \
|
||||
mouse.h \
|
||||
pnp.c \
|
||||
mousePriv.h \
|
||||
compat-api.h \
|
||||
@OS_MOUSE_NAME@_mouse.c
|
||||
|
||||
EXTRA_DIST = $(OS_SRCS)
|
||||
|
||||
if LINT
|
||||
ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS)
|
||||
|
||||
lint:
|
||||
$(LINT) $(ALL_LINT_FLAGS) $(@DRIVER_NAME@_drv_la_SOURCES)
|
||||
endif LINT
|
||||
@@ -0,0 +1,656 @@
|
||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
# Copyright 2005 Adam Jackson.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
# license, and/or sell copies of the Software, and to permit persons to whom
|
||||
# the Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
# ADAM JACKSON 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.
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = src
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(@DRIVER_NAME@_drv_ladir)"
|
||||
LTLIBRARIES = $(@DRIVER_NAME@_drv_la_LTLIBRARIES)
|
||||
@DRIVER_NAME@_drv_la_LIBADD =
|
||||
am_@DRIVER_NAME@_drv_la_OBJECTS = mouse.lo pnp.lo \
|
||||
@OS_MOUSE_NAME@_mouse.lo
|
||||
@DRIVER_NAME@_drv_la_OBJECTS = $(am_@DRIVER_NAME@_drv_la_OBJECTS)
|
||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||
am__v_lt_0 = --silent
|
||||
am__v_lt_1 =
|
||||
@DRIVER_NAME@_drv_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
|
||||
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
|
||||
$(AM_CFLAGS) $(CFLAGS) $(@DRIVER_NAME@_drv_la_LDFLAGS) \
|
||||
$(LDFLAGS) -o $@
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(@DRIVER_NAME@_drv_la_SOURCES)
|
||||
DIST_SOURCES = $(@DRIVER_NAME@_drv_la_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DRIVER_NAME = @DRIVER_NAME@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LINT = @LINT@
|
||||
LINT_FLAGS = @LINT_FLAGS@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MAN_SUBSTS = @MAN_SUBSTS@
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OS_MOUSE_NAME = @OS_MOUSE_NAME@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRICT_CFLAGS = @STRICT_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
XORG_CFLAGS = @XORG_CFLAGS@
|
||||
XORG_LIBS = @XORG_LIBS@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
inputdir = @inputdir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sdkdir = @sdkdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
AM_CFLAGS = $(CWARNFLAGS)
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include $(XORG_CFLAGS)
|
||||
|
||||
# this is obnoxious:
|
||||
# -module lets us name the module exactly how we want
|
||||
# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
|
||||
# _ladir passes a dummy rpath to libtool so the thing will actually link
|
||||
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
|
||||
@DRIVER_NAME@_drv_la_LTLIBRARIES = @DRIVER_NAME@_drv.la
|
||||
@DRIVER_NAME@_drv_la_LDFLAGS = -module -avoid-version
|
||||
@DRIVER_NAME@_drv_ladir = @inputdir@
|
||||
|
||||
# We have to list all the mouse drivers here, even if we don't build them, so
|
||||
# they get included in distcheck.
|
||||
OS_SRCS = bsd_mouse.c hurd_mouse.c lnx_mouse.c sun_mouse.c
|
||||
@DRIVER_NAME@_drv_la_SOURCES = \
|
||||
mouse.c \
|
||||
mouse.h \
|
||||
pnp.c \
|
||||
mousePriv.h \
|
||||
compat-api.h \
|
||||
@OS_MOUSE_NAME@_mouse.c
|
||||
|
||||
EXTRA_DIST = $(OS_SRCS)
|
||||
@LINT_TRUE@ALL_LINT_FLAGS = $(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
@LINT_TRUE@ $(AM_CPPFLAGS) $(CPPFLAGS)
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign src/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
install-@DRIVER_NAME@_drv_laLTLIBRARIES: $(@DRIVER_NAME@_drv_la_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(@DRIVER_NAME@_drv_la_LTLIBRARIES)'; test -n "$(@DRIVER_NAME@_drv_ladir)" || list=; \
|
||||
list2=; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
list2="$$list2 $$p"; \
|
||||
else :; fi; \
|
||||
done; \
|
||||
test -z "$$list2" || { \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(@DRIVER_NAME@_drv_ladir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(@DRIVER_NAME@_drv_ladir)" || exit 1; \
|
||||
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(@DRIVER_NAME@_drv_ladir)'"; \
|
||||
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(@DRIVER_NAME@_drv_ladir)"; \
|
||||
}
|
||||
|
||||
uninstall-@DRIVER_NAME@_drv_laLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(@DRIVER_NAME@_drv_la_LTLIBRARIES)'; test -n "$(@DRIVER_NAME@_drv_ladir)" || list=; \
|
||||
for p in $$list; do \
|
||||
$(am__strip_dir) \
|
||||
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(@DRIVER_NAME@_drv_ladir)/$$f'"; \
|
||||
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(@DRIVER_NAME@_drv_ladir)/$$f"; \
|
||||
done
|
||||
|
||||
clean-@DRIVER_NAME@_drv_laLTLIBRARIES:
|
||||
-test -z "$(@DRIVER_NAME@_drv_la_LTLIBRARIES)" || rm -f $(@DRIVER_NAME@_drv_la_LTLIBRARIES)
|
||||
@list='$(@DRIVER_NAME@_drv_la_LTLIBRARIES)'; \
|
||||
locs=`for p in $$list; do echo $$p; done | \
|
||||
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
|
||||
sort -u`; \
|
||||
test -z "$$locs" || { \
|
||||
echo rm -f $${locs}; \
|
||||
rm -f $${locs}; \
|
||||
}
|
||||
|
||||
@DRIVER_NAME@_drv.la: $(@DRIVER_NAME@_drv_la_OBJECTS) $(@DRIVER_NAME@_drv_la_DEPENDENCIES) $(EXTRA_@DRIVER_NAME@_drv_la_DEPENDENCIES)
|
||||
$(AM_V_CCLD)$(@DRIVER_NAME@_drv_la_LINK) -rpath $(@DRIVER_NAME@_drv_ladir) $(@DRIVER_NAME@_drv_la_OBJECTS) $(@DRIVER_NAME@_drv_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/@OS_MOUSE_NAME@_mouse.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mouse.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pnp.Plo@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
tags TAGS:
|
||||
|
||||
ctags CTAGS:
|
||||
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(@DRIVER_NAME@_drv_ladir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-@DRIVER_NAME@_drv_laLTLIBRARIES clean-generic \
|
||||
clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-@DRIVER_NAME@_drv_laLTLIBRARIES
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-@DRIVER_NAME@_drv_laLTLIBRARIES
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean \
|
||||
clean-@DRIVER_NAME@_drv_laLTLIBRARIES clean-generic \
|
||||
clean-libtool cscopelist-am ctags-am distclean \
|
||||
distclean-compile distclean-generic distclean-libtool distdir \
|
||||
dvi dvi-am html html-am info info-am install \
|
||||
install-@DRIVER_NAME@_drv_laLTLIBRARIES install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags-am uninstall uninstall-@DRIVER_NAME@_drv_laLTLIBRARIES \
|
||||
uninstall-am
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
@LINT_TRUE@lint:
|
||||
@LINT_TRUE@ $(LINT) $(ALL_LINT_FLAGS) $(@DRIVER_NAME@_drv_la_SOURCES)
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,800 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 1999-2003 by The XFree86 Project, Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) 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 holder(s)
|
||||
* and author(s) 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 holder(s) and author(s).
|
||||
*/
|
||||
|
||||
#include <xorg-server.h>
|
||||
|
||||
#include <X11/X.h>
|
||||
#include "xf86.h"
|
||||
#include "xf86Priv.h"
|
||||
#include "xf86_OSlib.h"
|
||||
#include "xf86Xinput.h"
|
||||
#include "mouse.h"
|
||||
#include "xisb.h"
|
||||
#include "mipointer.h"
|
||||
#ifdef WSCONS_SUPPORT
|
||||
#include <dev/wscons/wsconsio.h>
|
||||
#endif
|
||||
#ifdef USBMOUSE_SUPPORT
|
||||
#ifdef HAS_LIB_USB_HID
|
||||
#include <usbhid.h>
|
||||
#else
|
||||
#include "usb.h"
|
||||
#endif
|
||||
|
||||
#include <dev/usb/usb.h>
|
||||
#ifdef USB_GET_REPORT_ID
|
||||
#define USB_NEW_HID
|
||||
#endif
|
||||
|
||||
#define HUP_GENERIC_DESKTOP 0x0001
|
||||
#define HUP_BUTTON 0x0009
|
||||
|
||||
#define HUG_X 0x0030
|
||||
#define HUG_Y 0x0031
|
||||
#define HUG_Z 0x0032
|
||||
#define HUG_WHEEL 0x0038
|
||||
|
||||
#define HID_USAGE2(p,u) (((p) << 16) | u)
|
||||
|
||||
/* The UMS mices have middle button as number 3 */
|
||||
#define UMS_BUT(i) ((i) == 0 ? 2 : (i) == 1 ? 0 : (i) == 2 ? 1 : (i))
|
||||
#endif /* USBMOUSE_SUPPORT */
|
||||
|
||||
#ifdef USBMOUSE_SUPPORT
|
||||
static void usbSigioReadInput (int fd, void *closure);
|
||||
#endif
|
||||
static const char *FindDevice(InputInfoPtr, const char *, int);
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
|
||||
/* These are for FreeBSD and DragonFly */
|
||||
#define DEFAULT_MOUSE_DEV "/dev/mouse"
|
||||
#define DEFAULT_SYSMOUSE_DEV "/dev/sysmouse"
|
||||
#define DEFAULT_PS2_DEV "/dev/psm0"
|
||||
|
||||
static const char *mouseDevs[] = {
|
||||
DEFAULT_MOUSE_DEV,
|
||||
DEFAULT_SYSMOUSE_DEV,
|
||||
DEFAULT_PS2_DEV,
|
||||
NULL
|
||||
};
|
||||
#elif (defined(__OpenBSD__) || defined(__NetBSD__)) && defined(WSCONS_SUPPORT)
|
||||
/* Only wsmouse mices are autoconfigured for now on OpenBSD */
|
||||
#define DEFAULT_WSMOUSE_DEV "/dev/wsmouse"
|
||||
#define DEFAULT_WSMOUSE0_DEV "/dev/wsmouse0"
|
||||
|
||||
static const char *mouseDevs[] = {
|
||||
DEFAULT_WSMOUSE_DEV,
|
||||
DEFAULT_WSMOUSE0_DEV,
|
||||
NULL
|
||||
};
|
||||
#endif
|
||||
|
||||
static int
|
||||
SupportedInterfaces(void)
|
||||
{
|
||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) || defined(__NetBSD__)
|
||||
return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_AUTO | MSE_MISC;
|
||||
#else
|
||||
return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_XPS2 | MSE_AUTO | MSE_MISC;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Names of protocols that are handled internally here. */
|
||||
static const char *internalNames[] = {
|
||||
#if defined(WSCONS_SUPPORT)
|
||||
"WSMouse",
|
||||
#endif
|
||||
#if defined(USBMOUSE_SUPPORT)
|
||||
"usb",
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
|
||||
/*
|
||||
* Names of MSC_MISC protocols that the OS supports. These are decoded by
|
||||
* main "mouse" driver.
|
||||
*/
|
||||
static const char *miscNames[] = {
|
||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
|
||||
"SysMouse",
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
|
||||
static const char **
|
||||
BuiltinNames(void)
|
||||
{
|
||||
return internalNames;
|
||||
}
|
||||
|
||||
static Bool
|
||||
CheckProtocol(const char *protocol)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; internalNames[i]; i++)
|
||||
if (xf86NameCmp(protocol, internalNames[i]) == 0)
|
||||
return TRUE;
|
||||
for (i = 0; miscNames[i]; i++)
|
||||
if (xf86NameCmp(protocol, miscNames[i]) == 0)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static const char *
|
||||
DefaultProtocol(void)
|
||||
{
|
||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
|
||||
return "Auto";
|
||||
#elif (defined(__OpenBSD__) || defined(__NetBSD__)) && defined(WSCONS_SUPPORT)
|
||||
return "WSMouse";
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)) && defined(MOUSE_PROTO_SYSMOUSE)
|
||||
static struct {
|
||||
int dproto;
|
||||
const char *name;
|
||||
} devproto[] = {
|
||||
{ MOUSE_PROTO_MS, "Microsoft" },
|
||||
{ MOUSE_PROTO_MSC, "MouseSystems" },
|
||||
{ MOUSE_PROTO_LOGI, "Logitech" },
|
||||
{ MOUSE_PROTO_MM, "MMSeries" },
|
||||
{ MOUSE_PROTO_LOGIMOUSEMAN, "MouseMan" },
|
||||
{ MOUSE_PROTO_BUS, "BusMouse" },
|
||||
{ MOUSE_PROTO_INPORT, "BusMouse" },
|
||||
{ MOUSE_PROTO_PS2, "PS/2" },
|
||||
{ MOUSE_PROTO_HITTAB, "MMHitTab" },
|
||||
{ MOUSE_PROTO_GLIDEPOINT, "GlidePoint" },
|
||||
{ MOUSE_PROTO_INTELLI, "Intellimouse" },
|
||||
{ MOUSE_PROTO_THINK, "ThinkingMouse" },
|
||||
{ MOUSE_PROTO_SYSMOUSE, "SysMouse" }
|
||||
};
|
||||
|
||||
static const char *
|
||||
SetupAuto(InputInfoPtr pInfo, int *protoPara)
|
||||
{
|
||||
int i;
|
||||
mousehw_t hw;
|
||||
mousemode_t mode;
|
||||
|
||||
if (pInfo->fd == -1)
|
||||
return NULL;
|
||||
|
||||
/* set the driver operation level, if applicable */
|
||||
i = 1;
|
||||
ioctl(pInfo->fd, MOUSE_SETLEVEL, &i);
|
||||
|
||||
/* interrogate the driver and get some intelligence on the device. */
|
||||
hw.iftype = MOUSE_IF_UNKNOWN;
|
||||
hw.model = MOUSE_MODEL_GENERIC;
|
||||
ioctl(pInfo->fd, MOUSE_GETHWINFO, &hw);
|
||||
xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: hw.iftype is %d, hw.model is %d\n",
|
||||
pInfo->name, hw.iftype, hw.model);
|
||||
if (ioctl(pInfo->fd, MOUSE_GETMODE, &mode) == 0) {
|
||||
for (i = 0; i < sizeof(devproto)/sizeof(devproto[0]); ++i) {
|
||||
if (mode.protocol == devproto[i].dproto) {
|
||||
/* override some parameters */
|
||||
if (protoPara) {
|
||||
protoPara[4] = mode.packetsize;
|
||||
protoPara[0] = mode.syncmask[0];
|
||||
protoPara[1] = mode.syncmask[1];
|
||||
}
|
||||
xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
|
||||
pInfo->name, devproto[i].name);
|
||||
return devproto[i].name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
SetSysMouseRes(InputInfoPtr pInfo, const char *protocol, int rate, int res)
|
||||
{
|
||||
mousemode_t mode;
|
||||
MouseDevPtr pMse;
|
||||
|
||||
pMse = pInfo->private;
|
||||
|
||||
mode.rate = rate > 0 ? rate : -1;
|
||||
mode.resolution = res > 0 ? res : -1;
|
||||
mode.accelfactor = -1;
|
||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
|
||||
if (pMse->autoProbe ||
|
||||
(protocol && xf86NameCmp(protocol, "SysMouse") == 0)) {
|
||||
/*
|
||||
* As the FreeBSD sysmouse driver defaults to protocol level 0
|
||||
* everytime it is opened we enforce protocol level 1 again at
|
||||
* this point.
|
||||
*/
|
||||
mode.level = 1;
|
||||
} else
|
||||
mode.level = -1;
|
||||
#else
|
||||
mode.level = -1;
|
||||
#endif
|
||||
ioctl(pInfo->fd, MOUSE_SETMODE, &mode);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
|
||||
|
||||
#define MOUSED_PID_FILE "/var/run/moused.pid"
|
||||
|
||||
/*
|
||||
* Try to check if moused is running. DEFAULT_SYSMOUSE_DEV is useless without
|
||||
* it. There doesn't seem to be a better way of checking.
|
||||
*/
|
||||
static Bool
|
||||
MousedRunning(void)
|
||||
{
|
||||
FILE *f = NULL;
|
||||
unsigned int pid;
|
||||
|
||||
if ((f = fopen(MOUSED_PID_FILE, "r")) != NULL) {
|
||||
if (fscanf(f, "%u", &pid) == 1 && pid > 0) {
|
||||
if (kill(pid, 0) == 0) {
|
||||
fclose(f);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
fclose(f);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static const char *
|
||||
FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
int fd = -1;
|
||||
const char **pdev, *dev = NULL;
|
||||
Bool devMouse = FALSE;
|
||||
struct stat devMouseStat;
|
||||
struct stat sb;
|
||||
|
||||
for (pdev = mouseDevs; *pdev; pdev++) {
|
||||
SYSCALL (fd = open(*pdev, O_RDWR | O_NONBLOCK));
|
||||
if (fd == -1) {
|
||||
#ifdef DEBUG
|
||||
ErrorF("Cannot open %s (%s)\n", *pdev, strerror(errno));
|
||||
#endif
|
||||
} else {
|
||||
/*
|
||||
* /dev/mouse is held until checks for matches with other devices
|
||||
* are done. This is so that when it points to /dev/sysmouse,
|
||||
* the test for whether /dev/sysmouse is usable can be made.
|
||||
*/
|
||||
if (!strcmp(*pdev, DEFAULT_MOUSE_DEV)) {
|
||||
if (fstat(fd, &devMouseStat) == 0)
|
||||
devMouse = TRUE;
|
||||
close(fd);
|
||||
continue;
|
||||
} else if (!strcmp(*pdev, DEFAULT_SYSMOUSE_DEV)) {
|
||||
/* Check if /dev/mouse is the same as /dev/sysmouse. */
|
||||
if (devMouse && fstat(fd, &sb) == 0 &&
|
||||
devMouseStat.st_dev == sb.st_dev &&
|
||||
devMouseStat.st_ino == sb.st_ino) {
|
||||
/* If the same, use /dev/sysmouse. */
|
||||
devMouse = FALSE;
|
||||
}
|
||||
close(fd);
|
||||
if (MousedRunning())
|
||||
break;
|
||||
else {
|
||||
#ifdef DEBUG
|
||||
ErrorF("moused isn't running\n");
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
close(fd);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (*pdev)
|
||||
dev = *pdev;
|
||||
else if (devMouse)
|
||||
dev = DEFAULT_MOUSE_DEV;
|
||||
|
||||
if (dev) {
|
||||
/* Set the Device option. */
|
||||
pInfo->options =
|
||||
xf86AddNewOption(pInfo->options, "Device", dev);
|
||||
xf86Msg(X_INFO, "%s: Setting Device option to \"%s\"\n",
|
||||
pInfo->name, dev);
|
||||
}
|
||||
|
||||
return *pdev;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if (defined(__OpenBSD__) || defined(__NetBSD__)) && defined(WSCONS_SUPPORT)
|
||||
|
||||
/* Only support wsmouse configuration for now */
|
||||
static const char *
|
||||
SetupAuto(InputInfoPtr pInfo, int *protoPara)
|
||||
{
|
||||
|
||||
xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
|
||||
pInfo->name, "wsmouse");
|
||||
return "wsmouse";
|
||||
}
|
||||
|
||||
static void
|
||||
SetMouseRes(InputInfoPtr pInfo, const char *protocol, int rate, int res)
|
||||
{
|
||||
|
||||
xf86MsgVerb(X_INFO, 3, "%s: SetMouseRes: protocol %s rate %d res %d\n",
|
||||
pInfo->name, protocol, rate, res);
|
||||
}
|
||||
|
||||
static const char *
|
||||
FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
int fd = -1;
|
||||
const char **pdev;
|
||||
|
||||
for (pdev = mouseDevs; *pdev; pdev++) {
|
||||
SYSCALL(fd = open(*pdev, O_RDWR | O_NONBLOCK));
|
||||
if (fd != -1) {
|
||||
/* Set the Device option. */
|
||||
pInfo->options =
|
||||
xf86AddNewOption(pInfo->options,
|
||||
"Device", *pdev);
|
||||
xf86Msg(X_INFO, "%s: found Device \"%s\"\n",
|
||||
pInfo->name, *pdev);
|
||||
close(fd);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return *pdev;
|
||||
}
|
||||
#endif /* __OpenBSD__ || __NetBSD__ && WSCONS_SUPPORT */
|
||||
|
||||
#ifdef WSCONS_SUPPORT
|
||||
#define NUMEVENTS 64
|
||||
|
||||
static void
|
||||
wsconsReadInput(InputInfoPtr pInfo)
|
||||
{
|
||||
MouseDevPtr pMse;
|
||||
static struct wscons_event eventList[NUMEVENTS];
|
||||
int n, c;
|
||||
struct wscons_event *event = eventList;
|
||||
unsigned char *pBuf;
|
||||
|
||||
pMse = pInfo->private;
|
||||
|
||||
XisbBlockDuration(pMse->buffer, -1);
|
||||
pBuf = (unsigned char *)eventList;
|
||||
n = 0;
|
||||
while (n < sizeof(eventList) && (c = XisbRead(pMse->buffer)) >= 0) {
|
||||
pBuf[n++] = (unsigned char)c;
|
||||
}
|
||||
|
||||
if (n == 0)
|
||||
return;
|
||||
|
||||
n /= sizeof(struct wscons_event);
|
||||
while( n-- ) {
|
||||
int buttons = pMse->lastButtons;
|
||||
int dx = 0, dy = 0, dz = 0, dw = 0, x, y;
|
||||
switch (event->type) {
|
||||
case WSCONS_EVENT_MOUSE_UP:
|
||||
#define BUTBIT (1 << (event->value <= 2 ? 2 - event->value : event->value))
|
||||
buttons &= ~BUTBIT;
|
||||
break;
|
||||
case WSCONS_EVENT_MOUSE_DOWN:
|
||||
buttons |= BUTBIT;
|
||||
break;
|
||||
case WSCONS_EVENT_MOUSE_DELTA_X:
|
||||
dx = event->value;
|
||||
break;
|
||||
case WSCONS_EVENT_MOUSE_DELTA_Y:
|
||||
dy = -event->value;
|
||||
break;
|
||||
#ifdef WSCONS_EVENT_MOUSE_DELTA_Z
|
||||
case WSCONS_EVENT_MOUSE_DELTA_Z:
|
||||
dz = event->value;
|
||||
break;
|
||||
#endif
|
||||
#ifdef WSCONS_EVENT_MOUSE_DELTA_W
|
||||
case WSCONS_EVENT_MOUSE_DELTA_W:
|
||||
dw = event->value;
|
||||
break;
|
||||
#endif
|
||||
case WSCONS_EVENT_MOUSE_ABSOLUTE_X:
|
||||
x = event->value;
|
||||
xf86PostMotionEvent(pInfo->dev, TRUE, 0, 1, x);
|
||||
++event;
|
||||
continue;
|
||||
case WSCONS_EVENT_MOUSE_ABSOLUTE_Y:
|
||||
y = event->value;
|
||||
xf86PostMotionEvent(pInfo->dev, TRUE, 1, 1, y);
|
||||
++event;
|
||||
continue;
|
||||
#ifdef WSCONS_EVENT_MOUSE_ABSOLUTE_Z
|
||||
case WSCONS_EVENT_MOUSE_ABSOLUTE_Z:
|
||||
++event;
|
||||
continue;
|
||||
#endif
|
||||
#ifdef WSCONS_EVENT_MOUSE_ABSOLUTE_W
|
||||
case WSCONS_EVENT_MOUSE_ABSOLUTE_W:
|
||||
++event;
|
||||
continue;
|
||||
#endif
|
||||
default:
|
||||
LogMessageVerbSigSafe(X_WARNING, -1,
|
||||
"%s: bad wsmouse event type=%d\n", pInfo->name,
|
||||
event->type);
|
||||
++event;
|
||||
continue;
|
||||
}
|
||||
|
||||
pMse->PostEvent(pInfo, buttons, dx, dy, dz, dw);
|
||||
++event;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/* This function is called when the protocol is "wsmouse". */
|
||||
static Bool
|
||||
wsconsPreInit(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
MouseDevPtr pMse = pInfo->private;
|
||||
|
||||
/* Setup the local input proc. */
|
||||
pInfo->read_input = wsconsReadInput;
|
||||
pMse->xisbscale = sizeof(struct wscons_event);
|
||||
|
||||
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
|
||||
pInfo->flags |= XI86_CONFIGURED;
|
||||
#endif
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(USBMOUSE_SUPPORT)
|
||||
|
||||
typedef struct _UsbMseRec {
|
||||
int packetSize;
|
||||
int iid;
|
||||
hid_item_t loc_x; /* x locator item */
|
||||
hid_item_t loc_y; /* y locator item */
|
||||
hid_item_t loc_z; /* z (wheel) locator item */
|
||||
hid_item_t loc_w; /* z (wheel) locator item */
|
||||
hid_item_t loc_btn[MSE_MAXBUTTONS]; /* buttons locator items */
|
||||
unsigned char *buffer;
|
||||
} UsbMseRec, *UsbMsePtr;
|
||||
|
||||
static int
|
||||
usbMouseProc(DeviceIntPtr pPointer, int what)
|
||||
{
|
||||
InputInfoPtr pInfo;
|
||||
MouseDevPtr pMse;
|
||||
UsbMsePtr pUsbMse;
|
||||
unsigned char map[MSE_MAXBUTTONS + 1];
|
||||
int nbuttons;
|
||||
|
||||
pInfo = pPointer->public.devicePrivate;
|
||||
pMse = pInfo->private;
|
||||
pMse->device = pPointer;
|
||||
pUsbMse = pMse->mousePriv;
|
||||
|
||||
switch (what) {
|
||||
case DEVICE_INIT:
|
||||
pPointer->public.on = FALSE;
|
||||
|
||||
for (nbuttons = 0; nbuttons < MSE_MAXBUTTONS; ++nbuttons)
|
||||
map[nbuttons + 1] = nbuttons + 1;
|
||||
|
||||
InitPointerDeviceStruct((DevicePtr)pPointer,
|
||||
map,
|
||||
min(pMse->buttons, MSE_MAXBUTTONS),
|
||||
miPointerGetMotionEvents,
|
||||
pMse->Ctrl,
|
||||
miPointerGetMotionBufferSize());
|
||||
|
||||
/* X valuator */
|
||||
xf86InitValuatorAxisStruct(pPointer, 0, 0, -1, 1, 0, 1);
|
||||
xf86InitValuatorDefaults(pPointer, 0);
|
||||
/* Y valuator */
|
||||
xf86InitValuatorAxisStruct(pPointer, 1, 0, -1, 1, 0, 1);
|
||||
xf86InitValuatorDefaults(pPointer, 1);
|
||||
xf86MotionHistoryAllocate(pInfo);
|
||||
break;
|
||||
|
||||
case DEVICE_ON:
|
||||
pInfo->fd = xf86OpenSerial(pInfo->options);
|
||||
if (pInfo->fd == -1)
|
||||
xf86Msg(X_WARNING, "%s: cannot open input device\n", pInfo->name);
|
||||
else {
|
||||
pMse->buffer = XisbNew(pInfo->fd, pUsbMse->packetSize);
|
||||
if (!pMse->buffer) {
|
||||
free(pMse);
|
||||
xf86CloseSerial(pInfo->fd);
|
||||
pInfo->fd = -1;
|
||||
} else {
|
||||
xf86FlushInput(pInfo->fd);
|
||||
if (!xf86InstallSIGIOHandler (pInfo->fd, usbSigioReadInput,
|
||||
pInfo))
|
||||
AddEnabledDevice(pInfo->fd);
|
||||
}
|
||||
}
|
||||
pMse->lastButtons = 0;
|
||||
pMse->lastMappedButtons = 0;
|
||||
pMse->emulateState = 0;
|
||||
pPointer->public.on = TRUE;
|
||||
break;
|
||||
|
||||
case DEVICE_OFF:
|
||||
case DEVICE_CLOSE:
|
||||
if (pInfo->fd != -1) {
|
||||
RemoveEnabledDevice(pInfo->fd);
|
||||
if (pUsbMse->packetSize > 8 && pUsbMse->buffer) {
|
||||
free(pUsbMse->buffer);
|
||||
}
|
||||
if (pMse->buffer) {
|
||||
XisbFree(pMse->buffer);
|
||||
pMse->buffer = NULL;
|
||||
}
|
||||
xf86CloseSerial(pInfo->fd);
|
||||
pInfo->fd = -1;
|
||||
}
|
||||
pPointer->public.on = FALSE;
|
||||
usleep(300000);
|
||||
break;
|
||||
|
||||
default:
|
||||
return BadValue;
|
||||
}
|
||||
return Success;
|
||||
}
|
||||
|
||||
static void
|
||||
usbReadInput(InputInfoPtr pInfo)
|
||||
{
|
||||
MouseDevPtr pMse;
|
||||
UsbMsePtr pUsbMse;
|
||||
int buttons = pMse->lastButtons;
|
||||
int dx = 0, dy = 0, dz = 0, dw = 0;
|
||||
int n, c;
|
||||
unsigned char *pBuf;
|
||||
|
||||
pMse = pInfo->private;
|
||||
pUsbMse = pMse->mousePriv;
|
||||
|
||||
XisbBlockDuration(pMse->buffer, -1);
|
||||
pBuf = pUsbMse->buffer;
|
||||
n = 0;
|
||||
while ((c = XisbRead(pMse->buffer)) >= 0 && n < pUsbMse->packetSize) {
|
||||
pBuf[n++] = (unsigned char)c;
|
||||
}
|
||||
if (n == 0)
|
||||
return;
|
||||
if (n != pUsbMse->packetSize) {
|
||||
LogMessageVerbSigSafe(X_WARNING, -1,
|
||||
"%s: incomplete packet, size %d\n",
|
||||
pInfo->name, n);
|
||||
}
|
||||
/* discard packets with an id that don't match the mouse */
|
||||
/* XXX this is probably not the right thing */
|
||||
if (pUsbMse->iid != 0) {
|
||||
if (*pBuf++ != pUsbMse->iid)
|
||||
return;
|
||||
}
|
||||
dx = hid_get_data(pBuf, &pUsbMse->loc_x);
|
||||
dy = hid_get_data(pBuf, &pUsbMse->loc_y);
|
||||
dz = hid_get_data(pBuf, &pUsbMse->loc_z);
|
||||
dw = hid_get_data(pBuf, &pUsbMse->loc_w);
|
||||
|
||||
buttons = 0;
|
||||
for (n = 0; n < pMse->buttons; n++) {
|
||||
if (hid_get_data(pBuf, &pUsbMse->loc_btn[n]))
|
||||
buttons |= (1 << UMS_BUT(n));
|
||||
}
|
||||
pMse->PostEvent(pInfo, buttons, dx, dy, dz, dw);
|
||||
return;
|
||||
}
|
||||
|
||||
static void
|
||||
usbSigioReadInput (int fd, void *closure)
|
||||
{
|
||||
usbReadInput ((InputInfoPtr) closure);
|
||||
}
|
||||
|
||||
/* This function is called when the protocol is "usb". */
|
||||
static Bool
|
||||
usbPreInit(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
MouseDevPtr pMse = pInfo->private;
|
||||
UsbMsePtr pUsbMse;
|
||||
report_desc_t reportDesc;
|
||||
int i;
|
||||
|
||||
pUsbMse = malloc(sizeof(UsbMseRec));
|
||||
if (pUsbMse == NULL) {
|
||||
xf86Msg(X_ERROR, "%s: cannot allocate UsbMouseRec\n", pInfo->name);
|
||||
free(pMse);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
pMse->protocol = protocol;
|
||||
xf86Msg(X_CONFIG, "%s: Protocol: %s\n", pInfo->name, protocol);
|
||||
|
||||
/* Collect the options, and process the common options. */
|
||||
COLLECT_INPUT_OPTIONS(pInfo, NULL);
|
||||
xf86ProcessCommonOptions(pInfo, pInfo->options);
|
||||
|
||||
/* Check if the device can be opened. */
|
||||
pInfo->fd = xf86OpenSerial(pInfo->options);
|
||||
if (pInfo->fd == -1) {
|
||||
if (xf86GetAllowMouseOpenFail())
|
||||
xf86Msg(X_WARNING, "%s: cannot open input device\n", pInfo->name);
|
||||
else {
|
||||
xf86Msg(X_ERROR, "%s: cannot open input device\n", pInfo->name);
|
||||
free(pUsbMse);
|
||||
free(pMse);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
/* Get USB informations */
|
||||
reportDesc = hid_get_report_desc(pInfo->fd);
|
||||
/* Get packet size & iid */
|
||||
#ifdef USB_NEW_HID
|
||||
if (ioctl(pInfo->fd, USB_GET_REPORT_ID, &pUsbMse->iid) == -1) {
|
||||
xf86Msg(X_ERROR, "Error ioctl USB_GET_REPORT_ID on %s : %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
return FALSE;
|
||||
}
|
||||
pUsbMse->packetSize = hid_report_size(reportDesc, hid_input,
|
||||
pUsbMse->iid);
|
||||
#else
|
||||
pUsbMse->packetSize = hid_report_size(reportDesc, hid_input,
|
||||
&pUsbMse->iid);
|
||||
#endif
|
||||
/* Allocate buffer */
|
||||
if (pUsbMse->packetSize <= 8) {
|
||||
pUsbMse->buffer = pMse->protoBuf;
|
||||
} else {
|
||||
pUsbMse->buffer = malloc(pUsbMse->packetSize);
|
||||
}
|
||||
if (pUsbMse->buffer == NULL) {
|
||||
xf86Msg(X_ERROR, "%s: cannot allocate buffer\n", pInfo->name);
|
||||
free(pUsbMse);
|
||||
free(pMse);
|
||||
xf86CloseSerial(pInfo->fd);
|
||||
return FALSE;
|
||||
}
|
||||
#ifdef USB_NEW_HID
|
||||
if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_X),
|
||||
hid_input, &pUsbMse->loc_x, pUsbMse->iid) < 0) {
|
||||
xf86Msg(X_WARNING, "%s: no x locator\n", pInfo->name);
|
||||
}
|
||||
if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_Y),
|
||||
hid_input, &pUsbMse->loc_y, pUsbMse->iid) < 0) {
|
||||
xf86Msg(X_WARNING, "%s: no y locator\n", pInfo->name);
|
||||
}
|
||||
if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_WHEEL),
|
||||
hid_input, &pUsbMse->loc_z, pUsbMse->iid) < 0) {
|
||||
}
|
||||
#else
|
||||
if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_X),
|
||||
hid_input, &pUsbMse->loc_x) < 0) {
|
||||
xf86Msg(X_WARNING, "%s: no x locator\n", pInfo->name);
|
||||
}
|
||||
if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_Y),
|
||||
hid_input, &pUsbMse->loc_y) < 0) {
|
||||
xf86Msg(X_WARNING, "%s: no y locator\n", pInfo->name);
|
||||
}
|
||||
if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_WHEEL),
|
||||
hid_input, &pUsbMse->loc_z) < 0) {
|
||||
}
|
||||
#endif
|
||||
/* Probe for number of buttons */
|
||||
for (i = 1; i <= MSE_MAXBUTTONS; i++) {
|
||||
if (!hid_locate(reportDesc, HID_USAGE2(HUP_BUTTON, i),
|
||||
hid_input, &pUsbMse->loc_btn[i-1]
|
||||
#ifdef USB_NEW_HID
|
||||
, pUsbMse->iid
|
||||
#endif
|
||||
))
|
||||
break;
|
||||
}
|
||||
pMse->buttons = i-1;
|
||||
|
||||
xf86CloseSerial(pInfo->fd);
|
||||
pInfo->fd = -1;
|
||||
|
||||
/* Private structure */
|
||||
pMse->mousePriv = pUsbMse;
|
||||
|
||||
/* Process common mouse options (like Emulate3Buttons, etc). */
|
||||
pMse->CommonOptions(pInfo);
|
||||
|
||||
/* Setup the local procs. */
|
||||
pInfo->device_control = usbMouseProc;
|
||||
pInfo->read_input = usbReadInput;
|
||||
|
||||
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
|
||||
pInfo->flags |= XI86_CONFIGURED;
|
||||
#endif
|
||||
return TRUE;
|
||||
}
|
||||
#endif /* USBMOUSE */
|
||||
|
||||
static Bool
|
||||
bsdMousePreInit(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
/* The protocol is guaranteed to be one of the internalNames[] */
|
||||
#ifdef WSCONS_SUPPORT
|
||||
if (xf86NameCmp(protocol, "WSMouse") == 0) {
|
||||
return wsconsPreInit(pInfo, protocol, flags);
|
||||
}
|
||||
#endif
|
||||
#ifdef USBMOUSE_SUPPORT
|
||||
if (xf86NameCmp(protocol, "usb") == 0) {
|
||||
return usbPreInit(pInfo, protocol, flags);
|
||||
}
|
||||
#endif
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
OSMouseInfoPtr
|
||||
OSMouseInit(int flags)
|
||||
{
|
||||
OSMouseInfoPtr p;
|
||||
|
||||
p = calloc(sizeof(OSMouseInfoRec), 1);
|
||||
if (!p)
|
||||
return NULL;
|
||||
p->SupportedInterfaces = SupportedInterfaces;
|
||||
p->BuiltinNames = BuiltinNames;
|
||||
p->DefaultProtocol = DefaultProtocol;
|
||||
p->CheckProtocol = CheckProtocol;
|
||||
#if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)) && defined(MOUSE_PROTO_SYSMOUSE)
|
||||
p->SetupAuto = SetupAuto;
|
||||
p->SetPS2Res = SetSysMouseRes;
|
||||
p->SetBMRes = SetSysMouseRes;
|
||||
p->SetMiscRes = SetSysMouseRes;
|
||||
#endif
|
||||
#if (defined(__OpenBSD__) || defined(__NetBSD__)) && defined(WSCONS_SUPPORT)
|
||||
p->SetupAuto = SetupAuto;
|
||||
p->SetMiscRes = SetMouseRes;
|
||||
#endif
|
||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__NetBSD__)
|
||||
p->FindDevice = FindDevice;
|
||||
#endif
|
||||
p->PreInit = bsdMousePreInit;
|
||||
return p;
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
* Copyright 2012 Red Hat, Inc.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Author: Dave Airlie <airlied@redhat.com>
|
||||
*/
|
||||
|
||||
/* this file provides API compat between server post 1.13 and pre it,
|
||||
it should be reused inside as many drivers as possible */
|
||||
#ifndef COMPAT_API_H
|
||||
#define COMPAT_API_H
|
||||
|
||||
#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
|
||||
#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
|
||||
#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
|
||||
#endif
|
||||
|
||||
#ifndef XF86_HAS_SCRN_CONV
|
||||
#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
|
||||
#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
|
||||
#endif
|
||||
|
||||
#ifndef XF86_SCRN_INTERFACE
|
||||
|
||||
#define SCRN_ARG_TYPE int
|
||||
#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
|
||||
|
||||
#define SCREEN_ARG_TYPE int
|
||||
#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
|
||||
|
||||
#define SCREEN_INIT_ARGS_DECL int i, ScreenPtr pScreen, int argc, char **argv
|
||||
|
||||
#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask
|
||||
#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
|
||||
|
||||
#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
|
||||
#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
|
||||
|
||||
#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
|
||||
#define ADJUST_FRAME_ARGS(arg, x, y) (arg)->scrnIndex, x, y, 0
|
||||
|
||||
#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
|
||||
#define SWITCH_MODE_ARGS(arg, m) (arg)->scrnIndex, m, 0
|
||||
|
||||
#define FREE_SCREEN_ARGS_DECL int arg, int flags
|
||||
|
||||
#define VT_FUNC_ARGS_DECL int arg, int flags
|
||||
#define VT_FUNC_ARGS pScrn->scrnIndex, 0
|
||||
|
||||
#define SCRN_OR_INDEX_ARG(x) ((x)->scrnIndex)
|
||||
#else
|
||||
#define SCRN_ARG_TYPE ScrnInfoPtr
|
||||
#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
|
||||
|
||||
#define SCREEN_ARG_TYPE ScreenPtr
|
||||
#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
|
||||
|
||||
#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
|
||||
|
||||
#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask
|
||||
#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
|
||||
|
||||
#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
|
||||
#define CLOSE_SCREEN_ARGS pScreen
|
||||
|
||||
#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
|
||||
#define ADJUST_FRAME_ARGS(arg, x, y) arg, x, y
|
||||
|
||||
#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
|
||||
#define SWITCH_MODE_ARGS(arg, m) arg, m
|
||||
#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
|
||||
|
||||
#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
|
||||
#define VT_FUNC_ARGS pScrn
|
||||
|
||||
#define SCRN_OR_INDEX_ARG(x) (x)
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,255 @@
|
||||
/*
|
||||
* Copyright 1997,1998 by UCHIYAMA Yasushi
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of UCHIYAMA Yasushi not be used in
|
||||
* advertising or publicity pertaining to distribution of the software without
|
||||
* specific, written prior permission. UCHIYAMA Yasushi makes no representations
|
||||
* about the suitability of this software for any purpose. It is provided
|
||||
* "as is" without express or implied warranty.
|
||||
*
|
||||
* UCHIYAMA YASUSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
* EVENT SHALL UCHIYAMA YASUSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#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"
|
||||
#include "scrnintstr.h"
|
||||
#include "mipointer.h"
|
||||
|
||||
#include "xf86.h"
|
||||
#include "xf86Xinput.h"
|
||||
#include "mouse.h"
|
||||
#include "xf86_OSlib.h"
|
||||
#include "xisb.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/file.h>
|
||||
#include <assert.h>
|
||||
#include <mach.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
#define DEFAULT_MOUSE_DEV "/dev/mouse"
|
||||
|
||||
typedef unsigned short kev_type; /* kd event type */
|
||||
typedef unsigned char Scancode;
|
||||
|
||||
struct mouse_motion {
|
||||
short mm_deltaX; /* units? */
|
||||
short mm_deltaY;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
kev_type type; /* see below */
|
||||
struct timeval time; /* timestamp */
|
||||
union { /* value associated with event */
|
||||
boolean_t up; /* MOUSE_LEFT .. MOUSE_RIGHT */
|
||||
Scancode sc; /* KEYBD_EVENT */
|
||||
struct mouse_motion mmotion; /* MOUSE_MOTION */
|
||||
} value;
|
||||
} kd_event;
|
||||
|
||||
/*
|
||||
* kd_event ID's.
|
||||
*/
|
||||
#define MOUSE_LEFT 1 /* mouse left button up/down */
|
||||
#define MOUSE_MIDDLE 2
|
||||
#define MOUSE_RIGHT 3
|
||||
#define MOUSE_MOTION 4 /* mouse motion */
|
||||
#define KEYBD_EVENT 5 /* key up/down */
|
||||
|
||||
#define NUMEVENTS 64
|
||||
|
||||
/*
|
||||
* OsMouseReadInput --
|
||||
* Get some events from our queue. Process all outstanding events now.
|
||||
*/
|
||||
static void
|
||||
OsMouseReadInput(InputInfoPtr pInfo)
|
||||
{
|
||||
MouseDevPtr pMse;
|
||||
static kd_event eventList[NUMEVENTS];
|
||||
static int remainder = 0;
|
||||
int n, c;
|
||||
kd_event *event = eventList;
|
||||
unsigned char *pBuf;
|
||||
|
||||
pMse = pInfo->private;
|
||||
|
||||
XisbBlockDuration(pMse->buffer, -1);
|
||||
pBuf = (unsigned char *)eventList;
|
||||
n = remainder;
|
||||
while (n < sizeof(eventList) && (c = XisbRead(pMse->buffer)) >= 0)
|
||||
pBuf[n++] = (unsigned char)c;
|
||||
|
||||
if (n == remainder)
|
||||
return;
|
||||
|
||||
remainder = n % sizeof(kd_event);
|
||||
n /= sizeof(kd_event);
|
||||
while( n-- ) {
|
||||
int buttons = pMse->lastButtons;
|
||||
int dx = 0, dy = 0;
|
||||
switch (event->type) {
|
||||
case MOUSE_RIGHT:
|
||||
buttons = (buttons & 6) |(event->value.up ? 0 : 1);
|
||||
break;
|
||||
case MOUSE_MIDDLE:
|
||||
buttons = (buttons & 5) |(event->value.up ? 0 : 2);
|
||||
break;
|
||||
case MOUSE_LEFT:
|
||||
buttons = (buttons & 3) |(event->value.up ? 0 : 4) ;
|
||||
break;
|
||||
case MOUSE_MOTION:
|
||||
dx = event->value.mmotion.mm_deltaX;
|
||||
dy = - event->value.mmotion.mm_deltaY;
|
||||
break;
|
||||
default:
|
||||
LogMessageVerbSigSafe(X_ERROR, -1, "Bad mouse event (%d)\n",event->type);
|
||||
continue;
|
||||
}
|
||||
pMse->PostEvent(pInfo, buttons, dx, dy, 0, 0);
|
||||
++event;
|
||||
}
|
||||
memcpy(eventList, event, remainder);
|
||||
return;
|
||||
}
|
||||
|
||||
static Bool
|
||||
OsMousePreInit(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
MouseDevPtr pMse;
|
||||
|
||||
/* This is called when the protocol is "OSMouse". */
|
||||
|
||||
pMse = pInfo->private;
|
||||
pMse->protocol = protocol;
|
||||
xf86Msg(X_CONFIG, "%s: Protocol: %s\n", pInfo->name, protocol);
|
||||
|
||||
/* Collect the options, and process the common options. */
|
||||
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
|
||||
/* need some special handling here. xf86CollectInputOptions will reset
|
||||
* pInfo->options. To re-merge the previously set arguments, pass the
|
||||
* original pInfo->options in.
|
||||
*/
|
||||
xf86CollectInputOptions(pInfo, NULL, pInfo->options);
|
||||
#else
|
||||
COLLECT_INPUT_OPTIONS(pInfo, NULL);
|
||||
#endif
|
||||
xf86ProcessCommonOptions(pInfo, pInfo->options);
|
||||
|
||||
/* Check if the device can be opened. */
|
||||
pInfo->fd = xf86OpenSerial(pInfo->options);
|
||||
if (pInfo->fd == -1) {
|
||||
if (xf86GetAllowMouseOpenFail())
|
||||
xf86Msg(X_WARNING, "%s: cannot open input device\n", pInfo->name);
|
||||
else {
|
||||
xf86Msg(X_ERROR, "%s: cannot open input device\n", pInfo->name);
|
||||
free(pMse);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
xf86CloseSerial(pInfo->fd);
|
||||
pInfo->fd = -1;
|
||||
|
||||
/* Process common mouse options (like Emulate3Buttons, etc). */
|
||||
pMse->CommonOptions(pInfo);
|
||||
|
||||
/* Setup the local procs. */
|
||||
pInfo->read_input = OsMouseReadInput;
|
||||
|
||||
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
|
||||
pInfo->flags |= XI86_CONFIGURED;
|
||||
#endif
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static const char *
|
||||
FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
static const char path[] = DEFAULT_MOUSE_DEV;
|
||||
int fd;
|
||||
|
||||
SYSCALL (fd = open(path, O_RDWR | O_NONBLOCK | O_EXCL));
|
||||
|
||||
if (fd == -1)
|
||||
return NULL;
|
||||
|
||||
close(fd);
|
||||
pInfo->options =
|
||||
xf86AddNewOption(pInfo->options, "Device", path);
|
||||
xf86Msg(X_INFO, "%s: Setting Device option to \"%s\"\n", pInfo->name,
|
||||
path);
|
||||
|
||||
return path;
|
||||
}
|
||||
|
||||
static int
|
||||
SupportedInterfaces(void)
|
||||
{
|
||||
/* XXX Need to check this. */
|
||||
return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_XPS2 | MSE_AUTO;
|
||||
}
|
||||
|
||||
static const char *internalNames[] = {
|
||||
"OSMouse",
|
||||
NULL
|
||||
};
|
||||
|
||||
static const char **
|
||||
BuiltinNames(void)
|
||||
{
|
||||
return internalNames;
|
||||
}
|
||||
|
||||
static Bool
|
||||
CheckProtocol(const char *protocol)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; internalNames[i]; i++)
|
||||
if (xf86NameCmp(protocol, internalNames[i]) == 0)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static const char *
|
||||
DefaultProtocol(void)
|
||||
{
|
||||
return "OSMouse";
|
||||
}
|
||||
|
||||
OSMouseInfoPtr
|
||||
OSMouseInit(int flags)
|
||||
{
|
||||
OSMouseInfoPtr p;
|
||||
|
||||
p = calloc(sizeof(OSMouseInfoRec), 1);
|
||||
if (!p)
|
||||
return NULL;
|
||||
p->SupportedInterfaces = SupportedInterfaces;
|
||||
p->BuiltinNames = BuiltinNames;
|
||||
p->FindDevice = FindDevice;
|
||||
p->DefaultProtocol = DefaultProtocol;
|
||||
p->CheckProtocol = CheckProtocol;
|
||||
p->PreInit = OsMousePreInit;
|
||||
return p;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,222 @@
|
||||
|
||||
/*
|
||||
* Copyright 1999 by The XFree86 Project, Inc.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <X11/X.h>
|
||||
#include "xf86.h"
|
||||
#include "xf86Xinput.h"
|
||||
#include "mouse.h"
|
||||
#include "xf86_OSlib.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
static int
|
||||
SupportedInterfaces(void)
|
||||
{
|
||||
return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_XPS2 | MSE_AUTO;
|
||||
}
|
||||
|
||||
static const char *
|
||||
DefaultProtocol(void)
|
||||
{
|
||||
return "Auto";
|
||||
}
|
||||
|
||||
#define DEFAULT_MOUSE_DEV "/dev/input/mice"
|
||||
#define DEFAULT_PS2_DEV "/dev/psaux"
|
||||
#define DEFAULT_GPM_DATA_DEV "/dev/gpmdata"
|
||||
#define DEFAULT_GPM_CTL_DEV "/dev/gpmdata"
|
||||
|
||||
static const char *mouseDevs[] = {
|
||||
DEFAULT_MOUSE_DEV,
|
||||
DEFAULT_PS2_DEV,
|
||||
DEFAULT_GPM_DATA_DEV,
|
||||
NULL
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
MOUSE_PROTO_UNKNOWN = 0,
|
||||
MOUSE_PROTO_SERIAL,
|
||||
MOUSE_PROTO_PS2,
|
||||
MOUSE_PROTO_MSC,
|
||||
MOUSE_PROTO_GPM,
|
||||
MOUSE_PROTO_EXPPS2,
|
||||
} protocolTypes;
|
||||
|
||||
static struct {
|
||||
protocolTypes proto;
|
||||
const char *name;
|
||||
} devproto[] = {
|
||||
{ MOUSE_PROTO_UNKNOWN, NULL },
|
||||
{ MOUSE_PROTO_PS2, "PS/2" },
|
||||
{ MOUSE_PROTO_MSC, "MouseSystems" },
|
||||
{ MOUSE_PROTO_GPM, "GPM" },
|
||||
{ MOUSE_PROTO_EXPPS2, "ExplorerPS/2" },
|
||||
};
|
||||
|
||||
static const char *
|
||||
FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
int fd = -1;
|
||||
const char **pdev;
|
||||
|
||||
for (pdev = mouseDevs; *pdev; pdev++) {
|
||||
SYSCALL (fd = open(*pdev, O_RDWR | O_NONBLOCK | O_EXCL));
|
||||
if (fd == -1) {
|
||||
#ifdef DEBUG
|
||||
ErrorF("Cannot open %s (%s)\n", *pdev, strerror(errno));
|
||||
#endif
|
||||
} else
|
||||
break;
|
||||
}
|
||||
|
||||
if (*pdev) {
|
||||
close(fd);
|
||||
/* Set the Device option. */
|
||||
pInfo->options =
|
||||
xf86AddNewOption(pInfo->options, "Device", *pdev);
|
||||
xf86Msg(X_INFO, "%s: Setting Device option to \"%s\"\n",
|
||||
pInfo->name, *pdev);
|
||||
}
|
||||
|
||||
return *pdev;
|
||||
}
|
||||
|
||||
static const char *
|
||||
lnxMouseMagic(InputInfoPtr pInfo)
|
||||
{
|
||||
int fd = -1;
|
||||
const char *dev;
|
||||
char *realdev;
|
||||
struct stat sbuf;
|
||||
int i;
|
||||
int proto = MOUSE_PROTO_UNKNOWN;
|
||||
|
||||
dev = xf86SetStrOption(pInfo->options, "Device", NULL);
|
||||
if (!dev) {
|
||||
#ifdef DEBUG
|
||||
ErrorF("xf86SetStrOption failed to return the device name\n");
|
||||
#endif
|
||||
return NULL;
|
||||
}
|
||||
/* Look at the device name to guess the protocol. */
|
||||
realdev = NULL;
|
||||
if (strcmp(dev, DEFAULT_MOUSE_DEV) == 0) {
|
||||
if (lstat(dev, &sbuf) != 0) {
|
||||
#ifdef DEBUG
|
||||
ErrorF("lstat failed for %s (%s)\n", dev, strerror(errno));
|
||||
#endif
|
||||
return NULL;
|
||||
}
|
||||
if (S_ISLNK(sbuf.st_mode)) {
|
||||
realdev = xnfalloc(PATH_MAX + 1);
|
||||
i = readlink(dev, realdev, PATH_MAX);
|
||||
if (i <= 0) {
|
||||
#ifdef DEBUG
|
||||
ErrorF("readlink failed for %s (%s)\n", dev, strerror(errno));
|
||||
#endif
|
||||
free(realdev);
|
||||
return NULL;
|
||||
}
|
||||
realdev[i] = '\0';
|
||||
}
|
||||
}
|
||||
if (!realdev)
|
||||
realdev = xnfstrdup(dev);
|
||||
else {
|
||||
/* If realdev doesn't contain a '/' then prepend "/dev/" */
|
||||
if (!strchr(realdev, '/')) {
|
||||
char *tmp = xnfalloc(strlen(realdev) + 5 + 1);
|
||||
sprintf(tmp, "/dev/%s", realdev);
|
||||
free(realdev);
|
||||
realdev = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
if (strcmp(realdev, DEFAULT_MOUSE_DEV) == 0)
|
||||
proto = MOUSE_PROTO_EXPPS2;
|
||||
else if (strcmp(realdev, DEFAULT_PS2_DEV) == 0)
|
||||
proto = MOUSE_PROTO_EXPPS2;
|
||||
else if (strcmp(realdev, DEFAULT_GPM_DATA_DEV) == 0)
|
||||
proto = MOUSE_PROTO_MSC;
|
||||
else if (strcmp(realdev, DEFAULT_GPM_CTL_DEV) == 0)
|
||||
proto = MOUSE_PROTO_GPM;
|
||||
free(realdev);
|
||||
/*
|
||||
* If the protocol can't be guessed from the device name,
|
||||
* try to characterise it.
|
||||
*/
|
||||
if (proto == MOUSE_PROTO_UNKNOWN) {
|
||||
SYSCALL (fd = open(dev, O_RDWR | O_NONBLOCK | O_EXCL));
|
||||
if (isatty(fd)) {
|
||||
/* Serial PnP has already failed, so give up. */
|
||||
} else {
|
||||
if (fstat(fd, &sbuf) != 0) {
|
||||
#ifdef DEBUG
|
||||
ErrorF("fstat failed for %s (%s)\n", dev, strerror(errno));
|
||||
#endif
|
||||
close(fd);
|
||||
return NULL;
|
||||
}
|
||||
if (S_ISFIFO(sbuf.st_mode)) {
|
||||
/* Assume GPM data in MSC format. */
|
||||
proto = MOUSE_PROTO_MSC;
|
||||
} else {
|
||||
/* Default to PS/2 */
|
||||
proto = MOUSE_PROTO_PS2;
|
||||
}
|
||||
}
|
||||
close(fd);
|
||||
}
|
||||
if (proto == MOUSE_PROTO_UNKNOWN) {
|
||||
xf86Msg(X_ERROR, "%s: Cannot find mouse protocol.\n",
|
||||
pInfo->name);
|
||||
return NULL;
|
||||
} else {
|
||||
for (i = 0; i < sizeof(devproto)/sizeof(devproto[0]); i++) {
|
||||
if (devproto[i].proto == proto) {
|
||||
xf86Msg(X_INFO,
|
||||
"%s: Setting mouse protocol to \"%s\"\n",
|
||||
pInfo->name, devproto[i].name);
|
||||
return devproto[i].name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static const char *
|
||||
GuessProtocol(InputInfoPtr pInfo, int flags)
|
||||
{
|
||||
return lnxMouseMagic(pInfo);
|
||||
}
|
||||
|
||||
static const char *
|
||||
SetupAuto(InputInfoPtr pInfo, int *protoPara)
|
||||
{
|
||||
return lnxMouseMagic(pInfo);
|
||||
}
|
||||
|
||||
OSMouseInfoPtr
|
||||
OSMouseInit(int flags)
|
||||
{
|
||||
OSMouseInfoPtr p;
|
||||
|
||||
p = calloc(sizeof(OSMouseInfoRec), 1);
|
||||
if (!p)
|
||||
return NULL;
|
||||
p->SupportedInterfaces = SupportedInterfaces;
|
||||
p->DefaultProtocol = DefaultProtocol;
|
||||
p->FindDevice = FindDevice;
|
||||
p->GuessProtocol = GuessProtocol;
|
||||
p->SetupAuto = SetupAuto;
|
||||
return p;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,267 @@
|
||||
/*
|
||||
* Copyright (c) 1999-2003 by The XFree86 Project, Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) 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 holder(s)
|
||||
* and author(s) 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 holder(s) and author(s).
|
||||
*/
|
||||
|
||||
/* Public interface to OS-specific mouse support. */
|
||||
|
||||
#ifndef _XF86OSMOUSE_H_
|
||||
#define _XF86OSMOUSE_H_
|
||||
|
||||
#include "xf86Xinput.h"
|
||||
|
||||
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
|
||||
#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options), NULL)
|
||||
#else
|
||||
#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options))
|
||||
#endif
|
||||
|
||||
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 18
|
||||
#define LogMessageVerbSigSafe LogMessageVerb
|
||||
#endif
|
||||
|
||||
/* Mouse interface classes */
|
||||
#define MSE_NONE 0x00
|
||||
#define MSE_SERIAL 0x01 /* serial port */
|
||||
#define MSE_BUS 0x02 /* old bus mouse */
|
||||
#define MSE_PS2 0x04 /* standard read-only PS/2 */
|
||||
#define MSE_XPS2 0x08 /* extended PS/2 */
|
||||
#define MSE_AUTO 0x10 /* auto-detect (PnP) */
|
||||
#define MSE_MISC 0x20 /* The OS layer will identify the
|
||||
* specific protocol names that are
|
||||
* supported for this class. */
|
||||
|
||||
/* Mouse Protocol IDs. */
|
||||
typedef enum {
|
||||
PROT_UNKNOWN = -2,
|
||||
PROT_UNSUP = -1, /* protocol is not supported */
|
||||
PROT_MS = 0,
|
||||
PROT_MSC,
|
||||
PROT_MM,
|
||||
PROT_LOGI,
|
||||
PROT_LOGIMAN,
|
||||
PROT_MMHIT,
|
||||
PROT_GLIDE,
|
||||
PROT_IMSERIAL,
|
||||
PROT_THINKING,
|
||||
PROT_ACECAD,
|
||||
PROT_VALUMOUSESCROLL,
|
||||
PROT_PS2,
|
||||
PROT_GENPS2,
|
||||
PROT_IMPS2,
|
||||
PROT_EXPPS2,
|
||||
PROT_THINKPS2,
|
||||
PROT_MMPS2,
|
||||
PROT_GLIDEPS2,
|
||||
PROT_NETPS2,
|
||||
PROT_NETSCPS2,
|
||||
PROT_BM,
|
||||
PROT_AUTO,
|
||||
PROT_SYSMOUSE,
|
||||
PROT_WSMOUSE,
|
||||
PROT_VUID,
|
||||
PROT_NUMPROTOS /* This must always be last. */
|
||||
} MouseProtocolID;
|
||||
|
||||
struct _MouseDevRec;
|
||||
|
||||
typedef int (*GetInterfaceTypesProc)(void);
|
||||
typedef const char **(*BuiltinNamesProc)(void);
|
||||
typedef Bool (*CheckProtocolProc)(const char *protocol);
|
||||
typedef Bool (*BuiltinPreInitProc)(InputInfoPtr pInfo, const char *protocol,
|
||||
int flags);
|
||||
typedef const char *(*DefaultProtocolProc)(void);
|
||||
typedef const char *(*SetupAutoProc)(InputInfoPtr pInfo, int *protoPara);
|
||||
typedef void (*SetResProc)(InputInfoPtr pInfo, const char* protocol, int rate,
|
||||
int res);
|
||||
typedef const char *(*FindDeviceProc)(InputInfoPtr pInfo, const char *protocol,
|
||||
int flags);
|
||||
typedef const char *(*GuessProtocolProc)(InputInfoPtr pInfo, int flags);
|
||||
|
||||
/*
|
||||
* OSMouseInfoRec is used to pass information from the OSMouse layer to the
|
||||
* OS-independent mouse driver.
|
||||
*/
|
||||
typedef struct {
|
||||
GetInterfaceTypesProc SupportedInterfaces;
|
||||
BuiltinNamesProc BuiltinNames;
|
||||
CheckProtocolProc CheckProtocol;
|
||||
BuiltinPreInitProc PreInit;
|
||||
DefaultProtocolProc DefaultProtocol;
|
||||
SetupAutoProc SetupAuto;
|
||||
SetResProc SetPS2Res;
|
||||
SetResProc SetBMRes;
|
||||
SetResProc SetMiscRes;
|
||||
FindDeviceProc FindDevice;
|
||||
GuessProtocolProc GuessProtocol;
|
||||
} OSMouseInfoRec, *OSMouseInfoPtr;
|
||||
|
||||
/*
|
||||
* SupportedInterfaces: Returns the mouse interface types that the OS support.
|
||||
* If MSE_MISC is returned, then the BuiltinNames and
|
||||
* CheckProtocol should be set.
|
||||
*
|
||||
* BuiltinNames: Returns the names of the protocols that are fully handled
|
||||
* in the OS-specific code. These are names that don't appear
|
||||
* directly in the main "mouse" driver.
|
||||
*
|
||||
* CheckProtocol: Checks if the protocol name given is supported by the
|
||||
* OS. It should return TRUE for both "builtin" protocols and
|
||||
* protocols of type MSE_MISC that are supported by the OS.
|
||||
*
|
||||
* PreInit: The PreInit function for protocols that are builtin. This
|
||||
* function is passed the protocol name.
|
||||
*
|
||||
* DefaultProtocol: Returns the name of a default protocol that should be used
|
||||
* for the OS when none has been supplied in the config file.
|
||||
* This should only be set when there is a reasonable default.
|
||||
*
|
||||
* SetupAuto: This function can be used to do OS-specific protocol
|
||||
* auto-detection. It returns the name of the detected protocol,
|
||||
* or NULL when detection fails. It may also adjust one or more
|
||||
* of the "protoPara" values for the detected protocol by setting
|
||||
* then to something other than -1. SetupAuto gets called in two
|
||||
* ways. The first is before any devices have been opened. This
|
||||
* can be used when the protocol "Auto" always maps to a single
|
||||
* protocol type. The second is with the device open, allowing
|
||||
* OS-specific probing to be done.
|
||||
*
|
||||
* SetPS2Res: Set the resolution and sample rate for MSE_PS2 and MSE_XPS2
|
||||
* protocol types.
|
||||
*
|
||||
* SetBMRes: Set the resolution and sample rate for MSE_BM protocol types.
|
||||
*
|
||||
* SetMiscRes: Set the resolution and sample rate for MSE_MISC protocol types.
|
||||
*
|
||||
* FindDevice: This function gets called when no Device has been specified
|
||||
* in the config file. OS-specific methods may be used to guess
|
||||
* which input device to use. This function is called after the
|
||||
* pre-open attempts at protocol discovery are done, but before
|
||||
* the device is open. I.e., after the first SetupAuto() call,
|
||||
* after the DefaultProtocol() call, but before the PreInit()
|
||||
* call. Available protocol information may be used in locating
|
||||
* the default input device.
|
||||
*
|
||||
* GuessProtocol: A last resort attempt at guessing the mouse protocol by
|
||||
* whatever OS-specific means might be available. OS-independent
|
||||
* things should be in the mouse driver. This function gets
|
||||
* called after the mouse driver's OS-independent methods have
|
||||
* failed.
|
||||
*/
|
||||
|
||||
extern OSMouseInfoPtr OSMouseInit(int flags);
|
||||
|
||||
/* Z axis mapping */
|
||||
#define MSE_NOZMAP 0
|
||||
#define MSE_MAPTOX -1
|
||||
#define MSE_MAPTOY -2
|
||||
#define MSE_MAPTOZ -3
|
||||
#define MSE_MAPTOW -4
|
||||
|
||||
/* Generalize for other axes. */
|
||||
#define MSE_NOAXISMAP MSE_NOZMAP
|
||||
|
||||
#define MSE_MAXBUTTONS 24
|
||||
#define MSE_DFLTBUTTONS 3
|
||||
|
||||
/*
|
||||
* Mouse device record. This is shared by the mouse driver and the OSMouse
|
||||
* layer.
|
||||
*/
|
||||
|
||||
typedef void (*checkMovementsProc)(InputInfoPtr,int, int);
|
||||
typedef void (*autoProbeProc)(InputInfoPtr, Bool, Bool);
|
||||
typedef Bool (*collectDataProc)(struct _MouseDevRec *, unsigned char);
|
||||
typedef Bool (*dataGoodProc)(struct _MouseDevRec *);
|
||||
|
||||
typedef void (*PostMseEventProc)(InputInfoPtr pInfo, int buttons,
|
||||
int dx, int dy, int dz, int dw);
|
||||
typedef void (*MouseCommonOptProc)(InputInfoPtr pInfo);
|
||||
|
||||
typedef struct _MouseDevRec {
|
||||
PtrCtrlProcPtr Ctrl;
|
||||
PostMseEventProc PostEvent;
|
||||
MouseCommonOptProc CommonOptions;
|
||||
DeviceIntPtr device;
|
||||
const char * protocol;
|
||||
MouseProtocolID protocolID;
|
||||
MouseProtocolID oldProtocolID; /* hack */
|
||||
int class;
|
||||
int mseModel;
|
||||
int baudRate;
|
||||
int oldBaudRate;
|
||||
int sampleRate;
|
||||
int lastButtons;
|
||||
int buttons; /* # of buttons */
|
||||
int emulateState; /* automata state for 2 button mode */
|
||||
Bool emulate3Buttons;
|
||||
Bool emulate3ButtonsSoft;
|
||||
int emulate3Timeout;/* Timeout for 3 button emulation */
|
||||
Bool chordMiddle;
|
||||
Bool flipXY;
|
||||
int invX;
|
||||
int invY;
|
||||
int resolution;
|
||||
int negativeZ; /* button mask */
|
||||
int positiveZ; /* button mask */
|
||||
int negativeW; /* button mask */
|
||||
int positiveW; /* button mask */
|
||||
pointer buffer; /* usually an XISBuffer* */
|
||||
int protoBufTail;
|
||||
unsigned char protoBuf[8];
|
||||
unsigned char protoPara[8];
|
||||
unsigned char inSync; /* driver in sync with datastream */
|
||||
pointer mousePriv; /* private area */
|
||||
InputInfoPtr pInfo;
|
||||
Bool emulate3Pending;/* timer waiting */
|
||||
CARD32 emulate3Expires;/* time to fire emulation code */
|
||||
Bool emulateWheel;
|
||||
int wheelInertia;
|
||||
int wheelButton;
|
||||
int negativeX; /* Button values. Unlike the Z and */
|
||||
int positiveX; /* W equivalents, these are button */
|
||||
int negativeY; /* values rather than button masks. */
|
||||
int positiveY;
|
||||
int wheelYDistance;
|
||||
int wheelXDistance;
|
||||
Bool autoProbe;
|
||||
checkMovementsProc checkMovements;
|
||||
autoProbeProc autoProbeMouse;
|
||||
collectDataProc collectData;
|
||||
dataGoodProc dataGood;
|
||||
int angleOffset;
|
||||
pointer pDragLock; /* drag lock area */
|
||||
int xisbscale; /* buffer size for 1 event */
|
||||
int wheelButtonTimeout;/* Timeout for the wheel button emulation */
|
||||
CARD32 wheelButtonExpires;
|
||||
int doubleClickSourceButtonMask;
|
||||
int doubleClickTargetButton;
|
||||
int doubleClickTargetButtonMask;
|
||||
int doubleClickOldSourceState;
|
||||
int lastMappedButtons;
|
||||
int buttonMap[MSE_MAXBUTTONS];
|
||||
} MouseDevRec, *MouseDevPtr;
|
||||
|
||||
#endif /* _XF86OSMOUSE_H_ */
|
||||
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
* Copyright (c) 1997-1999 by The XFree86 Project, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _X_MOUSEPRIV_H
|
||||
#define _X_MOUSEPRIV_H
|
||||
|
||||
#if 0
|
||||
# define MOUSEINITDEBUG
|
||||
# define MOUSEDATADEBUG
|
||||
#endif
|
||||
|
||||
#include "mouse.h"
|
||||
#include "xf86Xinput.h"
|
||||
/* Private interface for the mouse driver. */
|
||||
|
||||
typedef enum {
|
||||
AUTOPROBE_H_NOPROTO,
|
||||
AUTOPROBE_H_GOOD,
|
||||
AUTOPROBE_H_AUTODETECT,
|
||||
AUTOPROBE_H_VALIDATE1,
|
||||
AUTOPROBE_H_VALIDATE2,
|
||||
AUTOPROBE_H_SETPROTO,
|
||||
AUTOPROBE_NOPROTO,
|
||||
AUTOPROBE_COLLECT,
|
||||
AUTOPROBE_CREATE_PROTOLIST,
|
||||
AUTOPROBE_GOOD,
|
||||
AUTOPROBE_AUTODETECT,
|
||||
AUTOPROBE_VALIDATE1,
|
||||
AUTOPROBE_VALIDATE2,
|
||||
AUTOPROBE_SWITCHSERIAL,
|
||||
AUTOPROBE_SWITCH_PROTOCOL
|
||||
} mseAutoProbeStates;
|
||||
|
||||
typedef struct {
|
||||
const char * name;
|
||||
int class;
|
||||
const char ** defaults;
|
||||
MouseProtocolID id;
|
||||
} MouseProtocolRec, *MouseProtocolPtr;
|
||||
|
||||
#define NUM_MSE_AUTOPROBE_BYTES 24 /* multiple of 3,4 and 6 byte packages */
|
||||
#define NUM_MSE_AUTOPROBE_TOTAL 64
|
||||
#define NUM_AUTOPROBE_PROTOS 17
|
||||
|
||||
|
||||
typedef struct {
|
||||
int current;
|
||||
Bool inReset;
|
||||
CARD32 lastEvent;
|
||||
CARD32 expires;
|
||||
Bool soft;
|
||||
int goodCount;
|
||||
int badCount;
|
||||
int protocolID;
|
||||
int count;
|
||||
char data[NUM_MSE_AUTOPROBE_TOTAL];
|
||||
mseAutoProbeStates autoState;
|
||||
MouseProtocolID protoList[NUM_AUTOPROBE_PROTOS];
|
||||
int serialDefaultsNum;
|
||||
int prevDx, prevDy;
|
||||
int accDx, accDy;
|
||||
int acc;
|
||||
CARD32 pnpLast;
|
||||
Bool disablePnPauto;
|
||||
float fracdx,fracdy;
|
||||
float sensitivity;
|
||||
} mousePrivRec, *mousePrivPtr;
|
||||
|
||||
/* mouse proto flags */
|
||||
#define MPF_NONE 0x00
|
||||
#define MPF_SAFE 0x01
|
||||
|
||||
/* pnp.c */
|
||||
MouseProtocolID MouseGetPnpProtocol(InputInfoPtr pInfo);
|
||||
Bool ps2Reset(InputInfoPtr pInfo);
|
||||
Bool ps2EnableDataReporting(InputInfoPtr pInfo);
|
||||
Bool ps2SendPacket(InputInfoPtr pInfo, unsigned char *bytes, int len);
|
||||
int ps2GetDeviceID(InputInfoPtr pInfo);
|
||||
|
||||
#endif /* _X_MOUSE_H */
|
||||
@@ -0,0 +1,784 @@
|
||||
/*
|
||||
* Copyright 1998 by Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of Kazutaka YOKOTA not be used in
|
||||
* advertising or publicity pertaining to distribution of the software without
|
||||
* specific, written prior permission. Kazutaka YOKOTA makes no representations
|
||||
* about the suitability of this software for any purpose. It is provided
|
||||
* "as is" without express or implied warranty.
|
||||
*
|
||||
* KAZUTAKA YOKOTA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
* EVENT SHALL KAZUTAKA YOKOTA BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <X11/X.h>
|
||||
#include <X11/Xproto.h>
|
||||
#include "inputstr.h"
|
||||
#include "scrnintstr.h"
|
||||
#include "xf86.h"
|
||||
#include "xf86Priv.h"
|
||||
#include "xf86Xinput.h"
|
||||
#include "xf86_OSproc.h"
|
||||
#include "mouse.h"
|
||||
#include "mousePriv.h"
|
||||
|
||||
#ifdef MOUSEINITDEBUG
|
||||
# define DEBUG
|
||||
# define EXTMOUSEDEBUG
|
||||
#endif
|
||||
|
||||
/* serial PnP ID string */
|
||||
typedef struct {
|
||||
int revision; /* PnP revision, 100 for 1.00 */
|
||||
char *eisaid; /* EISA ID including mfr ID and product ID */
|
||||
char *serial; /* serial No, optional */
|
||||
char *class; /* device class, optional */
|
||||
char *compat; /* list of compatible drivers, optional */
|
||||
char *description; /* product description, optional */
|
||||
int neisaid; /* length of the above fields... */
|
||||
int nserial;
|
||||
int nclass;
|
||||
int ncompat;
|
||||
int ndescription;
|
||||
} pnpid_t;
|
||||
|
||||
/* symbol table entry */
|
||||
typedef struct {
|
||||
const char *name;
|
||||
MouseProtocolID val;
|
||||
} symtab_t;
|
||||
|
||||
/* PnP EISA/product IDs */
|
||||
static symtab_t pnpprod[] = {
|
||||
{ "KML0001", PROT_THINKING }, /* Kensington ThinkingMouse */
|
||||
{ "MSH0001", PROT_IMSERIAL }, /* MS IntelliMouse */
|
||||
{ "MSH0004", PROT_IMSERIAL }, /* MS IntelliMouse TrackBall */
|
||||
{ "KYEEZ00", PROT_MS }, /* Genius EZScroll */
|
||||
{ "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+ */
|
||||
{ "LGI8051", PROT_IMSERIAL }, /* Logitech FirstMouse+ */
|
||||
{ "LGI8001", PROT_LOGIMAN }, /* Logitech serial */
|
||||
{ "A4W0005", PROT_IMSERIAL }, /* A4 Tech 4D/4D+ Mouse */
|
||||
{ "PEC9802", PROT_IMSERIAL }, /* 8D Scroll Mouse */
|
||||
|
||||
{ "PNP0F00", PROT_BM }, /* MS bus */
|
||||
{ "PNP0F01", PROT_MS }, /* MS serial */
|
||||
{ "PNP0F02", PROT_BM }, /* MS InPort */
|
||||
{ "PNP0F03", PROT_PS2 }, /* MS PS/2 */
|
||||
/*
|
||||
* EzScroll returns PNP0F04 in the compatible device field; but it
|
||||
* doesn't look compatible... XXX
|
||||
*/
|
||||
{ "PNP0F04", PROT_MSC }, /* MouseSystems */
|
||||
{ "PNP0F05", PROT_MSC }, /* MouseSystems */
|
||||
#ifdef notyet
|
||||
{ "PNP0F06", PROT_??? }, /* Genius Mouse */
|
||||
{ "PNP0F07", PROT_??? }, /* Genius Mouse */
|
||||
#endif
|
||||
{ "PNP0F08", PROT_LOGIMAN }, /* Logitech serial */
|
||||
{ "PNP0F09", PROT_MS }, /* MS BallPoint serial */
|
||||
{ "PNP0F0A", PROT_MS }, /* MS PnP serial */
|
||||
{ "PNP0F0B", PROT_MS }, /* MS PnP BallPoint serial */
|
||||
{ "PNP0F0C", PROT_MS }, /* MS serial compatible */
|
||||
{ "PNP0F0D", PROT_BM }, /* MS InPort compatible */
|
||||
{ "PNP0F0E", PROT_PS2 }, /* MS PS/2 compatible */
|
||||
{ "PNP0F0F", PROT_MS }, /* MS BallPoint compatible */
|
||||
#ifdef notyet
|
||||
{ "PNP0F10", PROT_??? }, /* TI QuickPort */
|
||||
#endif
|
||||
{ "PNP0F11", PROT_BM }, /* MS bus compatible */
|
||||
{ "PNP0F12", PROT_PS2 }, /* Logitech PS/2 */
|
||||
{ "PNP0F13", PROT_PS2 }, /* PS/2 */
|
||||
#ifdef notyet
|
||||
{ "PNP0F14", PROT_??? }, /* MS Kids Mouse */
|
||||
#endif
|
||||
{ "PNP0F15", PROT_BM }, /* Logitech bus */
|
||||
#ifdef notyet
|
||||
{ "PNP0F16", PROT_??? }, /* Logitech SWIFT */
|
||||
#endif
|
||||
{ "PNP0F17", PROT_LOGIMAN }, /* Logitech serial compat */
|
||||
{ "PNP0F18", PROT_BM }, /* Logitech bus compatible */
|
||||
{ "PNP0F19", PROT_PS2 }, /* Logitech PS/2 compatible */
|
||||
#ifdef notyet
|
||||
{ "PNP0F1A", PROT_??? }, /* Logitech SWIFT compatible */
|
||||
{ "PNP0F1B", PROT_??? }, /* HP Omnibook */
|
||||
{ "PNP0F1C", PROT_??? }, /* Compaq LTE TrackBall PS/2 */
|
||||
{ "PNP0F1D", PROT_??? }, /* Compaq LTE TrackBall serial */
|
||||
{ "PNP0F1E", PROT_??? }, /* MS Kids Trackball */
|
||||
#endif
|
||||
{ NULL, PROT_UNKNOWN },
|
||||
};
|
||||
|
||||
static const char *pnpSerial[] = {
|
||||
"BaudRate", "1200",
|
||||
"DataBits", "7",
|
||||
"StopBits", "1",
|
||||
"Parity", "None",
|
||||
"FlowControl", "None",
|
||||
"VTime", "0",
|
||||
"VMin", "1",
|
||||
NULL
|
||||
};
|
||||
|
||||
static int pnpgets(InputInfoPtr, char *, Bool *prePNP);
|
||||
static int pnpparse(InputInfoPtr, pnpid_t *, char *, int);
|
||||
static MouseProtocolID prepnpparse(InputInfoPtr pInfo, char *buf);
|
||||
static symtab_t *pnpproto(pnpid_t *);
|
||||
static symtab_t *gettoken(symtab_t *, char *, int);
|
||||
static MouseProtocolID getPs2ProtocolPnP(InputInfoPtr pInfo);
|
||||
static MouseProtocolID probePs2ProtocolPnP(InputInfoPtr pInfo);
|
||||
|
||||
static MouseProtocolID
|
||||
MouseGetSerialPnpProtocol(InputInfoPtr pInfo)
|
||||
{
|
||||
char buf[256]; /* PnP ID string may be up to 256 bytes long */
|
||||
pnpid_t pnpid;
|
||||
symtab_t *t;
|
||||
int len;
|
||||
Bool prePNP;
|
||||
|
||||
if ((len = pnpgets(pInfo, buf, &prePNP)) > 0)
|
||||
{
|
||||
if (!prePNP) {
|
||||
if (pnpparse(pInfo, &pnpid, buf, len) &&
|
||||
(t = pnpproto(&pnpid)) != NULL) {
|
||||
xf86MsgVerb(X_INFO, 2, "%s: PnP-detected protocol ID: %d\n",
|
||||
pInfo->name, t->val);
|
||||
return (t->val);
|
||||
}
|
||||
} else
|
||||
return prepnpparse(pInfo,buf);
|
||||
}
|
||||
return PROT_UNKNOWN;
|
||||
}
|
||||
|
||||
MouseProtocolID
|
||||
MouseGetPnpProtocol(InputInfoPtr pInfo)
|
||||
{
|
||||
MouseDevPtr pMse = pInfo->private;
|
||||
mousePrivPtr mPriv = (mousePrivPtr)pMse->mousePriv;
|
||||
MouseProtocolID val;
|
||||
CARD32 last;
|
||||
|
||||
if ((val = MouseGetSerialPnpProtocol(pInfo)) != PROT_UNKNOWN) {
|
||||
if (val == MouseGetSerialPnpProtocol(pInfo))
|
||||
return val;
|
||||
}
|
||||
|
||||
last = mPriv->pnpLast;
|
||||
mPriv->pnpLast = currentTime.milliseconds;
|
||||
|
||||
if (last) {
|
||||
if (last - currentTime.milliseconds < 100
|
||||
|| (mPriv->disablePnPauto
|
||||
&& (last - currentTime.milliseconds < 10000))) {
|
||||
#ifdef EXTMOUSEDEBUG
|
||||
xf86ErrorF("Mouse: Disabling PnP\n");
|
||||
#endif
|
||||
mPriv->disablePnPauto = TRUE;
|
||||
return PROT_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef EXTMOUSEDEBUG
|
||||
if (mPriv->disablePnPauto)
|
||||
xf86ErrorF("Mouse: Enabling PnP\n");
|
||||
#endif
|
||||
mPriv->disablePnPauto = FALSE;
|
||||
|
||||
if (mPriv->soft)
|
||||
return getPs2ProtocolPnP(pInfo);
|
||||
else
|
||||
return probePs2ProtocolPnP(pInfo);
|
||||
}
|
||||
|
||||
/*
|
||||
* Try to elicit a PnP ID as described in
|
||||
* Microsoft, Hayes: "Plug and Play External COM Device Specification,
|
||||
* rev 1.00", 1995.
|
||||
*
|
||||
* The routine does not fully implement the COM Enumerator as per Section
|
||||
* 2.1 of the document. In particular, we don't have idle state in which
|
||||
* the driver software monitors the com port for dynamic connection or
|
||||
* removal of a device at the port, because `moused' simply quits if no
|
||||
* device is found.
|
||||
*
|
||||
* In addition, as PnP COM device enumeration procedure slightly has
|
||||
* changed since its first publication, devices which follow earlier
|
||||
* revisions of the above spec. may fail to respond if the rev 1.0
|
||||
* procedure is used. XXX
|
||||
*/
|
||||
static int
|
||||
pnpgets(InputInfoPtr pInfo, char *buf, Bool *prePNP)
|
||||
{
|
||||
int i;
|
||||
char c;
|
||||
pointer pnpOpts;
|
||||
|
||||
#if 0
|
||||
/*
|
||||
* This is the procedure described in rev 1.0 of PnP COM device spec.
|
||||
* Unfortunately, some devices which conform to earlier revisions of
|
||||
* the spec gets confused and do not return the ID string...
|
||||
*/
|
||||
|
||||
/* port initialization (2.1.2) */
|
||||
if ((i = xf86GetSerialModemState(pInfo->fd)) == -1)
|
||||
return 0;
|
||||
i |= XF86_M_DTR; /* DTR = 1 */
|
||||
i &= ~XF86_M_RTS; /* RTS = 0 */
|
||||
if (xf86SetSerialModemState(pInfo->fd, i) == -1)
|
||||
goto disconnect_idle;
|
||||
usleep(200000);
|
||||
if ((i = xf86GetSerialModemState(pInfo->fd)) == -1 ||
|
||||
(i & XF86_M_DSR) == 0)
|
||||
goto disconnect_idle;
|
||||
|
||||
/* port setup, 1st phase (2.1.3) */
|
||||
pnpOpts = xf86OptionListCreate(pnpSerial, -1, 1);
|
||||
xf86SetSerial(pInfo->fd, pnpOpts);
|
||||
i = TIOCM_DTR | TIOCM_RTS; /* DTR = 0, RTS = 0 */
|
||||
xf86SerialModemClearBits(pInfo->fd, i);
|
||||
usleep(200000);
|
||||
i = TIOCM_DTR; /* DTR = 1, RTS = 0 */
|
||||
xf86SerialModemSetBits(pInfo->fd, i);
|
||||
usleep(200000);
|
||||
|
||||
/* wait for response, 1st phase (2.1.4) */
|
||||
xf86FlushInput(pInfo->fd);
|
||||
i = TIOCM_RTS; /* DTR = 1, RTS = 1 */
|
||||
xf86SerialModemSetBits(pInfo->fd, i);
|
||||
|
||||
/* try to read something */
|
||||
if (xf86WaitForInput(pInfo->fd, 200000) <= 0) {
|
||||
|
||||
/* port setup, 2nd phase (2.1.5) */
|
||||
i = TIOCM_DTR | TIOCM_RTS; /* DTR = 0, RTS = 0 */
|
||||
xf86SerialModemClearBits(pInfo->fd, i);
|
||||
usleep(200000);
|
||||
|
||||
/* wait for response, 2nd phase (2.1.6) */
|
||||
xf86FlushInput(pInfo->fd);
|
||||
i = TIOCM_DTR | TIOCM_RTS; /* DTR = 1, RTS = 1 */
|
||||
xf86SerialModemSetBits(pInfo->fd, i);
|
||||
|
||||
/* try to read something */
|
||||
if (xf86WaitForInput(pInfo->fd, 200000) <= 0)
|
||||
goto connect_idle;
|
||||
}
|
||||
#else
|
||||
/*
|
||||
* This is a simplified procedure; it simply toggles RTS.
|
||||
*/
|
||||
|
||||
if ((i = xf86GetSerialModemState(pInfo->fd)) == -1)
|
||||
return 0;
|
||||
i |= XF86_M_DTR; /* DTR = 1 */
|
||||
i &= ~XF86_M_RTS; /* RTS = 0 */
|
||||
if (xf86SetSerialModemState(pInfo->fd, i) == -1)
|
||||
goto disconnect_idle;
|
||||
usleep(200000);
|
||||
|
||||
pnpOpts = xf86OptionListCreate(pnpSerial, -1, 1);
|
||||
xf86SetSerial(pInfo->fd, pnpOpts);
|
||||
|
||||
/* wait for response */
|
||||
xf86FlushInput(pInfo->fd);
|
||||
i = XF86_M_DTR | XF86_M_RTS; /* DTR = 1, RTS = 1 */
|
||||
xf86SerialModemSetBits(pInfo->fd, i);
|
||||
|
||||
/* try to read something */
|
||||
if (xf86WaitForInput(pInfo->fd, 200000) <= 0)
|
||||
goto connect_idle;
|
||||
#endif
|
||||
|
||||
/* collect PnP COM device ID (2.1.7) */
|
||||
i = 0;
|
||||
*prePNP = FALSE;
|
||||
|
||||
usleep(200000); /* the mouse must send `Begin ID' within 200msec */
|
||||
while (xf86ReadSerial(pInfo->fd, &c, 1) == 1) {
|
||||
/* we may see "M", or "M3..." before `Begin ID' */
|
||||
if (c == 'M')
|
||||
*prePNP = TRUE;
|
||||
|
||||
if ((c == 0x08) || (c == 0x28)) { /* Begin ID */
|
||||
*prePNP = FALSE;
|
||||
buf[0] = c;
|
||||
i = 1;
|
||||
break;
|
||||
}
|
||||
if (*prePNP)
|
||||
buf[i++] = c;
|
||||
|
||||
if (xf86WaitForInput(pInfo->fd, 200000) <= 0)
|
||||
break;
|
||||
}
|
||||
if (i <= 0) {
|
||||
/* we haven't seen `Begin ID' in time... */
|
||||
goto connect_idle;
|
||||
}
|
||||
if (*prePNP)
|
||||
return i;
|
||||
|
||||
++c; /* make it `End ID' */
|
||||
for (;;) {
|
||||
if (xf86WaitForInput(pInfo->fd, 200000) <= 0)
|
||||
break;
|
||||
|
||||
xf86ReadSerial(pInfo->fd, &buf[i], 1);
|
||||
if (buf[i++] == c) /* End ID */
|
||||
break;
|
||||
if (i >= 256)
|
||||
break;
|
||||
}
|
||||
if (buf[i - 1] != c)
|
||||
goto connect_idle;
|
||||
return i;
|
||||
|
||||
/*
|
||||
* According to PnP spec, we should set DTR = 1 and RTS = 0 while
|
||||
* in idle state. But, `moused' shall set DTR = RTS = 1 and proceed,
|
||||
* assuming there is something at the port even if it didn't
|
||||
* respond to the PnP enumeration procedure.
|
||||
*/
|
||||
disconnect_idle:
|
||||
i = XF86_M_DTR | XF86_M_RTS; /* DTR = 1, RTS = 1 */
|
||||
xf86SerialModemSetBits(pInfo->fd, i);
|
||||
connect_idle:
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
pnpparse(InputInfoPtr pInfo, pnpid_t *id, char *buf, int len)
|
||||
{
|
||||
char s[3];
|
||||
int offset;
|
||||
int sum = 0;
|
||||
int i, j;
|
||||
|
||||
id->revision = 0;
|
||||
id->eisaid = NULL;
|
||||
id->serial = NULL;
|
||||
id->class = NULL;
|
||||
id->compat = NULL;
|
||||
id->description = NULL;
|
||||
id->neisaid = 0;
|
||||
id->nserial = 0;
|
||||
id->nclass = 0;
|
||||
id->ncompat = 0;
|
||||
id->ndescription = 0;
|
||||
|
||||
offset = 0x28 - buf[0];
|
||||
|
||||
/* calculate checksum */
|
||||
for (i = 0; i < len - 3; ++i) {
|
||||
sum += buf[i];
|
||||
buf[i] += offset;
|
||||
}
|
||||
sum += buf[len - 1];
|
||||
for (; i < len; ++i)
|
||||
buf[i] += offset;
|
||||
xf86MsgVerb(X_INFO, 2, "%s: PnP ID string: `%*.*s'\n", pInfo->name,
|
||||
len, len, buf);
|
||||
|
||||
/* revision */
|
||||
buf[1] -= offset;
|
||||
buf[2] -= offset;
|
||||
id->revision = ((buf[1] & 0x3f) << 6) | (buf[2] & 0x3f);
|
||||
xf86MsgVerb(X_INFO, 2, "%s: PnP rev %d.%02d\n", pInfo->name,
|
||||
id->revision / 100, id->revision % 100);
|
||||
|
||||
/* EISA vender and product ID */
|
||||
id->eisaid = &buf[3];
|
||||
id->neisaid = 7;
|
||||
|
||||
/* option strings */
|
||||
i = 10;
|
||||
if (buf[i] == '\\') {
|
||||
/* device serial # */
|
||||
for (j = ++i; i < len; ++i) {
|
||||
if (buf[i] == '\\')
|
||||
break;
|
||||
}
|
||||
if (i >= len)
|
||||
i -= 3;
|
||||
if (i - j == 8) {
|
||||
id->serial = &buf[j];
|
||||
id->nserial = 8;
|
||||
}
|
||||
}
|
||||
if (buf[i] == '\\') {
|
||||
/* PnP class */
|
||||
for (j = ++i; i < len; ++i) {
|
||||
if (buf[i] == '\\')
|
||||
break;
|
||||
}
|
||||
if (i >= len)
|
||||
i -= 3;
|
||||
if (i > j + 1) {
|
||||
id->class = &buf[j];
|
||||
id->nclass = i - j;
|
||||
}
|
||||
}
|
||||
if (buf[i] == '\\') {
|
||||
/* compatible driver */
|
||||
for (j = ++i; i < len; ++i) {
|
||||
if (buf[i] == '\\')
|
||||
break;
|
||||
}
|
||||
/*
|
||||
* PnP COM spec prior to v0.96 allowed '*' in this field,
|
||||
* it's not allowed now; just ignore it.
|
||||
*/
|
||||
if (buf[j] == '*')
|
||||
++j;
|
||||
if (i >= len)
|
||||
i -= 3;
|
||||
if (i > j + 1) {
|
||||
id->compat = &buf[j];
|
||||
id->ncompat = i - j;
|
||||
}
|
||||
}
|
||||
if (buf[i] == '\\') {
|
||||
/* product description */
|
||||
for (j = ++i; i < len; ++i) {
|
||||
if (buf[i] == ';')
|
||||
break;
|
||||
}
|
||||
if (i >= len)
|
||||
i -= 3;
|
||||
if (i > j + 1) {
|
||||
id->description = &buf[j];
|
||||
id->ndescription = i - j;
|
||||
}
|
||||
}
|
||||
|
||||
/* checksum exists if there are any optional fields */
|
||||
if ((id->nserial > 0) || (id->nclass > 0)
|
||||
|| (id->ncompat > 0) || (id->ndescription > 0)) {
|
||||
xf86MsgVerb(X_INFO, 4, "%s: PnP checksum: 0x%02X\n", pInfo->name, sum);
|
||||
sprintf(s, "%02X", sum & 0x0ff);
|
||||
if (strncmp(s, &buf[len - 3], 2) != 0) {
|
||||
#if 0
|
||||
/*
|
||||
* Checksum error!!
|
||||
* I found some mice do not comply with the PnP COM device
|
||||
* spec regarding checksum... XXX
|
||||
*/
|
||||
return FALSE;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* We can only identify MS at the moment */
|
||||
static MouseProtocolID
|
||||
prepnpparse(InputInfoPtr pInfo, char *buf)
|
||||
{
|
||||
if (buf[0] == 'M' && buf[1] == '3')
|
||||
return PROT_MS;
|
||||
return PROT_UNKNOWN;
|
||||
}
|
||||
|
||||
|
||||
static symtab_t *
|
||||
pnpproto(pnpid_t *id)
|
||||
{
|
||||
symtab_t *t;
|
||||
int i, j;
|
||||
|
||||
if (id->nclass > 0)
|
||||
if (strncmp(id->class, "MOUSE", id->nclass) != 0)
|
||||
/* this is not a mouse! */
|
||||
return NULL;
|
||||
|
||||
if (id->neisaid > 0) {
|
||||
t = gettoken(pnpprod, id->eisaid, id->neisaid);
|
||||
if (t->val != -1)
|
||||
return t;
|
||||
}
|
||||
|
||||
/*
|
||||
* The 'Compatible drivers' field may contain more than one
|
||||
* ID separated by ','.
|
||||
*/
|
||||
if (id->ncompat <= 0)
|
||||
return NULL;
|
||||
for (i = 0; i < id->ncompat; ++i) {
|
||||
for (j = i; id->compat[i] != ','; ++i)
|
||||
if (i >= id->ncompat)
|
||||
break;
|
||||
if (i > j) {
|
||||
t = gettoken(pnpprod, id->compat + j, i - j);
|
||||
if (t->val != -1)
|
||||
return t;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* name/val mapping */
|
||||
|
||||
static symtab_t *
|
||||
gettoken(symtab_t *tab, char *s, int len)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; tab[i].name != NULL; ++i) {
|
||||
if (strncmp(tab[i].name, s, len) == 0)
|
||||
break;
|
||||
}
|
||||
return &tab[i];
|
||||
}
|
||||
|
||||
/******************* PS/2 PnP probing ****************/
|
||||
|
||||
static int
|
||||
readMouse(InputInfoPtr pInfo, unsigned char *u)
|
||||
{
|
||||
|
||||
if (xf86WaitForInput(pInfo->fd, 200000) <= 0)
|
||||
return FALSE;
|
||||
|
||||
xf86ReadSerial(pInfo->fd, u, 1);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
ps2DisableWrapMode(InputInfoPtr pInfo)
|
||||
{
|
||||
unsigned char reset_wrap_mode[] = { 0xEC };
|
||||
ps2SendPacket(pInfo, reset_wrap_mode, sizeof(reset_wrap_mode));
|
||||
}
|
||||
|
||||
Bool
|
||||
ps2SendPacket(InputInfoPtr pInfo, unsigned char *bytes, int len)
|
||||
{
|
||||
unsigned char c;
|
||||
int i,j;
|
||||
|
||||
#ifdef DEBUG
|
||||
xf86ErrorF("Ps/2 data package:");
|
||||
for (i = 0; i < len; i++)
|
||||
xf86ErrorF(" %x", *(bytes + i));
|
||||
xf86ErrorF("\n");
|
||||
#endif
|
||||
|
||||
for (i = 0; i < len; i++) {
|
||||
for (j = 0; j < 10; j++) {
|
||||
xf86WriteSerial(pInfo->fd, bytes + i, 1);
|
||||
usleep(10000);
|
||||
if (!readMouse(pInfo,&c)) {
|
||||
#ifdef DEBUG
|
||||
xf86ErrorF("sending 0x%x to PS/2 unsuccessful\n",*(bytes + i));
|
||||
#endif
|
||||
return FALSE;
|
||||
}
|
||||
#ifdef DEBUG
|
||||
xf86ErrorF("Recieved: 0x%x\n",c);
|
||||
#endif
|
||||
if (c == 0xFA) /* ACK */
|
||||
break;
|
||||
|
||||
if (c == 0xFE) /* resend */
|
||||
continue;
|
||||
|
||||
|
||||
if (c == 0xFC) /* error */
|
||||
return FALSE;
|
||||
|
||||
/* Some mice accidently enter wrap mode during init */
|
||||
if (c == *(bytes + i) /* wrap mode */
|
||||
&& (*(bytes + i) != 0xEC)) /* avoid recursion */
|
||||
ps2DisableWrapMode(pInfo);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (j == 10)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static Bool
|
||||
ps2DisableDataReporting(InputInfoPtr pInfo)
|
||||
{
|
||||
unsigned char packet[] = { 0xF5 };
|
||||
return ps2SendPacket(pInfo, packet, sizeof(packet));
|
||||
}
|
||||
|
||||
Bool
|
||||
ps2EnableDataReporting(InputInfoPtr pInfo)
|
||||
{
|
||||
unsigned char packet[] = { 0xF4 };
|
||||
return ps2SendPacket(pInfo, packet, sizeof(packet));
|
||||
}
|
||||
|
||||
int
|
||||
ps2GetDeviceID(InputInfoPtr pInfo)
|
||||
{
|
||||
unsigned char u;
|
||||
unsigned char packet[] = { 0xf2 };
|
||||
|
||||
usleep(30000);
|
||||
xf86FlushInput(pInfo->fd);
|
||||
if (!ps2SendPacket(pInfo, packet, sizeof(packet)))
|
||||
return -1;
|
||||
while (1) {
|
||||
if (!readMouse(pInfo,&u))
|
||||
return -1;
|
||||
if (u != 0xFA)
|
||||
break;
|
||||
}
|
||||
#ifdef DEBUG
|
||||
xf86ErrorF("Obtained Mouse Type: %x\n",u);
|
||||
#endif
|
||||
return (int) u;
|
||||
}
|
||||
|
||||
Bool
|
||||
ps2Reset(InputInfoPtr pInfo)
|
||||
{
|
||||
unsigned char u;
|
||||
unsigned char packet[] = { 0xff };
|
||||
unsigned char reply[] = { 0xaa, 0x00 };
|
||||
unsigned int i;
|
||||
#ifdef DEBUG
|
||||
xf86ErrorF("PS/2 Mouse reset\n");
|
||||
#endif
|
||||
if (!ps2SendPacket(pInfo, packet, sizeof(packet)))
|
||||
return FALSE;
|
||||
/* we need a little delay here */
|
||||
xf86WaitForInput(pInfo->fd, 500000);
|
||||
for (i = 0; i < sizeof(reply) ; i++) {
|
||||
if (!readMouse(pInfo,&u)) {
|
||||
goto EXIT;
|
||||
}
|
||||
if (u != reply[i])
|
||||
goto EXIT;
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
EXIT:
|
||||
xf86FlushInput(pInfo->fd);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static MouseProtocolID
|
||||
probePs2ProtocolPnP(InputInfoPtr pInfo)
|
||||
{
|
||||
unsigned char u;
|
||||
MouseProtocolID ret = PROT_UNKNOWN;
|
||||
|
||||
xf86FlushInput(pInfo->fd);
|
||||
|
||||
ps2DisableDataReporting(pInfo);
|
||||
|
||||
if (ps2Reset(pInfo)) { /* Reset PS2 device */
|
||||
unsigned char seq[] = { 243, 200, 243, 100, 243, 80 };
|
||||
/* Try to identify Intelli Mouse */
|
||||
if (ps2SendPacket(pInfo, seq, sizeof(seq))) {
|
||||
u = ps2GetDeviceID(pInfo);
|
||||
if (u == 0x03) {
|
||||
/* found IntelliMouse now try IntelliExplorer */
|
||||
unsigned char im_seq[] = { 243, 200, 243, 200, 243, 80 };
|
||||
if (ps2SendPacket(pInfo,im_seq,sizeof(im_seq))) {
|
||||
u = ps2GetDeviceID(pInfo);
|
||||
if (u == 0x04)
|
||||
ret = PROT_EXPPS2;
|
||||
else
|
||||
ret = PROT_IMPS2;
|
||||
}
|
||||
} else if (ps2Reset(pInfo)) /* reset again to find sane state */
|
||||
ret = PROT_PS2;
|
||||
}
|
||||
|
||||
if (ret != PROT_UNKNOWN)
|
||||
ps2EnableDataReporting(pInfo);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static struct ps2protos {
|
||||
int Id;
|
||||
MouseProtocolID protoID;
|
||||
} ps2 [] = {
|
||||
{ 0x0, PROT_PS2 },
|
||||
{ 0x3, PROT_IMPS2 },
|
||||
{ 0x4, PROT_EXPPS2 },
|
||||
{ -1 , PROT_UNKNOWN }
|
||||
};
|
||||
|
||||
|
||||
static MouseProtocolID
|
||||
getPs2ProtocolPnP(InputInfoPtr pInfo)
|
||||
{
|
||||
int Id;
|
||||
int i;
|
||||
MouseProtocolID proto;
|
||||
int count = 4;
|
||||
|
||||
xf86FlushInput(pInfo->fd);
|
||||
|
||||
while (--count)
|
||||
if (ps2DisableDataReporting(pInfo))
|
||||
break;
|
||||
|
||||
if (!count) {
|
||||
proto = PROT_UNKNOWN;
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
if ((Id = ps2GetDeviceID(pInfo)) == -1) {
|
||||
proto = PROT_UNKNOWN;
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
if (-1 == ps2EnableDataReporting(pInfo)) {
|
||||
proto = PROT_UNKNOWN;
|
||||
goto EXIT;
|
||||
}
|
||||
|
||||
for (i = 0; ps2[i].protoID != PROT_UNKNOWN; i++) {
|
||||
if (ps2[i].Id == Id) {
|
||||
xf86MsgVerb(X_PROBED,2,"Found PS/2 proto ID %x\n",Id);
|
||||
proto = ps2[i].protoID;
|
||||
goto EXIT;
|
||||
}
|
||||
}
|
||||
|
||||
proto = PROT_UNKNOWN;
|
||||
xf86Msg(X_ERROR,"Found unknown PS/2 proto ID %x\n",Id);
|
||||
|
||||
EXIT:
|
||||
xf86FlushInput(pInfo->fd);
|
||||
return proto;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,760 @@
|
||||
/*
|
||||
* 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
|
||||
* of this software and associated documentation files (the "Software"), to
|
||||
* deal in the Software without restriction, including without limitation the
|
||||
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* XFREE86 PROJECT 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 XFree86 Project 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
|
||||
* XFree86 Project.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_XORG_CONFIG_H
|
||||
#include <xorg-config.h>
|
||||
#endif
|
||||
|
||||
#include "xorg-server.h"
|
||||
#include "xf86.h"
|
||||
#include "xf86_OSlib.h"
|
||||
#include "mouse.h"
|
||||
#include "xisb.h"
|
||||
#include "mipointer.h"
|
||||
#include "xf86Crtc.h"
|
||||
#include <sys/stropts.h>
|
||||
#include <sys/vuid_event.h>
|
||||
#include <sys/msio.h>
|
||||
|
||||
/* Wheel mouse support in VUID drivers in Solaris 9 updates & Solaris 10 */
|
||||
#ifdef WHEEL_DEVID /* Defined in vuid_event.h if VUID wheel support present */
|
||||
# define HAVE_VUID_WHEEL
|
||||
#endif
|
||||
#ifdef HAVE_VUID_WHEEL
|
||||
# include <sys/vuid_wheel.h>
|
||||
#endif
|
||||
|
||||
/* Support for scaling absolute coordinates to screen size in
|
||||
* Solaris 10 updates and beyond */
|
||||
#if !defined(HAVE_ABSOLUTE_MOUSE_SCALING)
|
||||
# ifdef MSIOSRESOLUTION /* Defined in msio.h if scaling support present */
|
||||
# define HAVE_ABSOLUTE_MOUSE_SCALING
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Names of protocols that are handled internally here. */
|
||||
|
||||
static const char *internalNames[] = {
|
||||
"VUID",
|
||||
NULL
|
||||
};
|
||||
|
||||
static const char *solarisMouseDevs[] = {
|
||||
/* Device file: Protocol: */
|
||||
"/dev/mouse", "VUID", /* USB or SPARC */
|
||||
#if defined(__i386) || defined(__x86)
|
||||
"/dev/kdmouse", "PS/2", /* PS/2 */
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
|
||||
typedef struct _VuidMseRec {
|
||||
struct _VuidMseRec *next;
|
||||
InputInfoPtr pInfo;
|
||||
Firm_event event;
|
||||
unsigned char * buffer;
|
||||
char * strmod;
|
||||
Bool(*wrapped_device_control)(DeviceIntPtr device, int what);
|
||||
#ifdef HAVE_ABSOLUTE_MOUSE_SCALING
|
||||
Ms_screen_resolution absres;
|
||||
#endif
|
||||
OsTimerPtr remove_timer; /* Callback for removal on ENODEV */
|
||||
} VuidMseRec, *VuidMsePtr;
|
||||
|
||||
static VuidMsePtr vuidMouseList = NULL;
|
||||
|
||||
static int vuidMouseProc(DeviceIntPtr pPointer, int what);
|
||||
static void vuidReadInput(InputInfoPtr pInfo);
|
||||
|
||||
#ifdef HAVE_ABSOLUTE_MOUSE_SCALING
|
||||
# include "compat-api.h"
|
||||
|
||||
static void vuidMouseSendScreenSize(ScreenPtr pScreen, VuidMsePtr pVuidMse);
|
||||
static void vuidMouseAdjustFrame(ADJUST_FRAME_ARGS_DECL);
|
||||
|
||||
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) \
|
||||
dixSetPrivate(&(s)->devPrivates, &vuidMouseScreenIndex, (void *) p)
|
||||
#endif /* HAVE_ABSOLUTE_MOUSE_SCALING */
|
||||
|
||||
static inline
|
||||
VuidMsePtr getVuidMsePriv(InputInfoPtr pInfo)
|
||||
{
|
||||
VuidMsePtr m = vuidMouseList;
|
||||
|
||||
while ((m != NULL) && (m->pInfo != pInfo)) {
|
||||
m = m->next;
|
||||
}
|
||||
|
||||
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 now, 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.
|
||||
*
|
||||
* Returns 1 if mouse wheel was successfully enabled.
|
||||
* Returns 0 if an error occurred or if there is no mouse wheel.
|
||||
*/
|
||||
static int
|
||||
vuidMouseWheelInit(InputInfoPtr pInfo)
|
||||
{
|
||||
#ifdef HAVE_VUID_WHEEL
|
||||
wheel_state wstate;
|
||||
int nwheel = -1;
|
||||
int i;
|
||||
|
||||
wstate.vers = VUID_WHEEL_STATE_VERS;
|
||||
wstate.id = 0;
|
||||
wstate.stateflags = (uint32_t) -1;
|
||||
|
||||
SYSCALL(i = ioctl(pInfo->fd, VUIDGWHEELCOUNT, &nwheel));
|
||||
if (i != 0)
|
||||
return (0);
|
||||
|
||||
SYSCALL(i = ioctl(pInfo->fd, VUIDGWHEELSTATE, &wstate));
|
||||
if (i != 0) {
|
||||
xf86Msg(X_WARNING, "%s: couldn't get wheel state\n", pInfo->name);
|
||||
return (0);
|
||||
}
|
||||
|
||||
wstate.stateflags |= VUID_WHEEL_STATE_ENABLED;
|
||||
|
||||
SYSCALL(i = ioctl(pInfo->fd, VUIDSWHEELSTATE, &wstate));
|
||||
if (i != 0) {
|
||||
xf86Msg(X_WARNING, "%s: couldn't enable wheel\n", pInfo->name);
|
||||
return (0);
|
||||
}
|
||||
|
||||
return (1);
|
||||
#else
|
||||
return (0);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/* This function is called when the protocol is "VUID". */
|
||||
static Bool
|
||||
vuidPreInit(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
MouseDevPtr pMse = pInfo->private;
|
||||
VuidMsePtr pVuidMse;
|
||||
|
||||
/* Ensure we don't add the same device twice */
|
||||
if (getVuidMsePriv(pInfo) != NULL)
|
||||
return TRUE;
|
||||
|
||||
pVuidMse = calloc(sizeof(VuidMseRec), 1);
|
||||
if (pVuidMse == NULL) {
|
||||
xf86Msg(X_ERROR, "%s: cannot allocate VuidMouseRec\n", pInfo->name);
|
||||
free(pMse);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
pVuidMse->buffer = (unsigned char *)&pVuidMse->event;
|
||||
pVuidMse->strmod = xf86SetStrOption(pInfo->options, "StreamsModule", NULL);
|
||||
|
||||
/* Setup the local procs. */
|
||||
pVuidMse->wrapped_device_control = pInfo->device_control;
|
||||
pInfo->device_control = vuidMouseProc;
|
||||
pInfo->read_input = vuidReadInput;
|
||||
|
||||
pMse->xisbscale = sizeof(Firm_event);
|
||||
|
||||
#ifdef HAVE_ABSOLUTE_MOUSE_SCALING
|
||||
pVuidMse->absres.height = pVuidMse->absres.width = 0;
|
||||
#endif
|
||||
pVuidMse->pInfo = pInfo;
|
||||
pVuidMse->next = vuidMouseList;
|
||||
vuidMouseList = pVuidMse;
|
||||
|
||||
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
|
||||
pInfo->flags |= XI86_CONFIGURED;
|
||||
#endif
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
vuidFlushAbsEvents(InputInfoPtr pInfo, int absX, int absY,
|
||||
Bool *absXset, Bool *absYset)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
ErrorF("vuidFlushAbsEvents: %d,%d (set: %d, %d)\n", absX, absY,
|
||||
*absXset, *absYset);
|
||||
#endif
|
||||
if ((*absXset) && (*absYset)) {
|
||||
xf86PostMotionEvent(pInfo->dev,
|
||||
/* is_absolute: */ TRUE,
|
||||
/* first_valuator: */ 0,
|
||||
/* num_valuators: */ 2,
|
||||
absX, absY);
|
||||
} else if (*absXset) {
|
||||
xf86PostMotionEvent(pInfo->dev,
|
||||
/* is_absolute: */ TRUE,
|
||||
/* first_valuator: */ 0,
|
||||
/* num_valuators: */ 1,
|
||||
absX);
|
||||
} else if (*absYset) {
|
||||
xf86PostMotionEvent(pInfo->dev,
|
||||
/* is_absolute: */ TRUE,
|
||||
/* first_valuator: */ 1,
|
||||
/* num_valuators: */ 1,
|
||||
absY);
|
||||
}
|
||||
|
||||
*absXset = FALSE;
|
||||
*absYset = FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
vuidReadInput(InputInfoPtr pInfo)
|
||||
{
|
||||
MouseDevPtr pMse;
|
||||
VuidMsePtr pVuidMse;
|
||||
int buttons;
|
||||
int dx = 0, dy = 0, dz = 0, dw = 0;
|
||||
unsigned int n;
|
||||
unsigned char *pBuf;
|
||||
int absX = 0, absY = 0;
|
||||
Bool absXset = FALSE, absYset = FALSE;
|
||||
|
||||
pMse = pInfo->private;
|
||||
pVuidMse = getVuidMsePriv(pInfo);
|
||||
buttons = pMse->lastButtons;
|
||||
pBuf = pVuidMse->buffer;
|
||||
n = 0;
|
||||
|
||||
do {
|
||||
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 didn't alloc since we
|
||||
may be called from SIGIO handler. No longer true for
|
||||
sigsafe logging, but matters for older servers */
|
||||
LogMessageVerbSigSafe(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 didn't alloc since we
|
||||
may be called from SIGIO handler. No longer true for
|
||||
sigsafe logging, but matters for older servers */
|
||||
LogMessageVerbSigSafe(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);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
LogMessageVerbSigSafe("vuidReadInput: event type: %d value: %d\n",
|
||||
pVuidMse->event.id, pVuidMse->event.value);
|
||||
#endif
|
||||
|
||||
if (pVuidMse->event.id >= BUT_FIRST && pVuidMse->event.id <= BUT_LAST) {
|
||||
/* button */
|
||||
int butnum = pVuidMse->event.id - BUT_FIRST;
|
||||
|
||||
if (butnum < 3)
|
||||
butnum = 2 - butnum;
|
||||
if (!pVuidMse->event.value)
|
||||
buttons &= ~(1 << butnum);
|
||||
else
|
||||
buttons |= (1 << butnum);
|
||||
} else if (pVuidMse->event.id >= VLOC_FIRST &&
|
||||
pVuidMse->event.id <= VLOC_LAST) {
|
||||
/* axis */
|
||||
int delta = pVuidMse->event.value;
|
||||
switch(pVuidMse->event.id) {
|
||||
case LOC_X_DELTA:
|
||||
dx += delta;
|
||||
break;
|
||||
case LOC_Y_DELTA:
|
||||
dy -= delta;
|
||||
break;
|
||||
case LOC_X_ABSOLUTE:
|
||||
if (absXset) {
|
||||
vuidFlushAbsEvents(pInfo, absX, absY, &absXset, &absYset);
|
||||
}
|
||||
absX = delta;
|
||||
absXset = TRUE;
|
||||
break;
|
||||
case LOC_Y_ABSOLUTE:
|
||||
if (absYset) {
|
||||
vuidFlushAbsEvents(pInfo, absX, absY, &absXset, &absYset);
|
||||
}
|
||||
absY = delta;
|
||||
absYset = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#ifdef HAVE_VUID_WHEEL
|
||||
else if (vuid_in_range(VUID_WHEEL, pVuidMse->event.id)) {
|
||||
if (vuid_id_offset(pVuidMse->event.id) == 0)
|
||||
dz -= VUID_WHEEL_GETDELTA(pVuidMse->event.value);
|
||||
else
|
||||
dw -= VUID_WHEEL_GETDELTA(pVuidMse->event.value);
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_ABSOLUTE_MOUSE_SCALING
|
||||
else if (pVuidMse->event.id == MOUSE_TYPE_ABSOLUTE) {
|
||||
ScreenPtr ptrCurScreen;
|
||||
|
||||
/* force sending absolute resolution scaling ioctl */
|
||||
pVuidMse->absres.height = pVuidMse->absres.width = 0;
|
||||
ptrCurScreen = miPointerGetScreen(pInfo->dev);
|
||||
vuidMouseSendScreenSize(ptrCurScreen, pVuidMse);
|
||||
}
|
||||
#endif
|
||||
|
||||
} while (n != 0);
|
||||
|
||||
if (absXset || absYset) {
|
||||
vuidFlushAbsEvents(pInfo, absX, absY, &absXset, &absYset);
|
||||
}
|
||||
|
||||
pMse->PostEvent(pInfo, buttons, dx, dy, dz, dw);
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef HAVE_ABSOLUTE_MOUSE_SCALING
|
||||
static void vuidMouseSendScreenSize(ScreenPtr pScreen, VuidMsePtr pVuidMse)
|
||||
{
|
||||
InputInfoPtr pInfo = pVuidMse->pInfo;
|
||||
ScrnInfoPtr pScr = XF86SCRNINFO(pScreen);
|
||||
int result;
|
||||
|
||||
if ((pVuidMse->absres.width != pScr->virtualX) ||
|
||||
(pVuidMse->absres.height != pScr->virtualY))
|
||||
{
|
||||
pVuidMse->absres.width = pScr->virtualX;
|
||||
pVuidMse->absres.height = pScr->virtualY;
|
||||
|
||||
do {
|
||||
result = ioctl(pInfo->fd, MSIOSRESOLUTION, &(pVuidMse->absres));
|
||||
} while ( (result != 0) && (errno == EINTR) );
|
||||
|
||||
if (result != 0) {
|
||||
LogMessageVerbSigSafe(X_WARNING, -1,
|
||||
"%s: couldn't set absolute mouse scaling resolution: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
#ifdef DEBUG
|
||||
} else {
|
||||
LogMessageVerbSigSafe(X_INFO,
|
||||
"%s: absolute mouse scaling resolution set to %d x %d\n",
|
||||
pInfo->name,
|
||||
pVuidMse->absres.width,
|
||||
pVuidMse->absres.height);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void vuidMouseAdjustFrame(ADJUST_FRAME_ARGS_DECL)
|
||||
{
|
||||
SCRN_INFO_PTR(arg);
|
||||
ScreenPtr pScreen = xf86ScrnToScreen(pScrn);
|
||||
xf86AdjustFrameProc *wrappedAdjustFrame
|
||||
= (xf86AdjustFrameProc *) vuidMouseGetScreenPrivate(pScreen);
|
||||
VuidMsePtr m;
|
||||
ScreenPtr ptrCurScreen;
|
||||
|
||||
if (wrappedAdjustFrame) {
|
||||
pScrn->AdjustFrame = wrappedAdjustFrame;
|
||||
(*pScrn->AdjustFrame)(ADJUST_FRAME_ARGS(pScrn, x, y));
|
||||
pScrn->AdjustFrame = vuidMouseAdjustFrame;
|
||||
}
|
||||
|
||||
for (m = vuidMouseList; m != NULL ; m = m->next) {
|
||||
ptrCurScreen = miPointerGetScreen(m->pInfo->dev);
|
||||
if (ptrCurScreen == pScreen)
|
||||
{
|
||||
vuidMouseSendScreenSize(pScreen, m);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void vuidMouseCrtcNotify(ScreenPtr pScreen)
|
||||
{
|
||||
xf86_crtc_notify_proc_ptr wrappedCrtcNotify
|
||||
= (xf86_crtc_notify_proc_ptr) vuidMouseGetScreenPrivate(pScreen);
|
||||
VuidMsePtr m;
|
||||
ScreenPtr ptrCurScreen;
|
||||
|
||||
if (wrappedCrtcNotify)
|
||||
wrappedCrtcNotify(pScreen);
|
||||
|
||||
for (m = vuidMouseList; m != NULL ; m = m->next) {
|
||||
ptrCurScreen = miPointerGetScreen(m->pInfo->dev);
|
||||
if (ptrCurScreen == pScreen) {
|
||||
vuidMouseSendScreenSize(pScreen, m);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* HAVE_ABSOLUTE_MOUSE_SCALING */
|
||||
|
||||
|
||||
static int
|
||||
vuidMouseProc(DeviceIntPtr pPointer, int what)
|
||||
{
|
||||
InputInfoPtr pInfo;
|
||||
MouseDevPtr pMse;
|
||||
VuidMsePtr pVuidMse;
|
||||
int ret = Success;
|
||||
int i;
|
||||
|
||||
pInfo = pPointer->public.devicePrivate;
|
||||
pMse = pInfo->private;
|
||||
pMse->device = pPointer;
|
||||
|
||||
pVuidMse = getVuidMsePriv(pInfo);
|
||||
if (pVuidMse == NULL) {
|
||||
return BadImplementation;
|
||||
}
|
||||
|
||||
switch (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];
|
||||
ScrnInfoPtr pScrn = XF86SCRNINFO(pScreen);
|
||||
if (xf86CrtcConfigPrivateIndex != -1) {
|
||||
xf86_crtc_notify_proc_ptr pCrtcNotify
|
||||
= xf86_wrap_crtc_notify(pScreen,
|
||||
vuidMouseCrtcNotify);
|
||||
vuidMouseSetScreenPrivate(pScreen, pCrtcNotify);
|
||||
} else {
|
||||
vuidMouseSetScreenPrivate(pScreen,
|
||||
pScrn->AdjustFrame);
|
||||
pScrn->AdjustFrame = vuidMouseAdjustFrame;
|
||||
}
|
||||
}
|
||||
vuidMouseGeneration = serverGeneration;
|
||||
}
|
||||
#endif
|
||||
ret = pVuidMse->wrapped_device_control(pPointer, what);
|
||||
break;
|
||||
|
||||
case DEVICE_ON:
|
||||
ret = pVuidMse->wrapped_device_control(pPointer, DEVICE_ON);
|
||||
|
||||
if ((ret == Success) && (pInfo->fd != -1)) {
|
||||
int fmt = VUID_FIRM_EVENT;
|
||||
|
||||
if (pVuidMse->strmod) {
|
||||
/* Check to see if module is already pushed */
|
||||
SYSCALL(i = ioctl(pInfo->fd, I_FIND, pVuidMse->strmod));
|
||||
|
||||
if (i == 0) { /* Not already pushed */
|
||||
SYSCALL(i = ioctl(pInfo->fd, I_PUSH, pVuidMse->strmod));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_WARNING, "%s: cannot push module '%s' "
|
||||
"onto mouse device: %s\n", pInfo->name,
|
||||
pVuidMse->strmod, strerror(errno));
|
||||
free(pVuidMse->strmod);
|
||||
pVuidMse->strmod = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SYSCALL(i = ioctl(pInfo->fd, VUIDSFORMAT, &fmt));
|
||||
if (i < 0) {
|
||||
xf86Msg(X_WARNING,
|
||||
"%s: cannot set mouse device to VUID mode: %s\n",
|
||||
pInfo->name, strerror(errno));
|
||||
}
|
||||
vuidMouseWheelInit(pInfo);
|
||||
#ifdef HAVE_ABSOLUTE_MOUSE_SCALING
|
||||
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;
|
||||
|
||||
case DEVICE_OFF:
|
||||
case DEVICE_CLOSE:
|
||||
if (pInfo->fd != -1) {
|
||||
if (pVuidMse->strmod) {
|
||||
SYSCALL(i = ioctl(pInfo->fd, I_POP, pVuidMse->strmod));
|
||||
if (i == -1) {
|
||||
xf86Msg(X_WARNING,
|
||||
"%s: cannot pop module '%s' off mouse device: %s\n",
|
||||
pInfo->name, pVuidMse->strmod, strerror(errno));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (pVuidMse->remove_timer) {
|
||||
TimerFree(pVuidMse->remove_timer);
|
||||
pVuidMse->remove_timer = NULL;
|
||||
}
|
||||
ret = pVuidMse->wrapped_device_control(pPointer, what);
|
||||
break;
|
||||
|
||||
default: /* Should never be called, but just in case */
|
||||
ret = pVuidMse->wrapped_device_control(pPointer, what);
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static Bool
|
||||
sunMousePreInit(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
/* The protocol is guaranteed to be one of the internalNames[] */
|
||||
if (xf86NameCmp(protocol, "VUID") == 0) {
|
||||
return vuidPreInit(pInfo, protocol, flags);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static const char **
|
||||
BuiltinNames(void)
|
||||
{
|
||||
return internalNames;
|
||||
}
|
||||
|
||||
static Bool
|
||||
CheckProtocol(const char *protocol)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; internalNames[i]; i++)
|
||||
if (xf86NameCmp(protocol, internalNames[i]) == 0)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static const char *
|
||||
DefaultProtocol(void)
|
||||
{
|
||||
return "Auto";
|
||||
}
|
||||
|
||||
static Bool
|
||||
solarisMouseAutoProbe(InputInfoPtr pInfo, const char **protocol,
|
||||
const char **device)
|
||||
{
|
||||
const char **pdev, **pproto;
|
||||
int fd = -1;
|
||||
Bool found;
|
||||
char *strmod;
|
||||
|
||||
if (*device == NULL) {
|
||||
/* Check to see if xorg.conf or HAL specified a device to use */
|
||||
*device = xf86CheckStrOption(pInfo->options, "Device", NULL);
|
||||
}
|
||||
|
||||
if (*device != NULL) {
|
||||
strmod = xf86CheckStrOption(pInfo->options, "StreamsModule", NULL);
|
||||
if (strmod) {
|
||||
/* if a device name is already known, and a StreamsModule is
|
||||
specified to convert events to VUID, then we don't need to
|
||||
probe further */
|
||||
*protocol = "VUID";
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (pdev = solarisMouseDevs; *pdev; pdev += 2) {
|
||||
pproto = pdev + 1;
|
||||
if ((*protocol != NULL) && (strcmp(*protocol, "Auto") != 0) &&
|
||||
(*pproto != NULL) && (strcmp(*pproto, *protocol) != 0)) {
|
||||
continue;
|
||||
}
|
||||
if ((*device != NULL) && (strcmp(*device, *pdev) != 0)) {
|
||||
continue;
|
||||
}
|
||||
SYSCALL (fd = open(*pdev, O_RDWR | O_NONBLOCK));
|
||||
if (fd == -1) {
|
||||
#ifdef DEBUG
|
||||
ErrorF("Cannot open %s (%s)\n", pdev, strerror(errno));
|
||||
#endif
|
||||
} else {
|
||||
found = TRUE;
|
||||
if ((*pproto != NULL) && (strcmp(*pproto, "VUID") == 0)) {
|
||||
int i, r;
|
||||
SYSCALL(r = ioctl(fd, VUIDGFORMAT, &i));
|
||||
if (r < 0) {
|
||||
found = FALSE;
|
||||
}
|
||||
}
|
||||
close(fd);
|
||||
if (found == TRUE) {
|
||||
if (*pproto != NULL) {
|
||||
*protocol = *pproto;
|
||||
}
|
||||
*device = *pdev;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static const char *
|
||||
SetupAuto(InputInfoPtr pInfo, int *protoPara)
|
||||
{
|
||||
const char *pdev = NULL;
|
||||
const char *pproto = NULL;
|
||||
MouseDevPtr pMse = pInfo->private;
|
||||
|
||||
if (pInfo->fd == -1) {
|
||||
/* probe to find device/protocol to use */
|
||||
if (solarisMouseAutoProbe(pInfo, &pproto, &pdev) != FALSE) {
|
||||
/* Set the Device option. */
|
||||
pInfo->options =
|
||||
xf86AddNewOption(pInfo->options, "Device", pdev);
|
||||
xf86Msg(X_INFO, "%s: Setting Device option to \"%s\"\n",
|
||||
pInfo->name, pdev);
|
||||
}
|
||||
} else if (pMse->protocolID == PROT_AUTO) {
|
||||
pdev = xf86CheckStrOption(pInfo->options,
|
||||
"Device", NULL);
|
||||
if ((solarisMouseAutoProbe(pInfo, &pproto, &pdev) != FALSE) &&
|
||||
(pproto != NULL))
|
||||
sunMousePreInit(pInfo, pproto, 0);
|
||||
}
|
||||
return pproto;
|
||||
}
|
||||
|
||||
static const char *
|
||||
FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
const char *pdev = NULL;
|
||||
const char *pproto = protocol;
|
||||
|
||||
if (solarisMouseAutoProbe(pInfo, &pproto, &pdev) != FALSE) {
|
||||
/* Set the Device option. */
|
||||
pInfo->options =
|
||||
xf86AddNewOption(pInfo->options, "Device", pdev);
|
||||
xf86Msg(X_INFO, "%s: Setting Device option to \"%s\"\n",
|
||||
pInfo->name, pdev);
|
||||
}
|
||||
return pdev;
|
||||
}
|
||||
|
||||
static int
|
||||
SupportedInterfaces(void)
|
||||
{
|
||||
/* XXX This needs to be checked. */
|
||||
return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_AUTO | MSE_XPS2 | MSE_MISC;
|
||||
}
|
||||
|
||||
OSMouseInfoPtr
|
||||
OSMouseInit(int flags)
|
||||
{
|
||||
OSMouseInfoPtr p;
|
||||
|
||||
p = calloc(sizeof(OSMouseInfoRec), 1);
|
||||
if (!p)
|
||||
return NULL;
|
||||
p->SupportedInterfaces = SupportedInterfaces;
|
||||
p->BuiltinNames = BuiltinNames;
|
||||
p->CheckProtocol = CheckProtocol;
|
||||
p->PreInit = sunMousePreInit;
|
||||
p->DefaultProtocol = DefaultProtocol;
|
||||
p->SetupAuto = SetupAuto;
|
||||
p->FindDevice = FindDevice;
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
timestamp for config.h
|
||||
@@ -0,0 +1,10 @@
|
||||
prefix=/usr/local
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
sdkdir=/usr/local/include/xorg
|
||||
|
||||
Name: xorg-mouse
|
||||
Description: X.Org mouse input driver for non-evdev OS'es
|
||||
Version: 1.9.2
|
||||
Cflags: -I${sdkdir}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user