summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarol Lewandowski <k.lewandowsk@samsung.com>2021-01-18 19:06:40 +0100
committerKarol Lewandowski <k.lewandowsk@samsung.com>2021-01-19 10:12:32 +0100
commit5c61feaa1b9779758cea8298dffc67c15e1ca85e (patch)
treeeffb1bac53b9bd028a4274c3ef15abe7ffad1912
parent391665ffa9c37671adad62c87e818cfb95fe699a (diff)
parent813829e74d32c2ed0342523d667c212741f8e12a (diff)
downloadusbutils-5c61feaa1b9779758cea8298dffc67c15e1ca85e.tar.gz
usbutils-5c61feaa1b9779758cea8298dffc67c15e1ca85e.tar.bz2
usbutils-5c61feaa1b9779758cea8298dffc67c15e1ca85e.zip
Change-Id: Ic5944607ccd4cbdea39f1390024bc447522167c3
-rw-r--r--.gitignore26
-rw-r--r--.gitmodules6
-rw-r--r--.travis.yml32
-rw-r--r--AUTHORS4
-rw-r--r--ChangeLog227
-rw-r--r--INSTALL182
-rw-r--r--LICENSES/GPL-2.0.txt (renamed from COPYING)41
-rw-r--r--LICENSES/GPL-3.0.txt674
-rw-r--r--Makefile.am67
-rw-r--r--Makefile.in1246
-rw-r--r--NEWS367
-rw-r--r--README9
-rw-r--r--README.md42
-rw-r--r--aclocal.m41231
-rwxr-xr-xautogen.sh45
-rw-r--r--config.h.in107
-rwxr-xr-xconfigure6328
-rw-r--r--configure.ac20
-rwxr-xr-xdepcomp707
-rw-r--r--desc-defs.c1131
-rw-r--r--desc-defs.h182
-rw-r--r--desc-dump.c599
-rw-r--r--desc-dump.h50
-rwxr-xr-xinstall-sh527
-rw-r--r--list.h5
-rw-r--r--lsusb-t.c61
-rw-r--r--lsusb.8.in24
-rw-r--r--lsusb.c1600
-rw-r--r--lsusb.h3
-rwxr-xr-xlsusb.py526
-rw-r--r--lsusb.py.in549
-rwxr-xr-xmissing330
-rw-r--r--names.c963
-rw-r--r--names.h59
-rw-r--r--packaging/usbutils.spec19
-rw-r--r--sysfs.c68
-rw-r--r--sysfs.h14
-rwxr-xr-xtravis-autogen.sh53
-rwxr-xr-xupdate-usbids.sh.in46
-rwxr-xr-xusb-devices20
-rw-r--r--usb-devices.1.in6
-rw-r--r--usb-spec.h1600
-rw-r--r--usb.ids18063
-rw-r--r--usbhid-dump.8.in (renamed from usbhid-dump/doc/usbhid-dump.8)25
-rw-r--r--usbhid-dump/.gitignore16
-rw-r--r--usbhid-dump/ChangeLog608
-rw-r--r--usbhid-dump/Makefile.am20
-rw-r--r--usbhid-dump/Makefile.in832
-rw-r--r--usbhid-dump/NEWS7
-rw-r--r--usbhid-dump/README.md121
-rw-r--r--usbhid-dump/aclocal.m41172
-rwxr-xr-xusbhid-dump/auxdir/config.guess1540
-rwxr-xr-xusbhid-dump/auxdir/config.sub1779
-rwxr-xr-xusbhid-dump/auxdir/depcomp707
-rwxr-xr-xusbhid-dump/auxdir/install-sh527
-rw-r--r--usbhid-dump/auxdir/ltmain.sh9655
-rwxr-xr-xusbhid-dump/auxdir/missing330
-rwxr-xr-xusbhid-dump/bootstrap13
-rw-r--r--usbhid-dump/config.h.in65
-rwxr-xr-xusbhid-dump/configure13895
-rw-r--r--usbhid-dump/configure.ac43
-rw-r--r--usbhid-dump/doc/Makefile.am19
-rw-r--r--usbhid-dump/doc/Makefile.in499
-rw-r--r--usbhid-dump/include/Makefile.am19
-rw-r--r--usbhid-dump/include/Makefile.in621
-rw-r--r--usbhid-dump/include/uhd/Makefile.am25
-rw-r--r--usbhid-dump/include/uhd/Makefile.in477
-rw-r--r--usbhid-dump/include/uhd/libusb.h44
-rw-r--r--usbhid-dump/include/uhd/misc.h63
-rw-r--r--usbhid-dump/lib/Makefile.am26
-rw-r--r--usbhid-dump/lib/Makefile.in547
-rw-r--r--usbhid-dump/lib/libusb.c74
-rw-r--r--usbhid-dump/m4/libtool.m47982
-rw-r--r--usbhid-dump/m4/ltoptions.m4384
-rw-r--r--usbhid-dump/m4/ltsugar.m4123
-rw-r--r--usbhid-dump/m4/ltversion.m423
-rw-r--r--usbhid-dump/m4/lt~obsolete.m498
-rw-r--r--usbhid-dump/src/.gitignore5
-rw-r--r--usbhid-dump/src/Makefile.am33
-rw-r--r--usbhid-dump/src/Makefile.in576
-rw-r--r--usbhid-dump/src/dev.c (renamed from usbhid-dump/lib/dev.c)29
-rw-r--r--usbhid-dump/src/dev.h (renamed from usbhid-dump/include/uhd/dev.h)29
-rw-r--r--usbhid-dump/src/dev_list.c (renamed from usbhid-dump/lib/dev_list.c)43
-rw-r--r--usbhid-dump/src/dev_list.h (renamed from usbhid-dump/include/uhd/dev_list.h)52
-rw-r--r--usbhid-dump/src/iface.c (renamed from usbhid-dump/lib/iface.c)34
-rw-r--r--usbhid-dump/src/iface.h (renamed from usbhid-dump/include/uhd/iface.h)35
-rw-r--r--usbhid-dump/src/iface_list.c (renamed from usbhid-dump/lib/iface_list.c)86
-rw-r--r--usbhid-dump/src/iface_list.h (renamed from usbhid-dump/include/uhd/iface_list.h)32
-rw-r--r--usbhid-dump/src/misc.h70
-rw-r--r--usbhid-dump/src/usbhid-dump.c53
-rw-r--r--usbmisc.c43
-rw-r--r--usbmisc.h21
-rw-r--r--usbreset.c191
-rw-r--r--usbutils.pc.in5
-rw-r--r--usbutils.spdx389
95 files changed, 7490 insertions, 74474 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a1ad407
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,26 @@
+*.o
+*.swp
+.deps/
+Makefile
+Makefile.in
+config.h
+config.h.in
+config.log
+config.status
+configure
+stamp-h1
+aclocal.m4
+autom4te.cache/
+depcomp
+install-sh
+missing
+compile
+lsusb
+lsusb.py
+lsusb.8
+usbutils.pc
+usb-devices.1
+usbreset
+usbhid-dump.8
+*.gz
+*.bz2
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..162ef75
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright (c) 2010 Nikolai Kondrashov <spbnick@gmail.com>
+
+[submodule "usbhid-dump"]
+ path = usbhid-dump
+ url = https://github.com/DIGImend/usbhid-dump.git
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..e13ddca
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright 2016 Stephan Linz <linz@li-pro.net>
+
+language: c
+
+matrix:
+ include:
+ - os: linux
+ dist: trusty
+ sudo: required
+ compiler: gcc
+ - os: linux
+ dist: trusty
+ sudo: required
+ compiler: clang
+
+addons:
+ apt:
+ packages:
+ - autoconf
+ - automake
+ - libtool
+ - m4
+ - libudev-dev
+ - libusb-dev
+ - libusb-1.0-0-dev
+ sources:
+ - ubuntu-toolchain-r-test
+
+script:
+ - ./autogen.sh && make -j4 && make maintainer-clean
+ - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./travis-autogen.sh && make -j4; fi
diff --git a/AUTHORS b/AUTHORS
deleted file mode 100644
index 6a60e24..0000000
--- a/AUTHORS
+++ /dev/null
@@ -1,4 +0,0 @@
-Thomas Sailer, <t.sailer@alumni.ethz.ch>
-Johannes Erdfelt
-David Brownell
-Aurelien Jarno
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index 8ac9183..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,227 +0,0 @@
-2009 Greg Kroah-Hartman <greg@kroah.com>
- * switched over to git, look at the changelog there
- instead of here.
-
-2007-12-03 David Brownell <dbrownell@users.sourceforge.net>
- * configure, configure.h.in: autoreconf
- * usb.ids: update to current version
- * lsusb.c: fix minor layout glitch
-
-2007-11-14 Joe Peterson <lavajoe@gentoo.org>
- * configure.in, lsusb.c: use AC_C_BIGENDIAN
-
-2007-11-05 David Brownell <dbrownell@users.sourceforge.net>
- * configure, config.h.in: autoreconf
- * usb.ids: update to current version
-
-2007-11-05 Joe Peterson <lavajoe@gentoo.org>
- * configure.in, lsusb.c: use autotools instead of hard-coded
- check for __FreeBSD__.
-
-2007-10-31 Joe Peterson <lavajoe@gentoo.org>
- * lsusb.c: compile on FreeBSD
-
-2007-10-29 Robin H. Johnson <robbat2@gentoo.org>
- * update-usbids.sh: add "-q" (quiet) option for cron jobs;
- skip filesystems that are readonly
-
-2007-10-23 David Brownell <dbrownell@users.sourceforge.net>
- * usb.ids: update to current version (with new maintainer)
- * lsusb.c: Stop hiding unrecognized/misplaced class specific
- descriptors. Don't require compressed format for usb.ids
- files; when an uncompressed one is there (probably installed
- by hand), prefer it.
- * Makefile.am: remove broken uninstall code, 2.4-only usbmodules
- * configure.in, lsusb.8: version 0.73; syntax fix for disble-zlib
- helpstring
- * Makefile.in, configure: autoreconf
-
-2007-08-28 Brandon Philips <brandon@ifup.org>
- * lsusb.c: Fix the offsets for the video class descriptors.
-
-2007-07-17 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: use correct endpoint maxpacket mask
-
-2006-12-10 Aurelien Jarno <aurelien@aurel32.net>
- * lsusb.c, names.c, Makefile.am, configure.in: gzipped usb.ids
- * configure, other autoconf stuff: regenerate
-
-2006-12-10 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: bugfix GUID printing; byteorder matches rfc 4122
- * usb.ids: update to current version
-
-2006-05-03 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: handle another cdc descriptor type; endianness fix
- for config descriptor length and endpoint maxpacket
- * usb.ids: update to current version
-
-2006-02-28 David Brownell <dbrownell@users.sourceforge.net>
- * configure.in, lsusb.8: version 0.72
- * configure, other autoconf stuff: regenerate
-
-2006-02-18 David Brownell <dbrownell@users.sourceforge.net>
- * usbutils.spec: minor corrections; we still don't use this though.
- * usbmodules.c, usbmodules.8: obsolete, don't build or distribute
- it any more. Any 2.4 based systems should use old usbutils.
-
-2006-02-13 Bjorn Augustsson <august@chalmers.se>
- * lsusb.c: (HID) prettyprinting of Unit and Unit Exponent Global items
-
-2006-02-13 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: whitespace fixes
-
-2006-02-06 Laurent Pinchart <laurent.pinchart@skynet.be>
- * lsusb.c: update video support, show camera info
-
-2006-02-06 Vojtech Pavlik <vojtech@suse.cz>
- * usb.ids: updated
-
-2006-02-01 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: allow longer variable length bitfields in hub descriptors;
- ignore all clearly-broken hub descriptors
-
-2006-01-17 NIIBE Yutaka <gniibe@fsij.org>
- * lsusb.c (dump_hub): Format string fix.
- (do_hub): Allocate enough space for the hub descriptor.
- Check return value in different way.
-
-2005-11-03 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: better diagnostics: for invalid CDC descriptors of a
- type we know, show that type with the message.
-
-2005-10-21 Laurent Pinchart <laurent.pinchart@skynet.be>
- * lsusb.c: add Video Class support, standard GUID printing
- * names.c: support video terminal tags
- * usb.ids: updated with video terminal tags
-
-2005-10-08 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: dump interface associations
-
-2005-09-26 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: dump device status; start dumping wireless info. don't
- yet dump security, BOS, "endpoint companion", or other new
- descriptors. (Security can work without wireles support...)
- * usb.ids: update to current version
-
-2005-06-19 Aurelien Jarno <aurelien@aurel32.net>
- * lsusb.c: correct dump of CCID supported voltages
-
-2005-05-14 David Brownell <dbrownell@users.sourceforge.net>
- Label as version 0.71
- * usb.ids: update to current version
-
-2005-05-13 Toby Ernst <tee@sgi.com>
- * lsusb.c: /proc/bus/usb/BBB/DDD numbers are decimal not octal
- * lsusb.8: ditto
-
-2005-04-29 Olaf Hering <olh@suse.de>
- * lsusb.c: fix some compiler warnings
-
-2005-04-14 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: add some more CDC WHCM dumping, matching a Sony 3G phone
-
-2005-03-28 Aurelien Jarno <aurelien@aurel32.net>
- * lsusb.c: disallow decimal product and vendor codes (hex only)
-
-2005-03-05 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: add basic CDC MDLM dumping, to cope with new CDC
- conformance lies from a Zaurus C-860
-
-2005-02-11 Thierry Vignaud <tvignaud@mandrakesoft.com>
- * usbmodules.8: fix --device /proc/usb/usb/BBB/DDD typo
-
-2005-02-02 David Brownell <dbrownell@users.sourceforge.net>
- * configure.in: fix typo, recommend libusb 0.1.8 not 1.8
-
-2005-01-30 David Brownell <dbrownell@users.sourceforge.net>
- Fix some more warnings reported by Aurelian, and configure
- gcc for "-W -Wunused" to discourage more from appearing.
-
-2005-01-27 Aurelien Jarno <aurelien@aurel32.net>
- Fix "configure --enable-usbmodules" glitch, and remove
- some warnings reported by GCC 4.0 (and "gcc -Wall -W").
-
-2005-01-22 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: for hubs, dump port status.
- * AUTHORS, NEWS, README, lsusb.8: update/correct
- * configure.in, Makefile.am: bumped version, use more current
- autotools, disable usbmodules by default.
-
-2005-01-05 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: handle more descriptors; misplaced comm descriptors
- get interpreted; some minor fixes.
- * usb.ids: update to current version
-
-2004-12-11 David Brownell <dbrownell@users.sourceforge.net>
- * update-usbids.sh: add, based on update-pciids.sh
-
-2004-10-20 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: minor formatting updates; add a warning when those HID
- descriptors aren't available.
-
-2004-10-20 Aurelien Jarno <aurelien@aurel32.net>
- * lsusb.c: bugfixes for reading HID descriptors
-
-2004-10-15 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: USB 2.0 updates for dual-speed and OTG devices, hubs.
- Display all descriptors in the right sequence, and dump ones
- we don't (yet) recognize. Minor cleanups.
- * usb.ids: update to current version
-
-2004-02-20 Thomas Sailer <sailer@eldrich.ee.ethz.ch>
- Move to CVS at linux-usb.sf.net
- Label as version 0.12.
-
-2003-12-06 Aurelien Jarno <aurelien@aurel32.net>
- Update Debian with libusb based version.
-
-2003-08-31 David Brownell <dbrownell@users.sourceforge.net>
- * lsusb.c: (against 0.11) recognize CDC descriptors, USB 2.0 updates,
- string handling updates,
-
-2003-??-?? Aurelien Jarno <aurelien@aurel32.net>
- Convert to latest libusb, supporting BSD and Darwin.
-
-2002-08-02 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
- * lsusb.c: (against 0.10) recognize USB MIDI class specific descriptors.
-
-2000-11-06 Thomas Sailer <sailer@eldrich.ee.ethz.ch>
-
- * names.c, lsusb.c: Fixup of Gunther Mayer's patch; do not export
- internal storage arch out of names.h; formatting beautification;
- fixed several memory leaks and scribbles
-
-2000-11-05 Gunther Mayer <Gunther.Mayer@t-online.de>
- * lsusb.c: Hub Descriptor decode
- * usb.std: New
- * lsusb.c: HID Report Descriptor decode
- * lsusb.c: String Descriptors w/ LANGID, assume Unicode-ASCII for the moment
-
-2000-11-03 Adam J. Richter <adam@yggdrasil.com>
-
- * lsusb.c: Retry usb_control.
-
-1999-12-03 Thomas Sailer <sailer@spaceballs.ee.ethz.ch>
-
- * lsusb.c: bogus error checks for open calls, reported by Matthew Darm
-
-1999-09-17 Thomas Sailer <sailer@ife.ee.ethz.ch>
-
- * configure.in: bumped version number.
-
- * usbutils.spec: likewise.
-
- * names.c: added parsing routines for terminal types to be listed in usb.ids
-
- * names.h: likewise.
-
- * lsusb.c (dump_audiocontrol_interface): likewise.
-
-1999-09-16 Thomas Sailer <sailer@ife.ee.ethz.ch>
-
- * lsusb.c (dump_audiocontrol_interface): fixed a couple of forgotten printf arguments
-
-1999-09-13 Thomas Sailer <sailer@ife.ee.ethz.ch>
-
- * Created package
-
diff --git a/INSTALL b/INSTALL
deleted file mode 100644
index b42a17a..0000000
--- a/INSTALL
+++ /dev/null
@@ -1,182 +0,0 @@
-Basic Installation
-==================
-
- These are generic installation instructions.
-
- 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, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
- 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 at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
-
- The file `configure.in' is used to create `configure' by a program
-called `autoconf'. You only need `configure.in' 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. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. You can give `configure'
-initial values for variables by setting them in the environment. Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
- CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-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 must use a version of `make' that
-supports the `VPATH' variable, such as 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 `..'.
-
- If you have to use a `make' that does not supports the `VPATH'
-variable, you have 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.
-
-Installation Names
-==================
-
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on. Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
- CPU-COMPANY-SYSTEM
-
-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 host type.
-
- If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
-
-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.
-
-Operation Controls
-==================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
- Use and save the results of the tests in FILE instead of
- `./config.cache'. Set FILE to `/dev/null' to disable caching, for
- debugging `configure'.
-
-`--help'
- Print a summary of the options to `configure', and exit.
-
-`--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.
-
-`--version'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
diff --git a/COPYING b/LICENSES/GPL-2.0.txt
index d60c31a..d159169 100644
--- a/COPYING
+++ b/LICENSES/GPL-2.0.txt
@@ -1,12 +1,12 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
- Preamble
+ Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
+the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
@@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
-
- GNU GENERAL PUBLIC LICENSE
+
+ GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
-
+
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
-
+
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
-
+
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
@@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
- NO WARRANTY
+ NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
@@ -303,17 +303,16 @@ the "copyright" line and a pointer to where the full notice is found.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
- Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
@@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
+library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
diff --git a/LICENSES/GPL-3.0.txt b/LICENSES/GPL-3.0.txt
new file mode 100644
index 0000000..f288702
--- /dev/null
+++ b/LICENSES/GPL-3.0.txt
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<https://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<https://www.gnu.org/licenses/why-not-lgpl.html>.
diff --git a/Makefile.am b/Makefile.am
index 1e85a1e..8234f86 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,3 +1,9 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright (c) 2004 Thomas Sailer <sailer@ife.ee.ethz.ch>
+# Copyright (c) 2005-2006 David Brownell <dbrownell@users.sourceforge.net>
+# Copyright (c) 2009 Kay Sievers <kay.sievers@vrfy.org>
+# Copyright (c) 2009 Greg Kroah-Hartman <gregkh@suse.de>
+
SUBDIRS = \
usbhid-dump
@@ -15,73 +21,64 @@ bin_SCRIPTS = \
usb-devices \
lsusb.py
+noinst_PROGRAMS = \
+ usbreset
+
lsusb_SOURCES = \
lsusb.c lsusb.h \
lsusb-t.c \
list.h \
+ desc-defs.c desc-defs.h \
+ desc-dump.c desc-dump.h \
names.c names.h \
+ sysfs.c sysfs.h \
+ usb-spec.h \
usbmisc.c usbmisc.h
lsusb_CPPFLAGS = \
- $(AM_CPPFLAGS) $(LIBUSB_CFLAGS) \
+ $(AM_CPPFLAGS) $(LIBUSB_CFLAGS) $(UDEV_CFLAGS) \
-DDATADIR=\"$(datadir)\"
lsusb_LDADD = \
- $(LIBUSB_LIBS)
+ $(LIBUSB_LIBS) \
+ $(UDEV_LIBS)
-if HAVE_ZLIB
-lsusb_CPPFLAGS += -DHAVE_LIBZ
-lsusb_LDADD += -lz
-endif
+usbreset_SOURCES = \
+ usbreset.c
man_MANS = \
lsusb.8 \
+ usbhid-dump.8 \
usb-devices.1
EXTRA_DIST = \
- usb.ids \
- update-usbids.sh.in \
lsusb.8.in \
+ usbhid-dump.8.in \
usb-devices.1.in \
usb-devices \
- lsusb.py \
- usbutils.pc.in
-
-if INSTALL_USBIDS
-data_DATA += usb.ids
+ lsusb.py.in \
+ usbreset.c \
+ LICENSES/GPL-2.0.txt \
+ LICENSES/GPL-3.0.txt
-if HAVE_ZLIB
-data_DATA += usb.ids.gz
-endif
-
-sbin_SCRIPTS += update-usbids.sh
-
-usb.ids.gz: $(srcdir)/usb.ids
- gzip -c -9 $< > $@
-
-update-usbids.sh: $(srcdir)/update-usbids.sh.in
- sed 's|@usbids@|$(datadir)/usb.ids|g' $< >$@
+lsusb.py: $(srcdir)/lsusb.py.in
+ sed 's|VERSION|$(VERSION)|g;s|@usbids@|$(datadir)/usb.ids|g' $< >$@
chmod 755 $@
-endif
lsusb.8: $(srcdir)/lsusb.8.in
- sed 's|VERSION|$(VERSION)|g;s|@usbids@|$(datadir)/usb.ids|g' $< >$@
-
-usb-devices.1: $(srcdir)/usb-devices.1.in
sed 's|VERSION|$(VERSION)|g' $< >$@
-pkgconfigdir = $(datarootdir)/pkgconfig
-pkgconfig_DATA = usbutils.pc
+usbhid-dump.8: $(srcdir)/usbhid-dump.8.in
+ sed 's|VERSION|$(VERSION)|g' $< >$@
-usbutils.pc: $(srcdir)/usbutils.pc.in
- sed 's|@usbids@|$(datadir)/usb.ids|g;s|@VERSION[@]|$(VERSION)|g' $< >$@
+usb-devices.1: $(srcdir)/usb-devices.1.in
+ sed 's|VERSION|$(VERSION)|g' $< >$@
DISTCLEANFILES = \
- usb.ids.gz \
+ lsusb.py \
lsusb.8 \
usb-devices.1 \
- update-usbids.sh \
- usbutils.pc
+ usbhid-dump.8
distclean-local:
rm -rf autom4te.cache
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644
index f10c4f5..0000000
--- a/Makefile.in
+++ /dev/null
@@ -1,1246 +0,0 @@
-# Makefile.in generated by automake 1.12.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2012 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__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-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 = :
-bin_PROGRAMS = lsusb$(EXEEXT)
-@HAVE_ZLIB_TRUE@am__append_1 = -DHAVE_LIBZ
-@HAVE_ZLIB_TRUE@am__append_2 = -lz
-@INSTALL_USBIDS_TRUE@am__append_3 = usb.ids
-@HAVE_ZLIB_TRUE@@INSTALL_USBIDS_TRUE@am__append_4 = usb.ids.gz
-@INSTALL_USBIDS_TRUE@am__append_5 = update-usbids.sh
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/config.h.in \
- $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
- depcomp install-sh missing
-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)
-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__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \
- "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man1dir)" \
- "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(datadir)" \
- "$(DESTDIR)$(pkgconfigdir)"
-PROGRAMS = $(bin_PROGRAMS)
-am_lsusb_OBJECTS = lsusb-lsusb.$(OBJEXT) lsusb-lsusb-t.$(OBJEXT) \
- lsusb-names.$(OBJEXT) lsusb-usbmisc.$(OBJEXT)
-lsusb_OBJECTS = $(am_lsusb_OBJECTS)
-am__DEPENDENCIES_1 =
-lsusb_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-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; }; \
- }
-SCRIPTS = $(bin_SCRIPTS) $(sbin_SCRIPTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-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_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-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_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(lsusb_SOURCES)
-DIST_SOURCES = $(lsusb_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-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 uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-man1dir = $(mandir)/man1
-man8dir = $(mandir)/man8
-NROFF = nroff
-MANS = $(man_MANS)
-DATA = $(data_DATA) $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- cscope distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-CSCOPE = cscope
-DIST_SUBDIRS = $(SUBDIRS)
-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@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
-LIBUSB_LIBS = @LIBUSB_LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-OBJEXT = @OBJEXT@
-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@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-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_alias = @build_alias@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host_alias = @host_alias@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = \
- usbhid-dump
-
-AM_LDFLAGS = \
- -Wl,--as-needed
-
-data_DATA = $(am__append_3) $(am__append_4)
-sbin_SCRIPTS = $(am__append_5)
-bin_SCRIPTS = \
- usb-devices \
- lsusb.py
-
-lsusb_SOURCES = \
- lsusb.c lsusb.h \
- lsusb-t.c \
- list.h \
- names.c names.h \
- usbmisc.c usbmisc.h
-
-lsusb_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS) \
- -DDATADIR=\"$(datadir)\" $(am__append_1)
-lsusb_LDADD = $(LIBUSB_LIBS) $(am__append_2)
-man_MANS = \
- lsusb.8 \
- usb-devices.1
-
-EXTRA_DIST = \
- usb.ids \
- update-usbids.sh.in \
- lsusb.8.in \
- usb-devices.1.in \
- usb-devices \
- lsusb.py \
- usbutils.pc.in
-
-pkgconfigdir = $(datarootdir)/pkgconfig
-pkgconfig_DATA = usbutils.pc
-DISTCLEANFILES = \
- usb.ids.gz \
- lsusb.8 \
- usb-devices.1 \
- update-usbids.sh \
- usbutils.pc
-
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-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
-.PRECIOUS: 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
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
-
-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
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
- fi; \
- for p in $$list; do echo "$$p $$p"; done | \
- sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p; \
- then echo "$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
- -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
- sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) files[d] = files[d] " " $$1; \
- else { print "f", $$3 "/" $$4, $$1; } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
- test -n "$$list" || exit 0; \
- echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
- -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-lsusb$(EXEEXT): $(lsusb_OBJECTS) $(lsusb_DEPENDENCIES) $(EXTRA_lsusb_DEPENDENCIES)
- @rm -f lsusb$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lsusb_OBJECTS) $(lsusb_LDADD) $(LIBS)
-install-binSCRIPTS: $(bin_SCRIPTS)
- @$(NORMAL_INSTALL)
- @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n' \
- -e 'h;s|.*|.|' \
- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) { files[d] = files[d] " " $$1; \
- if (++n[d] == $(am__install_max)) { \
- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
- else { print "f", d "/" $$4, $$1 } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binSCRIPTS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 's,.*/,,;$(transform)'`; \
- dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
-install-sbinSCRIPTS: $(sbin_SCRIPTS)
- @$(NORMAL_INSTALL)
- @list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(sbindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(sbindir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n' \
- -e 'h;s|.*|.|' \
- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) { files[d] = files[d] " " $$1; \
- if (++n[d] == $(am__install_max)) { \
- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
- else { print "f", d "/" $$4, $$1 } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(sbindir)$$dir'"; \
- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-sbinSCRIPTS:
- @$(NORMAL_UNINSTALL)
- @list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || exit 0; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 's,.*/,,;$(transform)'`; \
- dir='$(DESTDIR)$(sbindir)'; $(am__uninstall_files_from_dir)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lsusb-lsusb-t.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lsusb-lsusb.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lsusb-names.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lsusb-usbmisc.Po@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 $<
-
-.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 `$(CYGPATH_W) '$<'`
-
-lsusb-lsusb.o: lsusb.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lsusb-lsusb.o -MD -MP -MF $(DEPDIR)/lsusb-lsusb.Tpo -c -o lsusb-lsusb.o `test -f 'lsusb.c' || echo '$(srcdir)/'`lsusb.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lsusb-lsusb.Tpo $(DEPDIR)/lsusb-lsusb.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lsusb.c' object='lsusb-lsusb.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lsusb-lsusb.o `test -f 'lsusb.c' || echo '$(srcdir)/'`lsusb.c
-
-lsusb-lsusb.obj: lsusb.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lsusb-lsusb.obj -MD -MP -MF $(DEPDIR)/lsusb-lsusb.Tpo -c -o lsusb-lsusb.obj `if test -f 'lsusb.c'; then $(CYGPATH_W) 'lsusb.c'; else $(CYGPATH_W) '$(srcdir)/lsusb.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lsusb-lsusb.Tpo $(DEPDIR)/lsusb-lsusb.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lsusb.c' object='lsusb-lsusb.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lsusb-lsusb.obj `if test -f 'lsusb.c'; then $(CYGPATH_W) 'lsusb.c'; else $(CYGPATH_W) '$(srcdir)/lsusb.c'; fi`
-
-lsusb-lsusb-t.o: lsusb-t.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lsusb-lsusb-t.o -MD -MP -MF $(DEPDIR)/lsusb-lsusb-t.Tpo -c -o lsusb-lsusb-t.o `test -f 'lsusb-t.c' || echo '$(srcdir)/'`lsusb-t.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lsusb-lsusb-t.Tpo $(DEPDIR)/lsusb-lsusb-t.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lsusb-t.c' object='lsusb-lsusb-t.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lsusb-lsusb-t.o `test -f 'lsusb-t.c' || echo '$(srcdir)/'`lsusb-t.c
-
-lsusb-lsusb-t.obj: lsusb-t.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lsusb-lsusb-t.obj -MD -MP -MF $(DEPDIR)/lsusb-lsusb-t.Tpo -c -o lsusb-lsusb-t.obj `if test -f 'lsusb-t.c'; then $(CYGPATH_W) 'lsusb-t.c'; else $(CYGPATH_W) '$(srcdir)/lsusb-t.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lsusb-lsusb-t.Tpo $(DEPDIR)/lsusb-lsusb-t.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lsusb-t.c' object='lsusb-lsusb-t.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lsusb-lsusb-t.obj `if test -f 'lsusb-t.c'; then $(CYGPATH_W) 'lsusb-t.c'; else $(CYGPATH_W) '$(srcdir)/lsusb-t.c'; fi`
-
-lsusb-names.o: names.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lsusb-names.o -MD -MP -MF $(DEPDIR)/lsusb-names.Tpo -c -o lsusb-names.o `test -f 'names.c' || echo '$(srcdir)/'`names.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lsusb-names.Tpo $(DEPDIR)/lsusb-names.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names.c' object='lsusb-names.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lsusb-names.o `test -f 'names.c' || echo '$(srcdir)/'`names.c
-
-lsusb-names.obj: names.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lsusb-names.obj -MD -MP -MF $(DEPDIR)/lsusb-names.Tpo -c -o lsusb-names.obj `if test -f 'names.c'; then $(CYGPATH_W) 'names.c'; else $(CYGPATH_W) '$(srcdir)/names.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lsusb-names.Tpo $(DEPDIR)/lsusb-names.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='names.c' object='lsusb-names.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lsusb-names.obj `if test -f 'names.c'; then $(CYGPATH_W) 'names.c'; else $(CYGPATH_W) '$(srcdir)/names.c'; fi`
-
-lsusb-usbmisc.o: usbmisc.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lsusb-usbmisc.o -MD -MP -MF $(DEPDIR)/lsusb-usbmisc.Tpo -c -o lsusb-usbmisc.o `test -f 'usbmisc.c' || echo '$(srcdir)/'`usbmisc.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lsusb-usbmisc.Tpo $(DEPDIR)/lsusb-usbmisc.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='usbmisc.c' object='lsusb-usbmisc.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lsusb-usbmisc.o `test -f 'usbmisc.c' || echo '$(srcdir)/'`usbmisc.c
-
-lsusb-usbmisc.obj: usbmisc.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lsusb-usbmisc.obj -MD -MP -MF $(DEPDIR)/lsusb-usbmisc.Tpo -c -o lsusb-usbmisc.obj `if test -f 'usbmisc.c'; then $(CYGPATH_W) 'usbmisc.c'; else $(CYGPATH_W) '$(srcdir)/usbmisc.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lsusb-usbmisc.Tpo $(DEPDIR)/lsusb-usbmisc.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='usbmisc.c' object='lsusb-usbmisc.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsusb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lsusb-usbmisc.obj `if test -f 'usbmisc.c'; then $(CYGPATH_W) 'usbmisc.c'; else $(CYGPATH_W) '$(srcdir)/usbmisc.c'; fi`
-install-man1: $(man_MANS)
- @$(NORMAL_INSTALL)
- @list1=''; \
- list2='$(man_MANS)'; \
- test -n "$(man1dir)" \
- && test -n "`echo $$list1$$list2`" \
- || exit 0; \
- echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
- { for i in $$list1; do echo "$$i"; done; \
- if test -n "$$list2"; then \
- for i in $$list2; do echo "$$i"; done \
- | sed -n '/\.1[a-z]*$$/p'; \
- fi; \
- } | while read p; do \
- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; echo "$$p"; \
- done | \
- sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
- -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
- sed 'N;N;s,\n, ,g' | { \
- list=; while read file base inst; do \
- if test "$$base" = "$$inst"; then list="$$list $$file"; else \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
- fi; \
- done; \
- for i in $$list; do echo "$$i"; done | $(am__base_list) | \
- while read files; do \
- test -z "$$files" || { \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
- done; }
-
-uninstall-man1:
- @$(NORMAL_UNINSTALL)
- @list=''; test -n "$(man1dir)" || exit 0; \
- files=`{ for i in $$list; do echo "$$i"; done; \
- l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
- sed -n '/\.1[a-z]*$$/p'; \
- } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
- -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
- dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
-install-man8: $(man_MANS)
- @$(NORMAL_INSTALL)
- @list1=''; \
- list2='$(man_MANS)'; \
- test -n "$(man8dir)" \
- && test -n "`echo $$list1$$list2`" \
- || exit 0; \
- echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \
- { for i in $$list1; do echo "$$i"; done; \
- if test -n "$$list2"; then \
- for i in $$list2; do echo "$$i"; done \
- | sed -n '/\.8[a-z]*$$/p'; \
- fi; \
- } | while read p; do \
- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; echo "$$p"; \
- done | \
- sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
- -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
- sed 'N;N;s,\n, ,g' | { \
- list=; while read file base inst; do \
- if test "$$base" = "$$inst"; then list="$$list $$file"; else \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \
- fi; \
- done; \
- for i in $$list; do echo "$$i"; done | $(am__base_list) | \
- while read files; do \
- test -z "$$files" || { \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \
- done; }
-
-uninstall-man8:
- @$(NORMAL_UNINSTALL)
- @list=''; test -n "$(man8dir)" || exit 0; \
- files=`{ for i in $$list; do echo "$$i"; done; \
- l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
- sed -n '/\.8[a-z]*$$/p'; \
- } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
- -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
- dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir)
-install-dataDATA: $(data_DATA)
- @$(NORMAL_INSTALL)
- @list='$(data_DATA)'; test -n "$(datadir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(datadir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(datadir)" || 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)$(datadir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(datadir)" || exit $$?; \
- done
-
-uninstall-dataDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(data_DATA)'; test -n "$(datadir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(datadir)'; $(am__uninstall_files_from_dir)
-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.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; 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"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-cscopelist-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- 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; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- 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
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- 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-recursive cscopelist
-
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- 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)
- @case `sed 15q $(srcdir)/NEWS` in \
- *"$(VERSION)"*) : ;; \
- *) \
- echo "NEWS not updated; not releasing" 1>&2; \
- exit 1;; \
- esac
- @list='$(MANS)'; if test -n "$$list"; then \
- list=`for p in $$list; do \
- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
- if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
- if test -n "$$list" && \
- grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
- echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
- grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
- echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
- echo " typically 'make maintainer-clean' will remove them" >&2; \
- exit 1; \
- else :; fi; \
- else :; fi
- $(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
- -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) | GZIP=$(GZIP_ENV) gzip -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
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__post_remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -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*) \
- GZIP=$(GZIP_ENV) gzip -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*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(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 \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(AM_DISTCHECK_CONFIGURE_FLAGS) \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(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 $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) config.h
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(datadir)" "$(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)
- -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-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-recursive
-
-clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-hdr distclean-local distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-dataDATA install-man install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS install-binSCRIPTS \
- install-sbinSCRIPTS
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man: install-man1 install-man8
-
-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 -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
- uninstall-dataDATA uninstall-man uninstall-pkgconfigDATA \
- uninstall-sbinSCRIPTS
-
-uninstall-man: uninstall-man1 uninstall-man8
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
- cscopelist-recursive ctags-recursive install-am install-strip \
- tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-binPROGRAMS \
- clean-cscope clean-generic cscope cscopelist \
- cscopelist-recursive ctags ctags-recursive dist dist-all \
- dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz \
- dist-zip distcheck distclean distclean-compile \
- distclean-generic distclean-hdr distclean-local distclean-tags \
- distcleancheck distdir distuninstallcheck dvi dvi-am html \
- html-am info info-am install install-am install-binPROGRAMS \
- install-binSCRIPTS install-data install-data-am \
- install-dataDATA install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-man1 install-man8 \
- install-pdf install-pdf-am install-pkgconfigDATA install-ps \
- install-ps-am install-sbinSCRIPTS install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-binPROGRAMS \
- uninstall-binSCRIPTS uninstall-dataDATA uninstall-man \
- uninstall-man1 uninstall-man8 uninstall-pkgconfigDATA \
- uninstall-sbinSCRIPTS
-
-
-@INSTALL_USBIDS_TRUE@usb.ids.gz: $(srcdir)/usb.ids
-@INSTALL_USBIDS_TRUE@ gzip -c -9 $< > $@
-
-@INSTALL_USBIDS_TRUE@update-usbids.sh: $(srcdir)/update-usbids.sh.in
-@INSTALL_USBIDS_TRUE@ sed 's|@usbids@|$(datadir)/usb.ids|g' $< >$@
-@INSTALL_USBIDS_TRUE@ chmod 755 $@
-
-lsusb.8: $(srcdir)/lsusb.8.in
- sed 's|VERSION|$(VERSION)|g;s|@usbids@|$(datadir)/usb.ids|g' $< >$@
-
-usb-devices.1: $(srcdir)/usb-devices.1.in
- sed 's|VERSION|$(VERSION)|g' $< >$@
-
-usbutils.pc: $(srcdir)/usbutils.pc.in
- sed 's|@usbids@|$(datadir)/usb.ids|g;s|@VERSION[@]|$(VERSION)|g' $< >$@
-
-distclean-local:
- rm -rf autom4te.cache
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/NEWS b/NEWS
index 1a8ba8c..2be97b0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,362 @@
+# usbutils old-style "NEWS" file
+# SPDX-License-Identifier: GPL-2.0
+#
+# Copyright (c) 2018 Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+#
+# This file is here for people who do not have access to the git commit
+# history (i.e. packaged versions of the software).
+#
+
+usbutils 013
+============
+
+Aurelien Jarno (1):
+ lsusb.8.in: do not mention usb.ids
+
+Baruch Siach (1):
+ usb-devices.1: don't mention bash
+
+Greg Kroah-Hartman (15):
+ usbhid-dump: move manpage to main directory out of subdir
+ usbhid-dump.8: add SPDX header
+ usbhid-dump.8: autogenerate it with the usbutils version number
+ .gitignore: add usbhid-dump.8
+ usbhid-dump: add SPDX identifiers to all files.
+ usbhid-dump: remove libusb.h libusb_strerror() implementation
+ usbhid-dump: remove lib directory
+ usbhid-dump: move .h files into src/ directory
+ Makefile.am: add usbhid-dump.8 to distclean list
+ usbhid-dump: some autoconf cleanup
+ usbhid-dump: remove some dev_list functions that were never used
+ dump_audiostreaming_interface(): remove unused variable
+ usbmisc: initialize string buffer before reading from device.
+ lsusb.py: drop trailing space on non-hub devices
+ lsusb.py: strip whitespace from device strings
+
+Jakub Wilk (2):
+ lsusb(8): fix formatting
+ lsusb(8): document --tree
+
+Pino Toscano (1):
+ lsusb.py: remove private paths for usb.ids
+
+Rob Gill (1):
+ Additional device classes for usb-devices script
+
+Rosen Penev (1):
+ usbhid-dump: Do not use rindex
+
+Thomas Hebb (4):
+ Move read_sysfs_prop() from names.c to its own file
+ sysfs: Don't return bogus data for devices under a hub
+ lsusb: Use vendor and product name fallback logic in -D mode too
+ lsusb: Get manufacturer, product, and serial from sysfs
+
+Timothy Robert Bednarzyk (1):
+ bootstrap: change /bin/bash to /bin/sh
+
+Torleiv Sundre (1):
+ lsusb: fix two typos in UVC Extension Unit descriptor
+
+Tormod Volden (1):
+ usbhid-dump: Put back autoconf check for libusb_set_option()
+
+
+usbutils 012
+============
+
+Greg Kroah-Hartman:
+ Merge usbhid-dump into main usbutils repository
+
+
+usbutils 011
+============
+
+Clemens Fruhwirth (1):
+ Add usbreset.c as noinst_PROGRAMS target.
+
+Daniel Schaefer (1):
+ lsusb: Read unkown names from sysfs device desc.
+
+Darsey Litzenberger (3):
+ Remove a small hack that no longer has any effect.
+ Cleanup grammar
+ lsusb-t: Emit USB IDs and other handy info when verbosity is increased
+
+Emmanuele Bassi (1):
+ Require newer version of libusb
+
+Georg Brandl (1):
+ lsusb.py: fix up Python 3 conversion
+
+Greg Kroah-Hartman (10):
+ SPDX bill-of-material is supposed to be project_name.spdx
+ usbutils.spdx: rerun report, it is properly sorted.
+ desc-dump.c: fix compiler warning about unused variable
+ add usbreset to .gitignore
+ usbreset: fix some build warnings
+ usbhid-dump: update to latest version
+ fix up standard int types
+ update usbhid-dump git id
+ usbhid-dump: update to a newer version of usbhid-dump again.
+ usbutils.spdx: update with latest information
+
+Kurt Garloff (4):
+ lsusb.py: Search multiple paths for usb.ids.
+ lsusb.py: Usb enum for parser state machine.
+ lsusb.py: Add driver names for usbhid.
+ lsusb.py: python2 compatibility
+
+Lukas Nykryn (1):
+ Makefile.am: add files with licenses to archive
+
+Mantas MikulÄ—nas (33):
+ lsusb.py: sort devices and interfaces numerically
+ lsusb.py: sort toplevel entries
+ lsusb.py: improve usage text
+ lsusb.py: replace fake deepcopy()
+ lsusb.py: remove -w (warn if usb.ids not sorted) option
+ lsusb.py: ensure all error messages are written to stderr
+ lsusb.py: support long options
+ lsusb.py: use regular print() instead of hand-rolling the same thing
+ lsusb.py: avoid shadowing Python's built-in 'str'
+ lsusb.py: replace usb.ids binary search with dict lookup
+ lsusb.py: remove now-unused bin_search()
+ lsusb.py: avoid manual calls to __foo__()
+ lsusb.py: replace __repr__() for USB IDs with __str__()
+ lsusb.py: insert class FF:FF:FF into usbclasses to avoid special casing
+ lsusb.py: entirely remove Usb* classes
+ lsusb.py: cosmetic - replace tuples-as-"immutable lists" with regular lists
+ lsusb.py: use 'elif' where suitable
+ lsusb.py: remove dead code
+ lsusb.py: move unrelated code out of try..except
+ lsusb.py: allow - as well as _ when matching hci module names
+ lsusb.py: use a constant for the magic class number 9
+ lsusb.py: Usb* classes: call read() automatically from constructor
+ lsusb.py: UsbEndpoint: indent is a class implementation detail
+ lsusb.py: a few cosmetic changes
+ lsusb.py: shorten find_usb_class()
+ lsusb.py: give all Usb* objects a .path attribute
+ lsusb.py: add an actual __repr__() to classes
+ lsusb.py: give all Usb* classes a superclass
+ lsusb.py: convert readattr() and readlink() to methods of the container
+ lsusb.py: use color by default
+ lsusb.py: rework output for more consistent indent of both columns
+ lsusb.py: fix endpoint interval spacing
+ lsusb.py: visually group USB-version-related fields
+
+Michael Drake (4):
+ lsusb: Split out routine that fetches value for given field.
+ lsusb: Split out field name rendering.
+ lsusb: Add support for descriptor extensions.
+ lsusb: Add support for audio processing unit type-specific fields.
+
+Philip Langdale (2):
+ lsusb: Added support for Billboard Alternate Mode Capability descriptor
+ lsusb.py: Fix formatting of 10Gbps speeds
+
+Ross Burton (1):
+ usb-devices: use /bin/sh hashbang
+
+Solomon Peachy (1):
+ lsusb: Add support for decoding IPP printer descriptors
+
+Stefan Tauner (1):
+ Depend on libusb 1.0.14
+
+Valerii Zapodovnikov (1):
+ man pages: add information on verbosity levels of -t option
+
+junjie (1):
+ fix typo
+
+
+usbutils 010
+============
+
+Aurelien Jarno (2):
+ usbreset.c: add missing <stdlib.h> include
+ Do not create and install usbutils.pc
+
+Greg Kroah-Hartman (32):
+ fix dump_videocontrol_interface for unitialized variable usage
+ Add correct SPDX license identifiers to all files
+ Add SPDX identifiers on files that did not have a specific license.
+ wTotalLength should be printed as a hex number
+ usbmisc: fix up some strncpy() issues
+ lsusb-t: fix up error with readlink()
+ lsusb.py.in: add proper SPDX license identifier
+ usb-devices: reword the copyright identifier
+ LICENSES: move the GPL 2 license to the LICENSES directory
+ LICENSES/GPL-3.0.txt: add the file
+ lsusb.h: add copyright notice
+ lsusb-t: add copyright info
+ bom.spdx: Add bill of materials file in SPDX format.
+ ChangeLog: remove it.
+ AUTHORS: remove file
+ do_release: drop file
+ NEWS: add SPDX header and comment
+ autogen.sh: add SPDX and copyright header
+ list.h: add copyright information
+ travis-autogen.sh: add SPDX and copyright information.
+ INSTALL: remove the file, it's boiler-plate
+ configure.ac: add SPDX and copyright
+ man pages: add SPDX and copyright information
+ Makefile.am: add SPDX and copyright information
+ .gitmodules: add SPDX and copyright lines
+ lsusb.py.in: fix up Copyright strings
+ usbreset.c: add Alan's copyright
+ .travis.yml: add correct SPDX and copyright notices
+ bom.spdx: update with latest copyright and SPDX identifier additions
+ README.md: move the README file to markdown
+ README.md: fix fomatting
+ bom.spdx: upate with README -> README.md change
+
+Lukas Nykryn (1):
+ lsusb.py: convert to python3
+
+Michael Drake (11):
+ lsusb: Split subtype mapping out of AudioControl interface handling.
+ lsusb: Add declarative definitions for UAC1 and UAC2 descriptors.
+ lsusb: Add code to dump descriptor data using descriptor definition.
+ lsusb: Switch to descriptor-definition based dump for UAC1 and UAC2.
+ lsusb: Add descriptor definitions for UAC3.
+ lsusb: Add initial support for USB Audio Device Class 3.
+ lsusb: Add descriptor definition for USB3 BOS Configuration Summary.
+ lsusb: Dump USB3 BOS Configuration Summary Descriptor.
+ lsusb: Squash Wpointer-compare warning.
+ lsusb: Remove unused function.
+ lsusb: Fix array entry count for variable sized entries.
+
+Robby Workman (1):
+ Makefile.am: Include usbreset.c in the release tarball
+
+Torleiv Sundre (1):
+ lsusb: Dump UVC Stream based payload descriptor.
+
+
+usbutils 009
+============
+
+Bjørn Mork (1):
+ usbreset: coding style
+
+Emmanuele Bassi (1):
+ Don't use C99-ism
+
+Greg Kroah-Hartman (22):
+ usbhid-dump: update submodule to latest version
+ add usbreset.c example program
+ update usbhid-dump to latest
+ lsusb.py: Don't dump a trace dump if usb.ids is not present
+
+Grueninger, Tobias (1):
+ USB: usb-devices: Interface number can be a string
+
+Heinrich Schuchardt (1):
+ autogen.sh: checkout usbhid-dump
+
+Jaejoong Kim (4):
+ lsusb : add support for the Encoding Unit Desc for uvc 1.5 device
+ lsusb: fix alignment for Video Streaming interface desc
+ lsusb: parse additional control fileds in USB video control interfaces for UVC1.5
+ lsusb: proper display hexadecimal value for UVC control interface
+
+Jakub Wilk (1):
+ Fix typos
+
+Jo-Philipp Wich (1):
+ usbreset.c: import usability improvements from OpenWrt
+
+Justin McBride (2):
+ Update lsusb.c
+ Un-indent bVariableSize for Frame-Based Format descriptors
+
+Kylie McClain (1):
+ Makefile: install pkgconfig file to arch-dependent location
+
+Mathias Nyman (2):
+ lsusb: Allocate the BOS descriptor buffer dynamically
+ lsusb: Add support for the USB 3.1 SuperSpeedPlus device capability desc
+
+Muthu M (2):
+ lsusb: Fix issue with lengthy string descriptors
+ lsusb: Added support for Billboard Capability descriptor
+
+Nikolai Kondrashov (2):
+ Update usbhid-dump repo URL
+ Update usbhid-dump to v1.4
+
+Stephan Linz (7):
+ travis-ci: add control files borrowed from libusb
+ configure: remove summary about unused USE_ZLIB
+ drop unused input file for usb.ids update script
+ substitute usb.id location in lsusb Python script
+ travis-ci: cleanup before second run
+ travis-ci: rework travis-autogen.sh
+ lsusb: remove unused variable procbususb
+
+Tobias Klauser (4):
+ lsusb: Report correct MaxPower for USB 3.0 devices
+ lsusb: Request proper descriptor type for USB 3.1
+ lsusb: Store link state descriptions without preceding space
+ build: Request at least libusb 1.0.9
+
+Torleiv Sundre (2):
+ Added support for Platform Device Capability descriptor
+ lsusb: change endianness of first three fields when printing UUID/GUIDs.
+
+Vianney le Clément de Saint-Marcq (3):
+ lsusb: Fix UVC STILL_IMAGE_FRAME descriptor
+ lsusb: Fix UVC VideoStreaming interface header descriptor
+ lsusb: Fix UVC OUTPUT_TERMINAL descriptor
+
+Vincent Palatin (1):
+ lsusb: print WebUSB platform descriptor
+
+
+usbutils 008
+============
+
+Alexandra Yates (2):
+ lsusb: Reports if USB2.0 port is on L1 state
+ lsusb: Reports devices that support BESL on USB2.0
+
+Aurelien Jarno (1):
+ dump_ccid_device: fix a typo
+
+Ben Chan (1):
+ lsusb: decode CDC MBIM extended functional descriptor
+
+Greg Kroah-Hartman (8):
+ lsusb: fix incorrect printf() for CAPS
+ lsusb-t: handle problem if there is no usb bus list
+ .gitignore: add compile to the list of things we need to ignore
+
+John Freed (1):
+ Fix logic error
+
+Kurt Garloff (1):
+ Update lsusb.py in usbutils
+
+Lukas Nykryn (2):
+ update COPYING file
+ lsusb-t: don't segfault when usbbuslist is empty
+
+Peter Wu (1):
+ Ignore invalid string descriptors
+
+Raphaël Droz (1):
+ usb-devices: hexadecimal bInterfaceNumber handling
+
+Tom Gundersen (2):
+ lsusb: port to hwdb
+ drop dependency on usb.ids
+
+Vadim Rutkovsky (1):
+ New path for usbhid-dump submodule
+
+
usbutils 007
============
@@ -58,7 +417,7 @@ Lukas Nykryn (7):
Using uninitialized value as index
Possible resource leak
Wrong shifting of bmMPEGFeatures byte
- Buffer overun
+ Buffer overrun
lsusb-t: don't show error when driver link is missing
Mark Veltzer (1):
@@ -90,8 +449,8 @@ Greg Kroah-Hartman (7):
update usbhid-dump to release 1.2
add another Linux kernel usb id.
updated usb.ids file
- lsusb-t.c: fix up some complier warnings
- add lsusb.h to fix some complier warnings.
+ lsusb-t.c: fix up some compiler warnings
+ add lsusb.h to fix some compiler warnings.
Lukáš Nykrýn (1):
Add more space to lsusb.py output
@@ -152,7 +511,7 @@ Laurent Pinchart (2):
Luben Tuikov (3):
lsusb: Fix getting BOS and DEVQUAL descriptors
- lsusb: Dump the Pipe Usage desciptor
+ lsusb: Dump the Pipe Usage descriptor
lsusb: Fix bMaxBurst reporting
Mike Frysinger (5):
diff --git a/README b/README
deleted file mode 100644
index 5a97c05..0000000
--- a/README
+++ /dev/null
@@ -1,9 +0,0 @@
-first get usbhid-dump:
- git submodule init
- git submodule update
-initialize autobuild with:
- autoreconf --install --symlink
-configure with:
- ./configure
-build with:
- make
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d933fa5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,42 @@
+<!---
+SPDX-License-Identifier: GPL-2.0+
+Copyright (c) 2018 Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+-->
+# usbutils
+
+This is a collection of USB tools for use on Linux and BSD systems to
+query what type of USB devices are connected to the system. This is to
+be run on a USB host (i.e. a machine you plug USB devices into), not on
+a USB device (i.e. a device you plug into a USB host.)
+
+## Building and installing
+
+Note, usbutils depends on libusb, be sure that library is properly
+installed first.
+
+To work with the "raw" repo, after cloning it just do:
+
+ ./autogen.sh
+
+Or if you like doing things "by hand" you can try the following:
+
+Get the usbhid-dump git submodule:
+
+ git submodule init
+ git submodule update
+
+Initialize autobuild with:
+
+ autoreconf --install --symlink
+
+Configure the project with:
+
+ ./configure
+
+Build everything with:
+
+ make
+
+Install it, if you really want to, with:
+
+ make install
diff --git a/aclocal.m4 b/aclocal.m4
deleted file mode 100644
index 1971e76..0000000
--- a/aclocal.m4
+++ /dev/null
@@ -1,1231 +0,0 @@
-# generated automatically by aclocal 1.12.1 -*- Autoconf -*-
-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
-[m4_warning([this file was generated for autoconf 2.69.
-You have another version of autoconf. It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-
-# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-#
-# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
-AC_DEFUN([PKG_PROG_PKG_CONFIG],
-[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
-m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
-AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
-AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
- AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
-fi
-if test -n "$PKG_CONFIG"; then
- _pkg_min_version=m4_default([$1], [0.9.0])
- AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- PKG_CONFIG=""
- fi
-fi[]dnl
-])# PKG_PROG_PKG_CONFIG
-
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists. Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be skipped (such as if it is within an "if", you
-# have to call PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_EXISTS],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-if test -n "$PKG_CONFIG" && \
- AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
- m4_default([$2], [:])
-m4_ifvaln([$3], [else
- $3])dnl
-fi])
-
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
-m4_define([_PKG_CONFIG],
-[if test -n "$$1"; then
- pkg_cv_[]$1="$$1"
- elif test -n "$PKG_CONFIG"; then
- PKG_CHECK_EXISTS([$3],
- [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ],
- [pkg_failed=yes])
- else
- pkg_failed=untried
-fi[]dnl
-])# _PKG_CONFIG
-
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
-AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
-
-
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_MODULES],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
-AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-
-pkg_failed=no
-AC_MSG_CHECKING([for $1])
-
-_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-_PKG_CONFIG([$1][_LIBS], [libs], [$2])
-
-m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
-and $1[]_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.])
-
-if test $pkg_failed = yes; then
- AC_MSG_RESULT([no])
- _PKG_SHORT_ERRORS_SUPPORTED
- if test $_pkg_short_errors_supported = yes; then
- $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
- else
- $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
-
- m4_default([$4], [AC_MSG_ERROR(
-[Package requirements ($2) were not met:
-
-$$1_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-_PKG_TEXT])[]dnl
- ])
-elif test $pkg_failed = untried; then
- AC_MSG_RESULT([no])
- m4_default([$4], [AC_MSG_FAILURE(
-[The pkg-config script could not be found or is too old. Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-_PKG_TEXT
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
- ])
-else
- $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
- $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
- AC_MSG_RESULT([yes])
- $3
-fi[]dnl
-])# PKG_CHECK_MODULES
-
-
-# PKG_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable pkgconfigdir as the location where a module
-# should install pkg-config .pc files. By default the directory is
-# $libdir/pkgconfig, but the default can be changed by passing
-# DIRECTORY. The user can override through the --with-pkgconfigdir
-# parameter.
-AC_DEFUN([PKG_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
-m4_pushdef([pkg_description],
- [pkg-config installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([pkgconfigdir],
- [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
- [with_pkgconfigdir=]pkg_default)
-AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-]) dnl PKG_INSTALLDIR
-
-
-# PKG_NOARCH_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable noarch_pkgconfigdir as the location where a
-# module should install arch-independent pkg-config .pc files. By
-# default the directory is $datadir/pkgconfig, but the default can be
-# changed by passing DIRECTORY. The user can override through the
-# --with-noarch-pkgconfigdir parameter.
-AC_DEFUN([PKG_NOARCH_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
-m4_pushdef([pkg_description],
- [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([noarch-pkgconfigdir],
- [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
- [with_noarch_pkgconfigdir=]pkg_default)
-AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-]) dnl PKG_NOARCH_INSTALLDIR
-
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.12'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.12.1], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too. Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.12.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
-# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is '.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ([2.52])dnl
- m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 17
-
-# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
- [$1], [CXX], [depcc="$CXX" am_compiler_list=],
- [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
- [$1], [UPC], [depcc="$UPC" am_compiler_list=],
- [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named 'D' -- because '-MD' means "put the output
- # in D".
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
- # Solaris 10 /bin/sh.
- echo '/* dummy */' > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with '-c' and '-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle '-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs.
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # After this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested.
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok '-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE([dependency-tracking], [dnl
-AS_HELP_STRING(
- [--enable-dependency-tracking],
- [do not reject slow dependency extractors])
-AS_HELP_STRING(
- [--disable-dependency-tracking],
- [speeds up one-time build])])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named 'Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running 'make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each '.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 19
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[AC_DIAGNOSE([obsolete],
-[$0: two- and three-arguments forms are deprecated. For more info, see:
-http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation])
-m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(
- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
- [ok:ok],,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
- AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
-AM_MISSING_PROG([AUTOCONF], [autoconf])
-AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
-AM_MISSING_PROG([AUTOHEADER], [autoheader])
-AM_MISSING_PROG([MAKEINFO], [makeinfo])
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES([CC])],
- [m4_define([AC_PROG_CC],
- m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES([CXX])],
- [m4_define([AC_PROG_CXX],
- m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES([OBJC])],
- [m4_define([AC_PROG_OBJC],
- m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-dnl Support for Objective C++ was only introduced in Autoconf 2.65,
-dnl but we still cater to Autoconf 2.62.
-m4_ifdef([AC_PROG_OBJCXX],
-[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
- [_AM_DEPENDENCIES([OBJCXX])],
- [m4_define([AC_PROG_OBJCXX],
- m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-AC_SUBST([install_sh])])
-
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 7
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN(['missing' script is too old or missing])
-fi
-])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# --------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[[\\\"\#\$\&\'\`$am_lf]]*)
- AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
- alias in your environment])
- fi
- if test "$[2]" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT([yes])
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
- am_sleep_pid=$!
-fi
-AC_CONFIG_COMMANDS_PRE(
- [AC_MSG_CHECKING([that generated files are newer than configure])
- if test -n "$am_sleep_pid"; then
- # Hide warnings about reused PIDs.
- wait $am_sleep_pid 2>/dev/null
- fi
- AC_MSG_RESULT([done])])
-rm -f conftest.file
-])
-
-# Copyright (C) 2009-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# ("yes" being less verbose, "no" or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules], [dnl
-AS_HELP_STRING(
- [--enable-silent-rules],
- [less verbose build output (undo: "make V=1")])
-AS_HELP_STRING(
- [--disable-silent-rules],
- [verbose build output (undo: "make V=0")])dnl
-])
-case $enable_silent_rules in @%:@ (((
- yes) AM_DEFAULT_VERBOSITY=0;;
- no) AM_DEFAULT_VERBOSITY=1;;
- *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-dnl
-dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
-dnl do not support nested variable expansions.
-dnl See automake bug#9928 and bug#10237.
-am_make=${MAKE-make}
-AC_CACHE_CHECK([whether $am_make supports nested variables],
- [am_cv_make_support_nested_variables],
- [if AS_ECHO([['TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
- @$(TRUE)
-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
- am_cv_make_support_nested_variables=yes
-else
- am_cv_make_support_nested_variables=no
-fi])
-if test $am_cv_make_support_nested_variables = yes; then
- dnl Using '$V' instead of '$(V)' breaks IRIX make.
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AC_SUBST([AM_V])dnl
-AM_SUBST_NOTMAKE([AM_V])dnl
-AC_SUBST([AM_DEFAULT_V])dnl
-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor 'install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in "make install-strip", and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip". However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of 'v7', 'ustar', or 'pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of '-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..fe0d009
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,45 @@
+#!/bin/sh -e
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2009,2010 Greg Kroah-Hartman <gregkh@suse.de>
+
+if test ! -f usbhid-dump/bootstrap; then
+git submodule update --init --recursive
+fi
+
+cd usbhid-dump
+./bootstrap
+cd ..
+
+#gtkdocize
+autoreconf --install --symlink
+
+MYCFLAGS="-g -Wall \
+-Wmissing-declarations -Wmissing-prototypes \
+-Wnested-externs -Wpointer-arith \
+-Wpointer-arith -Wsign-compare -Wchar-subscripts \
+-Wstrict-prototypes -Wshadow \
+-Wformat=2 -Wtype-limits"
+
+case "$CFLAGS" in
+ *-O[0-9]*)
+ ;;
+ *)
+ MYCFLAGS="$MYCFLAGS -O2"
+ ;;
+esac
+
+libdir() {
+ echo $(cd $1/$(gcc -print-multi-os-directory); pwd)
+}
+
+args="--prefix=/usr \
+--sysconfdir=/etc \
+--sbindir=/sbin \
+--libdir=$(libdir /usr/lib) \
+--with-rootlibdir=$(libdir /lib) \
+--libexecdir=/lib/udev \
+--with-selinux \
+--enable-gtk-doc"
+
+export CFLAGS="$CFLAGS $MYCFLAGS"
+./configure $args $@
diff --git a/config.h.in b/config.h.in
deleted file mode 100644
index 433c942..0000000
--- a/config.h.in
+++ /dev/null
@@ -1,107 +0,0 @@
-/* config.h.in. Generated from configure.ac by autoheader. */
-
-/* Define to 1 if you have the <byteswap.h> header file. */
-#undef HAVE_BYTESWAP_H
-
-/* Define to 1 if you have the `iconv' function. */
-#undef HAVE_ICONV
-
-/* 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 `nl_langinfo' function. */
-#undef HAVE_NL_LANGINFO
-
-/* 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
-
-/* 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
-
-/* 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
-
-/* Enable large inode numbers on Mac OS X 10.5. */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* 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
diff --git a/configure b/configure
deleted file mode 100755
index 48fa6bb..0000000
--- a/configure
+++ /dev/null
@@ -1,6328 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for usbutils 007.
-#
-# Report bugs to <linux-usb@vger.kernel.org>.
-#
-#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
- # into an infinite loop, continuously re-executing ourselves.
- if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
- _as_can_reexec=no; export _as_can_reexec;
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
- fi
- # We don't want this to propagate to other subprocesses.
- { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- export CONFIG_SHELL
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: linux-usb@vger.kernel.org about your system, including
-$0: any error possibly output before this message. Then
-$0: install a modern shell, or manually run the script
-$0: under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
- # already done that, so ensure we don't try to do so again and fall
- # in an infinite loop. This has already happened in practice.
- _as_can_reexec=no; export _as_can_reexec
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='usbutils'
-PACKAGE_TARNAME='usbutils'
-PACKAGE_VERSION='007'
-PACKAGE_STRING='usbutils 007'
-PACKAGE_BUGREPORT='linux-usb@vger.kernel.org'
-PACKAGE_URL=''
-
-ac_default_prefix=/usr
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-enable_option_checking=no
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-subdirs
-LIBUSB_LIBS
-LIBUSB_CFLAGS
-PKG_CONFIG_LIBDIR
-PKG_CONFIG_PATH
-PKG_CONFIG
-INSTALL_USBIDS_FALSE
-INSTALL_USBIDS_TRUE
-HAVE_ZLIB_FALSE
-HAVE_ZLIB_TRUE
-EGREP
-GREP
-CPP
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_silent_rules
-enable_dependency_tracking
-enable_largefile
-enable_zlib
-enable_usbids
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP
-PKG_CONFIG
-PKG_CONFIG_PATH
-PKG_CONFIG_LIBDIR
-LIBUSB_CFLAGS
-LIBUSB_LIBS'
-ac_subdirs_all='usbhid-dump'
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures usbutils 007 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/usbutils]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of usbutils 007:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-silent-rules less verbose build output (undo: "make V=1")
- --disable-silent-rules verbose build output (undo: "make V=0")
- --enable-dependency-tracking
- do not reject slow dependency extractors
- --disable-dependency-tracking
- speeds up one-time build
- --disable-largefile omit support for large files
- --disable-zlib disable support for zlib
- --disable-usbids disable installing usb.ids [default=install]
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
- PKG_CONFIG path to pkg-config utility
- PKG_CONFIG_PATH
- directories to add to pkg-config's search path
- PKG_CONFIG_LIBDIR
- path overriding pkg-config's built-in search path
- LIBUSB_CFLAGS
- C compiler flags for LIBUSB, overriding pkg-config
- LIBUSB_LIBS linker flags for LIBUSB, overriding pkg-config
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <linux-usb@vger.kernel.org>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-usbutils configure 007
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ---------------------------------------- ##
-## Report this to linux-usb@vger.kernel.org ##
-## ---------------------------------------- ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by usbutils $as_me 007, which was
-generated by GNU Autoconf 2.69. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-am__api_version='1.12'
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
- alias in your environment" "$LINENO" 5
- fi
- if test "$2" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
- am_sleep_pid=$!
-fi
-
-rm -f conftest.file
-
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip". However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='usbutils'
- VERSION='007'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-mkdir_p="$MKDIR_P"
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
- enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in # (((
- yes) AM_DEFAULT_VERBOSITY=0;;
- no) AM_DEFAULT_VERBOSITY=1;;
- *) AM_DEFAULT_VERBOSITY=0;;
-esac
-am_make=${MAKE-make}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-if ${am_cv_make_support_nested_variables+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if $as_echo 'TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
- @$(TRUE)
-.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
- am_cv_make_support_nested_variables=yes
-else
- am_cv_make_support_nested_variables=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-$as_echo "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AM_BACKSLASH='\'
-
-
-
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named 'D' -- because '-MD' means "put the output
- # in D".
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
- # Solaris 10 /bin/sh.
- echo '/* dummy */' > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with '-c' and '-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle '-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs.
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # After this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested.
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok '-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
- ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = xyes; then :
- MINIX=yes
-else
- MINIX=
-fi
-
-
- if test "$MINIX" = yes; then
-
-$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
-
-
-$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
-
-
-$as_echo "#define _MINIX 1" >>confdefs.h
-
- fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if ${ac_cv_safe_to_define___extensions__+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-# define __EXTENSIONS__ 1
- $ac_includes_default
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_safe_to_define___extensions__=yes
-else
- ac_cv_safe_to_define___extensions__=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
- test $ac_cv_safe_to_define___extensions__ = yes &&
- $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
-
- $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
-
- $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
-
- $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
- $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
-
-
-# Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
- enableval=$enable_largefile;
-fi
-
-if test "$enable_largefile" != no; then
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if ${ac_cv_sys_largefile_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_sys_largefile_CC=no
- if test "$GCC" != yes; then
- ac_save_CC=$CC
- while :; do
- # IRIX 6.2 and later do not support large files by default,
- # so use the C compiler's -n32 option if that helps.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
- break
-fi
-rm -f core conftest.err conftest.$ac_objext
- CC="$CC -n32"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_largefile_CC=' -n32'; break
-fi
-rm -f core conftest.err conftest.$ac_objext
- break
- done
- CC=$ac_save_CC
- rm -f conftest.$ac_ext
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
- if test "$ac_cv_sys_largefile_CC" != no; then
- CC=$CC$ac_cv_sys_largefile_CC
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if ${ac_cv_sys_file_offset_bits+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_file_offset_bits=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#define _FILE_OFFSET_BITS 64
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_file_offset_bits=64; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_sys_file_offset_bits=unknown
- break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
- no | unknown) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
-;;
-esac
-rm -rf conftest*
- if test $ac_cv_sys_file_offset_bits = unknown; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if ${ac_cv_sys_large_files+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_large_files=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#define _LARGE_FILES 1
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_large_files=1; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_sys_large_files=unknown
- break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-$as_echo "$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
- no | unknown) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-#define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-;;
-esac
-rm -rf conftest*
- fi
-
-
-fi
-
-
-for ac_header in byteswap.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "byteswap.h" "ac_cv_header_byteswap_h" "$ac_includes_default"
-if test "x$ac_cv_header_byteswap_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_BYTESWAP_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in nl_langinfo iconv
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-# Check whether --enable-zlib was given.
-if test "${enable_zlib+set}" = set; then :
- enableval=$enable_zlib;
-fi
-
-
-HAVE_ZLIB=no
-if test "x$enable_zlib" != "xno"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5
-$as_echo_n "checking for inflateEnd in -lz... " >&6; }
-if ${ac_cv_lib_z_inflateEnd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char inflateEnd ();
-int
-main ()
-{
-return inflateEnd ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_z_inflateEnd=yes
-else
- ac_cv_lib_z_inflateEnd=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5
-$as_echo "$ac_cv_lib_z_inflateEnd" >&6; }
-if test "x$ac_cv_lib_z_inflateEnd" = xyes; then :
- HAVE_ZLIB=yes
-fi
-
-fi
- if test "$HAVE_ZLIB" = "yes"; then
- HAVE_ZLIB_TRUE=
- HAVE_ZLIB_FALSE='#'
-else
- HAVE_ZLIB_TRUE='#'
- HAVE_ZLIB_FALSE=
-fi
-
-
-# Check whether --enable-usbids was given.
-if test "${enable_usbids+set}" = set; then :
- enableval=$enable_usbids;
-fi
-
- if test "x$enable_usbids" != "xno"; then
- INSTALL_USBIDS_TRUE=
- INSTALL_USBIDS_FALSE='#'
-else
- INSTALL_USBIDS_TRUE='#'
- INSTALL_USBIDS_FALSE=
-fi
-
-
-
-
-
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
- ac_pt_PKG_CONFIG=$PKG_CONFIG
- # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $ac_pt_PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_pt_PKG_CONFIG" = x; then
- PKG_CONFIG=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- PKG_CONFIG=$ac_pt_PKG_CONFIG
- fi
-else
- PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
- _pkg_min_version=0.9.0
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- PKG_CONFIG=""
- fi
-fi
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUSB" >&5
-$as_echo_n "checking for LIBUSB... " >&6; }
-
-if test -n "$LIBUSB_CFLAGS"; then
- pkg_cv_LIBUSB_CFLAGS="$LIBUSB_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0 >= 1.0.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libusb-1.0 >= 1.0.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_LIBUSB_CFLAGS=`$PKG_CONFIG --cflags "libusb-1.0 >= 1.0.0" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
-else
- pkg_failed=yes
-fi
- else
- pkg_failed=untried
-fi
-if test -n "$LIBUSB_LIBS"; then
- pkg_cv_LIBUSB_LIBS="$LIBUSB_LIBS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0 >= 1.0.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libusb-1.0 >= 1.0.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_LIBUSB_LIBS=`$PKG_CONFIG --libs "libusb-1.0 >= 1.0.0" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
-else
- pkg_failed=yes
-fi
- else
- pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi
- if test $_pkg_short_errors_supported = yes; then
- LIBUSB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libusb-1.0 >= 1.0.0" 2>&1`
- else
- LIBUSB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libusb-1.0 >= 1.0.0" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$LIBUSB_PKG_ERRORS" >&5
-
- as_fn_error $? "Package requirements (libusb-1.0 >= 1.0.0) were not met:
-
-$LIBUSB_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables LIBUSB_CFLAGS
-and LIBUSB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables LIBUSB_CFLAGS
-and LIBUSB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
- LIBUSB_CFLAGS=$pkg_cv_LIBUSB_CFLAGS
- LIBUSB_LIBS=$pkg_cv_LIBUSB_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-
-ac_config_headers="$ac_config_headers config.h"
-
-ac_config_files="$ac_config_files Makefile"
-
-
-
-subdirs="$subdirs usbhid-dump"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
-$as_echo_n "checking that generated files are newer than configure... " >&6; }
- if test -n "$am_sleep_pid"; then
- # Hide warnings about reused PIDs.
- wait $am_sleep_pid 2>/dev/null
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
-$as_echo "done" >&6; }
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_ZLIB_TRUE}" && test -z "${HAVE_ZLIB_FALSE}"; then
- as_fn_error $? "conditional \"HAVE_ZLIB\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${INSTALL_USBIDS_TRUE}" && test -z "${INSTALL_USBIDS_FALSE}"; then
- as_fn_error $? "conditional \"INSTALL_USBIDS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by usbutils $as_me 007, which was
-generated by GNU Autoconf 2.69. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <linux-usb@vger.kernel.org>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-usbutils config.status 007
-configured by $0, generated by GNU Autoconf 2.69,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named 'Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running 'make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-
-#
-# CONFIG_SUBDIRS section.
-#
-if test "$no_recursion" != yes; then
-
- # Remove --cache-file, --srcdir, and --disable-option-checking arguments
- # so they do not pile up.
- ac_sub_configure_args=
- ac_prev=
- eval "set x $ac_configure_args"
- shift
- for ac_arg
- do
- if test -n "$ac_prev"; then
- ac_prev=
- continue
- fi
- case $ac_arg in
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
- | --c=*)
- ;;
- --config-cache | -C)
- ;;
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- ;;
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- ;;
- --disable-option-checking)
- ;;
- *)
- case $ac_arg in
- *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append ac_sub_configure_args " '$ac_arg'" ;;
- esac
- done
-
- # Always prepend --prefix to ensure using the same prefix
- # in subdir configurations.
- ac_arg="--prefix=$prefix"
- case $ac_arg in
- *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args"
-
- # Pass --silent
- if test "$silent" = yes; then
- ac_sub_configure_args="--silent $ac_sub_configure_args"
- fi
-
- # Always prepend --disable-option-checking to silence warnings, since
- # different subdirs can have different --enable and --with options.
- ac_sub_configure_args="--disable-option-checking $ac_sub_configure_args"
-
- ac_popdir=`pwd`
- for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
-
- # Do not complain, so a configure script can configure whichever
- # parts of a large source tree are present.
- test -d "$srcdir/$ac_dir" || continue
-
- ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
- $as_echo "$as_me:${as_lineno-$LINENO}: $ac_msg" >&5
- $as_echo "$ac_msg" >&6
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- cd "$ac_dir"
-
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- ac_sub_configure=$ac_srcdir/configure.gnu
- elif test -f "$ac_srcdir/configure"; then
- ac_sub_configure=$ac_srcdir/configure
- elif test -f "$ac_srcdir/configure.in"; then
- # This should be Cygnus configure.
- ac_sub_configure=$ac_aux_dir/configure
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $ac_dir" >&5
-$as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
- ac_sub_configure=
- fi
-
- # The recursion is here.
- if test -n "$ac_sub_configure"; then
- # Make the cache file name correct relative to the subdirectory.
- case $cache_file in
- [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;;
- *) # Relative name.
- ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
-$as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
- # The eval makes quoting arguments work.
- eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
- --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
- as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
- fi
-
- cd "$ac_popdir"
- done
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
- usbutils $VERSION
- =============
-
- prefix: ${prefix}
- datarootdir: ${datarootdir}
- datadir: ${datadir}
- mandir: ${mandir}
-
- usb.ids: ${datadir}/usb.ids
- zlib: ${USE_ZLIB}
-
- compiler: ${CC}
- cflags: ${CFLAGS}
- ldflags: ${LDFLAGS}
-" >&5
-$as_echo "
- usbutils $VERSION
- =============
-
- prefix: ${prefix}
- datarootdir: ${datarootdir}
- datadir: ${datadir}
- mandir: ${mandir}
-
- usb.ids: ${datadir}/usb.ids
- zlib: ${USE_ZLIB}
-
- compiler: ${CC}
- cflags: ${CFLAGS}
- ldflags: ${LDFLAGS}
-" >&6; }
diff --git a/configure.ac b/configure.ac
index adfb4b6..21bb6b2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,8 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2009 Kay Sievers <kay.sievers@vrfy.org>
+
AC_INIT([usbutils],
- [007],
+ [013],
[linux-usb@vger.kernel.org])
AC_PREREQ(2.60)
AM_INIT_AUTOMAKE([check-news foreign 1.9 dist-bzip2])
@@ -12,19 +15,9 @@ AC_SYS_LARGEFILE
AC_CHECK_HEADERS([byteswap.h])
AC_CHECK_FUNCS([nl_langinfo iconv])
-AC_ARG_ENABLE(zlib,
- AS_HELP_STRING(--disable-zlib,disable support for zlib))
-
-HAVE_ZLIB=no
-AS_IF([test "x$enable_zlib" != "xno"],
- [AC_CHECK_LIB(z, inflateEnd, HAVE_ZLIB=yes)])
-AM_CONDITIONAL(HAVE_ZLIB, [test "$HAVE_ZLIB" = "yes"])
-
-AC_ARG_ENABLE(usbids,
- AS_HELP_STRING(--disable-usbids, [disable installing usb.ids @<:@default=install@:>@]))
-AM_CONDITIONAL([INSTALL_USBIDS], [test "x$enable_usbids" != "xno"])
+PKG_CHECK_MODULES(LIBUSB, libusb-1.0 >= 1.0.14)
-PKG_CHECK_MODULES(LIBUSB, libusb-1.0 >= 1.0.0)
+PKG_CHECK_MODULES(UDEV, libudev >= 196)
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
@@ -43,7 +36,6 @@ AC_MSG_RESULT([
mandir: ${mandir}
usb.ids: ${datadir}/usb.ids
- zlib: ${USE_ZLIB}
compiler: ${CC}
cflags: ${CFLAGS}
diff --git a/depcomp b/depcomp
deleted file mode 100755
index debb6ff..0000000
--- a/depcomp
+++ /dev/null
@@ -1,707 +0,0 @@
-#! /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:
diff --git a/desc-defs.c b/desc-defs.c
new file mode 100644
index 0000000..d348abc
--- /dev/null
+++ b/desc-defs.c
@@ -0,0 +1,1131 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * USB descriptor definitions
+ *
+ * Copyright (C) 2017-2018 Michael Drake <michael.drake@codethink.co.uk>
+ */
+
+#include "config.h"
+
+#include <stdbool.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#include "desc-defs.h"
+
+/** Macro for computing number of elements in array. */
+#define ARRAY_LEN(a) ((sizeof(a)) / (sizeof(a[0])))
+
+/**
+ * Undefined descriptor
+ *
+ * Ensures remaining data is dumped as garbage at end of descriptor.
+ */
+const struct desc desc_undefined[] = {
+ { .field = NULL }
+};
+
+/** USB Audio Device Class 1 Channel Names. (Note: Order matters.) */
+static const char * const uac1_channel_names[] = {
+ "Left Front (L)", "Right Front (R)", "Center Front (C)",
+ "Low Frequency Enhancement (LFE)", "Left Surround (LS)",
+ "Right Surround (RS)", "Left of Center (LC)", "Right of Center (RC)",
+ "Surround (S)", "Side Left (SL)", "Side Right (SR)", "Top (T)"
+};
+
+/** USB Audio Device Class 2 Channel Names. (Note: Order matters.) */
+static const char * const uac2_channel_names[] = {
+ "Front Left (FL)", "Front Right (FR)", "Front Center (FC)",
+ "Low Frequency Effects (LFE)", "Back Left (BL)", "Back Right (BR)",
+ "Front Left of Center (FLC)", "Front Right of Center (FRC)",
+ "Back Center (BC)", "Side Left (SL)", "Side Right (SR)",
+ "Top Center (TC)", "Top Front Left (TFL)", "Top Front Center (TFC)",
+ "Top Front Right (TFR)", "Top Back Left (TBL)", "Top Back Center (TBC)",
+ "Top Back Right (TBR)", "Top Front Left of Center (TFLC)",
+ "Top Front Right of Center (TFRC)", "Left Low Frequency Effects (LLFE)",
+ "Right Low Frequency Effects (RLFE)", "Top Side Left (TSL)",
+ "Top Side Right (TSR)", "Bottom Center (BC)",
+ "Back Left of Center (BLC)", "Back Right of Center (BRC)"
+};
+
+/** Audio Control Interface Header bmControls; Human readable bit meanings. */
+static const char * const uac2_interface_header_bmcontrols[] = {
+ [0] = "Latency control",
+ [1] = NULL
+};
+
+/** UAC1: 4.3.2 Class-Specific AC Interface Descriptor; Table 4-2. */
+static const struct desc desc_audio_1_ac_header[] = {
+ { .field = "bcdADC", .size = 2, .type = DESC_BCD },
+ { .field = "wTotalLength", .size = 2, .type = DESC_CONSTANT },
+ { .field = "bInCollection", .size = 1, .type = DESC_CONSTANT },
+ { .field = "baInterfaceNr", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true } },
+ { .field = NULL }
+};
+
+/** UAC2: 4.7.2 Class-Specific AC Interface Descriptor; Table 4-5. */
+static const struct desc desc_audio_2_ac_header[] = {
+ { .field = "bcdADC", .size = 2, .type = DESC_BCD },
+ { .field = "bCategory", .size = 1, .type = DESC_CONSTANT },
+ { .field = "wTotalLength", .size = 2, .type = DESC_NUMBER },
+ { .field = "bmControls", .size = 1, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_interface_header_bmcontrols },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2 Class-Specific AC Interface Descriptor; Table 4-15. */
+static const struct desc desc_audio_3_ac_header[] = {
+ { .field = "bCategory", .size = 1, .type = DESC_CONSTANT },
+ { .field = "wTotalLength", .size = 2, .type = DESC_NUMBER },
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_interface_header_bmcontrols },
+ { .field = NULL }
+};
+
+/** AudioControl Header descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_header[3] = {
+ desc_audio_1_ac_header,
+ desc_audio_2_ac_header,
+ desc_audio_3_ac_header,
+};
+
+/** UAC2: 4.7.2.10 Effect Unit Descriptor; Table 4-15. */
+static const struct desc desc_audio_2_ac_effect_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wEffectType", .size = 2, .type = DESC_CONSTANT },
+ { .field = "bSourceID", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bmaControls", .size = 4, .type = DESC_BITMAP,
+ .array = { .array = true } },
+ { .field = "iEffects", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2.9 Effect Unit Descriptor; Table 4-33. */
+static const struct desc desc_audio_3_ac_effect_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wEffectType", .size = 2, .type = DESC_CONSTANT },
+ { .field = "bSourceID", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bmaControls", .size = 4, .type = DESC_BITMAP,
+ .array = { .array = true } },
+ { .field = "wEffectsDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = NULL }
+};
+
+/** Effect Unit descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_effect_unit[3] = {
+ NULL, /* UAC1 not supported */
+ desc_audio_2_ac_effect_unit,
+ desc_audio_3_ac_effect_unit,
+};
+
+/** UAC2 Input Terminal bmControls; Human readable bit meanings. */
+static const char * const uac2_input_term_bmcontrols[] = {
+ [0] = "Copy Protect",
+ [1] = "Connector",
+ [2] = "Overload",
+ [3] = "Cluster",
+ [4] = "Underflow",
+ [5] = "Overflow",
+ [6] = NULL
+};
+
+/** UAC3 Input Terminal bmControls; Human readable bit meanings. */
+static const char * const uac3_input_term_bmcontrols[] = {
+ [0] = "Insertion",
+ [1] = "Overload",
+ [2] = "Underflow",
+ [3] = "Overflow",
+ [4] = "Underflow",
+ [5] = NULL
+};
+
+/** UAC1: 4.3.2.1 Input Terminal Descriptor; Table 4-3. */
+static const struct desc desc_audio_1_ac_input_terminal[] = {
+ { .field = "bTerminalID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wTerminalType", .size = 2, .type = DESC_TERMINAL_STR },
+ { .field = "bAssocTerminal", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bNrChannels", .size = 1, .type = DESC_NUMBER },
+ { .field = "wChannelConfig", .size = 2, .type = DESC_BITMAP_STRINGS,
+ .bitmap_strings = { .strings = uac1_channel_names, .count = 12 } },
+ { .field = "iChannelNames", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = "iTerminal", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC2: 4.7.2.4 Input Terminal Descriptor; Table 4-9. */
+static const struct desc desc_audio_2_ac_input_terminal[] = {
+ { .field = "bTerminalID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wTerminalType", .size = 2, .type = DESC_TERMINAL_STR },
+ { .field = "bAssocTerminal", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bCSourceID", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bNrChannels", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmChannelConfig", .size = 4, .type = DESC_BITMAP_STRINGS,
+ .bitmap_strings = { .strings = uac2_channel_names, .count = 26 } },
+ { .field = "iChannelNames", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = "bmControls", .size = 2, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_input_term_bmcontrols },
+ { .field = "iTerminal", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2.1 Input Terminal Descriptor; Table 4-16. */
+static const struct desc desc_audio_3_ac_input_terminal[] = {
+ { .field = "bTerminalID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wTerminalType", .size = 2, .type = DESC_TERMINAL_STR },
+ { .field = "bAssocTerminal", .size = 1, .type = DESC_NUMBER },
+ { .field = "bCSourceID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac3_input_term_bmcontrols },
+ { .field = "wClusterDescrID", .size = 2, .type = DESC_NUMBER },
+ { .field = "wExTerminalDescrID", .size = 2, .type = DESC_NUMBER },
+ { .field = "wConnectorsDescrID", .size = 2, .type = DESC_NUMBER },
+ { .field = "wTerminalDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = NULL }
+};
+
+/** Input Terminal descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_input_terminal[3] = {
+ desc_audio_1_ac_input_terminal,
+ desc_audio_2_ac_input_terminal,
+ desc_audio_3_ac_input_terminal,
+};
+
+/** UAC2 Output Terminal bmControls; Human readable bit meanings. */
+static const char * const uac2_output_term_bmcontrols[] = {
+ [0] = "Copy Protect",
+ [1] = "Connector",
+ [2] = "Overload",
+ [3] = "Underflow",
+ [4] = "Overflow",
+ [5] = NULL
+};
+
+/** UAC3 Output Terminal bmControls; Human readable bit meanings. */
+static const char * const uac3_output_term_bmcontrols[] = {
+ [0] = "Insertion",
+ [1] = "Overload",
+ [2] = "Underflow",
+ [3] = "Overflow",
+ [4] = NULL
+};
+
+/** UAC1: 4.3.2.2 Output Terminal Descriptor; Table 4-4. */
+static const struct desc desc_audio_1_ac_output_terminal[] = {
+ { .field = "bTerminalID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wTerminalType", .size = 2, .type = DESC_TERMINAL_STR },
+ { .field = "bAssocTerminal", .size = 1, .type = DESC_NUMBER },
+ { .field = "bSourceID", .size = 1, .type = DESC_NUMBER },
+ { .field = "iTerminal", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC2: 4.7.2.5 Output Terminal Descriptor; Table 4-10. */
+static const struct desc desc_audio_2_ac_output_terminal[] = {
+ { .field = "bTerminalID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wTerminalType", .size = 2, .type = DESC_TERMINAL_STR },
+ { .field = "bAssocTerminal", .size = 1, .type = DESC_NUMBER },
+ { .field = "bSourceID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bCSourceID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmControls", .size = 2, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_output_term_bmcontrols },
+ { .field = "iTerminal", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2.2 Output Terminal Descriptor; Table 4-17. */
+static const struct desc desc_audio_3_ac_output_terminal[] = {
+ { .field = "bTerminalID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wTerminalType", .size = 2, .type = DESC_TERMINAL_STR },
+ { .field = "bAssocTerminal", .size = 1, .type = DESC_NUMBER },
+ { .field = "bSourceID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bCSourceID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac3_output_term_bmcontrols },
+ { .field = "wExTerminalDescrID", .size = 2, .type = DESC_NUMBER },
+ { .field = "wConnectorsDescrID", .size = 2, .type = DESC_NUMBER },
+ { .field = "wTerminalDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = NULL }
+};
+
+/** Output Terminal descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_output_terminal[3] = {
+ desc_audio_1_ac_output_terminal,
+ desc_audio_2_ac_output_terminal,
+ desc_audio_3_ac_output_terminal,
+};
+
+/** UAC3: 4.5.2.3.1 Extended Terminal Header Descriptor; Table 4-18. */
+static const struct desc desc_audio_3_ac_extended_terminal_header[] = {
+ { .field = "wDescriptorID", .size = 2, .type = DESC_NUMBER },
+ { .field = "bNrChannels", .size = 1, .type = DESC_NUMBER },
+ { .field = NULL }
+};
+
+/** Extended Terminal descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_extended_terminal[3] = {
+ NULL, /* UAC1 not supported */
+ NULL, /* UAC2 not supported */
+ desc_audio_3_ac_extended_terminal_header,
+};
+
+/** UAC3: 4.5.2.15 Power Domain Descriptor; Table 4-46. */
+static const struct desc desc_audio_3_ac_power_domain[] = {
+ { .field = "bPowerDomainID", .size = 1, .type = DESC_NUMBER },
+ { .field = "waRecoveryTime(1)", .size = 2, .type = DESC_NUMBER },
+ { .field = "waRecoveryTime(2)", .size = 2, .type = DESC_NUMBER },
+ { .field = "bNrEntities", .size = 1, .type = DESC_NUMBER },
+ { .field = "baEntityID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrEntities" } },
+ { .field = "wPDomainDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = NULL }
+};
+
+/** Power Domain descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_power_domain[3] = {
+ NULL, /* UAC1 not supported */
+ NULL, /* UAC2 not supported */
+ desc_audio_3_ac_power_domain,
+};
+
+/** UAC2 Mixer Unit bmControls; Human readable bit meanings. */
+static const char * const uac2_mixer_unit_bmcontrols[] = {
+ [0] = "Cluster",
+ [1] = "Underflow",
+ [2] = "Overflow",
+ [3] = NULL
+};
+
+/** UAC3 Mixer Unit bmControls; Human readable bit meanings. */
+static const char * const uac3_mixer_unit_bmcontrols[] = {
+ [0] = "Underflow",
+ [1] = "Overflow",
+ [2] = NULL
+};
+
+/** UAC1: 4.3.2.3 Mixer Unit Descriptor; Table 4-5. */
+static const struct desc desc_audio_1_ac_mixer_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "bNrChannels", .size = 1, .type = DESC_NUMBER },
+ { .field = "wChannelConfig", .size = 2, .type = DESC_BITMAP_STRINGS,
+ .bitmap_strings = { .strings = uac1_channel_names, .count = 12 } },
+ { .field = "iChannelNames", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = "bmControls", .size = 1, .type = DESC_BITMAP,
+ .array = { .array = true, .bits = true,
+ .length_field1 = "bNrInPins",
+ .length_field2 = "bNrChannels" } },
+ { .field = "iMixer", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC2: 4.7.2.6 Mixer Unit Descriptor; Table 4-11. */
+static const struct desc desc_audio_2_ac_mixer_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "bNrChannels", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmChannelConfig",.size = 4, .type = DESC_BITMAP_STRINGS,
+ .bitmap_strings = { .strings = uac2_channel_names, .count = 26 } },
+ { .field = "iChannelNames", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = "bmMixerControls",.size = 1, .type = DESC_BITMAP,
+ .array = { .array = true, .bits = true,
+ .length_field1 = "bNrInPins",
+ .length_field2 = "bNrChannels" } },
+ { .field = "bmControls", .size = 1, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_mixer_unit_bmcontrols },
+ { .field = "iMixer", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2.5 Mixer Unit Descriptor; Table 4-29. */
+static const struct desc desc_audio_3_ac_mixer_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "wClusterDescrID",.size = 2, .type = DESC_NUMBER },
+ { .field = "bmMixerControls",.size = 1, .type = DESC_BITMAP,
+ .array = { .array = true } },
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac3_mixer_unit_bmcontrols },
+ { .field = "wMixerDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = NULL }
+};
+
+/** Mixer Unit descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_mixer_unit[3] = {
+ desc_audio_1_ac_mixer_unit,
+ desc_audio_2_ac_mixer_unit,
+ desc_audio_3_ac_mixer_unit,
+};
+
+/** Selector Unit bmControls; Human readable bit meanings. */
+static const char * const uac2_selector_unit_bmcontrols[] = {
+ [0] = "Selector",
+ [1] = NULL
+};
+
+/** UAC1: 4.3.2.4 Selector Unit Descriptor; Table 4-6. */
+static const struct desc desc_audio_1_ac_selector_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "iSelector", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC2: 4.7.2.7 Selector Unit Descriptor; Table 4-12. */
+static const struct desc desc_audio_2_ac_selector_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "bmControls", .size = 1, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_selector_unit_bmcontrols },
+ { .field = "iSelector", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2.6 Selector Unit Descriptor; Table 4-30. */
+static const struct desc desc_audio_3_ac_selector_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_selector_unit_bmcontrols },
+ { .field = "wSelectorDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = NULL }
+};
+
+/** Selector Unit descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_selector_unit[3] = {
+ desc_audio_1_ac_selector_unit,
+ desc_audio_2_ac_selector_unit,
+ desc_audio_3_ac_selector_unit,
+};
+
+/** UAC1: Table A-7: Processing Unit Process Types */
+static const char * const uac1_proc_unit_types[] = {
+ [0] = "Undefined",
+ [1] = "Up/Down-mix",
+ [2] = "Dolby Prologic",
+ [3] = "3D Stereo Extender",
+ [4] = "Reverberation",
+ [5] = "Chorus",
+ [6] = "Dyn Range Comp",
+ [7] = NULL
+};
+
+/** UAC1: Up/Down-mix and Dolby Prologic proc unit descriptor extensions Table 4-9, Table 4-10. */
+static const struct desc desc_audio_1_ac_proc_unit_extended[] = {
+ { .field = "bNrModes", .size = 1, .type = DESC_NUMBER },
+ { .field = "waModes", .size = 2, .type = DESC_BITMAP,
+ .array = { .array = true, .length_field1 = "bNrModes" } },
+ { .field = NULL }
+};
+
+/** UAC1: Table A-7: Processing Unit Process Types */
+static const struct desc_ext desc_audio_1_ac_proc_unit_specific[] = {
+ { .type = 1, .desc = desc_audio_1_ac_proc_unit_extended },
+ { .type = 2, .desc = desc_audio_1_ac_proc_unit_extended },
+ { .desc = NULL }
+};
+
+/** UAC1: 4.3.2.6 Processing Unit Descriptor; Table 4-8. */
+static const struct desc desc_audio_1_ac_processing_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wProcessType", .size = 2, .type = DESC_NUMBER_STRINGS,
+ .number_strings = uac1_proc_unit_types },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "bNrChannels", .size = 1, .type = DESC_NUMBER },
+ { .field = "wChannelConfig", .size = 2, .type = DESC_BITMAP_STRINGS,
+ .bitmap_strings = { .strings = uac1_channel_names, .count = 12 } },
+ { .field = "iChannelNames", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = "bControlSize", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmControls", .size = 1, .type = DESC_BITMAP,
+ .array = { .array = true, .length_field1 = "bControlSize" } },
+ { .field = "iProcessing", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = "Process-specific", .size = 1, .type = DESC_EXTENSION,
+ .extension = { .type_field = "wProcessType", .d = desc_audio_1_ac_proc_unit_specific } },
+ { .field = NULL }
+};
+
+/** UAC2: 4.7.2.11.1 Up/Down-mix Processing Unit Descriptor; Table 4-21. */
+static const struct desc desc_audio_2_ac_proc_unit_up_down_mix[] = {
+ { .field = "bNrModes", .size = 1, .type = DESC_NUMBER },
+ { .field = "daModes", .size = 4, .type = DESC_BITMAP,
+ .array = { .array = true, .length_field1 = "bNrModes" } },
+ { .field = NULL }
+};
+
+/** UAC2: 4.7.2.11.2 Dolby prologic Processing Unit Descriptor; Table 4-22. */
+static const struct desc desc_audio_2_ac_proc_unit_dolby_prologic[] = {
+ { .field = "bNrModes", .size = 1, .type = DESC_NUMBER },
+ { .field = "daModes", .size = 4, .type = DESC_BITMAP,
+ .array = { .array = true, .length_field1 = "bNrModes" } },
+ { .field = NULL }
+};
+
+/** UAC2: Table A-12: Processing Unit Process Types */
+static const struct desc_ext desc_audio_2_ac_proc_unit_specific[] = {
+ { .type = 1, .desc = desc_audio_2_ac_proc_unit_up_down_mix },
+ { .type = 2, .desc = desc_audio_2_ac_proc_unit_dolby_prologic },
+ { .desc = NULL }
+};
+
+/** UAC2: Table A-12: Processing Unit Process Types */
+static const char * const uac2_proc_unit_types[] = {
+ [0] = "Undefined",
+ [1] = "Up/Down-mix",
+ [2] = "Dolby Prologic",
+ [3] = "Stereo Extender",
+ [4] = NULL
+};
+
+/** UAC2: 4.7.2.11 Processing Unit Descriptor; Table 4-20. */
+static const struct desc desc_audio_2_ac_processing_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wProcessType", .size = 2, .type = DESC_NUMBER_STRINGS,
+ .number_strings = uac2_proc_unit_types },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "bNrChannels", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmChannelConfig", .size = 4, .type = DESC_BITMAP_STRINGS,
+ .bitmap_strings = { .strings = uac2_channel_names, .count = 26 } },
+ { .field = "iChannelNames", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = "bmControls", .size = 2, .type = DESC_BITMAP },
+ { .field = "iProcessing", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = "Process-specific", .size = 1, .type = DESC_EXTENSION,
+ .extension = { .type_field = "wProcessType", .d = desc_audio_2_ac_proc_unit_specific } },
+ { .field = NULL }
+};
+
+/** Processor unit Up/Down-mix bmControls; Human readable bit meanings. */
+static const char * const uac3_proc_unit_up_down_mix_bmcontrols[] = {
+ [0] = "Mode Select",
+ [1] = "Underflow",
+ [2] = "Overflow",
+ [3] = NULL
+};
+
+/** UAC3: 4.5.2.10.1 Up/Down-mix Processing Unit Descriptor; Table 4-39. */
+static const struct desc desc_audio_3_ac_proc_unit_up_down_mix[] = {
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac3_proc_unit_up_down_mix_bmcontrols },
+ { .field = "bNrModes", .size = 1, .type = DESC_NUMBER },
+ { .field = "waClusterDescrID", .size = 2, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrModes" } },
+ { .field = NULL }
+};
+
+/** Processor unit stereo extender bmControls; Human readable bit meanings. */
+static const char * const uac3_proc_unit_stereo_extender_bmcontrols[] = {
+ [0] = "Width",
+ [1] = "Underflow",
+ [2] = "Overflow",
+ [3] = NULL
+};
+
+/** UAC3: 4.5.2.10.2 Stereo Extender Processing Unit Descriptor; Table 4-40. */
+static const struct desc desc_audio_3_ac_proc_unit_stereo_extender[] = {
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac3_proc_unit_stereo_extender_bmcontrols },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2.10.3 Multi Func Proc Unit Descriptor; Algorithms; Table 4-41. */
+static const char *uac3_proc_unit_multi_func_algorithms[] = {
+ [0] = "Algorithm Undefined.",
+ [1] = "Beam Forming.",
+ [2] = "Acoustic Echo Cancellation.",
+ [3] = "Active Noise Cancellation.",
+ [4] = "Blind Source Separation.",
+ [5] = "Noise Suppression/Reduction.",
+ [6] = NULL
+};
+
+/** Processor unit Multi Func bmControls; Human readable bit meanings. */
+static const char * const uac3_proc_unit_multi_func_bmcontrols[] = {
+ [0] = "Underflow",
+ [1] = "Overflow",
+ [2] = NULL
+};
+
+/** UAC3: 4.5.2.10.3 Multi Function Processing Unit Descriptor; Table 4-41. */
+static const struct desc desc_audio_3_ac_proc_unit_multi_function[] = {
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac3_proc_unit_multi_func_bmcontrols },
+ { .field = "wClusterDescrID", .size = 2, .type = DESC_NUMBER, },
+ { .field = "bmAlgorithms", .size = 4, .type = DESC_BITMAP_STRINGS,
+ .bitmap_strings = {
+ .strings = uac3_proc_unit_multi_func_algorithms,
+ .count = 6
+ } },
+ { .field = NULL }
+};
+
+/** UAC3: Table A-20: Processing Unit Process Types */
+static const char * const uac3_proc_unit_types[] = {
+ [0] = "Undefined",
+ [1] = "Up/Down-mix",
+ [2] = "Stereo Extender",
+ [3] = "Multi-Function",
+ [4] = NULL
+};
+
+/** UAC3: Table A-20: Processing Unit Process Types */
+static const struct desc_ext desc_audio_3_ac_proc_unit_specific[] = {
+ { .type = 1, .desc = desc_audio_3_ac_proc_unit_up_down_mix },
+ { .type = 2, .desc = desc_audio_3_ac_proc_unit_stereo_extender },
+ { .type = 3, .desc = desc_audio_3_ac_proc_unit_multi_function },
+ { .desc = NULL }
+};
+
+/** UAC3: 4.5.2.10 Processing Unit Descriptor; Table 4-38. */
+static const struct desc desc_audio_3_ac_processing_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wProcessType", .size = 2, .type = DESC_NUMBER_STRINGS,
+ .number_strings = uac3_proc_unit_types },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "wProcessingDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = "Process-specific", .size = 1, .type = DESC_EXTENSION,
+ .extension = { .type_field = "wProcessType", .d = desc_audio_3_ac_proc_unit_specific } },
+ { .field = NULL }
+};
+
+/** Processing Unit descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_processing_unit[3] = {
+ desc_audio_1_ac_processing_unit,
+ desc_audio_2_ac_processing_unit,
+ desc_audio_3_ac_processing_unit,
+};
+
+/** Audio Control Feature Unit bmControls; Human readable bit meanings. */
+static const char * const uac_feature_unit_bmcontrols[] = {
+ [ 0] = "Mute",
+ [ 1] = "Volume",
+ [ 2] = "Bass",
+ [ 3] = "Mid",
+ [ 4] = "Treble",
+ [ 5] = "Graphic Equalizer",
+ [ 6] = "Automatic Gain",
+ [ 7] = "Delay",
+ [ 8] = "Bass Boost",
+ [ 9] = "Loudness",
+ [10] = "Input gain",
+ [11] = "Input gain pad",
+ [12] = "Phase inverter",
+ [13] = NULL
+};
+
+/** UAC1: 4.3.2.5 Feature Unit Descriptor; Table 4-7. */
+static const struct desc desc_audio_1_ac_feature_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bSourceID", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bControlSize", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmaControls", .size_field = "bControlSize", .type = DESC_BMCONTROL_1,
+ .bmcontrol = uac_feature_unit_bmcontrols, .array = { .array = true } },
+ { .field = "iFeature", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC2: 4.7.2.8 Feature Unit Descriptor; Table 4-13. */
+static const struct desc desc_audio_2_ac_feature_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bSourceID", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bmaControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac_feature_unit_bmcontrols, .array = { .array = true } },
+ { .field = "iFeature", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2.7 Feature Unit Descriptor; Table 4-31. */
+static const struct desc desc_audio_3_ac_feature_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bSourceID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmaControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac_feature_unit_bmcontrols, .array = { .array = true } },
+ { .field = "wFeatureDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = NULL }
+};
+
+/** Feature Unit descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_feature_unit[3] = {
+ desc_audio_1_ac_feature_unit,
+ desc_audio_2_ac_feature_unit,
+ desc_audio_3_ac_feature_unit,
+};
+
+/** UAC2 Extension Unit bmControls; Human readable bit meanings. */
+static const char * const uac2_extension_unit_bmcontrols[] = {
+ [0] = "Enable",
+ [1] = "Cluster",
+ [2] = "Underflow",
+ [3] = "Overflow",
+ [4] = NULL
+};
+
+/** UAC3 Extension Unit bmControls; Human readable bit meanings. */
+static const char * const uac3_extension_unit_bmcontrols[] = {
+ [0] = "Underflow",
+ [1] = "Overflow",
+ [2] = NULL
+};
+
+/** UAC1: 4.3.2.7 Extension Unit Descriptor; Table 4-15. */
+static const struct desc desc_audio_1_ac_extension_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wExtensionCode", .size = 2, .type = DESC_CONSTANT },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "bNrChannels", .size = 1, .type = DESC_NUMBER },
+ { .field = "wChannelConfig", .size = 2, .type = DESC_BITMAP_STRINGS,
+ .bitmap_strings = { .strings = uac1_channel_names, .count = 12 } },
+ { .field = "iChannelNames", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = "bControlSize", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmControls", .size = 1, .type = DESC_BITMAP,
+ .array = { .array = true, .length_field1 = "bControlSize" } },
+ { .field = "iExtension", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC2: 4.7.2.12 Extension Unit Descriptor; Table 4-24. */
+static const struct desc desc_audio_2_ac_extension_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wExtensionCode", .size = 2, .type = DESC_CONSTANT },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "bNrChannels", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmChannelConfig", .size = 4, .type = DESC_BITMAP_STRINGS,
+ .bitmap_strings = { .strings = uac2_channel_names, .count = 26 } },
+ { .field = "iChannelNames", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = "bmControls", .size = 1, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_extension_unit_bmcontrols },
+ { .field = "iExtension", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2.11 Extension Unit Descriptor; Table 4-42. */
+static const struct desc desc_audio_3_ac_extension_unit[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wExtensionCode", .size = 2, .type = DESC_CONSTANT },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "wExtensionDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac3_extension_unit_bmcontrols },
+ { .field = "wClusterDescrID", .size = 2, .type = DESC_NUMBER },
+ { .field = NULL }
+};
+
+/** Extension Unit descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_extension_unit[3] = {
+ desc_audio_1_ac_extension_unit,
+ desc_audio_2_ac_extension_unit,
+ desc_audio_3_ac_extension_unit,
+};
+
+/** UAC2 Clock Source bmControls; Human readable bit meanings. */
+static const char * const uac2_clock_source_bmcontrols[] = {
+ [0] = "Clock Frequency",
+ [1] = "Clock Validity",
+ [2] = NULL
+};
+
+static const char * const uac2_clk_src_bmattr[] = {
+ [0] = "External",
+ [1] = "Internal fixed",
+ [2] = "Internal variable",
+ [3] = "Internal programmable"
+};
+
+static const char * const uac3_clk_src_bmattr[] = {
+ [0] = "External",
+ [1] = "Internal",
+ [2] = "(asynchronous)",
+ [3] = "(synchronized to SOF)"
+};
+
+/** Special rendering function for UAC2 clock source bmAttributes */
+static void desc_snowflake_dump_uac2_clk_src_bmattr(
+ unsigned long long value,
+ unsigned int indent)
+{
+ printf(" %s clock %s\n",
+ uac2_clk_src_bmattr[value & 0x3],
+ (value & 0x4) ? uac3_clk_src_bmattr[3] : "");
+}
+
+/** Special rendering function for UAC3 clock source bmAttributes */
+static void desc_snowflake_dump_uac3_clk_src_bmattr(
+ unsigned long long value,
+ unsigned int indent)
+{
+ printf(" %s clock %s\n",
+ uac3_clk_src_bmattr[(value & 0x1)],
+ uac3_clk_src_bmattr[0x2 | ((value & 0x2) >> 1)]);
+}
+
+/** UAC2: 4.7.2.1 Clock Source Descriptor; Table 4-6. */
+static const struct desc desc_audio_2_ac_clock_source[] = {
+ { .field = "bClockID", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bmAttributes", .size = 1, .type = DESC_SNOWFLAKE,
+ .snowflake = desc_snowflake_dump_uac2_clk_src_bmattr },
+ { .field = "bmControls", .size = 1, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_clock_source_bmcontrols },
+ { .field = "bAssocTerminal", .size = 1, .type = DESC_CONSTANT },
+ { .field = "iClockSource", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2.12 Clock Source Descriptor; Table 4-43. */
+static const struct desc desc_audio_3_ac_clock_source[] = {
+ { .field = "bClockID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmAttributes", .size = 1, .type = DESC_SNOWFLAKE,
+ .snowflake = desc_snowflake_dump_uac3_clk_src_bmattr },
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_clock_source_bmcontrols },
+ { .field = "bReferenceTerminal", .size = 1, .type = DESC_NUMBER },
+ { .field = "wClockSourceStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = NULL }
+};
+
+/** Clock Source descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_clock_source[3] = {
+ NULL, /* UAC1 not supported */
+ desc_audio_2_ac_clock_source,
+ desc_audio_3_ac_clock_source,
+};
+
+/** UAC2 Clock Selector bmControls; Human readable bit meanings. */
+static const char * const uac2_clock_selector_bmcontrols[] = {
+ [0] = "Clock Selector",
+ [1] = NULL
+};
+
+/** UAC2: 4.7.2.2 Clock Selector Descriptor; Table 4-7. */
+static const struct desc desc_audio_2_ac_clock_selector[] = {
+ { .field = "bClockID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baCSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "bmControls", .size = 1, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_clock_selector_bmcontrols },
+ { .field = "iClockSelector", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2.13 Clock Selector Descriptor; Table 4-44. */
+static const struct desc desc_audio_3_ac_clock_selector[] = {
+ { .field = "bClockID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bNrInPins", .size = 1, .type = DESC_NUMBER },
+ { .field = "baCSourceID", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bNrInPins" } },
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_clock_selector_bmcontrols },
+ { .field = "wCSelectorDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = NULL }
+};
+
+/** Clock Selector descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_clock_selector[3] = {
+ NULL, /* UAC1 not supported */
+ desc_audio_2_ac_clock_selector,
+ desc_audio_3_ac_clock_selector,
+};
+
+/** UAC2 Clock Multiplier bmControls; Human readable bit meanings. */
+static const char * const uac2_clock_multiplier_bmcontrols[] = {
+ [0] = "Clock Numerator",
+ [1] = "Clock Denominator",
+ [2] = NULL
+};
+
+/** UAC2: 4.7.2.3 Clock Multiplier Descriptor; Table 4-8. */
+static const struct desc desc_audio_2_ac_clock_multiplier[] = {
+ { .field = "bClockID", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bCSourceID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmControls", .size = 1, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_clock_multiplier_bmcontrols },
+ { .field = "iClockMultiplier", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2.14 Clock Multiplier Descriptor; Table 4-45. */
+static const struct desc desc_audio_3_ac_clock_multiplier[] = {
+ { .field = "bClockID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bCSourceID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_clock_multiplier_bmcontrols },
+ { .field = "wCMultiplierDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = NULL }
+};
+
+/** Clock Multiplier descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_clock_multiplier[3] = {
+ NULL, /* UAC1 not supported */
+ desc_audio_2_ac_clock_multiplier,
+ desc_audio_3_ac_clock_multiplier,
+};
+
+/** UAC2: 4.7.2.9 Sampling Rate Converter Descriptor; Table 4-14. */
+static const struct desc desc_audio_2_ac_sample_rate_converter[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bSourceID", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bCSourceInID", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bCSourceOutID", .size = 1, .type = DESC_CONSTANT },
+ { .field = "iSRC", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC3: 4.5.2.8 Sampling Rate Converter Descriptor; Table 4-32. */
+static const struct desc desc_audio_3_ac_sample_rate_converter[] = {
+ { .field = "bUnitID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bSourceID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bCSourceInID", .size = 1, .type = DESC_NUMBER },
+ { .field = "bCSourceOutID", .size = 1, .type = DESC_NUMBER },
+ { .field = "wSRCDescrStr", .size = 2, .type = DESC_CS_STR_DESC_ID },
+ { .field = NULL }
+};
+
+/** Sample Rate Converter descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_ac_sample_rate_converter[3] = {
+ NULL, /* UAC1 not supported */
+ desc_audio_2_ac_sample_rate_converter,
+ desc_audio_3_ac_sample_rate_converter,
+};
+
+/** UAC2 AudioStreaming Interface bmControls; Human readable bit meanings. */
+static const char * const uac2_as_interface_bmcontrols[] = {
+ [0] = "Active Alternate Setting",
+ [1] = "Valid Alternate Setting",
+ [2] = NULL
+};
+
+/** UAC3 AudioStreaming Interface bmControls; Human readable bit meanings. */
+static const char * const uac3_as_interface_bmcontrols[] = {
+ [0] = "Active Alternate Setting",
+ [1] = "Valid Alternate Setting",
+ [2] = "Audio Data Format Control",
+ [3] = NULL
+};
+
+/* wFormatTag hex prefix for format type */
+#define UAC_FORMAT_TYPE_I 0x0
+#define UAC_FORMAT_TYPE_II 0x1
+#define UAC_FORMAT_TYPE_III 0x2
+
+/** Format type I codes; Human-readable values. */
+static const char * const audio_data_format_type_i[] = {
+ [0] = "TYPE_I_UNDEFINED",
+ [1] = "PCM",
+ [2] = "PCM8",
+ [3] = "IEEE_FLOAT",
+ [4] = "ALAW",
+ [5] = "MULAW"
+};
+
+/** Format type II codes; Human-readable values. */
+static const char * const audio_data_format_type_ii[] = {
+ [0] = "TYPE_II_UNDEFINED",
+ [1] = "MPEG",
+ [2] = "AC-3"
+};
+
+/** Format type III codes; Human-readable values. */
+static const char * const audio_data_format_type_iii[] = {
+ [0] = "TYPE_III_UNDEFINED",
+ [1] = "IEC1937_AC-3",
+ [2] = "IEC1937_MPEG-1_Layer1",
+ [3] = "IEC1937_MPEG-Layer2/3/NOEXT",
+ [4] = "IEC1937_MPEG-2_EXT",
+ [5] = "IEC1937_MPEG-2_Layer1_LS",
+ [6] = "IEC1937_MPEG-2_Layer2/3_LS"
+};
+
+/** Special rendering function for UAC1 AS interface wFormatTag */
+static void desc_snowflake_dump_uac1_as_interface_wformattag(
+ unsigned long long value,
+ unsigned int indent)
+{
+ const char *format_string = "undefined";
+
+ /* Format codes are 0xTNNN, where T=Type prefix, NNN = format code. */
+
+ if (value <= ((UAC_FORMAT_TYPE_I << 12) +
+ ARRAY_LEN(audio_data_format_type_i))) {
+ format_string = audio_data_format_type_i[value];
+
+ } else if ((value >= (UAC_FORMAT_TYPE_II << 12)) &&
+ (value <= ((UAC_FORMAT_TYPE_II << 12) +
+ ARRAY_LEN(audio_data_format_type_ii)))) {
+ format_string = audio_data_format_type_ii[value & 0xfff];
+
+ } else if ((value >= (UAC_FORMAT_TYPE_III << 12)) &&
+ (value <= ((UAC_FORMAT_TYPE_III << 12) +
+ ARRAY_LEN(audio_data_format_type_iii)))) {
+ format_string = audio_data_format_type_iii[value & 0xfff];
+ }
+
+ printf(" %s\n", format_string);
+}
+
+/** Special rendering function for UAC2 AS interface bmFormats */
+static void desc_snowflake_dump_uac2_as_interface_bmformats(
+ unsigned long long value,
+ unsigned int indent)
+{
+ unsigned int i;
+
+ printf("\n");
+ for (i = 0; i < 5; i++) {
+ if ((value >> i) & 0x1) {
+ printf("%*s%s\n", indent * 2, "",
+ audio_data_format_type_i[i + 1]);
+ }
+ }
+
+}
+
+/** UAC1: 4.5.2 Class-Specific AS Interface Descriptor; Table 4-19. */
+static const struct desc desc_audio_1_as_interface[] = {
+ { .field = "bTerminalLink", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bDelay", .size = 1, .type = DESC_NUMBER_POSTFIX,
+ .number_postfix = " frames" },
+ { .field = "wFormatTag", .size = 2, .type = DESC_SNOWFLAKE,
+ .snowflake = desc_snowflake_dump_uac1_as_interface_wformattag },
+ { .field = NULL }
+};
+
+/** UAC2: 4.9.2 Class-Specific AS Interface Descriptor; Table 4-27. */
+static const struct desc desc_audio_2_as_interface[] = {
+ { .field = "bTerminalLink", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmControls", .size = 1, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_as_interface_bmcontrols },
+ { .field = "bFormatType", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bmFormats", .size = 4, .type = DESC_SNOWFLAKE,
+ .snowflake = desc_snowflake_dump_uac2_as_interface_bmformats },
+ { .field = "bNrChannels", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmChannelConfig", .size = 4, .type = DESC_BITMAP_STRINGS,
+ .bitmap_strings = { .strings = uac2_channel_names, .count = 26 } },
+ { .field = "iChannelNames", .size = 1, .type = DESC_STR_DESC_INDEX },
+ { .field = NULL }
+};
+
+/** UAC3: 4.7.2 Class-Specific AS Interface Descriptor; Table 4-49. */
+static const struct desc desc_audio_3_as_interface[] = {
+ { .field = "bTerminalLink", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac3_as_interface_bmcontrols },
+ { .field = "wClusterDescrID", .size = 2, .type = DESC_NUMBER },
+ { .field = "bmFormats", .size = 8, .type = DESC_BITMAP },
+ { .field = "bSubslotSize", .size = 1, .type = DESC_NUMBER },
+ { .field = "bBitResolution", .size = 1, .type = DESC_NUMBER },
+ { .field = "bmAuxProtocols", .size = 2, .type = DESC_BITMAP },
+ { .field = "bControlSize", .size = 1, .type = DESC_NUMBER },
+ { .field = NULL }
+};
+
+/** AudioStreaming Interface descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_as_interface[3] = {
+ desc_audio_1_as_interface,
+ desc_audio_2_as_interface,
+ desc_audio_3_as_interface,
+};
+
+/** UAC1: Data Endpoint bmAttributes; Human readable bit meanings. */
+static const char * const uac1_as_endpoint_bmattributes[] = {
+ [0] = "Sampling Frequency",
+ [1] = "Pitch",
+ [2] = "Audio Data Format Control",
+ [7] = "MaxPacketsOnly"
+};
+
+/** UAC2: Data Endpoint bmAttributes; Human readable bit meanings. */
+static const char * const uac2_as_endpoint_bmattributes[] = {
+ [7] = "MaxPacketsOnly",
+};
+
+/** UAC2 AudioStreaming Interface bmControls; Human readable bit meanings. */
+static const char * const uac2_as_isochronous_audio_data_endpoint_bmcontrols[] = {
+ [0] = "Pitch",
+ [1] = "Data Overrun",
+ [2] = "Data Underrun",
+ [3] = NULL
+};
+
+/** Audio Data Endpoint bLockDelayUnits; Human readable value meanings. */
+static const char * const uac_as_isochronous_audio_data_endpoint_blockdelayunits[] = {
+ [0] = "Undefined",
+ [1] = "Milliseconds",
+ [2] = "Decoded PCM samples",
+ [3] = NULL
+};
+
+/** UAC1: 4.6.1.2 Class-Specific AS Isochronous Audio Data Endpoint Descriptor; Table 4-21. */
+static const struct desc desc_audio_1_as_isochronous_audio_data_endpoint[] = {
+ { .field = "bmAttributes", .size = 1, .type = DESC_BITMAP_STRINGS,
+ .bitmap_strings = { .strings = uac1_as_endpoint_bmattributes, .count = 8 } },
+ { .field = "bLockDelayUnits", .size = 1, .type = DESC_NUMBER_STRINGS,
+ .number_strings = uac_as_isochronous_audio_data_endpoint_blockdelayunits },
+ { .field = "wLockDelay", .size = 2, .type = DESC_NUMBER },
+ { .field = NULL }
+};
+
+/** UAC2: 4.10.1.2 Class-Specific AS Isochronous Audio Data Endpoint Descriptor; Table 4-34. */
+static const struct desc desc_audio_2_as_isochronous_audio_data_endpoint[] = {
+ { .field = "bmAttributes", .size = 1, .type = DESC_BITMAP_STRINGS,
+ .bitmap_strings = { .strings = uac2_as_endpoint_bmattributes, .count = 8 } },
+ { .field = "bmControls", .size = 1, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_as_isochronous_audio_data_endpoint_bmcontrols },
+ { .field = "bLockDelayUnits", .size = 1, .type = DESC_NUMBER_STRINGS,
+ .number_strings = uac_as_isochronous_audio_data_endpoint_blockdelayunits },
+ { .field = "wLockDelay", .size = 2, .type = DESC_NUMBER },
+ { .field = NULL }
+};
+
+/** UAC3: 4.8.1.2 Class-Specific AS Isochronous Audio Data Endpoint Descriptor; Table 4-52. */
+static const struct desc desc_audio_3_as_isochronous_audio_data_endpoint[] = {
+ { .field = "bmControls", .size = 4, .type = DESC_BMCONTROL_2,
+ .bmcontrol = uac2_as_isochronous_audio_data_endpoint_bmcontrols },
+ { .field = "bLockDelayUnits", .size = 1, .type = DESC_NUMBER_STRINGS,
+ .number_strings = uac_as_isochronous_audio_data_endpoint_blockdelayunits },
+ { .field = "wLockDelay", .size = 2, .type = DESC_NUMBER },
+ { .field = NULL }
+};
+
+/** Isochronous Audio Data Endpoint descriptor definitions for the three Audio Device Class protocols */
+const struct desc * const desc_audio_as_isochronous_audio_data_endpoint[3] = {
+ desc_audio_1_as_isochronous_audio_data_endpoint,
+ desc_audio_2_as_isochronous_audio_data_endpoint,
+ desc_audio_3_as_isochronous_audio_data_endpoint,
+};
+
+/** USB3: 9.6.2.7 Configuration Summary Descriptor; Table 9-21. */
+const struct desc desc_usb3_dc_configuration_summary[] = {
+ { .field = "bLength", .size = 1, .type = DESC_NUMBER },
+ { .field = "bDescriptorType", .size = 1, .type = DESC_CONSTANT },
+ { .field = "bDevCapabilityType", .size = 1, .type = DESC_NUMBER },
+ { .field = "bcdVersion", .size = 2, .type = DESC_BCD },
+ { .field = "bClass", .size = 1, .type = DESC_NUMBER },
+ { .field = "bSubClass", .size = 1, .type = DESC_NUMBER },
+ { .field = "bProtocol", .size = 1, .type = DESC_NUMBER },
+ { .field = "bConfigurationCount", .size = 1, .type = DESC_NUMBER },
+ { .field = "bConfigurationIndex", .size = 1, .type = DESC_NUMBER,
+ .array = { .array = true, .length_field1 = "bConfigurationCount" } },
+ { .field = NULL }
+};
diff --git a/desc-defs.h b/desc-defs.h
new file mode 100644
index 0000000..aa695e4
--- /dev/null
+++ b/desc-defs.h
@@ -0,0 +1,182 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * USB descriptor definitions
+ *
+ * Copyright (C) 2017-2018 Michael Drake <michael.drake@codethink.co.uk>
+ */
+
+#ifndef _DESC_DEFS_H
+#define _DESC_DEFS_H
+
+/* ---------------------------------------------------------------------- */
+
+/**
+ * Descriptor field value type.
+ *
+ * Note that there are more types here than exist in the descriptor definitions
+ * in the specifications. This is because the type here is used to do `lsusb`
+ * specific rendering of certain fields.
+ *
+ * Note that the use of certain types mandates the setting of various entries
+ * in the type-specific anonymous union in `struct desc`.
+ */
+enum desc_type {
+ DESC_CONSTANT, /** Plain numerical value; no annotation. */
+ DESC_NUMBER, /** Plain numerical value; no annotation. */
+ DESC_NUMBER_POSTFIX, /**< Number with a postfix string. */
+ DESC_BITMAP, /**< Plain hex rendered value; no annotation. */
+ DESC_BCD, /**< Binary coded decimal */
+ DESC_BMCONTROL_1, /**< UAC1 style bmControl field */
+ DESC_BMCONTROL_2, /**< UAC2/UAC3 style bmControl field */
+ DESC_STR_DESC_INDEX, /**< String index. */
+ DESC_CS_STR_DESC_ID, /**< UAC3 style class-specific string request. */
+ DESC_TERMINAL_STR, /**< Audio terminal string. */
+ DESC_BITMAP_STRINGS, /**< Bitfield with string per bit. */
+ DESC_NUMBER_STRINGS, /**< Use for enum-style value to string. */
+ DESC_EXTENSION, /**< Various possible descriptor extensions. */
+ DESC_SNOWFLAKE, /**< Value with custom annotation callback function. */
+};
+
+/**
+ * Callback function for the DESC_SNOWFLAKE descriptor field value type.
+ *
+ * This is used when some special rendering of the value is required, which
+ * is specific to the field in question, so no generic type's rendering is
+ * suitable.
+ *
+ * The core descriptor dumping code will have already dumped the numerical
+ * value for the field, but not the trailing newline character. It is up
+ * to the callback function to ensure it always finishes by writing a '\n'
+ * character to stdout.
+ *
+ * \param[in] value The value to dump a human-readable representation of.
+ * \param[in] indent The current indent level.
+ */
+typedef void (*desc_snowflake_dump_fn)(
+ unsigned long long value,
+ unsigned int indent);
+
+
+/**
+ * Descriptor field definition.
+ *
+ * Whole descriptors can be defined as NULL terminated arrays of these
+ * structures.
+ */
+struct desc {
+ const char *field; /**< Field's name */
+ unsigned int size; /**< Byte size of field, if (size_field == NULL) */
+ const char *size_field; /**< Name of field specifying field size. */
+ enum desc_type type; /**< Field's value type. */
+
+ /** Anonymous union containing type-specific data. */
+ union {
+ /**
+ * Corresponds to types DESC_BMCONTROL_1 and DESC_BMCONTROL_2.
+ *
+ * Must be a NULL terminated array of '\0' terminated strings.
+ */
+ const char * const *bmcontrol;
+ /** Corresponds to type DESC_BITMAP_STRINGS */
+ struct {
+ /** Must contain '\0' terminated strings. */
+ const char * const *strings;
+ /** Number of strings in strings array. */
+ unsigned int count;
+ } bitmap_strings;
+ /**
+ * Corresponds to type DESC_NUMBER_STRINGS.
+ *
+ * Must be a NULL terminated array of '\0' terminated strings.
+ */
+ const char * const *number_strings;
+ /**
+ * Corresponds to type DESC_NUMBER_POSTFIX.
+ *
+ * Must be a '\0' terminated string.
+ */
+ const char *number_postfix;
+ /**
+ * Corresponds to type DESC_EXTENSION.
+ *
+ * This allows the value of this field to be processed by
+ * another descriptor definition. The definition used to
+ * process the value of this field can be controlled by
+ * the value of another field.
+ */
+ struct {
+ /**
+ * Name of field specifying descriptor type to select.
+ */
+ const char *type_field;
+ /**
+ * Array of descriptor definitions and their
+ * associated types values. Array must be terminated
+ * by entry with NULL `desc` member.
+ */
+ const struct desc_ext {
+ /**
+ * Array of descriptor field definitions.
+ * Terminated by entry with NULL `field` member.
+ */
+ const struct desc *desc;
+ /**
+ * Type value for this descriptor definition.
+ * If it matches the type read from the
+ * field `type_field`, then this descriptor
+ * definition will be used to decode this value.
+ */
+ unsigned int type;
+ } *d;
+ } extension;
+ /**
+ * Corresponds to type DESC_SNOWFLAKE.
+ *
+ * Callback function called to annotate snowflake value type.
+ */
+ desc_snowflake_dump_fn snowflake;
+ };
+
+ /** Grouping of array-specific fields. */
+ struct {
+ bool array; /**< True if entry is an array. */
+ bool bits; /**< True if array length is specified in bits */
+ /** Name of field specifying the array entry count. */
+ const char *length_field1;
+ /** Name of field specifying multiplier for array entry count. */
+ const char *length_field2;
+ } array;
+};
+
+/* ---------------------------------------------------------------------- */
+
+/* Undefined descriptor */
+extern const struct desc desc_undefined[];
+
+/* Audio Control (AC) descriptor definitions */
+extern const struct desc * const desc_audio_ac_header[3];
+extern const struct desc * const desc_audio_ac_effect_unit[3];
+extern const struct desc * const desc_audio_ac_input_terminal[3];
+extern const struct desc * const desc_audio_ac_output_terminal[3];
+extern const struct desc * const desc_audio_ac_extended_terminal[3];
+extern const struct desc * const desc_audio_ac_power_domain[3];
+extern const struct desc * const desc_audio_ac_mixer_unit[3];
+extern const struct desc * const desc_audio_ac_selector_unit[3];
+extern const struct desc * const desc_audio_ac_processing_unit[3];
+extern const struct desc * const desc_audio_ac_feature_unit[3];
+extern const struct desc * const desc_audio_ac_extension_unit[3];
+extern const struct desc * const desc_audio_ac_clock_source[3];
+extern const struct desc * const desc_audio_ac_clock_selector[3];
+extern const struct desc * const desc_audio_ac_clock_multiplier[3];
+extern const struct desc * const desc_audio_ac_sample_rate_converter[3];
+
+/* Audio Streaming (AS) descriptor definitions */
+extern const struct desc * const desc_audio_as_interface[3];
+extern const struct desc * const desc_audio_as_isochronous_audio_data_endpoint[3];
+
+/* Device Capability (DC) descriptor definitions */
+extern const struct desc desc_usb3_dc_configuration_summary[];
+
+/* ---------------------------------------------------------------------- */
+
+#endif /* _DESC_DEFS_H */
diff --git a/desc-dump.c b/desc-dump.c
new file mode 100644
index 0000000..a8759f4
--- /dev/null
+++ b/desc-dump.c
@@ -0,0 +1,599 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * USB descriptor dumping
+ *
+ * Copyright (C) 2017-2018 Michael Drake <michael.drake@codethink.co.uk>
+ */
+
+#include "config.h"
+
+#include <stdbool.h>
+#include <assert.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <libusb.h>
+
+#include "desc-defs.h"
+#include "desc-dump.h"
+#include "usbmisc.h"
+#include "names.h"
+
+/**
+ * Print a description of a bmControls field value, using a given string array.
+ *
+ * Handles the DESC_BMCONTROL_1 and DESC_BMCONTROL_2 field types. The former
+ * is one bit per string, and the latter is 2 bits per string, with the
+ * additional bit specifying whether the control is read-only.
+ *
+ * \param[in] bmcontrols The value to dump a human-readable representation of.
+ * \param[in] strings Array of human-readable strings, must be NULL terminated.
+ * \param[in] type The type of the value in bmcontrols.
+ * \param[in] indent The current indent level.
+ */
+static void desc_bmcontrol_dump(
+ unsigned long long bmcontrols,
+ const char * const * strings,
+ enum desc_type type,
+ unsigned int indent)
+{
+ static const char * const setting[] = {
+ "read-only",
+ "ILLEGAL VALUE (0b10)",
+ "read/write"
+ };
+ unsigned int count = 0;
+ unsigned int control;
+
+ assert((type == DESC_BMCONTROL_1) ||
+ (type == DESC_BMCONTROL_2));
+
+ while (strings[count] != NULL) {
+ if (strings[count][0] != '\0') {
+ if (type == DESC_BMCONTROL_1) {
+ if ((bmcontrols >> count) & 0x1) {
+ printf("%*s%s Control\n",
+ indent * 2, "",
+ strings[count]);
+ }
+ } else {
+ control = (bmcontrols >> (count * 2)) & 0x3;
+ if (control) {
+ printf("%*s%s Control (%s)\n",
+ indent * 2, "",
+ strings[count],
+ setting[control-1]);
+ }
+ }
+ }
+ count++;
+ }
+}
+
+/**
+ * Read N bytes from descriptor data buffer into a value.
+ *
+ * Only supports values of up to 8 bytes.
+ *
+ * \param[in] buf Buffer containing the bytes to read.
+ * \param[in] offset Offset in buffer to start reading bytes from.
+ * \param[in] bytes Number of bytes to read.
+ * \return Value contained within the given bytes.
+ */
+static unsigned long long get_n_bytes_as_ull(
+ const unsigned char *buf,
+ unsigned int offset,
+ unsigned int bytes)
+{
+ unsigned long long ret = 0;
+
+ if (bytes > 8) {
+ fprintf(stderr, "Bad descriptor definition; Field size > 8.\n");
+ exit(EXIT_FAILURE);
+ }
+
+ buf += offset;
+
+ switch (bytes) {
+ case 8: ret |= ((unsigned long long)buf[7]) << 56; /* fall-through */
+ case 7: ret |= ((unsigned long long)buf[6]) << 48; /* fall-through */
+ case 6: ret |= ((unsigned long long)buf[5]) << 40; /* fall-through */
+ case 5: ret |= ((unsigned long long)buf[4]) << 32; /* fall-through */
+ case 4: ret |= ((unsigned long long)buf[3]) << 24; /* fall-through */
+ case 3: ret |= ((unsigned long long)buf[2]) << 16; /* fall-through */
+ case 2: ret |= ((unsigned long long)buf[1]) << 8; /* fall-through */
+ case 1: ret |= ((unsigned long long)buf[0]);
+ }
+
+ return ret;
+}
+
+/**
+ * Get the size of a descriptor field in bytes.
+ *
+ * Normally the size is provided in the entry's size parameter, but some
+ * fields have a variable size, with the actual size being stored in as
+ * the value of another field.
+ *
+ * \param[in] buf Descriptor data.
+ * \param[in] desc First field in the descriptor definition array.
+ * \param[in] entry The descriptor definition field to get size for.
+ * \return Size of the field in bytes.
+ */
+static unsigned int get_entry_size(
+ const unsigned char *buf,
+ const struct desc *desc,
+ const struct desc *entry);
+
+/**
+ * Read a value from a field of given name.
+ *
+ * \param[in] buf Descriptor data.
+ * \param[in] desc First field in the descriptor definition array.
+ * \param[in] field The name of the field to get the value for.
+ * \return The value from the given field.
+ */
+static unsigned long long get_value_from_field(
+ const unsigned char *buf,
+ const struct desc *desc,
+ const char *field)
+{
+ size_t offset = 0;
+ const struct desc *current;
+ unsigned long long value = 0;
+
+ /* Search descriptor definition array for the field who's value
+ * gives the value of the entry we're interested in. */
+ for (current = desc; current->field != NULL; current++) {
+ if (strcmp(current->field, field) == 0) {
+ value = get_n_bytes_as_ull(buf, offset,
+ current->size);
+ break;
+ }
+
+ /* Keep track of our offset in the descriptor data
+ * as we look for the field we want. */
+ offset += get_entry_size(buf, desc, current);
+ }
+
+ return value;
+}
+
+/**
+ * Dump a number as hex to stdout.
+ *
+ * \param[in] buf Descriptor buffer to get values to render from.
+ * \param[in] width Character width to right-align value inside.
+ * \param[in] offset Offset in buffer to start of value to render.
+ * \param[in] bytes Byte length of value to render.
+ */
+static void hex_renderer(
+ const unsigned char *buf,
+ unsigned int width,
+ unsigned int offset,
+ unsigned int bytes)
+{
+ unsigned int align = (width >= bytes * 2) ? width - bytes * 2 : 0;
+ printf(" %*s0x%0*llx", align, "", bytes * 2,
+ get_n_bytes_as_ull(buf, offset, bytes));
+}
+
+/**
+ * Dump a number to stdout.
+ *
+ * Single-byte numbers a rendered as decimal, otherwise hexadecimal is used.
+ *
+ * \param[in] buf Descriptor buffer to get values to render from.
+ * \param[in] width Character width to right-align value inside.
+ * \param[in] offset Offset in buffer to start of value to render.
+ * \param[in] bytes Byte length of value to render.
+ */
+static void number_renderer(
+ const unsigned char *buf,
+ unsigned int width,
+ unsigned int offset,
+ unsigned int bytes)
+{
+ if (bytes == 1) {
+ /* Render small numbers as decimal */
+ printf(" %*u", width, buf[offset]);
+ } else {
+ /* Otherwise render as hexadecimal */
+ hex_renderer(buf, width, offset, bytes);
+ }
+}
+
+/**
+ * Render a field's value to stdout.
+ *
+ * The manner of rendering the value is dependant on the value type.
+ *
+ * \param[in] dev LibUSB device handle.
+ * \param[in] current Descriptor definition field to render.
+ * \param[in] current_size Size of value to render.
+ * \param[in] buf Byte array containing the descriptor date to dump.
+ * \param[in] buf_len Byte length of `buf`.
+ * \param[in] desc First field in the descriptor definition.
+ * \param[in] indent Current indent level.
+ * \param[in] offset Offset to current value in `buf`.
+ */
+static void value_renderer(
+ libusb_device_handle *dev,
+ const struct desc *current,
+ unsigned int current_size,
+ const unsigned char *buf,
+ unsigned int buf_len,
+ const struct desc *desc,
+ unsigned int indent,
+ size_t offset)
+{
+ /** Maximum amount of characters to right align numerical values by. */
+ const unsigned int size_chars = 4;
+
+ switch (current->type) {
+ case DESC_NUMBER: /* fall-through */
+ case DESC_CONSTANT:
+ number_renderer(buf, size_chars, offset, current_size);
+ printf("\n");
+ break;
+ case DESC_NUMBER_POSTFIX:
+ number_renderer(buf, size_chars, offset, current_size);
+ printf("%s\n", current->number_postfix);
+ break;
+ case DESC_NUMBER_STRINGS: {
+ unsigned int i;
+ unsigned long long value = get_n_bytes_as_ull(buf, offset, current_size);
+ number_renderer(buf, size_chars, offset, current_size);
+ for (i = 0; i <= value; i++) {
+ if (current->number_strings[i] == NULL) {
+ break;
+ }
+ if (value == i) {
+ printf(" %s", current->number_strings[i]);
+ }
+ }
+ printf("\n");
+ break;
+ }
+ case DESC_BCD: {
+ unsigned int i;
+ printf(" %2x", buf[offset + current_size - 1]);
+ for (i = 1; i < current_size; i++) {
+ printf(".%02x", buf[offset + current_size - 1 - i]);
+ }
+ printf("\n");
+ break;
+ }
+ case DESC_BITMAP:
+ hex_renderer(buf, size_chars, offset, current_size);
+ printf("\n");
+ break;
+ case DESC_BMCONTROL_1: /* fall-through */
+ case DESC_BMCONTROL_2:
+ hex_renderer(buf, size_chars, offset, current_size);
+ printf("\n");
+ desc_bmcontrol_dump(
+ get_n_bytes_as_ull(buf, offset, current_size),
+ current->bmcontrol, current->type, indent + 1);
+ break;
+ case DESC_BITMAP_STRINGS: {
+ unsigned int i;
+ unsigned long long value = get_n_bytes_as_ull(buf, offset, current_size);
+ hex_renderer(buf, size_chars, offset, current_size);
+ printf("\n");
+ for (i = 0; i < current->bitmap_strings.count; i++) {
+ if (current->bitmap_strings.strings[i] == NULL) {
+ continue;
+ }
+ if (((value >> i) & 0x1) == 0) {
+ continue;
+ }
+ printf("%*s%s\n", (indent + 1) * 2, "",
+ current->bitmap_strings.strings[i]);
+ }
+ break;
+ }
+ case DESC_STR_DESC_INDEX: {
+ char *string;
+ number_renderer(buf, size_chars, offset, current_size);
+ string = get_dev_string(dev, buf[offset]);
+ if (string) {
+ printf(" %s\n", string);
+ free(string);
+ } else {
+ printf("\n");
+ }
+ break;
+ }
+ case DESC_CS_STR_DESC_ID:
+ number_renderer(buf, size_chars, offset, current_size);
+ /* TODO: Add support for UAC3 class-specific String descriptor */
+ printf("\n");
+ break;
+ case DESC_TERMINAL_STR:
+ number_renderer(buf, size_chars, offset, current_size);
+ printf(" %s\n", names_audioterminal(
+ get_n_bytes_as_ull(buf, offset, current_size)));
+ break;
+ case DESC_EXTENSION: {
+ unsigned int type = get_value_from_field(buf, desc,
+ current->extension.type_field);
+ const struct desc *ext_desc;
+ const struct desc_ext *ext;
+
+ /* Lookup the extention descriptor definitions to use, */
+ for (ext = current->extension.d; ext->desc != NULL; ext++) {
+ if (ext->type == type) {
+ ext_desc = ext->desc;
+ break;
+ }
+ }
+
+ /* If the type didn't match a known type, use the
+ * undefined descriptor. */
+ if (ext->desc == NULL) {
+ ext_desc = desc_undefined;
+ }
+
+ desc_dump(dev, ext_desc, buf + offset,
+ buf_len - offset, indent);
+
+ break;
+ }
+ case DESC_SNOWFLAKE:
+ number_renderer(buf, size_chars, offset, current_size);
+ current->snowflake(
+ get_n_bytes_as_ull(buf, offset, current_size),
+ indent + 1);
+ break;
+ }
+}
+
+/* Documented at forward declaration above. */
+static unsigned int get_entry_size(
+ const unsigned char *buf,
+ const struct desc *desc,
+ const struct desc *entry)
+{
+ unsigned int size = entry->size;
+
+ if (entry->size_field != NULL) {
+ /* Variable field length, given by `size_field`'s value. */
+ size = get_value_from_field(buf, desc, entry->size_field);
+ }
+
+ if (size == 0) {
+ fprintf(stderr, "Bad descriptor definition; "
+ "'%s' field has zero size.\n", entry->field);
+ exit(EXIT_FAILURE);
+ }
+
+ return size;
+}
+
+/**
+ * Get the number of entries needed by an descriptor definition array field.
+ *
+ * The number of entries is either calculated from length_field parameters,
+ * which indicate which other field(s) contain values representing the
+ * array length, or the array length is calculated from the buf_len parameter,
+ * which should ultimately have been derived from the bLength field in the raw
+ * descriptor data.
+ *
+ * \param[in] buf Descriptor data.
+ * \param[in] buf_len Byte length of `buf`.
+ * \param[in] desc First field in the descriptor definition.
+ * \param[in] array_entry Array field to get entry count for.
+ * \return Number of entries in array.
+ */
+static unsigned int get_array_entry_count(
+ const unsigned char *buf,
+ unsigned int buf_len,
+ const struct desc *desc,
+ const struct desc *array_entry)
+{
+ const struct desc *current;
+ unsigned int entries = 0;
+
+ if (array_entry->array.length_field1) {
+ /* We can get the array size from the length_field1. */
+ entries = get_value_from_field(buf, desc,
+ array_entry->array.length_field1);
+
+ if (array_entry->array.length_field2 != NULL) {
+ /* There's a second field specifying length. The two
+ * lengths are multiplied. */
+ entries *= get_value_from_field(buf, desc,
+ array_entry->array.length_field2);
+ }
+
+ /* If the bits flag is set, then the entry count so far
+ * was a bit count, and we need to get a byte count. */
+ if (array_entry->array.bits) {
+ entries = (entries / 8) + (entries & 0x7) ? 1 : 0;
+ }
+ } else {
+ /* Inferred array length. We haven't been given a field to get
+ * length from; start with the descriptor's byte-length, and
+ * subtract the sizes of all the other fields. */
+ unsigned int size = buf_len;
+
+ for (current = desc; current->field != NULL; current++) {
+ if (current == array_entry)
+ continue;
+
+ if (current->array.array) {
+ unsigned int count;
+ /* We can't deal with two inferred-length arrays
+ * in one descriptor definition, because its
+ * an unresolvable ambiguity. If this
+ * happens it's a flaw in the descriptor
+ * definition. */
+ if (current->array.length_field1 == NULL) {
+ return 0xffffffff;
+ }
+ count = get_array_entry_count(buf, buf_len,
+ desc, current);
+ if (count == 0xffffffff) {
+ fprintf(stderr, "Bad descriptor definition; "
+ "multiple inferred-length arrays.\n");
+ exit(EXIT_FAILURE);
+ }
+ size -= get_entry_size(buf, desc, current) *
+ count;
+ } else {
+ size -= get_entry_size(buf, desc, current);
+ }
+ }
+
+ entries = size / get_entry_size(buf, desc, array_entry);
+ }
+
+ return entries;
+}
+
+/**
+ * Get the number of characters needed to dump an array index
+ *
+ * \param[in] array_entries Number of entries in array.
+ * \return number of characters required to render largest possible index.
+ */
+static unsigned int get_char_count_for_array_index(unsigned int array_entries)
+{
+ /* Arrays are zero-indexed, so largest index is array_entries - 1. */
+ if (array_entries > 100) {
+ /* [NNN] */
+ return 5;
+ } else if (array_entries > 10) {
+ /* [NN] */
+ return 4;
+ }
+
+ /* [N] */
+ return 3;
+}
+
+/**
+ * Render a field's name.
+ *
+ * \param[in] entry Current entry number (for arrays).
+ * \param[in] entries Entry count (for arrays).
+ * \param[in] field_len Character width of field name space for alignment.
+ * \param[in] current Descriptor definition of field to render.
+ * \param[in] indent Current indent level.
+ */
+static void field_render(
+ unsigned int entry,
+ unsigned int entries,
+ unsigned int field_len,
+ const struct desc *current,
+ unsigned int indent)
+{
+ if (current->array.array) {
+ unsigned int needed_chars = field_len -
+ get_char_count_for_array_index(entries) -
+ strlen(current->field);
+ printf("%*s%s(%u)%*s", indent * 2, "",
+ current->field, entry,
+ needed_chars, "");
+ } else {
+ printf("%*s%-*s", indent * 2, "",
+ field_len, current->field);
+ }
+}
+
+/* Function documented in desc-dump.h */
+void desc_dump(
+ libusb_device_handle *dev,
+ const struct desc *desc,
+ const unsigned char *buf,
+ unsigned int buf_len,
+ unsigned int indent)
+{
+ unsigned int entry;
+ unsigned int entries;
+ unsigned int needed_chars;
+ unsigned int current_size;
+ unsigned int field_len = 18;
+ const struct desc *current;
+ size_t offset = 0;
+
+ /* Find the buffer length, if we've been instructed to read it from
+ * the first field. */
+ if ((buf_len == DESC_BUF_LEN_FROM_BUF) && (desc != NULL)) {
+ buf_len = get_n_bytes_as_ull(buf, offset, desc->size);
+ }
+
+ /* Increase `field_len` to be sufficient for character length of
+ * longest field name for this descriptor. */
+ for (current = desc; current->field != NULL; current++) {
+ needed_chars = 0;
+ if (current->array.array) {
+ entries = get_array_entry_count(buf, buf_len,
+ desc, current);
+ needed_chars = get_char_count_for_array_index(entries);
+ }
+ if (strlen(current->field) + needed_chars > field_len) {
+ field_len = strlen(current->field) + needed_chars;
+ }
+ }
+
+ /* Step through each field, and dump it. */
+ for (current = desc; current->field != NULL; current++) {
+ entries = 1;
+ if (current->array.array) {
+ /* Array type fields may have more than one entry. */
+ entries = get_array_entry_count(buf, buf_len,
+ desc, current);
+ }
+
+ current_size = get_entry_size(buf, desc, current);
+
+ for (entry = 0; entry < entries; entry++) {
+ /* Check there's enough data in buf for this entry. */
+ if (offset + current_size > buf_len) {
+ unsigned int i;
+ printf("%*sWarning: Length insufficient for "
+ "descriptor type.\n",
+ (indent - 1) * 2, "");
+ for (i = offset; i < buf_len; i++) {
+ printf("%02x ", buf[i]);
+ }
+ printf("\n");
+ return;
+ }
+
+ /* Dump the field name */
+ if (current->type != DESC_EXTENSION) {
+ field_render(entry, entries, field_len,
+ current, indent);
+ }
+
+ /* Dump the value */
+ value_renderer(dev, current, current_size, buf, buf_len,
+ desc, indent, offset);
+
+ if (current->type == DESC_EXTENSION) {
+ /* A desc extension consumes all remaining
+ * value buffer. */
+ offset = buf_len;
+ } else {
+ /* Advance offset in buffer */
+ offset += current_size;
+ }
+ }
+ }
+
+ /* Check for junk at end of descriptor. */
+ if (offset < buf_len) {
+ unsigned int i;
+ printf("%*sWarning: Junk at end of descriptor (%zu bytes):\n",
+ (indent - 1) * 2, "", buf_len - offset);
+ printf("%*s", indent * 2, "");
+ for (i = offset; i < buf_len; i++) {
+ printf("%02x ", buf[i]);
+ }
+ printf("\n");
+ }
+}
diff --git a/desc-dump.h b/desc-dump.h
new file mode 100644
index 0000000..ef426bc
--- /dev/null
+++ b/desc-dump.h
@@ -0,0 +1,50 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * USB descriptor dumping
+ *
+ * Copyright (C) 2017 Michael Drake <michael.drake@codethink.co.uk>
+ */
+
+#ifndef _DESC_DUMP_H
+#define _DESC_DUMP_H
+
+/* ---------------------------------------------------------------------- */
+
+/**
+ * Buffer length value indicating that the buffer length should be
+ * read from the value of the first field in the buffer, as defined
+ * by the first field descriptor definition.
+ */
+#define DESC_BUF_LEN_FROM_BUF 0xffffffff
+
+/**
+ * Dump descriptor using a descriptor definition array.
+ *
+ * This function dumps the USB descriptor data given in the byte array,
+ * `buf`, according to the descriptor definition array given in `desc`.
+ *
+ * The first byte(s) of `buf` must correspond to the first field definition
+ * in the `desc` descriptor definition array.
+ *
+ * \param[in] dev LibUSB device handle.
+ * \param[in] desc Array of descriptor field definitions to use to interpret
+ * `buf`. This array constitutes the descriptor definition.
+ * The final entry in the array must have a NULL field name,
+ * which is interpreted as the end of the array.
+ * \param[in] buf Byte array containing the descriptor data to dump.
+ * \param[in] buf_len Byte length of `buf` or `DESC_BUF_LEN_FROM_BUF` to get
+ * the length from the value of the first field in the
+ * descriptor data.
+ * \param[in] indent Indent level to use for descriptor dump.
+ */
+extern void desc_dump(
+ libusb_device_handle *dev,
+ const struct desc *desc,
+ const unsigned char *buf,
+ unsigned int buf_len,
+ unsigned int indent);
+
+
+/* ---------------------------------------------------------------------- */
+
+#endif /* _DESC_DUMP_H */
diff --git a/install-sh b/install-sh
deleted file mode 100755
index 377bb86..0000000
--- a/install-sh
+++ /dev/null
@@ -1,527 +0,0 @@
-#!/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:
diff --git a/list.h b/list.h
index 9b3a2b5..7030385 100644
--- a/list.h
+++ b/list.h
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
#ifndef _LINUX_LIST_H
#define _LINUX_LIST_H
@@ -9,6 +10,10 @@
* sometimes we already know the next/prev entries and we can
* generate better code by using them directly rather than
* using the generic single-entry routines.
+ *
+ * Copyright (c) 2004 Thomas Sailer <sailer@ife.ee.ethz.ch>
+ *
+ * Based on list.h from the Linux kernel source tree.
*/
struct list_head {
diff --git a/lsusb-t.c b/lsusb-t.c
index 0f2c5bf..6733311 100644
--- a/lsusb-t.c
+++ b/lsusb-t.c
@@ -1,4 +1,6 @@
-#include <sys/types.h>
+// SPDX-License-Identifier: GPL-2.0
+/* Copyright (c) 2009 Greg Kroah-Hartman <gregkh@suse.de> */
+#include <stdint.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <dirent.h>
@@ -36,7 +38,7 @@ struct usbinterface {
};
struct usbdevice {
- struct list_head list; /* connect devices independant of the bus */
+ struct list_head list; /* connect devices independent of the bus */
struct usbdevice *next; /* next port on this hub */
struct usbinterface *first_interface; /* list of interfaces */
struct usbdevice *first_child; /* connect devices on this port */
@@ -73,14 +75,17 @@ struct usbdevice {
struct usbbusnode {
struct usbbusnode *next;
struct usbinterface *first_interface; /* list of interfaces */
- struct usbdevice *first_child; /* connect childs belonging to this bus */
+ struct usbdevice *first_child; /* connect children belonging to this bus */
unsigned int busnum;
unsigned int bDeviceClass;
unsigned int devnum;
+ unsigned int idProduct;
+ unsigned int idVendor;
unsigned int maxchild;
char speed[5 + 1]; /* '1.5','12','480','5000' + '\n' */
+ char name[MY_SYSFS_FILENAME_LEN];
char driver[MY_SYSFS_FILENAME_LEN];
};
@@ -133,13 +138,23 @@ static const char *bDeviceClass_to_str(unsigned int dc)
}
static void print_usbbusnode(struct usbbusnode *b)
{
+ char vendor[128], product[128];
printf("/: Bus %02u.Port %u: Dev %u, Class=%s, Driver=%s/%up, %sM\n", b->busnum, 1,
b->devnum, bDeviceClass_to_str(b->bDeviceClass), b->driver, b->maxchild, b->speed);
+ if (verblevel >= 1) {
+ get_vendor_string(vendor, sizeof(vendor), b->idVendor);
+ get_product_string(product, sizeof(product), b->idVendor, b->idProduct);
+ printf(" ID %04x:%04x %s %s\n", b->idVendor, b->idProduct, vendor, product);
+ }
+ if (verblevel >= 2) {
+ printf(" %s/%s /dev/bus/usb/%03d/%03d\n", sys_bus_usb_devices, b->name, b->busnum, b->devnum);
+ }
}
static void print_usbdevice(struct usbdevice *d, struct usbinterface *i)
{
char subcls[128];
+ char vendor[128], product[128];
get_class_string(subcls, sizeof(subcls), i->bInterfaceClass);
@@ -149,6 +164,16 @@ static void print_usbdevice(struct usbdevice *d, struct usbinterface *i)
else
printf("Port %u: Dev %u, If %u, Class=%s, Driver=%s, %sM\n", d->portnum, d->devnum, i->ifnum, subcls, i->driver,
d->speed);
+ if (verblevel >= 1) {
+ printf(" %*s", indent, " ");
+ get_vendor_string(vendor, sizeof(vendor), d->idVendor);
+ get_product_string(product, sizeof(product), d->idVendor, d->idProduct);
+ printf("ID %04x:%04x %s %s\n", d->idVendor, d->idProduct, vendor, product);
+ }
+ if (verblevel >= 2) {
+ printf(" %*s", indent, " ");
+ printf("%s/%s /dev/bus/usb/%03d/%03d\n", sys_bus_usb_devices, d->name, d->busnum, d->devnum);
+ }
}
static unsigned int read_sysfs_file_int(const char *d_name, const char *file, int base)
@@ -266,7 +291,7 @@ static void add_usb_interface(const char *d_name)
{
struct usbinterface *e;
const char *p;
- char *pn, driver[MY_PATH_MAX];
+ char *pn, driver[MY_PATH_MAX], link[MY_PATH_MAX];
unsigned long i;
int l;
p = strchr(d_name, ':');
@@ -288,16 +313,16 @@ static void add_usb_interface(const char *d_name)
}
e->ifnum = i;
if (snprintf(e->name, MY_SYSFS_FILENAME_LEN, "%s", d_name) >= MY_SYSFS_FILENAME_LEN)
- printf("warning: '%s' truncated to '%s'\n", e->name, d_name);
+ printf("warning: '%s' truncated to '%s'\n", d_name, e->name);
SYSFS_INTu(d_name, e, bAlternateSetting);
SYSFS_INTx(d_name, e, bInterfaceClass);
SYSFS_INTx(d_name, e, bInterfaceNumber);
SYSFS_INTx(d_name, e, bInterfaceProtocol);
SYSFS_INTx(d_name, e, bInterfaceSubClass);
SYSFS_INTx(d_name, e, bNumEndpoints);
- l = snprintf(driver, MY_PATH_MAX, "%s/%s/driver", sys_bus_usb_devices, d_name);
+ l = snprintf(link, MY_PATH_MAX, "%s/%s/driver", sys_bus_usb_devices, d_name);
if (l > 0 && l < MY_PATH_MAX) {
- l = readlink(driver, driver, MY_PATH_MAX);
+ l = readlink(link, driver, MY_PATH_MAX);
if (l >= 0) {
if (l < MY_PATH_MAX - 1)
driver[l] = '\0';
@@ -316,7 +341,7 @@ static void add_usb_device(const char *d_name)
{
struct usbdevice *d;
const char *p;
- char *pn, driver[MY_PATH_MAX];
+ char *pn, driver[MY_PATH_MAX], link[MY_PATH_MAX];
unsigned long i;
int l;
p = d_name;
@@ -337,7 +362,7 @@ static void add_usb_device(const char *d_name)
d->portnum = i;
}
if (snprintf(d->name, MY_SYSFS_FILENAME_LEN, "%s", d_name) >= MY_SYSFS_FILENAME_LEN)
- printf("warning: '%s' truncated to '%s'\n", d->name, d_name);
+ printf("warning: '%s' truncated to '%s'\n", d_name, d->name);
SYSFS_INTu(d_name, d, bConfigurationValue);
SYSFS_INTx(d_name, d, bDeviceClass);
SYSFS_INTx(d_name, d, bDeviceProtocol);
@@ -358,9 +383,9 @@ static void add_usb_device(const char *d_name)
SYSFS_STR(d_name, d, serial);
SYSFS_STR(d_name, d, version);
SYSFS_STR(d_name, d, speed);
- l = snprintf(driver, MY_PATH_MAX, "%s/%s/driver", sys_bus_usb_devices, d_name);
+ l = snprintf(link, MY_PATH_MAX, "%s/%s/driver", sys_bus_usb_devices, d_name);
if (l > 0 && l < MY_PATH_MAX) {
- l = readlink(driver, driver, MY_PATH_MAX);
+ l = readlink(link, driver, MY_PATH_MAX);
if (l >= 0) {
if (l < MY_PATH_MAX - 1)
driver[l] = '\0';
@@ -377,11 +402,11 @@ static void add_usb_device(const char *d_name)
static void get_roothub_driver(struct usbbusnode *b, const char *d_name)
{
- char *p, path[MY_PATH_MAX];
+ char *p, path[MY_PATH_MAX], link[MY_PATH_MAX];
int l;
- l = snprintf(path, MY_PATH_MAX, "%s/%s/../driver", sys_bus_usb_devices, d_name);
+ l = snprintf(link, MY_PATH_MAX, "%s/%s/../driver", sys_bus_usb_devices, d_name);
if (l > 0 && l < MY_PATH_MAX) {
- l = readlink(path, path, MY_PATH_MAX);
+ l = readlink(link, path, MY_PATH_MAX);
if (l >= 0) {
if (l < MY_PATH_MAX - 1)
path[l] = '\0';
@@ -402,8 +427,12 @@ static void add_usb_bus(const char *d_name)
if (bus) {
memset(bus, 0, sizeof(struct usbbusnode));
bus->busnum = strtoul(d_name + 3, NULL, 10);
+ if (snprintf(bus->name, MY_SYSFS_FILENAME_LEN, "%s", d_name) >= MY_SYSFS_FILENAME_LEN)
+ printf("warning: '%s' truncated to '%s'\n", d_name, bus->name);
SYSFS_INTu(d_name, bus, devnum);
SYSFS_INTx(d_name, bus, bDeviceClass);
+ SYSFS_INTx(d_name, bus, idProduct);
+ SYSFS_INTx(d_name, bus, idVendor);
SYSFS_INTu(d_name, bus, maxchild);
SYSFS_STR(d_name, bus, speed);
append_busnode(bus);
@@ -607,9 +636,11 @@ static void sort_busses(void)
int swapped;
do {
p = usbbuslist;
+ if (p == NULL)
+ return;
pp = &usbbuslist;
swapped = 0;
- while (p->next) {
+ while (p && p->next) {
if (p->busnum < p->next->busnum) {
t = p->next;
p->next = t->next;
diff --git a/lsusb.8.in b/lsusb.8.in
index f381749..1e96576 100644
--- a/lsusb.8.in
+++ b/lsusb.8.in
@@ -1,4 +1,6 @@
-.TH lsusb 8 "6 May 2009" "usbutils-VERSION" "Linux USB Utilities"
+.\"SPDX-License-Identifier: GPL-2.0
+.\"Copyright (c) 1999 Thomas Sailer <sailer@ife.ee.ethz.ch>
+.TH lsusb 8 "11 February 2019" "usbutils-VERSION" "Linux USB Utilities"
.IX lsusb
.SH NAME
lsusb \- list USB devices
@@ -14,19 +16,20 @@ the devices connected to them.
.SH OPTIONS
.TP
-.B \-v, \-\-verbose
+.BR \-v ", " \-\-verbose
Tells
.I lsusb
to be verbose and display detailed information about the devices shown.
This includes configuration descriptors for the device's current speed.
Class descriptors will be shown, when available, for USB device classes
-including hub, audio, HID, communications, and chipcard.
+including hub, audio, HID, communications, and chipcard. Can be used with the
+\fBt\fP option.
.TP
\fB\-s\fP [[\fIbus\fP]\fB:\fP][\fIdevnum\fP]
Show only devices in specified
.I bus
and/or
-.I devnum.
+.IR devnum .
Both ID's are given in decimal and may be omitted.
.TP
\fB\-d\fP [\fIvendor\fP]\fB:\fP[\fIproduct\fP]
@@ -41,24 +44,19 @@ The device file should be something like /dev/bus/usb/001/001.
This option displays detailed information like the \fBv\fP option;
you must be root to do this.
.TP
-.B \-t
+.BR \-t ", " \-\-tree
Tells
.I lsusb
-to dump the physical USB device hierarchy as a tree. This overrides the
+to dump the physical USB device hierarchy as a tree. Verbosity can be increased twice with
\fBv\fP option.
.TP
-.B \-V, \-\-version
-Print version information on standard output,
+.BR \-V ", " \-\-version
+Print version information on standard output,
then exit successfully.
.SH RETURN VALUE
If the specified device is not found, a non-zero exit code is returned.
-.SH FILES
-.TP
-.B @usbids@
-A list of all known USB ID's (vendors, products, classes, subclasses and protocols).
-
.SH SEE ALSO
.BR lspci (8),
.BR usbview (8).
diff --git a/lsusb.c b/lsusb.c
index 620eccc..1d7c105 100644
--- a/lsusb.c
+++ b/lsusb.c
@@ -1,28 +1,13 @@
-/*****************************************************************************/
-
+// SPDX-License-Identifier: GPL-2.0+
/*
- * lsusb.c -- lspci like utility for the USB bus
- *
- * Copyright (C) 1999-2001, 2003
- * Thomas Sailer (t.sailer@alumni.ethz.ch)
- * Copyright (C) 2003-2005 David Brownell
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * lspci like utility for the USB bus
*
+ * Copyright (C) 1999-2001, 2003 Thomas Sailer (t.sailer@alumni.ethz.ch)
+ * Copyright (C) 2003-2005 David Brownell
*/
-/*****************************************************************************/
-
#include "config.h"
-#include <sys/types.h>
+#include <stdint.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <locale.h>
@@ -31,6 +16,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
+#include <stdbool.h>
#ifdef HAVE_BYTESWAP_H
#include <byteswap.h>
@@ -41,7 +27,10 @@
#include "lsusb.h"
#include "names.h"
+#include "sysfs.h"
#include "usbmisc.h"
+#include "desc-defs.h"
+#include "desc-dump.h"
#include <getopt.h>
@@ -69,6 +58,11 @@
#define USB_DC_20_EXTENSION 0x02
#define USB_DC_SUPERSPEED 0x03
#define USB_DC_CONTAINER_ID 0x04
+#define USB_DC_PLATFORM 0x05
+#define USB_DC_SUPERSPEEDPLUS 0x0a
+#define USB_DC_BILLBOARD 0x0d
+#define USB_DC_BILLBOARD_ALT_MODE 0x0f
+#define USB_DC_CONFIGURATION_SUMMARY 0x10
/* Conventional codes for class-specific descriptors. The convention is
* defined in the USB "Common Class" Spec (3.11). Individual class specs
@@ -100,6 +94,15 @@
#define USB_AUDIO_CLASS_2 0x20
#endif
+/* USB DCD for Audio Devices Release 3.0: Section A.6, pp139 */
+#ifndef USB_AUDIO_CLASS_3
+#define USB_AUDIO_CLASS_3 0x30
+#endif
+
+#ifndef USB_VIDEO_PROTOCOL_15
+#define USB_VIDEO_PROTOCOL_15 0x01
+#endif
+
#define VERBLEVEL_DEFAULT 0 /* 0 gives lspci behaviour; 1, lsusb-0.9 */
#define CTRL_RETRIES 2
@@ -107,8 +110,14 @@
#define HUB_STATUS_BYTELEN 3 /* max 3 bytes status = hub + 23 ports */
-static const char procbususb[] = "/proc/bus/usb";
-static unsigned int verblevel = VERBLEVEL_DEFAULT;
+#define BILLBOARD_MAX_NUM_ALT_MODE (0x34)
+
+/* from WebUSB specification : https://wicg.github.io/webusb/ */
+#define WEBUSB_GUID "{3408b638-09a9-47a0-8bfd-a0768815b665}"
+#define WEBUSB_GET_URL 0x02
+#define USB_DT_WEBUSB_URL 0x03
+
+unsigned int verblevel = VERBLEVEL_DEFAULT;
static int do_report_desc = 1;
static const char * const encryption_type[] = {
"UNSECURE",
@@ -118,20 +127,41 @@ static const char * const encryption_type[] = {
"RESERVED"
};
+static const char * const vconn_power[] = {
+ "1W",
+ "1.5W",
+ "2W",
+ "3W",
+ "4W",
+ "5W",
+ "6W",
+ "reserved"
+};
+
+static const char * const alt_mode_state[] = {
+ "Unspecified Error",
+ "Alternate Mode configuration not attempted",
+ "Alternate Mode configuration attempted but unsuccessful",
+ "Alternate Mode configuration successful"
+};
+
static void dump_interface(libusb_device_handle *dev, const struct libusb_interface *interface);
static void dump_endpoint(libusb_device_handle *dev, const struct libusb_interface_descriptor *interface, const struct libusb_endpoint_descriptor *endpoint);
static void dump_audiocontrol_interface(libusb_device_handle *dev, const unsigned char *buf, int protocol);
static void dump_audiostreaming_interface(libusb_device_handle *dev, const unsigned char *buf, int protocol);
static void dump_midistreaming_interface(libusb_device_handle *dev, const unsigned char *buf);
-static void dump_videocontrol_interface(libusb_device_handle *dev, const unsigned char *buf);
+static void dump_videocontrol_interface(libusb_device_handle *dev, const unsigned char *buf, int protocol);
static void dump_videostreaming_interface(const unsigned char *buf);
static void dump_dfu_interface(const unsigned char *buf);
static char *dump_comm_descriptor(libusb_device_handle *dev, const unsigned char *buf, char *indent);
static void dump_hid_device(libusb_device_handle *dev, const struct libusb_interface_descriptor *interface, const unsigned char *buf);
-static void dump_audiostreaming_endpoint(const unsigned char *buf, int protocol);
+static void dump_printer_device(libusb_device_handle *dev, const struct libusb_interface_descriptor *interface, const unsigned char *buf);
+static void dump_audiostreaming_endpoint(libusb_device_handle *dev, const unsigned char *buf, int protocol);
static void dump_midistreaming_endpoint(const unsigned char *buf);
static void dump_hub(const char *prefix, const unsigned char *p, int tt_type);
static void dump_ccid_device(const unsigned char *buf);
+static void dump_billboard_device_capability_desc(libusb_device_handle *dev, unsigned char *buf);
+static void dump_billboard_alt_mode_capability_desc(libusb_device_handle *dev, unsigned char *buf);
/* ---------------------------------------------------------------------- */
@@ -140,10 +170,15 @@ static unsigned int convert_le_u32 (const unsigned char *buf)
return buf[0] | (buf[1] << 8) | (buf[2] << 16) | (buf[3] << 24);
}
+static unsigned int convert_le_u16 (const unsigned char *buf)
+{
+ return buf[0] | (buf[1] << 8);
+}
+
/* ---------------------------------------------------------------------- */
/* workaround libusb API goofs: "byte" should never be sign extended;
- * using "char" is trouble. Likewise, sizes should never be negative.
+ * using "char" is trouble.
*/
static inline int typesafe_control_msg(libusb_device_handle *dev,
@@ -154,15 +189,12 @@ static inline int typesafe_control_msg(libusb_device_handle *dev,
int ret = libusb_control_transfer(dev, requesttype, request, value,
idx, bytes, size, timeout);
- if (ret < 0)
- return -ret;
- else
- return ret;
+ return ret;
}
#define usb_control_msg typesafe_control_msg
-static int get_protocol_string(char *buf, size_t size, u_int8_t cls, u_int8_t subcls, u_int8_t proto)
+static int get_protocol_string(char *buf, size_t size, uint8_t cls, uint8_t subcls, uint8_t proto)
{
const char *cp;
@@ -174,19 +206,7 @@ static int get_protocol_string(char *buf, size_t size, u_int8_t cls, u_int8_t su
return snprintf(buf, size, "%s", cp);
}
-static int get_audioterminal_string(char *buf, size_t size, u_int16_t termt)
-{
- const char *cp;
-
- if (size < 1)
- return 0;
- *buf = 0;
- if (!(cp = names_audioterminal(termt)))
- return 0;
- return snprintf(buf, size, "%s", cp);
-}
-
-static int get_videoterminal_string(char *buf, size_t size, u_int16_t termt)
+static int get_videoterminal_string(char *buf, size_t size, uint16_t termt)
{
const char *cp;
@@ -211,9 +231,9 @@ static const char *get_guid(const unsigned char *buf)
"-%02x%02x"
"-%02x%02x"
"-%02x%02x%02x%02x%02x%02x}",
- buf[0], buf[1], buf[2], buf[3],
- buf[4], buf[5],
- buf[6], buf[7],
+ buf[3], buf[2], buf[1], buf[0],
+ buf[5], buf[4],
+ buf[7], buf[6],
buf[8], buf[9],
buf[10], buf[11], buf[12], buf[13], buf[14], buf[15]);
return guid;
@@ -247,13 +267,14 @@ static void dump_junk(const unsigned char *buf, const char *indent, unsigned int
*/
static void dump_device(
- libusb_device_handle *dev,
+ libusb_device *dev,
struct libusb_device_descriptor *descriptor
)
{
char vendor[128], product[128];
char cls[128], subcls[128], proto[128];
- char *mfg, *prod, *serial;
+ char mfg[128] = {0}, prod[128] = {0}, serial[128] = {0};
+ char sysfs_name[PATH_MAX];
get_vendor_string(vendor, sizeof(vendor), descriptor->idVendor);
get_product_string(product, sizeof(product),
@@ -264,9 +285,11 @@ static void dump_device(
get_protocol_string(proto, sizeof(proto), descriptor->bDeviceClass,
descriptor->bDeviceSubClass, descriptor->bDeviceProtocol);
- mfg = get_dev_string(dev, descriptor->iManufacturer);
- prod = get_dev_string(dev, descriptor->iProduct);
- serial = get_dev_string(dev, descriptor->iSerialNumber);
+ if (get_sysfs_name(sysfs_name, sizeof(sysfs_name), dev) >= 0) {
+ read_sysfs_prop(mfg, sizeof(vendor), sysfs_name, "manufacturer");
+ read_sysfs_prop(prod, sizeof(vendor), sysfs_name, "product");
+ read_sysfs_prop(serial, sizeof(vendor), sysfs_name, "serial");
+ }
printf("Device Descriptor:\n"
" bLength %5u\n"
@@ -295,10 +318,6 @@ static void dump_device(
descriptor->iProduct, prod,
descriptor->iSerialNumber, serial,
descriptor->bNumConfigurations);
-
- free(mfg);
- free(prod);
- free(serial);
}
static void dump_wire_adapter(const unsigned char *buf)
@@ -337,7 +356,7 @@ static void dump_security(const unsigned char *buf)
printf(" Security Descriptor:\n"
" bLength %5u\n"
" bDescriptorType %5u\n"
- " wTotalLength %5u\n"
+ " wTotalLength 0x%04x\n"
" bNumEncryptionTypes %5u\n",
buf[0], buf[1], (buf[3] << 8 | buf[2]), buf[4]);
}
@@ -385,7 +404,7 @@ static void dump_association(libusb_device_handle *dev, const unsigned char *buf
free(func);
}
-static void dump_config(libusb_device_handle *dev, struct libusb_config_descriptor *config)
+static void dump_config(libusb_device_handle *dev, struct libusb_config_descriptor *config, unsigned speed)
{
char *cfg;
int i;
@@ -395,7 +414,7 @@ static void dump_config(libusb_device_handle *dev, struct libusb_config_descript
printf(" Configuration Descriptor:\n"
" bLength %5u\n"
" bDescriptorType %5u\n"
- " wTotalLength %5u\n"
+ " wTotalLength 0x%04x\n"
" bNumInterfaces %5u\n"
" bConfigurationValue %5u\n"
" iConfiguration %5u %s\n"
@@ -418,7 +437,7 @@ static void dump_config(libusb_device_handle *dev, struct libusb_config_descript
printf(" Remote Wakeup\n");
if (config->bmAttributes & 0x10)
printf(" Battery Powered\n");
- printf(" MaxPower %5umA\n", config->MaxPower * 2);
+ printf(" MaxPower %5umA\n", config->MaxPower * (speed >= 0x0300 ? 8 : 2));
/* avoid re-ordering or hiding descriptors for display */
if (config->extra_length) {
@@ -491,7 +510,7 @@ static void dump_altsetting(libusb_device_handle *dev, const struct libusb_inter
if (interface->extra_length) {
size = interface->extra_length;
buf = interface->extra;
- while (size >= 2 * sizeof(u_int8_t)) {
+ while (size >= 2 * sizeof(uint8_t)) {
if (buf[0] < 2) {
dump_junk(buf, " ", size);
break;
@@ -528,7 +547,7 @@ static void dump_altsetting(libusb_device_handle *dev, const struct libusb_inter
case USB_CLASS_VIDEO:
switch (interface->bInterfaceSubClass) {
case 1:
- dump_videocontrol_interface(dev, buf);
+ dump_videocontrol_interface(dev, buf, interface->bInterfaceProtocol);
break;
case 2:
dump_videostreaming_interface(buf);
@@ -549,6 +568,9 @@ static void dump_altsetting(libusb_device_handle *dev, const struct libusb_inter
case LIBUSB_CLASS_HID:
dump_hid_device(dev, interface, buf);
break;
+ case LIBUSB_CLASS_PRINTER:
+ dump_printer_device(dev, interface, buf);
+ break;
case USB_CLASS_CCID:
dump_ccid_device(buf);
break;
@@ -592,7 +614,7 @@ static void dump_altsetting(libusb_device_handle *dev, const struct libusb_inter
case USB_DT_CS_ENDPOINT:
switch (interface->bInterfaceSubClass) {
case 2:
- dump_audiostreaming_endpoint(buf, interface->bInterfaceProtocol);
+ dump_audiostreaming_endpoint(dev, buf, interface->bInterfaceProtocol);
break;
default:
goto dump;
@@ -649,7 +671,7 @@ static void dump_pipe_desc(const unsigned char *buf)
[0xE0 ... 0xEF] = "Vendor specific",
[0xF0 ... 0xFF] = "Reserved",
};
-
+
if (buf[0] == 4 && buf[1] == 0x24) {
printf(" %s (0x%02x)\n", pipe_name[buf[2]], buf[2]);
} else {
@@ -714,7 +736,7 @@ static void dump_endpoint(libusb_device_handle *dev, const struct libusb_interfa
if (endpoint->extra_length) {
size = endpoint->extra_length;
buf = endpoint->extra;
- while (size >= 2 * sizeof(u_int8_t)) {
+ while (size >= 2 * sizeof(uint8_t)) {
if (buf[0] < 2) {
dump_junk(buf, " ", size);
break;
@@ -722,7 +744,7 @@ static void dump_endpoint(libusb_device_handle *dev, const struct libusb_interfa
switch (buf[1]) {
case USB_DT_CS_ENDPOINT:
if (interface->bInterfaceClass == 1 && interface->bInterfaceSubClass == 2)
- dump_audiostreaming_endpoint(buf, interface->bInterfaceProtocol);
+ dump_audiostreaming_endpoint(dev, buf, interface->bInterfaceProtocol);
else if (interface->bInterfaceClass == 1 && interface->bInterfaceSubClass == 3)
dump_midistreaming_endpoint(buf);
break;
@@ -846,138 +868,121 @@ static void dump_unit(unsigned int data, unsigned int len)
* Audio Class descriptor dump
*/
-struct bmcontrol {
- const char *name;
- unsigned int bit;
-};
-
-static const struct bmcontrol uac2_interface_header_bmcontrols[] = {
- { "Latency control", 0 },
- { NULL }
-};
-
-static const struct bmcontrol uac_fu_bmcontrols[] = {
- { "Mute", 0 },
- { "Volume", 1 },
- { "Bass", 2 },
- { "Mid", 3 },
- { "Treble", 4 },
- { "Graphic Equalizer", 5 },
- { "Automatic Gain", 6 },
- { "Delay", 7 },
- { "Bass Boost", 8 },
- { "Loudness", 9 },
- { "Input gain", 10 },
- { "Input gain pad", 11 },
- { "Phase inverter", 12 },
- { NULL }
-};
-
-static const struct bmcontrol uac2_input_term_bmcontrols[] = {
- { "Copy Protect", 0 },
- { "Connector", 1 },
- { "Overload", 2 },
- { "Cluster", 3 },
- { "Underflow", 4 },
- { "Overflow", 5 },
- { NULL }
-};
-
-static const struct bmcontrol uac2_output_term_bmcontrols[] = {
- { "Copy Protect", 0 },
- { "Connector", 1 },
- { "Overload", 2 },
- { "Underflow", 3 },
- { "Overflow", 4 },
- { NULL }
-};
-
-static const struct bmcontrol uac2_mixer_unit_bmcontrols[] = {
- { "Cluster", 0 },
- { "Underflow", 1 },
- { "Overflow", 2 },
- { NULL }
-};
+static void dump_audio_subtype(libusb_device_handle *dev,
+ const char *name,
+ const struct desc * const desc[3],
+ const unsigned char *buf,
+ int protocol,
+ unsigned int indent)
+{
+ static const char * const strings[] = { "UAC1", "UAC2", "UAC3" };
+ unsigned int idx = 0;
-static const struct bmcontrol uac2_extension_unit_bmcontrols[] = {
- { "Enable", 0 },
- { "Cluster", 1 },
- { "Underflow", 2 },
- { "Overflow", 3 },
- { NULL }
-};
+ switch (protocol) {
+ case USB_AUDIO_CLASS_2: idx = 1; break;
+ case USB_AUDIO_CLASS_3: idx = 2; break;
+ }
-static const struct bmcontrol uac2_clock_source_bmcontrols[] = {
- { "Clock Frequency", 0 },
- { "Clock Validity", 1 },
- { NULL }
-};
+ printf("(%s)\n", name);
-static const struct bmcontrol uac2_clock_selector_bmcontrols[] = {
- { "Clock Selector", 0 },
- { NULL }
-};
+ if (desc[idx] == NULL) {
+ printf("%*sWarning: %s descriptors are illegal for %s\n",
+ indent * 2, "", name, strings[idx]);
+ return;
+ }
-static const struct bmcontrol uac2_clock_multiplier_bmcontrols[] = {
- { "Clock Numerator", 0 },
- { "Clock Denominator", 1 },
- { NULL }
-};
+ /* Skip the first three bytes; those common fields have already
+ * been dumped. */
+ desc_dump(dev, desc[idx], buf + 3, buf[0] - 3, indent);
+}
-static const struct bmcontrol uac2_selector_bmcontrols[] = {
- { "Selector", 0 },
- { NULL }
+/* USB Audio Class subtypes */
+enum uac_interface_subtype {
+ UAC_INTERFACE_SUBTYPE_AC_DESCRIPTOR_UNDEFINED = 0x00,
+ UAC_INTERFACE_SUBTYPE_HEADER = 0x01,
+ UAC_INTERFACE_SUBTYPE_INPUT_TERMINAL = 0x02,
+ UAC_INTERFACE_SUBTYPE_OUTPUT_TERMINAL = 0x03,
+ UAC_INTERFACE_SUBTYPE_EXTENDED_TERMINAL = 0x04,
+ UAC_INTERFACE_SUBTYPE_MIXER_UNIT = 0x05,
+ UAC_INTERFACE_SUBTYPE_SELECTOR_UNIT = 0x06,
+ UAC_INTERFACE_SUBTYPE_FEATURE_UNIT = 0x07,
+ UAC_INTERFACE_SUBTYPE_EFFECT_UNIT = 0x08,
+ UAC_INTERFACE_SUBTYPE_PROCESSING_UNIT = 0x09,
+ UAC_INTERFACE_SUBTYPE_EXTENSION_UNIT = 0x0a,
+ UAC_INTERFACE_SUBTYPE_CLOCK_SOURCE = 0x0b,
+ UAC_INTERFACE_SUBTYPE_CLOCK_SELECTOR = 0x0c,
+ UAC_INTERFACE_SUBTYPE_CLOCK_MULTIPLIER = 0x0d,
+ UAC_INTERFACE_SUBTYPE_SAMPLE_RATE_CONVERTER = 0x0e,
+ UAC_INTERFACE_SUBTYPE_CONNECTORS = 0x0f,
+ UAC_INTERFACE_SUBTYPE_POWER_DOMAIN = 0x10,
};
-static void dump_audio_bmcontrols(const char *prefix, int bmcontrols, const struct bmcontrol *list, int protocol)
+/*
+ * UAC1, UAC2, and UAC3 define bDescriptorSubtype differently for the
+ * AudioControl interface, so we need to do some ugly remapping:
+ *
+ * val | UAC1 | UAC2 | UAC3
+ * -----|-----------------|-----------------------|---------------------
+ * 0x00 | AC UNDEFINED | AC UNDEFINED | AC UNDEFINED
+ * 0x01 | HEADER | HEADER | HEADER
+ * 0x02 | INPUT_TERMINAL | INPUT_TERMINAL | INPUT_TERMINAL
+ * 0x03 | OUTPUT_TERMINAL | OUTPUT_TERMINAL | OUTPUT_TERMINAL
+ * 0x04 | MIXER_UNIT | MIXER_UNIT | EXTENDED_TERMINAL
+ * 0x05 | SELECTOR_UNIT | SELECTOR_UNIT | MIXER_UNIT
+ * 0x06 | FEATURE_UNIT | FEATURE_UNIT | SELECTOR_UNIT
+ * 0x07 | PROCESSING_UNIT | EFFECT_UNIT | FEATURE_UNIT
+ * 0x08 | EXTENSION_UNIT | PROCESSING_UNIT | EFFECT_UNIT
+ * 0x09 | - | EXTENSION_UNIT | PROCESSING_UNIT
+ * 0x0a | - | CLOCK_SOURCE | EXTENSION_UNIT
+ * 0x0b | - | CLOCK_SELECTOR | CLOCK_SOURCE
+ * 0x0c | - | CLOCK_MULTIPLIER | CLOCK_SELECTOR
+ * 0x0d | - | SAMPLE_RATE_CONVERTER | CLOCK_MULTIPLIER
+ * 0x0e | - | - | SAMPLE_RATE_CONVERTER
+ * 0x0f | - | - | CONNECTORS
+ * 0x10 | - | - | POWER_DOMAIN
+ */
+static enum uac_interface_subtype get_uac_interface_subtype(unsigned char c, int protocol)
{
- while (list->name) {
- switch (protocol) {
- case USB_AUDIO_CLASS_1:
- if (bmcontrols & (1 << list->bit))
- printf("%s%s Control\n", prefix, list->name);
-
- break;
-
- case USB_AUDIO_CLASS_2: {
- const char * const ctrl_type[] = { "read-only", "ILLEGAL (0b10)", "read/write" };
- int ctrl = (bmcontrols >> (list->bit * 2)) & 0x3;
-
- if (ctrl)
- printf("%s%s Control (%s)\n", prefix, list->name, ctrl_type[ctrl-1]);
-
- break;
+ switch (protocol) {
+ case USB_AUDIO_CLASS_1:
+ switch(c) {
+ case 0x04: return UAC_INTERFACE_SUBTYPE_MIXER_UNIT;
+ case 0x05: return UAC_INTERFACE_SUBTYPE_SELECTOR_UNIT;
+ case 0x06: return UAC_INTERFACE_SUBTYPE_FEATURE_UNIT;
+ case 0x07: return UAC_INTERFACE_SUBTYPE_PROCESSING_UNIT;
+ case 0x08: return UAC_INTERFACE_SUBTYPE_EXTENSION_UNIT;
}
-
- } /* switch */
-
- list++;
+ break;
+ case USB_AUDIO_CLASS_2:
+ switch(c) {
+ case 0x04: return UAC_INTERFACE_SUBTYPE_MIXER_UNIT;
+ case 0x05: return UAC_INTERFACE_SUBTYPE_SELECTOR_UNIT;
+ case 0x06: return UAC_INTERFACE_SUBTYPE_FEATURE_UNIT;
+ case 0x07: return UAC_INTERFACE_SUBTYPE_EFFECT_UNIT;
+ case 0x08: return UAC_INTERFACE_SUBTYPE_PROCESSING_UNIT;
+ case 0x09: return UAC_INTERFACE_SUBTYPE_EXTENSION_UNIT;
+ case 0x0a: return UAC_INTERFACE_SUBTYPE_CLOCK_SOURCE;
+ case 0x0b: return UAC_INTERFACE_SUBTYPE_CLOCK_SELECTOR;
+ case 0x0c: return UAC_INTERFACE_SUBTYPE_CLOCK_MULTIPLIER;
+ case 0x0d: return UAC_INTERFACE_SUBTYPE_SAMPLE_RATE_CONVERTER;
+ }
+ break;
+ case USB_AUDIO_CLASS_3:
+ /* No mapping required. */
+ break;
+ default:
+ /* Unknown protocol */
+ break;
}
-}
-static const char * const chconfig_uac2[] = {
- "Front Left (FL)", "Front Right (FR)", "Front Center (FC)", "Low Frequency Effects (LFE)",
- "Back Left (BL)", "Back Right (BR)", "Front Left of Center (FLC)", "Front Right of Center (FRC)", "Back Center (BC)",
- "Side Left (SL)", "Side Right (SR)",
- "Top Center (TC)", "Top Front Left (TFL)", "Top Front Center (TFC)", "Top Front Right (TFR)", "Top Back Left (TBL)",
- "Top Back Center (TBC)", "Top Back Right (TBR)", "Top Front Left of Center (TFLC)", "Top Front Right of Center (TFRC)",
- "Left Low Frequency Effects (LLFE)", "Right Low Frequency Effects (RLFE)",
- "Top Side Left (TSL)", "Top Side Right (TSR)", "Bottom Center (BC)",
- "Back Left of Center (BLC)", "Back Right of Center (BRC)"
-};
+ /* If the protocol was unknown, or the value was not known to require
+ * mapping, just return it unchanged. */
+ return c;
+}
static void dump_audiocontrol_interface(libusb_device_handle *dev, const unsigned char *buf, int protocol)
{
- static const char * const chconfig[] = {
- "Left Front (L)", "Right Front (R)", "Center Front (C)", "Low Freqency Enhancement (LFE)",
- "Left Surround (LS)", "Right Surround (RS)", "Left of Center (LC)", "Right of Center (RC)",
- "Surround (S)", "Side Left (SL)", "Side Right (SR)", "Top (T)"
- };
- static const char * const clock_source_attrs[] = {
- "External", "Internal fixed", "Internal variable", "Internal programmable"
- };
- unsigned int i, chcfg, j, k, N, termt, subtype;
- char *chnames = NULL, *term = NULL, termts[128];
+ enum uac_interface_subtype subtype;
if (buf[1] != USB_DT_CS_INTERFACE)
printf(" Warning: Invalid descriptor\n");
@@ -989,537 +994,63 @@ static void dump_audiocontrol_interface(libusb_device_handle *dev, const unsigne
" bDescriptorSubtype %5u ",
buf[0], buf[1], buf[2]);
- /*
- * This is an utter mess - UAC2 defines some bDescriptorSubtype differently, so we have to do some ugly remapping here:
- *
- * bDescriptorSubtype UAC1 UAC2
- * ------------------------------------------------------------------------
- * 0x07 PROCESSING_UNIT EFFECT_UNIT
- * 0x08 EXTENSION_UNIT PROCESSING_UNIT
- * 0x09 - EXTENSION_UNIT
- *
- */
-
- if (protocol == USB_AUDIO_CLASS_2)
- switch(buf[2]) {
- case 0x07: subtype = 0xf0; break; /* effect unit */
- case 0x08: subtype = 0x07; break; /* processing unit */
- case 0x09: subtype = 0x08; break; /* extension unit */
- default: subtype = buf[2]; break; /* everything else is identical */
- }
- else
- subtype = buf[2];
+ subtype = get_uac_interface_subtype(buf[2], protocol);
switch (subtype) {
- case 0x01: /* HEADER */
- printf("(HEADER)\n");
- switch (protocol) {
- case USB_AUDIO_CLASS_1:
- if (buf[0] < 8+buf[7])
- printf(" Warning: Descriptor too short\n");
- printf(" bcdADC %2x.%02x\n"
- " wTotalLength %5u\n"
- " bInCollection %5u\n",
- buf[4], buf[3], buf[5] | (buf[6] << 8), buf[7]);
- for (i = 0; i < buf[7]; i++)
- printf(" baInterfaceNr(%2u) %5u\n", i, buf[8+i]);
- dump_junk(buf, " ", 8+buf[7]);
- break;
- case USB_AUDIO_CLASS_2:
- if (buf[0] < 9)
- printf(" Warning: Descriptor too short\n");
- printf(" bcdADC %2x.%02x\n"
- " bCategory %5u\n"
- " wTotalLength %5u\n"
- " bmControl 0x%02x\n",
- buf[4], buf[3], buf[5], buf[6] | (buf[7] << 8), buf[8]);
- dump_audio_bmcontrols(" ", buf[8], uac2_interface_header_bmcontrols, protocol);
- break;
- }
+ case UAC_INTERFACE_SUBTYPE_HEADER:
+ dump_audio_subtype(dev, "HEADER", desc_audio_ac_header, buf, protocol, 4);
break;
- case 0x02: /* INPUT_TERMINAL */
- printf("(INPUT_TERMINAL)\n");
- termt = buf[4] | (buf[5] << 8);
- get_audioterminal_string(termts, sizeof(termts), termt);
-
- switch (protocol) {
- case USB_AUDIO_CLASS_1:
- chnames = get_dev_string(dev, buf[10]);
- term = get_dev_string(dev, buf[11]);
- if (buf[0] < 12)
- printf(" Warning: Descriptor too short\n");
- chcfg = buf[8] | (buf[9] << 8);
- printf(" bTerminalID %5u\n"
- " wTerminalType 0x%04x %s\n"
- " bAssocTerminal %5u\n"
- " bNrChannels %5u\n"
- " wChannelConfig 0x%04x\n",
- buf[3], termt, termts, buf[6], buf[7], chcfg);
- for (i = 0; i < 12; i++)
- if ((chcfg >> i) & 1)
- printf(" %s\n", chconfig[i]);
- printf(" iChannelNames %5u %s\n"
- " iTerminal %5u %s\n",
- buf[10], chnames, buf[11], term);
- dump_junk(buf, " ", 12);
- break;
- case USB_AUDIO_CLASS_2:
- chnames = get_dev_string(dev, buf[13]);
- term = get_dev_string(dev, buf[16]);
- if (buf[0] < 17)
- printf(" Warning: Descriptor too short\n");
- chcfg = buf[9] | (buf[10] << 8) | (buf[11] << 16) | (buf[12] << 24);
- printf(" bTerminalID %5u\n"
- " wTerminalType 0x%04x %s\n"
- " bAssocTerminal %5u\n"
- " bCSourceID %5d\n"
- " bNrChannels %5u\n"
- " bmChannelConfig 0x%08x\n",
- buf[3], termt, termts, buf[6], buf[7], buf[8], chcfg);
- for (i = 0; i < 26; i++)
- if ((chcfg >> i) & 1)
- printf(" %s\n", chconfig_uac2[i]);
- printf(" bmControls 0x%04x\n", buf[14] | (buf[15] << 8));
- dump_audio_bmcontrols(" ", buf[14] | (buf[15] << 8), uac2_input_term_bmcontrols, protocol);
- printf(" iChannelNames %5u %s\n"
- " iTerminal %5u %s\n",
- buf[13], chnames, buf[16], term);
- dump_junk(buf, " ", 17);
- break;
- } /* switch (protocol) */
-
+ case UAC_INTERFACE_SUBTYPE_INPUT_TERMINAL:
+ dump_audio_subtype(dev, "INPUT_TERMINAL", desc_audio_ac_input_terminal, buf, protocol, 4);
break;
- case 0x03: /* OUTPUT_TERMINAL */
- printf("(OUTPUT_TERMINAL)\n");
- switch (protocol) {
- case USB_AUDIO_CLASS_1:
- term = get_dev_string(dev, buf[8]);
- termt = buf[4] | (buf[5] << 8);
- get_audioterminal_string(termts, sizeof(termts), termt);
- if (buf[0] < 9)
- printf(" Warning: Descriptor too short\n");
- printf(" bTerminalID %5u\n"
- " wTerminalType 0x%04x %s\n"
- " bAssocTerminal %5u\n"
- " bSourceID %5u\n"
- " iTerminal %5u %s\n",
- buf[3], termt, termts, buf[6], buf[7], buf[8], term);
- dump_junk(buf, " ", 9);
- break;
- case USB_AUDIO_CLASS_2:
- term = get_dev_string(dev, buf[11]);
- termt = buf[4] | (buf[5] << 8);
- get_audioterminal_string(termts, sizeof(termts), termt);
- if (buf[0] < 12)
- printf(" Warning: Descriptor too short\n");
- printf(" bTerminalID %5u\n"
- " wTerminalType 0x%04x %s\n"
- " bAssocTerminal %5u\n"
- " bSourceID %5u\n"
- " bCSourceID %5u\n"
- " bmControls 0x%04x\n",
- buf[3], termt, termts, buf[6], buf[7], buf[8], buf[9] | (buf[10] << 8));
- dump_audio_bmcontrols(" ", buf[9] | (buf[10] << 8), uac2_output_term_bmcontrols, protocol);
- printf(" iTerminal %5u %s\n", buf[11], term);
- dump_junk(buf, " ", 12);
- break;
- } /* switch (protocol) */
-
+ case UAC_INTERFACE_SUBTYPE_OUTPUT_TERMINAL:
+ dump_audio_subtype(dev, "OUTPUT_TERMINAL", desc_audio_ac_output_terminal, buf, protocol, 4);
break;
- case 0x04: /* MIXER_UNIT */
- printf("(MIXER_UNIT)\n");
-
- switch (protocol) {
- case USB_AUDIO_CLASS_1:
- j = buf[4];
- k = buf[j+5];
- if (j == 0 || k == 0) {
- printf(" Warning: mixer with %5u input and %5u output channels.\n", j, k);
- N = 0;
- } else {
- N = 1+(j*k-1)/8;
- }
- chnames = get_dev_string(dev, buf[8+j]);
- term = get_dev_string(dev, buf[9+j+N]);
- if (buf[0] < 10+j+N)
- printf(" Warning: Descriptor too short\n");
- chcfg = buf[6+j] | (buf[7+j] << 8);
- printf(" bUnitID %5u\n"
- " bNrInPins %5u\n",
- buf[3], buf[4]);
- for (i = 0; i < j; i++)
- printf(" baSourceID(%2u) %5u\n", i, buf[5+i]);
- printf(" bNrChannels %5u\n"
- " wChannelConfig 0x%04x\n",
- buf[5+j], chcfg);
- for (i = 0; i < 12; i++)
- if ((chcfg >> i) & 1)
- printf(" %s\n", chconfig[i]);
- printf(" iChannelNames %5u %s\n",
- buf[8+j], chnames);
- for (i = 0; i < N; i++)
- printf(" bmControls 0x%02x\n", buf[9+j+i]);
- printf(" iMixer %5u %s\n", buf[9+j+N], term);
- dump_junk(buf, " ", 10+j+N);
- break;
-
- case USB_AUDIO_CLASS_2:
- j = buf[4];
- k = buf[0] - 13 - j;
- chnames = get_dev_string(dev, buf[10+j]);
- term = get_dev_string(dev, buf[12+j+k]);
- chcfg = buf[6+j] | (buf[7+j] << 8) | (buf[8+j] << 16) | (buf[9+j] << 24);
-
- printf(" bUnitID %5u\n"
- " bNrPins %5u\n",
- buf[3], buf[4]);
- for (i = 0; i < j; i++)
- printf(" baSourceID(%2u) %5u\n", i, buf[5+i]);
- printf(" bNrChannels %5u\n"
- " bmChannelConfig 0x%08x\n", buf[5+j], chcfg);
- for (i = 0; i < 26; i++)
- if ((chcfg >> i) & 1)
- printf(" %s\n", chconfig_uac2[i]);
- printf(" iChannelNames %5u %s\n", buf[10+j], chnames);
-
- N = 0;
- for (i = 0; i < k; i++)
- N |= buf[11+j+i] << (i * 8);
-
- dump_bytes(buf+11+j, k);
-
- printf(" bmControls %02x\n", buf[11+j+k]);
- dump_audio_bmcontrols(" ", buf[11+j+k], uac2_mixer_unit_bmcontrols, protocol);
-
- printf(" iMixer %5u %s\n", buf[12+j+k], term);
- dump_junk(buf, " ", 13+j+k);
- break;
- } /* switch (protocol) */
+ case UAC_INTERFACE_SUBTYPE_MIXER_UNIT:
+ dump_audio_subtype(dev, "MIXER_UNIT", desc_audio_ac_mixer_unit, buf, protocol, 4);
break;
- case 0x05: /* SELECTOR_UNIT */
- printf("(SELECTOR_UNIT)\n");
- switch (protocol) {
- case USB_AUDIO_CLASS_1:
- if (buf[0] < 6+buf[4])
- printf(" Warning: Descriptor too short\n");
- term = get_dev_string(dev, buf[5+buf[4]]);
-
- printf(" bUnitID %5u\n"
- " bNrInPins %5u\n",
- buf[3], buf[4]);
- for (i = 0; i < buf[4]; i++)
- printf(" baSource(%2u) %5u\n", i, buf[5+i]);
- printf(" iSelector %5u %s\n",
- buf[5+buf[4]], term);
- dump_junk(buf, " ", 6+buf[4]);
- break;
- case USB_AUDIO_CLASS_2:
- if (buf[0] < 7+buf[4])
- printf(" Warning: Descriptor too short\n");
- term = get_dev_string(dev, buf[6+buf[4]]);
-
- printf(" bUnitID %5u\n"
- " bNrInPins %5u\n",
- buf[3], buf[4]);
- for (i = 0; i < buf[4]; i++)
- printf(" baSource(%2u) %5u\n", i, buf[5+i]);
- printf(" bmControls 0x%02x\n", buf[5+buf[4]]);
- dump_audio_bmcontrols(" ", buf[5+buf[4]], uac2_selector_bmcontrols, protocol);
- printf(" iSelector %5u %s\n",
- buf[6+buf[4]], term);
- dump_junk(buf, " ", 7+buf[4]);
- break;
- } /* switch (protocol) */
-
+ case UAC_INTERFACE_SUBTYPE_SELECTOR_UNIT:
+ dump_audio_subtype(dev, "SELECTOR_UNIT", desc_audio_ac_selector_unit, buf, protocol, 4);
break;
- case 0x06: /* FEATURE_UNIT */
- printf("(FEATURE_UNIT)\n");
-
- switch (protocol) {
- case USB_AUDIO_CLASS_1:
- j = buf[5];
- if (!j)
- j = 1;
- k = (buf[0] - 7) / j;
- if (buf[0] < 7+buf[5]*k)
- printf(" Warning: Descriptor too short\n");
- term = get_dev_string(dev, buf[6+buf[5]*k]);
- printf(" bUnitID %5u\n"
- " bSourceID %5u\n"
- " bControlSize %5u\n",
- buf[3], buf[4], buf[5]);
- for (i = 0; i < k; i++) {
- chcfg = buf[6+buf[5]*i];
- if (buf[5] > 1)
- chcfg |= (buf[7+buf[5]*i] << 8);
- for (j = 0; j < buf[5]; j++)
- printf(" bmaControls(%2u) 0x%02x\n", i, buf[6+buf[5]*i+j]);
-
- dump_audio_bmcontrols(" ", chcfg, uac_fu_bmcontrols, protocol);
- }
- printf(" iFeature %5u %s\n", buf[6+buf[5]*k], term);
- dump_junk(buf, " ", 7+buf[5]*k);
- break;
- case USB_AUDIO_CLASS_2:
- if (buf[0] < 10)
- printf(" Warning: Descriptor too short\n");
- k = (buf[0] - 6) / 4;
- printf(" bUnitID %5u\n"
- " bSourceID %5u\n",
- buf[3], buf[4]);
- for (i = 0; i < k; i++) {
- chcfg = buf[5+(4*i)] |
- buf[6+(4*i)] << 8 |
- buf[7+(4*i)] << 16 |
- buf[8+(4*i)] << 24;
- printf(" bmaControls(%2u) 0x%08x\n", i, chcfg);
- dump_audio_bmcontrols(" ", chcfg, uac_fu_bmcontrols, protocol);
- }
- term = get_dev_string(dev, buf[5+k*4]);
- printf(" iFeature %5u %s\n", buf[5+(k*4)], term);
- dump_junk(buf, " ", 6+(k*4));
- break;
- } /* switch (protocol) */
-
+ case UAC_INTERFACE_SUBTYPE_FEATURE_UNIT:
+ dump_audio_subtype(dev, "FEATURE_UNIT", desc_audio_ac_feature_unit, buf, protocol, 4);
break;
- case 0x07: /* PROCESSING_UNIT */
- printf("(PROCESSING_UNIT)\n");
-
- switch (protocol) {
- case USB_AUDIO_CLASS_1:
- j = buf[6];
- k = buf[11+j];
- chnames = get_dev_string(dev, buf[10+j]);
- term = get_dev_string(dev, buf[12+j+k]);
- chcfg = buf[8+j] | (buf[9+j] << 8);
- if (buf[0] < 13+j+k)
- printf(" Warning: Descriptor too short\n");
- printf(" bUnitID %5u\n"
- " wProcessType %5u\n"
- " bNrPins %5u\n",
- buf[3], buf[4] | (buf[5] << 8), buf[6]);
- for (i = 0; i < j; i++)
- printf(" baSourceID(%2u) %5u\n", i, buf[7+i]);
- printf(" bNrChannels %5u\n"
- " wChannelConfig 0x%04x\n", buf[7+j], chcfg);
- for (i = 0; i < 12; i++)
- if ((chcfg >> i) & 1)
- printf(" %s\n", chconfig[i]);
- printf(" iChannelNames %5u %s\n"
- " bControlSize %5u\n", buf[10+j], chnames, buf[11+j]);
- for (i = 0; i < k; i++)
- printf(" bmControls(%2u) 0x%02x\n", i, buf[12+j+i]);
- if (buf[12+j] & 1)
- printf(" Enable Processing\n");
- printf(" iProcessing %5u %s\n"
- " Process-Specific ", buf[12+j+k], term);
- dump_bytes(buf+(13+j+k), buf[0]-(13+j+k));
- break;
- case USB_AUDIO_CLASS_2:
- j = buf[6];
- k = buf[0] - 17 - j;
- chnames = get_dev_string(dev, buf[12+j]);
- term = get_dev_string(dev, buf[15+j+k]);
- chcfg = buf[8+j] |
- (buf[9+j] << 8) |
- (buf[10+j] << 16) |
- (buf[11+j] << 24);
-
- printf(" bUnitID %5u\n"
- " wProcessType %5u\n"
- " bNrPins %5u\n",
- buf[3], buf[4] | (buf[5] << 8), buf[6]);
- for (i = 0; i < j; i++)
- printf(" baSourceID(%2u) %5u\n", i, buf[5+i]);
- printf(" bNrChannels %5u\n"
- " bmChannelConfig 0x%08x\n", buf[7+j], chcfg);
- for (i = 0; i < 26; i++)
- if ((chcfg >> i) & 1)
- printf(" %s\n", chconfig_uac2[i]);
- printf(" iChannelNames %5u %s\n"
- " bmControls 0x%04x\n", buf[12+j], chnames, buf[13+j] | (buf[14+j] << 8));
- if (buf[12+j] & 1)
- printf(" Enable Processing\n");
- printf(" iProcessing %5u %s\n"
- " Process-Specific ", buf[15+j], term);
- dump_bytes(buf+(16+j), k);
- break;
- } /* switch (protocol) */
-
+ case UAC_INTERFACE_SUBTYPE_PROCESSING_UNIT:
+ dump_audio_subtype(dev, "PROCESSING_UNIT", desc_audio_ac_processing_unit, buf, protocol, 4);
break;
- case 0x08: /* EXTENSION_UNIT */
- printf("(EXTENSION_UNIT)\n");
-
- switch (protocol) {
- case USB_AUDIO_CLASS_1:
- j = buf[6];
- k = buf[11+j];
- chnames = get_dev_string(dev, buf[10+j]);
- term = get_dev_string(dev, buf[12+j+k]);
- chcfg = buf[8+j] | (buf[9+j] << 8);
- if (buf[0] < 13+j+k)
- printf(" Warning: Descriptor too short\n");
- printf(" bUnitID %5u\n"
- " wExtensionCode %5u\n"
- " bNrPins %5u\n",
- buf[3], buf[4] | (buf[5] << 8), buf[6]);
- for (i = 0; i < j; i++)
- printf(" baSourceID(%2u) %5u\n", i, buf[7+i]);
- printf(" bNrChannels %5u\n"
- " wChannelConfig %5u\n", buf[7+j], chcfg);
- for (i = 0; i < 12; i++)
- if ((chcfg >> i) & 1)
- printf(" %s\n", chconfig[i]);
- printf(" iChannelNames %5u %s\n"
- " bControlSize %5u\n", buf[10+j], chnames, buf[11+j]);
- for (i = 0; i < k; i++)
- printf(" bmControls(%2u) 0x%02x\n", i, buf[12+j+i]);
- if (buf[12+j] & 1)
- printf(" Enable Processing\n");
- printf(" iExtension %5u %s\n",
- buf[12+j+k], term);
- dump_junk(buf, " ", 13+j+k);
- break;
- case USB_AUDIO_CLASS_2:
- j = buf[6];
- chnames = get_dev_string(dev, buf[13+j]);
- term = get_dev_string(dev, buf[15+j]);
- chcfg = buf[9+j] | (buf[10+j] << 8) | (buf[11+j] << 16) | (buf[12+j] << 24);
- if (buf[0] < 16+j)
- printf(" Warning: Descriptor too short\n");
- printf(" bUnitID %5u\n"
- " wExtensionCode %5u\n"
- " bNrPins %5u\n",
- buf[3], buf[4] | (buf[5] << 8), buf[6]);
- for (i = 0; i < j; i++)
- printf(" baSourceID(%2u) %5u\n", i, buf[7+i]);
- printf(" bNrChannels %5u\n"
- " wChannelConfig %5u\n", buf[7+j], chcfg);
- for (i = 0; i < 12; i++)
- if ((chcfg >> i) & 1)
- printf(" %s\n", chconfig[i]);
- printf(" iChannelNames %5u %s\n"
- " bmControls 0x%02x\n", buf[13+j], chnames, buf[14+j]);
- dump_audio_bmcontrols(" ", buf[14+j], uac2_extension_unit_bmcontrols, protocol);
-
- printf(" iExtension %5u %s\n",
- buf[15+j], term);
- dump_junk(buf, " ", 16+j);
- break;
- } /* switch (protocol) */
-
+ case UAC_INTERFACE_SUBTYPE_EXTENSION_UNIT:
+ dump_audio_subtype(dev, "EXTENSION_UNIT", desc_audio_ac_extension_unit, buf, protocol, 4);
break;
- case 0x0a: /* CLOCK_SOURCE */
- printf ("(CLOCK_SOURCE)\n");
- if (protocol != USB_AUDIO_CLASS_2)
- printf(" Warning: CLOCK_SOURCE descriptors are illegal for UAC1\n");
-
- if (buf[0] < 8)
- printf(" Warning: Descriptor too short\n");
-
- printf(" bClockID %5u\n"
- " bmAttributes 0x%02x %s Clock %s\n",
- buf[3], buf[4], clock_source_attrs[buf[4] & 3],
- (buf[4] & 4) ? "(synced to SOF)" : "");
-
- printf(" bmControls 0x%02x\n", buf[5]);
- dump_audio_bmcontrols(" ", buf[5], uac2_clock_source_bmcontrols, protocol);
-
- term = get_dev_string(dev, buf[7]);
- printf(" bAssocTerminal %5u\n", buf[6]);
- printf(" iClockSource %5u %s\n", buf[7], term);
- dump_junk(buf, " ", 8);
+ case UAC_INTERFACE_SUBTYPE_CLOCK_SOURCE:
+ dump_audio_subtype(dev, "CLOCK_SOURCE", desc_audio_ac_clock_source, buf, protocol, 4);
break;
- case 0x0b: /* CLOCK_SELECTOR */
- printf("(CLOCK_SELECTOR)\n");
- if (protocol != USB_AUDIO_CLASS_2)
- printf(" Warning: CLOCK_SELECTOR descriptors are illegal for UAC1\n");
-
- if (buf[0] < 7+buf[4])
- printf(" Warning: Descriptor too short\n");
- term = get_dev_string(dev, buf[6+buf[4]]);
-
- printf(" bUnitID %5u\n"
- " bNrInPins %5u\n",
- buf[3], buf[4]);
- for (i = 0; i < buf[4]; i++)
- printf(" baCSourceID(%2u) %5u\n", i, buf[5+i]);
- printf(" bmControls 0x%02x\n", buf[5+buf[4]]);
- dump_audio_bmcontrols(" ", buf[5+buf[4]], uac2_clock_selector_bmcontrols, protocol);
-
- printf(" iClockSelector %5u %s\n",
- buf[6+buf[4]], term);
- dump_junk(buf, " ", 7+buf[4]);
+ case UAC_INTERFACE_SUBTYPE_CLOCK_SELECTOR:
+ dump_audio_subtype(dev, "CLOCK_SELECTOR", desc_audio_ac_clock_selector, buf, protocol, 4);
break;
- case 0x0c: /* CLOCK_MULTIPLIER */
- printf("(CLOCK_MULTIPLIER)\n");
- if (protocol != USB_AUDIO_CLASS_2)
- printf(" Warning: CLOCK_MULTIPLIER descriptors are illegal for UAC1\n");
-
- if (buf[0] < 7)
- printf(" Warning: Descriptor too short\n");
-
- printf(" bClockID %5u\n"
- " bCSourceID %5u\n",
- buf[3], buf[4]);
-
- printf(" bmControls 0x%02x\n", buf[5]);
- dump_audio_bmcontrols(" ", buf[5], uac2_clock_multiplier_bmcontrols, protocol);
-
- term = get_dev_string(dev, buf[6]);
- printf(" iClockMultiplier %5u %s\n", buf[6], term);
- dump_junk(buf, " ", 7);
+ case UAC_INTERFACE_SUBTYPE_CLOCK_MULTIPLIER:
+ dump_audio_subtype(dev, "CLOCK_MULTIPLIER", desc_audio_ac_clock_multiplier, buf, protocol, 4);
break;
- case 0x0d: /* SAMPLE_RATE_CONVERTER_UNIT */
- printf("(SAMPLE_RATE_CONVERTER_UNIT)\n");
- if (protocol != USB_AUDIO_CLASS_2)
- printf(" Warning: SAMPLE_RATE_CONVERTER_UNIT descriptors are illegal for UAC1\n");
-
- if (buf[0] < 8)
- printf(" Warning: Descriptor too short\n");
-
- term = get_dev_string(dev, buf[7]);
- printf(" bUnitID %5u\n"
- " bSourceID %5u\n"
- " bCSourceInID %5u\n"
- " bCSourceOutID %5u\n"
- " iSRC %5u %s\n",
- buf[3], buf[4], buf[5], buf[6], buf[7], term);
- dump_junk(buf, " ", 8);
+ case UAC_INTERFACE_SUBTYPE_SAMPLE_RATE_CONVERTER:
+ dump_audio_subtype(dev, "SAMPLING_RATE_CONVERTER", desc_audio_ac_clock_multiplier, buf, protocol, 4);
break;
- case 0xf0: /* EFFECT_UNIT - the real value is 0x07, see above for the reason for remapping */
- printf("(EFFECT_UNIT)\n");
+ case UAC_INTERFACE_SUBTYPE_EFFECT_UNIT:
+ dump_audio_subtype(dev, "EFFECT_UNIT", desc_audio_ac_effect_unit, buf, protocol, 4);
+ break;
- if (buf[0] < 16)
- printf(" Warning: Descriptor too short\n");
- k = (buf[0] - 16) / 4;
- term = get_dev_string(dev, buf[15+k*4]);
- printf(" bUnitID %5u\n"
- " wEffectType %5u\n"
- " bSourceID %5u\n",
- buf[3], buf[4] | (buf[5] << 8), buf[6]);
- for (i = 0; i < k; i++) {
- chcfg = buf[7+(4*i)] |
- buf[8+(4*i)] << 8 |
- buf[9+(4*i)] << 16 |
- buf[10+(4*i)] << 24;
- printf(" bmaControls(%2u) 0x%08x\n", i, chcfg);
- /* TODO: parse effect-specific controls */
- }
- printf(" iEffect %5u %s\n", buf[15+(k*4)], term);
- dump_junk(buf, " ", 16+(k*4));
+ case UAC_INTERFACE_SUBTYPE_POWER_DOMAIN:
+ dump_audio_subtype(dev, "POWER_DOMAIN", desc_audio_ac_power_domain, buf, protocol, 4);
break;
default:
@@ -1528,16 +1059,8 @@ static void dump_audiocontrol_interface(libusb_device_handle *dev, const unsigne
dump_bytes(buf+3, buf[0]-3);
break;
}
-
- free(chnames);
- free(term);
}
-static const struct bmcontrol uac2_as_interface_bmcontrols[] = {
- { "Active Alternate Setting", 0 },
- { "Valid Alternate Setting", 1 },
- { NULL }
-};
static void dump_audiostreaming_interface(libusb_device_handle *dev, const unsigned char *buf, int protocol)
{
@@ -1550,7 +1073,6 @@ static void dump_audiostreaming_interface(libusb_device_handle *dev, const unsig
"IEC1937_MPEG-2_Layer1_LS", "IEC1937_MPEG-2_Layer2/3_LS" };
unsigned int i, j, fmttag;
const char *fmtptr = "undefined";
- char *name = NULL;
if (buf[1] != USB_DT_CS_INTERFACE)
printf(" Warning: Invalid descriptor\n");
@@ -1563,54 +1085,7 @@ static void dump_audiostreaming_interface(libusb_device_handle *dev, const unsig
buf[0], buf[1], buf[2]);
switch (buf[2]) {
case 0x01: /* AS_GENERAL */
- printf("(AS_GENERAL)\n");
-
- switch (protocol) {
- case USB_AUDIO_CLASS_1:
- if (buf[0] < 7)
- printf(" Warning: Descriptor too short\n");
- fmttag = buf[5] | (buf[6] << 8);
- if (fmttag <= 5)
- fmtptr = fmtItag[fmttag];
- else if (fmttag >= 0x1000 && fmttag <= 0x1002)
- fmtptr = fmtIItag[fmttag & 0xfff];
- else if (fmttag >= 0x2000 && fmttag <= 0x2006)
- fmtptr = fmtIIItag[fmttag & 0xfff];
- printf(" bTerminalLink %5u\n"
- " bDelay %5u frames\n"
- " wFormatTag %5u %s\n",
- buf[3], buf[4], fmttag, fmtptr);
- dump_junk(buf, " ", 7);
- break;
- case USB_AUDIO_CLASS_2:
- if (buf[0] < 16)
- printf(" Warning: Descriptor too short\n");
- printf(" bTerminalLink %5u\n"
- " bmControls 0x%02x\n",
- buf[3], buf[4]);
- dump_audio_bmcontrols(" ", buf[4], uac2_as_interface_bmcontrols, protocol);
-
- printf(" bFormatType %5u\n", buf[5]);
- fmttag = buf[6] | (buf[7] << 8) | (buf[8] << 16) | (buf[9] << 24);
- printf(" bmFormats 0x%08x\n", fmttag);
- for (i=0; i<5; i++)
- if ((fmttag >> i) & 1)
- printf(" %s\n", fmtItag[i+1]);
-
- j = buf[11] | (buf[12] << 8) | (buf[13] << 16) | (buf[14] << 24);
- printf(" bNrChannels %5u\n"
- " bmChannelConfig 0x%08x\n",
- buf[10], j);
- for (i = 0; i < 26; i++)
- if ((j >> i) & 1)
- printf(" %s\n", chconfig_uac2[i]);
-
- name = get_dev_string(dev, buf[15]);
- printf(" iChannelNames %5u %s\n", buf[15], name);
- dump_junk(buf, " ", 16);
- break;
- } /* switch (protocol) */
-
+ dump_audio_subtype(dev, "AS_GENERAL", desc_audio_as_interface, buf, protocol, 4);
break;
case 0x02: /* FORMAT_TYPE */
@@ -1865,66 +1340,23 @@ static void dump_audiostreaming_interface(libusb_device_handle *dev, const unsig
dump_bytes(buf+3, buf[0]-3);
break;
}
-
- free(name);
}
-static const struct bmcontrol uac2_audio_endpoint_bmcontrols[] = {
- { "Pitch", 0 },
- { "Data Overrun", 1 },
- { "Data Underrun", 2 },
- { NULL }
-};
-
-static void dump_audiostreaming_endpoint(const unsigned char *buf, int protocol)
+static void dump_audiostreaming_endpoint(libusb_device_handle *dev, const unsigned char *buf, int protocol)
{
- static const char * const lockdelunits[] = { "Undefined", "Milliseconds", "Decoded PCM samples", "Reserved" };
- unsigned int lckdelidx;
+ static const char * const subtype[] = { "invalid", "EP_GENERAL" };
if (buf[1] != USB_DT_CS_ENDPOINT)
printf(" Warning: Invalid descriptor\n");
- else if (buf[0] < ((protocol == USB_AUDIO_CLASS_1) ? 7 : 8))
- printf(" Warning: Descriptor too short\n");
- printf(" AudioControl Endpoint Descriptor:\n"
+
+ printf(" AudioStreaming Endpoint Descriptor:\n"
" bLength %5u\n"
" bDescriptorType %5u\n"
- " bDescriptorSubtype %5u (%s)\n"
- " bmAttributes 0x%02x\n",
- buf[0], buf[1], buf[2], buf[2] == 1 ? "EP_GENERAL" : "invalid", buf[3]);
-
- switch (protocol) {
- case USB_AUDIO_CLASS_1:
- if (buf[3] & 1)
- printf(" Sampling Frequency\n");
- if (buf[3] & 2)
- printf(" Pitch\n");
- if (buf[3] & 128)
- printf(" MaxPacketsOnly\n");
- lckdelidx = buf[4];
- if (lckdelidx > 3)
- lckdelidx = 3;
- printf(" bLockDelayUnits %5u %s\n"
- " wLockDelay %5u %s\n",
- buf[4], lockdelunits[lckdelidx], buf[5] | (buf[6] << 8), lockdelunits[lckdelidx]);
- dump_junk(buf, " ", 7);
- break;
-
- case USB_AUDIO_CLASS_2:
- if (buf[3] & 128)
- printf(" MaxPacketsOnly\n");
-
- printf(" bmControls 0x%02x\n", buf[4]);
- dump_audio_bmcontrols(" ", buf[4], uac2_audio_endpoint_bmcontrols, protocol);
+ " bDescriptorSubtype %5u ",
+ buf[0], buf[1], buf[2]);
- lckdelidx = buf[5];
- if (lckdelidx > 3)
- lckdelidx = 3;
- printf(" bLockDelayUnits %5u %s\n"
- " wLockDelay %5u\n",
- buf[5], lockdelunits[lckdelidx], buf[6] | (buf[7] << 8));
- dump_junk(buf, " ", 8);
- break;
- } /* switch protocol */
+ dump_audio_subtype(dev, subtype[buf[2] == 1],
+ desc_audio_as_isochronous_audio_data_endpoint, buf, protocol, 5);
}
static void dump_midistreaming_interface(libusb_device_handle *dev, const unsigned char *buf)
@@ -1950,7 +1382,7 @@ static void dump_midistreaming_interface(libusb_device_handle *dev, const unsign
printf(" Warning: Descriptor too short\n");
tlength = buf[5] | (buf[6] << 8);
printf(" bcdADC %2x.%02x\n"
- " wTotalLength %5u\n",
+ " wTotalLength 0x%04x\n",
buf[4], buf[3], tlength);
dump_junk(buf, " ", 7);
break;
@@ -2074,14 +1506,14 @@ static void dump_midistreaming_endpoint(const unsigned char *buf)
* Video Class descriptor dump
*/
-static void dump_videocontrol_interface(libusb_device_handle *dev, const unsigned char *buf)
+static void dump_videocontrol_interface(libusb_device_handle *dev, const unsigned char *buf, int protocol)
{
static const char * const ctrlnames[] = {
"Brightness", "Contrast", "Hue", "Saturation", "Sharpness", "Gamma",
"White Balance Temperature", "White Balance Component", "Backlight Compensation",
"Gain", "Power Line Frequency", "Hue, Auto", "White Balance Temperature, Auto",
"White Balance Component, Auto", "Digital Multiplier", "Digital Multiplier Limit",
- "Analog Video Standard", "Analog Video Lock Status"
+ "Analog Video Standard", "Analog Video Lock Status", "Contrast, Auto"
};
static const char * const camctrlnames[] = {
"Scanning Mode", "Auto-Exposure Mode", "Auto-Exposure Priority",
@@ -2089,7 +1521,15 @@ static void dump_videocontrol_interface(libusb_device_handle *dev, const unsigne
"Focus (Relative)", "Iris (Absolute)", "Iris (Relative)", "Zoom (Absolute)",
"Zoom (Relative)", "PanTilt (Absolute)", "PanTilt (Relative)",
"Roll (Absolute)", "Roll (Relative)", "Reserved", "Reserved", "Focus, Auto",
- "Privacy"
+ "Privacy", "Focus, Simple", "Window", "Region of Interest"
+ };
+ static const char * const enctrlnames[] = {
+ "Select Layer", "Profile and Toolset", "Video Resolution", "Minimum Frame Interval",
+ "Slice Mode", "Rate Control Mode", "Average Bit Rate", "CPB Size", "Peak Bit Rate",
+ "Quantization Parameter", "Synchronization and Long-Term Reference Frame",
+ "Long-Term Buffer", "Picture Long-Term Reference", "LTR Validation",
+ "Level IDC", "SEI Message", "QP Range", "Priority ID", "Start or Stop Layer/View",
+ "Error Resiliency"
};
static const char * const stdnames[] = {
"None", "NTSC - 525/60", "PAL - 625/50", "SECAM - 625/50",
@@ -2114,7 +1554,7 @@ static void dump_videocontrol_interface(libusb_device_handle *dev, const unsigne
printf(" Warning: Descriptor too short\n");
freq = buf[7] | (buf[8] << 8) | (buf[9] << 16) | (buf[10] << 24);
printf(" bcdUVC %2x.%02x\n"
- " wTotalLength %5u\n"
+ " wTotalLength 0x%04x\n"
" dwClockFrequency %5u.%06uMHz\n"
" bInCollection %5u\n",
buf[4], buf[3], buf[5] | (buf[6] << 8), freq / 1000000,
@@ -2150,9 +1590,16 @@ static void dump_videocontrol_interface(libusb_device_handle *dev, const unsigne
for (i = 0; i < 3 && i < buf[14]; i++)
ctrls = (ctrls << 8) | buf[8+n-i-1];
printf(" bmControls 0x%08x\n", ctrls);
- for (i = 0; i < 19; i++)
- if ((ctrls >> i) & 1)
- printf(" %s\n", camctrlnames[i]);
+ if (protocol == USB_VIDEO_PROTOCOL_15) {
+ for (i = 0; i < 22; i++)
+ if ((ctrls >> i) & 1)
+ printf(" %s\n", camctrlnames[i]);
+ }
+ else {
+ for (i = 0; i < 19; i++)
+ if ((ctrls >> i) & 1)
+ printf(" %s\n", camctrlnames[i]);
+ }
}
dump_junk(buf, " ", 8+n);
break;
@@ -2161,7 +1608,7 @@ static void dump_videocontrol_interface(libusb_device_handle *dev, const unsigne
printf("(OUTPUT_TERMINAL)\n");
term = get_dev_string(dev, buf[8]);
termt = buf[4] | (buf[5] << 8);
- get_audioterminal_string(termts, sizeof(termts), termt);
+ get_videoterminal_string(termts, sizeof(termts), termt);
if (buf[0] < 9)
printf(" Warning: Descriptor too short\n");
printf(" bTerminalID %5u\n"
@@ -2205,12 +1652,19 @@ static void dump_videocontrol_interface(libusb_device_handle *dev, const unsigne
for (i = 0; i < 3 && i < n; i++)
ctrls = (ctrls << 8) | buf[8+n-i-1];
printf(" bmControls 0x%08x\n", ctrls);
- for (i = 0; i < 18; i++)
- if ((ctrls >> i) & 1)
- printf(" %s\n", ctrlnames[i]);
+ if (protocol == USB_VIDEO_PROTOCOL_15) {
+ for (i = 0; i < 19; i++)
+ if ((ctrls >> i) & 1)
+ printf(" %s\n", ctrlnames[i]);
+ }
+ else {
+ for (i = 0; i < 18; i++)
+ if ((ctrls >> i) & 1)
+ printf(" %s\n", ctrlnames[i]);
+ }
stds = buf[9+n];
printf(" iProcessing %5u %s\n"
- " bmVideoStandards 0x%2x\n", buf[8+n], term, stds);
+ " bmVideoStandards 0x%02x\n", buf[8+n], term, stds);
for (i = 0; i < 6; i++)
if ((stds >> i) & 1)
printf(" %s\n", stdnames[i]);
@@ -2225,8 +1679,8 @@ static void dump_videocontrol_interface(libusb_device_handle *dev, const unsigne
printf(" Warning: Descriptor too short\n");
printf(" bUnitID %5u\n"
" guidExtensionCode %s\n"
- " bNumControl %5u\n"
- " bNrPins %5u\n",
+ " bNumControls %5u\n"
+ " bNrInPins %5u\n",
buf[3], get_guid(&buf[4]), buf[20], buf[21]);
for (i = 0; i < p; i++)
printf(" baSourceID(%2u) %5u\n", i, buf[22+i]);
@@ -2238,6 +1692,31 @@ static void dump_videocontrol_interface(libusb_device_handle *dev, const unsigne
dump_junk(buf, " ", 24+p+n);
break;
+ case 0x07: /* ENCODING UNIT */
+ printf("(ENCODING UNIT)\n");
+ term = get_dev_string(dev, buf[5]);
+ if (buf[0] < 13)
+ printf(" Warning: Descriptor too short\n");
+ printf(" bUnitID %5u\n"
+ " bSourceID %5u\n"
+ " iEncoding %5u %s\n"
+ " bControlSize %5u\n",
+ buf[3], buf[4], buf[5], term, buf[6]);
+ ctrls = 0;
+ for (i = 0; i < 3; i++)
+ ctrls = (ctrls << 8) | buf[9-i];
+ printf(" bmControls 0x%08x\n", ctrls);
+ for (i = 0; i < 20; i++)
+ if ((ctrls >> i) & 1)
+ printf(" %s\n", enctrlnames[i]);
+ for (i = 0; i< 3; i++)
+ ctrls = (ctrls << 8) | buf[12-i];
+ printf(" bmControlsRuntime 0x%08x\n", ctrls);
+ for (i = 0; i < 20; i++)
+ if ((ctrls >> i) & 1)
+ printf(" %s\n", enctrlnames[i]);
+ break;
+
default:
printf("(unknown)\n"
" Invalid desc subtype:");
@@ -2276,7 +1755,7 @@ static void dump_videostreaming_interface(const unsigned char *buf)
if (buf[0] < 13+p*n)
printf(" Warning: Descriptor too short\n");
printf(" bNumFormats %5u\n"
- " wTotalLength %5u\n"
+ " wTotalLength 0x%04x\n"
" bEndPointAddress %5u\n"
" bmInfo %5u\n"
" bTerminalLink %5u\n"
@@ -2289,7 +1768,7 @@ static void dump_videostreaming_interface(const unsigned char *buf)
for (i = 0; i < p; i++)
printf(
" bmaControls(%2u) %5u\n",
- i, buf[13+p*n]);
+ i, buf[13+i*n]);
dump_junk(buf, " ", 13+p*n);
break;
@@ -2300,7 +1779,7 @@ static void dump_videostreaming_interface(const unsigned char *buf)
if (buf[0] < 9+p*n)
printf(" Warning: Descriptor too short\n");
printf(" bNumFormats %5u\n"
- " wTotalLength %5u\n"
+ " wTotalLength 0x%04x\n"
" bEndpointAddress %5u\n"
" bTerminalLink %5u\n"
" bControlSize %5u\n",
@@ -2308,7 +1787,7 @@ static void dump_videostreaming_interface(const unsigned char *buf)
for (i = 0; i < p; i++)
printf(
" bmaControls(%2u) %5u\n",
- i, buf[9+p*n]);
+ i, buf[9+i*n]);
dump_junk(buf, " ", 9+p*n);
break;
@@ -2326,7 +1805,7 @@ static void dump_videostreaming_interface(const unsigned char *buf)
" wHeight(%2u) %5u\n",
i, buf[5+4*i] | (buf[6+4*i] << 8),
i, buf[7+4*i] | (buf[8+4*i] << 8));
- printf(" bNumCompressionPatterns %3u\n", n);
+ printf(" bNumCompressionPatterns %3u\n", m);
for (i = 0; i < m; i++)
printf(" bCompression(%2u) %5u\n",
i, buf[6+4*n+i]);
@@ -2376,9 +1855,9 @@ static void dump_videostreaming_interface(const unsigned char *buf)
printf("Random pattern of fields 1 and 2\n");
break;
}
- printf(" bCopyProtect %5u\n", buf[26]);
+ printf(" bCopyProtect %5u\n", buf[26]);
if (buf[2] == 0x10)
- printf(" bVariableSize %5u\n", buf[27]);
+ printf(" bVariableSize %5u\n", buf[27]);
dump_junk(buf, " ", len);
break;
@@ -2480,7 +1959,7 @@ static void dump_videostreaming_interface(const unsigned char *buf)
printf("Random pattern of fields 1 and 2\n");
break;
}
- printf(" bCopyProtect %5u\n", buf[10]);
+ printf(" bCopyProtect %5u\n", buf[10]);
dump_junk(buf, " ", 11);
break;
@@ -2513,6 +1992,18 @@ static void dump_videostreaming_interface(const unsigned char *buf)
dump_junk(buf, " ", 6);
break;
+ case 0x12: /* FORMAT_STREAM_BASED */
+ printf("(FORMAT_STREAM_BASED)\n");
+ if (buf[0] != 24)
+ printf(" Warning: Incorrect descriptor length\n");
+
+ printf(" bFormatIndex %5u\n"
+ " guidFormat %s\n"
+ " dwPacketLength %7u\n",
+ buf[3], get_guid(&buf[4]), buf[20]);
+ dump_junk(buf, " ", 24);
+ break;
+
default:
printf(" Invalid desc subtype:");
dump_bytes(buf+3, buf[0]-3);
@@ -2710,16 +2201,16 @@ static void dump_ccid_device(const unsigned char *buf)
if ((us & 0x0020))
fputs(" Auto baud rate change\n", stdout);
if ((us & 0x0040))
- fputs(" Auto parameter negotation made by CCID\n", stdout);
+ fputs(" Auto parameter negotiation made by CCID\n", stdout);
else if ((us & 0x0080))
fputs(" Auto PPS made by CCID\n", stdout);
else if ((us & (0x0040 | 0x0080)))
- fputs(" WARNING: conflicting negotation features\n", stdout);
+ fputs(" WARNING: conflicting negotiation features\n", stdout);
if ((us & 0x0100))
fputs(" CCID can set ICC in clock stop mode\n", stdout);
if ((us & 0x0200))
- fputs(" NAD value other than 0x00 accpeted\n", stdout);
+ fputs(" NAD value other than 0x00 accepted\n", stdout);
if ((us & 0x0400))
fputs(" Auto IFSD exchange\n", stdout);
@@ -2883,6 +2374,63 @@ static void dump_report_desc(unsigned char *b, int l)
}
}
+static void dump_printer_device(libusb_device_handle *dev,
+ const struct libusb_interface_descriptor *interface,
+ const unsigned char *buf)
+{
+ unsigned int i;
+ unsigned int n;
+
+ if (interface->bInterfaceProtocol != 0x04) /* IPP-over-USB */
+ return;
+
+ printf(" IPP Printer Descriptor:\n"
+ " bLength %5u\n"
+ " bDescriptorType %5u\n"
+ " bcdReleaseNumber %5u\n"
+ " bcdNumDescriptors %5u\n",
+ buf[0], buf[1], buf[2], buf[3]);
+
+ n = 4;
+ for (i = 0 ; i < buf[3] ; i++) {
+ switch (buf[n]) {
+ case 0x00: { /* Basic capabilities */
+ uint16_t caps = le16_to_cpu(*((uint16_t*)&buf[n+2]));
+ char *uuid = get_dev_string(dev, buf[n+5]);
+
+ printf(" iIPPVersionsSupported %5u\n", buf[n+4]);
+ printf(" iIPPPrinterUUID %5u %s\n", buf[n+5], uuid);
+ printf(" wBasicCapabilities 0x%04x ", caps);
+ if (caps & 0x01)
+ printf(" Print");
+ if (caps & 0x02)
+ printf(" Scan");
+ if (caps & 0x04)
+ printf(" Fax");
+ if (caps & 0x08)
+ printf(" Other");
+ if (caps & 0x10)
+ printf(" HTTP-over-USB");
+ if ((caps & 0x60) == 0x00)
+ printf(" No-Auth");
+ else if ((caps & 0x60) == 0x20)
+ printf(" Username-Auth");
+ else if ((caps & 0x60) == 0x40)
+ printf(" Reserved-Auth");
+ else if ((caps & 0x60) == 0x60)
+ printf(" Negotiable-Auth");
+ printf("\n");
+ break;
+ }
+ default:
+ /* Vendor Specific, Ignore for now. */
+ printf(" UnknownCapabilities %5u %5u\n", buf[n], buf[n+1]);
+ break;
+ }
+ n += 2 + buf[n+1];
+ }
+}
+
static void dump_hid_device(libusb_device_handle *dev,
const struct libusb_interface_descriptor *interface,
const unsigned char *buf)
@@ -3219,6 +2767,19 @@ dump_comm_descriptor(libusb_device_handle *dev, const unsigned char *buf, char *
if (buf[11] & 0x08)
printf("%s max datagram size\n", indent);
break;
+ case 0x1c: /* MBIM extended functional desc */
+ type = "MBIM Extended";
+ if (buf[0] != 8)
+ goto bad;
+ printf("%sCDC MBIM Extended:\n"
+ "%s bcdMBIMExtendedVersion %2x.%02x\n"
+ "%s bMaxOutstandingCommandMessages %3d\n"
+ "%s wMTU %5d\n",
+ indent,
+ indent, buf[4], buf[3],
+ indent, buf[5],
+ indent, buf[6] | (buf[7] << 8));
+ break;
default:
/* FIXME there are about a dozen more descriptor types */
printf("%sUNRECOGNIZED CDC: ", indent);
@@ -3244,23 +2805,23 @@ static void do_hub(libusb_device_handle *fd, unsigned tt_type, unsigned speed)
+ 2 /* bitmasks */ * HUB_STATUS_BYTELEN];
int i, ret, value;
unsigned int link_state;
- char *link_state_descriptions[] = {
- " U0",
- " U1",
- " U2",
- " suspend",
- " SS.disabled",
- " Rx.Detect",
- " SS.Inactive",
- " Polling",
- " Recovery",
- " Hot Reset",
- " Compliance",
- " Loopback",
+ const char * const link_state_descriptions[] = {
+ "U0",
+ "U1",
+ "U2",
+ "suspend",
+ "SS.disabled",
+ "Rx.Detect",
+ "SS.Inactive",
+ "Polling",
+ "Recovery",
+ "Hot Reset",
+ "Compliance",
+ "Loopback",
};
- /* USB 3.0 hubs have a slightly different descriptor */
- if (speed == 0x0300)
+ /* USB 3.x hubs have a slightly different descriptor */
+ if (speed >= 0x0300)
value = 0x2A;
else
value = 0x29;
@@ -3270,14 +2831,17 @@ static void do_hub(libusb_device_handle *fd, unsigned tt_type, unsigned speed)
LIBUSB_REQUEST_GET_DESCRIPTOR,
value << 8, 0,
buf, sizeof buf, CTRL_TIMEOUT);
- if (ret < 9 /* at least one port's bitmasks */) {
- if (ret >= 0)
- fprintf(stderr,
- "incomplete hub descriptor, %d bytes\n",
- ret);
+ if (ret < 0) {
/* Linux returns EHOSTUNREACH for suspended devices */
- else if (errno != EHOSTUNREACH)
- perror("can't get hub descriptor");
+ if (errno != EHOSTUNREACH)
+ fprintf(stderr, "can't get hub descriptor, %s (%s)\n",
+ libusb_error_name(ret), strerror(errno));
+ return;
+ }
+ if (ret < 9 /* at least one port's bitmasks */) {
+ fprintf(stderr,
+ "incomplete hub descriptor, %d bytes\n",
+ ret);
return;
}
dump_hub("", buf, tt_type);
@@ -3311,12 +2875,13 @@ static void do_hub(libusb_device_handle *fd, unsigned tt_type, unsigned speed)
(status[2] & 0x04) ? " C_SUSPEND" : "",
(status[2] & 0x02) ? " C_ENABLE" : "",
(status[2] & 0x01) ? " C_CONNECT" : "");
- printf("%s%s%s%s%s%s%s%s%s%s\n",
+ printf("%s%s%s%s%s%s%s%s%s%s%s\n",
(status[1] & 0x10) ? " indicator" : "",
(status[1] & 0x08) ? " test" : "",
(status[1] & 0x04) ? " highspeed" : "",
(status[1] & 0x02) ? " lowspeed" : "",
(status[1] & 0x01) ? " power" : "",
+ (status[0] & 0x20) ? " L1" : "",
(status[0] & 0x10) ? " RESET" : "",
(status[0] & 0x08) ? " oc" : "",
(status[0] & 0x04) ? " suspend" : "",
@@ -3338,7 +2903,7 @@ static void do_hub(libusb_device_handle *fd, unsigned tt_type, unsigned speed)
/* Link state is bits 8:5 */
if (link_state < (sizeof(link_state_descriptions) /
sizeof(*link_state_descriptions)))
- printf("%s", link_state_descriptions[link_state]);
+ printf(" %s", link_state_descriptions[link_state]);
printf("%s%s%s%s\n",
(status[0] & 0x10) ? " RESET" : "",
(status[0] & 0x08) ? " oc" : "",
@@ -3638,15 +3203,24 @@ static void dump_usb2_device_capability_desc(unsigned char *buf)
buf[0], buf[1], buf[2], wide);
if (!(wide & 0x02))
printf(" (Missing must-be-set LPM bit!)\n");
- else
- printf(" Link Power Management (LPM)"
+ else if (!(wide & 0x04))
+ printf(" HIRD Link Power Management (LPM)"
+ " Supported\n");
+ else {
+ printf(" BESL Link Power Management (LPM)"
" Supported\n");
+ if (wide & 0x08)
+ printf(" BESL value %5u us \n", wide & 0xf00);
+ if (wide & 0x10)
+ printf(" Deep BESL value %5u us \n",
+ wide & 0xf000);
+ }
}
static void dump_ss_device_capability_desc(unsigned char *buf)
{
if (buf[0] < 10) {
- printf(" Bad SuperSpeed USB Device Capability descriptor.\n");
+ fprintf(stderr, " Bad SuperSpeed USB Device Capability descriptor.\n");
return;
}
printf(" SuperSpeed USB Device Capability:\n"
@@ -3695,10 +3269,46 @@ static void dump_ss_device_capability_desc(unsigned char *buf)
printf(" bU2DevExitLat %8u micro seconds\n", buf[8] + (buf[9] << 8));
}
+static void dump_ssp_device_capability_desc(unsigned char *buf)
+{
+ int i;
+ unsigned int bm_attr, ss_attr;
+ char bitrate_prefix[] = " KMG";
+
+ if (buf[0] < 12) {
+ fprintf(stderr, " Bad SuperSpeedPlus USB Device Capability descriptor.\n");
+ return;
+ }
+
+ bm_attr = convert_le_u32(buf + 4);
+ printf(" SuperSpeedPlus USB Device Capability:\n"
+ " bLength %5u\n"
+ " bDescriptorType %5u\n"
+ " bDevCapabilityType %5u\n"
+ " bmAttributes 0x%08x\n",
+ buf[0], buf[1], buf[2], bm_attr);
+
+ printf(" Sublink Speed Attribute count %u\n", buf[4] & 0x1f);
+ printf(" Sublink Speed ID count %u\n", (bm_attr >> 5) & 0xf);
+ printf(" wFunctionalitySupport 0x%02x%02x\n", buf[9], buf[8]);
+
+ for (i = 0; i <= (buf[4] & 0x1f); i++) {
+ ss_attr = convert_le_u32(buf + 12 + (i * 4));
+ printf(" bmSublinkSpeedAttr[%u] 0x%08x\n", i, ss_attr);
+ printf(" Speed Attribute ID: %u %u%cb/s %s %s SuperSpeed%s\n",
+ ss_attr & 0x0f,
+ ss_attr >> 16,
+ (bitrate_prefix[((ss_attr >> 4) & 0x3)]),
+ (ss_attr & 0x40)? "Asymmetric" : "Symmetric",
+ (ss_attr & 0x80)? "TX" : "RX",
+ (ss_attr & 0x4000)? "Plus": "" );
+ }
+}
+
static void dump_container_id_device_capability_desc(unsigned char *buf)
{
if (buf[0] < 20) {
- printf(" Bad Container ID Device Capability descriptor.\n");
+ fprintf(stderr, " Bad Container ID Device Capability descriptor.\n");
return;
}
printf(" Container ID Device Capability:\n"
@@ -3711,13 +3321,191 @@ static void dump_container_id_device_capability_desc(unsigned char *buf)
get_guid(&buf[4]));
}
+static char *get_webusb_url(libusb_device_handle *fd, uint8_t vendor_req, uint8_t id)
+{
+ unsigned char url_buf[255];
+ char *scheme;
+ char *url, *chr;
+ unsigned char i;
+ int ret;
+
+ ret = usb_control_msg(fd,
+ LIBUSB_ENDPOINT_IN | LIBUSB_RECIPIENT_DEVICE | LIBUSB_REQUEST_TYPE_VENDOR,
+ vendor_req, id, WEBUSB_GET_URL,
+ url_buf, sizeof(url_buf), CTRL_TIMEOUT);
+ if (ret <= 0)
+ return strdup("");
+ else if (url_buf[0] <= 3 || url_buf[1] != USB_DT_WEBUSB_URL || ret != url_buf[0])
+ return strdup("");
+
+ switch (url_buf[2]) {
+ case 0:
+ scheme = "http://";
+ break;
+ case 1:
+ scheme = "https://";
+ break;
+ case 255:
+ scheme = "";
+ break;
+ default:
+ fprintf(stderr, "Bad URL scheme.\n");
+ return strdup("");
+ }
+ url = malloc(strlen(scheme) + (url_buf[0] - 3) + 1);
+ if (!url)
+ return strdup("");
+ strcpy(url, scheme);
+ chr = url + strlen(scheme);
+ for (i = 3; i < url_buf[0]; i++)
+ /* crude UTF-8 to ASCII conversion */
+ if (url_buf[i] < 0x80)
+ *chr++ = url_buf[i];
+ *chr = '\0';
+
+ return url;
+}
+
+static void dump_platform_device_capability_desc(libusb_device_handle *fd, unsigned char *buf)
+{
+ unsigned char desc_len = buf[0];
+ unsigned char cap_data_len = desc_len - 20;
+ unsigned char i;
+ const char *guid;
+ if (desc_len < 20) {
+ fprintf(stderr, " Bad Platform Device Capability descriptor.\n");
+ return;
+ }
+ printf(" Platform Device Capability:\n"
+ " bLength %5u\n"
+ " bDescriptorType %5u\n"
+ " bDevCapabilityType %5u\n"
+ " bReserved %5u\n",
+ buf[0], buf[1], buf[2], buf[3]);
+ guid = get_guid(&buf[4]);
+ printf(" PlatformCapabilityUUID %s\n", guid);
+
+ if (!strcmp(WEBUSB_GUID , guid) && desc_len == 24) {
+ /* WebUSB platform descriptor */
+ char *url = get_webusb_url(fd, buf[22], buf[23]);
+ printf(" WebUSB:\n"
+ " bcdVersion %2x.%02x\n"
+ " bVendorCode %5u\n"
+ " iLandingPage %5u %s\n",
+ buf[21], buf[20], buf[22], buf[23], url);
+ free(url);
+ return;
+ }
+
+ for (i = 0; i < cap_data_len; i++) {
+ printf(" CapabilityData[%u] 0x%02x\n", i, buf[20 + i]);
+ }
+}
+
+static void dump_billboard_device_capability_desc(libusb_device_handle *dev, unsigned char *buf)
+{
+ char *url, *alt_mode_str;
+ int w_vconn_power, alt_mode, i, svid, state;
+ const char *vconn;
+ unsigned char *bmConfigured;
+
+ if (buf[0] < 48) {
+ fprintf(stderr, " Bad Billboard Capability descriptor.\n");
+ return;
+ }
+
+ if (buf[4] > BILLBOARD_MAX_NUM_ALT_MODE) {
+ fprintf(stderr, " Invalid value for bNumberOfAlternateModes.\n");
+ return;
+ }
+
+ if (buf[0] < (44 + buf[4] * 4)) {
+ fprintf(stderr, " bLength does not match with bNumberOfAlternateModes.\n");
+ return;
+ }
+
+ url = get_dev_string(dev, buf[3]);
+ w_vconn_power = convert_le_u16(buf+6);
+ if (w_vconn_power & (1 << 15)) {
+ vconn = "VCONN power not required";
+ } else if (w_vconn_power < 7) {
+ vconn = vconn_power[w_vconn_power & 0x7];
+ } else {
+ vconn = "reserved";
+ }
+ printf(" Billboard Capability:\n"
+ " bLength %5u\n"
+ " bDescriptorType %5u\n"
+ " bDevCapabilityType %5u\n"
+ " iAddtionalInfoURL %5u %s\n"
+ " bNumberOfAlternateModes %5u\n"
+ " bPreferredAlternateMode %5u\n"
+ " VCONN Power %5u %s\n",
+ buf[0], buf[1], buf[2],
+ buf[3], url,
+ buf[4], buf[5],
+ w_vconn_power, vconn);
+
+ bmConfigured = &buf[8];
+
+ printf(" bmConfigured ");
+ dump_bytes(bmConfigured, 32);
+
+ printf(
+ " bcdVersion %2x.%02x\n"
+ " bAdditionalFailureInfo %5u\n"
+ " bReserved %5u\n",
+ (buf[41] == 0) ? 1 : buf[41], buf[40],
+ buf[42], buf[43]);
+
+ printf(" Alternate Modes supported by Device Container:\n");
+ i = 44; /* Alternate mode 0 starts at index 44 */
+ for (alt_mode = 0; alt_mode < buf[4]; alt_mode++) {
+ svid = convert_le_u16(buf+i);
+ alt_mode_str = get_dev_string(dev, buf[i+3]);
+ state = ((bmConfigured[alt_mode >> 2]) >> ((alt_mode & 0x3) << 1)) & 0x3;
+ printf(
+ " Alternate Mode %d : %s\n"
+ " wSVID[%d] 0x%04X\n"
+ " bAlternateMode[%d] %5u\n"
+ " iAlternateModeString[%d] %5u %s\n",
+ alt_mode, alt_mode_state[state],
+ alt_mode, svid,
+ alt_mode, buf[i+2],
+ alt_mode, buf[i+3], alt_mode_str);
+ free(alt_mode_str);
+ i += 4;
+ }
+
+ free (url);
+}
+
+static void dump_billboard_alt_mode_capability_desc(libusb_device_handle *dev, unsigned char *buf)
+{
+ if (buf[0] != 8) {
+ fprintf(stderr, " Bad Billboard Alternate Mode Capability descriptor.\n");
+ return;
+ }
+
+ printf(" Billboard Alternate Mode Capability:\n"
+ " bLength %5u\n"
+ " bDescriptorType %5u\n"
+ " bDevCapabilityType %5u\n"
+ " bIndex %5u\n"
+ " dwAlternateModeVdo 0x%02X%02X%02X%02X\n",
+ buf[0], buf[1], buf[2], buf[3],
+ buf[4], buf[5], buf[6], buf[7]);
+}
+
static void dump_bos_descriptor(libusb_device_handle *fd)
{
- /* Total for all known BOS descriptors is 43 bytes:
- * 6 bytes for Wireless USB, 7 bytes for USB 2.0 extension,
- * 10 bytes for SuperSpeed, 20 bytes for Container ID.
+ /* Total length of BOS descriptors varies.
+ * Read first static 5 bytes which include the total length before
+ * allocating and reading the full BOS
*/
- unsigned char bos_desc[43];
+
+ unsigned char bos_desc_static[5];
+ unsigned char *bos_desc;
unsigned int bos_desc_size;
int size, ret;
unsigned char *buf;
@@ -3727,32 +3515,31 @@ static void dump_bos_descriptor(libusb_device_handle *fd)
LIBUSB_ENDPOINT_IN | LIBUSB_RECIPIENT_DEVICE,
LIBUSB_REQUEST_GET_DESCRIPTOR,
USB_DT_BOS << 8, 0,
- bos_desc, 5, CTRL_TIMEOUT);
+ bos_desc_static, 5, CTRL_TIMEOUT);
if (ret <= 0)
return;
- else if (bos_desc[0] != 5 || bos_desc[1] != USB_DT_BOS)
+ else if (bos_desc_static[0] != 5 || bos_desc_static[1] != USB_DT_BOS)
return;
- bos_desc_size = bos_desc[2] + (bos_desc[3] << 8);
+ bos_desc_size = bos_desc_static[2] + (bos_desc_static[3] << 8);
printf("Binary Object Store Descriptor:\n"
" bLength %5u\n"
" bDescriptorType %5u\n"
- " wTotalLength %5u\n"
+ " wTotalLength 0x%04x\n"
" bNumDeviceCaps %5u\n",
- bos_desc[0], bos_desc[1],
- bos_desc_size, bos_desc[4]);
+ bos_desc_static[0], bos_desc_static[1],
+ bos_desc_size, bos_desc_static[4]);
if (bos_desc_size <= 5) {
- if (bos_desc[4] > 0)
+ if (bos_desc_static[4] > 0)
fprintf(stderr, "Couldn't get "
"device capability descriptors\n");
return;
}
- if (bos_desc_size > sizeof bos_desc) {
- fprintf(stderr, "FIXME: alloc bigger buffer for "
- "device capability descriptors\n");
+ bos_desc = malloc(bos_desc_size);
+ if (!bos_desc)
return;
- }
+ memset(bos_desc, 0, bos_desc_size);
ret = usb_control_msg(fd,
LIBUSB_ENDPOINT_IN | LIBUSB_RECIPIENT_DEVICE,
@@ -3761,7 +3548,7 @@ static void dump_bos_descriptor(libusb_device_handle *fd)
bos_desc, bos_desc_size, CTRL_TIMEOUT);
if (ret < 0) {
fprintf(stderr, "Couldn't get device capability descriptors\n");
- return;
+ goto out;
}
size = bos_desc_size - 5;
@@ -3770,7 +3557,7 @@ static void dump_bos_descriptor(libusb_device_handle *fd)
while (size >= 3) {
if (buf[0] < 3) {
printf("buf[0] = %u\n", buf[0]);
- return;
+ goto out;
}
switch (buf[2]) {
case USB_DC_WIRELESS_USB:
@@ -3782,9 +3569,26 @@ static void dump_bos_descriptor(libusb_device_handle *fd)
case USB_DC_SUPERSPEED:
dump_ss_device_capability_desc(buf);
break;
+ case USB_DC_SUPERSPEEDPLUS:
+ dump_ssp_device_capability_desc(buf);
+ break;
case USB_DC_CONTAINER_ID:
dump_container_id_device_capability_desc(buf);
break;
+ case USB_DC_PLATFORM:
+ dump_platform_device_capability_desc(fd, buf);
+ break;
+ case USB_DC_BILLBOARD:
+ dump_billboard_device_capability_desc(fd, buf);
+ break;
+ case USB_DC_BILLBOARD_ALT_MODE:
+ dump_billboard_alt_mode_capability_desc(fd, buf);
+ break;
+ case USB_DC_CONFIGURATION_SUMMARY:
+ printf(" Configuration Summary Device Capability:\n");
+ desc_dump(fd, desc_usb3_dc_configuration_summary,
+ buf, DESC_BUF_LEN_FROM_BUF, 2);
+ break;
default:
printf(" ** UNRECOGNIZED: ");
dump_bytes(buf, buf[0]);
@@ -3793,6 +3597,8 @@ static void dump_bos_descriptor(libusb_device_handle *fd)
size -= buf[0];
buf += buf[0];
}
+out:
+ free(bos_desc);
}
static void dumpdev(libusb_device *dev)
@@ -3811,7 +3617,7 @@ static void dumpdev(libusb_device *dev)
}
libusb_get_device_descriptor(dev, &desc);
- dump_device(udev, &desc);
+ dump_device(dev, &desc);
if (desc.bcdUSB == 0x0250)
wireless = do_wireless(udev);
if (desc.bNumConfigurations) {
@@ -3833,7 +3639,7 @@ static void dumpdev(libusb_device *dev)
"descriptor %d, some information will "
"be missing\n", i);
} else {
- dump_config(udev, config);
+ dump_config(udev, config, desc.bcdUSB);
libusb_free_config_descriptor(config);
}
}
@@ -3856,6 +3662,38 @@ static void dumpdev(libusb_device *dev)
/* ---------------------------------------------------------------------- */
+/*
+ * Attempt to get friendly vendor and product names from the udev hwdb. If
+ * either or both are not present, instead populate those from the device's
+ * own string descriptors.
+ */
+static void get_vendor_product_with_fallback(char *vendor, int vendor_len,
+ char *product, int product_len,
+ libusb_device *dev)
+{
+ struct libusb_device_descriptor desc;
+ char sysfs_name[PATH_MAX];
+ bool have_vendor, have_product;
+
+ libusb_get_device_descriptor(dev, &desc);
+
+ have_vendor = !!get_vendor_string(vendor, vendor_len, desc.idVendor);
+ have_product = !!get_product_string(product, product_len,
+ desc.idVendor, desc.idProduct);
+
+ if (have_vendor && have_product)
+ return;
+
+ if (get_sysfs_name(sysfs_name, sizeof(sysfs_name), dev) >= 0) {
+ if (!have_vendor)
+ read_sysfs_prop(vendor, vendor_len, sysfs_name,
+ "manufacturer");
+ if (!have_product)
+ read_sysfs_prop(product, product_len, sysfs_name,
+ "product");
+ }
+}
+
static int dump_one_device(libusb_context *ctx, const char *path)
{
libusb_device *dev;
@@ -3868,8 +3706,8 @@ static int dump_one_device(libusb_context *ctx, const char *path)
return 1;
}
libusb_get_device_descriptor(dev, &desc);
- get_vendor_string(vendor, sizeof(vendor), desc.idVendor);
- get_product_string(product, sizeof(product), desc.idVendor, desc.idProduct);
+ get_vendor_product_with_fallback(vendor, sizeof(vendor),
+ product, sizeof(product), dev);
printf("Device: ID %04x:%04x %s %s\n", desc.idVendor,
desc.idProduct,
vendor,
@@ -3905,9 +3743,10 @@ static int list_devices(libusb_context *ctx, int busnum, int devnum, int vendori
(productid != -1 && productid != desc.idProduct))
continue;
status = 0;
- get_vendor_string(vendor, sizeof(vendor), desc.idVendor);
- get_product_string(product, sizeof(product),
- desc.idVendor, desc.idProduct);
+
+ get_vendor_product_with_fallback(vendor, sizeof(vendor),
+ product, sizeof(product), dev);
+
if (verblevel > 0)
printf("\n");
printf("Bus %03u Device %03u: ID %04x:%04x %s %s\n",
@@ -4027,21 +3866,12 @@ int main(int argc, char *argv[])
/* by default, print names as well as numbers */
- err = names_init(DATADIR "/usb.ids");
-#ifdef HAVE_LIBZ
- if (err != 0)
- err = names_init(DATADIR "/usb.ids.gz");
-#endif
- if (err != 0)
- fprintf(stderr, "%s: cannot open \"%s\", %s\n",
- argv[0],
- DATADIR "/usb.ids",
- strerror(err));
+ if (names_init() < 0)
+ fprintf(stderr, "unable to initialize usb spec");
+
status = 0;
if (treemode) {
- /* treemode requires at least verblevel 1 */
- verblevel += 1 - VERBLEVEL_DEFAULT;
status = lsusb_t();
names_exit();
return status;
diff --git a/lsusb.h b/lsusb.h
index bbd5e7c..62f9625 100644
--- a/lsusb.h
+++ b/lsusb.h
@@ -1,6 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0+
+/* Copyright 2011 (c) Greg Kroah-Hartman <gregkh@suse.de> */
#ifndef _LSUSB_H
#define _LSUSB_H
extern int lsusb_t(void);
+extern unsigned int verblevel;
#endif
diff --git a/lsusb.py b/lsusb.py
deleted file mode 100755
index 14d9a31..0000000
--- a/lsusb.py
+++ /dev/null
@@ -1,526 +0,0 @@
-#!/usr/bin/env python
-# lsusb.py
-# Displays your USB devices in reasonable form.
-# (c) Kurt Garloff <garloff@suse.de>, 2/2009, GPL v2 or v3.
-# Usage: See usage()
-
-import os, sys, re, getopt
-
-# from __future__ import print_function
-
-# Global options
-showint = False
-showhubint = False
-noemptyhub = False
-nohub = False
-warnsort = False
-
-prefix = "/sys/bus/usb/devices/"
-usbids = "/usr/share/usb.ids"
-
-esc = chr(27)
-norm = esc + "[0;0m"
-bold = esc + "[0;1m"
-red = esc + "[0;31m"
-green= esc + "[0;32m"
-amber= esc + "[0;33m"
-
-cols = ("", "", "", "", "")
-
-def readattr(path, name):
- "Read attribute from sysfs and return as string"
- f = open(prefix + path + "/" + name);
- return f.readline().rstrip("\n");
-
-def readlink(path, name):
- "Read symlink and return basename"
- return os.path.basename(os.readlink(prefix + path + "/" + name));
-
-class UsbClass:
- "Container for USB Class/Subclass/Protocol"
- def __init__(self, cl, sc, pr, str = ""):
- self.pclass = cl
- self.subclass = sc
- self.proto = pr
- self.desc = str
- def __repr__(self):
- return self.desc
- def __cmp__(self, oth):
- # Works only on 64bit systems:
- #return self.pclass*0x10000+self.subclass*0x100+self.proto \
- # - oth.pclass*0x10000-oth.subclass*0x100-oth.proto
- if self.pclass != oth.pclass:
- return self.pclass - oth.pclass
- if self.subclass != oth.subclass:
- return self.subclass - oth.subclass
- return self.proto - oth.proto
-
-class UsbVendor:
- "Container for USB Vendors"
- def __init__(self, vid, vname = ""):
- self.vid = vid
- self.vname = vname
- def __repr__(self):
- return self.vname
- def __cmp__(self, oth):
- return self.vid - oth.vid
-
-class UsbProduct:
- "Container for USB VID:PID devices"
- def __init__(self, vid, pid, pname = ""):
- self.vid = vid
- self.pid = pid
- self.pname = pname
- def __repr__(self):
- return self.pname
- def __cmp__(self, oth):
- # Works only on 64bit systems:
- # return self.vid*0x10000 + self.pid \
- # - oth.vid*0x10000 - oth.pid
- if self.vid != oth.vid:
- return self.vid - oth.vid
- return self.pid - oth.pid
-
-usbvendors = []
-usbproducts = []
-usbclasses = []
-
-def ishexdigit(str):
- "return True if all digits are valid hex digits"
- for dg in str:
- if not dg.isdigit() and not dg in 'abcdef':
- return False
- return True
-
-def parse_usb_ids():
- "Parse /usr/share/usb.ids and fill usbvendors, usbproducts, usbclasses"
- id = 0
- sid = 0
- mode = 0
- strg = ""
- cstrg = ""
- for ln in file(usbids, "r").readlines():
- if ln[0] == '#':
- continue
- ln = ln.rstrip('\n')
- if len(ln) == 0:
- continue
- if ishexdigit(ln[0:4]):
- mode = 0
- id = int(ln[:4], 16)
- usbvendors.append(UsbVendor(id, ln[6:]))
- continue
- if ln[0] == '\t' and ishexdigit(ln[1:3]):
- sid = int(ln[1:5], 16)
- # USB devices
- if mode == 0:
- usbproducts.append(UsbProduct(id, sid, ln[7:]))
- continue
- elif mode == 1:
- nm = ln[5:]
- if nm != "Unused":
- strg = cstrg + ":" + nm
- else:
- strg = cstrg + ":"
- usbclasses.append(UsbClass(id, sid, -1, strg))
- continue
- if ln[0] == 'C':
- mode = 1
- id = int(ln[2:4], 16)
- cstrg = ln[6:]
- usbclasses.append(UsbClass(id, -1, -1, cstrg))
- continue
- if mode == 1 and ln[0] == '\t' and ln[1] == '\t' and ishexdigit(ln[2:4]):
- prid = int(ln[2:4], 16)
- usbclasses.append(UsbClass(id, sid, prid, strg + ":" + ln[6:]))
- continue
- mode = 2
-
-def bin_search(first, last, item, list):
- "binary search on list, returns -1 on fail, match idx otherwise, recursive"
- #print "bin_search(%i,%i)" % (first, last)
- if first == last:
- return -1
- if first == last-1:
- if item == list[first]:
- return first
- else:
- return -1
- mid = (first+last) // 2
- if item == list[mid]:
- return mid
- elif item < list[mid]:
- return bin_search(first, mid, item, list)
- else:
- return bin_search(mid, last, item, list)
-
-
-def find_usb_prod(vid, pid):
- "Return device name from USB Vendor:Product list"
- strg = ""
- dev = UsbVendor(vid, "")
- lnvend = len(usbvendors)
- ix = bin_search(0, lnvend, dev, usbvendors)
- if ix != -1:
- strg = usbvendors[ix].__repr__()
- else:
- return ""
- dev = UsbProduct(vid, pid, "")
- lnprod = len(usbproducts)
- ix = bin_search(0, lnprod, dev, usbproducts)
- if ix != -1:
- return strg + " " + usbproducts[ix].__repr__()
- return strg
-
-def find_usb_class(cid, sid, pid):
- "Return USB protocol from usbclasses list"
- if cid == 0xff and sid == 0xff and pid == 0xff:
- return "Vendor Specific"
- lnlst = len(usbclasses)
- dev = UsbClass(cid, sid, pid, "")
- ix = bin_search(0, lnlst, dev, usbclasses)
- if ix != -1:
- return usbclasses[ix].__repr__()
- dev = UsbClass(cid, sid, -1, "")
- ix = bin_search(0, lnlst, dev, usbclasses)
- if ix != -1:
- return usbclasses[ix].__repr__()
- dev = UsbClass(cid, -1, -1, "")
- ix = bin_search(0, lnlst, dev, usbclasses)
- if ix != -1:
- return usbclasses[ix].__repr__()
- return ""
-
-
-devlst = ( 'host', # usb-storage
- 'video4linux/video', # uvcvideo et al.
- 'sound/card', # snd-usb-audio
- 'net/', # cdc_ether, ...
- 'input/input', # usbhid
- 'usb:hiddev', # usb hid
- 'bluetooth/hci', # btusb
- 'ttyUSB', # btusb
- 'tty/', # cdc_acm
- 'usb:lp', # usblp
- #'usb/lp', # usblp
- 'usb/', # hiddev, usblp
- )
-
-def find_storage(hostno):
- "Return SCSI block dev names for host"
- res = ""
- for ent in os.listdir("/sys/class/scsi_device/"):
- (host, bus, tgt, lun) = ent.split(":")
- if host == hostno:
- try:
- for ent2 in os.listdir("/sys/class/scsi_device/%s/device/block" % ent):
- res += ent2 + " "
- except:
- pass
- return res
-
-def find_dev(driver, usbname):
- "Return pseudo devname that's driven by driver"
- res = ""
- for nm in devlst:
- dir = prefix + usbname
- prep = ""
- #print nm
- idx = nm.find('/')
- if idx != -1:
- prep = nm[:idx+1]
- dir += "/" + nm[:idx]
- nm = nm[idx+1:]
- ln = len(nm)
- try:
- for ent in os.listdir(dir):
- if ent[:ln] == nm:
- res += prep+ent+" "
- if nm == "host":
- res += "(" + find_storage(ent[ln:])[:-1] + ")"
- except:
- pass
- return res
-
-
-class UsbInterface:
- "Container for USB interface info"
- def __init__(self, parent = None, level = 1):
- self.parent = parent
- self.level = level
- self.fname = ""
- self.iclass = 0
- self.isclass = 0
- self.iproto = 0
- self.noep = 0
- self.driver = ""
- self.devname = ""
- self.protoname = ""
- def read(self, fname):
- fullpath = ""
- if self.parent:
- fullpath += self.parent.fname + "/"
- fullpath += fname
- #self.fname = fullpath
- self.fname = fname
- self.iclass = int(readattr(fullpath, "bInterfaceClass"),16)
- self.isclass = int(readattr(fullpath, "bInterfaceSubClass"),16)
- self.iproto = int(readattr(fullpath, "bInterfaceProtocol"),16)
- self.noep = int(readattr(fullpath, "bNumEndpoints"))
- try:
- self.driver = readlink(fname, "driver")
- self.devname = find_dev(self.driver, fname)
- except:
- pass
- self.protoname = find_usb_class(self.iclass, self.isclass, self.iproto)
- def __str__(self):
- return "%-16s(IF) %02x:%02x:%02x %iEPs (%s) %s%s %s%s%s\n" % \
- (" " * self.level+self.fname, self.iclass,
- self.isclass, self.iproto, self.noep,
- self.protoname,
- cols[3], self.driver,
- cols[4], self.devname, cols[0])
-
-class UsbDevice:
- "Container for USB device info"
- def __init__(self, parent = None, level = 0):
- self.parent = parent
- self.level = level
- self.fname = ""
- self.iclass = 0
- self.isclass = 0
- self.iproto = 0
- self.vid = 0
- self.pid = 0
- self.name = ""
- self.usbver = ""
- self.speed = ""
- self.maxpower = ""
- self.noports = 0
- self.nointerfaces = 0
- self.driver = ""
- self.devname = ""
- self.interfaces = []
- self.children = []
-
- def read(self, fname):
- self.fname = fname
- self.iclass = int(readattr(fname, "bDeviceClass"), 16)
- self.isclass = int(readattr(fname, "bDeviceSubClass"), 16)
- self.iproto = int(readattr(fname, "bDeviceProtocol"), 16)
- self.vid = int(readattr(fname, "idVendor"), 16)
- self.pid = int(readattr(fname, "idProduct"), 16)
- try:
- self.name = readattr(fname, "manufacturer") + " " \
- + readattr(fname, "product")
- #self.name += " " + readattr(fname, "serial")
- if self.name[:5] == "Linux":
- rx = re.compile(r"Linux [^ ]* (.hci_hcd) .HCI Host Controller")
- mch = rx.match(self.name)
- if mch:
- self.name = mch.group(1)
-
- except:
- pass
- if not self.name:
- self.name = find_usb_prod(self.vid, self.pid)
- # Some USB Card readers have a better name then Generic ...
- if self.name[:7] == "Generic":
- oldnm = self.name
- self.name = find_usb_prod(self.vid, self.pid)
- if not self.name:
- self.name = oldnm
- try:
- ser = readattr(fname, "serial")
- # Some USB devs report "serial" as serial no. suppress
- if (ser and ser != "serial"):
- self.name += " " + ser
- except:
- pass
- self.usbver = readattr(fname, "version")
- self.speed = readattr(fname, "speed")
- self.maxpower = readattr(fname, "bMaxPower")
- self.noports = int(readattr(fname, "maxchild"))
- try:
- self.nointerfaces = int(readattr(fname, "bNumInterfaces"))
- except:
- #print "ERROR: %s/bNumInterfaces = %s" % (fname,
- # readattr(fname, "bNumInterfaces"))a
- self.nointerfaces = 0
- try:
- self.driver = readlink(fname, "driver")
- self.devname = find_dev(self.driver, fname)
- except:
- pass
-
- def readchildren(self):
- if self.fname[0:3] == "usb":
- fname = self.fname[3:]
- else:
- fname = self.fname
- for dirent in os.listdir(prefix + self.fname):
- if not dirent[0:1].isdigit():
- continue
- #print dirent
- if os.access(prefix + dirent + "/bInterfaceClass", os.R_OK):
- iface = UsbInterface(self, self.level+1)
- iface.read(dirent)
- self.interfaces.append(iface)
- else:
- usbdev = UsbDevice(self, self.level+1)
- usbdev.read(dirent)
- usbdev.readchildren()
- self.children.append(usbdev)
-
- def __str__(self):
- #str = " " * self.level + self.fname
- if self.iclass == 9:
- col = cols[2]
- if noemptyhub and len(self.children) == 0:
- return ""
- if nohub:
- str = ""
- else:
- col = cols[1]
- if not nohub or self.iclass != 9:
- str = "%-16s%s%04x:%04x%s %02x %s%5sMBit/s %s %iIFs (%s%s%s)" % \
- (" " * self.level + self.fname,
- cols[1], self.vid, self.pid, cols[0],
- self.iclass, self.usbver, self.speed, self.maxpower,
- self.nointerfaces, col, self.name, cols[0])
- #if self.driver != "usb":
- # str += " %s" % self.driver
- if self.iclass == 9 and not showhubint:
- str += " %shub%s\n" % (cols[2], cols[0])
- else:
- str += "\n"
- if showint:
- for iface in self.interfaces:
- str += iface.__str__()
- for child in self.children:
- str += child.__str__()
- return str
-
-def deepcopy(lst):
- "Returns a deep copy from the list lst"
- copy = []
- for item in lst:
- copy.append(item)
- return copy
-
-def display_diff(lst1, lst2, fmtstr, args):
- "Compare lists (same length!) and display differences"
- for idx in range(0, len(lst1)):
- if lst1[idx] != lst2[idx]:
- print "Warning: " + fmtstr % args(lst2[idx])
-
-def fix_usbvend():
- "Sort USB vendor list and (optionally) display diffs"
- if warnsort:
- oldusbvend = deepcopy(usbvendors)
- usbvendors.sort()
- if warnsort:
- display_diff(usbvendors, oldusbvend,
- "Unsorted Vendor ID %04x",
- lambda x: (x.vid,))
-
-def fix_usbprod():
- "Sort USB products list"
- if warnsort:
- oldusbprod = deepcopy(usbproducts)
- usbproducts.sort()
- if warnsort:
- display_diff(usbproducts, oldusbprod,
- "Unsorted Vendor:Product ID %04x:%04x",
- lambda x: (x.vid, x.pid))
-
-def fix_usbclass():
- "Sort USB class list"
- if warnsort:
- oldusbcls = deepcopy(usbclasses)
- usbclasses.sort()
- if warnsort:
- display_diff(usbclasses, oldusbcls,
- "Unsorted USB class %02x:%02x:%02x",
- lambda x: (x.pclass, x.subclass, x.proto))
-
-
-def usage():
- "Displays usage information"
- print "Usage: lsusb.py [options]"
- print "Options:"
- print " -h display this help"
- print " -i display interface information"
- print " -I display interface information, even for hubs"
- print " -u suppress empty hubs"
- print " -U suppress all hubs"
- print " -c use colors"
- print " -w display warning if usb.ids is not sorted correctly"
- print " -f FILE override filename for /usr/share/usb.ids"
- return 2
-
-def read_usb():
- "Read toplevel USB entries and print"
- for dirent in os.listdir(prefix):
- #print dirent,
- if not dirent[0:3] == "usb":
- continue
- usbdev = UsbDevice(None, 0)
- usbdev.read(dirent)
- usbdev.readchildren()
- os.write(sys.stdout.fileno(), usbdev.__str__())
-
-def main(argv):
- "main entry point"
- global showint, showhubint, noemptyhub, nohub, warnsort, cols, usbids
- try:
- (optlist, args) = getopt.gnu_getopt(argv[1:], "hiIuUwcf:", ("help",))
- except getopt.GetoptError, exc:
- print "Error:", exc
- sys.exit(usage())
- for opt in optlist:
- if opt[0] == "-h" or opt[0] == "--help":
- usage()
- sys.exit(0)
- if opt[0] == "-i":
- showint = True
- continue
- if opt[0] == "-I":
- showint = True
- showhubint = True
- continue
- if opt[0] == "-u":
- noemptyhub = True
- continue
- if opt[0] == "-U":
- noemptyhub = True
- nohub = True
- continue
- if opt[0] == "-c":
- cols = (norm, bold, red, green, amber)
- continue
- if opt[0] == "-w":
- warnsort = True
- continue
- if opt[0] == "-f":
- usbids = opt[1]
- continue
- if len(args) > 0:
- print "Error: excess args %s ..." % args[0]
- sys.exit(usage())
-
- try:
- parse_usb_ids()
- fix_usbvend()
- fix_usbprod()
- fix_usbclass()
- except:
- print >>sys.stderr, " WARNING: Failure to read usb.ids"
- print >>sys.stderr, sys.exc_info()
- read_usb()
-
-# Entry point
-if __name__ == "__main__":
- main(sys.argv)
-
-
diff --git a/lsusb.py.in b/lsusb.py.in
new file mode 100644
index 0000000..a43fab0
--- /dev/null
+++ b/lsusb.py.in
@@ -0,0 +1,549 @@
+#!/usr/bin/python3
+# SPDX-License-Identifier: GPL-2.0 OR GPL-3.0
+#
+# lsusb-VERSION.py
+#
+# Displays your USB devices in reasonable form.
+#
+# Copyright (c) 2009 Kurt Garloff <garloff@suse.de>
+# Copyright (c) 2013,2018 Kurt Garloff <kurt@garloff.de>
+#
+# Usage: See usage()
+
+# Py2 compat
+from __future__ import print_function
+import getopt
+import os
+import re
+import sys
+
+HUB_ICLASS = 0x09
+
+# Global options
+showint = False
+showhubint = False
+noemptyhub = False
+nohub = False
+showeps = False
+
+prefix = "/sys/bus/usb/devices/"
+usbids = [
+ "@usbids@",
+ "/usr/share/usb.ids",
+]
+cols = ("", "", "", "", "", "")
+
+norm = "\033[0;0m"
+bold = "\033[0;1m"
+red = "\033[0;31m"
+green = "\033[0;32m"
+amber = "\033[0;33m"
+blue = "\033[0;34m"
+
+usbvendors = {}
+usbproducts = {}
+usbclasses = {}
+
+def colorize(num, text):
+ return cols[num] + str(text) + cols[0]
+
+def ishexdigit(str):
+ "return True if all digits are valid hex digits"
+ for dg in str:
+ if not dg.isdigit() and not dg in 'abcdef':
+ return False
+ return True
+
+def open_read_ign(fn):
+ try:
+ return open(fn, 'r', errors='ignore')
+ except:
+ return open(fn, 'r')
+
+def myenum(*args):
+ enums = dict(zip(args, range(len(args))))
+ return type('MyEnum', (), enums)
+
+def parse_usb_ids():
+ "Parse /usr/share/usb.ids and fill usbvendors, usbproducts, usbclasses"
+ vid = 0
+ did = 0
+ modes = myenum('Vendor', 'Class', 'Misc')
+ mode = modes.Vendor
+ strg = ""
+ cstrg = ""
+ for unm in usbids:
+ if os.path.exists(unm):
+ break
+ for ln in open_read_ign(unm).readlines():
+ if ln[0] == '#':
+ continue
+ ln = ln.rstrip('\n')
+ if len(ln) == 0:
+ continue
+ if ishexdigit(ln[0:4]):
+ mode = modes.Vendor
+ vid = int(ln[:4], 16)
+ usbvendors[vid] = ln[6:]
+ continue
+ if ln[0] == '\t' and ishexdigit(ln[1:3]):
+ # usb.ids has a device id of 01xy, sigh
+ if ln[3:5] == "xy":
+ did = int(ln[1:3], 16)*256
+ else:
+ did = int(ln[1:5], 16)
+ # USB devices
+ if mode == modes.Vendor:
+ usbproducts[vid, did] = ln[7:]
+ continue
+ elif mode == modes.Class:
+ nm = ln[5:]
+ if nm != "Unused":
+ strg = cstrg + ":" + nm
+ else:
+ strg = cstrg + ":"
+ usbclasses[vid, did, -1] = strg
+ continue
+ if ln[0] == 'C':
+ mode = modes.Class
+ cid = int(ln[2:4], 16)
+ cstrg = ln[6:]
+ usbclasses[cid, -1, -1] = cstrg
+ continue
+ if mode == modes.Class and ln[0] == '\t' and ln[1] == '\t' and ishexdigit(ln[2:4]):
+ prid = int(ln[2:4], 16)
+ usbclasses[cid, did, prid] = ln[6:]
+ continue
+ mode = modes.Misc
+ usbclasses[0xFF, 0xFF, 0xFF] = "Vendor Specific"
+
+def find_usb_prod(vid, pid):
+ "Return device name from USB Vendor:Product list"
+ strg = ""
+ vendor = usbvendors.get(vid)
+ if vendor:
+ strg = str(vendor)
+ else:
+ return ""
+ product = usbproducts.get((vid, pid))
+ if product:
+ return strg + " " + str(product)
+ return strg
+
+def find_usb_class(cid, sid, pid):
+ "Return USB protocol from usbclasses list"
+ lnlst = len(usbclasses)
+ cls = usbclasses.get((cid, sid, pid)) \
+ or usbclasses.get((cid, sid, -1)) \
+ or usbclasses.get((cid, -1, -1))
+ if cls:
+ return str(cls)
+ return ""
+
+
+devlst = [
+ 'host', # usb-storage
+ 'video4linux/video', # uvcvideo et al.
+ 'sound/card', # snd-usb-audio
+ 'net/', # cdc_ether, ...
+ 'input/input', # usbhid
+ 'usb:hiddev', # usb hid
+ 'bluetooth/hci', # btusb
+ 'ttyUSB', # btusb
+ 'tty/', # cdc_acm
+ 'usb:lp', # usblp
+ #'usb/lp', # usblp
+ 'usb/', # hiddev, usblp
+ #'usbhid', # hidraw
+]
+
+def find_storage(hostno):
+ "Return SCSI block dev names for host"
+ res = ""
+ for ent in os.listdir("/sys/class/scsi_device/"):
+ (host, bus, tgt, lun) = ent.split(":")
+ if host == hostno:
+ try:
+ for ent2 in os.listdir("/sys/class/scsi_device/%s/device/block" % ent):
+ res += ent2 + " "
+ except:
+ pass
+ return res
+
+def add_drv(path, drvnm):
+ res = ""
+ try:
+ for e2 in os.listdir(path+"/"+drvnm):
+ if e2[0:len(drvnm)] == drvnm:
+ res += e2 + " "
+ try:
+ if res:
+ res += "(" + os.path.basename(os.readlink(path+"/driver")) + ") "
+ except:
+ pass
+ except:
+ pass
+ return res
+
+def find_dev(driver, usbname):
+ "Return pseudo devname that's driven by driver"
+ res = ""
+ for nm in devlst:
+ dirnm = prefix + usbname
+ prep = ""
+ idx = nm.find('/')
+ if idx != -1:
+ prep = nm[:idx+1]
+ dirnm += "/" + nm[:idx]
+ nm = nm[idx+1:]
+ ln = len(nm)
+ try:
+ for ent in os.listdir(dirnm):
+ if ent[:ln] == nm:
+ res += prep+ent+" "
+ if nm == "host":
+ res += "(" + find_storage(ent[ln:])[:-1] + ")"
+ except:
+ pass
+ if driver == "usbhid":
+ rg = re.compile(r'[0-9A-F]{4}:[0-9A-F]{4}:[0-9A-F]{4}\.[0-9A-F]{4}')
+ for ent in os.listdir(prefix + usbname):
+ m = rg.match(ent)
+ if m:
+ res += add_drv(prefix+usbname+"/"+ent, "hidraw")
+ add = add_drv(prefix+usbname+"/"+ent, "input")
+ if add:
+ res += add
+ else:
+ for ent2 in os.listdir(prefix+usbname+"/"+ent):
+ m = rg.match(ent2)
+ if m:
+ res += add_drv(prefix+usbname+"/"+ent+"/"+ent2, "input")
+ return res
+
+
+class UsbObject:
+ def read_attr(self, name):
+ path = prefix + self.path + "/" + name
+ return open(path).readline().strip()
+
+ def read_link(self, name):
+ path = prefix + self.path + "/" + name
+ return os.path.basename(os.readlink(path))
+
+class UsbEndpoint(UsbObject):
+ "Container for USB endpoint info"
+ def __init__(self, parent, fname, level):
+ self.parent = parent
+ self.level = level
+ self.fname = fname
+ self.path = ""
+ self.epaddr = 0
+ self.len = 0
+ self.ival = ""
+ self.type = ""
+ self.attr = 0
+ self.max = 0
+ if self.fname:
+ self.read(self.fname)
+
+ def read(self, fname):
+ self.fname = fname
+ self.path = self.parent.path + "/" + fname
+ self.epaddr = int(self.read_attr("bEndpointAddress"), 16)
+ ival = int(self.read_attr("bInterval"), 16)
+ if ival:
+ self.ival = " (%s)" % self.read_attr("interval")
+ self.len = int(self.read_attr("bLength"), 16)
+ self.type = self.read_attr("type")
+ self.attr = int(self.read_attr("bmAttributes"), 16)
+ self.max = int(self.read_attr("wMaxPacketSize"), 16)
+
+ def __repr__(self):
+ return "<UsbEndpoint[%r]>" % self.fname
+
+ def __str__(self):
+ indent = " " * self.level
+ #name = "%s/ep_%02X" % (self.parent.fname, self.epaddr)
+ name = ""
+ body = "(EP) %02x: %s%s attr %02x len %02x max %03x" % \
+ (self.epaddr, self.type, self.ival, self.attr, self.len, self.max)
+ body = colorize(5, body)
+ return "%-17s %s\n" % (indent + name, indent + body)
+
+
+class UsbInterface(UsbObject):
+ "Container for USB interface info"
+ def __init__(self, parent, fname, level=1):
+ self.parent = parent
+ self.level = level
+ self.fname = fname
+ self.path = ""
+ self.iclass = 0
+ self.isclass = 0
+ self.iproto = 0
+ self.noep = 0
+ self.driver = ""
+ self.devname = ""
+ self.protoname = ""
+ self.eps = []
+ if self.fname:
+ self.read(self.fname)
+
+ def read(self, fname):
+ self.fname = fname
+ self.path = self.parent.path + "/" + fname
+ self.iclass = int(self.read_attr("bInterfaceClass"),16)
+ self.isclass = int(self.read_attr("bInterfaceSubClass"),16)
+ self.iproto = int(self.read_attr("bInterfaceProtocol"),16)
+ self.noep = int(self.read_attr("bNumEndpoints"))
+ try:
+ self.driver = self.read_link("driver")
+ self.devname = find_dev(self.driver, self.path)
+ except:
+ pass
+ self.protoname = find_usb_class(self.iclass, self.isclass, self.iproto)
+ if showeps:
+ for dirent in os.listdir(prefix + self.path):
+ if dirent.startswith("ep_"):
+ ep = UsbEndpoint(self, dirent, self.level+1)
+ self.eps.append(ep)
+
+ def __repr__(self):
+ return "<UsbInterface[%r]>" % self.fname
+
+ def __str__(self):
+ indent = " " * self.level
+ name = self.fname
+ plural = (" " if self.noep == 1 else "s")
+ body = "(IF) %02x:%02x:%02x %iEP%s (%s) %s %s" % \
+ (self.iclass, self.isclass, self.iproto, self.noep, plural,
+ self.protoname, colorize(3, self.driver), colorize(4, self.devname))
+ strg = "%-17s %s\n" % (indent + name, indent + body)
+ if showeps and self.eps:
+ for ep in self.eps:
+ strg += str(ep)
+ return strg
+
+class UsbDevice(UsbObject):
+ "Container for USB device info"
+ def __init__(self, parent, fname, level=0):
+ self.parent = parent
+ self.level = level
+ self.fname = fname
+ self.path = ""
+ self.iclass = 0
+ self.isclass = 0
+ self.iproto = 0
+ self.vid = 0
+ self.pid = 0
+ self.name = ""
+ self.usbver = ""
+ self.speed = ""
+ self.maxpower = ""
+ self.noports = 0
+ self.nointerfaces = 0
+ self.driver = ""
+ self.devname = ""
+ self.interfaces = []
+ self.children = []
+ if self.fname:
+ self.read(self.fname)
+ self.readchildren()
+
+ def read(self, fname):
+ self.fname = fname
+ self.path = fname
+ self.iclass = int(self.read_attr("bDeviceClass"), 16)
+ self.isclass = int(self.read_attr("bDeviceSubClass"), 16)
+ self.iproto = int(self.read_attr("bDeviceProtocol"), 16)
+ self.vid = int(self.read_attr("idVendor"), 16)
+ self.pid = int(self.read_attr("idProduct"), 16)
+ try:
+ self.name = self.read_attr("manufacturer") + " " \
+ + self.read_attr("product")
+ except:
+ pass
+ if self.name:
+ mch = re.match(r"Linux [^ ]* (.hci[_-]hcd) .HCI Host Controller", self.name)
+ if mch:
+ self.name = mch.group(1)
+ if not self.name:
+ self.name = find_usb_prod(self.vid, self.pid)
+ # Some USB Card readers have a better name then Generic ...
+ if self.name.startswith("Generic"):
+ oldnm = self.name
+ self.name = find_usb_prod(self.vid, self.pid)
+ if not self.name:
+ self.name = oldnm
+ try:
+ ser = self.read_attr("serial")
+ # Some USB devs report "serial" as serial no. suppress
+ if (ser and ser != "serial"):
+ self.name += " " + ser
+ except:
+ pass
+ self.usbver = self.read_attr("version")
+ self.speed = self.read_attr("speed")
+ self.maxpower = self.read_attr("bMaxPower")
+ self.noports = int(self.read_attr("maxchild"))
+ try:
+ self.nointerfaces = int(self.read_attr("bNumInterfaces"))
+ except:
+ self.nointerfaces = 0
+ try:
+ self.driver = self.read_link("driver")
+ self.devname = find_dev(self.driver, self.path)
+ except:
+ pass
+
+ def readchildren(self):
+ if self.fname[0:3] == "usb":
+ fname = self.fname[3:]
+ else:
+ fname = self.fname
+ for dirent in os.listdir(prefix + self.fname):
+ if not dirent[0:1].isdigit():
+ continue
+ if os.access(prefix + dirent + "/bInterfaceClass", os.R_OK):
+ iface = UsbInterface(self, dirent, self.level+1)
+ self.interfaces.append(iface)
+ else:
+ usbdev = UsbDevice(self, dirent, self.level+1)
+ self.children.append(usbdev)
+ usbsortkey = lambda obj: [int(x) for x in re.split(r"[-:.]", obj.fname)]
+ self.interfaces.sort(key=usbsortkey)
+ self.children.sort(key=usbsortkey)
+
+ def __repr__(self):
+ return "<UsbDevice[%r]>" % self.fname
+
+ def __str__(self):
+ is_hub = (self.iclass == HUB_ICLASS)
+ if is_hub:
+ if noemptyhub and len(self.children) == 0:
+ return ""
+ strg = ""
+ if not (nohub and is_hub):
+ indent = " " * self.level
+ name = self.fname
+ plural = (" " if self.nointerfaces == 1 else "s")
+ body = "%s %02x %iIF%s [USB %s, %5s Mbps, %5s] (%s)%s" % \
+ (colorize(1, "%04x:%04x" % (self.vid, self.pid)),
+ self.iclass, self.nointerfaces, plural,
+ self.usbver.strip(), self.speed, self.maxpower,
+ colorize(2 if is_hub else 1, self.name),
+ colorize(2, " hub") if is_hub else "")
+ strg = "%-17s %s\n" % (indent + name, indent + body)
+ if not (is_hub and not showhubint):
+ if showeps:
+ ep = UsbEndpoint(self, "ep_00", self.level+1)
+ strg += str(ep)
+ if showint:
+ for iface in self.interfaces:
+ strg += str(iface)
+ for child in self.children:
+ strg += str(child)
+ return strg
+
+
+def usage():
+ "Displays usage information"
+ print("Usage: lsusb.py [options]")
+ print()
+ print("Options:")
+ print(" -h, --help display this help")
+ print(" -i, --interfaces display interface information")
+ print(" -I, --hub-interfaces display interface information, even for hubs")
+ print(" -u, --hide-empty-hubs suppress empty hubs")
+ print(" -U, --hide-hubs suppress all hubs")
+ print(" -c, --color use colors")
+ print(" -C, --no-color disable colors")
+ print(" -e, --endpoints display endpoint info")
+ print(" -f FILE, --usbids-path FILE")
+ print(" override filename for /usr/share/usb.ids")
+ print()
+ print("Use lsusb.py -ciu to get a nice overview of your USB devices.")
+
+def read_usb():
+ "Read toplevel USB entries and print"
+ root_hubs = []
+ for dirent in os.listdir(prefix):
+ if not dirent[0:3] == "usb":
+ continue
+ usbdev = UsbDevice(None, dirent, 0)
+ root_hubs.append(usbdev)
+ root_hubs.sort(key=lambda x: int(x.fname[3:]))
+ for usbdev in root_hubs:
+ print(usbdev, end="")
+
+def main(argv):
+ "main entry point"
+ global showint, showhubint, noemptyhub, nohub
+ global cols, usbids, showeps
+ usecols = None
+
+ long_options = [
+ "help",
+ "interfaces",
+ "hub-interfaces",
+ "hide-empty-hubs",
+ "hide-hubs",
+ "color",
+ "no-color",
+ "usbids-path=",
+ "endpoints",
+ ]
+
+ try:
+ (optlist, args) = getopt.gnu_getopt(argv[1:], "hiIuUwcCef:", long_options)
+ except getopt.GetoptError as exc:
+ print("Error:", exc, file=sys.stderr)
+ sys.exit(2)
+ for opt in optlist:
+ if opt[0] in {"-h", "--help"}:
+ usage()
+ sys.exit(0)
+ elif opt[0] in {"-i", "--interfaces"}:
+ showint = True
+ elif opt[0] in {"-I", "--hub-interfaces"}:
+ showint = True
+ showhubint = True
+ elif opt[0] in {"-u", "--hide-empty-hubs"}:
+ noemptyhub = True
+ elif opt[0] in {"-U", "--hide-hubs"}:
+ noemptyhub = True
+ nohub = True
+ elif opt[0] in {"-c", "--color"}:
+ usecols = True
+ elif opt[0] in {"-C", "--no-color"}:
+ usecols = False
+ elif opt[0] == "-w":
+ print("Warning: option -w is no longer supported", file=sys.stderr)
+ elif opt[0] in {"-f", "--usbids-path"}:
+ usbids = [opt[1]]
+ elif opt[0] in {"-e", "--endpoints"}:
+ showeps = True
+ if len(args) > 0:
+ print("Error: excess args %s ..." % args[0], file=sys.stderr)
+ sys.exit(2)
+
+ if usecols is None:
+ usecols = sys.stdout.isatty() and os.environ.get("TERM", "dumb") != "dumb"
+
+ if usecols:
+ cols = (norm, bold, red, green, amber, blue)
+
+ if usbids[0]:
+ try:
+ parse_usb_ids()
+ except:
+ print(" WARNING: Failure to read usb.ids", file=sys.stderr)
+ #print(sys.exc_info(), file=sys.stderr)
+ read_usb()
+
+# Entry point
+if __name__ == "__main__":
+ main(sys.argv)
+
+
diff --git a/missing b/missing
deleted file mode 100755
index 9a55648..0000000
--- a/missing
+++ /dev/null
@@ -1,330 +0,0 @@
-#! /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:
diff --git a/names.c b/names.c
index 12cbd60..8142c96 100644
--- a/names.c
+++ b/names.c
@@ -1,29 +1,16 @@
-/*****************************************************************************/
+// SPDX-License-Identifier: GPL-2.0+
/*
- * names.c -- USB name database manipulation routines
- *
- * Copyright (C) 1999, 2000 Thomas Sailer (sailer@ife.ee.ethz.ch)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
+ * USB name database manipulation routines
*
+ * Copyright (C) 1999, 2000 Thomas Sailer (sailer@ife.ee.ethz.ch)
+ * Copyright (C) 2013 Tom Gundersen (teg@jklm.no)
*/
-/*****************************************************************************/
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
-#include <sys/types.h>
+#include <stdint.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <dirent.h>
@@ -34,77 +21,15 @@
#include <stdio.h>
#include <ctype.h>
-#ifdef HAVE_LIBZ
-#include <zlib.h>
-#define usb_file gzFile
-#define usb_fopen(path, mode) gzopen(path, mode)
-#define usb_fgets(s, size, stream) gzgets(stream, s, size)
-#define usb_close(f) gzclose(f)
-#else
-#define usb_file FILE *
-#define usb_fopen(path, mode) fopen(path, mode)
-#define usb_fgets(s, size, stream) fgets(s, size, stream)
-#define usb_close(f) fclose(f)
-#endif
+#include <libudev.h>
+#include "usb-spec.h"
#include "names.h"
-/* ---------------------------------------------------------------------- */
-
-struct vendor {
- struct vendor *next;
- u_int16_t vendorid;
- char name[1];
-};
-
-struct product {
- struct product *next;
- u_int16_t vendorid, productid;
- char name[1];
-};
-
-struct class {
- struct class *next;
- u_int8_t classid;
- char name[1];
-};
-
-struct subclass {
- struct subclass *next;
- u_int8_t classid, subclassid;
- char name[1];
-};
-
-struct protocol {
- struct protocol *next;
- u_int8_t classid, subclassid, protocolid;
- char name[1];
-};
-
-struct audioterminal {
- struct audioterminal *next;
- u_int16_t termt;
- char name[1];
-};
-
-struct videoterminal {
- struct videoterminal *next;
- u_int16_t termt;
- char name[1];
-};
-
-struct genericstrtable {
- struct genericstrtable *next;
- unsigned int num;
- char name[1];
-};
-
-/* ---------------------------------------------------------------------- */
-
#define HASH1 0x10
#define HASH2 0x02
-#define HASHSZ 16
+#define HASHSZ 512
static unsigned int hashnum(unsigned int num)
{
@@ -118,21 +43,18 @@ static unsigned int hashnum(unsigned int num)
/* ---------------------------------------------------------------------- */
-static struct vendor *vendors[HASHSZ] = { NULL, };
-static struct product *products[HASHSZ] = { NULL, };
-static struct class *classes[HASHSZ] = { NULL, };
-static struct subclass *subclasses[HASHSZ] = { NULL, };
-static struct protocol *protocols[HASHSZ] = { NULL, };
-static struct audioterminal *audioterminals[HASHSZ] = { NULL, };
-static struct videoterminal *videoterminals[HASHSZ] = { NULL, };
-static struct genericstrtable *hiddescriptors[HASHSZ] = { NULL, };
-static struct genericstrtable *reports[HASHSZ] = { NULL, };
-static struct genericstrtable *huts[HASHSZ] = { NULL, };
-static struct genericstrtable *biass[HASHSZ] = { NULL, };
-static struct genericstrtable *physdess[HASHSZ] = { NULL, };
-static struct genericstrtable *hutus[HASHSZ] = { NULL, };
-static struct genericstrtable *langids[HASHSZ] = { NULL, };
-static struct genericstrtable *countrycodes[HASHSZ] = { NULL, };
+static struct udev *udev = NULL;
+static struct udev_hwdb *hwdb = NULL;
+static struct audioterminal *audioterminals_hash[HASHSZ] = { NULL, };
+static struct videoterminal *videoterminals_hash[HASHSZ] = { NULL, };
+static struct genericstrtable *hiddescriptors_hash[HASHSZ] = { NULL, };
+static struct genericstrtable *reports_hash[HASHSZ] = { NULL, };
+static struct genericstrtable *huts_hash[HASHSZ] = { NULL, };
+static struct genericstrtable *biass_hash[HASHSZ] = { NULL, };
+static struct genericstrtable *physdess_hash[HASHSZ] = { NULL, };
+static struct genericstrtable *hutus_hash[HASHSZ] = { NULL, };
+static struct genericstrtable *langids_hash[HASHSZ] = { NULL, };
+static struct genericstrtable *countrycodes_hash[HASHSZ] = { NULL, };
/* ---------------------------------------------------------------------- */
@@ -147,117 +69,113 @@ static const char *names_genericstrtable(struct genericstrtable *t[HASHSZ],
return NULL;
}
-const char *names_hid(u_int8_t hidd)
+const char *names_hid(uint8_t hidd)
{
- return names_genericstrtable(hiddescriptors, hidd);
+ return names_genericstrtable(hiddescriptors_hash, hidd);
}
-const char *names_reporttag(u_int8_t rt)
+const char *names_reporttag(uint8_t rt)
{
- return names_genericstrtable(reports, rt);
+ return names_genericstrtable(reports_hash, rt);
}
const char *names_huts(unsigned int data)
{
- return names_genericstrtable(huts, data);
+ return names_genericstrtable(huts_hash, data);
}
const char *names_hutus(unsigned int data)
{
- return names_genericstrtable(hutus, data);
+ return names_genericstrtable(hutus_hash, data);
}
-const char *names_langid(u_int16_t langid)
+const char *names_langid(uint16_t langid)
{
- return names_genericstrtable(langids, langid);
+ return names_genericstrtable(langids_hash, langid);
}
-const char *names_physdes(u_int8_t ph)
+const char *names_physdes(uint8_t ph)
{
- return names_genericstrtable(physdess, ph);
+ return names_genericstrtable(physdess_hash, ph);
}
-const char *names_bias(u_int8_t b)
+const char *names_bias(uint8_t b)
{
- return names_genericstrtable(biass, b);
+ return names_genericstrtable(biass_hash, b);
}
const char *names_countrycode(unsigned int countrycode)
{
- return names_genericstrtable(countrycodes, countrycode);
+ return names_genericstrtable(countrycodes_hash, countrycode);
}
-const char *names_vendor(u_int16_t vendorid)
+static const char *hwdb_get(const char *modalias, const char *key)
{
- struct vendor *v;
+ struct udev_list_entry *entry;
+
+ udev_list_entry_foreach(entry, udev_hwdb_get_properties_list_entry(hwdb, modalias, 0))
+ if (strcmp(udev_list_entry_get_name(entry), key) == 0)
+ return udev_list_entry_get_value(entry);
- v = vendors[hashnum(vendorid)];
- for (; v; v = v->next)
- if (v->vendorid == vendorid)
- return v->name;
return NULL;
}
-const char *names_product(u_int16_t vendorid, u_int16_t productid)
+const char *names_vendor(uint16_t vendorid)
{
- struct product *p;
+ char modalias[64];
- p = products[hashnum((vendorid << 16) | productid)];
- for (; p; p = p->next)
- if (p->vendorid == vendorid && p->productid == productid)
- return p->name;
- return NULL;
+ sprintf(modalias, "usb:v%04X*", vendorid);
+ return hwdb_get(modalias, "ID_VENDOR_FROM_DATABASE");
}
-const char *names_class(u_int8_t classid)
+const char *names_product(uint16_t vendorid, uint16_t productid)
{
- struct class *c;
+ char modalias[64];
- c = classes[hashnum(classid)];
- for (; c; c = c->next)
- if (c->classid == classid)
- return c->name;
- return NULL;
+ sprintf(modalias, "usb:v%04Xp%04X*", vendorid, productid);
+ return hwdb_get(modalias, "ID_MODEL_FROM_DATABASE");
}
-const char *names_subclass(u_int8_t classid, u_int8_t subclassid)
+const char *names_class(uint8_t classid)
{
- struct subclass *s;
+ char modalias[64];
- s = subclasses[hashnum((classid << 8) | subclassid)];
- for (; s; s = s->next)
- if (s->classid == classid && s->subclassid == subclassid)
- return s->name;
- return NULL;
+ sprintf(modalias, "usb:v*p*d*dc%02X*", classid);
+ return hwdb_get(modalias, "ID_USB_CLASS_FROM_DATABASE");
}
-const char *names_protocol(u_int8_t classid, u_int8_t subclassid, u_int8_t protocolid)
+const char *names_subclass(uint8_t classid, uint8_t subclassid)
{
- struct protocol *p;
+ char modalias[64];
- p = protocols[hashnum((classid << 16) | (subclassid << 8) | protocolid)];
- for (; p; p = p->next)
- if (p->classid == classid && p->subclassid == subclassid && p->protocolid == protocolid)
- return p->name;
- return NULL;
+ sprintf(modalias, "usb:v*p*d*dc%02Xdsc%02X*", classid, subclassid);
+ return hwdb_get(modalias, "ID_USB_SUBCLASS_FROM_DATABASE");
}
-const char *names_audioterminal(u_int16_t termt)
+const char *names_protocol(uint8_t classid, uint8_t subclassid, uint8_t protocolid)
+{
+ char modalias[64];
+
+ sprintf(modalias, "usb:v*p*d*dc%02Xdsc%02Xdp%02X*", classid, subclassid, protocolid);
+ return hwdb_get(modalias, "ID_USB_PROTOCOL_FROM_DATABASE");
+}
+
+const char *names_audioterminal(uint16_t termt)
{
struct audioterminal *at;
- at = audioterminals[hashnum(termt)];
+ at = audioterminals_hash[hashnum(termt)];
for (; at; at = at->next)
if (at->termt == termt)
return at->name;
return NULL;
}
-const char *names_videoterminal(u_int16_t termt)
+const char *names_videoterminal(uint16_t termt)
{
struct videoterminal *vt;
- vt = videoterminals[hashnum(termt)];
+ vt = videoterminals_hash[hashnum(termt)];
for (; vt; vt = vt->next)
if (vt->termt == termt)
return vt->name;
@@ -266,7 +184,7 @@ const char *names_videoterminal(u_int16_t termt)
/* ---------------------------------------------------------------------- */
-int get_vendor_string(char *buf, size_t size, u_int16_t vid)
+int get_vendor_string(char *buf, size_t size, uint16_t vid)
{
const char *cp;
@@ -278,7 +196,7 @@ int get_vendor_string(char *buf, size_t size, u_int16_t vid)
return snprintf(buf, size, "%s", cp);
}
-int get_product_string(char *buf, size_t size, u_int16_t vid, u_int16_t pid)
+int get_product_string(char *buf, size_t size, uint16_t vid, uint16_t pid)
{
const char *cp;
@@ -290,7 +208,7 @@ int get_product_string(char *buf, size_t size, u_int16_t vid, u_int16_t pid)
return snprintf(buf, size, "%s", cp);
}
-int get_class_string(char *buf, size_t size, u_int8_t cls)
+int get_class_string(char *buf, size_t size, uint8_t cls)
{
const char *cp;
@@ -302,7 +220,7 @@ int get_class_string(char *buf, size_t size, u_int8_t cls)
return snprintf(buf, size, "%s", cp);
}
-int get_subclass_string(char *buf, size_t size, u_int8_t cls, u_int8_t subcls)
+int get_subclass_string(char *buf, size_t size, uint8_t cls, uint8_t subcls)
{
const char *cp;
@@ -316,702 +234,195 @@ int get_subclass_string(char *buf, size_t size, u_int8_t cls, u_int8_t subcls)
/* ---------------------------------------------------------------------- */
-static int new_vendor(const char *name, u_int16_t vendorid)
-{
- struct vendor *v;
- unsigned int h = hashnum(vendorid);
-
- v = vendors[h];
- for (; v; v = v->next)
- if (v->vendorid == vendorid)
- return -1;
- v = malloc(sizeof(struct vendor) + strlen(name));
- if (!v)
- return -1;
- strcpy(v->name, name);
- v->vendorid = vendorid;
- v->next = vendors[h];
- vendors[h] = v;
- return 0;
-}
-
-static int new_product(const char *name, u_int16_t vendorid, u_int16_t productid)
+static int hash_audioterminal(struct audioterminal *at)
{
- struct product *p;
- unsigned int h = hashnum((vendorid << 16) | productid);
+ struct audioterminal *at_old;
+ unsigned int h = hashnum(at->termt);
- p = products[h];
- for (; p; p = p->next)
- if (p->vendorid == vendorid && p->productid == productid)
+ for (at_old = audioterminals_hash[h]; at_old; at_old = at_old->next)
+ if (at_old->termt == at->termt)
return -1;
- p = malloc(sizeof(struct product) + strlen(name));
- if (!p)
- return -1;
- strcpy(p->name, name);
- p->vendorid = vendorid;
- p->productid = productid;
- p->next = products[h];
- products[h] = p;
+ at->next = audioterminals_hash[h];
+ audioterminals_hash[h] = at;
return 0;
}
-static int new_class(const char *name, u_int8_t classid)
+static int hash_audioterminals(void)
{
- struct class *c;
- unsigned int h = hashnum(classid);
+ int r = 0, i, k;
- c = classes[h];
- for (; c; c = c->next)
- if (c->classid == classid)
- return -1;
- c = malloc(sizeof(struct class) + strlen(name));
- if (!c)
- return -1;
- strcpy(c->name, name);
- c->classid = classid;
- c->next = classes[h];
- classes[h] = c;
- return 0;
-}
-
-static int new_subclass(const char *name, u_int8_t classid, u_int8_t subclassid)
-{
- struct subclass *s;
- unsigned int h = hashnum((classid << 8) | subclassid);
+ for (i = 0; audioterminals[i].name; i++)
+ {
+ k = hash_audioterminal(&audioterminals[i]);
+ if (k < 0)
+ r = k;
+ }
- s = subclasses[h];
- for (; s; s = s->next)
- if (s->classid == classid && s->subclassid == subclassid)
- return -1;
- s = malloc(sizeof(struct subclass) + strlen(name));
- if (!s)
- return -1;
- strcpy(s->name, name);
- s->classid = classid;
- s->subclassid = subclassid;
- s->next = subclasses[h];
- subclasses[h] = s;
- return 0;
+ return r;
}
-static int new_protocol(const char *name, u_int8_t classid, u_int8_t subclassid, u_int8_t protocolid)
+static int hash_videoterminal(struct videoterminal *vt)
{
- struct protocol *p;
- unsigned int h = hashnum((classid << 16) | (subclassid << 8) | protocolid);
+ struct videoterminal *vt_old;
+ unsigned int h = hashnum(vt->termt);
- p = protocols[h];
- for (; p; p = p->next)
- if (p->classid == classid && p->subclassid == subclassid && p->protocolid == protocolid)
+ for (vt_old = videoterminals_hash[h]; vt_old; vt_old = vt_old->next)
+ if (vt_old->termt == vt->termt)
return -1;
- p = malloc(sizeof(struct protocol) + strlen(name));
- if (!p)
- return -1;
- strcpy(p->name, name);
- p->classid = classid;
- p->subclassid = subclassid;
- p->protocolid = protocolid;
- p->next = protocols[h];
- protocols[h] = p;
+ vt->next = videoterminals_hash[h];
+ videoterminals_hash[h] = vt;
return 0;
}
-static int new_audioterminal(const char *name, u_int16_t termt)
+static int hash_videoterminals(void)
{
- struct audioterminal *at;
- unsigned int h = hashnum(termt);
+ int r = 0, i, k;
- at = audioterminals[h];
- for (; at; at = at->next)
- if (at->termt == termt)
- return -1;
- at = malloc(sizeof(struct audioterminal) + strlen(name));
- if (!at)
- return -1;
- strcpy(at->name, name);
- at->termt = termt;
- at->next = audioterminals[h];
- audioterminals[h] = at;
- return 0;
-}
-
-static int new_videoterminal(const char *name, u_int16_t termt)
-{
- struct videoterminal *vt;
- unsigned int h = hashnum(termt);
+ for (i = 0; videoterminals[i].name; i++)
+ {
+ k = hash_videoterminal(&videoterminals[i]);
+ if (k < 0)
+ r = k;
+ }
- vt = videoterminals[h];
- for (; vt; vt = vt->next)
- if (vt->termt == termt)
- return -1;
- vt = malloc(sizeof(struct videoterminal) + strlen(name));
- if (!vt)
- return -1;
- strcpy(vt->name, name);
- vt->termt = termt;
- vt->next = videoterminals[h];
- videoterminals[h] = vt;
- return 0;
+ return r;
}
-static int new_genericstrtable(struct genericstrtable *t[HASHSZ],
- const char *name, unsigned int idx)
+static int hash_genericstrtable(struct genericstrtable *t[HASHSZ],
+ struct genericstrtable *g)
{
- struct genericstrtable *g;
- unsigned int h = hashnum(idx);
+ struct genericstrtable *g_old;
+ unsigned int h = hashnum(g->num);
- for (g = t[h]; g; g = g->next)
- if (g->num == idx)
+ for (g_old = t[h]; g_old; g_old = g_old->next)
+ if (g_old->num == g->num)
return -1;
- g = malloc(sizeof(struct genericstrtable) + strlen(name));
- if (!g)
- return -1;
- strcpy(g->name, name);
- g->num = idx;
g->next = t[h];
t[h] = g;
return 0;
}
-static int new_hid(const char *name, u_int8_t hidd)
-{
- return new_genericstrtable(hiddescriptors, name, hidd);
-}
+#define HASH_EACH(array, hash) \
+ for (i = 0; array[i].name; i++) { \
+ k = hash_genericstrtable(hash, &array[i]); \
+ if (k < 0) { \
+ r = k; \
+ }\
+ }
-static int new_reporttag(const char *name, u_int8_t rt)
+static int hash_tables(void)
{
- return new_genericstrtable(reports, name, rt);
-}
+ int r = 0, k, i;
-static int new_huts(const char *name, unsigned int data)
-{
- return new_genericstrtable(huts, name, data);
-}
+ k = hash_audioterminals();
+ if (k < 0)
+ r = k;
-static int new_hutus(const char *name, unsigned int data)
-{
- return new_genericstrtable(hutus, name, data);
-}
+ k = hash_videoterminals();
+ if (k < 0)
+ r = k;
-static int new_langid(const char *name, u_int16_t langid)
-{
- return new_genericstrtable(langids, name, langid);
-}
+ HASH_EACH(hiddescriptors, hiddescriptors_hash);
-static int new_physdes(const char *name, u_int8_t ph)
-{
- return new_genericstrtable(physdess, name, ph);
-}
-static int new_bias(const char *name, u_int8_t b)
-{
- return new_genericstrtable(biass, name, b);
-}
+ HASH_EACH(reports, reports_hash);
-static int new_countrycode(const char *name, unsigned int countrycode)
-{
- return new_genericstrtable(countrycodes, name, countrycode);
-}
+ HASH_EACH(huts, huts_hash);
-/* ---------------------------------------------------------------------- */
+ HASH_EACH(hutus, hutus_hash);
-static void free_vendor(void)
-{
- struct vendor *cur, *tmp;
- int i;
+ HASH_EACH(langids, langids_hash);
- for (i = 0; i < HASHSZ; i++) {
- cur = vendors[i];
- vendors[i] = NULL;
- while (cur) {
- tmp = cur;
- cur = cur->next;
- free(tmp);
- }
- }
-}
+ HASH_EACH(physdess, physdess_hash);
-static void free_product(void)
-{
- struct product *cur, *tmp;
- int i;
+ HASH_EACH(biass, biass_hash);
- for (i = 0; i < HASHSZ; i++) {
- cur = products[i];
- products[i] = NULL;
- while (cur) {
- tmp = cur;
- cur = cur->next;
- free(tmp);
- }
- }
-}
+ HASH_EACH(countrycodes, countrycodes_hash);
-static void free_class(void)
-{
- struct class *cur, *tmp;
- int i;
-
- for (i = 0; i < HASHSZ; i++) {
- cur = classes[i];
- classes[i] = NULL;
- while (cur) {
- tmp = cur;
- cur = cur->next;
- free(tmp);
- }
- }
+ return r;
}
-static void free_subclass(void)
+/* ---------------------------------------------------------------------- */
+
+/*
+static void print_tables(void)
{
- struct subclass *cur, *tmp;
int i;
+ struct audioterminal *at;
+ struct videoterminal *vt;
+ struct genericstrtable *li;
+ struct genericstrtable *hu;
- for (i = 0; i < HASHSZ; i++) {
- cur = subclasses[i];
- subclasses[i] = NULL;
- while (cur) {
- tmp = cur;
- cur = cur->next;
- free(tmp);
- }
- }
-}
-static void free_protocol(void)
-{
- struct protocol *cur, *tmp;
- int i;
+ printf("--------------------------------------------\n");
+ printf("\t\t Audio Terminals\n");
+ printf("--------------------------------------------\n");
for (i = 0; i < HASHSZ; i++) {
- cur = protocols[i];
- protocols[i] = NULL;
- while (cur) {
- tmp = cur;
- cur = cur->next;
- free(tmp);
- }
+ printf("hash: %d\n", i);
+ at = audioterminals_hash[i];
+ for (; at; at = at->next)
+ printf("\tentry: %s\n", at->name);
}
-}
-static void free_audioterminal(void)
-{
- struct audioterminal *cur, *tmp;
- int i;
+ printf("--------------------------------------------\n");
+ printf("\t\t Video Terminals\n");
+ printf("--------------------------------------------\n");
for (i = 0; i < HASHSZ; i++) {
- cur = audioterminals[i];
- audioterminals[i] = NULL;
- while (cur) {
- tmp = cur;
- cur = cur->next;
- free(tmp);
- }
+ printf("hash: %d\n", i);
+ vt = videoterminals_hash[i];
+ for (; vt; vt = vt->next)
+ printf("\tentry: %s\n", vt->name);
}
- return;
-}
-static void free_videoterminal(void)
-{
- struct videoterminal *cur, *tmp;
- int i;
+ printf("--------------------------------------------\n");
+ printf("\t\t Languages\n");
+ printf("--------------------------------------------\n");
for (i = 0; i < HASHSZ; i++) {
- cur = videoterminals[i];
- videoterminals[i] = NULL;
- while (cur) {
- tmp = cur;
- cur = cur->next;
- free(tmp);
- }
+ li = langids_hash[i];
+ if (li)
+ printf("hash: %d\n", i);
+ for (; li; li = li->next)
+ printf("\tid: %x, entry: %s\n", li->num, li->name);
}
-}
-static void _free_genericstrtable(struct genericstrtable *t[HASHSZ])
-{
- struct genericstrtable *cur, *tmp;
- int i;
+ printf("--------------------------------------------\n");
+ printf("\t\t Conutry Codes\n");
+ printf("--------------------------------------------\n");
for (i = 0; i < HASHSZ; i++) {
- cur = t[i];
- t[i] = NULL;
- while (cur) {
- tmp = cur;
- cur = cur->next;
- free(tmp);
- }
+ hu = countrycodes_hash[i];
+ if (hu)
+ printf("hash: %d\n", i);
+ for (; hu; hu = hu->next)
+ printf("\tid: %x, entry: %s\n", hu->num, hu->name);
}
-}
-static void free_genericstrtable(void)
-{
- _free_genericstrtable(hiddescriptors);
- _free_genericstrtable(reports);
- _free_genericstrtable(huts);
- _free_genericstrtable(biass);
- _free_genericstrtable(physdess);
- _free_genericstrtable(hutus);
- _free_genericstrtable(langids);
- _free_genericstrtable(countrycodes);
+ printf("--------------------------------------------\n");
}
+*/
-#define DBG(x)
-
-static void parse(usb_file f)
+int names_init(void)
{
- char buf[512], *cp;
- unsigned int linectr = 0;
- int lastvendor = -1;
- int lastclass = -1;
- int lastsubclass = -1;
- int lasthut = -1;
- int lastlang = -1;
- unsigned int u;
-
- while (usb_fgets(buf, sizeof(buf), f)) {
- linectr++;
- /* remove line ends */
- cp = strchr(buf, 13);
- if (cp)
- *cp = 0;
- cp = strchr(buf, 10);
- if (cp)
- *cp = 0;
- if (buf[0] == '#' || !buf[0])
- continue;
- cp = buf;
- if (buf[0] == 'P' && buf[1] == 'H' && buf[2] == 'Y' && buf[3] == 'S' && buf[4] == 'D' &&
- buf[5] == 'E' && buf[6] == 'S' && /*isspace(buf[7])*/ buf[7] == ' ') {
- cp = buf + 8;
- while (isspace(*cp))
- cp++;
- if (!isxdigit(*cp)) {
- fprintf(stderr, "Invalid Physdes type at line %u\n", linectr);
- continue;
- }
- u = strtoul(cp, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid Physdes type at line %u\n", linectr);
- continue;
- }
- if (new_physdes(cp, u))
- fprintf(stderr, "Duplicate Physdes type spec at line %u terminal type %04x %s\n", linectr, u, cp);
- DBG(printf("line %5u physdes type %02x %s\n", linectr, u, cp));
- continue;
-
- }
- if (buf[0] == 'P' && buf[1] == 'H' && buf[2] == 'Y' && /*isspace(buf[3])*/ buf[3] == ' ') {
- cp = buf + 4;
- while (isspace(*cp))
- cp++;
- if (!isxdigit(*cp)) {
- fprintf(stderr, "Invalid PHY type at line %u\n", linectr);
- continue;
- }
- u = strtoul(cp, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid PHY type at line %u\n", linectr);
- continue;
- }
- if (new_physdes(cp, u))
- fprintf(stderr, "Duplicate PHY type spec at line %u terminal type %04x %s\n", linectr, u, cp);
- DBG(printf("line %5u PHY type %02x %s\n", linectr, u, cp));
- continue;
-
- }
- if (buf[0] == 'B' && buf[1] == 'I' && buf[2] == 'A' && buf[3] == 'S' && /*isspace(buf[4])*/ buf[4] == ' ') {
- cp = buf + 5;
- while (isspace(*cp))
- cp++;
- if (!isxdigit(*cp)) {
- fprintf(stderr, "Invalid BIAS type at line %u\n", linectr);
- continue;
- }
- u = strtoul(cp, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid BIAS type at line %u\n", linectr);
- continue;
- }
- if (new_bias(cp, u))
- fprintf(stderr, "Duplicate BIAS type spec at line %u terminal type %04x %s\n", linectr, u, cp);
- DBG(printf("line %5u BIAS type %02x %s\n", linectr, u, cp));
- continue;
-
- }
- if (buf[0] == 'L' && /*isspace(buf[1])*/ buf[1] == ' ') {
- cp = buf+2;
- while (isspace(*cp))
- cp++;
- if (!isxdigit(*cp)) {
- fprintf(stderr, "Invalid LANGID spec at line %u\n", linectr);
- continue;
- }
- u = strtoul(cp, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid LANGID spec at line %u\n", linectr);
- continue;
- }
- if (new_langid(cp, u))
- fprintf(stderr, "Duplicate LANGID spec at line %u language-id %04x %s\n", linectr, u, cp);
- DBG(printf("line %5u LANGID %02x %s\n", linectr, u, cp));
- lasthut = lastclass = lastvendor = lastsubclass = -1;
- lastlang = u;
- continue;
- }
- if (buf[0] == 'C' && /*isspace(buf[1])*/ buf[1] == ' ') {
- /* class spec */
- cp = buf+2;
- while (isspace(*cp))
- cp++;
- if (!isxdigit(*cp)) {
- fprintf(stderr, "Invalid class spec at line %u\n", linectr);
- continue;
- }
- u = strtoul(cp, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid class spec at line %u\n", linectr);
- continue;
- }
- if (new_class(cp, u))
- fprintf(stderr, "Duplicate class spec at line %u class %04x %s\n", linectr, u, cp);
- DBG(printf("line %5u class %02x %s\n", linectr, u, cp));
- lasthut = lastlang = lastvendor = lastsubclass = -1;
- lastclass = u;
- continue;
- }
- if (buf[0] == 'A' && buf[1] == 'T' && isspace(buf[2])) {
- /* audio terminal type spec */
- cp = buf+3;
- while (isspace(*cp))
- cp++;
- if (!isxdigit(*cp)) {
- fprintf(stderr, "Invalid audio terminal type at line %u\n", linectr);
- continue;
- }
- u = strtoul(cp, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid audio terminal type at line %u\n", linectr);
- continue;
- }
- if (new_audioterminal(cp, u))
- fprintf(stderr, "Duplicate audio terminal type spec at line %u terminal type %04x %s\n", linectr, u, cp);
- DBG(printf("line %5u audio terminal type %02x %s\n", linectr, u, cp));
- continue;
- }
- if (buf[0] == 'V' && buf[1] == 'T' && isspace(buf[2])) {
- /* video terminal type spec */
- cp = buf+3;
- while (isspace(*cp))
- cp++;
- if (!isxdigit(*cp)) {
- fprintf(stderr, "Invalid video terminal type at line %u\n", linectr);
- continue;
- }
- u = strtoul(cp, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid video terminal type at line %u\n", linectr);
- continue;
- }
- if (new_videoterminal(cp, u))
- fprintf(stderr, "Duplicate video terminal type spec at line %u terminal type %04x %s\n", linectr, u, cp);
- DBG(printf("line %5u video terminal type %02x %s\n", linectr, u, cp));
- continue;
- }
- if (buf[0] == 'H' && buf[1] == 'C' && buf[2] == 'C' && isspace(buf[3])) {
- /* HID Descriptor bCountryCode */
- cp = buf+3;
- while (isspace(*cp))
- cp++;
- if (!isxdigit(*cp)) {
- fprintf(stderr, "Invalid HID country code at line %u\n", linectr);
- continue;
- }
- u = strtoul(cp, &cp, 10);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid HID country code at line %u\n", linectr);
- continue;
- }
- if (new_countrycode(cp, u))
- fprintf(stderr, "Duplicate HID country code at line %u country %02u %s\n", linectr, u, cp);
- DBG(printf("line %5u keyboard country code %02u %s\n", linectr, u, cp));
- continue;
- }
- if (isxdigit(*cp)) {
- /* vendor */
- u = strtoul(cp, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid vendor spec at line %u\n", linectr);
- continue;
- }
- if (new_vendor(cp, u))
- fprintf(stderr, "Duplicate vendor spec at line %u vendor %04x %s\n", linectr, u, cp);
- DBG(printf("line %5u vendor %04x %s\n", linectr, u, cp));
- lastvendor = u;
- lasthut = lastlang = lastclass = lastsubclass = -1;
- continue;
- }
- if (buf[0] == '\t' && isxdigit(buf[1])) {
- /* product or subclass spec */
- u = strtoul(buf+1, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid product/subclass spec at line %u\n", linectr);
- continue;
- }
- if (lastvendor != -1) {
- if (new_product(cp, lastvendor, u))
- fprintf(stderr, "Duplicate product spec at line %u product %04x:%04x %s\n", linectr, lastvendor, u, cp);
- DBG(printf("line %5u product %04x:%04x %s\n", linectr, lastvendor, u, cp));
- continue;
- }
- if (lastclass != -1) {
- if (new_subclass(cp, lastclass, u))
- fprintf(stderr, "Duplicate subclass spec at line %u class %02x:%02x %s\n", linectr, lastclass, u, cp);
- DBG(printf("line %5u subclass %02x:%02x %s\n", linectr, lastclass, u, cp));
- lastsubclass = u;
- continue;
- }
- if (lasthut != -1) {
- if (new_hutus(cp, (lasthut << 16)+u))
- fprintf(stderr, "Duplicate HUT Usage Spec at line %u\n", linectr);
- continue;
- }
- if (lastlang != -1) {
- if (new_langid(cp, lastlang+(u<<10)))
- fprintf(stderr, "Duplicate LANGID Usage Spec at line %u\n", linectr);
- continue;
- }
- fprintf(stderr, "Product/Subclass spec without prior Vendor/Class spec at line %u\n", linectr);
- continue;
- }
- if (buf[0] == '\t' && buf[1] == '\t' && isxdigit(buf[2])) {
- /* protocol spec */
- u = strtoul(buf+2, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid protocol spec at line %u\n", linectr);
- continue;
- }
- if (lastclass != -1 && lastsubclass != -1) {
- if (new_protocol(cp, lastclass, lastsubclass, u))
- fprintf(stderr, "Duplicate protocol spec at line %u class %02x:%02x:%02x %s\n", linectr, lastclass, lastsubclass, u, cp);
- DBG(printf("line %5u protocol %02x:%02x:%02x %s\n", linectr, lastclass, lastsubclass, u, cp));
- continue;
- }
- fprintf(stderr, "Protocol spec without prior Class and Subclass spec at line %u\n", linectr);
- continue;
- }
- if (buf[0] == 'H' && buf[1] == 'I' && buf[2] == 'D' && /*isspace(buf[3])*/ buf[3] == ' ') {
- cp = buf + 4;
- while (isspace(*cp))
- cp++;
- if (!isxdigit(*cp)) {
- fprintf(stderr, "Invalid HID type at line %u\n", linectr);
- continue;
- }
- u = strtoul(cp, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid HID type at line %u\n", linectr);
- continue;
- }
- if (new_hid(cp, u))
- fprintf(stderr, "Duplicate HID type spec at line %u terminal type %04x %s\n", linectr, u, cp);
- DBG(printf("line %5u HID type %02x %s\n", linectr, u, cp));
- continue;
-
- }
- if (buf[0] == 'H' && buf[1] == 'U' && buf[2] == 'T' && /*isspace(buf[3])*/ buf[3] == ' ') {
- cp = buf + 4;
- while (isspace(*cp))
- cp++;
- if (!isxdigit(*cp)) {
- fprintf(stderr, "Invalid HUT type at line %u\n", linectr);
- continue;
- }
- u = strtoul(cp, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid HUT type at line %u\n", linectr);
- continue;
- }
- if (new_huts(cp, u))
- fprintf(stderr, "Duplicate HUT type spec at line %u terminal type %04x %s\n", linectr, u, cp);
- lastlang = lastclass = lastvendor = lastsubclass = -1;
- lasthut = u;
- DBG(printf("line %5u HUT type %02x %s\n", linectr, u, cp));
- continue;
-
- }
- if (buf[0] == 'R' && buf[1] == ' ') {
- cp = buf + 2;
- while (isspace(*cp))
- cp++;
- if (!isxdigit(*cp)) {
- fprintf(stderr, "Invalid Report type at line %u\n", linectr);
- continue;
- }
- u = strtoul(cp, &cp, 16);
- while (isspace(*cp))
- cp++;
- if (!*cp) {
- fprintf(stderr, "Invalid Report type at line %u\n", linectr);
- continue;
- }
- if (new_reporttag(cp, u))
- fprintf(stderr, "Duplicate Report type spec at line %u terminal type %04x %s\n", linectr, u, cp);
- DBG(printf("line %5u Report type %02x %s\n", linectr, u, cp));
- continue;
-
- }
- fprintf(stderr, "Unknown line at line %u\n", linectr);
- }
-}
-
-/* ---------------------------------------------------------------------- */
+ int r;
-int names_init(char *n)
-{
- usb_file f;
+ udev = udev_new();
+ if (!udev)
+ r = -1;
+ else {
+ hwdb = udev_hwdb_new(udev);
+ if (!hwdb)
+ r = -1;
+ }
- f = usb_fopen(n, "r");
- if (!f)
- return errno;
+ r = hash_tables();
- parse(f);
- usb_close(f);
- return 0;
+ return r;
}
void names_exit(void)
{
- free_vendor();
- free_product();
- free_class();
- free_subclass();
- free_protocol();
- free_audioterminal();
- free_videoterminal();
- free_genericstrtable();
+ hwdb = udev_hwdb_unref(hwdb);
+ udev = udev_unref(udev);
}
diff --git a/names.h b/names.h
index 0eba890..f79d780 100644
--- a/names.h
+++ b/names.h
@@ -1,55 +1,38 @@
-/*****************************************************************************/
-
+// SPDX-License-Identifier: GPL-2.0+
/*
- * names.h -- USB name database manipulation routines
- *
- * Copyright (C) 1999, 2000 Thomas Sailer (sailer@ife.ee.ethz.ch)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
+ * USB name database manipulation routines
*
+ * Copyright (C) 1999, 2000 Thomas Sailer (sailer@ife.ee.ethz.ch)
*/
-/*****************************************************************************/
-
#ifndef _NAMES_H
#define _NAMES_H
-#include <sys/types.h>
-
/* ---------------------------------------------------------------------- */
-extern const char *names_vendor(u_int16_t vendorid);
-extern const char *names_product(u_int16_t vendorid, u_int16_t productid);
-extern const char *names_class(u_int8_t classid);
-extern const char *names_subclass(u_int8_t classid, u_int8_t subclassid);
-extern const char *names_protocol(u_int8_t classid, u_int8_t subclassid,
- u_int8_t protocolid);
-extern const char *names_audioterminal(u_int16_t termt);
-extern const char *names_videoterminal(u_int16_t termt);
-extern const char *names_hid(u_int8_t hidd);
-extern const char *names_reporttag(u_int8_t rt);
+extern const char *names_vendor(uint16_t vendorid);
+extern const char *names_product(uint16_t vendorid, uint16_t productid);
+extern const char *names_class(uint8_t classid);
+extern const char *names_subclass(uint8_t classid, uint8_t subclassid);
+extern const char *names_protocol(uint8_t classid, uint8_t subclassid,
+ uint8_t protocolid);
+extern const char *names_audioterminal(uint16_t termt);
+extern const char *names_videoterminal(uint16_t termt);
+extern const char *names_hid(uint8_t hidd);
+extern const char *names_reporttag(uint8_t rt);
extern const char *names_huts(unsigned int data);
extern const char *names_hutus(unsigned int data);
-extern const char *names_langid(u_int16_t langid);
-extern const char *names_physdes(u_int8_t ph);
-extern const char *names_bias(u_int8_t b);
+extern const char *names_langid(uint16_t langid);
+extern const char *names_physdes(uint8_t ph);
+extern const char *names_bias(uint8_t b);
extern const char *names_countrycode(unsigned int countrycode);
-extern int get_vendor_string(char *buf, size_t size, u_int16_t vid);
-extern int get_product_string(char *buf, size_t size, u_int16_t vid, u_int16_t pid);
-extern int get_class_string(char *buf, size_t size, u_int8_t cls);
-extern int get_subclass_string(char *buf, size_t size, u_int8_t cls, u_int8_t subcls);
+extern int get_vendor_string(char *buf, size_t size, uint16_t vid);
+extern int get_product_string(char *buf, size_t size, uint16_t vid, uint16_t pid);
+extern int get_class_string(char *buf, size_t size, uint8_t cls);
+extern int get_subclass_string(char *buf, size_t size, uint8_t cls, uint8_t subcls);
-extern int names_init(char *n);
+extern int names_init(void);
extern void names_exit(void);
/* ---------------------------------------------------------------------- */
diff --git a/packaging/usbutils.spec b/packaging/usbutils.spec
index 6e46b01..755871a 100644
--- a/packaging/usbutils.spec
+++ b/packaging/usbutils.spec
@@ -1,5 +1,5 @@
Name: usbutils
-Version: 007
+Version: 013
Release: 0
License: GPL-2.0+
Url: http://www.linux-usb.org/
@@ -11,6 +11,7 @@ Group: Base/Device Management
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: pkgconfig(libusb-1.0)
+BuildRequires: pkgconfig(libudev)
%description
This package contains utilities for inspecting devices connected to a
@@ -21,19 +22,23 @@ USB bus.
cp %{SOURCE1001} .
%build
-%configure \
+%reconfigure \
--datadir=%{_datadir}/hwdata \
--disable-usbids
%__make %{?_smp_mflags}
%install
-%make_install pkgconfigdir=/usr/share/pkgconfig
+%make_install
-%docs_package
+rm -rf %{buildroot}%{_datadir}/man
+
+# lsusb.py is both python-based and GPL3-licensed - drop it
+rm -f %{buildroot}%{_bindir}/lsusb.py
%files
%manifest %{name}.manifest
-%license COPYING
-%{_bindir}/*
-%{_datadir}/*
+%license LICENSES/GPL-2.0.txt
+%{_bindir}/lsusb
+%{_bindir}/usb-devices
+%{_bindir}/usbhid-dump
diff --git a/sysfs.c b/sysfs.c
new file mode 100644
index 0000000..9602278
--- /dev/null
+++ b/sysfs.c
@@ -0,0 +1,68 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Helpers for querying USB properties from sysfs
+ */
+
+#include <stdint.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <linux/limits.h>
+
+#include <libusb.h>
+
+#include "sysfs.h"
+
+/*
+ * The documentation of libusb_get_port_numbers() says "As per the USB 3.0
+ * specs, the current maximum limit for the depth is 7."
+ */
+#define USB_MAX_DEPTH 7
+
+#define SYSFS_DEV_ATTR_PATH "/sys/bus/usb/devices/%s/%s"
+
+int get_sysfs_name(char *buf, size_t size, libusb_device *dev)
+{
+ int len = 0;
+ uint8_t bnum = libusb_get_bus_number(dev);
+ uint8_t pnums[USB_MAX_DEPTH];
+ int num_pnums;
+
+ buf[0] = '\0';
+
+ num_pnums = libusb_get_port_numbers(dev, pnums, sizeof(pnums));
+ if (num_pnums == LIBUSB_ERROR_OVERFLOW) {
+ return -1;
+ } else if (num_pnums == 0) {
+ /* Special-case root devices */
+ return snprintf(buf, size, "usb%d", bnum);
+ }
+
+ len += snprintf(buf, size, "%d-", bnum);
+ for (int i = 0; i < num_pnums; i++)
+ len += snprintf(buf + len, size - len, i ? ".%d" : "%d", pnums[i]);
+
+ return len;
+}
+
+int read_sysfs_prop(char *buf, size_t size, char *sysfs_name, char *propname)
+{
+ int n, fd;
+ char path[PATH_MAX];
+
+ buf[0] = '\0';
+ snprintf(path, sizeof(path), SYSFS_DEV_ATTR_PATH, sysfs_name, propname);
+ fd = open(path, O_RDONLY);
+
+ if (fd == -1)
+ return 0;
+
+ n = read(fd, buf, size);
+
+ if (n > 0)
+ buf[n-1] = '\0'; // Turn newline into null terminator
+
+ close(fd);
+ return n;
+}
diff --git a/sysfs.h b/sysfs.h
new file mode 100644
index 0000000..7459fb4
--- /dev/null
+++ b/sysfs.h
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Helpers for querying USB properties from sysfs
+ */
+
+#ifndef _SYSFS_H
+#define _SYSFS_H
+/* ---------------------------------------------------------------------- */
+
+int get_sysfs_name(char *buf, size_t size, libusb_device *dev);
+extern int read_sysfs_prop(char *buf, size_t size, char *sysfs_name, char *propname);
+
+/* ---------------------------------------------------------------------- */
+#endif /* _SYSFS_H */
diff --git a/travis-autogen.sh b/travis-autogen.sh
new file mode 100755
index 0000000..9fb35ea
--- /dev/null
+++ b/travis-autogen.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright 2016 Stephan Linz <linz@li-pro.net>
+
+# -Wsign-compare -Wtype-limits
+# Warnings enabled
+CFLAGS="-Wall -Wextra"
+
+CFLAGS+=" -Wbad-function-cast"
+#CFLAGS+=" -Wcast-align"
+CFLAGS+=" -Wchar-subscripts"
+CFLAGS+=" -Wempty-body"
+CFLAGS+=" -Wformat=2"
+#CFLAGS+=" -Wformat"
+#CFLAGS+=" -Wformat-nonliteral"
+#CFLAGS+=" -Wformat-security"
+#CFLAGS+=" -Wformat-y2k"
+CFLAGS+=" -Winit-self"
+CFLAGS+=" -Winline"
+CFLAGS+=" -Wmissing-declarations"
+CFLAGS+=" -Wmissing-include-dirs"
+CFLAGS+=" -Wmissing-prototypes"
+CFLAGS+=" -Wnested-externs"
+CFLAGS+=" -Wold-style-definition"
+CFLAGS+=" -Wpointer-arith"
+CFLAGS+=" -Wredundant-decls"
+CFLAGS+=" -Wshadow"
+CFLAGS+=" -Wstrict-prototypes"
+CFLAGS+=" -Wswitch-enum"
+CFLAGS+=" -Wundef"
+CFLAGS+=" -Wuninitialized"
+CFLAGS+=" -Wunused"
+CFLAGS+=" -Wunused-variable"
+CFLAGS+=" -Wsign-compare"
+CFLAGS+=" -Wtype-limits"
+CFLAGS+=" -Wwrite-strings"
+# clang only: CFLAGS+=" -fdiagnostics-color=auto"
+
+# warnings disabled on purpose
+CFLAGS+=" -Wno-unused-parameter"
+CFLAGS+=" -Wno-unused-function"
+CFLAGS+=" -Wno-deprecated-declarations"
+
+# should be removed and the code fixed
+CFLAGS+=" -Wno-incompatible-pointer-types-discards-qualifiers"
+CFLAGS+=" -Wno-missing-field-initializers"
+
+# fails on warning -- leave it diesabled; not all flags are
+# compatible with both compiler (gcc/clang)
+#CFLAGS+=" -Werror"
+
+export CFLAGS
+./autogen.sh "$@"
diff --git a/update-usbids.sh.in b/update-usbids.sh.in
deleted file mode 100755
index 4a487ed..0000000
--- a/update-usbids.sh.in
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/sh
-
-# see also update-pciids.sh (fancier)
-
-[ "$1" = "-q" ] && quiet="true" || quiet="false"
-
-set -e
-SRC="http://www.linux-usb.org/usb.ids"
-DEST=@usbids@
-
-# if usb.ids is read-only (because the filesystem is read-only),
-# then just skip this whole process.
-if ! touch ${DEST} >&2 >/dev/null ; then
- ${quiet} || echo "${DEST} is read-only, exiting."
- exit 0
-fi
-
-if which wget >/dev/null 2>&1 ; then
- DL="wget -O $DEST.new $SRC"
- ${quiet} && DL="$DL -q"
-elif which lynx >/dev/null 2>&1 ; then
- DL="eval lynx -source $SRC >$DEST.new"
-else
- echo >&2 "update-usbids: cannot find wget nor lynx"
- exit 1
-fi
-
-if ! $DL ; then
- echo >&2 "update-usbids: download failed"
- rm -f $DEST.new
- exit 1
-fi
-
-if ! grep >/dev/null "^C " $DEST.new ; then
- echo >&2 "update-usbids: missing class info, probably truncated file"
- exit 1
-fi
-
-if [ -f $DEST ] ; then
- mv $DEST $DEST.old
- # --reference is supported only by chmod from GNU file, so let's ignore any errors
- chmod -f --reference=$DEST.old $DEST.new 2>/dev/null || true
-fi
-mv $DEST.new $DEST
-
-${quiet} || echo "Done."
diff --git a/usb-devices b/usb-devices
index 73c25be..7627fb1 100755
--- a/usb-devices
+++ b/usb-devices
@@ -1,12 +1,9 @@
-#!/bin/bash
-
-# Copyright: 2009 Greg Kroah-Hartman <greg@kroah.com>
-# 2009 Randy Dunlap <rdunlap@xenotime.net>
-# 2009 Frans Pop <elendil@planet.nl>
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0+
#
-# This software may be used and distributed according to the terms of
-# the GNU General Public License (GPL), version 2, or at your option
-# any later version.
+# Copyright (c) 2009 Greg Kroah-Hartman <greg@kroah.com>
+# Copyright (c) 2009 Randy Dunlap <rdunlap@xenotime.net>
+# Copyright (c) 2009 Frans Pop <elendil@planet.nl>
print_string() {
file=$1
@@ -34,6 +31,9 @@ class_decode() {
"0d") echo "c-sec" ;;
"0e") echo "video" ;;
"0f") echo "perhc" ;;
+ "10") echo "av " ;;
+ "11") echo "blbrd" ;;
+ "12") echo "bridg" ;;
"dc") echo "diagd" ;;
"e0") echo "wlcon" ;;
"ef") echo "misc " ;;
@@ -76,8 +76,8 @@ print_interface() {
driver="(none)"
fi
classname=`class_decode $class`
- printf "I: If#=%2i Alt=%2i #EPs=%2i Cls=%s(%s) Sub=%s Prot=%s Driver=%s\n" \
- ${ifnum#0} ${altset#0} ${numeps#0} $class "$classname" $subclass \
+ printf "I: If#=%2s Alt=%2i #EPs=%2i Cls=%s(%s) Sub=%s Prot=%s Driver=%s\n" \
+ 0x${ifnum#0} ${altset#0} ${numeps#0} $class "$classname" $subclass \
$protocol $driver
for endpoint in $ifpath/ep_??
diff --git a/usb-devices.1.in b/usb-devices.1.in
index 345c342..2b14237 100644
--- a/usb-devices.1.in
+++ b/usb-devices.1.in
@@ -1,3 +1,7 @@
+.\" SPDX-License-Identifier: GPL-2.0
+.\" Copyright (c) 2004 Greg Kroah-Hartman <greg@kroah.com>
+.\" Copyright (c) 2004 Randy Dunlap <rdunlap@xenotime.net>
+.\" Copyright (c) 2004 Frans Pop <elendil@planet.nl>
.TH usb-devices 1 "23 June 2009" "usbutils-VERSION" "Linux USB Utilities"
.IX usb-devices
.SH NAME
@@ -7,7 +11,7 @@ usb-devices \- print USB device details
.SH DESCRIPTION
.B usb-devices
-is a (bash) shell script that can be used to display details of USB
+is a shell script that can be used to display details of USB
buses in the system and the devices connected to them.
The output of the script is similar to the \fIusb/devices\fP file
diff --git a/usb-spec.h b/usb-spec.h
new file mode 100644
index 0000000..0938e10
--- /dev/null
+++ b/usb-spec.h
@@ -0,0 +1,1600 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * USB specification data
+ *
+ * Copyright (C) 2013 Tom Gundersen <teg@jklm.no>
+ */
+
+#ifndef _USB_SPEC_H
+#define _USB_SPEC_H
+
+/* ---------------------------------------------------------------------- */
+
+struct audioterminal {
+ struct audioterminal *next;
+ const uint16_t termt;
+ const char *name;
+};
+
+struct videoterminal {
+ struct videoterminal *next;
+ const uint16_t termt;
+ const char *name;
+};
+
+struct genericstrtable {
+ struct genericstrtable *next;
+ const unsigned int num;
+ const char *name;
+};
+
+/* ---------------------------------------------------------------------- */
+
+static struct audioterminal audioterminals[] =
+{
+ { NULL, 0x0100, "USB Undefined" },
+ { NULL, 0x0101, "USB Streaming" },
+ { NULL, 0x01ff, "USB Vendor Specific" },
+ { NULL, 0x0200, "Input Undefined" },
+ { NULL, 0x0201, "Microphone" },
+ { NULL, 0x0202, "Desktop Microphone" },
+ { NULL, 0x0203, "Personal Microphone" },
+ { NULL, 0x0204, "Omni-directional Microphone" },
+ { NULL, 0x0205, "Microphone Array" },
+ { NULL, 0x0206, "Processing Microphone Array" },
+ { NULL, 0x0300, "Output Undefined" },
+ { NULL, 0x0301, "Speaker" },
+ { NULL, 0x0302, "Headphones" },
+ { NULL, 0x0303, "Head Mounted Display Audio" },
+ { NULL, 0x0304, "Desktop Speaker" },
+ { NULL, 0x0305, "Room Speaker" },
+ { NULL, 0x0306, "Communication Speaker" },
+ { NULL, 0x0307, "Low Frequency Effects Speaker" },
+ { NULL, 0x0400, "Bidirectional Undefined" },
+ { NULL, 0x0401, "Handset" },
+ { NULL, 0x0402, "Headset" },
+ { NULL, 0x0403, "Speakerphone, no echo reduction" },
+ { NULL, 0x0404, "Echo-suppressing speakerphone" },
+ { NULL, 0x0405, "Echo-canceling speakerphone" },
+ { NULL, 0x0500, "Telephony Undefined" },
+ { NULL, 0x0501, "Phone line" },
+ { NULL, 0x0502, "Telephone" },
+ { NULL, 0x0503, "Down Line Phone" },
+ { NULL, 0x0600, "External Undefined" },
+ { NULL, 0x0601, "Analog Connector" },
+ { NULL, 0x0602, "Digital Audio Interface" },
+ { NULL, 0x0603, "Line Connector" },
+ { NULL, 0x0604, "Legacy Audio Connector" },
+ { NULL, 0x0605, "SPDIF interface" },
+ { NULL, 0x0606, "1394 DA stream" },
+ { NULL, 0x0607, "1394 DV stream soundtrack" },
+ { NULL, 0x0700, "Embedded Undefined" },
+ { NULL, 0x0701, "Level Calibration Noise Source" },
+ { NULL, 0x0702, "Equalization Noise" },
+ { NULL, 0x0703, "CD Player" },
+ { NULL, 0x0704, "DAT" },
+ { NULL, 0x0705, "DCC" },
+ { NULL, 0x0706, "MiniDisc" },
+ { NULL, 0x0707, "Analog Tape" },
+ { NULL, 0x0708, "Phonograph" },
+ { NULL, 0x0709, "VCR Audio" },
+ { NULL, 0x070a, "Video Disc Audio" },
+ { NULL, 0x070b, "DVD Audio" },
+ { NULL, 0x070c, "TV Tuner Audio" },
+ { NULL, 0x070d, "Satellite Receiver Audio" },
+ { NULL, 0x070e, "Cable Tuner Audio" },
+ { NULL, 0x070f, "DSS Audio" },
+ { NULL, 0x0710, "Radio Receiver" },
+ { NULL, 0x0711, "Radio Transmitter" },
+ { NULL, 0x0712, "Multitrack Recorder" },
+ { NULL, 0x0713, "Synthesizer" },
+ { NULL },
+};
+
+static struct videoterminal videoterminals[] =
+{
+ { NULL, 0x0100, "USB Vendor Specific" },
+ { NULL, 0x0101, "USB Streaming" },
+ { NULL, 0x0200, "Input Vendor Specific" },
+ { NULL, 0x0201, "Camera Sensor" },
+ { NULL, 0x0202, "Sequential Media" },
+ { NULL, 0x0300, "Output Vendor Specific" },
+ { NULL, 0x0301, "Generic Display" },
+ { NULL, 0x0302, "Sequential Media" },
+ { NULL, 0x0400, "External Vendor Specific" },
+ { NULL, 0x0401, "Composite Video" },
+ { NULL, 0x0402, "S-Video" },
+ { NULL, 0x0403, "Component Video" },
+ { NULL },
+};
+
+static struct genericstrtable hiddescriptors[] =
+{
+ { NULL, 0x21, "HID" },
+ { NULL, 0x22, "Report" },
+ { NULL, 0x23, "Physical" },
+ { NULL },
+};
+
+static struct genericstrtable reports[] =
+{
+ { NULL, 0x04, "Usage Page" },
+ { NULL, 0x08, "Usage" },
+ { NULL, 0x14, "Logical Minimum" },
+ { NULL, 0x18, "Usage Minimum" },
+ { NULL, 0x24, "Logical Maximum" },
+ { NULL, 0x28, "Usage Maximum" },
+ { NULL, 0x34, "Physical Minimum" },
+ { NULL, 0x38, "Designator Index" },
+ { NULL, 0x44, "Physical Maximum" },
+ { NULL, 0x48, "Designator Minimum" },
+ { NULL, 0x54, "Unit Exponent" },
+ { NULL, 0x58, "Designator Maximum" },
+ { NULL, 0x64, "Unit" },
+ { NULL, 0x74, "Report Size" },
+ { NULL, 0x78, "String Index" },
+ { NULL, 0x80, "Input" },
+ { NULL, 0x84, "Report ID" },
+ { NULL, 0x88, "String Minimum" },
+ { NULL, 0x90, "Output" },
+ { NULL, 0x94, "Report Count" },
+ { NULL, 0x98, "String Maximum" },
+ { NULL, 0xa0, "Collection" },
+ { NULL, 0xa4, "Push" },
+ { NULL, 0xa8, "Delimiter" },
+ { NULL, 0xb0, "Feature" },
+ { NULL, 0xb4, "Pop" },
+ { NULL, 0xc0, "End Collection" },
+ { NULL },
+};
+
+static struct genericstrtable huts[] =
+{
+ { NULL, 0x00, "Undefined" },
+ { NULL, 0x01, "Generic Desktop Controls" },
+ { NULL, 0x02, "Simulation Controls" },
+ { NULL, 0x03, "VR Controls" },
+ { NULL, 0x04, "Sport Controls" },
+ { NULL, 0x05, "Game Controls" },
+ { NULL, 0x07, "Keyboard" },
+ { NULL, 0x08, "LEDs" },
+ { NULL, 0x09, "Buttons" },
+ { NULL, 0x0a, "Ordinal" },
+ { NULL, 0x0b, "Telephony" },
+ { NULL, 0x0c, "Consumer" },
+ { NULL, 0x0d, "Digitizer" },
+ { NULL, 0x0f, "PID Page" },
+ { NULL, 0x10, "Unicode" },
+ { NULL, 0x14, "Alphanumeric Display" },
+ { NULL, 0x80, "USB Monitor" },
+ { NULL, 0x81, "USB Monitor Enumerated Values" },
+ { NULL, 0x82, "Monitor VESA Virtual Controls" },
+ { NULL, 0x84, "Power Device Page" },
+ { NULL, 0x85, "Battery System Page" },
+ { NULL, 0x86, "Power Pages" },
+ { NULL, 0x87, "Power Pages" },
+ { NULL, 0x8c, "Bar Code Scanner Page (POS)" },
+ { NULL, 0x8d, "Scale Page (POS)" },
+ { NULL, 0x90, "Camera Control Page" },
+ { NULL, 0x91, "Arcade Control Page" },
+ { NULL, 0xf0, "Cash Device" },
+ { NULL, 0xff, "Vendor Specific" },
+ { NULL },
+};
+
+static struct genericstrtable biass[] =
+{
+ { NULL, 0x0, "Not Applicable" },
+ { NULL, 0x1, "Right Hand" },
+ { NULL, 0x2, "Left Hand" },
+ { NULL, 0x3, "Both Hands" },
+ { NULL, 0x4, "Either Hand" },
+ { NULL },
+};
+
+static struct genericstrtable physdess[] =
+{
+ { NULL, 0x00, "None" },
+ { NULL, 0x01, "Hand" },
+ { NULL, 0x02, "Eyeball" },
+ { NULL, 0x03, "Eyebrow" },
+ { NULL, 0x04, "Eyelid" },
+ { NULL, 0x05, "Ear" },
+ { NULL, 0x06, "Nose" },
+ { NULL, 0x07, "Mouth" },
+ { NULL, 0x08, "Upper Lip" },
+ { NULL, 0x09, "Lower Lip" },
+ { NULL, 0x0a, "Jaw" },
+ { NULL, 0x0b, "Neck" },
+ { NULL, 0x0c, "Upper Arm" },
+ { NULL, 0x0d, "Elbow" },
+ { NULL, 0x0e, "Forearm" },
+ { NULL, 0x0f, "Wrist" },
+ { NULL, 0x10, "Palm" },
+ { NULL, 0x11, "Thumb" },
+ { NULL, 0x12, "Index Finger" },
+ { NULL, 0x13, "Middle Finger" },
+ { NULL, 0x14, "Ring Finger" },
+ { NULL, 0x15, "Little Finger" },
+ { NULL, 0x16, "Head" },
+ { NULL, 0x17, "Shoulder" },
+ { NULL, 0x18, "Hip" },
+ { NULL, 0x19, "Waist" },
+ { NULL, 0x1a, "Thigh" },
+ { NULL, 0x1b, "Knee" },
+ { NULL, 0x1c, "calf" },
+ { NULL, 0x1d, "Ankle" },
+ { NULL, 0x1e, "Foot" },
+ { NULL, 0x1f, "Heel" },
+ { NULL, 0x20, "Ball of Foot" },
+ { NULL, 0x21, "Big Toe" },
+ { NULL, 0x22, "Second Toe" },
+ { NULL, 0x23, "Third Toe" },
+ { NULL, 0x24, "Fourth Toe" },
+ { NULL, 0x25, "Fifth Toe" },
+ { NULL, 0x26, "Brow" },
+ { NULL, 0x27, "Cheek" },
+ { NULL },
+};
+
+/* HUT usage specs are represented as:
+ * (huttype << 16) + hutus
+ */
+static struct genericstrtable hutus[] =
+{
+ { NULL, (0x01 << 16) + 0x000, "Undefined" },
+ { NULL, (0x01 << 16) + 0x001, "Pointer" },
+ { NULL, (0x01 << 16) + 0x002, "Mouse" },
+ { NULL, (0x01 << 16) + 0x004, "Joystick" },
+ { NULL, (0x01 << 16) + 0x005, "Gamepad" },
+ { NULL, (0x01 << 16) + 0x006, "Keyboard" },
+ { NULL, (0x01 << 16) + 0x007, "Keypad" },
+ { NULL, (0x01 << 16) + 0x008, "Multi-Axis Controller" },
+ { NULL, (0x01 << 16) + 0x030, "Direction-X" },
+ { NULL, (0x01 << 16) + 0x031, "Direction-Y" },
+ { NULL, (0x01 << 16) + 0x032, "Direction-Z" },
+ { NULL, (0x01 << 16) + 0x033, "Rotate-X" },
+ { NULL, (0x01 << 16) + 0x034, "Rotate-Y" },
+ { NULL, (0x01 << 16) + 0x035, "Rotate-Z" },
+ { NULL, (0x01 << 16) + 0x036, "Slider" },
+ { NULL, (0x01 << 16) + 0x037, "Dial" },
+ { NULL, (0x01 << 16) + 0x038, "Wheel" },
+ { NULL, (0x01 << 16) + 0x039, "Hat Switch" },
+ { NULL, (0x01 << 16) + 0x03a, "Counted Buffer" },
+ { NULL, (0x01 << 16) + 0x03b, "Byte Count" },
+ { NULL, (0x01 << 16) + 0x03c, "Motion Wakeup" },
+ { NULL, (0x01 << 16) + 0x03d, "Start" },
+ { NULL, (0x01 << 16) + 0x03e, "Select" },
+ { NULL, (0x01 << 16) + 0x040, "Vector-X" },
+ { NULL, (0x01 << 16) + 0x041, "Vector-Y" },
+ { NULL, (0x01 << 16) + 0x042, "Vector-Z" },
+ { NULL, (0x01 << 16) + 0x043, "Vector-X relative Body" },
+ { NULL, (0x01 << 16) + 0x044, "Vector-Y relative Body" },
+ { NULL, (0x01 << 16) + 0x045, "Vector-Z relative Body" },
+ { NULL, (0x01 << 16) + 0x046, "Vector" },
+ { NULL, (0x01 << 16) + 0x080, "System Control" },
+ { NULL, (0x01 << 16) + 0x081, "System Power Down" },
+ { NULL, (0x01 << 16) + 0x082, "System Sleep" },
+ { NULL, (0x01 << 16) + 0x083, "System Wake Up" },
+ { NULL, (0x01 << 16) + 0x084, "System Context Menu" },
+ { NULL, (0x01 << 16) + 0x085, "System Main Menu" },
+ { NULL, (0x01 << 16) + 0x086, "System App Menu" },
+ { NULL, (0x01 << 16) + 0x087, "System Menu Help" },
+ { NULL, (0x01 << 16) + 0x088, "System Menu Exit" },
+ { NULL, (0x01 << 16) + 0x089, "System Menu Select" },
+ { NULL, (0x01 << 16) + 0x08a, "System Menu Right" },
+ { NULL, (0x01 << 16) + 0x08b, "System Menu Left" },
+ { NULL, (0x01 << 16) + 0x08c, "System Menu Up" },
+ { NULL, (0x01 << 16) + 0x08d, "System Menu Down" },
+ { NULL, (0x01 << 16) + 0x090, "Direction Pad Up" },
+ { NULL, (0x01 << 16) + 0x091, "Direction Pad Down" },
+ { NULL, (0x01 << 16) + 0x092, "Direction Pad Right" },
+ { NULL, (0x01 << 16) + 0x093, "Direction Pad Left" },
+ { NULL, (0x02 << 16) + 0x000, "Undefined" },
+ { NULL, (0x02 << 16) + 0x001, "Flight Simulation Device" },
+ { NULL, (0x02 << 16) + 0x002, "Automobile Simulation Device" },
+ { NULL, (0x02 << 16) + 0x003, "Tank Simulation Device" },
+ { NULL, (0x02 << 16) + 0x004, "Spaceship Simulation Device" },
+ { NULL, (0x02 << 16) + 0x005, "Submarine Simulation Device" },
+ { NULL, (0x02 << 16) + 0x006, "Sailing Simulation Device" },
+ { NULL, (0x02 << 16) + 0x007, "Motorcycle Simulation Device" },
+ { NULL, (0x02 << 16) + 0x008, "Sports Simulation Device" },
+ { NULL, (0x02 << 16) + 0x009, "Airplane Simualtion Device" },
+ { NULL, (0x02 << 16) + 0x00a, "Helicopter Simulation Device" },
+ { NULL, (0x02 << 16) + 0x00b, "Magic Carpet Simulation Device" },
+ { NULL, (0x02 << 16) + 0x00c, "Bicycle Simulation Device" },
+ { NULL, (0x02 << 16) + 0x020, "Flight Control Stick" },
+ { NULL, (0x02 << 16) + 0x021, "Flight Stick" },
+ { NULL, (0x02 << 16) + 0x022, "Cyclic Control" },
+ { NULL, (0x02 << 16) + 0x023, "Cyclic Trim" },
+ { NULL, (0x02 << 16) + 0x024, "Flight Yoke" },
+ { NULL, (0x02 << 16) + 0x025, "Track Control" },
+ { NULL, (0x02 << 16) + 0x0b0, "Aileron" },
+ { NULL, (0x02 << 16) + 0x0b1, "Aileron Trim" },
+ { NULL, (0x02 << 16) + 0x0b2, "Anti-Torque Control" },
+ { NULL, (0x02 << 16) + 0x0b3, "Autopilot Enable" },
+ { NULL, (0x02 << 16) + 0x0b4, "Chaff Release" },
+ { NULL, (0x02 << 16) + 0x0b5, "Collective Control" },
+ { NULL, (0x02 << 16) + 0x0b6, "Dive Break" },
+ { NULL, (0x02 << 16) + 0x0b7, "Electronic Countermeasures" },
+ { NULL, (0x02 << 16) + 0x0b8, "Elevator" },
+ { NULL, (0x02 << 16) + 0x0b9, "Elevator Trim" },
+ { NULL, (0x02 << 16) + 0x0ba, "Rudder" },
+ { NULL, (0x02 << 16) + 0x0bb, "Throttle" },
+ { NULL, (0x02 << 16) + 0x0bc, "Flight COmmunications" },
+ { NULL, (0x02 << 16) + 0x0bd, "Flare Release" },
+ { NULL, (0x02 << 16) + 0x0be, "Landing Gear" },
+ { NULL, (0x02 << 16) + 0x0bf, "Toe Break" },
+ { NULL, (0x02 << 16) + 0x0c0, "Trigger" },
+ { NULL, (0x02 << 16) + 0x0c1, "Weapon Arm" },
+ { NULL, (0x02 << 16) + 0x0c2, "Weapons Select" },
+ { NULL, (0x02 << 16) + 0x0c3, "Wing Flaps" },
+ { NULL, (0x02 << 16) + 0x0c4, "Accelerator" },
+ { NULL, (0x02 << 16) + 0x0c5, "Brake" },
+ { NULL, (0x02 << 16) + 0x0c6, "Clutch" },
+ { NULL, (0x02 << 16) + 0x0c7, "Shifter" },
+ { NULL, (0x02 << 16) + 0x0c8, "Steering" },
+ { NULL, (0x02 << 16) + 0x0c9, "Turret Direction" },
+ { NULL, (0x02 << 16) + 0x0ca, "Barrel Elevation" },
+ { NULL, (0x02 << 16) + 0x0cb, "Drive Plane" },
+ { NULL, (0x02 << 16) + 0x0cc, "Ballast" },
+ { NULL, (0x02 << 16) + 0x0cd, "Bicylce Crank" },
+ { NULL, (0x02 << 16) + 0x0ce, "Handle Bars" },
+ { NULL, (0x02 << 16) + 0x0cf, "Front Brake" },
+ { NULL, (0x02 << 16) + 0x0d0, "Rear Brake" },
+ { NULL, (0x03 << 16) + 0x000, "Unidentified" },
+ { NULL, (0x03 << 16) + 0x001, "Belt" },
+ { NULL, (0x03 << 16) + 0x002, "Body Suit" },
+ { NULL, (0x03 << 16) + 0x003, "Flexor" },
+ { NULL, (0x03 << 16) + 0x004, "Glove" },
+ { NULL, (0x03 << 16) + 0x005, "Head Tracker" },
+ { NULL, (0x03 << 16) + 0x006, "Head Mounted Display" },
+ { NULL, (0x03 << 16) + 0x007, "Hand Tracker" },
+ { NULL, (0x03 << 16) + 0x008, "Oculometer" },
+ { NULL, (0x03 << 16) + 0x009, "Vest" },
+ { NULL, (0x03 << 16) + 0x00a, "Animatronic Device" },
+ { NULL, (0x03 << 16) + 0x020, "Stereo Enable" },
+ { NULL, (0x03 << 16) + 0x021, "Display Enable" },
+ { NULL, (0x04 << 16) + 0x000, "Unidentified" },
+ { NULL, (0x04 << 16) + 0x001, "Baseball Bat" },
+ { NULL, (0x04 << 16) + 0x002, "Golf Club" },
+ { NULL, (0x04 << 16) + 0x003, "Rowing Machine" },
+ { NULL, (0x04 << 16) + 0x004, "Treadmill" },
+ { NULL, (0x04 << 16) + 0x030, "Oar" },
+ { NULL, (0x04 << 16) + 0x031, "Slope" },
+ { NULL, (0x04 << 16) + 0x032, "Rate" },
+ { NULL, (0x04 << 16) + 0x033, "Stick Speed" },
+ { NULL, (0x04 << 16) + 0x034, "Stick Face Angle" },
+ { NULL, (0x04 << 16) + 0x035, "Stick Heel/Toe" },
+ { NULL, (0x04 << 16) + 0x036, "Stick Follow Through" },
+ { NULL, (0x04 << 16) + 0x038, "Stick Type" },
+ { NULL, (0x04 << 16) + 0x039, "Stick Height" },
+ { NULL, (0x04 << 16) + 0x047, "Stick Temp" },
+ { NULL, (0x04 << 16) + 0x050, "Putter" },
+ { NULL, (0x04 << 16) + 0x051, "1 Iron" },
+ { NULL, (0x04 << 16) + 0x052, "2 Iron" },
+ { NULL, (0x04 << 16) + 0x053, "3 Iron" },
+ { NULL, (0x04 << 16) + 0x054, "4 Iron" },
+ { NULL, (0x04 << 16) + 0x055, "5 Iron" },
+ { NULL, (0x04 << 16) + 0x056, "6 Iron" },
+ { NULL, (0x04 << 16) + 0x057, "7 Iron" },
+ { NULL, (0x04 << 16) + 0x058, "8 Iron" },
+ { NULL, (0x04 << 16) + 0x059, "9 Iron" },
+ { NULL, (0x04 << 16) + 0x05a, "10 Iron" },
+ { NULL, (0x04 << 16) + 0x05b, "11 Iron" },
+ { NULL, (0x04 << 16) + 0x05c, "Sand Wedge" },
+ { NULL, (0x04 << 16) + 0x05d, "Loft Wedge" },
+ { NULL, (0x04 << 16) + 0x05e, "Power Wedge" },
+ { NULL, (0x04 << 16) + 0x05f, "1 Wood" },
+ { NULL, (0x04 << 16) + 0x060, "3 Wood" },
+ { NULL, (0x04 << 16) + 0x061, "5 Wood" },
+ { NULL, (0x04 << 16) + 0x062, "7 Wood" },
+ { NULL, (0x04 << 16) + 0x063, "9 Wood" },
+ { NULL, (0x05 << 16) + 0x000, "Undefined" },
+ { NULL, (0x05 << 16) + 0x001, "3D Game Controller" },
+ { NULL, (0x05 << 16) + 0x002, "Pinball Device" },
+ { NULL, (0x05 << 16) + 0x003, "Gun Device" },
+ { NULL, (0x05 << 16) + 0x020, "Point Of View" },
+ { NULL, (0x05 << 16) + 0x021, "Turn Right/Left" },
+ { NULL, (0x05 << 16) + 0x022, "Pitch Right/Left" },
+ { NULL, (0x05 << 16) + 0x023, "Roll Forward/Backward" },
+ { NULL, (0x05 << 16) + 0x024, "Move Right/Left" },
+ { NULL, (0x05 << 16) + 0x025, "Move Forward/Backward" },
+ { NULL, (0x05 << 16) + 0x026, "Move Up/Down" },
+ { NULL, (0x05 << 16) + 0x027, "Lean Right/Left" },
+ { NULL, (0x05 << 16) + 0x028, "Lean Forward/Backward" },
+ { NULL, (0x05 << 16) + 0x029, "Height of POV" },
+ { NULL, (0x05 << 16) + 0x02a, "Flipper" },
+ { NULL, (0x05 << 16) + 0x02b, "Secondary Flipper" },
+ { NULL, (0x05 << 16) + 0x02c, "Bump" },
+ { NULL, (0x05 << 16) + 0x02d, "New Game" },
+ { NULL, (0x05 << 16) + 0x02e, "Shoot Ball" },
+ { NULL, (0x05 << 16) + 0x02f, "Player" },
+ { NULL, (0x05 << 16) + 0x030, "Gun Bolt" },
+ { NULL, (0x05 << 16) + 0x031, "Gun Clip" },
+ { NULL, (0x05 << 16) + 0x032, "Gun Selector" },
+ { NULL, (0x05 << 16) + 0x033, "Gun Single Shot" },
+ { NULL, (0x05 << 16) + 0x034, "Gun Burst" },
+ { NULL, (0x05 << 16) + 0x035, "Gun Automatic" },
+ { NULL, (0x05 << 16) + 0x036, "Gun Safety" },
+ { NULL, (0x05 << 16) + 0x037, "Gamepad Fire/Jump" },
+ { NULL, (0x05 << 16) + 0x038, "Gamepad Fun" },
+ { NULL, (0x05 << 16) + 0x039, "Gamepad Trigger" },
+ { NULL, (0x07 << 16) + 0x000, "No Event" },
+ { NULL, (0x07 << 16) + 0x001, "Keyboard ErrorRollOver" },
+ { NULL, (0x07 << 16) + 0x002, "Keyboard POSTfail" },
+ { NULL, (0x07 << 16) + 0x003, "Keyboard Error Undefined" },
+ { NULL, (0x07 << 16) + 0x004, "A" },
+ { NULL, (0x07 << 16) + 0x005, "B" },
+ { NULL, (0x07 << 16) + 0x006, "C" },
+ { NULL, (0x07 << 16) + 0x007, "D" },
+ { NULL, (0x07 << 16) + 0x008, "E" },
+ { NULL, (0x07 << 16) + 0x009, "F" },
+ { NULL, (0x07 << 16) + 0x00a, "G" },
+ { NULL, (0x07 << 16) + 0x00b, "H" },
+ { NULL, (0x07 << 16) + 0x00c, "I" },
+ { NULL, (0x07 << 16) + 0x00d, "J" },
+ { NULL, (0x07 << 16) + 0x00e, "K" },
+ { NULL, (0x07 << 16) + 0x00f, "L" },
+ { NULL, (0x07 << 16) + 0x010, "M" },
+ { NULL, (0x07 << 16) + 0x011, "N" },
+ { NULL, (0x07 << 16) + 0x012, "O" },
+ { NULL, (0x07 << 16) + 0x013, "P" },
+ { NULL, (0x07 << 16) + 0x014, "Q" },
+ { NULL, (0x07 << 16) + 0x015, "R" },
+ { NULL, (0x07 << 16) + 0x016, "S" },
+ { NULL, (0x07 << 16) + 0x017, "T" },
+ { NULL, (0x07 << 16) + 0x018, "U" },
+ { NULL, (0x07 << 16) + 0x019, "V" },
+ { NULL, (0x07 << 16) + 0x01a, "W" },
+ { NULL, (0x07 << 16) + 0x01b, "X" },
+ { NULL, (0x07 << 16) + 0x01c, "Y" },
+ { NULL, (0x07 << 16) + 0x01d, "Z" },
+ { NULL, (0x07 << 16) + 0x01e, "1 and ! (One and Exclamation)" },
+ { NULL, (0x07 << 16) + 0x01f, "2 and @ (2 and at)" },
+ { NULL, (0x07 << 16) + 0x020, "3 and # (3 and Hash)" },
+ { NULL, (0x07 << 16) + 0x021, "4 and $ (4 and Dollar Sign)" },
+ { NULL, (0x07 << 16) + 0x022, "5 and % (5 and Percent Sign)" },
+ { NULL, (0x07 << 16) + 0x023, "6 and ^ (6 and circumflex)" },
+ { NULL, (0x07 << 16) + 0x024, "7 and & (Seven and Ampersand)" },
+ { NULL, (0x07 << 16) + 0x025, "8 and * (Eight and asterisk)" },
+ { NULL, (0x07 << 16) + 0x026, "9 and ( (Nine and Parenthesis Left)" },
+ { NULL, (0x07 << 16) + 0x027, "0 and ) (Zero and Parenthesis Right)" },
+ { NULL, (0x07 << 16) + 0x028, "Return (Enter)" },
+ { NULL, (0x07 << 16) + 0x029, "Escape" },
+ { NULL, (0x07 << 16) + 0x02a, "Delete (Backspace)" },
+ { NULL, (0x07 << 16) + 0x02b, "Tab" },
+ { NULL, (0x07 << 16) + 0x02c, "Space Bar" },
+ { NULL, (0x07 << 16) + 0x02d, "- and _ (Minus and underscore)" },
+ { NULL, (0x07 << 16) + 0x02e, "= and + (Equal and Plus)" },
+ { NULL, (0x07 << 16) + 0x02f, "[ and { (Bracket and Braces Left)" },
+ { NULL, (0x07 << 16) + 0x030, "] and } (Bracket and Braces Right)" },
+ { NULL, (0x07 << 16) + 0x031, "\\ and | (Backslash and Bar)" },
+ { NULL, (0x07 << 16) + 0x032, "# and ~ (Hash and Tilde, Non-US Keyboard near right shift)" },
+ { NULL, (0x07 << 16) + 0x033, "; and : (Semicolon and Colon)" },
+ { NULL, (0x07 << 16) + 0x034, "´ and \" (Accent Acute and Double Quotes)" },
+ { NULL, (0x07 << 16) + 0x035, "` and ~ (Accent Grace and Tilde)" },
+ { NULL, (0x07 << 16) + 0x036, ", and < (Comma and Less)" },
+ { NULL, (0x07 << 16) + 0x037, ". and > (Period and Greater)" },
+ { NULL, (0x07 << 16) + 0x038, "/ and ? (Slash and Question Mark)" },
+ { NULL, (0x07 << 16) + 0x039, "Caps Lock" },
+ { NULL, (0x07 << 16) + 0x03a, "F1" },
+ { NULL, (0x07 << 16) + 0x03b, "F2" },
+ { NULL, (0x07 << 16) + 0x03c, "F3" },
+ { NULL, (0x07 << 16) + 0x03d, "F4" },
+ { NULL, (0x07 << 16) + 0x03e, "F5" },
+ { NULL, (0x07 << 16) + 0x03f, "F6" },
+ { NULL, (0x07 << 16) + 0x040, "F7" },
+ { NULL, (0x07 << 16) + 0x041, "F8" },
+ { NULL, (0x07 << 16) + 0x042, "F9" },
+ { NULL, (0x07 << 16) + 0x043, "F10" },
+ { NULL, (0x07 << 16) + 0x044, "F11" },
+ { NULL, (0x07 << 16) + 0x045, "F12" },
+ { NULL, (0x07 << 16) + 0x046, "Print Screen" },
+ { NULL, (0x07 << 16) + 0x047, "Scroll Lock" },
+ { NULL, (0x07 << 16) + 0x048, "Pause" },
+ { NULL, (0x07 << 16) + 0x049, "Insert" },
+ { NULL, (0x07 << 16) + 0x04a, "Home" },
+ { NULL, (0x07 << 16) + 0x04b, "Page Up" },
+ { NULL, (0x07 << 16) + 0x04c, "Delete Forward (without Changing Position)" },
+ { NULL, (0x07 << 16) + 0x04d, "End" },
+ { NULL, (0x07 << 16) + 0x04e, "Page Down" },
+ { NULL, (0x07 << 16) + 0x04f, "Right Arrow" },
+ { NULL, (0x07 << 16) + 0x050, "Left Arrow" },
+ { NULL, (0x07 << 16) + 0x051, "Down Arrow" },
+ { NULL, (0x07 << 16) + 0x052, "Up Arrow" },
+ { NULL, (0x07 << 16) + 0x053, "Num Lock and Clear" },
+ { NULL, (0x07 << 16) + 0x054, "Keypad / (Division Sign)" },
+ { NULL, (0x07 << 16) + 0x055, "Keypad * (Multiplication Sign)" },
+ { NULL, (0x07 << 16) + 0x056, "Keypad - (Subtraction Sign)" },
+ { NULL, (0x07 << 16) + 0x057, "Keypad + (Addition Sign)" },
+ { NULL, (0x07 << 16) + 0x058, "Keypad Enter" },
+ { NULL, (0x07 << 16) + 0x059, "Keypad 1 and END" },
+ { NULL, (0x07 << 16) + 0x05a, "Keypad 2 and Down Arrow" },
+ { NULL, (0x07 << 16) + 0x05b, "Keypad 3 and Page Down" },
+ { NULL, (0x07 << 16) + 0x05c, "Keypad 4 and Left Arrow" },
+ { NULL, (0x07 << 16) + 0x05d, "Keypad 5 (Tactilei Raised)" },
+ { NULL, (0x07 << 16) + 0x05f, "Keypad 6 and Right Arrow" },
+ { NULL, (0x07 << 16) + 0x060, "Keypad 7 and Home" },
+ { NULL, (0x07 << 16) + 0x061, "Keypad 8 and Up Arrow" },
+ { NULL, (0x07 << 16) + 0x062, "Keypad 8 and Page Up" },
+ { NULL, (0x07 << 16) + 0x063, "Keypad . (decimal delimiter) and Delete" },
+ { NULL, (0x07 << 16) + 0x064, "\\ and | (Backslash and Bar, UK and Non-US Keyboard near left shift)" },
+ { NULL, (0x07 << 16) + 0x065, "Keyboard Application (Windows Key for Win95 or Compose)" },
+ { NULL, (0x07 << 16) + 0x066, "Power (not a key)" },
+ { NULL, (0x07 << 16) + 0x067, "Keypad = (Equal Sign)" },
+ { NULL, (0x07 << 16) + 0x068, "F13" },
+ { NULL, (0x07 << 16) + 0x069, "F14" },
+ { NULL, (0x07 << 16) + 0x06a, "F15" },
+ { NULL, (0x07 << 16) + 0x06b, "F16" },
+ { NULL, (0x07 << 16) + 0x06c, "F17" },
+ { NULL, (0x07 << 16) + 0x06d, "F18" },
+ { NULL, (0x07 << 16) + 0x06e, "F19" },
+ { NULL, (0x07 << 16) + 0x06f, "F20" },
+ { NULL, (0x07 << 16) + 0x070, "F21" },
+ { NULL, (0x07 << 16) + 0x071, "F22" },
+ { NULL, (0x07 << 16) + 0x072, "F23" },
+ { NULL, (0x07 << 16) + 0x073, "F24" },
+ { NULL, (0x07 << 16) + 0x074, "Execute" },
+ { NULL, (0x07 << 16) + 0x075, "Help" },
+ { NULL, (0x07 << 16) + 0x076, "Menu" },
+ { NULL, (0x07 << 16) + 0x077, "Select" },
+ { NULL, (0x07 << 16) + 0x078, "Stop" },
+ { NULL, (0x07 << 16) + 0x079, "Again" },
+ { NULL, (0x07 << 16) + 0x07a, "Undo" },
+ { NULL, (0x07 << 16) + 0x07b, "Cut" },
+ { NULL, (0x07 << 16) + 0x07c, "Copy" },
+ { NULL, (0x07 << 16) + 0x07d, "Paste" },
+ { NULL, (0x07 << 16) + 0x07e, "Find" },
+ { NULL, (0x07 << 16) + 0x07f, "Mute" },
+ { NULL, (0x07 << 16) + 0x080, "Volume Up" },
+ { NULL, (0x07 << 16) + 0x081, "Volume Down" },
+ { NULL, (0x07 << 16) + 0x082, "Locking Caps Lock" },
+ { NULL, (0x07 << 16) + 0x083, "Locking Num Lock" },
+ { NULL, (0x07 << 16) + 0x084, "Locking Scroll Lock" },
+ { NULL, (0x07 << 16) + 0x085, "Keypad Comma" },
+ { NULL, (0x07 << 16) + 0x086, "Keypad Equal Sign (AS/400)" },
+ { NULL, (0x07 << 16) + 0x087, "International 1 (PC98)" },
+ { NULL, (0x07 << 16) + 0x088, "International 2 (PC98)" },
+ { NULL, (0x07 << 16) + 0x089, "International 3 (PC98)" },
+ { NULL, (0x07 << 16) + 0x08a, "International 4 (PC98)" },
+ { NULL, (0x07 << 16) + 0x08b, "International 5 (PC98)" },
+ { NULL, (0x07 << 16) + 0x08c, "International 6 (PC98)" },
+ { NULL, (0x07 << 16) + 0x08d, "International 7 (Toggle Single/Double Byte Mode)" },
+ { NULL, (0x07 << 16) + 0x08e, "International 8" },
+ { NULL, (0x07 << 16) + 0x08f, "International 9" },
+ { NULL, (0x07 << 16) + 0x090, "LANG 1 (Hangul/English Toggle, Korea)" },
+ { NULL, (0x07 << 16) + 0x091, "LANG 2 (Hanja Conversion, Korea)" },
+ { NULL, (0x07 << 16) + 0x092, "LANG 3 (Katakana, Japan)" },
+ { NULL, (0x07 << 16) + 0x093, "LANG 4 (Hiragana, Japan)" },
+ { NULL, (0x07 << 16) + 0x094, "LANG 5 (Zenkaku/Hankaku, Japan)" },
+ { NULL, (0x07 << 16) + 0x095, "LANG 6" },
+ { NULL, (0x07 << 16) + 0x096, "LANG 7" },
+ { NULL, (0x07 << 16) + 0x097, "LANG 8" },
+ { NULL, (0x07 << 16) + 0x098, "LANG 9" },
+ { NULL, (0x07 << 16) + 0x099, "Alternate Erase" },
+ { NULL, (0x07 << 16) + 0x09a, "SysReq/Attention" },
+ { NULL, (0x07 << 16) + 0x09b, "Cancel" },
+ { NULL, (0x07 << 16) + 0x09c, "Clear" },
+ { NULL, (0x07 << 16) + 0x09d, "Prior" },
+ { NULL, (0x07 << 16) + 0x09e, "Return" },
+ { NULL, (0x07 << 16) + 0x09f, "Separator" },
+ { NULL, (0x07 << 16) + 0x0a0, "Out" },
+ { NULL, (0x07 << 16) + 0x0a1, "Open" },
+ { NULL, (0x07 << 16) + 0x0a2, "Clear/Again" },
+ { NULL, (0x07 << 16) + 0x0a3, "CrSel/Props" },
+ { NULL, (0x07 << 16) + 0x0a4, "ExSel" },
+ { NULL, (0x07 << 16) + 0x0e0, "Control Left" },
+ { NULL, (0x07 << 16) + 0x0e1, "Shift Left" },
+ { NULL, (0x07 << 16) + 0x0e2, "Alt Left" },
+ { NULL, (0x07 << 16) + 0x0e3, "GUI Left" },
+ { NULL, (0x07 << 16) + 0x0e4, "Control Right" },
+ { NULL, (0x07 << 16) + 0x0e5, "Shift Right" },
+ { NULL, (0x07 << 16) + 0x0e6, "Alt Rigth" },
+ { NULL, (0x07 << 16) + 0x0e7, "GUI Right" },
+ { NULL, (0x08 << 16) + 0x000, "Undefined" },
+ { NULL, (0x08 << 16) + 0x001, "NumLock" },
+ { NULL, (0x08 << 16) + 0x002, "CapsLock" },
+ { NULL, (0x08 << 16) + 0x003, "Scroll Lock" },
+ { NULL, (0x08 << 16) + 0x004, "Compose" },
+ { NULL, (0x08 << 16) + 0x005, "Kana" },
+ { NULL, (0x08 << 16) + 0x006, "Power" },
+ { NULL, (0x08 << 16) + 0x007, "Shift" },
+ { NULL, (0x08 << 16) + 0x008, "Do not disturb" },
+ { NULL, (0x08 << 16) + 0x009, "Mute" },
+ { NULL, (0x08 << 16) + 0x00a, "Tone Enabke" },
+ { NULL, (0x08 << 16) + 0x00b, "High Cut Filter" },
+ { NULL, (0x08 << 16) + 0x00c, "Low Cut Filter" },
+ { NULL, (0x08 << 16) + 0x00d, "Equalizer Enable" },
+ { NULL, (0x08 << 16) + 0x00e, "Sound Field ON" },
+ { NULL, (0x08 << 16) + 0x00f, "Surround On" },
+ { NULL, (0x08 << 16) + 0x010, "Repeat" },
+ { NULL, (0x08 << 16) + 0x011, "Stereo" },
+ { NULL, (0x08 << 16) + 0x012, "Sampling Rate Detect" },
+ { NULL, (0x08 << 16) + 0x013, "Spinning" },
+ { NULL, (0x08 << 16) + 0x014, "CAV" },
+ { NULL, (0x08 << 16) + 0x015, "CLV" },
+ { NULL, (0x08 << 16) + 0x016, "Recording Format Detect" },
+ { NULL, (0x08 << 16) + 0x017, "Off-Hook" },
+ { NULL, (0x08 << 16) + 0x018, "Ring" },
+ { NULL, (0x08 << 16) + 0x019, "Message Waiting" },
+ { NULL, (0x08 << 16) + 0x01a, "Data Mode" },
+ { NULL, (0x08 << 16) + 0x01b, "Battery Operation" },
+ { NULL, (0x08 << 16) + 0x01c, "Battery OK" },
+ { NULL, (0x08 << 16) + 0x01d, "Battery Low" },
+ { NULL, (0x08 << 16) + 0x01e, "Speaker" },
+ { NULL, (0x08 << 16) + 0x01f, "Head Set" },
+ { NULL, (0x08 << 16) + 0x020, "Hold" },
+ { NULL, (0x08 << 16) + 0x021, "Microphone" },
+ { NULL, (0x08 << 16) + 0x022, "Coverage" },
+ { NULL, (0x08 << 16) + 0x023, "Night Mode" },
+ { NULL, (0x08 << 16) + 0x024, "Send Calls" },
+ { NULL, (0x08 << 16) + 0x025, "Call Pickup" },
+ { NULL, (0x08 << 16) + 0x026, "Conference" },
+ { NULL, (0x08 << 16) + 0x027, "Stand-by" },
+ { NULL, (0x08 << 16) + 0x028, "Camera On" },
+ { NULL, (0x08 << 16) + 0x029, "Camera Off" },
+ { NULL, (0x08 << 16) + 0x02a, "On-Line" },
+ { NULL, (0x08 << 16) + 0x02b, "Off-Line" },
+ { NULL, (0x08 << 16) + 0x02c, "Busy" },
+ { NULL, (0x08 << 16) + 0x02d, "Ready" },
+ { NULL, (0x08 << 16) + 0x02e, "Paper-Out" },
+ { NULL, (0x08 << 16) + 0x02f, "Paper-Jam" },
+ { NULL, (0x08 << 16) + 0x030, "Remote" },
+ { NULL, (0x08 << 16) + 0x031, "Forward" },
+ { NULL, (0x08 << 16) + 0x032, "Reverse" },
+ { NULL, (0x08 << 16) + 0x033, "Stop" },
+ { NULL, (0x08 << 16) + 0x034, "Rewind" },
+ { NULL, (0x08 << 16) + 0x035, "Fast Forward" },
+ { NULL, (0x08 << 16) + 0x036, "Play" },
+ { NULL, (0x08 << 16) + 0x037, "Pause" },
+ { NULL, (0x08 << 16) + 0x038, "Record" },
+ { NULL, (0x08 << 16) + 0x039, "Error" },
+ { NULL, (0x08 << 16) + 0x03a, "Usage Selected Indicator" },
+ { NULL, (0x08 << 16) + 0x03b, "Usage In Use Indicator" },
+ { NULL, (0x08 << 16) + 0x03c, "Usage Multi Indicator" },
+ { NULL, (0x08 << 16) + 0x03d, "Indicator On" },
+ { NULL, (0x08 << 16) + 0x03e, "Indicator Flash" },
+ { NULL, (0x08 << 16) + 0x03f, "Indicator Slow Blink" },
+ { NULL, (0x08 << 16) + 0x040, "Indicator Fast Blink" },
+ { NULL, (0x08 << 16) + 0x041, "Indicator Off" },
+ { NULL, (0x08 << 16) + 0x042, "Flash On Time" },
+ { NULL, (0x08 << 16) + 0x043, "Slow Blink On Time" },
+ { NULL, (0x08 << 16) + 0x044, "Slow Blink Off Time" },
+ { NULL, (0x08 << 16) + 0x045, "Fast Blink On Time" },
+ { NULL, (0x08 << 16) + 0x046, "Fast Blink Off Time" },
+ { NULL, (0x08 << 16) + 0x047, "Usage Color Indicator" },
+ { NULL, (0x08 << 16) + 0x048, "Indicator Red" },
+ { NULL, (0x08 << 16) + 0x049, "Indicator Green" },
+ { NULL, (0x08 << 16) + 0x04a, "Indicator Amber" },
+ { NULL, (0x08 << 16) + 0x04b, "Generic Indicator" },
+ { NULL, (0x08 << 16) + 0x04c, "System Suspend" },
+ { NULL, (0x08 << 16) + 0x04d, "External Power Connected" },
+ { NULL, (0x09 << 16) + 0x000, "No Button Pressed" },
+ { NULL, (0x09 << 16) + 0x001, "Button 1 (Primary)" },
+ { NULL, (0x09 << 16) + 0x002, "Button 2 (Secondary)" },
+ { NULL, (0x09 << 16) + 0x003, "Button 3 (Tertiary)" },
+ { NULL, (0x09 << 16) + 0x004, "Button 4" },
+ { NULL, (0x09 << 16) + 0x005, "Button 5" },
+ { NULL, (0x0a << 16) + 0x001, "Instance 1" },
+ { NULL, (0x0a << 16) + 0x002, "Instance 2" },
+ { NULL, (0x0a << 16) + 0x003, "Instance 3" },
+ { NULL, (0x0b << 16) + 0x000, "Unassigned" },
+ { NULL, (0x0b << 16) + 0x001, "Phone" },
+ { NULL, (0x0b << 16) + 0x002, "Answering Machine" },
+ { NULL, (0x0b << 16) + 0x003, "Message Controls" },
+ { NULL, (0x0b << 16) + 0x004, "Handset" },
+ { NULL, (0x0b << 16) + 0x005, "Headset" },
+ { NULL, (0x0b << 16) + 0x006, "Telephony Key Pad" },
+ { NULL, (0x0b << 16) + 0x007, "Programmable Button" },
+ { NULL, (0x0b << 16) + 0x020, "Hook Switch" },
+ { NULL, (0x0b << 16) + 0x021, "Flash" },
+ { NULL, (0x0b << 16) + 0x022, "Feature" },
+ { NULL, (0x0b << 16) + 0x023, "Hold" },
+ { NULL, (0x0b << 16) + 0x024, "Redial" },
+ { NULL, (0x0b << 16) + 0x025, "Transfer" },
+ { NULL, (0x0b << 16) + 0x026, "Drop" },
+ { NULL, (0x0b << 16) + 0x027, "Park" },
+ { NULL, (0x0b << 16) + 0x028, "Forward Calls" },
+ { NULL, (0x0b << 16) + 0x029, "Alternate Function" },
+ { NULL, (0x0b << 16) + 0x02a, "Line" },
+ { NULL, (0x0b << 16) + 0x02b, "Speaker Phone" },
+ { NULL, (0x0b << 16) + 0x02c, "Conference" },
+ { NULL, (0x0b << 16) + 0x02d, "Ring Enable" },
+ { NULL, (0x0b << 16) + 0x02e, "Ring Select" },
+ { NULL, (0x0b << 16) + 0x02f, "Phone Mute" },
+ { NULL, (0x0b << 16) + 0x030, "Caller ID" },
+ { NULL, (0x0b << 16) + 0x050, "Speed Dial" },
+ { NULL, (0x0b << 16) + 0x051, "Store Number" },
+ { NULL, (0x0b << 16) + 0x052, "Recall Number" },
+ { NULL, (0x0b << 16) + 0x053, "Phone Directory" },
+ { NULL, (0x0b << 16) + 0x070, "Voice Mail" },
+ { NULL, (0x0b << 16) + 0x071, "Screen Calls" },
+ { NULL, (0x0b << 16) + 0x072, "Do Not Disturb" },
+ { NULL, (0x0b << 16) + 0x073, "Message" },
+ { NULL, (0x0b << 16) + 0x074, "Answer On/Offf" },
+ { NULL, (0x0b << 16) + 0x090, "Inside Dial Tone" },
+ { NULL, (0x0b << 16) + 0x091, "Outside Dial Tone" },
+ { NULL, (0x0b << 16) + 0x092, "Inside Ring Tone" },
+ { NULL, (0x0b << 16) + 0x093, "Outside Ring Tone" },
+ { NULL, (0x0b << 16) + 0x094, "Priority Ring Tone" },
+ { NULL, (0x0b << 16) + 0x095, "Inside Ringback" },
+ { NULL, (0x0b << 16) + 0x096, "Priority Ringback" },
+ { NULL, (0x0b << 16) + 0x097, "Line Busy Tone" },
+ { NULL, (0x0b << 16) + 0x098, "Recorder Tone" },
+ { NULL, (0x0b << 16) + 0x099, "Call Waiting Tone" },
+ { NULL, (0x0b << 16) + 0x09a, "Confirmation Tone 1" },
+ { NULL, (0x0b << 16) + 0x09b, "Confirmation Tone 2" },
+ { NULL, (0x0b << 16) + 0x09c, "Tones Off" },
+ { NULL, (0x0b << 16) + 0x09d, "Outside Ringback" },
+ { NULL, (0x0b << 16) + 0x0b0, "Key 1" },
+ { NULL, (0x0b << 16) + 0x0b1, "Key 2" },
+ { NULL, (0x0b << 16) + 0x0b3, "Key 3" },
+ { NULL, (0x0b << 16) + 0x0b4, "Key 4" },
+ { NULL, (0x0b << 16) + 0x0b5, "Key 5" },
+ { NULL, (0x0b << 16) + 0x0b6, "Key 6" },
+ { NULL, (0x0b << 16) + 0x0b7, "Key 7" },
+ { NULL, (0x0b << 16) + 0x0b8, "Key 8" },
+ { NULL, (0x0b << 16) + 0x0b9, "Key 9" },
+ { NULL, (0x0b << 16) + 0x0ba, "Key Star" },
+ { NULL, (0x0b << 16) + 0x0bb, "Key Pound" },
+ { NULL, (0x0b << 16) + 0x0bc, "Key A" },
+ { NULL, (0x0b << 16) + 0x0bd, "Key B" },
+ { NULL, (0x0b << 16) + 0x0be, "Key C" },
+ { NULL, (0x0b << 16) + 0x0bf, "Key D" },
+ { NULL, (0x0c << 16) + 0x000, "Unassigned" },
+ { NULL, (0x0c << 16) + 0x001, "Consumer Control" },
+ { NULL, (0x0c << 16) + 0x002, "Numeric Key Pad" },
+ { NULL, (0x0c << 16) + 0x003, "Programmable Buttons" },
+ { NULL, (0x0c << 16) + 0x020, "+10" },
+ { NULL, (0x0c << 16) + 0x021, "+100" },
+ { NULL, (0x0c << 16) + 0x022, "AM/PM" },
+ { NULL, (0x0c << 16) + 0x030, "Power" },
+ { NULL, (0x0c << 16) + 0x031, "Reset" },
+ { NULL, (0x0c << 16) + 0x032, "Sleep" },
+ { NULL, (0x0c << 16) + 0x033, "Sleep After" },
+ { NULL, (0x0c << 16) + 0x034, "Sleep Mode" },
+ { NULL, (0x0c << 16) + 0x035, "Illumination" },
+ { NULL, (0x0c << 16) + 0x036, "Function Buttons" },
+ { NULL, (0x0c << 16) + 0x040, "Menu" },
+ { NULL, (0x0c << 16) + 0x041, "Menu Pick" },
+ { NULL, (0x0c << 16) + 0x042, "Menu Up" },
+ { NULL, (0x0c << 16) + 0x043, "Menu Down" },
+ { NULL, (0x0c << 16) + 0x044, "Menu Left" },
+ { NULL, (0x0c << 16) + 0x045, "Menu Right" },
+ { NULL, (0x0c << 16) + 0x046, "Menu Escape" },
+ { NULL, (0x0c << 16) + 0x047, "Menu Value Increase" },
+ { NULL, (0x0c << 16) + 0x048, "Menu Value Decrease" },
+ { NULL, (0x0c << 16) + 0x060, "Data on Screen" },
+ { NULL, (0x0c << 16) + 0x061, "Closed Caption" },
+ { NULL, (0x0c << 16) + 0x062, "Closed Caption Select" },
+ { NULL, (0x0c << 16) + 0x063, "VCR/TV" },
+ { NULL, (0x0c << 16) + 0x064, "Broadcast Mode" },
+ { NULL, (0x0c << 16) + 0x065, "Snapshot" },
+ { NULL, (0x0c << 16) + 0x066, "Still" },
+ { NULL, (0x0c << 16) + 0x080, "Selection" },
+ { NULL, (0x0c << 16) + 0x081, "Assign Selection" },
+ { NULL, (0x0c << 16) + 0x082, "Mode Step" },
+ { NULL, (0x0c << 16) + 0x083, "Recall Last" },
+ { NULL, (0x0c << 16) + 0x084, "Enter Channel" },
+ { NULL, (0x0c << 16) + 0x085, "Order Movie" },
+ { NULL, (0x0c << 16) + 0x086, "Channel" },
+ { NULL, (0x0c << 16) + 0x087, "Media Selection" },
+ { NULL, (0x0c << 16) + 0x088, "Media Select Computer" },
+ { NULL, (0x0c << 16) + 0x089, "Media Select TV" },
+ { NULL, (0x0c << 16) + 0x08a, "Media Select WWW" },
+ { NULL, (0x0c << 16) + 0x08b, "Media Select DVD" },
+ { NULL, (0x0c << 16) + 0x08c, "Media Select Telephone" },
+ { NULL, (0x0c << 16) + 0x08d, "Media Select Program Guide" },
+ { NULL, (0x0c << 16) + 0x08e, "Media Select Video Phone" },
+ { NULL, (0x0c << 16) + 0x08f, "Media Select Games" },
+ { NULL, (0x0c << 16) + 0x090, "Media Select Messages" },
+ { NULL, (0x0c << 16) + 0x091, "Media Select CD" },
+ { NULL, (0x0c << 16) + 0x092, "Media Select VCR" },
+ { NULL, (0x0c << 16) + 0x093, "Media Select Tuner" },
+ { NULL, (0x0c << 16) + 0x094, "Quit" },
+ { NULL, (0x0c << 16) + 0x095, "Help" },
+ { NULL, (0x0c << 16) + 0x096, "Media Select Tape" },
+ { NULL, (0x0c << 16) + 0x097, "Media Select Cable" },
+ { NULL, (0x0c << 16) + 0x098, "Media Select Satellite" },
+ { NULL, (0x0c << 16) + 0x099, "Media Select Security" },
+ { NULL, (0x0c << 16) + 0x09a, "Media Select Home" },
+ { NULL, (0x0c << 16) + 0x09b, "Media Select Call" },
+ { NULL, (0x0c << 16) + 0x09c, "Channel Increment" },
+ { NULL, (0x0c << 16) + 0x09d, "Channel Decrement" },
+ { NULL, (0x0c << 16) + 0x09e, "Media Select SAP" },
+ { NULL, (0x0c << 16) + 0x0a0, "VCR Plus" },
+ { NULL, (0x0c << 16) + 0x0a1, "Once" },
+ { NULL, (0x0c << 16) + 0x0a2, "Daily" },
+ { NULL, (0x0c << 16) + 0x0a3, "Weekly" },
+ { NULL, (0x0c << 16) + 0x0a4, "Monthly" },
+ { NULL, (0x0c << 16) + 0x0b0, "Play" },
+ { NULL, (0x0c << 16) + 0x0b1, "Pause" },
+ { NULL, (0x0c << 16) + 0x0b2, "Record" },
+ { NULL, (0x0c << 16) + 0x0b3, "Fast Forward" },
+ { NULL, (0x0c << 16) + 0x0b4, "Rewind" },
+ { NULL, (0x0c << 16) + 0x0b5, "Scan Next Track" },
+ { NULL, (0x0c << 16) + 0x0b6, "Scan Previous Track" },
+ { NULL, (0x0c << 16) + 0x0b7, "Stop" },
+ { NULL, (0x0c << 16) + 0x0b8, "Eject" },
+ { NULL, (0x0c << 16) + 0x0b9, "Random Play" },
+ { NULL, (0x0c << 16) + 0x0ba, "Select Disc" },
+ { NULL, (0x0c << 16) + 0x0bb, "Enter Disc" },
+ { NULL, (0x0c << 16) + 0x0bc, "Repeat" },
+ { NULL, (0x0c << 16) + 0x0bd, "Tracking" },
+ { NULL, (0x0c << 16) + 0x0be, "Track Normal" },
+ { NULL, (0x0c << 16) + 0x0bf, "Slow Tracking" },
+ { NULL, (0x0c << 16) + 0x0c0, "Frame Forward" },
+ { NULL, (0x0c << 16) + 0x0c1, "Frame Back" },
+ { NULL, (0x0c << 16) + 0x0c2, "Mark" },
+ { NULL, (0x0c << 16) + 0x0c3, "Clear Mark" },
+ { NULL, (0x0c << 16) + 0x0c4, "Repeat from Mark" },
+ { NULL, (0x0c << 16) + 0x0c5, "Return to Mark" },
+ { NULL, (0x0c << 16) + 0x0c6, "Search Mark Forward" },
+ { NULL, (0x0c << 16) + 0x0c7, "Search Mark Backward" },
+ { NULL, (0x0c << 16) + 0x0c8, "Counter Reset" },
+ { NULL, (0x0c << 16) + 0x0c9, "Show Counter" },
+ { NULL, (0x0c << 16) + 0x0ca, "Tracking Increment" },
+ { NULL, (0x0c << 16) + 0x0cb, "Tracking Decrement" },
+ { NULL, (0x0c << 16) + 0x0cc, "Stop/Eject" },
+ { NULL, (0x0c << 16) + 0x0cd, "Play/Pause" },
+ { NULL, (0x0c << 16) + 0x0ce, "Play/Skip" },
+ { NULL, (0x0c << 16) + 0x0e0, "Volume" },
+ { NULL, (0x0c << 16) + 0x0e1, "Balance" },
+ { NULL, (0x0c << 16) + 0x0e2, "Mute" },
+ { NULL, (0x0c << 16) + 0x0e3, "Bass" },
+ { NULL, (0x0c << 16) + 0x0e4, "Treble" },
+ { NULL, (0x0c << 16) + 0x0e5, "Bass Boost" },
+ { NULL, (0x0c << 16) + 0x0e6, "Surround Mode" },
+ { NULL, (0x0c << 16) + 0x0e7, "Loudness" },
+ { NULL, (0x0c << 16) + 0x0e8, "MPX" },
+ { NULL, (0x0c << 16) + 0x0e9, "Volume Increment" },
+ { NULL, (0x0c << 16) + 0x0ea, "Volume Decrement" },
+ { NULL, (0x0c << 16) + 0x0f0, "Speed Select" },
+ { NULL, (0x0c << 16) + 0x0f1, "Playback Speed" },
+ { NULL, (0x0c << 16) + 0x0f2, "Standard Play" },
+ { NULL, (0x0c << 16) + 0x0f3, "Long Play" },
+ { NULL, (0x0c << 16) + 0x0f4, "Extended Play" },
+ { NULL, (0x0c << 16) + 0x0f5, "Slow" },
+ { NULL, (0x0c << 16) + 0x100, "Fan Enable" },
+ { NULL, (0x0c << 16) + 0x101, "Fan Speed" },
+ { NULL, (0x0c << 16) + 0x102, "Light Enable" },
+ { NULL, (0x0c << 16) + 0x103, "Light Illumination Level" },
+ { NULL, (0x0c << 16) + 0x104, "Climate Control Enable" },
+ { NULL, (0x0c << 16) + 0x105, "Room Temperature" },
+ { NULL, (0x0c << 16) + 0x106, "Security Enable" },
+ { NULL, (0x0c << 16) + 0x107, "Fire Alarm" },
+ { NULL, (0x0c << 16) + 0x108, "Police Alarm" },
+ { NULL, (0x0c << 16) + 0x150, "Balance Right" },
+ { NULL, (0x0c << 16) + 0x151, "Balance Left" },
+ { NULL, (0x0c << 16) + 0x152, "Bass Increment" },
+ { NULL, (0x0c << 16) + 0x153, "Bass Decrement" },
+ { NULL, (0x0c << 16) + 0x154, "Treble Increment" },
+ { NULL, (0x0c << 16) + 0x155, "Treble Decrement" },
+ { NULL, (0x0c << 16) + 0x160, "Speaker System" },
+ { NULL, (0x0c << 16) + 0x161, "Channel Left" },
+ { NULL, (0x0c << 16) + 0x162, "Channel Right" },
+ { NULL, (0x0c << 16) + 0x163, "Channel Center" },
+ { NULL, (0x0c << 16) + 0x164, "Channel Front" },
+ { NULL, (0x0c << 16) + 0x165, "Channel Center Front" },
+ { NULL, (0x0c << 16) + 0x166, "Channel Side" },
+ { NULL, (0x0c << 16) + 0x167, "Channel Surround" },
+ { NULL, (0x0c << 16) + 0x168, "Channel Low Frequency Enhancement" },
+ { NULL, (0x0c << 16) + 0x169, "Channel Top" },
+ { NULL, (0x0c << 16) + 0x16a, "Channel Unknown" },
+ { NULL, (0x0c << 16) + 0x170, "Sub-Channel" },
+ { NULL, (0x0c << 16) + 0x171, "Sub-Channel Increment" },
+ { NULL, (0x0c << 16) + 0x172, "Sub-Channel Decrement" },
+ { NULL, (0x0c << 16) + 0x173, "Alternative Audio Increment" },
+ { NULL, (0x0c << 16) + 0x174, "Alternative Audio Decrement" },
+ { NULL, (0x0c << 16) + 0x180, "Application Launch Buttons" },
+ { NULL, (0x0c << 16) + 0x181, "AL Launch Button Configuration Tool" },
+ { NULL, (0x0c << 16) + 0x182, "AL Launch Button Configuration" },
+ { NULL, (0x0c << 16) + 0x183, "AL Consumer Control Configuration" },
+ { NULL, (0x0c << 16) + 0x184, "AL Word Processor" },
+ { NULL, (0x0c << 16) + 0x185, "AL Text Editor" },
+ { NULL, (0x0c << 16) + 0x186, "AL Spreadsheet" },
+ { NULL, (0x0c << 16) + 0x187, "AL Graphics Editor" },
+ { NULL, (0x0c << 16) + 0x188, "AL Presentation App" },
+ { NULL, (0x0c << 16) + 0x189, "AL Database App" },
+ { NULL, (0x0c << 16) + 0x18a, "AL Email Reader" },
+ { NULL, (0x0c << 16) + 0x18b, "AL Newsreader" },
+ { NULL, (0x0c << 16) + 0x18c, "AL Voicemail" },
+ { NULL, (0x0c << 16) + 0x18d, "AL Contacts/Address Book" },
+ { NULL, (0x0c << 16) + 0x18e, "AL Calendar/Schedule" },
+ { NULL, (0x0c << 16) + 0x18f, "AL Task/Project Manager" },
+ { NULL, (0x0c << 16) + 0x190, "AL Log/Jounal/Timecard" },
+ { NULL, (0x0c << 16) + 0x191, "AL Checkbook/Finance" },
+ { NULL, (0x0c << 16) + 0x192, "AL Calculator" },
+ { NULL, (0x0c << 16) + 0x193, "AL A/V Capture/Playback" },
+ { NULL, (0x0c << 16) + 0x194, "AL Local Machine Browser" },
+ { NULL, (0x0c << 16) + 0x195, "AL LAN/Wan Browser" },
+ { NULL, (0x0c << 16) + 0x196, "AL Internet Browser" },
+ { NULL, (0x0c << 16) + 0x197, "AL Remote Networking/ISP Connect" },
+ { NULL, (0x0c << 16) + 0x198, "AL Network Conference" },
+ { NULL, (0x0c << 16) + 0x199, "AL Network Chat" },
+ { NULL, (0x0c << 16) + 0x19a, "AL Telephony/Dialer" },
+ { NULL, (0x0c << 16) + 0x19b, "AL Logon" },
+ { NULL, (0x0c << 16) + 0x19c, "AL Logoff" },
+ { NULL, (0x0c << 16) + 0x19d, "AL Logon/Logoff" },
+ { NULL, (0x0c << 16) + 0x19e, "AL Terminal Local/Screensaver" },
+ { NULL, (0x0c << 16) + 0x19f, "AL Control Panel" },
+ { NULL, (0x0c << 16) + 0x1a0, "AL Command Line Processor/Run" },
+ { NULL, (0x0c << 16) + 0x1a1, "AL Process/Task Manager" },
+ { NULL, (0x0c << 16) + 0x1a2, "AL Select Task/Application" },
+ { NULL, (0x0c << 16) + 0x1a3, "AL Next Task/Application" },
+ { NULL, (0x0c << 16) + 0x1a4, "AL Previous Task/Application" },
+ { NULL, (0x0c << 16) + 0x1a5, "AL Preemptive Halt Task/Application" },
+ { NULL, (0x0c << 16) + 0x200, "Generic GUI Application Controls" },
+ { NULL, (0x0c << 16) + 0x201, "AC New" },
+ { NULL, (0x0c << 16) + 0x202, "AC Open" },
+ { NULL, (0x0c << 16) + 0x203, "AC CLose" },
+ { NULL, (0x0c << 16) + 0x204, "AC Exit" },
+ { NULL, (0x0c << 16) + 0x205, "AC Maximize" },
+ { NULL, (0x0c << 16) + 0x206, "AC Minimize" },
+ { NULL, (0x0c << 16) + 0x207, "AC Save" },
+ { NULL, (0x0c << 16) + 0x208, "AC Print" },
+ { NULL, (0x0c << 16) + 0x209, "AC Properties" },
+ { NULL, (0x0c << 16) + 0x21a, "AC Undo" },
+ { NULL, (0x0c << 16) + 0x21b, "AC Copy" },
+ { NULL, (0x0c << 16) + 0x21c, "AC Cut" },
+ { NULL, (0x0c << 16) + 0x21d, "AC Paste" },
+ { NULL, (0x0c << 16) + 0x21e, "AC Select All" },
+ { NULL, (0x0c << 16) + 0x21f, "AC Find" },
+ { NULL, (0x0c << 16) + 0x220, "AC Find and Replace" },
+ { NULL, (0x0c << 16) + 0x221, "AC Search" },
+ { NULL, (0x0c << 16) + 0x222, "AC Go To" },
+ { NULL, (0x0c << 16) + 0x223, "AC Home" },
+ { NULL, (0x0c << 16) + 0x224, "AC Back" },
+ { NULL, (0x0c << 16) + 0x225, "AC Forward" },
+ { NULL, (0x0c << 16) + 0x226, "AC Stop" },
+ { NULL, (0x0c << 16) + 0x227, "AC Refresh" },
+ { NULL, (0x0c << 16) + 0x228, "AC Previous Link" },
+ { NULL, (0x0c << 16) + 0x229, "AC Next Link" },
+ { NULL, (0x0c << 16) + 0x22b, "AC History" },
+ { NULL, (0x0c << 16) + 0x22c, "AC Subscriptions" },
+ { NULL, (0x0c << 16) + 0x22d, "AC Zoom In" },
+ { NULL, (0x0c << 16) + 0x22e, "AC Zoom Out" },
+ { NULL, (0x0c << 16) + 0x22f, "AC Zoom" },
+ { NULL, (0x0c << 16) + 0x230, "AC Full Screen View" },
+ { NULL, (0x0c << 16) + 0x231, "AC Normal View" },
+ { NULL, (0x0c << 16) + 0x232, "AC View Toggle" },
+ { NULL, (0x0c << 16) + 0x233, "AC Scroll Up" },
+ { NULL, (0x0c << 16) + 0x234, "AC Scroll Down" },
+ { NULL, (0x0c << 16) + 0x235, "AC Scroll" },
+ { NULL, (0x0c << 16) + 0x236, "AC Pan Left" },
+ { NULL, (0x0c << 16) + 0x237, "AC Pan Right" },
+ { NULL, (0x0c << 16) + 0x238, "AC Pan" },
+ { NULL, (0x0c << 16) + 0x239, "AC New Window" },
+ { NULL, (0x0c << 16) + 0x23a, "AC Tile Horizontally" },
+ { NULL, (0x0c << 16) + 0x23b, "AC Tile Vertically" },
+ { NULL, (0x0c << 16) + 0x23c, "AC Format" },
+ { NULL, (0x0d << 16) + 0x000, "Undefined" },
+ { NULL, (0x0d << 16) + 0x001, "Digitizer" },
+ { NULL, (0x0d << 16) + 0x002, "Pen" },
+ { NULL, (0x0d << 16) + 0x003, "Light Pen" },
+ { NULL, (0x0d << 16) + 0x004, "Touch Screen" },
+ { NULL, (0x0d << 16) + 0x005, "Touch Pad" },
+ { NULL, (0x0d << 16) + 0x006, "White Board" },
+ { NULL, (0x0d << 16) + 0x007, "Coordinate Measuring Machine" },
+ { NULL, (0x0d << 16) + 0x008, "3D Digitizer" },
+ { NULL, (0x0d << 16) + 0x009, "Stereo Plotter" },
+ { NULL, (0x0d << 16) + 0x00a, "Articulated Arm" },
+ { NULL, (0x0d << 16) + 0x00b, "Armature" },
+ { NULL, (0x0d << 16) + 0x00c, "Multiple Point Digitizer" },
+ { NULL, (0x0d << 16) + 0x00d, "Free Space Wand" },
+ { NULL, (0x0d << 16) + 0x020, "Stylus" },
+ { NULL, (0x0d << 16) + 0x021, "Puck" },
+ { NULL, (0x0d << 16) + 0x022, "Finger" },
+ { NULL, (0x0d << 16) + 0x030, "Tip Pressure" },
+ { NULL, (0x0d << 16) + 0x031, "Barrel Pressure" },
+ { NULL, (0x0d << 16) + 0x032, "In Range" },
+ { NULL, (0x0d << 16) + 0x033, "Touch" },
+ { NULL, (0x0d << 16) + 0x034, "Untouch" },
+ { NULL, (0x0d << 16) + 0x035, "Tap" },
+ { NULL, (0x0d << 16) + 0x036, "Quality" },
+ { NULL, (0x0d << 16) + 0x037, "Data Valid" },
+ { NULL, (0x0d << 16) + 0x038, "Transducer Index" },
+ { NULL, (0x0d << 16) + 0x039, "Tablet Function Keys" },
+ { NULL, (0x0d << 16) + 0x03a, "Program Change Keys" },
+ { NULL, (0x0d << 16) + 0x03b, "Battery Strength" },
+ { NULL, (0x0d << 16) + 0x03c, "Invert" },
+ { NULL, (0x0d << 16) + 0x03d, "X Tilt" },
+ { NULL, (0x0d << 16) + 0x03e, "Y Tilt" },
+ { NULL, (0x0d << 16) + 0x03f, "Azimuth" },
+ { NULL, (0x0d << 16) + 0x040, "Altitude" },
+ { NULL, (0x0d << 16) + 0x041, "Twist" },
+ { NULL, (0x0d << 16) + 0x042, "Tip Switch" },
+ { NULL, (0x0d << 16) + 0x043, "Secondary Tip Switch" },
+ { NULL, (0x0d << 16) + 0x044, "Barrel Switch" },
+ { NULL, (0x0d << 16) + 0x045, "Eraser" },
+ { NULL, (0x0d << 16) + 0x046, "Tablet Pick" },
+ { NULL, (0x0d << 16) + 0x047, "Confidence" },
+ { NULL, (0x0d << 16) + 0x048, "Width" },
+ { NULL, (0x0d << 16) + 0x049, "Height" },
+ { NULL, (0x0d << 16) + 0x051, "Contact ID" },
+ { NULL, (0x0d << 16) + 0x052, "Input Mode" },
+ { NULL, (0x0d << 16) + 0x053, "Device Index" },
+ { NULL, (0x0d << 16) + 0x054, "Contact Count" },
+ { NULL, (0x0d << 16) + 0x055, "Maximum Contact Number" },
+ { NULL, (0x0f << 16) + 0x000, "Undefined" },
+ { NULL, (0x0f << 16) + 0x001, "Physical Interface Device" },
+ { NULL, (0x0f << 16) + 0x020, "Normal" },
+ { NULL, (0x0f << 16) + 0x021, "Set Effect Report" },
+ { NULL, (0x0f << 16) + 0x022, "Effect Block Index" },
+ { NULL, (0x0f << 16) + 0x023, "Parameter Block Offset" },
+ { NULL, (0x0f << 16) + 0x024, "ROM Flag" },
+ { NULL, (0x0f << 16) + 0x025, "Effect Type" },
+ { NULL, (0x0f << 16) + 0x026, "ET Constant Force" },
+ { NULL, (0x0f << 16) + 0x027, "ET Ramp" },
+ { NULL, (0x0f << 16) + 0x028, "ET Custom Force Data" },
+ { NULL, (0x0f << 16) + 0x030, "ET Square" },
+ { NULL, (0x0f << 16) + 0x031, "ET Sine" },
+ { NULL, (0x0f << 16) + 0x032, "ET Triangle" },
+ { NULL, (0x0f << 16) + 0x033, "ET Sawtooth Up" },
+ { NULL, (0x0f << 16) + 0x034, "ET Sawtooth Down" },
+ { NULL, (0x0f << 16) + 0x040, "ET Spring" },
+ { NULL, (0x0f << 16) + 0x041, "ET Damper" },
+ { NULL, (0x0f << 16) + 0x042, "ET Inertia" },
+ { NULL, (0x0f << 16) + 0x043, "ET Friction" },
+ { NULL, (0x0f << 16) + 0x050, "Duration" },
+ { NULL, (0x0f << 16) + 0x051, "Sample Period" },
+ { NULL, (0x0f << 16) + 0x052, "Gain" },
+ { NULL, (0x0f << 16) + 0x053, "Trigger Button" },
+ { NULL, (0x0f << 16) + 0x054, "Trigger Repeat Interval" },
+ { NULL, (0x0f << 16) + 0x055, "Axes Enable" },
+ { NULL, (0x0f << 16) + 0x056, "Direction Enable" },
+ { NULL, (0x0f << 16) + 0x057, "Direction" },
+ { NULL, (0x0f << 16) + 0x058, "Type Specific Block Offset" },
+ { NULL, (0x0f << 16) + 0x059, "Block Type" },
+ { NULL, (0x0f << 16) + 0x05A, "Set Envelope Report" },
+ { NULL, (0x0f << 16) + 0x05B, "Attack Level" },
+ { NULL, (0x0f << 16) + 0x05C, "Attack Time" },
+ { NULL, (0x0f << 16) + 0x05D, "Fade Level" },
+ { NULL, (0x0f << 16) + 0x05E, "Fade Time" },
+ { NULL, (0x0f << 16) + 0x05F, "Set Condition Report" },
+ { NULL, (0x0f << 16) + 0x060, "CP Offset" },
+ { NULL, (0x0f << 16) + 0x061, "Positive Coefficient" },
+ { NULL, (0x0f << 16) + 0x062, "Negative Coefficient" },
+ { NULL, (0x0f << 16) + 0x063, "Positive Saturation" },
+ { NULL, (0x0f << 16) + 0x064, "Negative Saturation" },
+ { NULL, (0x0f << 16) + 0x065, "Dead Band" },
+ { NULL, (0x0f << 16) + 0x066, "Download Force Sample" },
+ { NULL, (0x0f << 16) + 0x067, "Isoch Custom Force Enable" },
+ { NULL, (0x0f << 16) + 0x068, "Custom Force Data Report" },
+ { NULL, (0x0f << 16) + 0x069, "Custom Force Data" },
+ { NULL, (0x0f << 16) + 0x06A, "Custom Force Vendor Defined Data" },
+ { NULL, (0x0f << 16) + 0x06B, "Set Custom Force Report" },
+ { NULL, (0x0f << 16) + 0x06C, "Custom Force Data Offset" },
+ { NULL, (0x0f << 16) + 0x06D, "Sample Count" },
+ { NULL, (0x0f << 16) + 0x06E, "Set Periodic Report" },
+ { NULL, (0x0f << 16) + 0x06F, "Offset" },
+ { NULL, (0x0f << 16) + 0x070, "Magnitude" },
+ { NULL, (0x0f << 16) + 0x071, "Phase" },
+ { NULL, (0x0f << 16) + 0x072, "Period" },
+ { NULL, (0x0f << 16) + 0x073, "Set Constant Force Report" },
+ { NULL, (0x0f << 16) + 0x074, "Set Ramp Force Report" },
+ { NULL, (0x0f << 16) + 0x075, "Ramp Start" },
+ { NULL, (0x0f << 16) + 0x076, "Ramp End" },
+ { NULL, (0x0f << 16) + 0x077, "Effect Operation Report" },
+ { NULL, (0x0f << 16) + 0x078, "Effect Operation" },
+ { NULL, (0x0f << 16) + 0x079, "Op Effect Start" },
+ { NULL, (0x0f << 16) + 0x07A, "Op Effect Start Solo" },
+ { NULL, (0x0f << 16) + 0x07B, "Op Effect Stop" },
+ { NULL, (0x0f << 16) + 0x07C, "Loop Count" },
+ { NULL, (0x0f << 16) + 0x07D, "Device Gain Report" },
+ { NULL, (0x0f << 16) + 0x07E, "Device Gain" },
+ { NULL, (0x0f << 16) + 0x07F, "PID Pool Report" },
+ { NULL, (0x0f << 16) + 0x080, "RAM Pool Size" },
+ { NULL, (0x0f << 16) + 0x081, "ROM Pool Size" },
+ { NULL, (0x0f << 16) + 0x082, "ROM Effect Block Count" },
+ { NULL, (0x0f << 16) + 0x083, "Simultaneous Effects Max" },
+ { NULL, (0x0f << 16) + 0x084, "Pool Alignment" },
+ { NULL, (0x0f << 16) + 0x085, "PID Pool Move Report" },
+ { NULL, (0x0f << 16) + 0x086, "Move Source" },
+ { NULL, (0x0f << 16) + 0x087, "Move Destination" },
+ { NULL, (0x0f << 16) + 0x088, "Move Length" },
+ { NULL, (0x0f << 16) + 0x089, "PID Block Load Report" },
+ { NULL, (0x0f << 16) + 0x08B, "Block Load Status" },
+ { NULL, (0x0f << 16) + 0x08C, "Block Load Success" },
+ { NULL, (0x0f << 16) + 0x08D, "Block Load Full" },
+ { NULL, (0x0f << 16) + 0x08E, "Block Load Error" },
+ { NULL, (0x0f << 16) + 0x08F, "Block Handle" },
+ { NULL, (0x0f << 16) + 0x090, "PID Block Free Report" },
+ { NULL, (0x0f << 16) + 0x091, "Type Specific Block Handle" },
+ { NULL, (0x0f << 16) + 0x092, "PID State Report" },
+ { NULL, (0x0f << 16) + 0x094, "Effect Playing" },
+ { NULL, (0x0f << 16) + 0x095, "PID Device Control Report" },
+ { NULL, (0x0f << 16) + 0x096, "PID Device Control" },
+ { NULL, (0x0f << 16) + 0x097, "DC Enable Actuators" },
+ { NULL, (0x0f << 16) + 0x098, "DC Disable Actuators" },
+ { NULL, (0x0f << 16) + 0x099, "DC Stop All Effects" },
+ { NULL, (0x0f << 16) + 0x09A, "DC Device Reset" },
+ { NULL, (0x0f << 16) + 0x09B, "DC Device Pause" },
+ { NULL, (0x0f << 16) + 0x09C, "DC Device Continue" },
+ { NULL, (0x0f << 16) + 0x09F, "Device Paused" },
+ { NULL, (0x0f << 16) + 0x0A0, "Actuators Enabled" },
+ { NULL, (0x0f << 16) + 0x0A4, "Safety Switch" },
+ { NULL, (0x0f << 16) + 0x0A5, "Actuator Override Switch" },
+ { NULL, (0x0f << 16) + 0x0A6, "Actuator Power" },
+ { NULL, (0x0f << 16) + 0x0A7, "Start Delay" },
+ { NULL, (0x0f << 16) + 0x0A8, "Parameter Block Size" },
+ { NULL, (0x0f << 16) + 0x0A9, "Device Managed Pool" },
+ { NULL, (0x0f << 16) + 0x0AA, "Shared Parameter Blocks" },
+ { NULL, (0x0f << 16) + 0x0AB, "Create New Effect Report" },
+ { NULL, (0x0f << 16) + 0x0AC, "RAM Pool Available" },
+ { NULL, (0x14 << 16) + 0x000, "Undefined" },
+ { NULL, (0x14 << 16) + 0x001, "Alphanumeric Display" },
+ { NULL, (0x14 << 16) + 0x020, "Display Attributes Report" },
+ { NULL, (0x14 << 16) + 0x021, "ASCII Character Set" },
+ { NULL, (0x14 << 16) + 0x022, "Data Read Back" },
+ { NULL, (0x14 << 16) + 0x023, "Font Read Back" },
+ { NULL, (0x14 << 16) + 0x024, "Display Control Report" },
+ { NULL, (0x14 << 16) + 0x025, "Clear Display" },
+ { NULL, (0x14 << 16) + 0x026, "Display Enable" },
+ { NULL, (0x14 << 16) + 0x027, "Screen Saver Delay" },
+ { NULL, (0x14 << 16) + 0x028, "Screen Saver Enable" },
+ { NULL, (0x14 << 16) + 0x029, "Vertical Scroll" },
+ { NULL, (0x14 << 16) + 0x02a, "Horizontal Scroll" },
+ { NULL, (0x14 << 16) + 0x02b, "Character Report" },
+ { NULL, (0x14 << 16) + 0x02c, "Display Data" },
+ { NULL, (0x14 << 16) + 0x02d, "Display Status" },
+ { NULL, (0x14 << 16) + 0x02e, "Stat Not Ready" },
+ { NULL, (0x14 << 16) + 0x02f, "Stat Ready" },
+ { NULL, (0x14 << 16) + 0x030, "Err Not a loadable Character" },
+ { NULL, (0x14 << 16) + 0x031, "Err Font Data Cannot Be Read" },
+ { NULL, (0x14 << 16) + 0x032, "Cursur Position Report" },
+ { NULL, (0x14 << 16) + 0x033, "Row" },
+ { NULL, (0x14 << 16) + 0x034, "Column" },
+ { NULL, (0x14 << 16) + 0x035, "Rows" },
+ { NULL, (0x14 << 16) + 0x036, "Columns" },
+ { NULL, (0x14 << 16) + 0x037, "Cursor Pixel Positioning" },
+ { NULL, (0x14 << 16) + 0x038, "Cursor Mode" },
+ { NULL, (0x14 << 16) + 0x039, "Cursor Enable" },
+ { NULL, (0x14 << 16) + 0x03a, "Cursor Blink" },
+ { NULL, (0x14 << 16) + 0x03b, "Font Report" },
+ { NULL, (0x14 << 16) + 0x03c, "Font Data" },
+ { NULL, (0x14 << 16) + 0x03d, "Character Width" },
+ { NULL, (0x14 << 16) + 0x03e, "Character Height" },
+ { NULL, (0x14 << 16) + 0x03f, "Character Spacing Horizontal" },
+ { NULL, (0x14 << 16) + 0x040, "Character Spacing Vertical" },
+ { NULL, (0x14 << 16) + 0x041, "Unicode Character Set" },
+ { NULL, (0x80 << 16) + 0x001, "Monitor Control" },
+ { NULL, (0x80 << 16) + 0x002, "EDID Information" },
+ { NULL, (0x80 << 16) + 0x003, "VDIF Information" },
+ { NULL, (0x80 << 16) + 0x004, "VESA Version" },
+ { NULL, (0x82 << 16) + 0x001, "Degauss" },
+ { NULL, (0x82 << 16) + 0x010, "Brightness" },
+ { NULL, (0x82 << 16) + 0x012, "Contrast" },
+ { NULL, (0x82 << 16) + 0x016, "Red Video Gain" },
+ { NULL, (0x82 << 16) + 0x018, "Green Video Gain" },
+ { NULL, (0x82 << 16) + 0x01a, "Blue Video Gain" },
+ { NULL, (0x82 << 16) + 0x01c, "Focus" },
+ { NULL, (0x82 << 16) + 0x020, "Horizontal Position" },
+ { NULL, (0x82 << 16) + 0x022, "Horizontal Size" },
+ { NULL, (0x82 << 16) + 0x024, "Horizontal Pincushion" },
+ { NULL, (0x82 << 16) + 0x026, "Horizontal Pincushion Balance" },
+ { NULL, (0x82 << 16) + 0x028, "Horizontal Misconvergence" },
+ { NULL, (0x82 << 16) + 0x02a, "Horizontal Linearity" },
+ { NULL, (0x82 << 16) + 0x02c, "Horizontal Linearity Balance" },
+ { NULL, (0x82 << 16) + 0x030, "Vertical Position" },
+ { NULL, (0x82 << 16) + 0x032, "Vertical Size" },
+ { NULL, (0x82 << 16) + 0x034, "Vertical Pincushion" },
+ { NULL, (0x82 << 16) + 0x036, "Vertical Pincushion Balance" },
+ { NULL, (0x82 << 16) + 0x038, "Vertical Misconvergence" },
+ { NULL, (0x82 << 16) + 0x03a, "Vertical Linearity" },
+ { NULL, (0x82 << 16) + 0x03c, "Vertical Linearity Balance" },
+ { NULL, (0x82 << 16) + 0x040, "Parallelogram Balance (Key Distortion)" },
+ { NULL, (0x82 << 16) + 0x042, "Trapezoidal Distortion (Key)" },
+ { NULL, (0x82 << 16) + 0x044, "Tilt (Rotation)" },
+ { NULL, (0x82 << 16) + 0x046, "Top Corner Distortion Control" },
+ { NULL, (0x82 << 16) + 0x048, "Top Corner Distortion Balance" },
+ { NULL, (0x82 << 16) + 0x04a, "Bottom Corner Distortion Control" },
+ { NULL, (0x82 << 16) + 0x04c, "Bottom Corner Distortion Balance" },
+ { NULL, (0x82 << 16) + 0x056, "Horizontal Moire" },
+ { NULL, (0x82 << 16) + 0x058, "Vertical Moire" },
+ { NULL, (0x82 << 16) + 0x05e, "Input Level Select" },
+ { NULL, (0x82 << 16) + 0x060, "Input Source Select" },
+ { NULL, (0x82 << 16) + 0x06c, "Red Video Black Level" },
+ { NULL, (0x82 << 16) + 0x06e, "Green Video Black Level" },
+ { NULL, (0x82 << 16) + 0x070, "Blue Video Black Level" },
+ { NULL, (0x82 << 16) + 0x0a2, "Auto Size Center" },
+ { NULL, (0x82 << 16) + 0x0a4, "Polarity Horizontal Sychronization" },
+ { NULL, (0x82 << 16) + 0x0a6, "Polarity Vertical Synchronization" },
+ { NULL, (0x82 << 16) + 0x0aa, "Screen Orientation" },
+ { NULL, (0x82 << 16) + 0x0ac, "Horizontal Frequency in Hz" },
+ { NULL, (0x82 << 16) + 0x0ae, "Vertical Frequency in 0.1 Hz" },
+ { NULL, (0x82 << 16) + 0x0b0, "Settings" },
+ { NULL, (0x82 << 16) + 0x0ca, "On Screen Display (OSD)" },
+ { NULL, (0x82 << 16) + 0x0d4, "Stereo Mode" },
+ { NULL, (0x84 << 16) + 0x000, "Undefined" },
+ { NULL, (0x84 << 16) + 0x001, "iName" },
+ { NULL, (0x84 << 16) + 0x002, "Present Status" },
+ { NULL, (0x84 << 16) + 0x003, "Changed Status" },
+ { NULL, (0x84 << 16) + 0x004, "UPS" },
+ { NULL, (0x84 << 16) + 0x005, "Power Supply" },
+ { NULL, (0x84 << 16) + 0x010, "Battery System" },
+ { NULL, (0x84 << 16) + 0x011, "Battery System ID" },
+ { NULL, (0x84 << 16) + 0x012, "Battery" },
+ { NULL, (0x84 << 16) + 0x013, "Battery ID" },
+ { NULL, (0x84 << 16) + 0x014, "Charger" },
+ { NULL, (0x84 << 16) + 0x015, "Charger ID" },
+ { NULL, (0x84 << 16) + 0x016, "Power Converter" },
+ { NULL, (0x84 << 16) + 0x017, "Power Converter ID" },
+ { NULL, (0x84 << 16) + 0x018, "Outlet System" },
+ { NULL, (0x84 << 16) + 0x019, "Outlet System ID" },
+ { NULL, (0x84 << 16) + 0x01a, "Input" },
+ { NULL, (0x84 << 16) + 0x01b, "Input ID" },
+ { NULL, (0x84 << 16) + 0x01c, "Output" },
+ { NULL, (0x84 << 16) + 0x01d, "Output ID" },
+ { NULL, (0x84 << 16) + 0x01e, "Flow" },
+ { NULL, (0x84 << 16) + 0x01f, "Flow ID" },
+ { NULL, (0x84 << 16) + 0x020, "Outlet" },
+ { NULL, (0x84 << 16) + 0x021, "Outlet ID" },
+ { NULL, (0x84 << 16) + 0x022, "Gang" },
+ { NULL, (0x84 << 16) + 0x023, "Gang ID" },
+ { NULL, (0x84 << 16) + 0x024, "Power Summary" },
+ { NULL, (0x84 << 16) + 0x025, "Power Summary ID" },
+ { NULL, (0x84 << 16) + 0x030, "Voltage" },
+ { NULL, (0x84 << 16) + 0x031, "Current" },
+ { NULL, (0x84 << 16) + 0x032, "Frequency" },
+ { NULL, (0x84 << 16) + 0x033, "Apparent Power" },
+ { NULL, (0x84 << 16) + 0x034, "Active Power" },
+ { NULL, (0x84 << 16) + 0x035, "Percent Load" },
+ { NULL, (0x84 << 16) + 0x036, "Temperature" },
+ { NULL, (0x84 << 16) + 0x037, "Humidity" },
+ { NULL, (0x84 << 16) + 0x038, "Bad Count" },
+ { NULL, (0x84 << 16) + 0x040, "Config Voltage" },
+ { NULL, (0x84 << 16) + 0x041, "Config Current" },
+ { NULL, (0x84 << 16) + 0x042, "Config Frequency" },
+ { NULL, (0x84 << 16) + 0x043, "Config Apparent Power" },
+ { NULL, (0x84 << 16) + 0x044, "Config Active Power" },
+ { NULL, (0x84 << 16) + 0x045, "Config Percent Load" },
+ { NULL, (0x84 << 16) + 0x046, "Config Temperature" },
+ { NULL, (0x84 << 16) + 0x047, "Config Humidity" },
+ { NULL, (0x84 << 16) + 0x050, "Switch On Control" },
+ { NULL, (0x84 << 16) + 0x051, "Switch Off Control" },
+ { NULL, (0x84 << 16) + 0x052, "Toggle Control" },
+ { NULL, (0x84 << 16) + 0x053, "Low Voltage Transfer" },
+ { NULL, (0x84 << 16) + 0x054, "High Voltage Transfer" },
+ { NULL, (0x84 << 16) + 0x055, "Delay Before Reboot" },
+ { NULL, (0x84 << 16) + 0x056, "Delay Before Startup" },
+ { NULL, (0x84 << 16) + 0x057, "Delay Before Shutdown" },
+ { NULL, (0x84 << 16) + 0x058, "Test" },
+ { NULL, (0x84 << 16) + 0x059, "Module Reset" },
+ { NULL, (0x84 << 16) + 0x05a, "Audible Alarm Control" },
+ { NULL, (0x84 << 16) + 0x060, "Present" },
+ { NULL, (0x84 << 16) + 0x061, "Good" },
+ { NULL, (0x84 << 16) + 0x062, "Internal Failure" },
+ { NULL, (0x84 << 16) + 0x063, "Voltage out of range" },
+ { NULL, (0x84 << 16) + 0x064, "Frequency out of range" },
+ { NULL, (0x84 << 16) + 0x065, "Overload" },
+ { NULL, (0x84 << 16) + 0x066, "Over Charged" },
+ { NULL, (0x84 << 16) + 0x067, "Over Temperature" },
+ { NULL, (0x84 << 16) + 0x068, "Shutdown Requested" },
+ { NULL, (0x84 << 16) + 0x069, "Shutdown Imminent" },
+ { NULL, (0x84 << 16) + 0x06a, "Reserved" },
+ { NULL, (0x84 << 16) + 0x06b, "Switch On/Off" },
+ { NULL, (0x84 << 16) + 0x06c, "Switchable" },
+ { NULL, (0x84 << 16) + 0x06d, "Used" },
+ { NULL, (0x84 << 16) + 0x06e, "Boost" },
+ { NULL, (0x84 << 16) + 0x06f, "Buck" },
+ { NULL, (0x84 << 16) + 0x070, "Initialized" },
+ { NULL, (0x84 << 16) + 0x071, "Tested" },
+ { NULL, (0x84 << 16) + 0x072, "Awaiting Power" },
+ { NULL, (0x84 << 16) + 0x073, "Communication Lost" },
+ { NULL, (0x84 << 16) + 0x0fd, "iManufacturer" },
+ { NULL, (0x84 << 16) + 0x0fe, "iProduct" },
+ { NULL, (0x84 << 16) + 0x0ff, "iSerialNumber" },
+ { NULL, (0x85 << 16) + 0x000, "Undefined" },
+ { NULL, (0x85 << 16) + 0x001, "SMB Battery Mode" },
+ { NULL, (0x85 << 16) + 0x002, "SMB Battery Status" },
+ { NULL, (0x85 << 16) + 0x003, "SMB Alarm Warning" },
+ { NULL, (0x85 << 16) + 0x004, "SMB Charger Mode" },
+ { NULL, (0x85 << 16) + 0x005, "SMB Charger Status" },
+ { NULL, (0x85 << 16) + 0x006, "SMB Charger Spec Info" },
+ { NULL, (0x85 << 16) + 0x007, "SMB Selector State" },
+ { NULL, (0x85 << 16) + 0x008, "SMB Selector Presets" },
+ { NULL, (0x85 << 16) + 0x009, "SMB Selector Info" },
+ { NULL, (0x85 << 16) + 0x010, "Optional Mfg. Function 1" },
+ { NULL, (0x85 << 16) + 0x011, "Optional Mfg. Function 2" },
+ { NULL, (0x85 << 16) + 0x012, "Optional Mfg. Function 3" },
+ { NULL, (0x85 << 16) + 0x013, "Optional Mfg. Function 4" },
+ { NULL, (0x85 << 16) + 0x014, "Optional Mfg. Function 5" },
+ { NULL, (0x85 << 16) + 0x015, "Connection to SMBus" },
+ { NULL, (0x85 << 16) + 0x016, "Output Connection" },
+ { NULL, (0x85 << 16) + 0x017, "Charger Connection" },
+ { NULL, (0x85 << 16) + 0x018, "Battery Insertion" },
+ { NULL, (0x85 << 16) + 0x019, "Use Next" },
+ { NULL, (0x85 << 16) + 0x01a, "OK to use" },
+ { NULL, (0x85 << 16) + 0x01b, "Battery Supported" },
+ { NULL, (0x85 << 16) + 0x01c, "SelectorRevision" },
+ { NULL, (0x85 << 16) + 0x01d, "Charging Indicator" },
+ { NULL, (0x85 << 16) + 0x028, "Manufacturer Access" },
+ { NULL, (0x85 << 16) + 0x029, "Remaining Capacity Limit" },
+ { NULL, (0x85 << 16) + 0x02a, "Remaining Time Limit" },
+ { NULL, (0x85 << 16) + 0x02b, "At Rate" },
+ { NULL, (0x85 << 16) + 0x02c, "Capacity Mode" },
+ { NULL, (0x85 << 16) + 0x02d, "Broadcast To Charger" },
+ { NULL, (0x85 << 16) + 0x02e, "Primary Battery" },
+ { NULL, (0x85 << 16) + 0x02f, "Charge Controller" },
+ { NULL, (0x85 << 16) + 0x040, "Terminate Charge" },
+ { NULL, (0x85 << 16) + 0x041, "Terminate Discharge" },
+ { NULL, (0x85 << 16) + 0x042, "Below Remaining Capacity Limit" },
+ { NULL, (0x85 << 16) + 0x043, "Remaining Time Limit Expired" },
+ { NULL, (0x85 << 16) + 0x044, "Charging" },
+ { NULL, (0x85 << 16) + 0x045, "Discharging" },
+ { NULL, (0x85 << 16) + 0x046, "Fully Charged" },
+ { NULL, (0x85 << 16) + 0x047, "Fully Discharged" },
+ { NULL, (0x85 << 16) + 0x048, "Conditioning Flag" },
+ { NULL, (0x85 << 16) + 0x049, "At Rate OK" },
+ { NULL, (0x85 << 16) + 0x04a, "SMB Error Code" },
+ { NULL, (0x85 << 16) + 0x04b, "Need Replacement" },
+ { NULL, (0x85 << 16) + 0x060, "At Rate Time To Full" },
+ { NULL, (0x85 << 16) + 0x061, "At Rate Time To Empty" },
+ { NULL, (0x85 << 16) + 0x062, "Average Current" },
+ { NULL, (0x85 << 16) + 0x063, "Max Error" },
+ { NULL, (0x85 << 16) + 0x064, "Relative State Of Charge" },
+ { NULL, (0x85 << 16) + 0x065, "Absolute State Of Charge" },
+ { NULL, (0x85 << 16) + 0x066, "Remaining Capacity" },
+ { NULL, (0x85 << 16) + 0x067, "Full Charge Capacity" },
+ { NULL, (0x85 << 16) + 0x068, "Run Time To Empty" },
+ { NULL, (0x85 << 16) + 0x069, "Average Time To Empty" },
+ { NULL, (0x85 << 16) + 0x06a, "Average Time To Full" },
+ { NULL, (0x85 << 16) + 0x06b, "Cycle Count" },
+ { NULL, (0x85 << 16) + 0x080, "Batt. Pack Model Level" },
+ { NULL, (0x85 << 16) + 0x081, "Internal Charge Controller" },
+ { NULL, (0x85 << 16) + 0x082, "Primary Battery Support" },
+ { NULL, (0x85 << 16) + 0x083, "Design Capacity" },
+ { NULL, (0x85 << 16) + 0x084, "Specification Info" },
+ { NULL, (0x85 << 16) + 0x085, "Manufacturer Date" },
+ { NULL, (0x85 << 16) + 0x086, "Serial Number" },
+ { NULL, (0x85 << 16) + 0x087, "iManufacturerName" },
+ { NULL, (0x85 << 16) + 0x088, "iDeviceName" },
+ { NULL, (0x85 << 16) + 0x089, "iDeviceChemistry" },
+ { NULL, (0x85 << 16) + 0x08a, "Manufacturer Data" },
+ { NULL, (0x85 << 16) + 0x08b, "Rechargeable" },
+ { NULL, (0x85 << 16) + 0x08c, "Warning Capacity Limit" },
+ { NULL, (0x85 << 16) + 0x08d, "Capacity Granularity 1" },
+ { NULL, (0x85 << 16) + 0x08e, "Capacity Granularity 2" },
+ { NULL, (0x85 << 16) + 0x08f, "iOEMInformation" },
+ { NULL, (0x85 << 16) + 0x0c0, "Inhibit Charge" },
+ { NULL, (0x85 << 16) + 0x0c1, "Enable Polling" },
+ { NULL, (0x85 << 16) + 0x0c2, "Reset To Zero" },
+ { NULL, (0x85 << 16) + 0x0d0, "AC Present" },
+ { NULL, (0x85 << 16) + 0x0d1, "Battery Present" },
+ { NULL, (0x85 << 16) + 0x0d2, "Power Fail" },
+ { NULL, (0x85 << 16) + 0x0d3, "Alarm Inhibited" },
+ { NULL, (0x85 << 16) + 0x0d4, "Thermistor Under Range" },
+ { NULL, (0x85 << 16) + 0x0d5, "Thermistor Hot" },
+ { NULL, (0x85 << 16) + 0x0d6, "Thermistor Cold" },
+ { NULL, (0x85 << 16) + 0x0d7, "Thermistor Over Range" },
+ { NULL, (0x85 << 16) + 0x0d8, "Voltage Out Of Range" },
+ { NULL, (0x85 << 16) + 0x0d9, "Current Out Of Range" },
+ { NULL, (0x85 << 16) + 0x0da, "Current Not Regulated" },
+ { NULL, (0x85 << 16) + 0x0db, "Voltage Not Regulated" },
+ { NULL, (0x85 << 16) + 0x0dc, "Master Mode" },
+ { NULL, (0x85 << 16) + 0x0f0, "Charger Selector Support" },
+ { NULL, (0x85 << 16) + 0x0f1, "Charger Spec" },
+ { NULL, (0x85 << 16) + 0x0f2, "Level 2" },
+ { NULL, (0x85 << 16) + 0x0f3, "Level 3" },
+ { NULL, (0xf0 << 16) + 0x0f1, "Cash Drawer" },
+ { NULL, (0xf0 << 16) + 0x0f2, "Cash Drawer Number" },
+ { NULL, (0xf0 << 16) + 0x0f3, "Cash Drawer Set" },
+ { NULL, (0xf0 << 16) + 0x0f4, "Cash Drawer Status" },
+ { NULL },
+};
+
+/* dialects are represented as:
+ * langid + (dialectid << 10)
+ */
+static struct genericstrtable langids[] =
+{
+ { NULL, 0x0001 + (0x01 << 10), "Saudi Arabia" },
+ { NULL, 0x0001 + (0x02 << 10), "Iraq" },
+ { NULL, 0x0001 + (0x03 << 10), "Egypt" },
+ { NULL, 0x0001 + (0x04 << 10), "Libya" },
+ { NULL, 0x0001 + (0x05 << 10), "Algeria" },
+ { NULL, 0x0001 + (0x06 << 10), "Morocco" },
+ { NULL, 0x0001 + (0x07 << 10), "Tunesia" },
+ { NULL, 0x0001 + (0x08 << 10), "Oman" },
+ { NULL, 0x0001 + (0x09 << 10), "Yemen" },
+ { NULL, 0x0001 + (0x0a << 10), "Syria" },
+ { NULL, 0x0001 + (0x0b << 10), "Jordan" },
+ { NULL, 0x0001 + (0x0c << 10), "Lebanon" },
+ { NULL, 0x0001 + (0x0d << 10), "Kuwait" },
+ { NULL, 0x0001 + (0x0e << 10), "U.A.E" },
+ { NULL, 0x0001 + (0x0f << 10), "Bahrain" },
+ { NULL, 0x0001 + (0x10 << 10), "Qatar" },
+ { NULL, 0x0001, "Arabic" },
+ { NULL, 0x0002, "Bulgarian" },
+ { NULL, 0x0003, "Catalan" },
+ { NULL, 0x0004 + (0x01 << 10), "Traditional" },
+ { NULL, 0x0004 + (0x02 << 10), "Simplified" },
+ { NULL, 0x0004 + (0x03 << 10), "Hongkong SAR, PRC" },
+ { NULL, 0x0004 + (0x04 << 10), "Singapore" },
+ { NULL, 0x0004 + (0x05 << 10), "Macau SAR" },
+ { NULL, 0x0004, "Chinese" },
+ { NULL, 0x0005, "Czech" },
+ { NULL, 0x0006, "Danish" },
+ { NULL, 0x0007 + (0x01 << 10), "German" },
+ { NULL, 0x0007 + (0x02 << 10), "Swiss" },
+ { NULL, 0x0007 + (0x03 << 10), "Austrian" },
+ { NULL, 0x0007 + (0x04 << 10), "Luxembourg" },
+ { NULL, 0x0007 + (0x05 << 10), "Liechtenstein" },
+ { NULL, 0x0007, "German" },
+ { NULL, 0x0008, "Greek" },
+ { NULL, 0x0009 + (0x01 << 10), "US" },
+ { NULL, 0x0009 + (0x02 << 10), "UK" },
+ { NULL, 0x0009 + (0x03 << 10), "Australian" },
+ { NULL, 0x0009 + (0x04 << 10), "Canadian" },
+ { NULL, 0x0009 + (0x05 << 10), "New Zealand" },
+ { NULL, 0x0009 + (0x06 << 10), "Ireland" },
+ { NULL, 0x0009 + (0x07 << 10), "South Africa" },
+ { NULL, 0x0009 + (0x08 << 10), "Jamaica" },
+ { NULL, 0x0009 + (0x09 << 10), "Carribean" },
+ { NULL, 0x0009 + (0x0a << 10), "Belize" },
+ { NULL, 0x0009 + (0x0b << 10), "Trinidad" },
+ { NULL, 0x0009 + (0x0c << 10), "Zimbabwe" },
+ { NULL, 0x0009 + (0x0d << 10), "Philippines" },
+ { NULL, 0x0009, "English" },
+ { NULL, 0x000a + (0x01 << 10), "Castilian" },
+ { NULL, 0x000a + (0x02 << 10), "Mexican" },
+ { NULL, 0x000a + (0x03 << 10), "Modern" },
+ { NULL, 0x000a + (0x04 << 10), "Guatemala" },
+ { NULL, 0x000a + (0x05 << 10), "Costa Rica" },
+ { NULL, 0x000a + (0x06 << 10), "Panama" },
+ { NULL, 0x000a + (0x07 << 10), "Dominican Republic" },
+ { NULL, 0x000a + (0x08 << 10), "Venzuela" },
+ { NULL, 0x000a + (0x09 << 10), "Colombia" },
+ { NULL, 0x000a + (0x0a << 10), "Peru" },
+ { NULL, 0x000a + (0x0b << 10), "Argentina" },
+ { NULL, 0x000a + (0x0c << 10), "Ecuador" },
+ { NULL, 0x000a + (0x0d << 10), "Chile" },
+ { NULL, 0x000a + (0x0e << 10), "Uruguay" },
+ { NULL, 0x000a + (0x0f << 10), "Paraguay" },
+ { NULL, 0x000a + (0x10 << 10), "Bolivia" },
+ { NULL, 0x000a + (0x11 << 10), "El Salvador" },
+ { NULL, 0x000a + (0x12 << 10), "Honduras" },
+ { NULL, 0x000a + (0x13 << 10), "Nicaragua" },
+ { NULL, 0x000a + (0x14 << 10), "Puerto Rico" },
+ { NULL, 0x000a, "Spanish" },
+ { NULL, 0x000b, "Finnish" },
+ { NULL, 0x000c + (0x01 << 10), "French" },
+ { NULL, 0x000c + (0x02 << 10), "Belgian" },
+ { NULL, 0x000c + (0x03 << 10), "Canadian" },
+ { NULL, 0x000c + (0x04 << 10), "Swiss" },
+ { NULL, 0x000c + (0x05 << 10), "Luxembourg" },
+ { NULL, 0x000c + (0x06 << 10), "Monaco" },
+ { NULL, 0x000c, "French" },
+ { NULL, 0x000d, "Hebrew" },
+ { NULL, 0x000e, "Hungarian" },
+ { NULL, 0x000f, "Idelandic" },
+ { NULL, 0x0010 + (0x01 << 10), "Italian" },
+ { NULL, 0x0010 + (0x02 << 10), "Swiss" },
+ { NULL, 0x0010, "Italian" },
+ { NULL, 0x0011, "Japanese" },
+ { NULL, 0x0012 + (0x01 << 10), "Korean" },
+ { NULL, 0x0012, "Korean" },
+ { NULL, 0x0013 + (0x01 << 10), "Dutch" },
+ { NULL, 0x0013 + (0x02 << 10), "Belgian" },
+ { NULL, 0x0013, "Dutch" },
+ { NULL, 0x0014 + (0x01 << 10), "Bokmal" },
+ { NULL, 0x0014 + (0x02 << 10), "Nynorsk" },
+ { NULL, 0x0014, "Norwegian" },
+ { NULL, 0x0015, "Polish" },
+ { NULL, 0x0016 + (0x01 << 10), "Portuguese" },
+ { NULL, 0x0016 + (0x02 << 10), "Brazilian" },
+ { NULL, 0x0016, "Portuguese" },
+ { NULL, 0x0017, "forgotten" },
+ { NULL, 0x0018, "Romanian" },
+ { NULL, 0x0019, "Russian" },
+ { NULL, 0x001a + (0x01 << 10), "Croatian" },
+ { NULL, 0x001a + (0x02 << 10), "Latin" },
+ { NULL, 0x001a + (0x03 << 10), "Cyrillic" },
+ { NULL, 0x001a, "Serbian" },
+ { NULL, 0x001b, "Slovak" },
+ { NULL, 0x001c, "Albanian" },
+ { NULL, 0x001d + (0x01 << 10), "Swedish" },
+ { NULL, 0x001d + (0x02 << 10), "Finland" },
+ { NULL, 0x001d, "Swedish" },
+ { NULL, 0x001e, "Thai" },
+ { NULL, 0x001f, "Turkish" },
+ { NULL, 0x0020 + (0x01 << 10), "Pakistan" },
+ { NULL, 0x0020 + (0x02 << 10), "India" },
+ { NULL, 0x0020, "Urdu" },
+ { NULL, 0x0021, "Indonesian" },
+ { NULL, 0x0022, "Ukrainian" },
+ { NULL, 0x0023, "Belarusian" },
+ { NULL, 0x0024, "Slovenian" },
+ { NULL, 0x0025, "Estonian" },
+ { NULL, 0x0026, "Latvian" },
+ { NULL, 0x0027 + (0x01 << 10), "Lithuanian" },
+ { NULL, 0x0027, "Lithuanian" },
+ { NULL, 0x0028, "forgotten" },
+ { NULL, 0x0029, "Farsi" },
+ { NULL, 0x002a, "Vietnamese" },
+ { NULL, 0x002b, "Armenian" },
+ { NULL, 0x002c + (0x01 << 10), "Cyrillic" },
+ { NULL, 0x002c + (0x02 << 10), "Latin" },
+ { NULL, 0x002c, "Azeri" },
+ { NULL, 0x002d, "Basque" },
+ { NULL, 0x002e, "forgotten" },
+ { NULL, 0x002f, "Macedonian" },
+ { NULL, 0x0036, "Afrikaans" },
+ { NULL, 0x0037, "Georgian" },
+ { NULL, 0x0038, "Faeroese" },
+ { NULL, 0x0039, "Hindi" },
+ { NULL, 0x003e + (0x01 << 10), "Malaysia" },
+ { NULL, 0x003e + (0x02 << 10), "Brunei Darassalam" },
+ { NULL, 0x003e, "Malay" },
+ { NULL, 0x003f, "Kazak" },
+ { NULL, 0x0041, "Awahili" },
+ { NULL, 0x0043 + (0x01 << 10), "Latin" },
+ { NULL, 0x0043 + (0x02 << 10), "Cyrillic" },
+ { NULL, 0x0043, "Uzbek" },
+ { NULL, 0x0044, "Tatar" },
+ { NULL, 0x0045, "Bengali" },
+ { NULL, 0x0046, "Punjabi" },
+ { NULL, 0x0047, "Gujarati" },
+ { NULL, 0x0048, "Oriya" },
+ { NULL, 0x0049, "Tamil" },
+ { NULL, 0x004a, "Telugu" },
+ { NULL, 0x004b, "Kannada" },
+ { NULL, 0x004c, "Malayalam" },
+ { NULL, 0x004d, "Assamese" },
+ { NULL, 0x004e, "Marathi" },
+ { NULL, 0x004f, "Sanskrit" },
+ { NULL, 0x0057, "Konkani" },
+ { NULL, 0x0058, "Manipuri" },
+ { NULL, 0x0059, "Sindhi" },
+ { NULL, 0x0060 + (0x02 << 10), "India" },
+ { NULL, 0x0060, "Kashmiri" },
+ { NULL, 0x0061 + (0x02 << 10), "India" },
+ { NULL, 0x0061, "Nepali" },
+ { NULL },
+};
+
+static struct genericstrtable countrycodes[] =
+{
+ { NULL, 0, "Not supported" },
+ { NULL, 1, "Arabic" },
+ { NULL, 2, "Belgian" },
+ { NULL, 3, "Canadian-Bilingual" },
+ { NULL, 4, "Canadian-French" },
+ { NULL, 5, "Czech Republic" },
+ { NULL, 6, "Danish" },
+ { NULL, 7, "Finnish" },
+ { NULL, 8, "French" },
+ { NULL, 9, "German" },
+ { NULL, 10, "Greek" },
+ { NULL, 11, "Hebrew" },
+ { NULL, 12, "Hungary" },
+ { NULL, 13, "International (ISO)" },
+ { NULL, 14, "Italian" },
+ { NULL, 15, "Japan (Katakana)" },
+ { NULL, 16, "Korean" },
+ { NULL, 17, "Latin American" },
+ { NULL, 18, "Netherlands/Dutch" },
+ { NULL, 19, "Norwegian" },
+ { NULL, 20, "Persian (Farsi)" },
+ { NULL, 21, "Poland" },
+ { NULL, 22, "Portuguese" },
+ { NULL, 23, "Russia" },
+ { NULL, 24, "Slovakia" },
+ { NULL, 25, "Spanish" },
+ { NULL, 26, "Swedish" },
+ { NULL, 27, "Swiss/French" },
+ { NULL, 28, "Swiss/German" },
+ { NULL, 29, "Switzerland" },
+ { NULL, 30, "Taiwan" },
+ { NULL, 31, "Turkish-Q" },
+ { NULL, 32, "UK" },
+ { NULL, 33, "US" },
+ { NULL, 34, "Yugoslavia" },
+ { NULL, 35, "Turkish-F" },
+ { NULL },
+};
+
+/* ---------------------------------------------------------------------- */
+#endif /* _USB_SPEC_H */
diff --git a/usb.ids b/usb.ids
deleted file mode 100644
index 33ef904..0000000
--- a/usb.ids
+++ /dev/null
@@ -1,18063 +0,0 @@
-#
-# List of USB ID's
-#
-# Maintained by Stephen J. Gowdy <linux.usb.ids@gmail.com>
-# If you have any new entries, please submit them via
-# http://www.linux-usb.org/usb-ids.html
-# or send entries as patches (diff -u old new) in the
-# body of your email (a bot will attempt to deal with it).
-# The latest version can be obtained from
-# http://www.linux-usb.org/usb.ids
-#
-# Version: 2013.05.24
-# Date: 2013-05-24 20:34:03
-#
-
-# Vendors, devices and interfaces. Please keep sorted.
-
-# Syntax:
-# vendor vendor_name
-# device device_name <-- single tab
-# interface interface_name <-- two tabs
-
-0001 Fry's Electronics
- 142b Arbiter Systems, Inc.
- 7778 Counterfeit flash drive [Kingston]
-0002 Ingram
-0003 Club Mac
-0004 Nebraska Furniture Mart
-0053 Planex
- 5301 GW-US54ZGL 802.11bg
-0079 DragonRise Inc.
- 0006 Generic USB Joystick
- 0011 Gamepad
-0105 Trust International B.V.
- 145f NW-3100 802.11b/g 54Mbps Wireless Network Adapter [zd1211]
-0145 Unknown
- 0112 Card Reader
-017c MLK
- 145f Trust Deskset
-0204 Chipsbank Microelectronics Co., Ltd
- 6025 CBM2080 Flash drive controller
- 6026 CBM1180 Flash drive controller
-0218 Hangzhou Worlde
- 0301 MIDI Port
-02ad HUMAX Co., Ltd.
- 138c PVR Mass Storage
-0300 MM300 eBook Reader
-0324 OCZ Technology Inc
- bc06 OCZ ATV USB 2.0 Flash Drive
- bc08 OCZ Rally2/ATV USB 2.0 Flash Drive
-0325 OCZ Technology Inc
- ac02 ATV Turbo / Rally2 Dual Channel USB 2.0 Flash Drive
-0386 LTS
- 0001 PSX for USB Converter
-03d9 Shenzhen Sinote Tech-Electron Co., Ltd
- 0499 SE340D PC Remote Control
-03da Bernd Walter Computer Technology
- 0002 HD44780 LCD interface
-03e8 EndPoints, Inc.
- 0004 SE401 Webcam
- 0008 101 Ethernet [klsi]
- 0015 ATAPI Enclosure
- 2123 SiPix StyleCam Deluxe
- 8004 Aox 99001
-03e9 Thesys Microelectronics
-03ea Data Broadcasting Corp.
-03eb Atmel Corp.
- 0902 4-Port Hub
- 2002 Mass Storage Device
- 2015 at90usbkey sample firmware (HID keyboard)
- 2018 at90usbkey sample firmware (CDC ACM)
- 2019 stk525 sample firmware (microphone)
- 201c at90usbkey sample firmware (HID mouse)
- 201d at90usbkey sample firmware (HID generic)
- 2022 at90usbkey sample firmware (composite device)
- 2040 LUFA Test PID
- 2041 LUFA Mouse Demo Application
- 2042 LUFA Keyboard Demo Application
- 2043 LUFA Joystick Demo Application
- 2044 LUFA CDC Demo Application
- 2045 LUFA Mass Storage Demo Application
- 2046 LUFA Audio Output Demo Application
- 2047 LUFA Audio Input Demo Application
- 2048 LUFA MIDI Demo Application
- 2049 Stripe Snoop Magnetic Stripe Reader
- 204a LUFA CDC Class Bootloader
- 204b LUFA USB to Serial Adapter Project
- 204c LUFA RNDIS Demo Application
- 204d LUFA Combined Mouse and Keyboard Demo Application
- 204e LUFA Dual CDC Demo Application
- 204f LUFA Generic HID Demo Application
- 2060 Benito Programmer Project
- 2061 LUFA Combined Mass Storage and Keyboard Demo Application
- 2062 LUFA Combined CDC and Mouse Demo Application
- 2063 LUFA Datalogger Device
- 2064 Interfaceless Control-Only LUFA Devices
- 2065 LUFA Test and Measurement Demo Application
- 2066 LUFA Multiple Report HID Demo
- 2068 LUFA Virtual Serial/Mass Storage Demo
- 2069 LUFA Webserver Project
- 2103 JTAG ICE mkII
- 2104 AVR ISP mkII
- 2105 AVRONE!
- 2106 STK600 development board
- 2107 AVR Dragon
- 2109 STK541 ZigBee Development Board
- 210d XPLAIN evaluation kit (CDC ACM)
- 2122 XMEGA-A1 Explained evaluation kit
- 2310 EVK11xx evaluation board
- 2fe4 ATxmega32A4U DFU bootloader
- 2ffb at90usb AVR DFU bootloader
- 2ffd at89c5130/c5131 DFU bootloader
- 2fff at89c5132/c51snd1c DFU bootloader
- 3301 at43301 4-Port Hub
- 3312 4-Port Hub
- 4102 AirVast W-Buddie WN210
- 5601 at76c510 Prism-II 802.11b Access Point
- 5603 Cisco 7920 WiFi IP Phone
- 6119 AT91SAM CDC Demo Application
- 6124 at91sam SAMBA bootloader
- 6127 AT91SAM HID Keyboard Demo Application
- 6129 AT91SAM Mass Storage Demo Application
- 6200 AT91SAM HID Mouse Demo Application
- 7603 D-Link DWL-120 802.11b Wireless Adapter [Atmel at76c503a]
- 7604 at76c503a 802.11b Adapter
- 7605 at76c503a 802.11b Adapter
- 7606 at76c505 802.11b Adapter
- 7611 at76c510 rfmd2948 802.11b Access Point
- 7613 WL-1130 USB
- 7614 AT76c505a Wireless Adapter
- 7615 AT76C505AMX Wireless Adapter
- 7617 AT76C505AS Wireless Adapter
- 7800 Mini Album
- ff07 Tux Droid fish dongle
-03ec Iwatsu America, Inc.
-03ed Mitel Corp.
-03ee Mitsumi
- 0000 CD-R/RW Drive
- 2501 eHome Infrared Receiver
- 2502 eHome Infrared Receiver
- 5609 Japanese Keyboard
- 641f WIF-0402C Bluetooth Adapter
- 6438 Bluetooth Device
- 6440 WML-C52APR Bluetooth Adapter
- 6901 SmartDisk FDD
- 6902 Floppy Disk Drive
- 7500 CD-R/RW
- ffff Dongle with BlueCore in DFU mode
-03f0 Hewlett-Packard
- 0004 DeskJet 895c
- 0011 OfficeJet G55
- 0012 DeskJet 1125C Printer Port
- 0024 KU-0316 Keyboard
- 002a LaserJet P1102
- 0101 ScanJet 4100c
- 0102 PhotoSmart S20
- 0104 DeskJet 880c/970c
- 0105 ScanJet 4200c
- 0107 CD-Writer Plus
- 010c Multimedia Keyboard Hub
- 0111 G55xi Printer/Scanner/Copier
- 0117 LaserJet 3200
- 011c hn210w 802.11b Adapter
- 011d Bluetooth 1.2 Interface [Broadcom BCM2035]
- 0121 HP49g+ Calculator
- 0122 HID Internet Keyboard
- 0201 ScanJet 6200c
- 0202 PhotoSmart S20
- 0204 DeskJet 815c
- 0205 ScanJet 3300c
- 0207 CD-Writer Plus 8200e
- 020c Multimedia Keyboard
- 0211 OfficeJet G85
- 0212 DeskJet 1220C
- 0217 LaserJet 2200
- 0218 APOLLO P2500/2600
- 0304 DeskJet 810c/812c
- 0305 ScanJet 4300c
- 0307 CD-Writer+ CD-4e
- 0311 OfficeJet G85xi
- 0312 Color Inkjet CP1700
- 0314 designjet 30/130 series
- 0317 LaserJet 1200
- 0324 SK-2885 keyboard
- 0401 ScanJet 5200c
- 0404 DeskJet 830c/832c
- 0405 ScanJet 3400cse
- 0411 OfficeJet G95
- 0412 Printing Support
- 0417 LaserJet 1200 series
- 0423 HS-COMBO Cardreader
- 0504 DeskJet 885c
- 0505 ScanJet 2100c
- 0507 DVD+RW
- 050c 5219 Wireless Keyboard
- 0511 OfficeJet K60
- 0512 DeckJet 450
- 0517 LaserJet 1000
- 051d Bluetooth Interface
- 0601 ScanJet 6300c
- 0604 DeskJet 840c
- 0605 ScanJet 2200c
- 0611 OfficeJet K60xi
- 0612 business inkjet 3000
- 0624 Bluetooth Dongle
- 0701 ScanJet 5300c/5370c
- 0704 DeskJet 825c
- 0705 ScanJet 4400c
- 0711 OfficeJet K80
- 0712 DeskJet 1180c
- 0714 Printing Support
- 0801 ScanJet 7400c
- 0804 DeskJet 816c
- 0805 HP4470C
- 0811 OfficeJet K80xi
- 0817 LaserJet 3300
- 0901 ScanJet 2300c
- 0904 DeskJet 845c
- 0912 Printing Support
- 0917 LaserJet 3330
- 0924 Modular Smartcard Keyboard
- 0a01 ScanJet 2400c
- 0a17 color LaserJet 3700
- 0b01 ScanJet 82x0C
- 0b0c Wireless Keyboard and Optical Mouse receiver
- 0b17 LaserJet 2300d
- 0c17 LaserJet 1010
- 0c24 Bluetooth Dongle
- 0d12 OfficeJet 9100 series
- 0d17 LaserJet 1012
- 0e17 LaserJet 1015
- 0f0c Wireless Keyboard and Optical Mouse receiver
- 0f11 OfficeJet V40
- 0f12 Printing Support
- 0f17 LaserJet 1150
- 1001 Photo Scanner 1000
- 1002 PhotoSmart 140 series
- 1004 DeskJet 970c/970cse
- 1005 ScanJet 5400c
- 1011 OfficeJet V40xi
- 1016 Jornada 548 / iPAQ HW6515 Pocket PC
- 1017 LaserJet 1300
- 1024 Smart Card Keyboard
- 1027 Virtual keyboard and mouse
- 1102 PhotoSmart 240 series
- 1104 DeskJet 959c
- 1105 ScanJet 5470c/5490c
- 1111 OfficeJet v60
- 1116 Jornada 568 Pocket PC
- 1117 LaserJet 1300n
- 1151 PSC-750xi Printer/Scanner/Copier
- 1202 PhotoSmart 320 series
- 1204 DeskJet 930c
- 1205 ScanJet 4500C/5550C
- 1211 OfficeJet v60xi
- 1217 LaserJet 2300L
- 1302 PhotoSmart 370 series
- 1305 ScanJet 4570c
- 1311 OfficeJet V30
- 1312 DeskJet 460
- 1317 LaserJet 1005
- 1327 iLO Virtual Hub
- 1405 ScanJet 3670
- 1411 PSC 750
- 1424 f2105 Monitor Hub
- 1502 PhotoSmart 420 series
- 1504 DeskJet 920c
- 150c Mood Lighting (Microchip Technology Inc.)
- 1511 PSC 750xi
- 1512 Printing Support
- 1517 color LaserJet 3500
- 1524 Smart Card Keyboard - KR
- 1602 PhotoSmart 330 series
- 1604 DeskJet 940c
- 1605 ScanJet 5530C PhotoSmart
- 1611 psc 780
- 1617 LaserJet 3015
- 161d Wireless Rechargeable Optical Mouse (HID)
- 1624 Smart Card Keyboard - JP
- 1702 PhotoSmart 380 series
- 1704 DeskJet 948C
- 1705 ScanJet 5590
- 1711 psc 780xi
- 1712 Printing Support
- 1717 LaserJet 3020
- 171d Bluetooth 2.0 Interface [Broadcom BCM2045]
- 1801 Inkjet P-2000U
- 1802 PhotoSmart 470 series
- 1804 DeskJet 916C
- 1805 ScanJet 7650
- 1811 PSC 720
- 1812 OfficeJet Pro K550
- 1817 LaserJet 3030
- 181d Bluetooth 2.0 Interface
- 1902 PhotoSmart A430 series
- 1904 DeskJet 3820
- 1911 OfficeJet V45
- 1917 LaserJet 3380
- 1a02 PhotoSmart A510 series
- 1a11 OfficeJet 5100 series
- 1a17 color LaserJet 4650
- 1b02 PhotoSmart A610 series
- 1b04 DeskJet 3810
- 1b05 ScanJet 4850C/4890C
- 1b07 Premium Starter Webcam
- 1c02 PhotoSmart A710 series
- 1c17 Color LaserJet 2550l
- 1d02 PhotoSmart A310 series
- 1d17 LaserJet 1320
- 1e02 PhotoSmart A320 Printer series
- 1e11 PSC-950
- 1e17 LaserJet 1160 series
- 1f02 PhotoSmart A440 Printer series
- 1f11 PSC 920
- 1f12 OfficeJet Pro K5300
- 1f17 color LaserJet 5550
- 1f1d un2400 Gobi Wireless Modem
- 2001 Floppy
- 2002 Hub
- 2004 DeskJet 640c
- 2005 ScanJet 3570c
- 2012 OfficeJet Pro K5400
- 201d un2400 Gobi Wireless Modem (QDL mode)
- 2102 PhotoSmart 7345
- 2104 DeskJet 630c
- 2112 OfficeJet Pro L7500
- 211d Sierra MC5725 [ev2210]
- 2202 PhotoSmart 7600 series
- 2205 ScanJet 3500c
- 2212 OfficeJet Pro L7600
- 2217 color LaserJet 9500 MFP
- 2302 PhotoSmart 7600 series
- 2304 DeskJet 656c
- 2305 ScanJet 3970c
- 2311 OfficeJet d series
- 2312 OfficeJet Pro L7700
- 2317 LaserJet 4350
- 231d 4 GB Flash Drive
- 2402 PhotoSmart 7700 series
- 2404 Deskjet F2280 series
- 2405 ScanJet 4070 PhotoSmart
- 2417 LaserJet 4250
- 241d Gobi 2000 Wireless Modem (QDL mode)
- 2424 LP1965 19" Monitor Hub
- 2502 PhotoSmart 7700 series
- 2504 DeskJet F4200 series
- 2505 ScanJet 3770
- 2512 OfficeJet Pro L7300
- 2517 LaserJet 2410
- 251d Gobi 2000 Wireless Modem
- 2524 LP3065 30" Monitor Hub
- 2602 PhotoSmart A520 series
- 2605 ScanJet 3800c
- 2611 OfficeJet 7100 series
- 2617 Color LaserJet 2820 series
- 2624 Pole Display (HP522 2 x 20 Line Display)
- 2702 PhotoSmart A620 series
- 2704 DeskJet 915
- 2717 Color LaserJet 2830
- 2811 PSC-2100
- 2817 Color LaserJet 2840
- 2902 PhotoSmart A820 series
- 2911 PSC 2200
- 2917 LaserJet 2420
- 2a11 PSC 2150 series
- 2a17 LaserJet 2430
- 2b11 PSC 2170 series
- 2b17 LaserJet 1020
- 2c12 Officejet J4680
- 2c17 LaserJet 1022
- 2c24 Logitech M-UAL-96 Mouse
- 2d05 Scanjet 7000
- 2d11 OfficeJet 6110
- 2d17 Printing Support
- 2e11 PSC 1000
- 2e17 LaserJet 2600n
- 2e24 LP2275w Monitor Hub
- 2f11 PSC 1200
- 2f17 EWS 2605dn
- 2f24 LP2475w Monitor Hub
- 3002 PhotoSmart P1000
- 3004 DeskJet 980c
- 3005 ScanJet 4670v
- 3011 PSC 1100 series
- 3017 Printing Support
- 3102 PhotoSmart P1100 Printer w/ Card Reader
- 3104 DeskJet 960c
- 3111 OfficeJet 4100 series
- 3117 EWS 2605dtn
- 311d Atheros AR9285 Malbec Bluetooth Adapter
- 3202 PhotoSmart 1215
- 3207 4 GB flash drive
- 3211 OfficeJet 4105 series
- 3217 LaserJet 3050
- 3302 PhotoSmart 1218
- 3304 DeskJet 990c
- 3312 OfficeJet J6410
- 3317 LaserJet 3052
- 3402 PhotoSmart 1115
- 3404 DeskJet 6122
- 3417 LaserJet 3055
- 3502 PhotoSmart 230
- 3504 DeskJet 6127c
- 3511 PSC 2300
- 3517 LaserJet 3390
- 3602 PhotoSmart 1315
- 3611 PSC 2410 PhotoSmart
- 3617 Color LaserJet 2605
- 3711 PSC 2500
- 3717 EWS UPD
- 3724 Webcam
- 3802 PhotoSmart 100
- 3807 c485w Flash Drive
- 3817 LaserJet P2015 series
- 3902 PhotoSmart 130
- 3a02 PhotoSmart 7150
- 3a11 OfficeJet 5500 series
- 3a17 Printing Support
- 3b02 PhotoSmart 7150~
- 3b05 Scanjet N8460
- 3b11 PSC 1300 series
- 3b17 LaserJet M1005 MFP
- 3c02 PhotoSmart 7350
- 3c11 PSC 1358
- 3c17 EWS UPD
- 3d02 PhotoSmart 7350~
- 3d11 OfficeJet 4215
- 3d17 LaserJet P1005
- 3e02 PhotoSmart 7550
- 3e17 LaserJet P1006
- 3f02 PhotoSmart 7550~
- 3f11 PSC-1315/PSC-1317
- 4002 PhotoSmart 635/715/720/735/935 (storage)
- 4004 cp1160
- 4102 PhotoSmart 618
- 4105 ScanJet 4370
- 4111 OfficeJet 7200 series
- 4117 LaserJet 1018
- 4202 PhotoSmart 812
- 4205 ScanJet G3010
- 4211 OfficeJet 7300 series
- 4217 EWS CM1015
- 4302 PhotoSmart 850 (ptp)
- 4305 ScanJet G3110
- 4311 OfficeJet 7400 series
- 4317 Color LaserJet CM1017
- 4402 PhotoSmart 935 (ptp)
- 4417 EWS UPD
- 4502 PhotoSmart 945 (PTP mode)
- 4505 ScanJet G4010
- 4507 External HDD
- 4511 PhotoSmart 2600
- 4512 E709n [Officejet 6500 Wireless]
- 4517 EWS UPD
- 4605 ScanJet G4050
- 4611 PhotoSmart 2700
- 4717 Color LaserJet CP1215
- 4811 PSC 1600
- 4911 PSC 2350
- 4b11 OfficeJet 6200
- 4c11 PSC 1500 series
- 4c17 EWS UPD
- 4d11 PSC 1400
- 4d17 EWS UPD
- 4e11 PhotoSmart 2570 series
- 4f11 OfficeJet 5600 (USBHUB)
- 4f17 Color LaserJet CM1312 MFP
- 5004 DeskJet 995c
- 5011 PhotoSmart 3100 series
- 5017 EWS UPD
- 5111 PhotoSmart 3200 series
- 5211 PhotoSmart 3300 series
- 5311 OfficeJet 6300
- 5312 Officejet Pro 8500A
- 5411 OfficeJet 4300
- 5511 DeskJet F300 series
- 5611 PhotoSmart C3180
- 5617 LaserJet M1120 MFP
- 5711 PhotoSmart C4100 series
- 5717 LaserJet M1120n MFP
- 5811 PhotoSmart C5100 series
- 5817 LaserJet M1319f MFP
- 5911 PhotoSmart C6180
- 5a11 PhotoSmart C7100 series
- 5b11 OfficeJet J2100 series
- 5c11 PhotoSmart C4200 Printer series
- 5c12 OfficeJet 6700
- 5c17 LaserJet P2055 series
- 5d11 PhotoSmart C5200 series
- 5e11 PhotoSmart D7400 series
- 6004 DeskJet 5550
- 6102 Hewlett Packard Digital Camera
- 6104 DeskJet 5650c
- 6117 color LaserJet 3550
- 6202 PhotoSmart 215
- 6204 DeskJet 5150c
- 6217 Color LaserJet 4700
- 6302 PhotoSmart 318/612
- 6317 Color LaserJet 4730mfp
- 6402 PhotoSmart 715 (ptp)
- 6411 PhotoSmart C8100 series
- 6417 LaserJet 5200
- 6502 PhotoSmart 120 (ptp)
- 6511 PhotoSmart C7200 series
- 6602 PhotoSmart 320
- 6611 PhotoSmart C4380 series
- 6617 LaserJet 5200L
- 6702 PhotoSmart 720 (ptp)
- 6717 Color LaserJet 3000
- 6802 PhotoSmart 620 (ptp)
- 6811 PhotoSmart D5300 series
- 6817 Color LaserJet 3800
- 6911 PhotoSmart D7200 series
- 6917 Color LaserJet 3600
- 6a02 PhotoSmart 735 (ptp)
- 6a11 PhotoSmart C6200 series
- 6a17 LaserJet 4240
- 6b02 PhotoSmart R707 (PTP mode)
- 6b11 Photosmart C4500 series
- 6c17 Color LaserJet 4610
- 6f17 Color LaserJet CP6015 series
- 7004 DeskJet 3320c
- 7102 PhotoSmart 635 (PTP mode)
- 7104 DeskJet 3420c
- 7117 CM8060 Color MFP with Edgeline Technology
- 7202 PhotoSmart 43x (ptp)
- 7204 DeskJet 36xx
- 7217 LaserJet M5035 MFP
- 7302 PhotoSmart M307 (PTP mode)
- 7304 DeskJet 35xx
- 7311 Photosmart Premium C309
- 7317 LaserJet P3005
- 7404 Printing Support
- 7417 LaserJet M4345 MFP
- 7504 Printing Support
- 7517 LaserJet M3035 MFP
- 7604 DeskJet 3940
- 7611 DeskJet F2492 All-in-One
- 7617 LaserJet P3004
- 7702 PhotoSmart R817 (PTP mode)
- 7704 DeskJet D4100
- 7717 CM8050 Color MFP with Edgeline Technology
- 7804 DeskJet D1360
- 7817 Color LaserJet CP3505
- 7917 LaserJet M5025 MFP
- 7a02 PhotoSmart M415 (PTP mode)
- 7a04 DeskJet D2460
- 7a17 LaserJet M3027 MFP
- 7b02 PhotoSmart M23 (PTP mode)
- 7b17 Color LaserJet CP4005
- 7c17 Color LaserJet CM6040 series
- 7d04 DeskJet F2100 Printer series
- 7d17 Color LaserJet CM4730 MFP
- 7e04 DeskJet F4100 Printer series
- 8017 LaserJet P4515
- 8104 Printing Support
- 8117 LaserJet P4015
- 811c Ethernet HN210E
- 8204 Printing Support
- 8207 FHA-3510 2.4GHz Wireless Optical Mobile Mouse
- 8217 LaserJet P4014
- 8317 LaserJet M9050 MFP
- 8404 DeskJet 6800 series
- 8417 LaserJet M9040 MFP
- 8504 DeskJet 6600 series
- 8604 DeskJet 5440
- 8607 Optical Mobile Mouse
- 8704 DeskJet 5940
- 8711 Deskjet 2050 J510
- 8804 DeskJet 6980 series
- 8904 DeskJet 6940 series
- 8c07 Digital Stereo Headset
- 8c11 Deskjet F4500 series
- 9002 PhotoSmart M437
- 9102 PhotoSmart M537
- 9302 PhotoSmart R930 series
- 9402 PhotoSmart R837
- 9502 PhotoSmart R840 series
- 9602 PhotoSmart M730 series
- 9702 PhotoSmart R740 series
- 9802 PhotoSmart Mz60 series
- 9902 PhotoSmart M630 series
- 9a02 PhotoSmart E330 series
- 9b02 PhotoSmart M540 series
- 9b07 Portable Drive
- 9c02 PhotoSmart M440 series
- a004 DeskJet 5850c
- a011 Deskjet 3050A
- b002 PhotoSmart 7200 series
- b102 PhotoSmart 7200 series
- b107 v255w/c310w Flash Drive
- b116 Webcam
- b202 PhotoSmart 7600 series
- b302 PhotoSmart 7600 series
- b402 PhotoSmart 7700 series
- b502 PhotoSmart 7700 series
- b602 PhotoSmart 7900 series
- b702 PhotoSmart 7900 series
- b802 PhotoSmart 7400 series
- b902 PhotoSmart 7800 series
- ba02 PhotoSmart 8100 series
- bb02 PhotoSmart 8400 series
- bc02 PhotoSmart 8700 series
- bd02 PhotoSmart Pro B9100 series
- bef4 NEC Picty760
- c002 PhotoSmart 7800 series
- c102 PhotoSmart 8000 series
- c202 PhotoSmart 8200 series
- c302 DeskJet D2300
- c402 PhotoSmart D5100 series
- c502 PhotoSmart D6100 series
- c602 PhotoSmart D7100 series
- c702 PhotoSmart D7300 series
- c802 PhotoSmart D5060 Printer
- d104 Bluetooth Dongle
- efbe NEC Picty900
- f0be NEC Picty920
- f1be NEC Picty800
-03f1 Genoa Technology
-03f2 Oak Technology, Inc.
-03f3 Adaptec, Inc.
- 0020 AWN-8020 WLAN [Intersil PRISM 2.5]
- 0080 AVC-1100 Audio Capture
- 0083 AVC-2200 Device
- 0087 AVC-2210 Loader
- 0088 AVC-2210 Device
- 008b AVC-2310 Loader
- 008c AVC-2310 Device
- 0094 eHome Infrared Receiver
- 009b AVC-1410 GameBridge TV NTSC
- 2000 USBXchange
- 2001 USBXchange Adapter
- 2002 USB2-Xchange
- 2003 USB2-Xchange Adapter
- 4000 4-port hub
- adcc Composite Device Support
-03f4 Diebold, Inc.
-03f5 Siemens Electromechanical
-03f8 Epson Imaging Technology Center
-03f9 KeyTronic Corp.
- 0100 KT-2001 Keyboard
- 0101 Keyboard
- 0102 Keyboard Mouse
-03fb OPTi, Inc.
-03fc Elitegroup Computer Systems
-03fd Xilinx, Inc.
-03fe Farallon Comunications
-0400 National Semiconductor Corp.
- 05dc Rigol Technologies DS1000USB Oscilloscope
- 0807 Bluetooth Dongle
- 080a Bluetooth Device
- 09c4 Rigol Technologies DG1022 Arbitrary Waveform Generator
- 1000 Mustek BearPaw 1200 Scanner
- 1001 Mustek BearPaw 2400 Scanner
- 1237 Hub
- a000 Smart Display Reference Device
- c359 Logitech Harmony
- c35b Printing Support
- c55d Rigol Technologies DS5000USB Oscilloscope
-0401 National Registry, Inc.
-0402 ALi Corp.
- 5462 M5462 IDE Controller
- 5602 M5602 Video Camera Controller
- 5603 M5603 Video Camera Controller
- 5606 M5606 Video Camera Controller [UVC]
- 5621 M5621 High-Speed IDE Controller
- 5623 M5623 Scanner Controller
- 5627 Welland ME-740PS USB2 3.5" Power Saving Enclosure
- 5632 M5632 Host-to-Host Link
- 5635 M5635 Flash Card Reader
- 5636 USB 2.0 Storage Device
- 5637 M5637 IDE Controller
- 5661 M5661 MP3 player
- 5667 M5667 MP3 player
- 9665 Gateway Webcam
-0403 Future Technology Devices International, Ltd
- 0000 H4SMK 7 Port Hub
- 0232 Serial Converter
- 1060 JTAG adapter
- 6001 FT232 USB-Serial (UART) IC
- 6002 Lumel PD12
- 6007 Serial Converter
- 6008 Serial Converter
- 6009 Serial Converter
- 6010 FT2232C Dual USB-UART/FIFO IC
- 6011 FT4232H Quad HS USB-UART/FIFO IC
- 6014 FT232H Single HS USB-UART/FIFO IC
- 6015 Bridge(I2C/SPI/UART/FIFO)
- 8028 Dev board JTAG (FT232H based)
- 8040 4 Port Hub
- 8070 7 Port Hub
- 8370 7 Port Hub
- 8371 PS/2 Keyboard And Mouse
- 8372 FT8U100AX Serial Port
- 8a28 Rainforest Automation ZigBee Controller
- 8a98 TIAO Multi-Protocol Adapter
- 9e90 Marvell OpenRD Base/Client
- 9f80 Ewert Energy Systems CANdapter
- a6d0 Texas Instruments XDS100v2 JTAG / BeagleBone A3
- a951 HCP HIT GSM/GPRS modem [Cinterion MC55i]
- abb8 Lego Mindstorms NXTCam
- b810 US Interface Navigator (CAT and 2nd PTT lines)
- b811 US Interface Navigator (WKEY and FSK lines)
- b812 US Interface Navigator (RS232 and CONFIG lines)
- b9b0 Fujitsu SK-16FX-100PMC V1.1
- baf8 Amontec JTAGkey
- bcd8 Stellaris Development Board
- bcd9 Stellaris Evaluation Board
- bcda Stellaris ICDI Board
- bdc8 Egnite GmbH - JTAG/RS-232 adapter
- bfd8 OpenDCC
- bfd9 OpenDCC (Sniffer)
- bfda OpenDCC (Throttle)
- bfdb OpenDCC (Gateway)
- bfdc OpenDCC (GBM)
- c630 lcd2usb interface
- c631 i2c-tiny-usb interface
- c632 xu1541 c64 floppy drive interface
- c633 TinyCrypt dongle
- c634 glcd2usb interface
- c7d0 RR-CirKits LocoBuffer-USB
- c8b8 Alpermann+Velte MTD TCU
- c8b9 Alpermann+Velte MTD TCU 1HE
- c8ba Alpermann+Velte Rubidium H1
- c8bb Alpermann+Velte Rubidium H3
- c8bc Alpermann+Velte Rubidium S1
- c8bd Alpermann+Velte Rubidium T1
- c8be Alpermann+Velte Rubidium D1
- cc48 Tactrix OpenPort 1.3 Mitsubishi
- cc49 Tactrix OpenPort 1.3 Subaru
- cc4a Tactrix OpenPort 1.3 Universal
- cff8 Amontec JTAGkey
- d010 SCS PTC-IIusb
- d011 SCS Position-Tracker/TNC
- d012 SCS DRAGON 1
- d013 SCS DRAGON 1
- d491 Zolix Omni 1509 monochromator
- d578 Accesio USB-COM-4SM
- d6f8 UNI Black BOX
- d738 Propox JTAGcable II
- d739 Propox ISPcable III
- d9a9 Actisense USG-1 NMEA Serial Gateway
- d9aa Actisense NGT-1 NMEA2000 PC Interface
- e0d0 Total Phase Aardvark I2C/SPI Host Adapter
- e521 EVER Sinline XL Series UPS
- e6c8 PYRAMID Computer GmbH LCD
- e700 Elster Unicom III Optical Probe
- e729 Segway Robotic Mobility Platforms 200
- e888 Expert ISDN Control USB
- e889 USB-RS232 OptoBridge
- e88a Expert mouseCLOCK USB II
- e88b Precision Clock MSF USB
- e88c Expert mouseCLOCK USB II HBG
- e8d8 Aaronia AG Spectran Spectrum Analyzer
- e8dc Aaronia AG UBBV Preamplifier
- ea90 Eclo 1-Wire Adapter
- ed71 HAMEG HO870 Serial Port
- ed72 HAMEG HO720 Serial Port
- ed73 HAMEG HO730 Serial Port
- ed74 HAMEG HO820 Serial Port
- ef10 FT1245BL
- f070 Serial Converter 422/485 [Vardaan VEUSB422R3]
- f1a0 Asix PRESTO Programmer
- f208 Papenmeier Braille-Display
- f3c0 4N-GALAXY Serial Converter
- f608 CTI USB-485-Mini
- f60b CTI USB-Nano-485
- f680 Suunto Sports Instrument
- f758 GW Instek GDS-8x0 Oscilloscope
- f7c0 ZeitControl Cardsystems TagTracer MIFARE
- f850 USB-UIRT (Universal Infrared Receiver+Transmitter)
- f918 Ant8 Logic Probe
- fa00 Matrix Orbital USB Serial
- fa01 Matrix Orbital MX2 or MX3
- fa02 Matrix Orbital MX4 or MX5
- fa03 Matrix Orbital VK/LK202 Family
- fa04 Matrix Orbital VK/LK204 Family
- fa20 Ross-Tech HEX-USB
- fc08 Crystalfontz CFA-632 USB LCD
- fc09 Crystalfontz CFA-634 USB LCD
- fc0b Crystalfontz CFA-633 USB LCD
- fc0c Crystalfontz CFA-631 USB LCD
- fc0d Crystalfontz CFA-635 USB LCD
- fc82 SEMC DSS-20/DSS-25 SyncStation
- fd48 ShipModul MiniPlex-4xUSB NMEA Multiplexer
- fd49 ShipModul MiniPlex-4xUSB-AIS NMEA Multiplexer
- ff08 ToolHouse LoopBack Adapter
- ff18 ScienceScope Logbook ML
- ff19 Logbook Bus
- ff1a Logbook Bus
- ff1b Logbook Bus
- ff1c ScienceScope Logbook LS
- ff1d ScienceScope Logbook HS
- ff1e Logbook Bus
- ff1f Logbook Bus
-0404 NCR Corp.
- 0202 78XX Scanner
- 0203 78XX Scanner - Embedded System
- 0310 K590 Printer, Self-Service
- 0311 7167 Printer, Receipt/Slip
- 0312 7197 Printer Receipt
- 0320 5932-USB Keyboard
- 0321 5953-USB Dynakey
- 0322 5932-USB Enhanced Keyboard
- 0323 5932-USB Enhanced Keyboard, Flash-Recovery/Download
- 0324 5953-USB Enhanced Dynakey
- 0325 5953-USB Enhanced Dynakey Flash-Recovery/Download
- 0328 K016: USB-MSR ISO 3-track MSR: POS Standard (See HID pages)
- 0329 K018: USB-MSR JIS 2-Track MSR: POS Standard
- 032a K016: USB-MSR ISO 3-Track MSR: HID Keyboard Mode
- 032b K016/K018: USB-MSR Flash-Recovery/Download
-0405 Synopsys, Inc.
-0406 Fujitsu-ICL Computers
-0407 Fujitsu Personal Systems, Inc.
-0408 Quanta Computer, Inc.
- 0103 FV TouchCam N1 (Audio)
- 030c HP Webcam
- 03b2 HP Webcam
- 1030 FV TouchCam N1 (Video)
- 3000 Optical dual-touch panel
- 3001 Optical Touch Screen
-0409 NEC Corp.
- 0011 PC98 Series Layout Keyboard Mouse
- 0012 ATerm IT75DSU ISDN TA
- 0014 Japanese Keyboard
- 0019 109 Japanese Keyboard with Bus-Powered Hub
- 001a PC98 Series Layout Keyboard with Bus-Powered Hub
- 0025 Mini Keyboard with Bus-Powered Hub
- 0027 MultiSync Monitor
- 002c Clik!-USB Drive
- 0034 109 Japanese Keyboard with One-touch start buttons
- 003f Wireless Keyboard with One-touch start buttons
- 0040 Floppy
- 004e SuperScript 1400 Series
- 004f Wireless Keyboard with One-touch start buttons
- 0050 7-port hub
- 0058 HighSpeed Hub
- 0059 HighSpeed Hub
- 005a HighSpeed Hub
- 006a Conceptronic USB Harddisk Box
- 007d MINICUBE2
- 007e PG-FP5 Flash Memory Programmer
- 0081 SuperScript 1400 Series
- 0082 SuperScript 1400 Series
- 0094 Japanese Keyboard with One-touch start buttons
- 0095 Japanese Keyboard
- 00a9 AtermIT21L 128K Support Standard
- 00aa AtermITX72 128K Support Standard
- 00ab AtermITX62 128K Support Standard
- 00ac AtermIT42 128K Support Standard
- 00ae INSMATEV70G-MAX Standard
- 00af AtermITX70 128K Support Standard
- 00b0 AtermITX80 128K Support Standard
- 00b2 AtermITX80D 128K Support Standard
- 00c0 Wireless Remocon
- 00f7 Smart Display PK-SD10
- 011d e228 Mobile Phone
- 0203 HID Audio Controls
- 021d Aterm WL54SU2 802.11g Wireless Adapter [Atheros AR5523]
- 0248 Aterm PA-WL54GU
- 0249 Aterm WL300NU-G
- 02b4 Aterm WL300NU-AG
- 02b6 Aterm WL300NU-GS 802.11n Wireless Adapter
- 0300 LifeTouch Note
- 0301 LifeTouch Note (debug mode)
- 55aa Hub
- 55ab Hub [iMac/iTouch kbd]
- 8010 Intellibase Hub
- 8011 Intellibase Hub
- efbe P!cty 900 [HP DJ]
- f0be P!cty 920 [HP DJ 812c]
-040a Kodak Co.
- 0001 DVC-323
- 0002 DVC-325
- 0100 DC-220
- 0110 DC-260
- 0111 DC-265
- 0112 DC-290
- 0120 DC-240
- 0121 DC-240 (PTP firmware)
- 0130 DC-280
- 0131 DC-5000
- 0132 DC-3400
- 0140 DC-4800
- 0160 DC4800
- 0170 DX3900
- 0200 Digital Camera
- 0300 EZ-200
- 0400 MC3
- 0402 Digital Camera
- 0403 Z7590
- 0500 DX3500
- 0510 DX3600
- 0525 DX3215
- 0530 DX3700
- 0535 EasyShare CX4230 Camera
- 0540 LS420
- 0550 DX4900
- 0555 DX4330
- 0560 CX4200
- 0565 CX4210
- 0566 CX4300
- 0567 LS753
- 0568 LS443
- 0569 LS663
- 0570 DX6340
- 0571 CX6330
- 0572 DX6440
- 0573 CX6230
- 0574 CX6200
- 0575 DX6490
- 0576 DX4530
- 0577 DX7630
- 0578 CX7300/CX7310
- 0579 CX7220
- 057a CX7330
- 057b CX7430
- 057c CX7530
- 057d DX7440
- 057e C300
- 057f DX7590
- 0580 Z730
- 0581 Digital Camera
- 0582 Digital Camera
- 0583 Digital Camera
- 0584 CX6445
- 0585 Digital Camera
- 0586 CX7525
- 0587 Digital Camera
- 0588 Digital Camera
- 0589 EasyShare C360
- 058a C310
- 058b Digital Camera
- 058c C330
- 058d C340
- 058e V530
- 058f V550
- 0590 Digital Camera
- 0591 Digital Camera
- 0592 Digital Camera
- 0593 Digital Camera
- 0594 Digital Camera
- 0595 Digital Camera
- 0596 Digital Camera
- 0597 Digital Camera
- 0598 EASYSHARE M1033 digital camera
- 0599 Digital Camera
- 059a Digital Camera
- 059b Digital Camera
- 059c Digital Camera
- 059d Digital Camera
- 059e Digital Camera
- 059f Digital Camera
- 05a0 Digital Camera
- 05a1 Digital Camera
- 05a2 Digital Camera
- 05a3 Digital Camera
- 05a4 Digital Camera
- 05a5 Digital Camera
- 05a6 Digital Camera
- 05a7 Digital Camera
- 05a8 Digital Camera
- 05a9 Digital Camera
- 05aa Digital Camera
- 05ab Digital Camera
- 05ac Digital Camera
- 05ad Digital Camera
- 05ae Digital Camera
- 05af Digital Camera
- 05b0 Digital Camera
- 05b1 Digital Camera
- 05b2 Digital Camera
- 05b3 EasyShare Z710 Camera
- 05b4 Digital Camera
- 05b5 Digital Camera
- 05b6 Digital Camera
- 05b7 Digital Camera
- 05b8 Digital Camera
- 05b9 Digital Camera
- 05ba Digital Camera
- 05bb Digital Camera
- 05bc Digital Camera
- 05bd Digital Camera
- 05be Digital Camera
- 05bf Digital Camera
- 05c0 Digital Camera
- 05c1 Digital Camera
- 05c2 Digital Camera
- 05c3 Digital Camera
- 05c4 Digital Camera
- 05c5 Digital Camera
- 05c8 EASYSHARE Z1485 IS Digital Camera
- 05d3 EasyShare M320 Camera
- 05d4 EasyShare C180 Digital Camera
- 1001 EasyShare SV811 Digital Picture Frame
- 4000 InkJet Color Printer
- 4022 1400 Digital Photo Printer
- 4056 ESP 7200 Series AiO
- 4109 EasyShare Printer Dock Series 3
- 410d EasyShare G600 Printer Dock
- 5010 Wireless Adapter
- 5012 DBT-220 Bluetooth Adapter
- 6001 i30
- 6002 i40
- 6003 i50
- 6004 i60
- 6005 i80
-040b Weltrend Semiconductor
- 6510 Weltrend Bar Code Reader
- 6520 XBOX Xploder
- 6533 Speed-Link Competition Pro
- 6543 Manhattan Magnetic Card Strip Reader
-040c VTech Computers, Ltd
-040d VIA Technologies, Inc.
- 3184 VNT VT6656 USB-802.11 Wireless LAN Adapter
- 6205 USB 2.0 Card Reader
-040e MCCI
-040f Echo Speech Corp.
-0411 BUFFALO INC. (formerly MelCo., Inc.)
- 0001 LUA-TX Ethernet [pegasus]
- 0005 LUA-TX Ethernet
- 0006 WLI-USB-L11 Wireless LAN Adapter
- 0009 LUA2-TX Ethernet
- 000b WLI-USB-L11G-WR Wireless LAN Adapter
- 000d WLI-USB-L11G Wireless LAN Adapter
- 0012 LUA-KTX Ethernet
- 0013 USB2-IDE Adapter
- 0016 WLI-USB-S11 802.11b Adapter
- 0018 USB2-IDE Adapter
- 001c USB-IDE Bridge: DUB-PxxG
- 0027 WLI-USB-KS11G 802.11b Adapter
- 002a SMSC USB97C202 "HD-HB300V2-EU"
- 003d LUA-U2-KTX Ethernet
- 0044 WLI-USB-KB11 Wireless LAN Adapter
- 004b WLI-USB-G54 802.11g Adapter [Broadcom 4320 USB]
- 004d WLI-USB-B11 Wireless LAN Adapter
- 0050 WLI2-USB2-G54 Wireless LAN Adapter
- 005e WLI-U2-KG54-YB WLAN
- 0065 Python2 WDM Encoder
- 0066 WLI-U2-KG54 WLAN
- 0067 WLI-U2-KG54-AI WLAN
- 006e LUA-U2-GT 10/100/1000 Ethernet Adapter
- 0089 RUF-C/U2 Flash Drive
- 008b Nintendo Wi-Fi
- 0091 WLI-U2-KAMG54 Wireless LAN Adapter
- 0092 WLI-U2-KAMG54 Bootloader
- 0097 WLI-U2-KG54-BB
- 00a9 WLI-U2-AMG54HP Wireless LAN Adapter
- 00aa WLI-U2-AMG54HP Bootloader
- 00b3 PC-OP-RS1 RemoteStation
- 00bc WLI-U2-KG125S 802.11g Adapter [Broadcom 4320 USB]
- 00ca 802.11n Network Adapter
- 00cb WLI-U2-G300N 802.11n Adapter
- 00d8 WLI-U2-SG54HP
- 00d9 WLI-U2-G54HP
- 00da WLI-U2-KG54L 802.11bg [ZyDAS ZD1211B]
- 00db External Hard Drive HD-PF32OU2 [Buffalo Ministation]
- 00e8 WLI-UC-G300N Wireless LAN Adapter [Ralink RT2870]
- 0105 External Hard Drive HD-CEU2 [Drive Station]
- 012e WLI-UC-AG300N Wireless LAN Adapter
- 0148 WLI-UC-G300HP Wireless LAN Adapter
- 0150 WLP-UC-AG300 Wireless LAN Adapter
- 0157 External Hard Drive HD-PEU2
- 0158 WLI-UC-GNHP Wireless LAN Adapter
- 015d WLI-UC-GN Wireless LAN Adapter [Ralink RT3070]
- 016f WLI-UC-G301N Wireless LAN Adapter [Ralink RT3072]
- 017f Sony UWA-BR100 802.11abgn Wireless Adapter [Atheros AR7010+AR9280]
- 019e WLI-UC-GNP Wireless LAN Adapter
- 01a1 MiniStation Metro
- 01a2 WLI-UC-GNM Wireless LAN Adapter [Ralink RT8070]
- 01dc Ultra-Slim Portable DVD Writer (DVSM-PC58U2V)
- 01de External Hard Drive HD-PCTU3 [Buffalo MiniStation]
- 01ee WLI-UC-GNM2 Wireless LAN Adapter [Ralink RT3070]
- 01f1 SATA Adapter [HD-LBU3]
- 01fd WLI-UC-G450 Wireless LAN Adapter
-0412 Award Software International
-0413 Leadtek Research, Inc.
- 1310 WinFast TV - NTSC + FM
- 1311 WinFast TV - NTSC + MTS + FM
- 1312 WinFast TV - PAL BG + FM
- 1313 WinFast TV - PAL BG+TXT + FM
- 1314 WinFast TV Audio - PHP PAL I
- 1315 WinFast TV Audio - PHP PAL I+TXT
- 1316 WinFast TV Audio - PHP PAL DK
- 1317 WinFast TV Audio - PHP PAL DK+TXT
- 1318 WinFast TV - PAL I/DK + FM
- 1319 WinFast TV - PAL N + FM
- 131a WinFast TV Audio - PHP SECAM LL
- 131b WinFast TV Audio - PHP SECAM LL+TXT
- 131c WinFast TV Audio - PHP SECAM DK
- 131d WinFast TV - SECAM DK + TXT + FM
- 131e WinFast TV - NTSC Japan + FM
- 1320 WinFast TV - NTSC
- 1321 WinFast TV - NTSC + MTS
- 1322 WinFast TV - PAL BG
- 1323 WinFast TV - PAL BG+TXT
- 1324 WinFast TV Audio - PHP PAL I
- 1325 WinFast TV Audio - PHP PAL I+TXT
- 1326 WinFast TV Audio - PHP PAL DK
- 1327 WinFast TV Audio - PHP PAL DK+TXT
- 1328 WinFast TV - PAL I/DK
- 1329 WinFast TV - PAL N
- 132a WinFast TV Audio - PHP SECAM LL
- 132b WinFast TV Audio - PHP SECAM LL+TXT
- 132c WinFast TV Audio - PHP SECAM DK
- 132d WinFast TV - SECAM DK + TXT
- 132e WinFast TV - NTSC Japan
- 6023 EMP Audio Device
- 6024 WinFast PalmTop/Novo TV Video
- 6025 WinFast DTV Dongle (cold state)
- 6026 WinFast DTV Dongle (warm state)
- 6029 WinFast DTV Dongle Gold
- 6125 WinFast DTV Dongle
- 6126 WinFast DTV Dongle BDA Driver
- 6a03 RTL2832 [WinFast DTV Dongle Mini]
- 6f00 WinFast DTV Dongle (STK7700P based)
-0414 Giga-Byte Technology Co., Ltd
-0416 Winbond Electronics Corp.
- 0035 W89C35 802.11bg WLAN Adapter
- 0101 Hub
- 0961 AVL Flash Card Reader
- 3810 Smart Card Controller
- 3811 Generic Controller - Single interface
- 3812 Smart Card Controller_2Interface
- 3813 Panel Display
- 5011 Virtual Com Port
- 5518 4-Port Hub
- 551a PC Sync Keypad
- 551b PC Async Keypad
- 551c Sync Tenkey
- 551d Async Tenkey
- 551e Keyboard
- 551f Keyboard w/ Sys and Media
- 5521 Keyboard
- 6481 16-bit Scanner
- 7721 Memory Stick Reader/Writer
- 7722 Memory Stick Reader/Writer
- 7723 SD Card Reader
-0417 Symbios Logic
-0418 AST Research
-0419 Samsung Info. Systems America, Inc.
- 0001 IrDA Remote Controller / Creative Cordless Mouse
- 0600 Desktop Wireless 6000
- 3001 Xerox P1202 Laser Printer
- 3003 Olivetti PG L12L
- 3201 Docuprint P8ex
- 3404 SCX-5x12 series
- 3406 MFP 830 series
- 3407 ML-912
- 3601 InkJet Color Printer
- 3602 InkJet Color Printer
- 4602 Remote NDIS Network Device
- 8001 Hub
- 8002 SyncMaster HID Monitor Control
- aa03 SDAS-3 MP3 Player
-041a Phoenix Technologies, Ltd
-041b d'TV
-041d S3, Inc.
-041e Creative Technology, Ltd
- 1002 Nomad II
- 1003 Blaster GamePad Cobra
- 1050 GamePad Cobra
- 1053 Mouse Gamer HD7600L
- 200c MuVo V100
- 2020 Zen X-Fi 2
- 2029 ZiiO
- 2801 Prodikeys PC-MIDI multifunction keyboard
- 3000 SoundBlaster Extigy
- 3002 SB External Composite Device
- 3010 SoundBlaster MP3+
- 3014 SB External Composite Device
- 3015 Sound Blaster Digital Music LX
- 3020 SoundBlaster Audigy 2 NX
- 3030 SB External Composite Device
- 3040 SoundBlaster Live! 24-bit External SB0490
- 3060 Sound Blaster Audigy 2 ZS External
- 3061 SoundBlaster Audigy 2 ZS Video Editor
- 3090 Sound Blaster Digital Music SX
- 30d3 Sound Blaster Play!
- 3121 WoW tap chat
- 3220 Sound Blaster Tactic(3D) Sigma sound card
- 3f00 E-Mu Xboard 25 MIDI Controller
- 3f02 E-Mu 0202
- 3f04 E-Mu 0404
- 3f07 E-Mu Xmidi 1x1
- 4003 VideoBlaster Webcam Go Plus [W9967CF]
- 4004 Nomad II MG
- 4005 Webcam Blaster Go ES
- 4007 Go Mini
- 400a PC-Cam 300
- 400b PC-Cam 600
- 400c Webcam 5 [pwc]
- 400d Webcam PD1001
- 400f PC-CAM 550 (Composite)
- 4011 Webcam PRO eX
- 4012 PC-CAM350
- 4013 PC-Cam 750
- 4015 CardCam Value
- 4016 CardCam
- 4017 Webcam Mobile [PD1090]
- 4018 Webcam Vista [PD1100]
- 4019 Audio Device
- 401a Webcam Vista [PD1100]
- 401c Webcam NX [PD1110]
- 401d Webcam NX Ultra
- 401e Webcam NX Pro
- 401f Webcam Notebook [PD1171]
- 4020 Webcam NX
- 4021 Webcam NX Ultra
- 4022 Webcam NX Pro
- 4028 Vista Plus cam [VF0090]
- 4029 Webcam Live!
- 402f DC-CAM 3000Z
- 4034 Webcam Instant
- 4035 Webcam Instant
- 4036 Webcam Live!/Live! Pro
- 4037 Webcam Live!
- 4038 ORITE CCD Webcam [PC370R]
- 4039 Webcam Live! Effects
- 403a Webcam NX Pro 2
- 403b Creative Webcam Vista [VF0010]
- 403c Webcam Live! Ultra
- 403d Webcam Notebook Ultra
- 403e Webcam Vista Plus
- 4041 Webcam Live! Motion
- 4043 Vibra Plus Webcam
- 4045 Live! Cam Voice
- 4049 Live! Cam Voice
- 4051 Live! Cam Notebook Pro [VF0250]
- 4052 Live! Cam Vista IM
- 4053 Live! Cam Video IM
- 4054 Live! Cam Video IM
- 4055 Live! Cam Video IM Pro
- 4056 Live! Cam Video IM Pro
- 4057 Live! Cam Optia
- 4058 Live! Cam Optia AF
- 4061 Live! Cam Notebook Pro [VF0400]
- 4063 Live! Cam Video IM Pro
- 4068 Live! Cam Notebook [VF0470]
- 406c Live! Cam Sync [VF0520]
- 4083 Live! Cam Socialize [VF0640]
- 4087 Live! Cam Socialize HD 1080 [VF0680]
- 4088 Live! Cam Chat HD [VF0700]
- 4100 Nomad Jukebox 2
- 4101 Nomad Jukebox 3
- 4102 NOMAD MuVo^2
- 4106 Nomad MuVo
- 4107 NOMAD MuVo
- 4108 Nomad Jukebox Zen
- 4109 Nomad Jukebox Zen NX
- 410b Nomad Jukebox Zen USB 2.0
- 410c Nomad MuVo NX
- 410f NOMAD MuVo^2 (Flash)
- 4110 Nomad Jukebox Zen Xtra
- 4111 Dell Digital Jukebox
- 4116 MuVo^2
- 4117 Nomad MuVo TX
- 411b Zen Touch
- 411c Nomad MuVo USB 2.0
- 411d Zen
- 411e Zen Micro
- 4120 Nomad MuVo TX FM
- 4123 Zen Portable Media Center
- 4124 MuVo^2 FM (uHDD)
- 4126 Dell DJ (2nd gen)
- 4127 Dell DJ
- 4128 NOMAD Jukebox Zen Xtra (mtp)
- 412b MuVo N200 with FM radio
- 412f Dell Digital Jukebox 2.Gen
- 4130 Zen Micro (mtp)
- 4131 DAP-HD0014 [Zen Touch] (MTP)
- 4133 Mass Storage Device
- 4134 Zen Neeon
- 4136 Zen Sleek
- 4137 Zen Sleek (mtp)
- 4139 Zen Nano Plus
- 413c Zen MicroPhoto
- 4150 Zen V (MTP)
- 4151 Zen Vision:M (mtp)
- 4152 Zen V Plus
- 4153 Zen Vision W
- 4154 Zen Stone
- 4155 Zen Stone plus
- 4157 Zen (MTP)
- 500f Broadband Blaster 8012U-V
- 5015 TECOM Bluetooth Device
- ffff Webcam Live! Ultra
-041f LCS Telegraphics
-0420 Chips and Technologies
- 1307 Celly SIM Card Reader
-0421 Nokia Mobile Phones
- 0001 E61i (PC Suite mode)
- 0018 6288 GSM Smartphone
- 0019 6288 GSM Smartphone (imaging mode)
- 001a 6288 GSM Smartphone (file transfer mode)
- 0024 5610 XpressMusic (Storage mode)
- 0025 5610 XpressMusic (PC Suite mode)
- 0028 5610 XpressMusic (Imaging mode)
- 002d 6120 Phone (Mass storage mode)
- 002e 6120 Phone (Media-Player mode)
- 002f 6120 Phone (PC-Suite mode)
- 0042 E51 (PC Suite mode)
- 0064 3109c GSM Phone
- 006b 5310 Xpress Music (PC Suite mode)
- 006c 5310 Xpress music (Storage mode)
- 006d N95 (Storage mode)
- 006e N95 (Multimedia mode)
- 006f N95 (Printing mode)
- 0070 N95 (PC Suite mode)
- 0096 N810 Internet Tablet
- 00aa E71 (Mass storage mode)
- 00ab E71 (PC Suite mode)
- 00e4 E71 (Media transfer mode)
- 0103 ADL Flashing Engine AVALON Parent
- 0104 ADL Re-Flashing Engine Parent
- 0105 Nokia Firmware Upgrade Mode
- 0106 ROM Parent
- 0154 5800 XpressMusic (PC Suite mode)
- 0155 5800 XpressMusic (Multimedia mode)
- 0156 5800 XpressMusic (Storage mode)
- 0157 5800 XpressMusic (Imaging mode)
- 0199 6700 Classic (msc)
- 019a 6700 Classic (PC Suite)
- 019b 6700 Classic (mtp)
- 01b0 6303 classic Phone (PC Suite mode)
- 01b1 6303 classic Phone (Mass storage mode)
- 01b2 6303 classic Phone (Printing and media mode)
- 01c7 N900 (Storage Mode)
- 01c8 N900 (PC-Suite Mode)
- 0228 5530 XpressMusic
- 023a 6730 Classic
- 026a N97 (mass storage)
- 026b N97 (Multimedia)
- 026c N97 (PC Suite)
- 026d N97 (Pictures)
- 0295 660i/6600i Slide Phone (Mass Storage)
- 0297 660i/6600i Slide Phone (Still Image)
- 02e1 5230 (Storage mode)
- 02e2 5230 (Multimedia mode)
- 02e3 5230 (PC-Suite mode)
- 02e4 5230 (Imaging mode)
- 0360 C1-01 Ovi Suite Mode
- 03a4 C5 (Storage mode)
- 03c0 C7-00
- 03d1 N950
- 0400 7600 Phone Parent
- 0401 6650 GSM Phone
- 0402 6255 Phone Parent
- 0404 5510
- 0405 9500 GSM Communicator
- 0407 Music Player HDR-1(tm)
- 040b N-Gage GSM Phone
- 040d 6620 Phone Parent
- 040e 6651 Phone Parent
- 040f 6230 GSM Phone
- 0410 6630 Imaging Smartphone
- 0411 7610 Phone Parent
- 0413 6260 Phone Parent
- 0414 7370
- 0415 9300 GSM Smartphone
- 0416 6170 Phone Parent
- 0417 7270 Phone Parent
- 0418 E70 (PC Suite mode)
- 0419 E60 (PC Suite mode)
- 041a 9500 GSM Communicator (RNDIS)
- 041b 9300 GSM Smartphone (RNDIS)
- 041c 7710 Phone Parent
- 041d 6670 Phone Parent
- 041e 6680
- 041f 6235 Phone Parent
- 0421 3230 Phone Parent
- 0422 6681 Phone Parent
- 0423 6682 Phone Parent
- 0428 6230i Modem
- 0429 6230i MultiMedia Card
- 0431 770 Internet Tablet
- 0432 N90 Phone Parent
- 0435 E70 (IP Passthrough/RNDIS mode)
- 0436 E60 (IP Passthrough/RNDIS mode)
- 0437 6265 Phone Parent
- 043a N70 USB Phone Parent
- 043b 3155 Phone Parent
- 043c 6155 Phone Parent
- 043d 6270 Phone Parent
- 0443 N70 Phone Parent
- 0444 N91
- 044c NM850iG Phone Parent
- 044d E61 (PC Suite mode)
- 044e E61 (Data Exchange mode)
- 044f E61 (IP Passthrough/RNDIS mode)
- 0453 9300 Phone Parent
- 0456 6111 Phone Parent
- 0457 6111 Phone (Printing mode)
- 045a 6280 Phone Parent
- 045d 6282 Phone Parent
- 046e 6110 Navigator
- 0471 6110 Navigator
- 0485 MTP Device
- 04b9 5300
- 04bc 5200 (Nokia mode)
- 04bd 5200 (Storage mode)
- 04be 5200 (MTP mode)
- 04c3 N800 Internet Tablet
- 04ce E90 Communicator (PC Suite mode)
- 04cf E90 Communicator (Storage mode)
- 04f0 Nokia N95 (PC Suite mode)
- 04f9 6300 (PC Suite mode)
- 0508 E65 (PC Suite mode)
- 0509 E65 (Storage mode)
- 0518 N9 Phone
- 0600 Digital Pen SU-1B
- 0610 CS-15 (Internet Stick 3G modem)
- 0661 Lumia 920
- 0800 Connectivity Cable DKU-5
- 0801 Data Cable DKU-6
- 0802 CA-42 Phone Parent
-0422 ADI Systems, Inc.
-0423 Computer Access Technology Corp.
- 000a NetMate Ethernet
- 000c NetMate2 Ethernet
- 000d USB Chief Analyzer
- 0100 Generic Universal Protocol Analyzer
- 0101 UPA USBTracer
- 0200 Generic 10K Universal Protocol Analyzer
- 020a PETracer ML
- 0300 Generic Universal Protocol Analyzer
- 0301 2500H Tracer Trainer
- 030a PETracer x1
- 1237 Andromeda Hub
-0424 Standard Microsystems Corp.
- 0001 Integrated Hub
- 0acd Sitecom Internal Multi Memory reader/writer MD-005
- 0fdc Floppy
- 10cd Sitecom Internal Multi Memory reader/writer MD-005
- 2020 USB Hub
- 20cd Sitecom Internal Multi Memory reader/writer MD-005
- 20fc 6-in-1 Card Reader
- 2228 9-in-2 Card Reader
- 223a 8-in-1 Card Reader
- 2503 USB 2.0 Hub
- 2504 USB 2.0 Hub
- 2507 hub
- 2512 USB 2.0 Hub
- 2513 2.0 Hub
- 2514 USB 2.0 Hub
- 2517 Hub
- 2524 USB MultiSwitch Hub
- 2602 USB 2.0 Hub
- 2640 USB 2.0 Hub
- 4060 Ultra Fast Media Reader
- 4064 Ultra Fast Media Reader
- 7500 LAN7500 Ethernet 10/100/1000 Adapter
- 9512 LAN9500 Ethernet 10/100 Adapter / SMSC9512/9514 Hub
- a700 2 Port Hub
- ec00 SMSC9512/9514 Fast Ethernet Adapter
-0425 Motorola Semiconductors HK, Ltd
- 0101 G-Tech Wireless Mouse & Keyboard
- f102 G-Tech U+P Wireless Mouse
-0426 Integrated Device Technology, Inc.
- 0426 WDM Driver
-0427 Motorola Electronics Taiwan, Ltd
-0428 Advanced Gravis Computer Tech, Ltd
- 4001 GamePad Pro
-0429 Cirrus Logic
-042a Ericsson Austrian, AG
-042b Intel Corp.
- 9316 8x931Hx Customer Hub
-042c Innovative Semiconductors, Inc.
-042d Micronics
-042e Acer, Inc.
- 0380 MP3 Player
-042f Molex, Inc.
-0430 Sun Microsystems, Inc.
- 0002 109 Keyboard
- 0005 Type 6 Keyboard
- 000a 109 Japanese Keyboard
- 000b 109 Japanese Keyboard
- 0082 109 Japanese Keyboard
- 0083 109 Japanese Keyboard
- 00a2 Type 7 Keyboard
- 0100 3-button Mouse
- 100e 24.1" LCD Monitor v4 / FID-638 Mouse
- 36ba Bus Powered Hub
- a101 remote key/mouse for P3 chip
- a102 remote key/mouse/storage for P3 chip
- a103 remote storage for P3 chip
- a4a2 Ethernet (RNDIS and CDC ethernet)
- cdab Raritan KVM dongle
-0431 Itac Systems, Inc.
- 0100 Mouse-Trak 3-button Track Ball
-0432 Unisys Corp.
-0433 Alps Electric, Inc.
- 1101 IBM Game Controller
- abab Keyboard
-0434 Samsung Info. Systems America, Inc.
-0435 Hyundai Electronics America
-0436 Taugagreining HF
- 0005 CameraMate (DPCM_USB)
-0437 Framatome Connectors USA
-0438 Advanced Micro Devices, Inc.
-0439 Voice Technologies Group
-043d Lexmark International, Inc.
- 0001 Laser Printer
- 0002 Optra E310 Printer
- 0003 Laser Printer
- 0004 Laser Printer
- 0005 Laser Printer
- 0006 Laser Printer
- 0007 Laser Printer
- 0008 Inkjet Color Printer
- 0009 Optra S2450 Printer
- 000a Laser Printer
- 000b Inkjet Color Printer
- 000c Optra E312 Printer
- 000d Laser Printer
- 000e Laser Printer
- 000f Laser Printer
- 0010 Laser Printer
- 0011 Laser Printer
- 0012 Inkjet Color Printer
- 0013 Inkjet Color Printer
- 0014 InkJet Color Printer
- 0015 InkJet Color Printer
- 0016 Z12 Color Jetprinter
- 0017 Z32 printer
- 0018 Z52 Printer
- 0019 Forms Printer
- 001a Z65 Printer
- 001b InkJet Photo Printer
- 001c Kodak Personal Picture Maker 200 Printer
- 001d InkJet Color Printer
- 001e InkJet Photo Printer
- 001f Kodak Personal Picture Maker 200 Card Reader
- 0020 Z51 Printer
- 0021 Z33 Printer
- 0022 InkJet Color Printer
- 0023 Laser Printer
- 0024 Laser Printer
- 0025 InkJet Color Printer
- 0026 InkJet Color Printer
- 0027 InkJet Color Printer
- 0028 InkJet Color Printer
- 0029 Scan Print Copy
- 002a Scan Print Copy
- 002b Scan Print Copy
- 002c Scan Print Copy
- 002d X70/X73 Scan/Print/Copy
- 002e Scan Print Copy
- 002f Scan Print Copy
- 0030 Scan Print Copy
- 0031 Scan Print Copy
- 0032 Scan Print Copy
- 0033 Scan Print Copy
- 0034 Scan Print Copy
- 0035 Scan Print Copy
- 0036 Scan Print Copy
- 0037 Scan Print Copy
- 0038 Scan Print Copy
- 0039 Scan Print Copy
- 003a Scan Print Copy
- 003b Scan Print Copy
- 003c Scan Print Copy
- 003d X83 Scan/Print/Copy
- 003e Scan Print Copy
- 003f Scan Print Copy
- 0040 Scan Print Copy
- 0041 Scan Print Copy
- 0042 Scan Print Copy
- 0043 Scan Print Copy
- 0044 Scan Print Copy
- 0045 Scan Print Copy
- 0046 Scan Print Copy
- 0047 Scan Print Copy
- 0048 Scan Print Copy
- 0049 Scan Print Copy
- 004a Scan Print Copy
- 004b Scan Print Copy
- 004c Scan Print Copy
- 004d Laser Printer
- 004e Laser Printer
- 004f InkJet Color Printer
- 0050 InkJet Color Printer
- 0051 Laser Printer
- 0052 Laser Printer
- 0053 InkJet Color Printer
- 0054 InkJet Color Printer
- 0057 Z35 Printer
- 0058 Laser Printer
- 005a X63
- 005c InkJet Color Printer
- 0060 X74/X75 Scanner
- 0061 X74 Hub
- 0065 X5130
- 0069 X74/X75 Printer
- 006d X125
- 006e C510
- 0072 X6170 Printer
- 0073 InkJet Color Printer
- 0078 InkJet Color Printer
- 0079 InkJet Color Printer
- 007a Generic Hub
- 007b InkJet Color Printer
- 007c X1110/X1130/X1140/X1150/X1170/X1180/X1185
- 007d Photo 3150
- 008a 4200 series
- 008b InkJet Color Printer
- 008c to CF/SM/SD/MS Card Reader
- 008e InkJet Color Printer
- 008f X422
- 0093 X5250
- 0095 E220 Printer
- 0096 2200 series
- 0097 P6250
- 0098 7100 series
- 009e P910 series Human Interface Device
- 009f InkJet Color Printer
- 00a9 IBM Infoprint 1410 MFP
- 00ab InkJet Color Printer
- 00b2 3300 series
- 00b8 7300 series
- 00b9 8300 series
- 00ba InkJet Color Printer
- 00bb 2300 series
- 00bd Printing Support
- 00be Printing Support
- 00bf Printing Support
- 00c0 6300 series
- 00c1 4300 series
- 00c7 Printing Support
- 00c8 Printing Support
- 00c9 Printing Support
- 00cb Printing Support
- 00cc E120(n)
- 00d0 9300 series
- 00d3 X340 Scanner
- 00d4 X342n Scanner
- 00d5 Printing Support
- 00d6 X340 Scanner
- 00e8 X642e
- 00e9 2400 series
- 00f6 3400 series
- 00f7 InkJet Color Printer
- 00ff InkJet Color Printer
- 010b 2500 series
- 010d 3500-4500 series
- 010f 6500 series
- 0142 X3650 (Printer, Scanner, Copier)
- 4303 Xerox WorkCentre Pro 412
-043e LG Electronics USA, Inc.
- 3001 AN-WF100 802.11abgn Wireless Adapter [Broadcom BCM4323]
- 42bd Flatron 795FT Plus Monitor
- 4a4d Flatron 915FT Plus Monitor
- 7001 MF-PD100 Soul Digital MP3 Player
- 7013 MP3 Player
- 8484 LPC-U30 Webcam II
- 8585 LPC-UC35 Webcam
- 8888 Electronics VCS Camera II(LPC-U20)
- 9800 Remote Control Receiver_iMON
- 9803 eHome Infrared Receiver
- 9804 DMB Receiver Control
- 9c01 LGE Sync
-043f RadiSys Corp.
-0440 Eizo Nanao Corp.
-0441 Winbond Systems Lab.
- 1456 Hub
-0442 Ericsson, Inc.
- abba Bluetooth Device
-0443 Gateway, Inc.
- 000e Multimedia Keyboard
- 002e Millennium Keyboard
-0445 Lucent Technologies, Inc.
-0446 NMB Technologies Corp.
- 6781 Keyboard with PS/2 Mouse Port
- 6782 Keyboard
-0447 Momentum Microsystems
-044a Shamrock Tech. Co., Ltd
-044b WSI
-044c CCL/ITRI
-044d Siemens Nixdorf AG
-044e Alps Electric Co., Ltd
- 1104 Japanese Keyboard
- 2002 MD-5500 Printer
- 2014 Bluetooth Device
- 3001 UGTZ4 Bluetooth
- 3002 Bluetooth Device
- 3003 Bluetooth Device
- 3004 Bluetooth Adapter
- 3005 Integrated Bluetooth Device
- 3006 Bluetooth Adapter
- 3007 Bluetooth Controller (ALPS/UGX)
- 300c Bluetooth Controller (ALPS/UGPZ6)
- 300d Bluetooth Controller (ALPS/UGPZ6)
- 3010 Bluetooth Adapter
- 3017 BCM2046 Bluetooth Device
- ffff Compaq Bluetooth Multiport Module
-044f ThrustMaster, Inc.
- 0400 HOTAS Cougar
- 044f GP XID
- a003 Rage 3D Game Pad
- a01b PK-GP301 Driving Wheel
- a0a0 Top Gun Joystick
- a0a1 Top Gun Joystick (rev2)
- a0a3 Fusion Digital GamePad
- a201 PK-GP201 PlayStick
- b108 T-Flight Hotas X Flight Stick
- b10a T.16000M Joystick
- b203 360 Modena Pro Wheel
- b300 Firestorm Dual Power
- b304 Firestorm Dual Power
- b307 vibrating Upad
- b30b Wireless VibrationPad
- b315 Firestorm Dual Analog 3
- b323 Dual Trigger 3-in-1 (PC Mode)
- b324 Dual Trigger 3-in-1 (PS3 Mode)
- b603 force feedback Wheel
- b605 force feedback Racing Wheel
- b651 Ferrari GT Rumble Force Wheel
- b653 RGT Force Feedback Clutch Racing Wheel
- b654 Ferrari GT Force Feedback Wheel
- b700 Tacticalboard
-0450 DFI, Inc.
-0451 Texas Instruments, Inc.
- 1234 Bluetooth Device
- 1428 Hub
- 1446 TUSB2040/2070 Hub
- 16a6 BM-USBD1 BlueRobin RF heart rate sensor receiver
- 2036 TUSB2036 Hub
- 2046 TUSB2046 Hub
- 2077 TUSB2077 Hub
- 3410 TUSB3410 Microcontroller
- 3f00 OMAP1610
- 3f02 SMC WSKP100 Wi-Fi Phone
- 5409 Frontier Labs NEX IA+ Digital Audio Player
- 6000 AU5 ADSL Modem (pre-reenum)
- 6001 AU5 ADSL Modem
- 6060 RNDIS/BeWAN ADSL2+
- 6070 RNDIS/BeWAN ADSL2+
- 625f TUSB6250 ATA Bridge
- 8042 Hub
- dbc0 Device Bay Controller
- e001 GraphLink
- e003 TI-84 Plus Calculator
- e004 TI-89 Titanium Calculator
- e008 TI-84 Plus Silver Calculator
- f430 MSP-FET430UIF JTAG Tool
- f432 eZ430 Development Tool
- ffff Bluetooth Device
-0452 Mitsubishi Electronics America, Inc.
- 0021 HID Monitor Controls
- 0050 Diamond Pro 900u CRT Monitor
- 0051 Integrated Hub
-0453 CMD Technology
- 6781 NMB Keyboard
- 6783 Chicony Composite Keyboard
-0454 Vobis Microcomputer AG
-0455 Telematics International, Inc.
-0456 Analog Devices, Inc.
- f000 FT2232 JTAG ICE [gnICE]
- f001 FT2232H Hi-Speed JTAG ICE [gnICE+]
-0457 Silicon Integrated Systems Corp.
- 0150 Super Talent 1GB Flash Drive
- 0151 Super Flash 1GB / GXT 64MB Flash Drive
- 0162 SiS162 usb Wireless LAN Adapter
- 0163 802.11 Wireless LAN Adapter
- 5401 Wireless Adapter RO80211GS-USB
-0458 KYE Systems Corp. (Mouse Systems)
- 0001 Mouse
- 0002 Genius NetMouse Pro
- 0003 Genius NetScroll+
- 0006 Easy Mouse+
- 000b NetMouse Wheel(P+U)
- 000c TACOMA Fingerprint V1.06.01
- 000e VideoCAM Web
- 0013 TACOMA Fingerprint Mouse V1.06.01
- 001a Genius WebScroll+
- 0036 Pocket Mouse LE
- 0039 NetScroll+ Superior
- 003a NetScroll+ Mini Traveler / Genius NetScroll 120
- 004c Slimstar Pro Keyboard
- 0056 Ergo 300 Mouse
- 0057 Enhanced Gaming Device
- 0059 Enhanced Laser Device
- 005a Enhanced Device
- 005b Enhanced Device
- 005c Enhanced Laser Gaming Device
- 005d Enhanced Device
- 0061 Bluetooth Dongle
- 0066 Genius Traveler 1000 Wireless Mouse
- 0072 Navigator 335
- 0083 Bluetooth Dongle
- 0087 Ergo 525V Laser Mouse
- 00ca Pen Mouse
- 0100 EasyPen Tablet
- 0101 CueCat
- 011b NetScroll T220
- 1001 Joystick
- 1002 Game Pad
- 1003 Genius VideoCam
- 1004 Flight2000 F-23 Joystick
- 100a Aashima Technology Trust Sight Fighter Vibration Feedback Joystick
- 2001 ColorPage-Vivid Pro Scanner
- 2004 ColorPage-HR6 V1 Scanner
- 2005 ColorPage-HR6/Vivid3
- 2007 ColorPage-HR6 V2 Scanner
- 2008 ColorPage-HR6 V2 Scanner
- 2009 ColorPage-HR6A Scanner
- 2011 ColorPage-Vivid3x Scanner
- 2012 Plustek Scanner
- 2013 ColorPage-HR7 Scanner
- 2014 ColorPage-Vivid4
- 2015 ColorPage-HR7LE Scanner
- 2016 ColorPage-HR6X Scanner
- 2017 ColorPage-Vivid3xe
- 2018 ColorPage-HR7X
- 2019 ColorPage-HR6X Slim
- 201a ColorPage-Vivid4xe
- 201b ColorPage-Vivid4x
- 201c ColorPage-HR8
- 201d ColorPage-Vivid 1200 X
- 201e ColorPage-Slim 1200
- 201f ColorPage-Vivid 1200 XE
- 2020 ColorPage-Slim 1200 USB2
- 2021 ColorPage-SF600
- 3017 SPEED WHEEL 3 Vibration
- 3018 Wireless 2.4Ghz Game Pad
- 3019 10-Button USB Joystick with Vibration
- 301a MaxFire G-12U Vibration
- 301d Genius MaxFire MiniPad
- 400f Genius TVGo DVB-T02Q MCE
- 4012 TVGo DVB-T03 [AF9015]
- 5003 G-pen 560 Tablet
- 5004 G-pen Tablet
- 6001 GF3000F Ethernet Adapter
- 7004 VideoCAM Express V2
- 7006 Dsc 1.3 Smart Camera Device
- 7007 VideoCAM Web
- 7009 G-Shot G312 Still Camera Device
- 700c VideoCAM Web V3
- 700d G-Shot G511 Composite Device
- 700f VideoCAM Web
- 7012 WebCAM USB2.0
- 7014 VideoCAM Live V3
- 701c G-Shot G512 Still Camera
- 7020 Sim 321C
- 7025 Eye 311Q Camera
- 7029 Genius Look 320s (SN9C201 + HV7131R)
- 702f Genius Slim 322
- 7035 i-Look 325T Camera
- 7045 Genius Look 1320 V2
- 704c Genius i-Look 1321
- 704d Slim 1322AF
- 7055 Slim 2020AF camera
- 705a Asus USB2.0 Webcam
- 705c Genius iSlim 1300AF
- 7079 FaceCam 2025R
- 707f TVGo DVB-T03 [RTL2832]
-0459 Adobe Systems, Inc.
-045a SONICblue, Inc.
- 07da Supra Express 56K modem
- 0b4a SupraMax 2890 56K Modem [Lucent Atlas]
- 0b68 SupraMax 56K Modem
- 5001 Rio 600 MP3 Player
- 5002 Rio 800 MP3 Player
- 5003 Nike Psa/Play MP3 Player
- 5005 Rio S10 MP3 Player
- 5006 Rio S50 MP3 Player
- 5007 Rio S35 MP3 Player
- 5008 Rio 900 MP3 Player
- 5009 Rio S30 MP3 Player
- 500d Fuse MP3 Player
- 500e Chiba MP3 Player
- 500f Cali MP3 Player
- 5010 Rio S11 MP3 Player
- 501c Virgin MPF-1000
- 501d Rio Fuse
- 501e Rio Chiba
- 501f Rio Cali
- 503f Cali256 MP3 Player
- 5202 Rio Riot MP3 Player
- 5210 Rio Karma Music Player
- 5220 Rio Nitrus MP3 Player
- 5221 Rio Eigen
-045b Hitachi, Ltd
- 0053 RX610 RX-Stick
-045d Nortel Networks, Ltd
-045e Microsoft Corp.
- 0007 SideWinder Game Pad
- 0008 SideWinder Precision Pro
- 0009 IntelliMouse
- 000b Natural Keyboard Elite
- 000e SideWinder® Freestyle Pro
- 0014 Digital Sound System 80
- 001a SideWinder Precision Racing Wheel
- 001b SideWinder Force Feedback 2 Joystick
- 001c Internet Keyboard Pro
- 001d Natural Keyboard Pro
- 001e IntelliMouse Explorer
- 0023 Trackball Optical
- 0024 Trackball Explorer
- 0025 IntelliEye Mouse
- 0026 SideWinder GamePad Pro
- 0027 SideWinder PnP GamePad
- 0028 SideWinder Dual Strike
- 0029 IntelliMouse Optical
- 002b Internet Keyboard Pro
- 002d Internet Keyboard
- 002f Integrated Hub
- 0033 Sidewinder Strategic Commander
- 0034 SideWinder Force Feedback Wheel
- 0038 SideWinder Precision 2
- 0039 IntelliMouse Optical
- 003b SideWinder Game Voice
- 003c SideWinder Joystick
- 0040 Wheel Mouse Optical
- 0047 IntelliMouse Explorer 3.0
- 0048 Office Keyboard 1.0A
- 0053 Optical Mouse
- 0059 Wireless IntelliMouse Explorer
- 005c Office Keyboard (106/109)
- 005f Wireless MultiMedia Keyboard
- 0061 Wireless MultiMedia Keyboard (106/109)
- 0063 Wireless Natural MultiMedia Keyboard
- 0065 Wireless Natural MultiMedia Keyboard (106/109)
- 006a Wireless Optical Mouse (IntelliPoint)
- 006d eHome Remote Control Keyboard keys
- 006e MN-510 802.11b Wireless Adapter [Intersil ISL3873B]
- 006f Smart Display Reference Device
- 0070 Wireless MultiMedia Keyboard
- 0071 Wireless MultiMedia Keyboard (106/109)
- 0072 Wireless Natural MultiMedia Keyboard
- 0073 Wireless Natural MultiMedia Keyboard (106/109)
- 0079 IXI Ogo CT-17 handheld device
- 007a 10/100 USB NIC
- 007d Notebook Optical Mouse
- 007e Wireless Transceiver for Bluetooth
- 0080 Digital Media Pro Keyboard
- 0083 Basic Optical Mouse
- 0084 Basic Optical Mouse
- 008a Wireless Keyboard and Mouse
- 008b Dual Receiver Wireless Mouse (IntelliPoint)
- 008c Wireless Intellimouse Explorer 2.0
- 0095 IntelliMouse Explorer 4.0 (IntelliPoint)
- 009c Wireless Transceiver for Bluetooth 2.0
- 009d Wireless Optical Desktop 3.0
- 00a0 eHome Infrared Receiver
- 00a4 Compact Optical Mouse, model 1016
- 00b0 Digital Media Pro Keyboard
- 00b4 Digital Media Keyboard 1.0A
- 00b9 Wireless Optical Mouse 3.0
- 00bb Fingerprint Reader
- 00bc Fingerprint Reader
- 00bd Fingerprint Reader
- 00c2 MN-710 802.11g Wireless Adapter [Intersil ISL3886]
- 00c9 MTP Device
- 00ca Fingerprint Reader
- 00cb Basic Optical Mouse v2.0
- 00ce Generic PPC Flash device
- 00d1 Optical Mouse with Tilt Wheel
- 00da eHome Infrared Receiver
- 00db Natural Ergonomic Keyboard 4000 V1.0
- 00dd Comfort Curve Keyboard 2000 V1.0
- 00e1 Wireless Laser Mouse 6000 Reciever
- 00f4 LifeCam VX-6000 (SN9C20x + OV9650)
- 00f5 LifeCam VX-3000
- 00f6 Comfort Optical Mouse 1000
- 00f7 LifeCam VX-1000
- 00f8 LifeCam NX-6000
- 00f9 Wireless Desktop Receiver 3.1
- 0202 Xbox Controller
- 0280 XBox Device
- 0283 Xbox Communicator
- 0284 Xbox DVD Playback Kit
- 0285 Xbox Controller S
- 0288 Xbox Controller S Hub
- 0289 Xbox Controller S
- 028b Xbox360 DVD Emulator
- 028d Xbox360 Memory Unit 64MB
- 028e Xbox360 Controller
- 028f Xbox360 Wireless Controller
- 0290 Xbox360 Performance Pipe (PIX)
- 0291 Xbox 360 Wireless Receiver for Windows
- 0292 Xbox360 Wireless Networking Adapter
- 029c Xbox360 HD-DVD Drive
- 029d Xbox360 HD-DVD Drive
- 029e Xbox360 HD-DVD Memory Unit
- 02a0 Xbox360 Big Button IR
- 02a8 Xbox360 Wireless N Networking Adapter [Atheros AR7010+AR9280]
- 02ad Xbox NUI Audio
- 02ae Xbox NUI Camera
- 02b0 Xbox NUI Motor
- 0400 Windows Powered Pocket PC 2002
- 0401 Windows Powered Pocket PC 2002
- 0402 Windows Powered Pocket PC 2002
- 0403 Windows Powered Pocket PC 2002
- 0404 Windows Powered Pocket PC 2002
- 0405 Windows Powered Pocket PC 2002
- 0406 Windows Powered Pocket PC 2002
- 0407 Windows Powered Pocket PC 2002
- 0408 Windows Powered Pocket PC 2002
- 0409 Windows Powered Pocket PC 2002
- 040a Windows Powered Pocket PC 2002
- 040b Windows Powered Pocket PC 2002
- 040c Windows Powered Pocket PC 2002
- 040d Windows Powered Pocket PC 2002
- 040e Windows Powered Pocket PC 2002
- 040f Windows Powered Pocket PC 2002
- 0410 Windows Powered Pocket PC 2002
- 0411 Windows Powered Pocket PC 2002
- 0412 Windows Powered Pocket PC 2002
- 0413 Windows Powered Pocket PC 2002
- 0414 Windows Powered Pocket PC 2002
- 0415 Windows Powered Pocket PC 2002
- 0416 Windows Powered Pocket PC 2002
- 0417 Windows Powered Pocket PC 2002
- 0432 Windows Powered Pocket PC 2003
- 0433 Windows Powered Pocket PC 2003
- 0434 Windows Powered Pocket PC 2003
- 0435 Windows Powered Pocket PC 2003
- 0436 Windows Powered Pocket PC 2003
- 0437 Windows Powered Pocket PC 2003
- 0438 Windows Powered Pocket PC 2003
- 0439 Windows Powered Pocket PC 2003
- 043a Windows Powered Pocket PC 2003
- 043b Windows Powered Pocket PC 2003
- 043c Windows Powered Pocket PC 2003
- 043d Becker Traffic Assist Highspeed 7934
- 043e Windows Powered Pocket PC 2003
- 043f Windows Powered Pocket PC 2003
- 0440 Windows Powered Pocket PC 2003
- 0441 Windows Powered Pocket PC 2003
- 0442 Windows Powered Pocket PC 2003
- 0443 Windows Powered Pocket PC 2003
- 0444 Windows Powered Pocket PC 2003
- 0445 Windows Powered Pocket PC 2003
- 0446 Windows Powered Pocket PC 2003
- 0447 Windows Powered Pocket PC 2003
- 0448 Windows Powered Pocket PC 2003
- 0449 Windows Powered Pocket PC 2003
- 044a Windows Powered Pocket PC 2003
- 044b Windows Powered Pocket PC 2003
- 044c Windows Powered Pocket PC 2003
- 044d Windows Powered Pocket PC 2003
- 044e Windows Powered Pocket PC 2003
- 044f Windows Powered Pocket PC 2003
- 0450 Windows Powered Pocket PC 2003
- 0451 Windows Powered Pocket PC 2003
- 0452 Windows Powered Pocket PC 2003
- 0453 Windows Powered Pocket PC 2003
- 0454 Windows Powered Pocket PC 2003
- 0455 Windows Powered Pocket PC 2003
- 0456 Windows Powered Pocket PC 2003
- 0457 Windows Powered Pocket PC 2003
- 0458 Windows Powered Pocket PC 2003
- 0459 Windows Powered Pocket PC 2003
- 045a Windows Powered Pocket PC 2003
- 045b Windows Powered Pocket PC 2003
- 045c Windows Powered Pocket PC 2003
- 045d Windows Powered Pocket PC 2003
- 045e Windows Powered Pocket PC 2003
- 045f Windows Powered Pocket PC 2003
- 0460 Windows Powered Pocket PC 2003
- 0461 Windows Powered Pocket PC 2003
- 0462 Windows Powered Pocket PC 2003
- 0463 Windows Powered Pocket PC 2003
- 0464 Windows Powered Pocket PC 2003
- 0465 Windows Powered Pocket PC 2003
- 0466 Windows Powered Pocket PC 2003
- 0467 Windows Powered Pocket PC 2003
- 0468 Windows Powered Pocket PC 2003
- 0469 Windows Powered Pocket PC 2003
- 046a Windows Powered Pocket PC 2003
- 046b Windows Powered Pocket PC 2003
- 046c Windows Powered Pocket PC 2003
- 046d Windows Powered Pocket PC 2003
- 046e Windows Powered Pocket PC 2003
- 046f Windows Powered Pocket PC 2003
- 0470 Windows Powered Pocket PC 2003
- 0471 Windows Powered Pocket PC 2003
- 0472 Windows Powered Pocket PC 2003
- 0473 Windows Powered Pocket PC 2003
- 0474 Windows Powered Pocket PC 2003
- 0475 Windows Powered Pocket PC 2003
- 0476 Windows Powered Pocket PC 2003
- 0477 Windows Powered Pocket PC 2003
- 0478 Windows Powered Pocket PC 2003
- 0479 Windows Powered Pocket PC 2003
- 047a Windows Powered Pocket PC 2003
- 047b Windows Powered Pocket PC 2003
- 04c8 Windows Powered Smartphone 2002
- 04c9 Windows Powered Smartphone 2002
- 04ca Windows Powered Smartphone 2002
- 04cb Windows Powered Smartphone 2002
- 04cc Windows Powered Smartphone 2002
- 04cd Windows Powered Smartphone 2002
- 04ce Windows Powered Smartphone 2002
- 04d7 Windows Powered Smartphone 2003
- 04d8 Windows Powered Smartphone 2003
- 04d9 Windows Powered Smartphone 2003
- 04da Windows Powered Smartphone 2003
- 04db Windows Powered Smartphone 2003
- 04dc Windows Powered Smartphone 2003
- 04dd Windows Powered Smartphone 2003
- 04de Windows Powered Smartphone 2003
- 04df Windows Powered Smartphone 2003
- 04e0 Windows Powered Smartphone 2003
- 04e1 Windows Powered Smartphone 2003
- 04e2 Windows Powered Smartphone 2003
- 04e3 Windows Powered Smartphone 2003
- 04e4 Windows Powered Smartphone 2003
- 04e5 Windows Powered Smartphone 2003
- 04e6 Windows Powered Smartphone 2003
- 04e7 Windows Powered Smartphone 2003
- 04e8 Windows Powered Smartphone 2003
- 04e9 Windows Powered Smartphone 2003
- 04ea Windows Powered Smartphone 2003
- 04ec Windows Phone (Zune)
- 063e Zune HD Media Player
- 0640 KIN Phone
- 0641 KIN Phone
- 0642 KIN Phone
- 0707 Wireless Laser Mouse 8000
- 0708 Transceiver v 3.0 for Bluetooth
- 070a Charon Bluetooth Dongle (DFU)
- 0710 Zune Media Player
- 0713 Wireless Presenter Mouse 8000
- 0719 Xbox 360 Wireless Adapter
- 071f Mouse/Keyboard 2.4GHz Transceiver V2.0
- 0721 LifeCam NX-3000 (UVC-compliant)
- 0723 LifeCam VX-7000 (UVC-compliant)
- 0724 SideWinder Mouse
- 0730 Digital Media Keyboard 3000
- 0734 Wireless Optical Desktop 700
- 0736 Sidewinder X5 Mouse
- 0737 Compact Optical Mouse 500
- 0745 Nano Transceiver v1.0 for Bluetooth
- 0750 Wired Keyboard 600
- 0752 Wired Keyboard 400
- 075d LifeCam Cinema
- 0766 LifeCam VX-800
- 0768 Sidewinder X4
- 076c Comfort Mouse 4500
- 076d LifeCam HD-5000
- 0772 LifeCam Studio
- 0779 LifeCam HD-3000
- 930a ISOUSB.SYS Intel 82930 Isochronous IO Test Board
- fff8 Keyboard
- ffff Windows CE Mass Storage
-0460 Ace Cad Enterprise Co., Ltd
- 0004 Tablet (5x3.75)
- 0006 LCD Tablet (12x9)
- 0008 Tablet (3x2.25)
-0461 Primax Electronics, Ltd
- 0010 HP Keyboard
- 0300 G2-300 Scanner
- 0301 G2E-300 Scanner
- 0302 G2-300 #2 Scanner
- 0303 G2E-300 #2 Scanner
- 0340 Colorado 9600 Scanner
- 0341 Colorado 600u Scanner
- 0345 Visioneer 6200 Scanner
- 0346 Memorex Maxx 6136u Scanner
- 0347 Primascan Colorado 2600u/Visioneer 4400 Scanner
- 0360 Colorado 19200 Scanner
- 0361 Colorado 1200u Scanner
- 0363 VistaScan Astra 3600(ENG)
- 0364 LG Electronics Scanworks 600U Scanner
- 0365 VistaScan Astra 3600(ENG)
- 0366 6400
- 0367 VistaScan Astra 3600(ENG)
- 0371 Visioneer Onetouch 8920 Scanner
- 0374 UMAX Astra 2500
- 0375 VistaScan Astra 3600(ENG)
- 0377 Medion MD 5345 Scanner
- 0378 VistaScan Astra 3600(ENG)
- 037b Medion MD 6190 Scanner
- 037c VistaScan Astra 3600(ENG)
- 0380 G2-600 Scanner
- 0381 ReadyScan 636i Scanner
- 0382 G2-600 #2 Scanner
- 0383 G2E-600 Scanner
- 038a UMAX Astra 3000/3600
- 038b Xerox 2400 Onetouch
- 038c UMAX Astra 4100
- 0392 Medion/Lifetec/Tevion/Cytron MD 6190
- 03a8 9420M
- 0813 IBM UltraPort Camera
- 0815 Micro Innovations IC200 Webcam
- 0819 Fujifilm IX-30 Camera [webcam mode]
- 081a Fujifilm IX-30 Camera [storage mode]
- 081c Elitegroup ECS-C11 Camera
- 081d Elitegroup ECS-C11 Storage
- 0a00 Micro Innovations Web Cam 320
- 4d01 Comfort Keyboard
- 4d02 Mouse-in-a-Box
- 4d03 Kensington Mouse-in-a-box
- 4d04 Mouse
- 4d06 Balless Mouse (HID)
- 4d0f HP Optical Mouse
- 4d15 Dell Optical Mouse
- 4d17 Optical Mouse
- 4d20 HP Optical Mouse
- 4d2a PoPo Elixir Mouse (HID)
- 4d2b Wireless Laser Mini Mouse (HID)
- 4d2c PoPo Mini Pointer Mouse (HID)
- 4d2e Optical Mobile Mouse (HID)
- 4d51 0Y357C PMX-MMOCZUL (B) [Dell Laser Mouse]
- 4d62 HP Laser Mobile Mini Mouse
- 4d75 Rocketfish RF-FLBTAD Bluetooth Adapter
- 4d81 Dell N889 Optical Mouse
- 4de7 webcam
-0463 MGE UPS Systems
- 0001 UPS
- ffff UPS
-0464 AMP/Tycoelectronics Corp.
-0467 AT&T Paradyne
-0468 Wieson Technologies Co., Ltd
-046a Cherry GmbH
- 0001 My3000 Keyboard
- 0003 My3000 Hub
- 0004 CyBoard Keyboard
- 0005 XX33 SmartCard Reader Keyboard
- 0008 Wireless Keyboard and Mouse
- 0010 SmartBoard XX44
- 0011 G83 (RS 6000) Keyboard
- 0021 CyMotion Expert Combo
- 0023 CyMotion Master Linux Keyboard G230
- 0027 CyMotion Master Solar Keyboard
- 002a Wireless Mouse & Keyboard
- 002d SmartTerminal XX44
- 003e SmartTerminal ST-2xxx
- 0080 eHealth Terminal ST 1503
- 0081 eHealth Keyboard G87 1504
- 0106 R-300 Wireless Mouse Receiver
-046b American Megatrends, Inc.
- 0001 Keyboard
- 0101 PS/2 Keyboard, Mouse & Joystick Ports
- 0301 USB 1.0 Hub
- 0500 Serial & Parallel Ports
- ff10 Virtual Keyboard and Mouse
-046c Toshiba Corp., Digital Media Equipment
-046d Logitech, Inc.
- 0082 Acer Aspire 5672 Webcam
- 0200 WingMan Extreme Joystick
- 0203 M2452 Keyboard
- 0301 M4848 Mouse
- 0401 HP PageScan
- 0402 NEC PageScan
- 040f Logitech/Storm PageScan
- 0430 Mic (Cordless)
- 0801 QuickCam Home
- 0802 Webcam C200
- 0804 Webcam C250
- 0805 Webcam C300
- 0807 Webcam B500
- 0808 Webcam C600
- 0809 Webcam Pro 9000
- 080a Portable Webcam C905
- 080f Webcam C120
- 0810 QuickCam Pro
- 0819 Webcam C210
- 081b Webcam C310
- 081d HD Webcam C510
- 0820 QuickCam VC
- 0821 HD Webcam C910
- 0825 Webcam C270
- 0828 HD Webcam B990
- 082d HD Pro Webcam C920
- 0830 QuickClip
- 0840 QuickCam Express
- 0850 QuickCam Web
- 0870 QuickCam Express
- 0890 QuickCam Traveler
- 0892 OrbiCam
- 0894 CrystalCam
- 0895 QuickCam for Dell Notebooks
- 0896 OrbiCam
- 0897 QuickCam for Dell Notebooks
- 0899 QuickCam for Dell Notebooks
- 089d QuickCam E2500 series
- 08a0 QuickCam IM
- 08a1 QuickCam IM with sound
- 08a2 Labtec Webcam Pro
- 08a3 QuickCam QuickCam Chat
- 08a6 QuickCam IM
- 08a7 QuickCam Image
- 08a9 Notebook Deluxe
- 08aa Labtec Notebooks
- 08ac QuickCam Cool
- 08ad QuickCam Communicate STX
- 08ae QuickCam for Notebooks
- 08af QuickCam Easy/Cool
- 08b0 QuickCam 3000 Pro [pwc]
- 08b1 QuickCam Notebook Pro
- 08b2 QuickCam Pro 4000
- 08b3 QuickCam Zoom
- 08b4 QuickCam Zoom
- 08b5 QuickCam Sphere
- 08b9 QuickCam IM
- 08bd Microphone (Pro 4000)
- 08c0 QuickCam Pro 3000
- 08c1 QuickCam Fusion
- 08c2 QuickCam PTZ
- 08c3 Camera (Notebooks Pro)
- 08c5 QuickCam Pro 5000
- 08c6 QuickCam for DELL Notebooks
- 08c7 QuickCam OEM Cisco VT Camera II
- 08c9 QuickCam Ultra Vision
- 08ca Mic (Fusion)
- 08cb Mic (Notebooks Pro)
- 08cc Mic (PTZ)
- 08ce QuickCam Pro 5000
- 08cf QuickCam UpdateMe
- 08d0 QuickCam Express
- 08d7 QuickCam Communicate STX
- 08d8 QuickCam for Notebook Deluxe
- 08d9 QuickCam IM/Connect
- 08da QuickCam Messanger
- 08dd QuickCam for Notebooks
- 08e0 QuickCam Express
- 08e1 Labtec Webcam
- 08f0 QuickCam Messenger
- 08f1 QuickCam Express
- 08f2 Microphone (Messenger)
- 08f3 QuickCam Express
- 08f4 Labtec Webcam
- 08f5 QuickCam Messenger Communicate
- 08f6 QuickCam Messenger Plus
- 0900 ClickSmart 310
- 0901 ClickSmart 510
- 0903 ClickSmart 820
- 0905 ClickSmart 820
- 0910 QuickCam Cordless
- 0920 QuickCam Express
- 0921 Labtec Webcam
- 0922 QuickCam Live
- 0928 QuickCam Express
- 0929 Labtec Webcam Pro
- 092a QuickCam for Notebooks
- 092b Labtec Webcam Plus
- 092c QuickCam Chat
- 092d QuickCam Express / Go
- 092e QuickCam Chat
- 092f QuickCam Express Plus
- 0950 Pocket Camera
- 0960 ClickSmart 420
- 0970 Pocket750
- 0990 QuickCam Pro 9000
- 0991 QuickCam Pro for Notebooks
- 0992 QuickCam Communicate Deluxe
- 0994 QuickCam Orbit/Sphere AF
- 09a1 QuickCam Communicate MP/S5500
- 09a2 QuickCam Communicate Deluxe/S7500
- 09a4 QuickCam E 3500
- 09a5 Quickcam 3000 For Business
- 09a6 QuickCam Vision Pro
- 09b0 Acer OrbiCam
- 09b2 Fujitsu Webcam
- 09c0 QuickCam for Dell Notebooks Mic
- 09c1 QuickCam Deluxe for Notebooks
- 0a01 USB Headset
- 0a02 Premium Stereo USB Headset 350
- 0a03 Logitech USB Microphone
- 0a04 V20 portable speakers (USB powered)
- 0a07 Z-10 Speakers
- 0a0b ClearChat Pro USB
- 0a0c Clear Chat Comfort USB Headset
- 0a13 Z-5 Speakers
- 0a17 G330 Headset
- 0a1f G930
- 0b02 C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode)
- 8801 Video Camera
- b305 BT Mini-Receiver
- bfe4 Premium Optical Wheel Mouse
- c000 N43 [Pilot Mouse]
- c001 N48/M-BB48 [FirstMouse Plus]
- c002 M-BA47 [MouseMan Plus]
- c003 MouseMan
- c004 WingMan Gaming Mouse
- c005 WingMan Gaming Wheel Mouse
- c00b MouseMan Wheel
- c00c Optical Wheel Mouse
- c00d MouseMan Wheel+
- c00e M-BJ58/M-BJ69 Optical Wheel Mouse
- c00f MouseMan Traveler/Mobile
- c011 Optical MouseMan
- c012 Mouseman Dual Optical
- c014 Corded Workstation Mouse
- c015 Corded Workstation Mouse
- c016 Optical Wheel Mouse
- c018 Optical Wheel Mouse
- c019 Optical Tilt Wheel Mouse
- c01a M-BQ85 Optical Wheel Mouse
- c01b MX310 Optical Mouse
- c01c Optical Mouse
- c01d MX510 Optical Mouse
- c01e MX518 Optical Mouse
- c024 MX300 Optical Mouse
- c025 MX500 Optical Mouse
- c030 iFeel Mouse
- c031 iFeel Mouse+
- c032 MouseMan iFeel
- c033 iFeel MouseMan+
- c034 MouseMan Optical
- c035 Mouse
- c036 Mouse
- c037 Mouse
- c038 Mouse
- c03d M-BT96a Pilot Optical Mouse
- c03e Premium Optical Wheel Mouse (M-BT58)
- c03f M-BT85 [UltraX Optical Mouse]
- c040 Corded Tilt-Wheel Mouse
- c041 G5 Laser Mouse
- c042 G3 Laser Mouse
- c043 MX320/MX400 Laser Mouse
- c044 LX3 Optical Mouse
- c045 Optical Mouse
- c046 RX1000 Laser Mouse
- c047 Laser Mouse M-UAL120
- c048 G9 Laser Mouse
- c049 G5 Laser Mouse
- c050 RX 250 Optical Mouse
- c051 G3 (MX518) Optical Mouse
- c053 Laser Mouse
- c054 Bluetooth mini-receiver
- c058 M115 Mouse
- c05a M90/M100 Optical Mouse
- c05b M-U0004 810-001317 [B110 Optical USB Mouse]
- c05d Optical Mouse
- c05f M115 Optical Mouse
- c061 RX1500 Laser Mouse
- c062 M-UAS144 [LS1 Laser Mouse]
- c063 DELL Laser Mouse
- c068 G500 Laser Mouse
- c069 M500 Laser Mouse
- c06a USB Optical Mouse
- c06b G700 Wireless Gaming Mouse
- c06c Optical Mouse
- c101 UltraX Media Remote
- c110 Harmony 785/885 Remote
- c111 Harmony 525 Remote
- c112 Harmony 890 Remote
- c11f Harmony 900/1100 Remote
- c121 Harmony One Remote
- c122 Harmony 700 Remote
- c124 Harmony 300 Remote
- c125 Harmony 200 Remote
- c201 WingMan Extreme Joystick with Throttle
- c202 WingMan Formula
- c207 WingMan Extreme Digital 3D
- c208 WingMan Gamepad Extreme
- c209 WingMan Gamepad
- c20a WingMan RumblePad
- c20b WingMan Action Pad
- c20c WingMan Precision
- c20d WingMan Attack 2
- c20e WingMan Formula GP
- c211 iTouch Cordless Reciever
- c212 WingMan Extreme Digital 3D
- c213 J-UH16 (Freedom 2.4 Cordless Joystick)
- c214 ATK3 (Attack III Joystick)
- c215 Extreme 3D Pro
- c216 Dual Action Gamepad
- c218 Logitech RumblePad 2 USB
- c219 Cordless RumblePad 2
- c21a Precision Gamepad
- c21c G13 Advanced Gameboard
- c21d F310 Gamepad [XInput Mode]
- c21e F510 Gamepad [XInput Mode]
- c21f F710 Wireless Gamepad [XInput Mode]
- c221 G11/G15 Keyboard / Keyboard
- c222 G15 Keyboard / LCD
- c223 G11/G15 Keyboard / USB Hub
- c225 G11/G15 Keyboard / G keys
- c226 G15 Refresh Keyboard
- c227 G15 Refresh Keyboard
- c22a Gaming Keyboard G110
- c22b Gaming Keyboard G110 G-keys
- c22d G510 Gaming Keyboard
- c22e G510 Gaming Keyboard onboard audio
- c245 G400 Optical Mouse
- c246 Gaming Mouse G300
- c281 WingMan Force
- c283 WingMan Force 3D
- c285 WingMan Strike Force 3D
- c286 Force 3D Pro
- c287 Flight System G940
- c291 WingMan Formula Force
- c293 WingMan Formula Force GP
- c294 Driving Force
- c295 Momo Force Steering Wheel
- c298 Driving Force Pro
- c299 G25 Racing Wheel
- c29b G27 Racing Wheel
- c29c Speed Force Wireless Wheel for Wii
- c2a0 Wingman Force Feedback Mouse
- c2a1 WingMan Force Feedback Mouse
- c301 iTouch Keyboard
- c302 iTouch Pro Keyboard
- c303 iTouch Keyboard
- c305 Internet Keyboard
- c307 Internet Keyboard
- c308 Internet Navigator Keyboard
- c309 Internet Keyboard
- c30a iTouch Composite
- c30b NetPlay Keyboard
- c30c Internet Keys (X)
- c30d Internet Keys
- c30e UltraX Keyboard (Y-BL49)
- c30f Logicool HID-Compliant Keyboard (106 key)
- c311 Y-UF49 [Internet Pro Keyboard]
- c312 DeLuxe 250 Keyboard
- c313 Internet 350 Keyboard
- c315 Classic Keyboard 200
- c316 HID-Compliant Keyboard
- c317 Wave Corded Keyboard
- c318 Illuminated Keyboard
- c31a Comfort Wave 450
- c31b Compact Keyboard K300
- c31c Keyboard K120 for Business
- c31d Media Keyboard K200
- c401 TrackMan Marble Wheel
- c402 Marble Mouse (2-button)
- c403 Turbo TrackMan Marble FX
- c404 TrackMan Wheel
- c408 Marble Mouse (4-button)
- c501 Cordless Mouse Receiver
- c502 Cordless Mouse & iTouch Keys
- c503 Cordless Mouse+Keyboard Receiver
- c504 Cordless Mouse+Keyboard Receiver
- c505 Cordless Mouse+Keyboard Receiver
- c506 MX700 Cordless Mouse Receiver
- c508 Cordless Trackball
- c509 Cordless Keyboard & Mouse
- c50a Cordless Mouse
- c50b Cordless Desktop Optical
- c50c Cordless Desktop S510
- c50d Cordless Mouse
- c50e Cordless Mouse Receiver
- c510 Cordless Mouse
- c512 LX-700 Cordless Desktop Receiver
- c513 MX3000 Cordless Desktop Receiver
- c514 Cordless Mouse
- c515 Cordless 2.4 GHz Presenter Presentation remote control
- c517 LX710 Cordless Desktop Laser
- c518 MX610 Laser Cordless Mouse
- c51a MX Revolution/G7 Cordless Mouse
- c51b V220 Cordless Optical Mouse for Notebooks
- c521 Cordless Mouse Receiver
- c525 MX Revolution Cordless Mouse
- c526 Nano Receiver
- c529 Logitech Keyboard + Mice
- c52b Unifying Receiver
- c52f Unifying Receiver
- c532 Unifying Receiver
- c623 3Dconnexion Space Traveller 3D Mouse
- c625 3Dconnexion Space Pilot 3D Mouse
- c626 3Dconnexion Space Navigator 3D Mouse
- c627 3Dconnexion Space Explorer 3D Mouse
- c702 Cordless Presenter
- c703 Elite Keyboard Y-RP20 + Mouse MX900 (Bluetooth)
- c704 diNovo Wireless Desktop
- c705 MX900 Bluetooth Wireless Hub (C-UJ16A)
- c707 Bluetooth wireless hub
- c708 Bluetooth wireless hub
- c709 BT Mini-Receiver (HCI mode)
- c70a MX5000 Cordless Desktop
- c70b BT Mini-Receiver (HID proxy mode)
- c70c BT Mini-Receiver (HID proxy mode)
- c70d Bluetooth wireless hub
- c70e MX1000 Bluetooth Laser Mouse
- c70f Bluetooth wireless hub
- c712 Bluetooth wireless hub
- c714 diNovo Edge Keyboard
- c715 Bluetooth wireless hub
- c71a Bluetooth wireless hub
- c71d Bluetooth wireless hub
- c71f diNovo Mini Wireless Keyboard
- c720 Bluetooth wireless hub
- ca03 MOMO Racing
- ca04 Formula Vibration Feedback Wheel
- cab1 Cordless Keyboard for Wii HID Receiver
- d001 QuickCam Pro
-046e Behavior Tech. Computer Corp.
- 0100 Keyboard
- 3001 Mass Storage Device
- 3002 Mass Storage Device
- 3003 Mass Storage Device
- 3005 Mass Storage Device
- 3008 Mass Storage Device
- 5250 KeyMaestro Multimedia Keyboard
- 5273 KeyMaestro Multimedia Keyboard
- 52e6 Cordless Mouse
- 5308 KeyMaestro Keyboard
- 5408 KeyMaestro Multimedia Keyboard/Hub
- 5500 Portable Keyboard 86+9 keys (Model 6100C US)
- 5720 Smart Card Reader
- 6782 BTC 7932 mouse+keyboard
-046f Crystal Semiconductor
-0471 Philips (or NXP)
- 0101 DSS350 Digital Speaker System
- 0104 DSS330 Digital Speaker System [uda1321]
- 0105 UDA1321
- 014f GoGear SA9200
- 0160 MP3 Player
- 0161 MP3 Player
- 0163 GoGear SA1100
- 0164 GoGear SA1110/02
- 0165 GoGear SA1330
- 0201 Hub
- 0222 Creative Nomad Jukebox
- 0302 PCA645VC Webcam [pwc]
- 0303 PCA646VC Webcam [pwc]
- 0304 Askey VC010 Webcam [pwc]
- 0307 PCVC675K Webcam [pwc]
- 0308 PCVC680K Webcam [pwc]
- 030b PC VGA Camera (Vesta Fun)
- 030c PCVC690K Webcam [pwc]
- 0310 PCVC730K Webcam [pwc]
- 0311 PCVC740K ToUcam Pro [pwc]
- 0312 PCVC750K Webcam [pwc]
- 0314 DMVC 1000K
- 0316 DMVC 2000K Video Capture
- 0321 FunCam
- 0322 DMVC1300K PC Camera
- 0325 SPC 200NC PC Camera
- 0326 SPC 300NC PC Camera
- 0327 Webcam SPC 6000 NC (Webcam w/ mic)
- 0328 SPC 700NC PC Camera
- 0329 SPC 900NC PC Camera / ORITE CCD Webcam(PC370R)
- 032d SPC 210NC PC Camera
- 032e SPC 315NC PC Camera
- 0330 SPC 710NC PC Camera
- 0331 SPC 1300NC PC Camera
- 0332 SPC 1000NC PC Camera
- 0333 SPC 620NC PC Camera
- 0334 SPC 520/525NC PC Camera
- 0401 Semiconductors CICT Keyboard
- 0402 PS/2 Mouse on Semiconductors CICT Keyboard
- 0406 15 inch Detachable Monitor
- 0407 10 inch Mobile Monitor
- 0408 SG3WA1/74 802.11b WLAN Adapter [Atmel AT76C503A]
- 0471 Digital Speaker System
- 0601 OVU1020 IR Dongle (Kbd+Mouse)
- 0602 ATI Remote Wonder II Input Device
- 0603 ATI Remote Wonder II Controller
- 0608 eHome Infrared Receiver
- 060a TSU9600 Remote Control
- 060c Consumer Infrared Transceiver (HP)
- 060d Consumer Infrared Transceiver (SRM5100)
- 060e RF Dongle
- 060f Consumer Infrared Transceiver
- 0613 Infrared Transceiver
- 0617 IEEE802.15.4 RF Dongle
- 0619 TSU9400 Remote Control
- 0666 Hantek DDS-3005 Arbitrary Waveform Generator
- 0700 Semiconductors CICT Hub
- 0701 150P1 TFT Display
- 0809 AVNET Bluetooth Device
- 0811 JR24 CDRW
- 0814 DCCX38/P data cable
- 0815 eHome Infrared Receiver
- 0844 SA2111/02 1GB Flash Audio Player
- 084a GoGear SA3125
- 084e GoGear SA60xx (mtp)
- 0888 Hantek DDS-3005 Arbitrary Waveform Generator
- 1103 Digital Speaker System
- 1120 Creative Rhomba MP3 player
- 1125 Nike psa[128max Player
- 1137 HDD065 MP3 player
- 1201 Arima Bluetooth Device
- 1230 Wireless Adapter 11g
- 1232 SNU6500 Wireless Adapter
- 1233 Wireless Adapter Bootloader Download
- 1236 SNU5600 802.11bg
- 1237 TalkTalk SNU5630NS/05 802.11bg
- 1552 ISP 1581 Hi-Speed USB MPEG2 Encoder Reference Kit
- 1801 Diva MP3 player
- 200a Wireless Network Adapter
- 200f 802.11n Wireless Adapter
- 2021 SDE3273FC/97 2.5" SATA HDD Enclosure [INIC-1608L]
- 2022 GoGear SA52XX
- 2034 Webcam SPC530NC
- 2036 Webcam SPC1030NC
- 203f TSU9200 Remote Control
- 2046 TSU9800 Remote Control
- 204e GoGear RaGa (SA1942/02)
- 205e TSU9300 Remote Control
- 206c MCE IR Receiver - Spinel plusf0r ASUS
- 2070 GoGear Mix
- 2076 GoGear Aria
- 2079 GoGear Opus
- 2088 MCE IR Receiver with ALS- Spinel plus for ASUS
- 209e PTA01 Wireless Adapter
- 20b6 GoGear Vibe
- 20d0 SPZ2000 Webcam [PixArt PAC7332]
- 20e3 GoGear Raga
- 262c SPC230NC Webcam
- 485d Senselock SenseIV v2.x
- df55 LPCXpresso LPC-Link
-0472 Chicony Electronics Co., Ltd
- 0065 PFU-65 Keyboard [Chicony]
- b086 Asus USB2.0 Webcam
- b091 Webcam
-0473 Sanyo Information Business Co., Ltd
-0474 Sanyo Electric Co., Ltd
- 0110 Digital Voice Recorder R200
- 0217 Xacti J2
- 022f C5 Digital Media Camera (mass storage mode)
- 0230 C5 Digital Media Camera (PictBridge mode)
- 0231 C5 Digital Media Camera (PC control mode)
- 0401 Optical Drive
- 0701 SCP-4900 Cellphone
- 071f Usb Com Port Enumerator
- 0722 W33SA Camera
-0475 Relisys/Teco Information System
- 0100 NEC Petiscan
- 0103 Eclipse 1200U/Episode
- 0210 Scorpio Ultra 3
-0476 AESP
-0477 Seagate Technology, Inc.
-0478 Connectix Corp.
- 0001 QuickCam
- 0002 QuickClip
- 0003 QuickCam Pro
-0479 Advanced Peripheral Laboratories
-047a Semtech Corp.
- 0004 ScreenCoder UR7HCTS2-USB
-047b Silitek Corp.
- 0001 Keyboard
- 0002 Keyboard and Mouse
- 0011 SK-1688U Keyboard
- 00f9 SK-1789u Keyboard
- 0101 BlueTooth Keyboard and Mouse
- 020b SK-3105 SmartCard Reader
- 050e Internet Compact Keyboard
- 1000 Trust Office Scan USB 19200
- 1002 HP ScanJet 4300c Parallel Port
-047c Dell Computer Corp.
-047d Kensington
- 1001 Mouse*in*a*Box
- 1002 Expert Mouse Pro
- 1003 Orbit TrackBall
- 1004 MouseWorks
- 1005 TurboBall
- 1006 TurboRing
- 1009 Orbit TrackBall for Mac
- 1012 PocketMouse
- 1013 Mouse*in*a*Box Optical Pro
- 1014 Expert Mouse Pro Wireless
- 1015 Expert Mouse
- 1016 ADB/USB Orbit
- 1018 Studio Mouse
- 101d Mouse*in*a*Box Optical Pro
- 101e Studio Mouse Wireless
- 101f PocketMouse Pro
- 1020 Expert Mouse Trackball
- 1021 Expert Mouse Wireless
- 1022 Orbit Optical
- 1023 Pocket Mouse Pro Wireless
- 1024 PocketMouse
- 1025 Mouse*in*a*Box Optical Elite Wireless
- 1026 Pocket Mouse Pro
- 1027 StudioMouse
- 1028 StudioMouse Wireless
- 1029 Mouse*in*a*Box Optical Elite
- 102a Mouse*in*a*Box Optical
- 102b PocketMouse
- 102c Iridio
- 102d Pilot Optical
- 102e Pilot Optical Pro
- 102f Pilot Optical Pro Wireless
- 1042 Ci25m Notebook Optical Mouse [Diamond Eye Precision]
- 1043 Ci65m Wireless Notebook Optical Mouse
- 104a PilotMouse Mini Retractable
- 105d PocketMouse Bluetooth
- 105e Bluetooth EDR Dongle
- 1061 PocketMouse Grip
- 1062 PocketMouse Max
- 1063 PocketMouse Max Wireless
- 1064 PocketMouse 2.0 Wireless
- 1065 PocketMouse 2.0
- 1066 PocketMouse Max Glow
- 1067 ValueMouse
- 1068 ValueOpt White
- 1069 ValueOpt Black
- 106a PilotMouse Laser Wireless Mini
- 106b PilotMouse Laser - 3 Button
- 106c PilotMouse Laser - Gaming
- 106d PilotMouse Laser - Wired
- 106e PilotMouse Micro Laser
- 1070 ValueOpt Travel
- 1071 ValueOpt RF TX
- 1072 PocketMouse Colour
- 1073 PilotMouse Laser - 6 Button
- 1074 PilotMouse Laser Wireless Mini
- 1075 SlimBlade Presenter Media Mouse
- 1076 SlimBlade Media Mouse
- 1077 SlimBlade Presenter Mouse
- 1152 Bluetooth EDR Dongle
- 2002 Optical Elite Wireless
- 2010 Wireless Presentation Remote
- 2012 Wireless Presenter with Laser Pointer
- 2021 PilotBoard Wireless
- 2030 PilotBoard Wireless
- 2034 SlimBlade Media Notebook Set
- 2041 SlimBlade Trackball
- 2048 Orbit Trackball with Scroll Ring
- 4003 Gravis Xterminator Digital Gamepad
- 4005 Gravis Eliminator GamePad Pro
- 4006 Gravis Eliminator AfterShock
- 4007 Gravis Xterminator Force
- 4008 Gravis Destroyer TiltPad
- 5001 Cabo I Camera
- 5002 VideoCam CABO II
- 5003 VideoCam
-047e Agere Systems, Inc. (Lucent)
- 0300 ORiNOCO Card
- 1001 USS720 Parallel Port
- 2892 Systems Soft Modem
- bad1 Lucent 56k Modem
- f101 Atlas Modem
-047f Plantronics, Inc.
- 0101 Bulk Driver
- 0301 Bulk Driver
- 0411 Savi Office Base Station
- 0ca1 USB DSP v4 Audio Interface
- 4254 BUA-100 Bluetooth Adapter
- ac01 Savi 7xx
- ad01 GameCom 777 5.1 Headset
-0480 Toshiba America Info. Systems, Inc.
- 0001 InTouch Module
- 0004 InTouch Module
- 0011 InTouch Module
- 0014 InTouch Module
- a007 External Disk USB 3.0
-0481 Zenith Data Systems
-0482 Kyocera Corp.
- 000e FS-1020D Printer
- 0100 Finecam S3x
- 0101 Finecam S4
- 0103 Finecam S5
- 0105 Finecam L3
- 0106 Finecam
- 0107 Digital Camera Device
- 0108 Digital Camera Device
- 0203 AH-K3001V
- 0204 iBurst Terminal
-0483 STMicroelectronics
- 0137 BeWAN ADSL USB ST (blue or green)
- 0138 Unicorn II (ST70138B + MTC-20174TQ chipset)
- 1307 Cytronix 6in1 Card Reader
- 163d Cool Icam Digi-MP3
- 2015 TouchChip® Fingerprint Reader
- 2016 Fingerprint Reader
- 2017 Biometric Smart Card Reader
- 2018 BioSimKey
- 2302 Portable Flash Device (PFD)
- 3744 STLINK Pseudo disk
- 3747 ST Micro Connect Lite
- 3748 ST-LINK/V2
- 4810 ISDN adapter
- 481d BT Digital Access adapter
- 5000 ST Micro/Ergenic ERG BT-002 Bluetooth Adapter
- 5001 ST Micro Bluetooth Device
- 5710 Joystick in FS Mode
- 5721 Hantek DDS-3X25 Arbitrary Waveform Generator
- 5740 STM32F407
- 7270 ST Micro Serial Bridge
- 7554 56k SoftModem
- df11 STM Device in DFU Mode
- ff10 Swann ST56 Modem
-0484 Specialix
-0485 Nokia Monitors
-0486 ASUS Computers, Inc.
- 0185 EeePC T91MT HID Touch Panel
-0487 Stewart Connector
-0488 Cirque Corp.
-0489 Foxconn / Hon Hai
- 0502 SmartMedia Card Reader Firmware Loader
- 0503 SmartMedia Card Reader
- d00c Rollei Compactline (Storage Mode)
- d00e Rollei Compactline (Video Mode)
- e000 T-Com TC 300
- e003 Pirelli DP-L10
- e00d Broadcom Bluetooth 2.1 Device
- e00f Foxconn T77H114 BCM2070 [Single-Chip Bluetooth 2.1 + EDR Adapter]
- e016 Ubee PXU1900 WiMAX Adapter [Beceem BCSM250]
- e02c Atheros AR5BBU12 Bluetooth Device
-048a S-MOS Systems, Inc.
-048c Alps Electric Ireland, Ltd
-048d Integrated Technology Express, Inc.
- 1165 IT1165 Flash Controller
- 1336 SD/MMC Cardreader
- 1345 Multi Cardreader
- 9006 IT9135 BDA Afatech DVB-T HDTV Dongle
- 9009 Zolid HD DVD Maker
- 9135 Zolid Mini DVB-T Stick
-048f Eicon Tech.
-0490 United Microelectronics Corp.
-0491 Capetronic
- 0003 Taxan Monitor Control
-0492 Samsung SemiConductor, Inc.
- 0140 MP3 player
- 0141 MP3 Player
-0493 MAG Technology Co., Ltd
-0495 ESS Technology, Inc.
-0496 Micron Electronics
-0497 Smile International
- c001 Camera Device
-0498 Capetronic (Kaohsiung) Corp.
-0499 Yamaha Corp.
- 1000 UX256 MIDI I/F
- 1001 MU1000
- 1002 MU2000
- 1003 MU500
- 1004 UW500
- 1005 MOTIF6
- 1006 MOTIF7
- 1007 MOTIF8
- 1008 UX96 MIDI I/F
- 1009 UX16 MIDI I/F
- 100a EOS BX
- 100c UC-MX
- 100d UC-KX
- 100e S08
- 100f CLP-150
- 1010 CLP-170
- 1011 P-250
- 1012 TYROS
- 1013 PF-500
- 1014 S90
- 1015 MOTIF-R
- 1016 MDP-5
- 1017 CVP-204
- 1018 CVP-206
- 1019 CVP-208
- 101a CVP-210
- 101b PSR-1100
- 101c PSR-2100
- 101d CLP-175
- 101e PSR-K1
- 101f EZ-J24
- 1020 EZ-250i
- 1021 MOTIF ES 6
- 1022 MOTIF ES 7
- 1023 MOTIF ES 8
- 1024 CVP-301
- 1025 CVP-303
- 1026 CVP-305
- 1027 CVP-307
- 1028 CVP-309
- 1029 CVP-309GP
- 102a PSR-1500
- 102b PSR-3000
- 102e ELS-01/01C
- 1030 PSR-295/293
- 1031 DGX-205/203
- 1032 DGX-305
- 1033 DGX-505
- 1037 PSR-E403
- 103c MOTIF-RACK ES
- 1054 S90XS Keyboard/Music Synthesizer
- 2000 DGP-7
- 2001 DGP-5
- 3001 YST-MS55D USB Speaker
- 3003 YST-M45D USB Speaker
- 4000 NetVolante RTA54i Broadband&ISDN Router
- 4001 NetVolante RTW65b Broadband Wireless Router
- 4002 NetVolante RTW65i Broadband&ISDN Wireless Router
- 4004 NetVolante RTA55i Broadband VoIP Router
- 5000 CS1D
- 5001 DSP1D
- 5002 DME32
- 5003 DM2000
- 5004 02R96
- 5005 ACU16-C
- 5006 NHB32-C
- 5007 DM1000
- 5008 01V96
- 5009 SPX2000
- 500a PM5D
- 500b DME64N
- 500c DME24N
- 6001 CRW2200UX Lightspeed 2 External CD-RW Drive
- 7000 DTX
- 7010 UB99
-049a Gandalf Technologies, Ltd
-049b Curtis Computer Products
-049c Acer Advanced Labs, Inc.
- 0002 Keyboard (???)
-049d VLSI Technology
-049f Compaq Computer Corp.
- 0002 InkJet Color Printer
- 0003 iPAQ PocketPC
- 000e Internet Keyboard
- 0012 InkJet Color Printer
- 0018 PA-1/PA-2 MP3 Player
- 0019 InkJet Color Printer
- 001a S4 100 Scanner
- 001e IJ650 Inkjet Printer
- 001f WL215 Adapter
- 0021 S200 Scanner
- 0027 Bluetooth Multiport Module by Compaq
- 002a 1400P Inkjet Printer
- 002b A3000
- 002c Lexmark X125
- 0032 802.11b Adapter [ipaq h5400]
- 0033 Wireless LAN MultiPort W100 [Intersil PRISM 2.5]
- 0036 Bluetooth Multiport Module
- 0051 KU-0133 Easy Access Interner Keyboard
- 0076 Wireless LAN MultiPort W200
- 0080 GPRS Multiport
- 0086 Bluetooth Device
- 504a Personal Jukebox PJB100
- 505a Linux-USB "CDC Subset" Device, or Itsy (experimental)
- 8511 iPAQ Networking 10/100 Ethernet [pegasus2]
-04a0 Digital Equipment Corp.
-04a1 SystemSoft Corp.
- fff0 Telex Composite Device
-04a2 FirePower Systems
-04a3 Trident Microsystems, Inc.
-04a4 Hitachi, Ltd
- 0004 DVD-CAM DZ-MV100A Camcorder
- 001e DVDCAM USB HS Interface
-04a5 Acer Peripherals Inc. (now BenQ Corp.)
- 0001 Keyboard
- 0002 API Ergo K/B
- 0003 API Generic K/B Mouse
- 12a6 AcerScan C310U
- 1a20 Prisa 310U
- 1a2a Prisa 620U
- 2022 Prisa 320U/340U
- 2040 Prisa 620UT
- 205e ScanPrisa 640BU
- 2060 Prisa 620U+/640U
- 207e Prisa 640BU
- 209e ScanPrisa 640BT
- 20ae S2W 3000U
- 20b0 S2W 3300U/4300U
- 20be Prisa 640BT
- 20c0 Prisa 1240UT
- 20de S2W 4300U+
- 20f8 Benq 5000
- 20fc Benq 5000
- 20fe SW2 5300U
- 2137 Benq 5150/5250
- 2202 Benq 7400UT
- 2311 Benq 5560
- 3003 Benq Webcam
- 3008 Benq 1500
- 300a Benq 3410
- 300c Benq 1016
- 3019 Benq DC C40
- 4000 P30 Composite Device
- 4013 BenQ-Siemens EF82/SL91
- 4044 BenQ-Siemens SF71
- 4045 BenQ-Siemens E81
- 4048 BenQ M7
- 6001 Mass Storage Device
- 6002 Mass Storage Device
- 6003 ATA/ATAPI Adapter
- 6004 Mass Storage Device
- 6005 Mass Storage Device
- 6006 Mass Storage Device
- 6007 Mass Storage Device
- 6008 Mass Storage Device
- 6009 Mass Storage Device
- 600a Mass Storage Device
- 600b Mass Storage Device
- 600c Mass Storage Device
- 600d Mass Storage Device
- 600e Mass Storage Device
- 600f Mass Storage Device
- 6010 Mass Storage Device
- 6011 Mass Storage Device
- 6012 Mass Storage Device
- 6013 Mass Storage Device
- 6014 Mass Storage Device
- 6015 Mass Storage Device
- 6125 MP3 Player
- 6180 MP3 Player
- 6200 MP3 Player
- 7500 Hi-Speed Mass Storage Device
- 9000 AWL300 Wireless Adapter
- 9001 AWL400 Wireless Adapter
- 9213 Kbd Hub
-04a6 Nokia Display Products
- 00b9 Audio
- 0180 Hub Type P
- 0181 HID Monitor Controls
-04a7 Visioneer
- 0100 StrobePro
- 0101 Strobe Pro Scanner (1.01)
- 0102 StrobePro Scanner
- 0211 OneTouch 7600 Scanner
- 0221 OneTouch 5300 Scanner
- 0223 OneTouch 8200
- 0224 OneTouch 4800 USB/Microtek Scanport 3000
- 0225 VistaScan Astra 3600(ENG)
- 0226 OneTouch 5300 USB
- 0229 OneTouch 7100
- 022a OneTouch 6600
- 022c OneTouch 9000/9020
- 0231 6100 Scanner
- 0311 6200 EPP/USB Scanner
- 0321 OneTouch 8100 EPP/USB Scanner
- 0331 OneTouch 8600 EPP/USB Scanner
- 0341 6400
- 0361 VistaScan Astra 3600(ENG)
- 0362 OneTouch 9320
- 0371 OneTouch 8700/8920
- 0380 OneTouch 7700
- 0382 Photo Port 7700
- 0390 9650
- 03a0 Xerox 4800 One Touch
- 0410 OneTouch Pro 8800/8820
- 0421 9450 USB
- 0423 9750 Scanner
- 0424 Strobe XP 450
- 0425 Strobe XP 100
- 0426 Strobe XP 200
- 0427 Strobe XP 100
- 0444 OneTouch 7300
- 0445 CardReader 100
- 0446 Xerox DocuMate 510
- 0447 XEROX DocuMate 520
- 0448 XEROX DocuMate 250
- 0449 Xerox DocuMate 252
- 044a Xerox 6400
- 044c Xerox DocuMate 262
- 0474 Strobe XP 300
- 0475 Xerox DocuMate 272
- 0478 Strobe XP 220
- 0479 Strobe XP 470
- 047a 9450
- 047b 9650
- 047d 9420
- 0480 9520
- 048f Strobe XP 470
- 0491 Strobe XP 450
- 0493 9750
- 0494 Strobe XP 120
- 0497 Patriot 430
- 0498 Patriot 680
- 0499 Patriot 780
- 049b Strobe XP 100
- 04a0 7400
- 04ac Xerox Travel Scanner 100
-04a8 Multivideo Labs, Inc.
- 0101 Hub
- 0303 Peripheral Switch
- 0404 Peripheral Switch
-04a9 Canon, Inc.
- 1005 BJ Printer Hub
- 1035 PD Printer Storage
- 1050 BJC-8200
- 1051 BJC-3000 Color Printer
- 1052 BJC-6100
- 1053 BJC-6200
- 1054 BJC-6500
- 1055 BJC-85
- 1056 BJC-2110 Color Printer
- 1057 LR1
- 105a BJC-55
- 105b S600 Printer
- 105c S400
- 105d S450 Printer
- 105e S800
- 1062 S500 Printer
- 1063 S4500
- 1064 S300 Printer
- 1065 S100
- 1066 S630
- 1067 S900
- 1068 S9000
- 1069 S820
- 106a S200 Printer
- 106b S520 Printer
- 106d S750 Printer
- 106e S820D
- 1070 S530D
- 1072 I850 Printer
- 1073 I550 Printer
- 1074 S330 Printer
- 1076 i70
- 1077 i950
- 107a S830D
- 107b i320
- 107c i470D
- 107d i9100
- 107e i450
- 107f i860
- 1082 i350
- 1084 i250
- 1085 i255
- 1086 i560
- 1088 i965
- 108a i455
- 108b i900D
- 108c i475D
- 108d PIXMA iP2000
- 108f i80
- 1090 i9900 Photo Printer
- 1091 PIXMA iP1500
- 1093 PIXMA iP4000
- 1094 PIXMA iP3000x Printer
- 1095 PIXMA iP6000D
- 1097 PIXMA iP5000
- 1098 PIXMA iP1000
- 1099 PIXMA iP8500
- 109c PIXMA iP4000R
- 109d iP90
- 10a0 PIXMA iP1600 Printer
- 10a2 iP4200
- 10a4 iP5200R
- 10a5 iP5200
- 10a7 iP6210D
- 10a8 iP6220D
- 10a9 iP6600D
- 10b6 PIXMA iP4300 Printer
- 10c2 PIXMA iP1800 Printer
- 10c4 Pixma iP4500 Printer
- 1404 W6400PG
- 1405 W8400PG
- 150f BIJ2350 PCL
- 1510 BIJ1350 PCL
- 1512 BIJ1350D PCL
- 1601 DR-2080C Scanner
- 1607 DR-6080 Scanner
- 1700 PIXMA MP110 Scanner
- 1701 PIXMA MP130 Scanner
- 1702 MP410 Composite
- 1703 MP430 Composite
- 1704 MP330 Composite
- 1706 PIXMA MP750 Scanner
- 1707 PIXMA MP780 Scanner
- 1708 PIXMA MP760 Scanner
- 1709 PIXMA MP150 Scanner
- 170a PIXMA MP170 Scanner
- 170b PIXMA MP450 Scanner
- 170c PIXMA MP500 Scanner
- 170d PIXMA MP800 Scanner
- 170e MP800R
- 1710 MP950
- 1712 MP530
- 1713 PIXMA MP830 Scanner
- 1714 MP160
- 1715 MP180 Storage
- 1716 MP460 Composite
- 1717 MP510
- 1718 MP600 Storage
- 171a MP810 Storage
- 171b MP960
- 1721 MP210 ser
- 1723 MP470 ser
- 1725 MP610 ser
- 1726 MP970 ser
- 1727 MX300 ser
- 1728 MX310 ser
- 1729 MX700 ser
- 172b MP140 ser
- 173e MP560
- 173f Pixma MP640 Multifunction device
- 1748 Pixma MG5150
- 174d MX360 ser
- 1900 CanoScan LiDE 90
- 1901 CanoScan 8800F
- 1904 CanoScan LiDE 100
- 1905 CanoScan LiDE 200
- 1906 CanoScan 5600F
- 1907 CanoScan LiDE 700F
- 1909 CanoScan LiDE 110
- 190a CanoScan LiDE 210
- 2200 CanoScan LiDE 25
- 2201 CanoScan FB320U
- 2202 CanoScan FB620U
- 2204 CanoScan FB630U
- 2205 CanoScan FB1210U
- 2206 CanoScan N650U/N656U
- 2207 CanoScan 1220U
- 2208 CanoScan D660U
- 220a CanoScan D2400UF
- 220b CanoScan D646U
- 220c CanoScan D1250U2
- 220d CanoScan N670U/N676U/LiDE 20
- 220e CanoScan N1240U/LiDE 30
- 220f CanoScan 8000F
- 2210 CanoScan 9900F
- 2212 CanoScan 5000F
- 2213 CanoScan LiDE 50/LiDE 35/LiDE 40
- 2214 CanoScan LiDE 80
- 2215 CanoScan 3000/3000F/3000ex
- 2216 CanoScan 3200F
- 2217 CanoScan 5200F
- 2219 CanoScan 9950F
- 221b CanoScan 4200F
- 221c CanoScan LiDE 60
- 221e CanoScan 8400F
- 221f CanoScan LiDE 500F
- 2220 CanoScan LIDE 25
- 2224 CanoScan LiDE 600F
- 2225 CanoScan LiDE 70
- 2228 CanoScan 4400F
- 2602 MultiPASS C555
- 2603 MultiPASS C755
- 260a CAPT Printer
- 260e LBP-2000
- 2610 MPC600F
- 2611 SmartBase MPC400
- 2612 MultiPASS C855
- 2617 CAPT Printer
- 261a iR1600
- 261b iR1610
- 261c iC2300
- 261f MPC200 Printer
- 2621 iR2000
- 2622 iR2010
- 2623 FAX-B180C
- 2629 FAXPHONE L75
- 262b LaserShot LBP-1120 Printer
- 262d iR C3200
- 262f MultiPASS MP730
- 2630 MultiPASS MP700
- 2631 LASER CLASS 700
- 2632 FAX-L2000
- 2635 MPC190
- 2637 iR C6800
- 2638 iR C3100
- 263c Smartbase MP360
- 263d MP370
- 263e MP390 FAX
- 263f MP375
- 2646 MF5530 Scanner Device V1.9.1
- 2647 MF5550 Composite
- 264d PIXMA MP710
- 264e MF5630
- 264f MF5650 (FAX)
- 2650 iR 6800C EUR
- 2651 iR 3100C EUR
- 2655 FP-L170/MF350/L380/L398
- 2659 MF8100
- 265b CAPT Printer
- 265c iR C3220
- 265d MF5730
- 265e MF5750
- 265f MF5770
- 2660 MF3110
- 2663 iR3570/iR4570
- 2664 iR2270/iR2870
- 2665 iR C2620
- 2666 iR C5800
- 2667 iR85PLUS
- 2669 iR105PLUS
- 266a CAPT Device
- 266b iR8070
- 266c iR9070
- 266d iR 5800C EUR
- 266e CAPT Device
- 266f iR2230
- 2670 iR3530
- 2671 iR5570/iR6570
- 2672 iR C3170
- 2673 iR 3170C EUR
- 2674 L120
- 2675 iR2830
- 2676 CAPT Device
- 2677 iR C2570
- 2678 iR 2570C EUR
- 2679 CAPT Device
- 267a iR2016
- 267b iR2020
- 267d MF7100 series
- 2684 MF3200 series
- 2686 MF6500 series
- 2687 iR4530
- 2688 LBP3460
- 268c iR C6870
- 268d iR 6870C EUR
- 268e iR C5870
- 268f iR 5870C EUR
- 2691 iR7105
- 26a3 MF4100 series
- 26b0 MF4600 series
- 26b4 MF4010 series
- 26b5 MF4200 series
- 26da LBP3010B printer
- 26e6 iR1024
- 2737 MF4410
- 3041 PowerShot S10
- 3042 CanoScan FS4000US Film Scanner
- 3043 PowerShot S20
- 3044 EOS D30
- 3045 PowerShot S100
- 3046 IXY Digital
- 3047 Digital IXUS
- 3048 PowerShot G1
- 3049 PowerShot Pro90 IS
- 304a CP-10
- 304b IXY Digital 300
- 304c PowerShot S300
- 304d Digital IXUS 300
- 304e PowerShot A20
- 304f PowerShot A10
- 3050 PowerShot unknown 1
- 3051 PowerShot S110
- 3052 Digital IXUS V
- 3055 PowerShot G2
- 3056 PowerShot S40
- 3057 PowerShot S30
- 3058 PowerShot A40
- 3059 PowerShot A30
- 305b ZR45MC Digital Camcorder
- 305c PowerShot unknown 2
- 3060 EOS D60
- 3061 PowerShot A100
- 3062 PowerShot A200
- 3063 CP-100
- 3065 PowerShot S200
- 3066 Digital IXUS 330
- 3067 MV550i Digital Video Camera
- 3069 PowerShot G3
- 306a Digital unknown 3
- 306b MVX2i Digital Video Camera
- 306c PowerShot S45
- 306d PowerShot S45 PtP Mode
- 306e PowerShot G3 (normal mode)
- 306f PowerShot G3 (ptp)
- 3070 PowerShot S230
- 3071 PowerShot S230 (ptp)
- 3072 PowerShot SD100 / Digital IXUS II (ptp)
- 3073 PowerShot A70 (ptp)
- 3074 PowerShot A60 (ptp)
- 3075 IXUS 400 Camera
- 3076 PowerShot A300
- 3077 PowerShot S50
- 3078 ZR70MC Digital Camcorder
- 307a MV650i (normal mode)
- 307b MV630i Digital Video Camera
- 307c CP-200
- 307d CP-300
- 307f Optura 20
- 3080 MVX150i (normal mode) / Optura 20 (normal mode)
- 3081 Optura 10
- 3082 MVX100i / Optura 10
- 3083 EOS 10D
- 3084 EOS 300D / EOS Digital Rebel
- 3085 PowerShot G5
- 3087 Elura 50 (PTP mode)
- 3088 Elura 50 (normal mode)
- 308d MVX3i
- 308e FV M1 (normal mode) / MVX 3i (normal mode) / Optura Xi (normal mode)
- 3093 Optura 300
- 3096 IXY DV M2 (normal mode) / MVX 10i (normal mode)
- 3099 EOS 300D (ptp)
- 309a PowerShot A80
- 309b Digital IXUS (ptp)
- 309c PowerShot S1 IS
- 309d Powershot Pro 1
- 309f Camera
- 30a0 Camera
- 30a1 Camera
- 30a2 Camera
- 30a8 Elura 60E/Optura 40 (ptp)
- 30a9 MVX25i (normal mode) / Optura 40 (normal mode)
- 30b1 PowerShot S70 (normal mode) / PowerShot S70 (PTP mode)
- 30b2 PowerShot S60 (normal mode) / PowerShot S60 (PTP mode)
- 30b3 PowerShot G6 (normal mode) / PowerShot G6 (PTP mode)
- 30b4 PowerShot S500
- 30b5 PowerShot A75
- 30b6 Digital IXUS II2 / Digital IXUS II2 (PTP mode) / PowerShot SD110 (PTP mode) / PowerShot SD110 Digital ELPH
- 30b7 PowerShot A400 / PowerShot A400 (PTP mode)
- 30b8 PowerShot A310 / PowerShot A310 (PTP mode)
- 30b9 Powershot A85
- 30ba PowerShot S410 Digital Elph
- 30bb PowerShot A95
- 30bd CP-220
- 30be CP-330
- 30bf Digital IXUS 40
- 30c0 Digital IXUS 30 (PTP mode) / PowerShot SD200 (PTP mode)
- 30c1 Digital IXUS 50 (normal mode) / IXY Digital 55 (normal mode) / PowerShot A520 (PTP mode) / PowerShot SD400 (normal mode)
- 30c2 PowerShot A510 (normal mode) / PowerShot A510 (PTP mode)
- 30c4 Digital IXUS i5 (normal mode) / IXY Digital L2 (normal mode) / PowerShot SD20 (normal mode)
- 30ea EOS 1D Mark II (PTP mode)
- 30eb EOS 20D
- 30ec EOS 20D (ptp)
- 30ee EOS 350D
- 30ef EOS 350D (ptp)
- 30f0 PowerShot S2 IS (PTP mode)
- 30f2 Digital IXUS 700 (normal mode) / Digital IXUS 700 (PTP mode) / IXY Digital 600 (normal mode) / PowerShot SD500 (normal mode) / PowerShot SD500 (PTP mode)
- 30f4 PowerShot SD30 / Ixus iZoom / IXY DIGITAL L3
- 30f5 SELPHY CP500
- 30f6 SELPHY CP400
- 30f8 Powershot A430
- 30f9 PowerShot A410 (PTP mode)
- 30fa PowerShot S80
- 30fc PowerShot A620 (PTP mode)
- 30fd PowerShot A610 (normal mode)/PowerShot A610 (PTP mode)
- 30fe Digital IXUS 65 (PTP mode)/PowerShot SD630 (PTP mode)
- 30ff Digital IXUS 55 (PTP mode)/PowerShot SD450 (PTP mode)
- 3100 PowerShot TX1
- 310b SELPHY CP600
- 310e Digital IXUS 50 (PTP mode)
- 3110 EOS Digital Rebel XTi
- 3116 Digital IXUS 750 / PowerShot SD550 (PTP mode)
- 3117 PowerShot A700
- 3119 PowerShot SD700 IS / Digital IXUS 800 IS / IXY Digital 800 IS
- 311b PowerShot A540
- 3127 SELPHY CP710
- 3128 SELPHY CP510
- 312d Elura 100
- 3138 PowerShot A710 IS
- 3141 SELPHY ES1
- 3142 SELPHY CP730
- 3143 SELPHY CP720
- 3145 EOS 450D
- 3147 EOS 1Ds Mark III
- 314f Powershot SD1000
- 3155 PowerShot A450
- 315a PowerShot G9
- 315d PowerShot A720
- 3160 Digital IXUS 860 IS
- 3170 SELPHY CP750
- 3171 SELPHY CP740
- 3175 IXY Digital 25 IS
- 3176 PowerShot A590
- 317a PC1267 [Powershot A470]
- 3184 Digital IXUS 80 IS (PTP mode)
- 3185 SELPHY ES2
- 3186 SELPHY ES20
- 3192 PowerShot SX110 IS
- 319a EOS 7D
- 31aa SELPHY CP770
- 31ab SELPHY CP760
- 31ad PowerShot E1
- 31af SELPHY ES3
- 31b0 SELPHY ES30
- 31b1 SELPHY CP530
- 31bc PowerShot D10
- 31bf PowerShot A480
- 31c0 PowerShot SX200 IS
- 31dd SELPHY CP780
- 31e5 Digital IXUS 200 IS
- 31ee SELPHY ES40
- 31ef PowerShot A495
- 31f1 PowerShot A3100 IS / PowerShot A3150 IS
- 31f2 PowerShot A3000 IS
- 31f3 PowerShot Digital ELPH SD1400 IS
- 31f4 PowerShot SD1300 IS / IXUS 105
- 31f5 Powershot SD3500 IS / IXUS 210 IS
- 31f6 PowerShot SX210 IS
- 31f7 Powershot SD4000 IS / IXUS 300 HS / IXY 30S
- 31f8 Powershot SD4500 IS / IXUS 1000 HS / IXY 50S
- 31ff Digital IXUS 55
- 3209 Vixia HF S21 A
- 3210 Powershot SX30 IS
- 3211 PowerShot SX130 IS
- 3212 Powershot S95
- 3214 SELPHY CP800
- 3218 EOS 600D / Rebel T3i (ptp)
- 3223 PowerShot A3300 IS
- 3224 PowerShot A3200 IS
- 3226 PowerShow A800
- 3228 PowerShot SX230 HS
- 3229 PowerShot ELPH 300 HS / IXUS 220 HS
- 322a PowerShot A2200
- 322b Powershot A1200
- 3233 PowerShot G1 X
- 3234 PowerShot SX150 IS
- 3236 PowerShot S100
- 3237 PowerShot ELPH 310 HS / IXUS 230 HS
- 3238 PowerShot SX40 HS
- 323b EOS Rebel T4i
- 323e PowerShot A1300
- 323f PowerShot A810
- 3240 PowerShot ELPH 320 HS / IXUS 240 HS
- 3241 PowerShot ELPH 110 HS / IXUS 125 HS
- 3243 PowerShot A4000 IS
- 3244 PowerShot SX260 HS
- 3245 PowerShot SX240 HS
- 3247 PowerShot ELPH 520 HS / IXUS 500 HS
- 3248 PowerShot A3400 IS
- 3249 PowerShot A2400 IS
- 324a PowerShot A2300
- 3255 SELPHY CP900
- 3256 SELPHY CP810
- 3258 PowerShot G15
- 3259 PowerShot SX50 HS
- 325a PowerShot SX160 IS
- 325b PowerShot S110
- 325c PowerShot SX500 IS
-04aa DaeWoo Telecom, Ltd
-04ab Chromatic Research
-04ac Micro Audiometrics Corp.
-04ad Dooin Electronics
- 2501 Bluetooth Device
-04af Winnov L.P.
-04b0 Nikon Corp.
- 0102 Coolpix 990
- 0103 Coolpix 880
- 0104 Coolpix 995
- 0106 Coolpix 775
- 0107 Coolpix 5000
- 0108 Coolpix 2500
- 0109 Coolpix 2500 (ptp)
- 010a Coolpix 4500
- 010b Coolpix 4500 (ptp)
- 010d Coolpix 5700 (ptp)
- 010e Coolpix 4300 (storage)
- 010f Coolpix 4300 (ptp)
- 0110 Coolpix 3500 (Sierra Mode)
- 0111 Coolpix 3500 (ptp)
- 0112 Coolpix 885 (ptp)
- 0113 Coolpix 5000 (ptp)
- 0114 Coolpix 3100 (storage)
- 0115 Coolpix 3100 (ptp)
- 0117 Coolpix 2100 (ptp)
- 0119 Coolpix 5400 (ptp)
- 011d Coolpix 3700 (ptp)
- 0121 Coolpix 3200 (ptp)
- 0122 Coolpix 2200 (ptp)
- 0124 Coolpix 8400 (mass storage mode)
- 0125 Coolpix 8400 (ptp)
- 0126 Coolpix 8800
- 0129 Coolpix 4800 (ptp)
- 012c Coolpix 4100 (storage)
- 012d Coolpix 4100 (ptp)
- 012e Coolpix 5600 (ptp)
- 0130 Coolpix 4600 (ptp)
- 0135 Coolpix 5900 (ptp)
- 0136 Coolpix 7900 (storage)
- 0137 Coolpix 7900 (ptp)
- 013a Coolpix 100 (storage)
- 013b Coolpix 100 (ptp)
- 0141 Coolpix P2 (storage)
- 0142 Coolpix P2 (ptp)
- 0163 Coolpix P5100 (ptp)
- 0169 Coolpix P50 (ptp)
- 0202 Coolpix SQ (ptp)
- 0203 Coolpix 4200 (mass storage mode)
- 0204 Coolpix 4200 (ptp)
- 0205 Coolpix 5200 (storage)
- 0206 Coolpix 5200 (ptp)
- 0301 Coolpix 2000 (storage)
- 0302 Coolpix 2000 (ptp)
- 0317 Coolpix L20 (ptp)
- 0402 DSC D100 (ptp)
- 0403 D2H (mass storage mode)
- 0404 D2H SLR (ptp)
- 0405 D70 (mass storage mode)
- 0406 DSC D70 (ptp)
- 0408 D2X SLR (ptp)
- 0409 D50 digital camera
- 040a D50 (ptp)
- 040c D2Hs
- 040e DSC D70s (ptp)
- 040f D200 (mass storage mode)
- 0410 D200 (ptp)
- 0413 D40 (mass storage mode)
- 041e D60 digital camera (mass storage mode)
- 0422 D700 (ptp)
- 0424 D3000
- 0425 D300S
- 042a D800 (ptp)
- 0f03 PD-10 Wireless Printer Adapter
- 4000 Coolscan LS 40 ED
- 4001 LS 50 ED/Coolscan V ED
- 4002 Super Coolscan LS-5000 ED
-04b1 Pan International
-04b3 IBM Corp.
- 3003 Rapid Access III Keyboard
- 3004 Media Access Pro Keyboard
- 300a Rapid Access IIIe Keyboard
- 3016 UltraNav Keyboard Hub
- 3018 UltraNav Keyboard
- 301b SK-8815 Keyboard
- 301c Enhanced Performance Keyboard
- 3020 Enhanced Performance Keyboard
- 3025 NetVista Full Width Keyboard
- 3100 NetVista Mouse
- 3103 ScrollPoint Pro Mouse
- 3104 ScrollPoint Wireless Mouse
- 3105 ScrollPoint Optical (HID)
- 3107 ThinkPad 800dpi Optical Travel Mouse
- 3108 800dpi Optical Mouse w/ Scroll Point
- 3109 Optical ScrollPoint Pro Mouse
- 310b Red Wheel Mouse
- 310c Wheel Mouse
- 4427 Portable CD ROM
- 4482 Serial Converter
- 4485 Serial Converter
- 4525 Double sided CRT
- 4535 4610 Suremark Printer
- 4550 NVRAM (128 KB)
- 4554 Cash Drawer
- 4580 Hub w/ NVRAM
- 4581 4800-2xx Hub w/ Cash Drawer
- 4604 Keyboard w/ Card Reader
- 4671 4820 LCD w/ MSR/KB
-04b4 Cypress Semiconductor Corp.
- 0001 Mouse
- 0002 CY7C63x0x Thermometer
- 0033 Mouse
- 0100 Cino FuzzyScan F760-B
- 0101 Keyboard/Hub
- 0102 Keyboard with APM
- 0130 MyIRC Remote Receiver
- 0306 Telephone Receiver
- 0407 Optical Skype Mouse
- 0bad MetaGeek Wi-Spy
- 1002 CY7C63001 R100 FM Radio
- 1006 Human Interface Device
- 2050 hub
- 2830 Opera1 DVB-S (cold state)
- 4381 SCAPS USC-1 Scanner Controller
- 4611 Storage Adapter FX2 (CY)
- 4616 Flash Disk (TPP)
- 5201 Combi Keyboard-Hub (Hub)
- 5202 Combi Keyboard-Hub (Keyboard)
- 5500 HID->COM RS232 Adapter
- 5a9b Dacal CD/DVD Library D-101/DC-300/DC-016RW
- 6370 ViewMate Desktop Mouse CC2201
- 6560 CY7C65640 USB-2.0 "TetraHub"
- 6830 CY7C68300A EZ-USB AT2 USB 2.0 to ATA/ATAPI
- 6831 Storage Adapter ISD-300LP (CY)
- 7417 Wireless PC Lock/Ultra Mouse
- 8329 USB To keyboard/Mouse Converter
- 8613 CY7C68013 EZ-USB FX2 USB 2.0 Development Kit
- 8614 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
- 861f Anysee E30 USB 2.0 DVB-T Receiver
- bca1 Barcode Reader
- cc04 Centor USB RACIA-ALVAR USB PORT
- cc06 Centor-P RACIA-ALVAR USB PORT
- d5d5 CY7C63x0x Zoltrix Z-Boxer GamePad
- de61 Barcode Reader
- de64 Barcode Reader
- f000 CY30700 Licorice evaluation board
- f111 CY8CKIT-002 PSoC MiniProg3 Rev A Program and debug kit
- f115 PSoC FirstTouch Programmer
- fd13 Programmable power socket
-04b5 ROHM LSI Systems USA, LLC
- 3064 Hantek DSO-3064
-04b6 Hint Corp.
-04b7 Compal Electronics, Inc.
-04b8 Seiko Epson Corp.
- 0001 Stylus Color 740 / Photo 750
- 0002 ISD Smart Cable for Mac
- 0003 ISD Smart Cable
- 0004 Printer
- 0005 Printer
- 0006 Printer
- 0007 Printer
- 0015 Stylus Photo R3000
- 0101 GT-7000U [Perfection 636]
- 0102 GT-2200
- 0103 GT-6600U [Perfection 610]
- 0104 GT-7600UF [Perfection 1200U/1200U Photo]
- 0105 Stylus Scan 2000
- 0106 Stylus Scan 2500
- 0107 ES-2000 [Expression 1600U]
- 0108 CC-700
- 0109 ES-8500 [Expression 1640 XL]
- 010a GT-8700/GT-8700F [Perfection 1640SU/1640SU PHOTO]
- 010b GT-7700U [Perfection 1240U]
- 010c GT-6700U [Perfection 640]
- 010d CC-500L
- 010e ES-2200 [Perfection 1680]
- 010f GT-7200U [Perfection 1250/1250 PHOTO]
- 0110 GT-8200U/GT-8200UF [Perfection 1650/1650 PHOTO]
- 0112 GT-9700F [Perfection 2450 PHOTO]
- 0114 Perfection 660
- 0116 GT-9400UF [Perfection 3170]
- 0118 GT-F600 [Perfection 4180]
- 0119 GT-X750 [Perfection 4490 Photo]
- 011a CC-550L [1000 ICS]
- 011b GT-9300UF [Perfection 2400 PHOTO]
- 011c GT-9800F [Perfection 3200]
- 011d GT-7300U [Perfection 1260/1260 PHOTO]
- 011e GT-8300UF [Perfection 1660 PHOTO]
- 011f GT-8400UF [Perfection 1670/1670 PHOTO]
- 0120 GT-7400U [Perfection 1270]
- 0121 GT-F500/GT-F550 [Perfection 2480/2580 PHOTO]
- 0122 GT-F520/GT-F570 [Perfection 3590 PHOTO]
- 0126 ES-7000H [GT-15000]
- 0128 GT-X700 [Perfection 4870]
- 0129 ES-10000G [Expression 10000XL]
- 012a GT-X800 [Perfection 4990 PHOTO]
- 012b ES-H300 [GT-2500]
- 012c GT-X900 [Perfection V700/V750 Photo]
- 012d GT-F650 [GT-S600/Perfection V10/V100]
- 012e GT-F670 [Perfection V200 Photo]
- 012f GT-F700 [Perfection V350]
- 0130 GT-X770 [Perfection V500]
- 0131 GT-F720 [GT-S620/Perfection V30/V300 Photo]
- 0133 GT-1500 [GT-D1000]
- 0135 GT-X970
- 0136 ES-D400 [GT-S80]
- 0137 ES-D200 [GT-S50]
- 0138 ES-H7200 [GT-20000]
- 013a GT-X820 [Perfection V600 Photo]
- 0142 GT-F730 [GT-S630/Perfection V33/V330 Photo]
- 0143 GT-S55
- 0144 GT-S85
- 0202 Receipt Printer M129C/TM-T70
- 0401 CP 800 Digital Camera
- 0402 PhotoPC 850z
- 0403 PhotoPC 3000z
- 0509 JVC PIX-MC10
- 0601 Stylus Photo 875DC Card Reader
- 0602 Stylus Photo 895 Card Reader
- 0801 CC-600PX [Stylus CX5200/CX5400/CX6600]
- 0802 CC-570L [Stylus CX3100/CX3200]
- 0803 Printer (Composite Device)
- 0804 Storage Device
- 0805 Stylus CX6300/CX6400
- 0806 PM-A850 [Stylus Photo RX600/610]
- 0807 Stylus Photo RX500/510
- 0808 Stylus CX5200/CX5300/CX5400
- 0809 Storage Device
- 080a F-3200
- 080c ME100 [Stylus CX1500]
- 080d Stylus CX4500/4600
- 080e PX-A550 [CX-3500/3600/3650 MFP]
- 080f Stylus Photo RX420/RX425/RX430
- 0810 PM-A900 [Stylus Photo RX700]
- 0811 PM-A870 [Stylus Photo RX620/RX630]
- 0812 MFP Composite Device
- 0813 Stylus CX6500/6600
- 0814 PM-A700
- 0815 LP-A500 [AcuLaser CX1]
- 0816 Printer (Composite Device)
- 0817 LP-M5500/LP-M5500F
- 0818 Stylus CX3700/CX3800/DX3800
- 0819 PX-A650 [Stylus CX4700/CX4800/DX4800/DX4850]
- 081a PM-A750 [Stylus Photo RX520/RX530]
- 081b MFP Composite Device
- 081c PM-A890 [Stylus Photo RX640/RX650]
- 081d PM-A950
- 081e MFP Composite Device
- 081f Stylus CX7700/7800
- 0820 Stylus CX4100/CX4200/DX4200
- 0821 Stylus CX5700F/CX5800F
- 0822 Storage Device
- 0823 MFP Composite Device
- 0824 Storage Device
- 0825 MFP Composite Device
- 0826 Storage Device
- 0827 PM-A820 [Stylus Photo RX560/RX580/RX585/RX590]
- 0828 PM-A970
- 0829 PM-T990
- 082a PM-A920
- 082b Stylus CX5900/CX5000/DX5000/DX5050
- 082c Storage Device
- 082d Storage Device
- 082e PX-A720 [Stylus CX5900/CX6000/DX6000]
- 082f PX-A620 [Stylus CX3900/DX4000/DX4050]
- 0830 ME 200 [Stylus CX2800/CX2900]
- 0831 Stylus CX6900F/CX7000F/DX7000F
- 0832 MFP Composite Device
- 0833 LP-M5600
- 0834 LP-M6000
- 0835 AcuLaser CX21
- 0836 PM-T960
- 0837 PM-A940 [Stylus Photo RX680/RX685/RX690]
- 0838 PX-A640 [CX7300/CX7400/DX7400]
- 0839 PX-A740 [CX8300/CX8400/DX8400]
- 083a PX-FA700 [CX9300F/CX9400Fax/DX9400F]
- 083b MFP Composite Device
- 083c PM-A840S [Stylus Photo RX595/RX610]
- 083d MFP Composite Device
- 083e MFP Composite Device
- 083f Stylus CX4300/CX4400/CX5500/CX5600/DX4400/DX4450
- 0841 PX-401A [ME 300/Stylus NX100]
- 0843 LP-M5000
- 0844 EP-901A/EP-901F [Artisan 800/Stylus Photo PX800FW]
- 0846 EP-801A [Artisan 700/Stylus Photo PX700W/TX700W]
- 0847 PX-601F [ME Office 700FW/Stylus Office BX600FW/TX600FW]
- 0848 ME Office 600F/Stylus Office BX300F/TX300F
- 0849 Stylus SX205
- 084a PX-501A [Stylus NX400]
- 084d PX-402A [Stylus SX115/Stylus NX110 Series]
- 084f ME OFFICE 510
- 0850 EP-702A [Stylus Photo PX650/TX650 Series]
- 0851 Stylus SX410
- 0852 EP-802A [Artisan 710 Series/Stylus Photo PX710W/TX720W Series]
- 0853 EP-902A [Artisan 810 Series/Stylus Photo PX810FW Series]
- 0854 ME OFFICE 650FN Series/Stylus Office BX310FN/TX520FN Series
- 0855 PX-602F [Stylus Office BX610FW/TX620FW Series]
- 0856 PX-502A [Stylus SX515W]
- 085c ME 320/330 Series [Stylus SX125]
- 085d PX-603F [ME OFFICE 960FWD Series/Stylus Office BX625FWD/TX620FWD Series]
- 085e PX-503A [ME OFFICE 900WD Series/Stylus Office BX525WD]
- 085f Stylus Office BX320FW/TX525FW Series
- 0860 EP-903A/EP-903F [Artisan 835/Stylus Photo PX820FWD Series]
- 0861 EP-803A/EP-803AW [Artisan 725/Stylus Photo PX720WD/TX720WD Series]
- 0862 EP-703A [Stylus Photo PX660 Series]
- 0863 ME OFFICE 620F Series/Stylus Office BX305F/BX305FW/TX320F
- 0864 ME OFFICE 560W Series
- 0865 ME OFFICE 520 Series
- 0866 AcuLaser MX20DN/MX20DNF/MX21DNF
- 0869 PX-1600F
- 086a PX-673F [Stylus Office BX925FWD]
- 0870 Stylus Office BX305FW Plus
- 0871 K200 Series
- 0872 K300 Series
- 0873 L200 Series
- 0878 EP-704A
- 0879 EP-904A/EP-904F [Artisan 837/Stylus Photo PX830FWD Series]
- 087b EP-804A/EP-804AR/EP-804AW [Stylus Photo PX730WD/Artisan 730 Series]
- 087c PX-1700F
- 087d PX-B750F
- 087f PX-403A
- 0880 PX-434A [Stylus NX330 Series]
- 0881 PX-404A [ME OFFICE 535]
- 0883 ME 340 Series/Stylus NX130 Series
- 0884 Stylus NX430W Series
- 0885 Stylus NX230 Series
- 088f Stylus Office BX635FWD
- 0890 ME OFFICE 940FW Series/Stylus Office BX630FW Series
- 0891 Stylus Office BX535WD
- 0892 Stylus Office BX935FWD
- 0893 EP-774A
-04b9 Rainbow Technologies, Inc.
- 0300 SafeNet USB SuperPro/UltraPro
- 1000 iKey 1000 Token
- 1001 iKey 1200 Token
- 1002 iKey Token
- 1003 iKey Token
- 1004 iKey Token
- 1005 iKey Token
- 1006 iKey Token
- 1200 iKey 2000 Token
- 1201 iKey Token
- 1202 iKey 2032 Token
- 1203 iKey Token
- 1204 iKey Token
- 1205 iKey Token
- 1206 iKey 4000 Token
- 1300 iKey 3000 Token
- 1301 iKey 3000
- 1302 iKey Token
- 1303 iKey Token
- 1304 iKey Token
- 1305 iKey Token
- 1306 iKey Token
-04ba Toucan Systems, Ltd
-04bb I-O Data Device, Inc.
- 0101 USB2-IDE/ATAPI Bridge Adapter
- 0201 USB2-IDE/ATAPI Bridge Adapter
- 0204 DVD Multi-plus unit iU-CD2
- 0206 DVD Multi-plus unit DVR-UEH8
- 0301 Storage Device
- 0314 USB-SSMRW SD-card
- 0319 USB2-IDE/ATAPI Bridge Adapter
- 031a USB2-IDE/ATAPI Bridge Adapter
- 031b USB2-IDE/ATAPI Bridge Adapter
- 031e USB-SDRW SD-card
- 0502 Nogatech Live! (BT)
- 0528 GV-USB Video Capture
- 0901 USB ETT
- 0904 ET/TX Ethernet [pegasus]
- 0913 ET/TX-S Ethernet [pegasus2]
- 0919 USB WN-B11
- 0922 IOData AirPort WN-B11/USBS 802.11b
- 0930 ETG-US2
- 0937 WN-WAG/USL Wireless LAN Adapter
- 0938 WN-G54/USL Wireless LAN Adapter
- 093b WN-GDN/USB
- 093f WNGDNUS2 802.11n
- 0944 WHG-AGDN/US Wireless LAN Adapter
- 0945 WN-GDN/US3 Wireless LAN Adapter
- 0947 WN-G150U Wireless LAN Adapter
- 0948 WN-G300U Wireless LAN Adapter
- 0a03 Serial USB-RSAQ1
- 0a07 USB2-iCN Adapter
- 0a08 USB2-iCN Adapter
- 0c01 FM-10 Pro Disk
-04bd Toshiba Electronics Taiwan Corp.
-04be Telia Research AB
-04bf TDK Corp.
- 0100 MediaReader CF
- 0115 USB-PDC Adapter UPA9664
- 0116 USB-cdmaOne Adapter UCA1464
- 0117 USB-PHS Adapter UHA6400
- 0118 USB-PHS Adapter UPA6400
- 0135 MediaReader Dual
- 0202 73S1121F Smart Card Reader-
- 0309 Bluetooth USB dongle
- 030a IBM Bluetooth Ultraport Module
- 030b Bluetooth Device
- 030c Ultraport Bluetooth Device
- 0310 Integrated Bluetooth
- 0311 Integrated Bluetooth Device
- 0317 Bluetooth UltraPort Module from IBM
- 0318 IBM Integrated Bluetooth
- 0319 Bluetooth Adapter
- 0320 Bluetooth Adapter
- 0321 Bluetooth Device
- 0a28 INDI AV-IN Device
-04c1 U.S. Robotics (3Com)
- 0020 56K Voice Pro
- 0022 56K Voice Pro
- 007e ISDN TA
- 0082 OfficeConnect Analog Modem
- 008f Pro ISDN TA
- 0097 OfficeConnect Analog
- 009d HomeConnect Webcam [vicam]
- 00a9 ISDN Pro TA-U
- 00b9 HomeConnect IDSL Modem
- 3021 56k Voice FaxModem Pro
-04c2 Methode Electronics Far East PTE, Ltd
-04c3 Maxi Switch, Inc.
- 1102 Mouse
- 2102 Mouse
-04c4 Lockheed Martin Energy Research
-04c5 Fujitsu, Ltd
- 1029 fi-4010c Scanner
- 1033 fi-4110CU
- 1041 fi-4120c Scanner
- 1042 fi-4220c Scanner
- 105b AH-F401U Air H device
- 1096 fi-5110EOX
- 1097 fi-5110C
- 10ae fi-4120C2
- 10af fi-4220C2
- 10e0 fi-5120c Scanner
- 10e1 fi-5220C
- 10e7 fi-5900C
- 10fe S500
- 1150 fi-6230
-04c6 Toshiba America Electronic Components
-04c7 Micro Macro Technologies
-04c8 Konica Corp.
- 0720 Digital Color Camera
- 0721 e-miniD Camera
- 0722 e-mini
- 0723 KD-200Z Camera
- 0726 KD-310Z Camera
- 0728 Revio C2 Mass Storage Device
- 0729 Revio C2 Digital Camera
- 072c Revio KD20M
- 072d Revio KD410Z
-04ca Lite-On Technology Corp.
- 1766 HID Monitor Controls
- 9304 Hub
- f01c TT1280DA DVB-T TV Tuner
-04cb Fuji Photo Film Co., Ltd
- 0100 FinePix 30i/40i/50i, A101/201, 1300/2200, 1400/2400/2600/2800/4500/4700/4800/4900/6800/6900 Zoom
- 0103 FinePix NX-500/NX-700 printer
- 0104 FinePix A101, 2600/2800/4800/6800 Zoom (PC CAM)
- 0108 FinePix F601 Zoom (DSC)
- 0109 FinePix F601 Zoom (PC CAM)
- 010a FinePix S602 (Pro) Zoom (DSC)
- 010b FinePix S602 (Pro) Zoom (PC CAM)
- 010d FinePix Digital Camera 020531
- 010e FinePix F402 Zoom (DSC)
- 010f FinePix F402 Zoom (PC CAM)
- 0110 FinePix M603 Zoom (DSC)
- 0111 FinePix M603 Zoom (PC CAM)
- 0112 FinePix A202, A200 Zoom (DSC)
- 0113 FinePix A202, A200 Zoom (PC CAM)
- 0114 FinePix F401 Zoom (DSC)
- 0115 FinePix F401 Zoom (PC CAM)
- 0116 FinePix A203 Zoom (DSC)
- 0117 FinePix A203 Zoom (PC CAM)
- 0118 FinePix A303 Zoom (DSC)
- 0119 FinePix A303 Zoom (PC CAM)
- 011a FinePix S304/3800 Zoom (DSC)
- 011b FinePix S304/3800 Zoom (PC CAM)
- 011c FinePix A204/2650 Zoom (DSC)
- 011d FinePix A204/2650 Zoom (PC CAM)
- 0120 FinePix F700 Zoom (DSC)
- 0121 FinePix F700 Zoom (PC CAM)
- 0122 FinePix F410 Zoom (DSC)
- 0123 FinePix F410 Zoom (PC CAM)
- 0124 FinePix A310 Zoom (DSC)
- 0125 FinePix A310 Zoom (PC CAM)
- 0126 FinePix A210 Zoom (DSC)
- 0127 FinePix A210 Zoom (PC CAM)
- 0128 FinePix A205(S) Zoom (DSC)
- 0129 FinePix A205(S) Zoom (PC CAM)
- 012a FinePix F610 Zoom (DSC)
- 012b FinePix Digital Camera 030513
- 012c FinePix S7000 Zoom (DSC)
- 012d FinePix S7000 Zoom (PC CAM)
- 012f FinePix Digital Camera 030731
- 0130 FinePix S5000 Zoom (DSC)
- 0131 FinePix S5000 Zoom (PC CAM)
- 013b FinePix Digital Camera 030722
- 013c FinePix S3000 Zoom (DSC)
- 013d FinePix S3000 Zoom (PC CAM)
- 013e FinePix F420 Zoom (DSC)
- 013f FinePix F420 Zoom (PC CAM)
- 0142 FinePix S7000 Zoom (PTP)
- 0148 FinePix A330 Zoom (DSC)
- 0149 FinePix A330 Zoom (UVC)
- 014a FinePix A330 Zoom (PTP)
- 014b FinePix A340 Zoom (DSC)
- 014c FinePix A340 Zoom (UVC)
- 0159 FinePix F710 Zoom (DSC)
- 0165 FinePix S3500 Zoom (DSC)
- 0168 FinePix E500 Zoom (DSC)
- 0169 FinePix E500 Zoom (UVC)
- 016b FinePix E510 Zoom (DSC)
- 016c FinePix E510 Zoom (PC CAM)
- 016e FinePix S5500 Zoom (DSC)
- 016f FinePix S5500 Zoom (UVC)
- 0171 FinePix E550 Zoom (DSC)
- 0172 FinePix E550 Zoom (UVC)
- 0177 FinePix F10 (DSC)
- 0179 Finepix F10 (PTP)
- 0186 FinePix S5200/S5600 Zoom (DSC)
- 0188 FinePix S5200/S5600 Zoom (PTP)
- 018e FinePix S9500 Zoom (DSC)
- 018f FinePix S9500 Zoom (PTP)
- 0192 FinePix E900 Zoom (DSC)
- 0193 FinePix E900 Zoom (PTP)
- 019b FinePix F30 (PTP)
- 01af FinePix A700 (PTP)
- 01bf FinePix F6000fd/S6500fd Zoom (PTP)
- 01c0 FinePix F20 (PTP)
- 01c1 FinePix F31fd (PTP)
- 01c4 FinePix S5700 Zoom (PTP)
- 01c5 FinePix F40fd (PTP)
- 01c6 FinePix A820 Zoom (PTP)
- 01d2 FinePix A800 Zoom (PTP)
- 01d3 FinePix A920 (PTP)
- 01d4 FinePix F50fd (PTP)
- 01d5 FinePix F47 (PTP)
- 01f7 FinePix J250 (PTP)
- 01fd A160
- 023e FinePix AX300
- 0240 FinePix S2950 Digital Camera
- 0241 FinePix S3200 Digital Camera
- 0278 FinePix JV300
-04cc ST-Ericsson
- 1122 Hub
- 1520 USB 2.0 Hub (Avocent KVM)
- 1521 USB 2.0 Hub
- 1a62 GW Instek GSP-830 Spectrum Analyzer (HID)
- 2323 Ux500 serial debug port
- 2533 NFC device (PN533)
- 8116 Camera
-04cd Tatung Co. Of America
-04ce ScanLogic Corp.
- 0002 SL11R-IDE IDE Bridge
- 0100 USB2PRN Printer Class
- 0300 Phantom 336CX - C3 scanner
- 04ce SL11DEMO, VID: 0x4ce, PID: 0x4ce
- 07d1 SL11R, VID: 0x4ce, PID: 0x07D1
-04cf Myson Century, Inc.
- 0022 OCZ Alchemy Series Elixir II Keyboard
- 0800 MTP800 Mass Storage Device
- 8810 CS8810 Mass Storage Device
- 8811 CS8811 Mass Storage Device
- 8813 CS8813 Mass Storage Device
- 8818 USB2.0 to ATAPI Bridge Controller
- 8819 USB 2.0 SD/MMC Reader
- 9920 CS8819A2-114 Mass Storage Device
-04d0 Digi International
-04d1 ITT Canon
-04d2 Altec Lansing Technologies
- 0070 ADA70 Speakers
- 0305 Non-Compliant Audio Device
- 0311 ADA-310 Speakers
- 2060 Claritel-i750 - vp
- ff05 ADA-305 Speakers
- ff47 Lansing HID Audio Controls
- ff49 Lansing HID Audio Controls
-04d3 VidUS, Inc.
-04d4 LSI Logic, Inc.
-04d5 Forte Technologies, Inc.
-04d6 Mentor Graphics
-04d7 Oki Semiconductor
- 1be4 Bluetooth Device
-04d8 Microchip Technology, Inc.
- 0002 PicoLCD 20x2
- 0003 PICkit 2 Microcontroller Programmer
- 000a CDC RS-232 Emulation Demo
- 000b PIC18F2550 (32K Flashable 10 Channel, 10 Bit A/D USB Microcontroller)
- 0032 PICkit1
- 0033 PICkit2
- 0036 PICkit Serial Analyzer
- 00e0 PIC32 Starter Board
- 0a04 AGP LIN Serial Analyzer
- 8000 In-Circuit Debugger
- 8001 ICD2 in-circuit debugger
- 8101 PIC24F Starter Kit
- 8107 Microstick II
- 900a PICkit3
- c001 PicoLCD 20x4
- f8da Hughski Ltd. ColorHug
- faff Dangerous Prototypes BusPirate v4 Bootloader mode
- fb00 Dangerous Prototypes BusPirate v4
- fbb2 GCUSB-nStep stepper motor controller
- fbba DiscFerret Magnetic Disc Analyser (bootloader mode)
- fbbb DiscFerret Magnetic Disc Analyser (active mode)
- fc92 Open Bench Logic Sniffer
- ffef PICoPLC [APStech]
-04d9 Holtek Semiconductor, Inc.
- 0022 Portable Keyboard
- 048e Optical Mouse
- 0499 Optical Mouse
- 1203 Keyboard
- 1400 PS/2 keyboard + mouse controller
- 1503 Shortboard Lefty
- 1603 Keyboard
- 2013 Keyboard [Das Keyboard]
- 2221 Keyboard
- 2323 Keyboard
- 2832 1channel Telephone line recorder
- a055 Keyboard
-04da Panasonic (Matsushita)
- 0901 LS-120 Camera
- 0912 SDR-S10
- 0b01 CD-R/RW Drive
- 0b03 SuperDisk 240MB
- 0d01 CD-R Drive KXL-840AN
- 0d09 CD-R Drive KXL-RW32AN
- 0d0a CD-R Drive KXL-CB20AN
- 0d0d CDRCB03
- 0d0e DVD-ROM & CD-R/RW
- 0f40 Printer
- 104d Elite Panaboard UB-T880 (HID)
- 104e Elite Panaboard Pen Adaptor (HID)
- 1500 MFSUSB Driver
- 1800 DY-WL10 802.11abgn Adapter [Broadcom BCM4323]
- 1b00 MultiMediaCard
- 2121 EB-VS6
- 2316 DVC Mass Storage Device
- 2317 DVC USB-SERIAL Driver for WinXP
- 2318 NV-GS11/230/250 (webcam mode)
- 2319 NV-GS15 (webcam mode)
- 231a NV-GS11/230/250 (DV mode)
- 231d DVC Web Camera Device
- 231e DVC DV Stream Device
- 2372 Lumix Camera (Storage mode)
- 2374 Lumix Camera (PTP mode)
- 2451 HDC-SD9
- 2497 HDC-TM700
- 250c Gobi Wireless Modem (QDL mode)
- 250d Gobi Wireless Modem
- 3904 N5HBZ0000055 802.11abgn Wireless Adapter [Atheros AR7010+AR9280]
- 3c04 JT-P100MR-20 [ePassport Reader]
-04db Hypertec Pty, Ltd
-04dc Huan Hsin Holdings, Ltd
-04dd Sharp Corp.
- 13a6 MFC2000
- 6006 AL-1216
- 6007 AL-1045
- 6008 AL-1255
- 6009 AL-1530CS
- 600a AL-1540CS
- 600b AL-1456
- 600c AL-1555
- 600d AL-1225
- 600e AL-1551CS
- 600f AR-122E
- 6010 AR-152E
- 6011 AR-157E
- 6012 SN-1045
- 6013 SN-1255
- 6014 SN-1456
- 6015 SN-1555
- 6016 AR-153E
- 6017 AR-122E N
- 6018 AR-153E N
- 6019 AR-152E N
- 601a AR-157E N
- 601b AL-1217
- 601c AL-1226
- 601d AR-123E
- 6021 IS01
- 7002 DVC Ver.1.0
- 7004 VE-CG40U Digital Still Camera
- 7005 VE-CG30 Digital Still Camera
- 7007 VL-Z7S Digital Camcorder
- 8004 Zaurus SL-5000D/SL-5500 PDA
- 8005 Zaurus A-300
- 8006 Zaurus SL-B500/SL-5600 PDA
- 8007 Zaurus C-700 PDA
- 9009 AR-M160
- 9014 IM-DR80 Portable NetMD Player
- 9031 Zaurus C-750/C-760/C-860/SL-C3000 PDA
- 9032 Zaurus SL-6000
- 903a GSM GPRS
- 9050 Zaurus C-860 PDA
- 9056 Viewcam Z
- 9073 AM-900
- 9074 GSM GPRS
- 90a9 Sharp Composite
- 90d0 USB-to-Serial Comm. Port
- 90f2 Sharp 3G GSM USB Control
- 9120 WS004SH
- 9122 WS007SH
- 9123 W-ZERO3 ES Smartphone
- 91a3 922SH Internet Machine
- 939a IS03
-04de MindShare, Inc.
-04df Interlink Electronics
-04e1 Iiyama North America, Inc.
- 0201 Monitor Hub
-04e2 Exar Corp.
-04e3 Zilog, Inc.
-04e4 ACC Microelectronics
-04e5 Promise Technology
-04e6 SCM Microsystems, Inc.
- 0001 E-USB ATA Bridge
- 0002 eUSCSI SCSI Bridge
- 0003 eUSB SmartMedia Card Reader
- 0005 eUSB SmartMedia/CompactFlash Card Reader
- 0006 eUSB SmartMedia Card Reader
- 0007 Hifd
- 0009 eUSB ATA/ATAPI Adapter
- 000a eUSB CompactFlash Adapter
- 000b eUSCSI Bridge
- 000c eUSCSI Bridge
- 000d Dazzle MS
- 0012 Dazzle SD/MMC
- 0101 eUSB ATA Bridge (Sony Spressa USB CDRW)
- 0311 Dazzle DM-CF
- 0312 Dazzle DM-SD/MMC
- 0313 Dazzle SM
- 0314 Dazzle MS
- 0322 e-Film Reader-5
- 0325 eUSB ORCA Quad Reader
- 0327 Digital Media Reader
- 03fe DMHS2 DFU Adapter
- 0406 eUSB SmartDM Reader
- 04e6 eUSB DFU Adapter
- 04e7 STCII DFU Adapter
- 04e8 eUSBDM DFU Adapter
- 04e9 DM-E DFU Adapter
- 0500 Veridicom 5thSense Fingerprint Sensor and eUSB SmartCard
- 0701 DCS200 Loader Device
- 0702 DVD Creation Station 200
- 0703 DVC100 Loader Device
- 0704 Digital Video Creator 100
- 1001 SCR300 Smart Card Reader
- 1010 USBAT-2 CompactFlash Card Reader
- 1014 e-Film Reader-3
- 1020 USBAT ATA/ATAPI Adapter
- 2007 RSA SecurID ComboReader
- 2009 Citibank Smart Card Reader
- 200a Reflex v.2 Smart Card Reader
- 200d STR391 Reader
- 5111 SCR331-DI SmartCard Reader
- 5113 SCR333 SmartCard Reader
- 5114 SCR331-DI SmartCard Reader
- 5115 SCR335 SmartCard Reader
- 5116 SCR331-LC1 / SCR3310 SmartCard Reader
- 5117 SCR3320 - Smart Card Reader
- 5118 Expresscard SIM Card Reader
- 5119 SCR3340 - ExpressCard54 Smart Card Reader
- 511b SmartCard Reader
- 511d SCR3311 Smart Card Reader
- 5120 SCR331-DI SmartCard Reader
- 5121 SDI010 Smart Card Reader
- 5151 SCR338 Keyboard Smart Card Reader
- 5292 SCL011 RFID reader
- 5410 SCR35xx Smart Card Reader
- e000 SCRx31 Reader
- e001 SCR331 SmartCard Reader
- e003 SPR532 PinPad SmartCard Reader
-04e7 Elo TouchSystems
- 0001 TouchScreen
- 0002 Touchmonitor Interface 2600 Rev 2
- 0004 4000U CarrollTouch® Touchmonitor Interface
- 0007 2500U IntelliTouch® Touchmonitor Interface
- 0008 3000U AccuTouch® Touchmonitor Interface
- 0009 4000U CarrollTouch® Touchmonitor Interface
- 0020 Touchscreen Interface (2700)
- 0021 Touchmonitor Interface
- 0030 4500U CarrollTouch® Touchmonitor Interface
- 0032 Touchmonitor Interface
- 0033 Touchmonitor Interface
- 0041 5010 Surface Capacitive Touchmonitor Interface
- 0042 Touchmonitor Interface
- 0050 2216 AccuTouch® Touchmonitor Interface
- 0071 Touchmonitor Interface
- 0072 Touchmonitor Interface
- 0081 Touchmonitor Interface
- 0082 Touchmonitor Interface
- 00ff Touchmonitor Interface
-04e8 Samsung Electronics Co., Ltd
- 0100 Kingston Flash Drive (128MB)
- 0110 Connect3D Flash Drive
- 0111 Connect3D Flash Drive
- 0300 E2530 Phone (Mass storage mode)
- 1003 MP3 Player and Recorder
- 1006 SDC-200Z
- 130c NX100
- 1f06 HX-MU064DA portable harddisk
- 2018 WIS09ABGN LinkStick Wireless LAN Adapter
- 2035 Digital Photo Frame Mass Storage
- 2036 Digital Photo Frame Mini Monitor
- 3004 ML-4600
- 3005 Docuprint P1210
- 3008 ML-6060 laser printer
- 300c ML-1210 Printer
- 300e Laser Printer
- 3104 ML-3550N
- 3210 ML-5200A Laser Printer
- 3226 Laser Printer
- 3228 Laser Printer
- 322a Laser Printer
- 322c Laser Printer
- 3230 ML-1440
- 3232 Laser Printer
- 3236 ML-1450
- 3238 ML-1430
- 323a ML-1710 Printer
- 323b Phaser 3130
- 323c Laser Printer
- 323d Phaser 3120
- 323e Laser Printer
- 3240 Laser Printer
- 3242 ML-1510 Laser Printer
- 3248 Color Laser Printer
- 324a Laser Printer
- 324c ML-1740 Printer
- 324d Phaser 3121
- 3256 ML-1520 Laser Printer
- 325b Xerox Phaser 3117 Laser Printer
- 325f Phaser 3425 Laser Printer
- 3260 CLP-510 Color Laser Printer
- 3268 ML-1610 Mono Laser Printer
- 326c ML-2010P Mono Laser Printer
- 3276 ML-3050/ML-3051 Laser Printer
- 328e CLP-310 Color Laser Printer
- 3292 ML-1640 Series Laser Printer
- 3296 ML-2580N Mono Laser Printer
- 3297 ML-191x/ML-252x Laser Printer
- 329f CLP-325 Color Laser Printer
- 330c ML-1865
- 3310 ML-331x Series Laser Printer
- 3315 ML-2540 Series Laser Printer
- 3409 SCX-4216F Scanner
- 340c SCX-5x15 series
- 340d SCX-6x20 series
- 340e MFP 560 series
- 340f Printing Support
- 3412 SCX-4x20 series
- 3413 SCX-4100 Scanner
- 3415 Composite Device
- 3419 Composite Device
- 341a Printing Support
- 341b SCX-4200 series
- 341c Composite Device
- 341d Composite Device
- 341f Composite Device
- 3420 Composite Device
- 3426 SCX-4500 Laser Printer
- 344f SCX-3400 Series
- 3605 InkJet Color Printer
- 3606 InkJet Color Printer
- 3609 InkJet Color Printer
- 3902 InkJet Color Printer
- 3903 Xerox WorkCentre XK50cx
- 390f InkJet Color Printer
- 3911 SCX-1020 series
- 4005 GT-S8000 Jet (msc)
- 4f1f GT-S8000 Jet (mtp)
- 5000 YP-MF series
- 5001 YP-100
- 5002 YP-30
- 5003 YP-700
- 5004 YP-30
- 5005 YP-300
- 5006 YP-750
- 500d MP3 Player
- 5010 Yepp YP-35
- 5011 YP-780
- 5013 YP-60
- 5015 yepp upgrade
- 501b MP3 Player
- 5021 Yepp YP-ST5
- 5026 YP-MT6V
- 5027 YP-T7
- 502b YP-F1
- 5032 YP-J70
- 503b YP-U1 MP3 Player
- 503d YP-T7F
- 5041 YP-Z5
- 5050 YP-U2 MP3 Player
- 5051 YP-F2R
- 5055 YP-T9
- 507d YP-U3 (mtp)
- 507f YP-T9J
- 5080 Yepp YP-K3 (msc)
- 5081 Yepp YP-K3 (mtp)
- 5082 YP-P2 (msc)
- 5083 YP-P2 (mtp)
- 508a YP-T10
- 508b YP-S5 MP3 Player
- 508c YP-S5
- 5090 YP-S3 (msc)
- 5091 YP-S3 (mtp)
- 5092 YP-U4 (msc)
- 5093 YP-U4 (mtp)
- 5095 YP-S2
- 510f YP-R1
- 5119 Yepp YP-P3
- 511c YP-Q2
- 5121 YP-U5
- 5123 Yepp YP-M1
- 5a00 YP-NEU
- 5a01 YP-NDU
- 5a03 Yepp MP3 Player
- 5a04 YP-800
- 5a08 YP-90
- 5a0f Meizu M6 MiniPlayer
- 5b01 Memory Stick Reader/Writer
- 5b02 Memory Stick Reader/Writer
- 5b03 Memory Stick Reader/Writer
- 5b04 Memory Stick Reader/Writer
- 5b05 Memory Stick Reader/Writer
- 5b11 SEW-2001u Card
- 5f00 NEXiO Sync
- 5f01 NEXiO Sync
- 5f02 NEXiO Sync
- 5f03 NEXiO Sync
- 5f04 NEXiO Sync
- 5f05 STORY Station 1TB
- 6032 G2 Portable hard drive
- 60b3 M2 Portable Hard Drive
- 60c4 M2 Portable Hard Drive USB 3.0
- 6601 Mobile Phone
- 6602 Galaxy
- 6603 Galaxy
- 6611 MITs Sync
- 6613 MITs Sync
- 6615 MITs Sync
- 6617 MITs Sync
- 6619 MITs Sync
- 661b MITs Sync
- 661e Handheld
- 6620 Handheld
- 6622 Handheld
- 6624 Handheld
- 662e MITs Sync
- 6630 MITs Sync
- 6632 MITs Sync
- 663e D900e Phone
- 663f SGH-E720/SGH-E840
- 6640 Usb Modem Enumerator
- 6651 i8510 Innov8
- 6702 X830
- 6708 U600 Phone
- 6709 U600
- 6734 Juke
- 6759 D900e Media Player
- 675a D900e Mass Storage
- 675b D900e Camera
- 6772 Standalone LTE device (Trial)
- 6795 S5230
- 6802 Standalone HSPA device
- 6806 Composite LTE device (Trial)
- 6807 Composite HSPA device
- 681c Galaxy Portal/Spica/S
- 681d Galaxy Portal/Spica Android Phone
- 6843 E2530 Phone (Samsung Kies mode)
- 684e Wave (GT-S8500)
- 685b GT-I9100 Phone [Galaxy S II] (mass storage mode)
- 685c GT-I9250 Phone [Galaxy Nexus]
- 685d GT-I9100 Phone [Galaxy S II] (Download mode)
- 685e GT-I9100 Phone [Galaxy S II] (USB Debugging mode)
- 6860 GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1]
- 6865 GT-I9300 Phone [Galaxy S III] (PTP mode)
- 6866 GT-I9300 Phone [Galaxy S III] (debugging mode)
- 6875 GT-B3710 Standalone LTE device (Commercial)
- 6876 GT-B3710 LTE Modem
- 6877 Galaxy S
- 6888 GT-B3730 Composite LTE device (Commercial)
- 6889 GT-B3730 Composite LTE device (Commercial)
- 689a LTE Storage Driver [CMC2xx]
- 689e GT-S5670 [Galaxy Fit]
- 68aa Reality
- 7011 SEW-2003U Card
- 7021 Bluetooth Device
- 7061 eHome Infrared Receiver
- 7080 Anycall SCH-W580
- 7081 Human Interface Device
- 8001 Handheld
- e020 SERI E02 SCOM 6200 UMTS Phone
- e021 SERI E02 SCOM 6200 Virtual UARTs
- e022 SERI E02 SCOM 6200 Flash Load Disk
- f000 Intensity 3 (Mass Storage Mode)
- ff30 SG_iMON
-04e9 PC-Tel, Inc.
-04ea Brooktree Corp.
-04eb Northstar Systems, Inc.
- e004 eHome Infrared Transceiver
-04ec Tokyo Electron Device, Ltd
-04ed Annabooks
-04ef Pacific Electronic International, Inc.
-04f0 Daewoo Electronics Co., Ltd
-04f1 Victor Company of Japan, Ltd
- 0001 GC-QX3 Digital Still Camera
- 0004 GR-DVL815U Digital Video Camera
- 0006 DV Camera Storage
- 0008 GZ-MG30AA/MC500E Digital Video Camera
- 0009 GR-DX25EK Digital Video Camera
- 000a GR-D72 Digital Video Camera
- 1001 GC-A50 Camera Device
- 3008 MP-PRX1 Ethernet
- 3009 MP-XP7250 WLAN Adapter
-04f2 Chicony Electronics Co., Ltd
- 0001 KU-8933 Keyboard
- 0002 NT68P81 Keyboard
- 0110 KU-2971 Keyboard
- 0111 KU-9908 Keyboard
- 0112 KU-8933 Keyboard with PS/2 Mouse port
- 0116 KU-2971/KU-0325 Keyboard
- 0200 KBR-0108
- 0201 Gaming Keyboard KPD0250
- 0220 Wireless HID Receiver
- 0402 Genius LuxeMate i200 Keyboard
- 0403 KU-0420 keyboard
- 0418 KU-0418 Tactical Pad
- 0760 Acer KU-0760 Keyboard
- 0841 HP Multimedia Keyboard
- 0860 2.4G Multimedia Wireless Kit
- a001 E-Video DC-100 Camera
- a120 ORITE CCD Webcam(PC370R)
- a121 ORITE CCD Webcam(PC370R)
- a122 ORITE CCD Webcam(PC370R)
- a123 ORITE CCD Webcam(PC370R)
- a124 ORITE CCD Webcam(PC370R)
- a128 PC Camera (SN9C202 + OV7663 + EEPROM)
- a133 Gateway Webcam
- a136 LabTec Webcam 5500
- a204 DSC WIA Device (1300)
- a208 DSC WIA Device (2320)
- a209 Labtec DC-2320
- a20a DSC WIA Device (3310)
- a20c DSC WIA Device (3320)
- a210 Audio Device
- b008 USB 2.0 Camera
- b009 Integrated Camera
- b010 Integrated Camera
- b012 1.3 MPixel UVC Webcam
- b013 USB 2.0 Camera
- b015 VGA 24fps UVC Webcam
- b016 VGA 30fps UVC Webcam
- b018 2M UVC Webcam
- b021 ViewSonic 1.3M, USB2.0 Webcam
- b022 Gateway USB 2.0 Webcam
- b023 Gateway USB 2.0 Webcam
- b024 USB 2.0 Webcam
- b025 Camera
- b027 Gateway USB 2.0 Webcam
- b028 VGA UVC Webcam
- b029 1.3M UVC Webcam
- b036 Asus Integrated 0.3M UVC Webcam
- b044 Acer CrystalEye Webcam
- b057 integrated USB webcam
- b059 CKF7037 HP webcam
- b071 2.0M UVC Webcam / CNF7129
- b091 Webcam
- b104 CNF7069 Webcam
- b107 CNF7070 Webcam
- b14c CNF8050 Webcam
- b15c Sony Vaio Integrated Camera
- b175 4-Port Hub
- b1aa Webcam-101
- b1b4 Lenovo Integrated Camera
- b1b9 Asus Integrated Webcam
- b1cf Lenovo Integrated Camera
- b1d6 CNF9055 Toshiba Webcam
- b213 Fujitsu Integrated Camera
- b217 Lenovo Integrated Camera (0.3MP)
- b221 integrated camera
- b230 Integrated HP HD Webcam
- b257 Lenovo Integrated Camera
- b26b Sony Visual Communication Camera
- b272 Lenovo EasyCamera
- b2b0 Camera
- b2b9 Lenovo Integrated Camera UVC
- b2ea Integrated Camera [ThinkPad]
- b330 Asus 720p CMOS webcam
-04f3 Elan Microelectronics Corp.
- 0103 ActiveJet K-2024 Multimedia Keyboard
- 01a4 Wireless Keyboard
- 0210 Optical Mouse
- 0212 Laser Mouse
- 0214 Lynx M9 Optical Mouse
- 0230 3D Optical Mouse
- 0232 Mouse
- 02f4 2.4G Cordless Mouse
- 04a0 Dream Cheeky Stress/Panic Button
-04f4 Harting Elektronik, Inc.
-04f5 Fujitsu-ICL Systems, Inc.
-04f6 Norand Corp.
-04f7 Newnex Technology Corp.
-04f8 FuturePlus Systems
-04f9 Brother Industries, Ltd
- 0002 HL-1050 Laser Printer
- 0005 Printer
- 0006 HL-1240 Laser Printer
- 0007 HL-1250 Laser Printer
- 0008 HL-1270 Laser Printer
- 0009 Printer
- 000a P2500 series
- 000b Printer
- 000c Printer
- 000d HL-1440 Laser Printer
- 000e HL-1450 series
- 000f HL-1470N series
- 0010 Printer
- 0011 Printer
- 0012 Printer
- 0013 Printer
- 0014 Printer
- 0015 Printer
- 0016 Printer
- 0017 Printer
- 0018 Printer
- 001a HL-1430 Laser Printer
- 001c Printer
- 001e Printer
- 0020 HL-5130 series
- 0021 HL-5140 series
- 0022 HL-5150D series
- 0023 HL-5170DN series
- 0024 Printer
- 0025 Printer
- 0027 HL-2030 Laser Printer
- 0028 Printer
- 0029 Printer
- 002a HL-52x0 series
- 002b HL-5250DN Printer
- 002c Printer
- 002d Printer
- 0039 HL-5340 series
- 0042 HL-2270DW Laser Printer
- 0100 MFC8600/9650 series
- 0101 MFC9600/9870 series
- 0102 MFC9750/1200 series
- 0104 MFC-8300J
- 0105 MFC-9600J
- 0106 MFC-7300C
- 0107 MFC-7400C
- 0108 MFC-9200C
- 0109 MFC-830
- 010a MFC-840
- 010b MFC-860
- 010c MFC-7400J
- 010d MFC-9200J
- 010e MFC3100C Scanner
- 010f MFC 5100C
- 0110 MFC4800 Scanner
- 0111 MFC 6800
- 0112 DCP1000 Port(FaxModem)
- 0113 MFC-8500
- 0114 MFC9700 Port(FaxModem)
- 0115 MFC9800 Scanner
- 0116 DCP1400 Scanner
- 0119 MFC-9660
- 011b MFC-9880
- 011c MFC-9760
- 011d MFC-9070
- 011e MFC-9180
- 011f MFC-9160
- 0120 MFC580 Port(FaxModem)
- 0121 MFC-590
- 0122 MFC-5100J
- 0129 Imagistics 2500 (MFC-8640D clone)
- 012f FAX-4750e
- 0132 MFC-5200C RemovableDisk
- 0135 MFC-100 Scanner
- 0136 MFC-150CL Scanner
- 013c MFC-890 Port
- 013d MFC-5200J Printer
- 013e MFC-4420C RemovableDisk
- 013f MFC-4820C RemovableDisk
- 0140 DCP-8020
- 0141 DCP-8025D
- 0142 MFC-8420
- 0143 MFC-8820D
- 0144 DCP-4020C RemovableDisk
- 0146 MFC-3220C
- 0147 FAX-1820C Printer
- 0148 MFC-3320CN Printer
- 0149 FAX-1920CN Printer
- 014a MFC-3420C
- 014b MFC-3820CN
- 014d FAX-1815C Printer
- 014e MFC-8820J
- 0150 MFC-8220 Port(FaxModem)
- 0151 MFC-8210J
- 0157 MFC-3420J Printer
- 0158 MFC-3820JN Port(FaxModem)
- 015d MFC Composite Device
- 015e DCP-8045D
- 015f MFC-8440
- 0160 MFC-8840D
- 0161 MFC-210C
- 0162 MFC-420CN Remote Setup Port
- 0163 MFC-410CN RemovableDisk
- 0165 MFC-620CN
- 0166 MFC-610CLN RemovableDisk
- 0168 MFC-620CLN
- 0169 DCP-110C RemovableDisk
- 016b DCP-310CN RemovableDisk
- 016c FAX-2440C Printer
- 016d MFC-5440CN
- 016e MFC-5840CN Remote Setup Port
- 0170 FAX-1840C Printer
- 0171 FAX-1835C Printer
- 0172 FAX-1940CN Printer
- 0173 MFC-3240C Remote Setup Port
- 0174 MFC-3340CN RemovableDisk
- 017b Imagistics sx2100
- 0180 MFC-7420
- 0181 MFC-7820N Port(FaxModem)
- 0182 Composite Device
- 0183 DCP-7020
- 0184 DCP-7025 Printer
- 0185 MFC-7220 Printer
- 0186 Composite Device
- 0187 FAX-2820 Printer
- 0188 FAX-2920 Printer
- 018a MFC-9420CN
- 018c DCP-115C
- 018d DCP-116C
- 018e DCP-117C
- 018f DCP-118C
- 0190 DCP-120C
- 0191 DCP-315CN
- 0192 DCP-340CW
- 0193 MFC-215C
- 0194 MFC-425CN
- 0195 MFC-820CW Remote Setup Port
- 0196 MFC-820CN Remote Setup Port
- 0197 MFC-640CW
- 019a MFC-840CLN Remote Setup Port
- 01a2 MFC-8640D
- 01a3 Composite Device
- 01a4 DCP-8065DN Printer
- 01a5 MFC-8460N Port(FaxModem)
- 01a6 MFC-8860DN Port(FaxModem)
- 01a7 MFC-8870DW Printer
- 01a8 DCP-130C
- 01a9 DCP-330C
- 01aa DCP-540CN
- 01ab MFC-240C
- 01ae DCP-750CW RemovableDisk
- 01af MFC-440CN
- 01b0 MFC-660CN
- 01b1 MFC-665CW Remote Setup Port
- 01b2 MFC-845CW Remote Setup Port
- 01b4 MFC-460CN Remote Setup Port
- 01b5 MFC-630CD
- 01b6 MFC-850CDN
- 01b7 MFC-5460CN Remote Setup Port
- 01b8 MFC-5860CN
- 01ba MFC-3360C
- 01bd MFC-8660DN
- 01be DCP-750CN RemovableDisk
- 01bf MFC-860CDN Remote Setup Port
- 01c0 DCP-128C
- 01c1 DCP-129C
- 01c2 DCP-131C
- 01c3 DCP-329C
- 01c4 DCP-331C
- 01c5 MFC-239C
- 01ca MFC-9440CN Remote Setup Port
- 01ce DCP-135C
- 01cf DCP-150C
- 01d0 DCP-350C
- 01d1 DCP-560CN
- 01d4 MFC-230C
- 01d5 MFC-235C
- 01d6 MFC-260C
- 01df DCP-155C
- 01e0 MFC-265C
- 01e1 DCP-153C
- 01e2 DCP-157C
- 01e3 DCP-353C
- 01e4 DCP-357C
- 01e7 MFC-7340
- 01e9 DCP-7040
- 01ea DCP-7030
- 01eb MFC-7320
- 01f4 MFC-5890CN
- 0223 DCP-365CN
- 0248 DCP-7055 scanner/printer
- 1000 Printer
- 1002 Printer
- 2002 PTUSB Printing
- 2004 PT-2300/2310 p-Touch Laber Printer
- 2015 QL-500 P-touch label printer
- 2016 QL-550 P-touch label printer
- 201a PT-18R P-touch label printer
- 201b QL-650TD P-Touch Label Printer
- 2027 QL-560 P-Touch Label Printer
- 2100 Card Reader Writer
-04fa Dallas Semiconductor
- 2490 DS1490F 2-in-1 Fob, 1-Wire adapter
- 4201 DS4201 Audio DAC
-04fb Biostar Microtech International Corp.
-04fc Sunplus Technology Co., Ltd
- 0003 CM1092 / Wintech CM-5098 Optical Mouse
- 0005 USB OpticalWheel Mouse
- 0013 ViewMate Desktop Mouse CC2201
- 0015 ViewMate Desktop Mouse CC2201
- 00d3 00052486 / Laser Mouse M1052 [hama]
- 0171 SPCA1527A/SPCA1528 SD card camera (Mass Storage mode)
- 0201 RS232C Adapter
- 0232 Fingerprint
- 0538 Wireless Optical Mouse 2.4G [Bright]
- 0561 Flexcam 100
- 05d8 Wireless keyboard/mouse
- 0c15 SPIF215A SATA bridge
- 0c25 SATALink SPIF225A
- 1528 SPCA1527A/SPCA1528 SD card camera (webcam mode)
- 1533 Mass Storage
- 2080 ASUS Webcam
- 500c CA500C Digital Camera
- 504a Aiptek Mini PenCam 1.3
- 504b Aiptek Mega PockerCam 1.3/Maxell MaxPocket LE 1.3
- 5330 Digitrex 2110
- 5331 Vivitar Vivicam 10
- 5360 Sunplus Generic Digital Camera
- 5720 Card Reader Driver
- 7333 Finet Technology Palmpix DC-85
- 757a Aiptek, MP315 MP3 Player
- ffff PureDigital Ritz Disposable
-04fd Soliton Systems, K.K.
- 0003 Smart Card Reader II
-04fe PFU, Ltd
-04ff E-CMOS Corp.
-0500 Siam United Hi-Tech
- 0001 DART Keyboard Mouse
- 0002 DART-2 Keyboard
-0501 Fujikura DDK, Ltd
-0502 Acer, Inc.
- 0001 Handheld
- 0736 Handheld
- 15b1 PDA n311
- 1631 c10 Series
- 1632 c20 Series
- 16e1 n10 Handheld Sync
- 16e2 n20 Pocket PC Sync
- 16e3 n30 Handheld Sync
- 3202 Liquid
- 3203 Liquid (Debug mode)
- 3317 Liquid
- 3325 Iconia tablet A500
- 3341 Iconia tablet A500
- d001 Divio NW801/DVC-V6+ Digital Camera
-0503 Hitachi America, Ltd
-0504 Hayes Microcomputer Products
-0506 3Com Corp.
- 009d HomeConnect Camera
- 00a0 3CREB96 Bluetooth Adapter
- 00a1 Bluetooth Device
- 00a2 Bluetooth Device
- 00df 3Com Home Connect lite
- 0100 HomeConnect ADSL Modem Driver
- 03e8 3C19250 Ethernet [klsi]
- 0a01 3CRSHEW696 Wireless Adapter
- 0a11 3CRWE254G72 802.11g Adapter
- 11f8 HomeConnect 3C460
- 2922 HomeConnect Cable Modem External with
- 3021 U.S.Robotics 56000 Voice FaxModem Pro
- 4601 3C460B 10/100 Ethernet Adapter
- f002 3CP4218 ADSL Modem (pre-init)
- f003 3CP4218 ADSL Modem
- f100 3CP4218 ADSL Modem (pre-init)
-0507 Hosiden Corp.
- 0011 Konami ParaParaParadise Controller
-0508 Clarion Co., Ltd
-0509 Aztech Systems, Ltd
- 0801 ADSL Modem
- 0802 ADSL Modem (RFC1483)
- 0806 DSL Modem
- 080f Binatone ADSL500 Modem Network Interface
- 0812 Pirelli ADSL Modem Network Interface
-050a Cinch Connectors
-050b Cable System International
-050c InnoMedia, Inc.
-050d Belkin Components
- 0004 Direct Connect
- 0012 F8T012 Bluetooth Adapter
- 0013 F8T013 Bluetooth Adapter
- 0017 B8T017 Bluetooth+EDR 2.1
- 003a Universal Media Reader
- 0050 F5D6050 802.11b Wireless Adapter v2000 [Atmel at76c503a]
- 0081 F8T001v2 Bluetooth
- 0083 Bluetooth Device
- 0084 F8T003v2 Bluetooth
- 0102 Flip KVM
- 0103 F5U103 Serial Adapter [etek]
- 0106 VideoBus II Adapter, Video
- 0108 F1DE108B KVM
- 0109 F5U109/F5U409 PDA Adapter
- 0115 SCSI Adapter
- 0119 F5U120-PC Dual PS/2 Ports / F5U118-UNV ADB Adapter
- 0121 F5D5050 100Mbps Ethernet
- 0122 Ethernet Adapter
- 0131 Bluetooth Device with trace filter
- 016a Bluetooth Mini Dongle
- 0200 Nostromo SpeedPad n52te Gaming Keyboard
- 0201 Peripheral Switch
- 0208 USBView II Video Adapter [nt1004]
- 0210 F5U228 Hi-Speed USB 2.0 DVD Creator
- 0211 F5U211 USB 2.0 15-in-1 Media Reader & Writer
- 0224 F5U224 USB 2.0 4-Port Hub
- 0234 F5U234 USB 2.0 4-Port Hub
- 0237 F5U237 USB 2.0 7-Port Hub
- 0240 F5U240 USB 2.0 CF Card Reader
- 0249 USB 2 Flash Media Device
- 0257 F5U257 Serial
- 0304 FSU304 USB 2.0 - 4 Ports Hub
- 0307 USB 2.0 - 7 ports Hub [FSU307]
- 0409 F5U409 Serial
- 0551 F6C550-AVR UPS
- 0706 2-N-1 7-Port Hub (Lower half)
- 0802 Nostromo n40 Gamepad
- 0803 Nostromo 1745 GamePad
- 0805 Nostromo N50 GamePad
- 0815 Nostromo n52 HID SpeedPad Mouse Wheel
- 0826 ErgoFit Wireless Optical Mouse (HID)
- 0980 HID UPS Battery
- 1004 F9L1004 802.11n Surf N300 XR Wireless Adapter [Realtek RTL8192CU]
- 1102 F7D1102 N150/Surf Micro Wireless Adapter v1000 [Realtek RTL8188CUS]
- 1103 F9L1103 N750 DB 802.11abgn 2x3:3 [Ralink RT3573]
- 11f2 ISY Wireless Micro Adapter IWL 2000 [RTL8188CUS]
- 1202 F5U120-PC Parallel Printer Port
- 1203 F5U120-PC Serial Port
- 2103 F7D2102 802.11n N300 Micro Wireless Adapter v3000 [Realtek RTL8192CU]
- 21f1 N300 WLAN N Adapter [ISY]
- 258a F5U258 Host to Host cable
- 3101 F1DF102U/F1DG102U Flip Hub
- 3201 F1DF102U/F1DG102U Flip KVM
- 4050 ZD1211B
- 5055 F5D5055 Gigabit Network Adapter [AX88xxx]
- 6050 F6D6050 802.11abgn Wireless Adapter [Broadcom BCM4323]
- 6051 F5D6051 802.11b Wireless Network Adapter [ZyDAS ZD1201]
- 615a F7D4101 / F9L1101 802.11abgn Wireless Adapter [Broadcom BCM4323]
- 7050 F5D7050 Wireless G Adapter v1000/v2000 [Intersil ISL3887]
- 7051 F5D7051 802.11g Adapter v1000 [Broadcom 4320 USB]
- 705a F5D7050 Wireless G Adapter v3000 [Ralink RT2571W]
- 705b Wireless G Adapter
- 705c F5D7050 Wireless G Adapter v4000 [Zydas ZD1211B]
- 705e F5D7050 Wireless G Adapter v5000 [Realtek RTL8187B]
- 706a 2-N-1 7-Port Hub (Upper half)
- 8053 F5D8053 N Wireless USB Adapter v1000/v4000 [Ralink RT2870]
- 805c F5D8053 N Wireless Adapter v3000 [Ralink RT2870]
- 805e F5D8053 N Wireless USB Adapter v5000 [Realtek RTL8192U]
- 815c F5D8053 N Wireless USB Adapter v3000 [Ralink RT2870]
- 815f F5D8053 N Wireless USB Adapter v6000 [Realtek RTL8192SU]
- 825a F5D8055 N+ Wireless Adapter v1000 [Ralink RT2870]
- 825b F5D8055 N+ Wireless Adapter v2000 [Ralink RT3072]
- 845a F7D2101 802.11n Surf & Share Wireless Adapter v1000 [Realtek RTL8192SU]
- 905b F5D9050 Wireless G+ MIMO Network Adapter v3000 [Ralink RT2573]
- 905c F5D9050 Wireless G+ MIMO Network Adapter v4000 [Ralink RT2573]
- 935a F6D4050 N150 Enhanced Wireless Network Adapter v1000 [Ralink RT3070]
- 935b F6D4050 N150 Enhanced Wireless Network Adapter v2000 [Ralink RT3070]
- 945a F7D1101 v1 Basic Wireless Adapter [Realtek RTL8188SU]
- 945b F7D1101 v2 Basic Wireless Adapter [Ralink RT3370]
- d321 Dynex DX-NUSB 802.11bgn Wireless Adapter [Broadcom BCM43231]
-050e Neon Technology, Inc.
-050f KC Technology, Inc.
- 0001 Hub
- 0003 KC82C160S Hub
- 0180 KC-180 IrDA Dongle
- 0190 KC2190 USB Host-to-Host cable
-0510 Sejin Electron, Inc.
- 0001 Keyboard
- 1000 Keyboard with PS/2 Mouse Port
- e001 Mouse
-0511 N'Able (DataBook) Technologies, Inc.
- 002b AOC DVB
-0512 Hualon Microelectronics Corp.
-0513 digital-X, Inc.
-0514 FCI Electronics
-0515 ACTC
-0516 Longwell Electronics
-0517 Butterfly Communications
-0518 EzKEY Corp.
- 0001 USB to PS2 Adaptor v1.09
- 0002 EZ-9900C Keyboard
-0519 Star Micronics Co., Ltd
- 0003 TSP100ECO/TSP100II
- c002 Xlive Bluetooth XBM-100S MP3 Player
-051a WYSE Technology
- a005 Smart Display Version 9973
-051b Silicon Graphics
-051c Shuttle, Inc.
- 0005 VFD Module
- c001 eHome Infrared Receiver
- c002 eHome Infrared Receiver
-051d American Power Conversion
- 0001 UPS
- 0002 Uninterruptible Power Supply
- 0003 UPS
-051e Scientific Atlanta, Inc.
-051f IO Systems (Elite Electronics), Inc.
-0520 Taiwan Semiconductor Manufacturing Co.
-0521 Airborn Connectors
-0522 Advanced Connectek, Inc.
-0523 ATEN GmbH
-0524 Sola Electronics
-0525 Netchip Technology, Inc.
- 100d RFMD Bluetooth Device
- 1080 NET1080 USB-USB Bridge
- 1200 SSDC Adapter II
- 1265 File-backed Storage Gadget
- a0f0 Cambridge Electronic Devices Power1401 mk 2
- a140 USB Clik! 40
- a141 (OME) PocketZip 40 MP3 Player Driver
- a220 GVC Bluetooth Wireless Adapter
- a4a0 Linux-USB "Gadget Zero"
- a4a1 Linux-USB Ethernet Gadget
- a4a2 Linux-USB Ethernet/RNDIS Gadget
- a4a3 Linux-USB user-mode isochronous source/sink
- a4a4 Linux-USB user-mode bulk source/sink
- a4a5 Linux-USB File Storage Gadget
- a4a6 Linux-USB Serial Gadget
- a4a7 Linux-USB Serial Gadget (CDC ACM mode)
- a4a8 Linux-USB Printer Gadget
- a4a9 Linux-USB OBEX Gadget
- a4aa Linux-USB CDC Composite Gadge (Ethernet and ACM)
-0526 Temic MHS S.A.
-0527 ALTRA
-0528 ATI Technologies, Inc.
- 7561 TV Wonder
- 7562 TV Wonder, Edition (FN5)
- 7563 TV Wonder, Edition (FI)
- 7564 TV Wonder, Edition (FQ)
- 7565 TV Wonder, Edition (NTSC+)
- 7566 TV Wonder, Edition (FN5)
- 7567 TV Wonder, Edition (FI)
- 7568 TV Wonder, Edition (FQ)
- 7569 Live! Pro (A)
- 756a Live! Pro Audio (O)
-0529 Aladdin Knowledge Systems
- 0001 HASP v0.06
- 030b eToken R1 v3.1.3.x
- 0313 eToken R1 v3.2.3.x
- 031b eToken R1 v3.3.3.x
- 0323 eToken R1 v3.4.3.x
- 0412 eToken R2 v2.2.4.x
- 041a eToken R2 v2.2.4.x
- 0422 eToken R2 v2.4.4.x
- 042a eToken R2 v2.5.4.x
- 050c eToken Pro v4.1.5.x
- 0514 eToken Pro v4.2.5.4
- 0600 eToken Pro 64k (4.2)
- 0620 Token JC
-052a Crescent Heart Software
-052b Tekom Technologies, Inc.
- 0102 Ca508A HP1020 Camera v.1.3.1.6
- 0801 Yakumo MegaImage 37
- 1512 Yakumo MegaImage IV
- 1513 Aosta CX100 Webcam
- 1514 Aosta CX100 Webcam Storage
- 1905 Yakumo MegaImage 47
- 1911 Yakumo MegaImage 47 SL
- 2202 WDM Still Image Capture
- 2203 Sound Vision Stream Driver
- 3a06 DigiLife DDV-5120A
- d001 P35U Camera Capture
-052c Canon Information Systems, Inc.
-052d Avid Electronics Corp.
-052e Standard Microsystems Corp.
-052f Unicore Software, Inc.
-0530 American Microsystems, Inc.
-0531 Wacom Technology Corp.
-0532 Systech Corp.
-0533 Alcatel Mobile Phones
-0534 Motorola, Inc.
-0535 LIH TZU Electric Co., Ltd
-0536 Hand Held Products (Welch Allyn, Inc.)
- 01a0 PDT
-0537 Inventec Corp.
-0538 Caldera International, Inc. (SCO)
-0539 Shyh Shiun Terminals Co., Ltd
-053a PrehKeyTec GmbH
- 0b00 Hub
-053b Global Village Communication
-053c Institut of Microelectronic & Mechatronic Systems
-053d Silicon Architect
-053e Mobility Electronics
-053f Synopsys, Inc.
-0540 UniAccess AB
- 0101 Panache Surf ISDN TA
-0541 Sirf Technology, Inc.
-0543 ViewSonic Corp.
- 00fe G773 Monitor Hub
- 00ff P815 Monitor Hub
- 0bf2 airpanel V150 Wireless Smart Display
- 0bf3 airpanel V110 Wireless Smart Display
- 0ed9 Color Pocket PC V35
- 0f01 airsync Wi-Fi Wireless Adapter
- 1527 Color Pocket PC V36
- 1529 Color Pocket PC V37
- 152b Color Pocket PC V38
- 152e Pocket PC
- 1921 Communicator Pocket PC
- 1922 Smartphone
- 1923 Pocket PC V30
- 1a11 Wireless 802.11g Adapter
- 1e60 TA310 - ATSC/NTSC/PAL Driver(PCM4)
- 4153 ViewSonic G773 Control (?)
-0544 Cristie Electronics, Ltd
-0545 Xirlink, Inc.
- 7333 Trution Web Camera
- 8002 IBM NetCamera
- 8009 Veo PC Camera
- 800c Veo Stingray
- 800d Veo PC Camera
- 8080 IBM C-It Webcam
- 808a Veo PC Camera
- 808b Veo Stingray
- 808d Veo PC Camera
- 810a Veo Advanced Connect Webcam
- 810b Veo PC Camera
- 810c Veo PC Camera
- 8135 Veo Mobile/Advanced Web Camera
- 813a Veo PC Camera
- 813b Veo PC Camera
- 813c Veo Mobile/Advanced Web Camera
- 8333 Veo Stingray/Connect Web Camera
- 888c eVision 123 digital camera
- 888d eVision 123 digital camera
-0546 Polaroid Corp.
- 0daf PDC 2300Z
- 1bed PDC 1320 Camera
- 3097 PDC 310
- 3155 PDC 3070 Camera
- 3187 Digital Camera
- 3191 Ion 80 Camera
- 3273 PDC 2030 Camera
- 3304 a500 Digital Camera
- dccf Sound Vision Stream Driver
-0547 Anchor Chips, Inc.
- 0001 ICSI Bluetooth Device
- 1002 Python2 WDM Encoder
- 1006 Hantek DSO-2100 UF
- 2131 AN2131 EZUSB Microcontroller
- 2235 AN2235 EZUSB-FX Microcontroller
- 2710 EZ-Link Loader (EZLNKLDR.SYS)
- 2720 AN2720 USB-USB Bridge
- 2727 Xircom PGUNET USB-USB Bridge
- 2750 EZ-Link (EZLNKUSB.SYS)
- 2810 Cypress ATAPI Bridge
- 7777 Bluetooth Device
- 9999 AN2131 uninitialized (?)
-0548 Tyan Computer Corp.
- 1005 EZ Cart II GameBoy Flash Programmer
-0549 Pixera Corp.
-054a Fujitsu Microelectronics, Inc.
-054b New Media Corp.
-054c Sony Corp.
- 0001 HUB
- 0002 Standard HUB
- 0010 DSC-S30/S70/S75/F505V/F505/FD92/W1 Cybershot/Mavica Digital Camera
- 0014 Nogatech USBVision (SY)
- 0022 Storage Adapter V2 (TPP)
- 0023 CD Writer
- 0024 Mavica CD-1000 Camera
- 0025 NW-MS7 Walkman MemoryStick Reader
- 002b Portable USB Harddrive V2
- 002c USB Floppy Disk Drive
- 002d MSAC-US1 MemoryStick Reader
- 002e HandyCam MemoryStick Reader
- 0030 Storage Adapter V2 (TPP)
- 0032 MemoryStick MSC-U01 Reader
- 0035 Network Walkman (E)
- 0036 Net MD
- 0037 MG Memory Stick Reader/Writer
- 0038 Clie PEG-S300/D PalmOS PDA
- 0039 Network Walkman (MS)
- 003c VAIO-MX LCD Control
- 0045 Digital Imaging Video
- 0046 Network Walkman
- 004a Memory Stick Hi-Fi System
- 004b Memory Stick Reader/Writer
- 004e DSC-xxx (ptp)
- 0056 MG Memory Stick Reader/Writer
- 0058 Clie PEG-N7x0C PalmOS PDA Mass Storage
- 0066 Clie PEG-N7x0C/PEG-T425 PalmOS PDA Serial
- 0067 CMR-PC3 Webcam
- 0069 Memorystick MSC-U03 Reader
- 006c FeliCa S310 [PaSoRi]
- 006d Clie PEG-T425 PDA Mass Storage
- 006f Network Walkman (EV)
- 0073 Storage CRX1750U
- 0075 Net MD
- 0076 Storage Adapter ACR-U20
- 007c Net MD
- 007f IC Recorder (MS)
- 0080 Net MD
- 0081 Net MD
- 0084 Net MD
- 0085 Net MD
- 0086 Net MD
- 008b Micro Vault 64M Mass Storage
- 0095 Clie s360
- 0099 Clie NR70 PDA Mass Storage
- 009a Clie NR70 PDA Serial
- 00ab Visual Communication Camera (PCGA-UVC10)
- 00af DPP-EX Series Digital Photo Printer
- 00bf IC Recorder (S)
- 00c0 Handycam DCR-30
- 00c6 Net MD
- 00c7 Net MD
- 00c8 MZ-N710 Minidisc Walkman
- 00c9 Net MD
- 00ca MZ-DN430 Minidisc Walkman
- 00cb MSAC-US20 Memory Stick Reader
- 00da Clie nx60
- 00e8 Network Walkman (MS)
- 00e9 Handheld
- 00eb Net MD
- 0101 Net MD
- 0103 IC Recorder (ST)
- 0105 Micro Vault Hub
- 0107 VCC-U01 Visual Communication Camera
- 0110 Digital Imaging Video
- 0113 Net MD
- 0116 IC Recorder (P)
- 0144 Clie PEG-TH55 PDA
- 0147 Visual Communication Camera (PCGA-UVC11)
- 014c Aiwa AM-NX9 Net MD Music Recorder MDLP
- 014d Memory Stick Reader/Writer
- 0154 Eyetoy Audio Device
- 015f IC Recorder (BM)
- 0169 Clie PEG-TJ35 PDA Serial
- 016a Clie PEG-TJ35 PDA Mass Storage
- 016b Mobile HDD
- 016d IC Recorder (SX)
- 016e DPP-EX50 Digital Photo Printer
- 0171 Fingerprint Sensor 3500
- 017e Net MD
- 017f Hi-MD WALKMAN
- 0180 Net MD
- 0181 Hi-MD WALKMAN
- 0182 Net MD
- 0183 Hi-MD WALKMAN
- 0184 Net MD
- 0185 Hi-MD WALKMAN
- 0186 Net MD
- 0187 Hi-MD MZ-NH600 WALKMAN
- 0188 Net MD
- 018a Net MD
- 018b Hi-MD SOUND GATE
- 019e Micro Vault 1.0G Mass Storage
- 01ad ATRAC HDD PA
- 01bb FeliCa S320 [PaSoRi]
- 01bd MRW62E Multi-Card Reader/Writer
- 01c3 NW-E55 Network Walkman
- 01c6 MEMORY P-AUDIO
- 01c7 Printing Support
- 01c8 PSP Type A
- 01c9 PSP Type B
- 01d0 DVD+RW External Drive DRU-700A
- 01d5 IC RECORDER
- 01de VRD-VC10 [Video Capture]
- 01e9 Net MD
- 01ea Hi-MD WALKMAN
- 01ee IC RECORDER
- 01fa IC Recorder (P)
- 01fb NW-E405 Network Walkman
- 020f Device
- 0210 ATRAC HDD PA
- 0219 Net MD
- 021a Hi-MD WALKMAN
- 021b Net MD
- 021c Hi-MD WALKMAN
- 021d Net MD
- 0227 Printing Support
- 022c Net MD
- 022d Hi-MD AUDIO
- 0233 ATRAC HDD PA
- 0236 Mobile HDD
- 023b DVD+RW External Drive DRU-800UL
- 023c Net MD
- 023d Hi-MD WALKMAN
- 0243 MicroVault Flash Drive
- 024b Vaio VGX Mouse
- 0257 IFU-WLM2 USB Wireless LAN Module (Wireless Mode)
- 0258 IFU-WLM2 USB Wireless LAN Module (Memory Mode)
- 0259 IC RECORDER
- 0267 Tachikoma Device
- 0268 Batoh Device / PlayStation 3 Controller
- 0269 HDD WALKMAN
- 026a HDD WALKMAN
- 0271 IC Recorder (P)
- 027c NETWORK WALKMAN
- 027e SONY Communicator
- 027f IC RECORDER
- 0286 Net MD
- 0287 Hi-MD WALKMAN
- 0290 VGP-UVC100 Visual Communication Camera
- 029b PRS-500 eBook reader
- 02a5 MicroVault Flash Drive
- 02af Handycam DCR-DVD306E
- 02c4 Device
- 02d1 DVD RW
- 02d2 PSP Slim
- 02e1 FeliCa S330 [PaSoRi]
- 02ea PlayStation 3 Memory Card Adaptor
- 02f9 DSC-H9
- 0317 WALKMAN
- 031a Walkman NWD-B103F
- 031e PRS-300/PRS-505 eBook reader
- 0325 NWZ-A818
- 033e DSC-W120/W290
- 0346 Handycam DCR-SR55E
- 0348 HandyCam HDR-TG3E
- 035b Walkman NWZ-A828
- 035c NWZ-A726/A728/A729
- 0382 Memory Stick PRO-HG Duo Adaptor (MSAC-UAH1)
- 0385 Walkman NWZ-E436F
- 0387 IC Recorder (P)
- 03bc Webbie HD - MHS-CM1
- 03d1 DPF-X95
- 03d3 DR-BT100CX
- 03d5 PlayStation Move motion controller
- 03fc WALKMAN [NWZ-E345]
- 03fd Walkman NWZ-E443
- 042f PlayStation Move navigation controller
- 0440 DSC-H55
- 0485 MHS-PM5 HD camcorder
- 04cb WALKMAN NWZ-E354
- 1000 Wireless Buzz! Receiver
-054d Try Corp.
-054e Proside Corp.
-054f WYSE Technology Taiwan
-0550 Fuji Xerox Co., Ltd
- 0002 InkJet Color Printer
- 0004 InkJet Color Printer
- 0005 InkJet Color Printer
-0551 CompuTrend Systems, Inc.
-0552 Philips Monitors
-0553 STMicroelectronics Imaging Division (VLSI Vision)
- 0001 TerraCAM
- 0002 CPiA Webcam
- 0100 STV0672 Camera
- 0140 Video Camera
- 0150 CDE CAM 100
- 0151 Digital Blue QX5 Microscope
- 0200 Dual-mode Camera0
- 0201 Dual-mode Camera1
- 0202 STV0680 Camera
- 0674 Multi-mode Camera
- 0679 NMS Video Camera (Webcam)
- 1002 Che-ez! Splash
-0554 Dictaphone Corp.
-0555 ANAM S&T Co., Ltd
-0556 Asahi Kasei Microsystems Co., Ltd
- 0001 AK5370 I/F A/D Converter
-0557 ATEN International Co., Ltd
- 2001 UC-1284 Printer Port
- 2002 10Mbps Ethernet [klsi]
- 2004 UC-100KM PS/2 Mouse and Keyboard adapter
- 2006 UC-1284B Printer Port
- 2007 UC-110T 100Mbps Ethernet [pegasus]
- 2008 UC-232A Serial Port [pl2303]
- 2009 UC-210T Ethernet
- 2011 UC-2324 4xSerial Ports [mos7840]
- 2202 CS124U Miniview II KVM Switch
- 2213 CS682 2-Port USB 2.0 DVI KVM Switch
- 2221 Winbond Hermon
- 2404 4-port switch
- 2600 IDE Bridge
- 2701 CE700A KVM Extender
- 4000 DSB-650 10Mbps Ethernet [klsi]
- 7000 Hub
- 7820 UC-2322 2xSerial Ports [mos7820]
-0558 Truevision, Inc.
- 1009 GW Instek GDS-1000 Oscilloscope
- 100a GW Instek GDS-1000A Oscilloscope
- 2009 GW Instek GDS-2000 Oscilloscope
-0559 Cadence Design Systems, Inc.
-055a Kenwood USA
-055b KnowledgeTek, Inc.
-055c Proton Electronic Ind.
-055d Samsung Electro-Mechanics Co.
- 0001 Keyboard
- 0bb1 Bluetooth Device
- 1030 Optical Wheel Mouse (OMS3CB/OMGB30)
- 1031 Optical Wheel Mouse (OMA3CB/OMGI30)
- 1040 Mouse HID Device
- 1050 E-Mail Optical Wheel Mouse (OMS3CE)
- 1080 Optical Wheel Mouse (OMS3CH)
- 2020 Floppy Disk Drive
- 6780 Keyboard V1
- 6781 Keyboard Mouse
- 8001 E.M. Hub
- 9000 AnyCam [pwc]
- 9001 MPC-C30 AnyCam Premium for Notebooks [pwc]
- a000 SWL-2100U
- a010 WLAN Adapter(SWL-2300)
- a011 Boot Device
- a012 WLAN Adapter(SWL-2300)
- a013 WLAN Adapter(SWL-2350)
- a230 Boot Device
- b000 11Mbps WLAN Mini Adapter
- b230 Netopia 802.11b WLAN Adapter
- b231 LG Wireless LAN 11b Adapter
-055e CTX Opto-Electronics Corp.
-055f Mustek Systems, Inc.
- 0001 ScanExpress 1200 CU
- 0002 ScanExpress 600 CU
- 0003 ScanExpress 1200 USB
- 0006 ScanExpress 1200 UB
- 0007 ScanExpress 1200 USB Plus
- 0008 ScanExpress 1200 CU Plus
- 0010 BearPaw 1200F
- 0210 ScanExpress A3 USB
- 0218 BearPaw 2400 TA
- 0219 BearPaw 2400 TA Plus
- 021a BearPaw 2448 TA Plus
- 021b BearPaw 1200 CU Plus
- 021c BearPaw 1200 CU Plus
- 021d BearPaw 2400 CU Plus
- 021e BearPaw 1200 TA/CS
- 021f SNAPSCAN e22
- 0400 BearPaw 2400 TA Pro
- 0401 P 3600 A3 Pro
- 0408 BearPaw 2448 CU Pro
- 0409 BearPaw 2448 TA Pro
- 040b ScanExpress A3 USB 1200 PRO
- 0873 ScanExpress 600 USB
- 1000 BearPaw 4800 TA Pro
- a350 gSmart 350 Camera
- a800 MDC 800 Camera
- b500 MDC 3000 Camera
- c005 PC CAM 300A
- c200 gSmart 300
- c211 Kowa Bs888e Microcamera
- c220 gSmart mini
- c230 Digicam 330K
- c232 MDC3500 Camera
- c360 DV 4000 Camera
- c420 gSmart mini 2 Camera
- c430 gSmart LCD 2 Camera
- c440 DV 3000 Camera
- c520 gSmart mini 3 Camera
- c530 gSmart LCD 2 Camera
- c540 gSmart D30 Camera
- c630 MDC 4000 Camera
- c631 MDC 4000 Camera
- c650 MDC 5500Z Camera
- d001 WCam 300
- d003 WCam 300A
- d004 WCam 300AN
-0560 Interface Corp.
-0561 Oasis Design, Inc.
-0562 Telex Communications, Inc.
- 0001 Enhanced Microphone
- 0002 Telex Microphone
-0563 Immersion Corp.
-0564 Kodak Digital Product Center, Japan Ltd. (formerly Chinon Industries Inc.)
-0565 Peracom Networks, Inc.
- 0001 Serial Port [etek]
- 0002 Enet Ethernet [klsi]
- 0003 @Home Networks Ethernet [klsi]
- 0005 Enet2 Ethernet [klsi]
- 0041 Peracom Remote NDIS Ethernet Adapter
-0566 Monterey International Corp.
- 0110 ViewMate Desktop Mouse CC2201
- 1001 ViewMate Desktop Mouse CC2201
- 1002 ViewMate Desktop Mouse CC2201
- 1003 ViewMate Desktop Mouse CC2201
- 1004 ViewMate Desktop Mouse CC2201
- 1005 ViewMate Desktop Mouse CC2201
- 1006 ViewMate Desktop Mouse CC2201
- 1007 ViewMate Desktop Mouse CC2201
- 2800 MIC K/B
- 2801 MIC K/B Mouse
- 2802 Kbd Hub
- 3004 Genius KB-29E
- 3107 Keyboard
-0567 Xyratex International, Ltd
-0568 Quartz Ingenierie
-0569 SegaSoft
-056a Wacom Co., Ltd
- 0000 PenPartner
- 0001 PenPartner 4x5
- 0002 PenPartner 6x8
- 0003 Cintiq Partner
- 0010 Graphire
- 0011 Graphire 2 4x5
- 0012 Graphire 2 5x7
- 0013 Graphire 3 4x5
- 0014 Graphire 3 6x8
- 0015 Graphire 4 4x5
- 0016 Graphire 4 6x8
- 0017 CTE-450 [Bamboo Fun]
- 0018 Bamboo Fun 6x8
- 0019 Bamboo One Medium
- 0020 Intuos 4x5
- 0021 Intuos 6x8
- 0022 Intuos 9x12
- 0023 Intuos 12x12
- 0024 Intuos 12x18
- 0026 Intuos5 touch S
- 0027 Intuos5 touch M
- 0028 Intuos5 touch L
- 0029 Intuos5 S
- 002a Intuos5 M
- 0030 PL400
- 0031 PL500
- 0032 PL600
- 0033 PL600SX
- 0034 PL550
- 0035 PL800
- 0037 PL700
- 0038 PL510
- 0039 DTU-710
- 003f Cintiq 21UX (DTZ-2100)
- 0041 Intuos2 4x5
- 0042 Intuos2 6x8
- 0043 Intuos2 9x12
- 0044 Intuos2 12x12
- 0045 Intuos2 12x18
- 0047 Intuos2 6x8
- 0060 Volito
- 0061 PenStation2
- 0062 Volito2 4x5
- 0063 Volito2 2x3
- 0064 PenPartner2
- 0065 Bamboo
- 0069 Bamboo One
- 0081 Graphire Wireless 6x8
- 0090 TPC90
- 0093 TPC93
- 009a TPC9A
- 00b0 Intuos3 4x5
- 00b1 Intuos3 6x18
- 00b2 Intuos3 9x12
- 00b3 Intuos3 12x12
- 00b4 Intuos3 12x19
- 00b5 Intuos3 6x11 (PTZ-631W)
- 00b7 Intuos3 4x6
- 00b8 Intuos4 4x6
- 00b9 Intuos4 6x9
- 00ba Intuos4 8x13
- 00bb Intuos4 12x19
- 00c0 DTF-521
- 00c4 DTF-720
- 00c5 Cintiq 20WSX
- 00c6 Cintiq 12WX
- 00c7 DTU-1931
- 00cc Cintiq 21UX (DTK-2100)
- 00d1 Bamboo Pen & Touch (CTH-460-DE)
- 00d3 Bamboo Fun (CTH-661)
- 00d6 Bamboo Pen & Touch (CTH-460)
- 00db Bamboo Fun (CTH-661SE-NL)
- 00dd Bamboo Pen (CTL-470)
- 00f6 Cintiq 24HD touch (DTH-2400) touchscreen
- 00f8 Cintiq 24HD touch (DTH-2400) tablet
- 0400 PenPartner 4x5
- 4850 PenPartner 6x8
-056b Decicon, Inc.
-056c eTEK Labs
- 0006 KwikLink Host-Host Connector
- 8007 Kwik232 Serial Port
- 8100 KwikLink Host-Host Connector
- 8101 KwikLink USB-USB Bridge
-056d EIZO Corp.
- 0000 Hub
- 0001 Monitor
- 0002 HID Monitor Controls
- 0003 Device Bay Controller
-056e Elecom Co., Ltd
- 0002 29UO Mouse
- 0072 Mouse
- 200c LD-USB/TX
- 4002 Laneed 100Mbps Ethernet LD-USB/TX [pegasus]
- 4005 LD-USBL/TX
- 400b LD-USB/TX
- 4010 LD-USB20
- 5003 UC-SGT
- 5004 UC-SGT
- 6008 Flash Disk
- abc1 LD-USB/TX
-056f Korea Data Systems Co., Ltd
- cd00 CDM-751 CD organizer
-0570 Epson America
-0571 Interex, Inc.
- 0002 echoFX InterView Lite
-0572 Conexant Systems (Rockwell), Inc.
- 0001 Ezcam II Webcam
- 0002 Ezcam II Webcam
- 0040 Wondereye CP-115 Webcam
- 0041 Webcam Notebook
- 0042 Webcam Notebook
- 1232 V.90 modem
- 1234 Typhoon Redfun Modem V90 56k
- 1252 HCF V90 Data Fax Voice Modem
- 1253 Zoom V.92 Faxmodem
- 1300 SoftK56 Data Fax Voice CARP
- 1301 Modem Enumerator
- 1328 TrendNet TFM-561 modem
- 2000 SoftGate 802.11 Adapter
- 2002 SoftGate 802.11 Adapter
- 262a tm5600 Video & Audio Grabber Capture
- 8390 WinFast PalmTop/Novo TV Video
- 8392 WinFast PalmTop/Novo TV Video
- cafc CX861xx ROM Boot Loader
- cafe AccessRunner ADSL Modem
- cb00 ADSL Modem
- cb01 ADSL Modem
- cb06 StarModem Network Interface
-0573 Zoran Co. Personal Media Division (Nogatech)
- 0003 USBGear USBG-V1
- 0400 D-Link V100
- 0600 Dazzle USBVision (1006)
- 1300 leadtek USBVision (1006)
- 2000 X10 va10a Wireless Camera
- 2001 Dazzle EmMe (2001)
- 2101 Zoran Co. PMD (Nogatech) AV-grabber Manhattan
- 2d00 Osprey 50
- 2d01 Hauppauge USB-Live Model 600
- 3000 Dazzle MicroCam (NTSC)
- 3001 Dazzle MicroCam (PAL)
- 4000 Nogatech TV! (NTSC)
- 4001 Nogatech TV! (PAL)
- 4002 Nogatech TV! (PAL-I-)
- 4003 Nogatech TV! (MF-)
- 4008 Nogatech TV! (NTSC) (T)
- 4009 Nogatech TV! (PAL) (T)
- 4010 Nogatech TV! (NTSC) (A)
- 4100 USB-TV FM (NTSC)
- 4110 PNY USB-TV (NTSC) FM
- 4400 Nogatech TV! Pro (NTSC)
- 4401 Nogatech TV! Pro (PAL)
- 4450 PixelView PlayTv-USB PRO (PAL) FM
- 4451 Nogatech TV! Pro (PAL+)
- 4452 Nogatech TV! Pro (PAL-I+)
- 4500 Nogatech TV! Pro (NTSC)
- 4501 Nogatech TV! Pro (PAL)
- 4550 ZTV ZT-721 2.4GHz A/V Receiver
- 4551 Dazzle TV! Pro Audio (P+)
- 4d00 Hauppauge WinTV-USB USA
- 4d01 Hauppauge WinTV-USB
- 4d02 Hauppauge WinTV-USB UK
- 4d03 Hauppauge WinTV-USB France
- 4d04 Hauppauge WinTV (PAL D/K)
- 4d10 Hauppauge WinTV-USB with FM USA radio
- 4d11 Hauppauge WinTV-USB (PAL) with FM radio
- 4d12 Hauppauge WinTV-USB UK with FM Radio
- 4d14 Hauppauge WinTV (PAL D/K FM)
- 4d20 Hauppauge WinTV-USB II (PAL) with FM radio
- 4d21 Hauppauge WinTV-USB II (PAL)
- 4d22 Hauppauge WinTV-USB II (PAL) Model 566
- 4d23 Hauppauge WinTV-USB France 4D23
- 4d24 Hauppauge WinTV Pro (PAL D/K)
- 4d25 Hauppauge WinTV-USB Model 40209 rev B234
- 4d26 Hauppauge WinTV-USB Model 40209 rev B243
- 4d27 Hauppauge WinTV-USB Model 40204 Rev B281
- 4d28 Hauppauge WinTV-USB Model 40204 rev B283
- 4d29 Hauppauge WinTV-USB Model 40205 rev B298
- 4d2a Hauppague WinTV-USB Model 602 Rev B285
- 4d2b Hauppague WinTV-USB Model 602 Rev B282
- 4d2c Hauppauge WinTV Pro (PAL/SECAM)
- 4d30 Hauppauge WinTV-USB FM Model 40211 Rev B123
- 4d31 Hauppauge WinTV-USB III (PAL) with FM radio Model 568
- 4d32 Hauppauge WinTV-USB III (PAL) FM Model 573
- 4d34 Hauppauge WinTV Pro (PAL D/K FM)
- 4d35 Hauppauge WinTV-USB III (PAL) FM Model 597
- 4d36 Hauppauge WinTV Pro (PAL B/G FM)
- 4d37 Hauppauge WinTV-USB Model 40219 rev E189
- 4d38 Hauppauge WinTV Pro (NTSC FM)
-0574 City University of Hong Kong
-0575 Philips Creative Display Solutions
-0576 BAFO/Quality Computer Accessories
-0577 ELSA
-0578 Intrinsix Corp.
-0579 GVC Corp.
-057a Samsung Electronics America
-057b Y-E Data, Inc.
- 0000 FlashBuster-U Floppy
- 0001 Tri-Media Reader Floppy
- 0006 Tri-Media Reader Card Reader
- 0010 Memory Stick Reader Writer
- 0020 HEXA Media Drive 6-in-1 Card Reader Writer
- 0030 Memory Card Viewer (TV)
-057c AVM GmbH
- 0b00 ISDN-Controller B1 Family
- 0c00 ISDN-Controller FRITZ!Card
- 1000 ISDN-Controller FRITZ!Card v2.0
- 1900 ISDN-Controller FRITZ!Card v2.1
- 2000 ISDN-Connector FRITZ!X
- 2200 BlueFRITZ!
- 2300 Teledat X130 DSL
- 2800 ISDN-Connector TA
- 3200 Teledat X130 DSL
- 3500 FRITZ!Card DSL SL
- 3701 FRITZ!Box SL
- 3702 FRITZ!Box
- 3800 BlueFRITZ! Bluetooth Stick
- 3a00 FRITZ!Box Fon
- 3c00 FRITZ!Box WLAN
- 3d00 Fritz!Box
- 3e01 FRITZ!Box (Annex A)
- 4001 FRITZ!Box Fon (Annex A)
- 4101 FRITZ!Box WLAN (Annex A)
- 4201 FRITZ!Box Fon WLAN (Annex A)
- 4601 Eumex 5520PC (WinXP/2000)
- 4602 Eumex 400 (WinXP/2000)
- 4701 AVM FRITZ!Box Fon ata
- 5401 Eumex 300 IP
- 5601 AVM Fritz!WLAN [Texas Instruments TNETW1450]
- 6201 AVM Fritz!WLAN v1.1 [Texas Instruments TNETW1450]
- 62ff AVM Fritz!WLAN USB (in CD-ROM-mode)
- 8401 Fritz!WLAN N [Atheros AR9001U]
- 8402 Fritz!WLAN N 2.4 [Atheros AR9001U]
- 8403 Fritz!WLAN N v2 [Atheros AR9271]
- 84ff AVM Fritz!WLAN USB N (in CD-ROM-mode)
-057d Shark Multimedia, Inc.
-057e Nintendo Co., Ltd
- 0305 Broadcom BCM2045A Bluetooth Radio [Nintendo Wii]
- 0306 Wii Remote Controller RVL-003
-057f QuickShot, Ltd
- 6238 USB StrikePad
-0580 Denron, Inc.
-0581 Racal Data Group
-0582 Roland Corp.
- 0000 UA-100(G)
- 0002 UM-4/MPU-64 MIDI Interface
- 0003 SoundCanvas SC-8850
- 0004 U-8
- 0005 UM-2(C/EX)
- 0007 SoundCanvas SC-8820
- 0008 PC-300
- 0009 UM-1(E/S/X)
- 000b SK-500
- 000c SC-D70
- 0010 EDIROL UA-5
- 0011 Edirol UA-5 Sound Capture
- 0012 XV-5050
- 0013 XV-5050
- 0014 EDIROL UM-880 MIDI I/F (native)
- 0015 EDIROL UM-880 MIDI I/F (generic)
- 0016 EDIROL SD-90
- 0017 EDIROL SD-90
- 0018 UA-1A
- 001b MMP-2
- 001c MMP-2
- 001d V-SYNTH
- 001e V-SYNTH
- 0023 EDIROL UM-550
- 0024 EDIROL UM-550
- 0025 EDIROL UA-20
- 0026 EDIROL UA-20
- 0027 EDIROL SD-20
- 0028 EDIROL SD-20
- 0029 EDIROL SD-80
- 002a EDIROL SD-80
- 002b EDIROL UA-700
- 002c EDIROL UA-700
- 002d XV-2020 Synthesizer
- 002e XV-2020 Synthesizer
- 002f VariOS
- 0030 VariOS
- 0033 EDIROL PCR
- 0034 EDIROL PCR
- 0035 M-1000
- 0037 Digital Piano
- 0038 Digital Piano
- 003b BOSS GS-10
- 003c BOSS GS-10
- 0040 GI-20
- 0041 GI-20
- 0042 RS-70
- 0043 RS-70
- 0044 EDIROL UA-1000
- 0047 EDIROL UR-80 WAVE
- 0048 EDIROL UR-80 MIDI
- 0049 EDIROL UR-80 WAVE
- 004a EDIROL UR-80 MIDI
- 004b EDIROL M-100FX
- 004c EDIROL PCR-A WAVE
- 004d EDIROL PCR-A MIDI
- 004e EDIROL PCR-A WAVE
- 004f EDIROL PCR-A MIDI
- 0050 EDIROL UA-3FX
- 0052 EDIROL UM-1SX
- 0054 Digital Piano
- 0060 EXR Series
- 0064 EDIROL PCR-1 WAVE
- 0065 EDIROL PCR-1 MIDI
- 0066 EDIROL PCR-1 WAVE
- 0067 EDIROL PCR-1 MIDI
- 006a SP-606
- 006b SP-606
- 006d FANTOM-X
- 006e FANTOM-X
- 0073 EDIROL UA-25
- 0074 EDIROL UA-25
- 0075 BOSS DR-880
- 0076 BOSS DR-880
- 007a RD
- 007b RD
- 007d EDIROL UA-101
- 0080 G-70
- 0081 G-70
- 0084 V-SYNTH XT
- 0089 BOSS GT-PRO
- 008b EDIROL PC-50
- 008c EDIROL PC-50
- 008d EDIROL UA-101 USB1
- 0092 EDIROL PC-80 WAVE
- 0093 EDIROL PC-80 MIDI
- 0096 EDIROL UA-1EX
- 009a EDIROL UM-3EX
- 009d EDIROL UM-1
- 00a0 MD-P1
- 00a2 Digital Piano
- 00a3 EDIROL UA-4FX
- 00a6 Juno-G
- 00a9 MC-808
- 00ad SH-201
- 00b2 VG-99
- 00b3 VG-99
- 00b7 BK-7m/VIMA JM-5/8
- 00c2 SonicCell
- 00c4 EDIROL M-16DX
- 00c5 SP-555
- 00c7 V-Synth GT
- 00d1 Music Atelier
- 00d3 M-380/400
- 00da BOSS GT-10
- 00db BOSS GT-10 Guitar Effects Processor
- 00dc BOSS GT-10B
- 00de Fantom G
- 00e6 EDIROL UA-25EX (Advanced mode)
- 00e7 EDIROL UA-25EX
- 00e9 UA-1G
- 00eb VS-100
- 00f6 GW-8/AX-Synth
- 00f8 JUNO Series
- 00fc VS-700C
- 00fd VS-700
- 00fe VS-700 M1
- 00ff VS-700 M2
- 0100 VS-700
- 0101 VS-700 M2
- 0102 VB-99
- 0104 UM-1G
- 0106 UM-2G
- 0108 UM-3G
- 0109 eBand JS-8
- 010d A-500S
- 010f A-PRO
- 0110 A-PRO
- 0111 GAIA SH-01
- 0113 ME-25
- 0114 SD-50
- 0116 WAVE/MP3 RECORDER R-05
- 0117 VS-20
- 0119 OCTAPAD SPD-30
- 011c Lucina AX-09
- 011e BR-800
- 0120 OCTA-CAPTURE
- 0121 OCTA-CAPTURE
- 0123 JUNO-Gi
- 0124 M-300
- 0127 GR-55
- 012a UM-ONE
- 012b DUO-CAPTURE
- 012f QUAD-CAPTURE
- 0130 MICRO BR BR-80
- 0132 TRI-CAPTURE
- 0134 V-Mixer
- 0138 Boss RC-300 (Audio mode)
- 0139 Boss RC-300 (Storage mode)
- 013a JUPITER-80
- 013e R-26
- 0145 SPD-SX
- 014b eBand JS-10
- 014d GT-100
- 0150 TD-15
- 0151 TD-11
- 0154 JUPITER-50
- 0156 A-Series
- 0158 TD-30
- 0159 DUO-CAPTURE EX
- 015b INTEGRA-7
- 015d R-88
- 0505 EDIROL UA-101
-0583 Padix Co., Ltd (Rockfire)
- 0001 4 Axis 12 button +POV
- 0002 4 Axis 12 button +POV
- 2030 RM-203 USB Nest [mode 1]
- 2031 RM-203 USB Nest [mode 2]
- 2032 RM-203 USB Nest [mode 3]
- 2033 RM-203 USB Nest [mode 4]
- 2050 PX-205 PSX Bridge
- 205f PSX/USB converter
- 206f USB, 2-axis 8-button gamepad
- 3050 QF-305u Gamepad
- 3379 Rockfire X-Force
- 337f Rockfire USB RacingStar Vibra
- 509f USB,4-Axis,12-Button with POV
- 5259 Rockfire USB SkyShuttle Vibra
- 525f USB Vibration Pad
- 5308 USB Wireless VibrationPad
- 5359 Rockfire USB SkyShuttle Pro
- 535f USB,real VibrationPad
- 5659 Rockfire USB SkyShuttle Vibra
- 565f USB VibrationPad
- 6009 Revenger
- 600f USB,GameBoard II
- 6258 USB, 4-axis, 6-button joystick w/view finder
- 6889 Windstorm Pro
- 688f QF-688uv Windstorm Pro Joystick
- 7070 QF-707u Bazooka Joystick
- a000 MaxFire G-08XU Gamepad
- a015 4-Axis,16-Button with POV
- a019 USB, Vibration ,4-axis, 8-button joystick w/view finder
- a020 USB,4-Axis,10-Button with POV
- a021 USB,4-Axis,12-Button with POV
- a022 USB,4-Axis,14-Button with POV
- a023 USB,4-Axis,16-Button with POV
- a024 4axis,12button vibrition audio gamepad
- a025 4axis,12button vibrition audio gamepad
- a130 USB Wireless 2.4GHz Gamepad
- a131 USB Wireless 2.4GHz Joystick
- a132 USB Wireless 2.4GHz Wheelpad
- a133 USB Wireless 2.4GHz Wheel&Gamepad
- a202 ForceFeedbackWheel
- a209 MetalStrike FF
- b000 USB,4-Axis,12-Button with POV
- b001 USB,4-Axis,12-Button with POV
- b002 Vibration,12-Button USB Wheel
- b005 USB,12-Button Wheel
- b008 USB Wireless 2.4GHz Wheel
- b009 USB,12-Button Wheel
- b00a PSX/USB converter
- b00b PSX/USB converter
- b00c PSX/USB converter
- b00d PSX/USB converter
- b00e 4-Axis,12-Button with POV
- b00f USB,5-Axis,10-Button with POV
- b010 MetalStrike Pro
- b012 Wireless MetalStrike
- b013 USB,Wiress 2.4GHZ Joystick
- b016 USB,5-Axis,10-Button with POV
- b018 TW6 Wheel
- ff60 USB Wireless VibrationPad
-0584 RATOC System, Inc.
- 0008 Fujifilm MemoryCard ReaderWriter
- 0220 U2SCX SCSI Converter
- b000 REX-USB60
- b020 REX-USB60F
-0585 FlashPoint Technology, Inc.
- 0001 Digital Camera
- 0002 Digital Camera
- 0003 Digital Camera
- 0004 Digital Camera
- 0005 Digital Camera
- 0006 Digital Camera
- 0007 Digital Camera
- 0008 Digital Camera
- 0009 Digital Camera
- 000a Digital Camera
- 000b Digital Camera
- 000c Digital Camera
- 000d Digital Camera
- 000e Digital Camera
- 000f Digital Camera
-0586 ZyXEL Communications Corp.
- 0025 802.11b/g/n USB Wireless Network Adapter
- 0102 omni.net II ISDN TA
- 1000 Omni NET Modem / ISDN TA
- 1500 Omni 56K Plus
- 2011 Scorpion-980N keyboard
- 3304 LAN Modem
- 3309 ADSL Modem Prestige 600 series
- 330a ADSL Modem Interface
- 330e USB Broadband ADSL Modem Rev 1.10
- 3400 ZyAIR B-220 IEEE 802.11b Adapter
- 3401 ZyAIR G-220 802.11bg
- 3402 ZyAIR G-220F 802.11bg
- 3403 AG-200 802.11abg Wireless Adapter [Atheros AR5523]
- 3407 G-200 v2 802.11bg
- 3408 G-260 802.11bg
- 3409 AG-225H 802.11bg
- 340a M-202 802.11bg
- 340c G-270S 802.11bg Wireless Adapter [Atheros AR5523]
- 340f G-220 v2 802.11bg
- 3410 ZyAIR G-202 802.11bg
- 3412 802.11bg
- 3413 ZyAIR AG-225H v2 802.11bg
- 3415 G-210H 802.11g Wireless Adapter
- 3416 NWD-210N 802.11b/g/n-draft wireless adapter
- 3417 NWD271N 802.11n Wireless Adapter [Atheros AR9001U-(2)NG]
- 3418 NWD211AN 802.11abgn Wireless Adapter [Ralink RT2870]
- 3419 G-220 v3 802.11bg Wireless Adapter [ZyDAS ZD1211B]
- 341a NWD-270N Wireless N-lite USB Adapter
- 341e NWD2105 802.11bgn Wireless Adapter [Ralink RT3070]
- 341f NWD2205 802.11n Wireless N Adapter [Realtek RTL8192CU]
- 343e N220 802.11bgn Wireless Adapter
-0587 America Kotobuki Electronics Industries, Inc.
-0588 Sapien Design
-0589 Victron
-058a Nohau Corp.
-058b Infineon Technologies
- 001c Flash Drive
-058c In Focus Systems
- 0007 Flash
- 0008 LP130
- 000a LP530
- 0010 Projector
- 0011 Projector
- 0012 Projector
- 0013 Projector
- 0014 Projector
- 0015 Projector
- 0016 Projector
- 0017 Projector
- 0018 Projector
- 0019 Projector
- 001a Projector
- 001b Projector
- 001c Projector
- 001d Projector
- 001e Projector
- 001f Projector
- ffe5 IN34 Projector
-058d Micrel Semiconductor
-058e Tripath Technology, Inc.
-058f Alcor Micro Corp.
- 1234 Flash Drive
- 2412 SCard R/W CSR-145
- 2802 Monterey Keyboard
- 5492 Hub
- 6232 Hi-Speed 16-in-1 Flash Card Reader/Writer
- 6254 USB Hub
- 6331 SD/MMC/MS Card Reader
- 6332 Multi-Function Card Reader
- 6335 SD/MMC Card Reader
- 6360 Multimedia Card Reader
- 6361 Multimedia Card Reader
- 6362 Flash Card Reader/Writer
- 6364 AU6477 Card Reader Controller
- 6366 Multi Flash Reader
- 6377 Multimedia Card Reader
- 6386 Memory Card
- 6387 Flash Drive
- 6390 USB 2.0-IDE bridge
- 9213 MacAlly Kbd Hub
- 9215 AU9814 Hub
- 9254 Hub
- 9310 Mass Storage (UID4/5A & UID7A)
- 9320 Micro Storage Driver for Win98
- 9321 Micro Storage Driver for Win98
- 9330 SD Reader
- 9331 Micro Storage Driver for Win98
- 9340 Delkin eFilm Reader-32
- 9350 Delkin eFilm Reader-32
- 9360 8-in-1 Media Card Reader
- 9361 Multimedia Card Reader
- 9368 Multimedia Card Reader
- 9380 Flash Drive
- 9382 Acer/Sweex Flash drive
- 9384 qdi U2Disk T209M
- 9410 Keyboard
- 9472 Keyboard Hub
- 9510 ChunghwaTL USB02 Smartcard Reader
- 9520 EMV Certified Smart Card Reader
- 9720 USB-Serial Adapter
- a014 Asus Integrated Webcam
-0590 Omron Corp.
- 0004 Cable Modem
- 000b MR56SVS
- 0028 HJ-720IT / HEM-7080IT-E / HEM-790IT
-0591 Questra Consulting
-0592 Powerware Corp.
- 0002 UPS (X-Slot)
-0593 Incite
-0594 Princeton Graphic Systems
-0595 Zoran Microelectronics, Ltd
- 1001 Digitrex DSC-1300/DSC-2100 (mass storage mode)
- 2002 DIGITAL STILL CAMERA 6M 4X
- 4343 Digital Camera EX-20 DSC
-0596 MicroTouch Systems, Inc.
- 0001 Touchscreen
- 0002 Touch Screen Controller
- 0500 PCT Multitouch HID Controller
-0597 Trisignal Communications
-0598 Niigata Canotec Co., Inc.
-0599 Brilliance Semiconductor, Inc.
-059a Spectrum Signal Processing, Inc.
-059b Iomega Corp.
- 0001 Zip 100 (Type 1)
- 000b Zip 100 (Type 2)
- 0021 Win98 Disk Controller
- 0030 Zip 250 (Ver 1)
- 0031 Zip 100 (Type 3)
- 0032 Zip 250 (Ver 2)
- 0034 Zip 100 Driver
- 0037 Zip 750 MB
- 0040 SCSI Bridge
- 0042 Rev 70 GB
- 0050 Zip CD 650 Writer
- 0053 CDRW55292EXT CD-RW External Drive
- 0056 External CD-RW Drive Enclosure
- 0057 Mass Storage Device
- 005d Mass Storage Device
- 005f CDRW64892EXT3-C CD-RW 52x24x52x External Drive
- 0060 PCMCIA PocketZip Dock
- 0061 Varo PocketZip 40 MP3 Player
- 006d HipZip MP3 Player
- 007c Ultra Max USB/1394
- 007d HTC42606 0G9AT00 [Iomega HDD]
- 007e Mini 256MB/512MB Flash Drive [IOM2D5]
- 00db FotoShow Zip 250 Driver
- 0150 Mass Storage Device
- 015d Super DVD Writer
- 0173 Hi-Speed USB-to-IDE Bridge Controller
- 0174 Hi-Speed USB-to-IDE Bridge Controller
- 0176 Hi-Speed USB-to-IDE Bridge Controller
- 0177 Hi-Speed USB-to-IDE Bridge Controller
- 0178 Hi-Speed USB-to-IDE Bridge Controller
- 0179 Hi-Speed USB-to-IDE Bridge Controller
- 017a HDD
- 017b HDD/1394A
- 017c HDD/1394B
- 0251 Optical
- 0252 Optical
- 0278 LDHD-UPS [Professional Desktop Hard Drive eSATA / USB2.0]
- 027a LPHD250-U [Portable Hard Drive Silver Series 250 Go]
- 0470 Prestige Portable Hard Drive
- 047a Select Portable Hard Drive
- 0571 Prestige Portable Hard Drive
- 0579 eGo Portable Hard Drive
- 1052 DVD+RW External Drive
-059c A-Trend Technology Co., Ltd
-059d Advanced Input Devices
-059e Intelligent Instrumentation
-059f LaCie, Ltd
- 0201 StudioDrive USB2
- 0202 StudioDrive USB2
- 0203 StudioDrive USB2
- 0211 PocketDrive
- 0212 PocketDrive
- 0213 PocketDrive USB2
- 0323 LaCie d2 Drive USB2
- 0421 Big Disk G465
- 0641 Mobile Hard Drive
- 1010 Desktop Hard Drive
- 1019 Desktop Hard Drive
- 1021 Little Disk
- 1027 iamaKey V2
- 102a Rikiki Hard Drive
- 1049 rikiki Harddrive
- 1052 P'9220 Mobile Drive
- a601 HardDrive
- a602 CD R/W
-05a0 Vetronix Corp.
-05a1 USC Corp.
-05a2 Fuji Film Microdevices Co., Ltd
-05a3 ARC International
- 8388 Marvell 88W8388 802.11a/b/g WLAN
-05a4 Ortek Technology, Inc.
- 1000 WKB-1000S Wireless Ergo Keyboard with Touchpad
- 2000 WKB-2000 Wireless Keyboard with Touchpad
- 9720 Keyboard Mouse
- 9722 Keyboard
- 9731 MCK-600W/MCK-800USB Keyboard
- 9783 Wireless Keypad
- 9881 IR receiver [VRC-1100 Vista MCE Remote Control]
-05a5 Sampo Technology Corp.
-05a6 Cisco Systems, Inc.
- 0001 CVA124 Cable Voice Adapter (WDM)
- 0002 CVA122 Cable Voice Adapter (WDM)
- 0003 CVA124E Cable Voice Adapter (WDM)
- 0004 CVA122E Cable Voice Adapter (WDM)
-05a7 Bose Corp.
-05a8 Spacetec IMC Corp.
-05a9 OmniVision Technologies, Inc.
- 0511 OV511 Webcam
- 0518 OV518 Webcam
- 0519 OV519 Microphone
- 1550 VEHO Filmscanner
- 2640 OV2640 Webcam
- 2643 Monitor Webcam
- 264b Monitor Webcam
- 2800 SuperCAM
- 4519 Webcam Classic
- 7670 OV7670 Webcam
- 8519 OV519 Webcam
- a511 OV511+ Webcam
- a518 D-Link DSB-C310 Webcam
-05aa Utilux South China, Ltd
-05ab In-System Design
- 0002 Parallel Port
- 0030 Storage Adapter V2 (TPP)
- 0031 ATA Bridge
- 0060 USB 2.0 ATA Bridge
- 0061 Storage Adapter V3 (TPP-I)
- 0101 Storage Adapter (TPP)
- 0130 Compact Flash and Microdrive Reader (TPP)
- 0200 USS725 ATA Bridge
- 0201 Storage Adapter (TPP)
- 0202 ATA Bridge
- 0300 Portable Hard Drive (TPP)
- 0301 Portable Hard Drive V2
- 0350 Portable Hard Drive (TPP)
- 0351 Portable Hard Drive V2
- 081a ATA Bridge
- 0cda ATA Bridge for CD-R/RW
- 1001 BAYI Printer Class Support
- 5700 Storage Adapter V2 (TPP)
- 5701 USB Storage Adapter V2
- 5901 Smart Board (TPP)
- 5a01 ATI Storage Adapter (TPP)
- 5d01 DataBook Adapter (TPP)
-05ac Apple, Inc.
- 0201 USB Keyboard [Alps or Logitech, M2452]
- 0202 Keyboard [ALPS]
- 0205 Extended Keyboard [Mitsumi]
- 0206 Extended Keyboard [Mitsumi]
- 020b Pro Keyboard [Mitsumi, A1048/US layout]
- 020c Extended Keyboard [Mitsumi]
- 020d Pro Keyboard [Mitsumi, A1048/JIS layout]
- 020e Internal Keyboard/Trackpad (ANSI)
- 020f Internal Keyboard/Trackpad (ISO)
- 0214 Internal Keyboard/Trackpad (ANSI)
- 0215 Internal Keyboard/Trackpad (ISO)
- 0216 Internal Keyboard/Trackpad (JIS)
- 0217 Internal Keyboard/Trackpad (ANSI)
- 0218 Internal Keyboard/Trackpad (ISO)
- 0219 Internal Keyboard/Trackpad (JIS)
- 021a Internal Keyboard/Trackpad (ANSI)
- 021b Internal Keyboard/Trackpad (ISO)
- 021c Internal Keyboard/Trackpad (JIS)
- 021d Aluminum Mini Keyboard (ANSI)
- 021e Aluminum Mini Keyboard (ISO)
- 021f Aluminum Mini Keyboard (JIS)
- 0220 Aluminum Keyboard (ANSI)
- 0221 Aluminum Keyboard (ISO)
- 0222 Aluminum Keyboard (JIS)
- 0223 Internal Keyboard/Trackpad (ANSI)
- 0224 Internal Keyboard/Trackpad (ISO)
- 0225 Internal Keyboard/Trackpad (JIS)
- 0229 Internal Keyboard/Trackpad (MacBook Pro) (ANSI)
- 022a Internal Keyboard/Trackpad (MacBook Pro) (ISO)
- 022b Internal Keyboard/Trackpad (MacBook Pro) (JIS)
- 0230 Internal Keyboard/Trackpad (MacBook Pro 4,1) (ANSI)
- 0231 Internal Keyboard/Trackpad (MacBook Pro 4,1) (ISO)
- 0232 Internal Keyboard/Trackpad (MacBook Pro 4,1) (JIS)
- 0236 Internal Keyboard/Trackpad (ANSI)
- 0237 Internal Keyboard/Trackpad (ISO)
- 0238 Internal Keyboard/Trackpad (JIS)
- 023f Internal Keyboard/Trackpad (ANSI)
- 0240 Internal Keyboard/Trackpad (ISO)
- 0241 Internal Keyboard/Trackpad (JIS)
- 0242 Internal Keyboard/Trackpad (ANSI)
- 0243 Internal Keyboard/Trackpad (ISO)
- 0244 Internal Keyboard/Trackpad (JIS)
- 0245 Internal Keyboard/Trackpad (ANSI)
- 0246 Internal Keyboard/Trackpad (ISO)
- 0247 Internal Keyboard/Trackpad (JIS)
- 024a Internal Keyboard/Trackpad (MacBook Air) (ISO)
- 024d Internal Keyboard/Trackpad (MacBook Air) (ISO)
- 0250 Aluminium Keyboard (ISO)
- 0252 Internal Keyboard/Trackpad (ANSI)
- 0253 Internal Keyboard/Trackpad (ISO)
- 0254 Internal Keyboard/Trackpad (JIS)
- 0263 Apple Internal Keyboard / Trackpad (MacBook Retina)
- 0301 USB Mouse [Mitsumi, M4848]
- 0302 Optical Mouse [Fujitsu]
- 0304 Optical USB Mouse [Mitsumi]
- 0306 Optical USB Mouse [Fujitsu]
- 030a Internal Trackpad
- 030b Internal Trackpad
- 030d Magic Mouse
- 030e MC380Z/A [Magic Trackpad]
- 1000 Bluetooth HCI MacBookPro (HID mode)
- 1001 Keyboard Hub [ALPS]
- 1002 Extended Keyboard Hub [Mitsumi]
- 1003 Hub in Pro Keyboard [Mitsumi, A1048]
- 1006 Hub in Aluminum Keyboard
- 1101 Speakers
- 1105 Audio in LED Cinema Display
- 1107 Thunderbolt Display Audio
- 1201 3G iPod
- 1202 iPod 2G
- 1203 iPod 4.Gen Grayscale 40G
- 1204 iPod [Photo]
- 1205 iPod Mini 1.Gen/2.Gen
- 1206 iPod '06'
- 1207 iPod '07'
- 1208 iPod '08'
- 1209 iPod Video
- 120a iPod Nano
- 1223 iPod Classic/Nano 3.Gen (DFU mode)
- 1224 iPod Nano 3.Gen (DFU mode)
- 1225 iPod Nano 4.Gen (DFU mode)
- 1227 Mobile Device (DFU Mode)
- 1231 iPod Nano 5.Gen (DFU mode)
- 1240 iPod Nano 2.Gen (DFU mode)
- 1242 iPod Nano 3.Gen (WTF mode)
- 1243 iPod Nano 4.Gen (WTF mode)
- 1245 iPod Classic 3.Gen (WTF mode)
- 1246 iPod Nano 5.Gen (WTF mode)
- 1255 iPod Nano 4.Gen (DFU mode)
- 1260 iPod Nano 2.Gen
- 1261 iPod Classic
- 1262 iPod Nano 3.Gen
- 1263 iPod Nano 4.Gen
- 1265 iPod Nano 5.Gen
- 1266 iPod Nano 6.Gen
- 1281 Apple Mobile Device [Recovery Mode]
- 1290 iPhone
- 1291 iPod Touch 1.Gen
- 1292 iPhone 3G
- 1293 iPod Touch 2.Gen
- 1294 iPhone 3GS
- 1296 iPod Touch 3.Gen (8GB)
- 1297 iPhone 4
- 1299 iPod Touch 3.Gen
- 129a iPad
- 129e iPod Touch 4.Gen
- 129f iPad 2
- 12a0 iPhone 4S
- 12a2 iPad 2 (3G; 64GB)
- 12a6 iPad 3 (3G, 16 GB)
- 12a9 iPad 2
- 12aa iPod Touch 5.Gen [A1421]
- 1300 iPod Shuffle
- 1301 iPod Shuffle 2.Gen
- 1302 iPod Shuffle 3.Gen
- 1303 iPod Shuffle 4.Gen
- 1401 Modem
- 1402 Ethernet Adapter [A1277]
- 1500 SuperDrive [A1379]
- 8202 HCF V.90 Data/Fax Modem
- 8203 Bluetooth HCI
- 8204 Built-in Bluetooth 2.0+EDR HCI
- 8205 Bluetooth HCI
- 8206 Bluetooth HCI
- 820a Bluetooth HID Keyboard
- 820b Bluetooth HID Mouse
- 820f Bluetooth HCI
- 8213 Bluetooth Host Controller
- 8215 Built-in Bluetooth 2.0+EDR HCI
- 8216 Bluetooth USB Host Controller
- 8217 Bluetooth USB Host Controller
- 8218 Bluetooth Host Controller
- 821a Bluetooth Host Controller
- 821f Built-in Bluetooth 2.0+EDR HCI
- 8240 Built-in IR Receiver
- 8241 Built-in IR Receiver
- 8242 Built-in IR Receiver
- 8286 Bluetooth Host Controller
- 8300 Built-in iSight (no firmware loaded)
- 8403 Internal Memory Card Reader
- 8404 Internal Memory Card Reader
- 8501 Built-in iSight [Micron]
- 8502 Built-in iSight
- 8505 Built-in iSight
- 8507 Built-in iSight
- 8508 iSight in LED Cinema Display
- 8509 FaceTime HD Camera
- 850a FaceTime Camera
- 8510 FaceTime HD Camera (Built-in)
- 911c Hub in A1082 [Cinema HD Display 23"]
- 912f Hub in 30" Cinema Display
- 9215 Studio Display 15"
- 9217 Studio Display 17"
- 9218 Cinema Display 23"
- 9219 Cinema Display 20"
- 921c A1082 [Cinema HD Display 23"]
- 921e Cinema Display 24"
- 9221 30" Cinema Display
- 9226 LED Cinema Display
- 9227 Thunderbolt Display
- 9232 Cinema HD Display 30"
- ffff Bluetooth in DFU mode - Driver
-05ad Y.C. Cable U.S.A., Inc.
-05ae Synopsys, Inc.
-05af Jing-Mold Enterprise Co., Ltd
- 0806 HP SK806A Keyboard
- 0809 Wireless Keyboard and Mouse
- 0821 IDE to
- 3062 Cordless Keyboard
- 9167 KB 9151B - 678
- 9267 KB 9251B - 678 Mouse
-05b0 Fountain Technologies, Inc.
-05b1 First International Computer, Inc.
- 1389 Bluetooth Wireless Adapter
-05b4 LG Semicon Co., Ltd
- 4857 M-Any DAH-210
- 6001 Digisette DUO-MP3 AR-100
-05b5 Dialogic Corp.
-05b6 Proxima Corp.
-05b7 Medianix Semiconductor, Inc.
-05b8 Agiler, Inc.
- 3002 Scroll Mouse
-05b9 Philips Research Laboratories
-05ba DigitalPersona, Inc.
- 0007 Fingerprint Reader
- 0008 Fingerprint Reader
- 000a Fingerprint Reader
-05bb Grey Cell Systems
-05bc 3G Green Green Globe Co., Ltd
- 0004 Trackball
-05bd RAFI GmbH & Co. KG
-05be Tyco Electronics (Raychem)
-05bf S & S Research
-05c0 Keil Software
-05c1 Kawasaki Microelectronics, Inc.
-05c2 Media Phonics (Suisse) S.A.
-05c5 Digi International, Inc.
- 0002 AccelePort USB 2
- 0004 AccelePort USB 4
- 0008 AccelePort USB 8
-05c6 Qualcomm, Inc.
- 0114 Select RW-200 CDMA Wireless Modem
- 1000 Mass Storage Device
- 3100 CDMA Wireless Modem/Phone
- 3196 CDMA Wireless Modem
- 3197 CDMA Wireless Modem/Phone
- 6000 Siemens SG75
- 6503 AnyData APE-540H
- 6613 Onda H600/N501HS ZTE MF330
- 9000 SIMCom SIM5218 modem
- 9001 Gobi Wireless Modem
- 9002 Gobi Wireless Modem
- 9008 Gobi Wireless Modem (QDL mode)
- 9018 Qualcomm HSUSB Device
- 9025 Qualcomm HSUSB Device
- 9201 Gobi Wireless Modem (QDL mode)
- 9202 Gobi Wireless Modem
- 9203 Gobi Wireless Modem
- 9211 Acer Gobi Wireless Modem (QDL mode)
- 9212 Acer Gobi Wireless Modem
- 9214 Acer Gobi 2000 Wireless Modem (QDL mode)
- 9215 Acer Gobi 2000 Wireless Modem
- 9221 Gobi Wireless Modem (QDL mode)
- 9222 Gobi Wireless Modem
- 9224 Sony Gobi 2000 Wireless Modem (QDL mode)
- 9225 Sony Gobi 2000 Wireless Modem
- 9231 Gobi Wireless Modem (QDL mode)
- 9234 Top Global Gobi 2000 Wireless Modem (QDL mode)
- 9235 Top Global Gobi 2000 Wireless Modem
- 9244 Samsung Gobi 2000 Wireless Modem (QDL mode)
- 9245 Samsung Gobi 2000 Wireless Modem
- 9264 Asus Gobi 2000 Wireless Modem (QDL mode)
- 9265 Asus Gobi 2000 Wireless Modem
- 9274 iRex Technologies Gobi 2000 Wireless Modem (QDL mode)
- 9275 iRex Technologies Gobi 2000 Wireless Modem
-05c7 Qtronix Corp.
- 0113 PC Line Mouse
- 1001 Lynx Mouse
- 2001 Keyboard
- 2011 SCorpius Keyboard
- 6001 Ten-Keypad
-05c8 Cheng Uei Precision Industry Co., Ltd (Foxlink)
- 0103 FO13FF-65 PC-CAM
- 021a HP Webcam
- 0318 Webcam
- 0403 Webcam
-05c9 Semtech Corp.
-05ca Ricoh Co., Ltd
- 0101 RDC-5300 Camera
- 0325 Caplio GX (ptp)
- 032d Caplio GX 8 (ptp)
- 032f Caplio R3 (ptp)
- 03a1 IS200e
- 0403 Printing Support
- 0405 Type 101
- 0406 Type 102
- 1803 V5 camera [R5U870]
- 1810 Pavilion Webcam [R5U870]
- 1812 Pavilion Webcam
- 1814 HD Webcam
- 1820 Integrated Webcam
- 1830 Visual Communication Camera VGP-VCC2 [R5U870]
- 1832 Visual Communication Camera VGP-VCC3 [R5U870]
- 1833 Visual Communication Camera VGP-VCC2 [R5U870]
- 1834 Visual Communication Camera VGP-VCC2 [R5U870]
- 1835 Visual Communication Camera VGP-VCC5 [R5U870]
- 1836 Visual Communication Camera VGP-VCC4 [R5U870]
- 1837 Visual Communication Camera VGP-VCC4 [R5U870]
- 1839 Visual Communication Camera VGP-VCC6 [R5U870]
- 183a Visual Communication Camera VGP-VCC7 [R5U870]
- 183b Visual Communication Camera VGP-VCC8 [R5U870]
- 183d Sony Vaio Integrated Webcam
- 183e Visual Communication Camera VGP-VCC9 [R5U870]
- 1841 Fujitsu F01/ Lifebook U810 [R5U870]
- 1870 Webcam 1000
- 18b0 Sony Vaio Integrated Webcam
- 18b1 Sony Vaio Integrated Webcam
- 18b3 Sony Vaio Integrated Webcam
- 18b5 Sony Vaio Integrated Webcam
- 2201 RDC-7 Camera
- 2202 Caplio RR30
- 2203 Caplio 300G
- 2204 Caplio G3
- 2205 Caplio RR30 / Medion MD 6126 Camera
- 2206 Konica DG-3Z
- 2207 Caplio Pro G3
- 2208 Caplio G4
- 2209 Caplio 400G wide
- 220a KONICA MINOLTA DG-4Wide
- 220b Caplio RX
- 220c Caplio GX
- 220d Caplio R1/RZ1
- 220e Sea & Sea 5000G
- 220f Rollei dr5 / Rollei dr5 (PTP mode)
- 2211 Caplio R1S
- 2212 Caplio R1v Camera
- 2213 Caplio R2
- 2214 Caplio GX 8
- 2215 DSC 725
- 2216 Caplio R3
- 2222 RDC-i500
-05cb PowerVision Technologies, Inc.
- 1483 PV8630 interface (scanners, webcams)
-05cc ELSA AG
- 2100 MicroLink ISDN Office
- 2219 MicroLink ISDN
- 2265 MicroLink 56k
- 2267 MicroLink 56k (V.250)
- 2280 MicroLink 56k Fun
- 3000 Micolink USB2Ethernet [pegasus]
- 3100 AirLancer USB-11
- 3363 MicroLink ADSL Fun
-05cd Silicom, Ltd
-05ce sci-worx GmbH
-05cf Sung Forn Co., Ltd
-05d0 GE Medical Systems Lunar
-05d1 Brainboxes, Ltd
- 0003 Bluetooth Adapter BL-554
-05d2 Wave Systems Corp.
-05d3 Tohoku Ricoh Co., Ltd
-05d5 Super Gate Technology Co., Ltd
-05d6 Philips Semiconductors, CICT
-05d7 Thomas & Betts Corp.
- 0099 10Mbps Ethernet [klsi]
-05d8 Ultima Electronics Corp.
- 4001 Artec Ultima 2000
- 4002 Artec Ultima 2000 (GT6801 based)/Lifetec LT9385/ScanMagic 1200 UB Plus Scanner
- 4003 Artec E+ 48U
- 4004 Artec E+ Pro
- 4005 MEM48U
- 4006 TRUST EASY WEBSCAN 19200
- 4007 TRUST 240H EASY WEBSCAN GOLD
- 4008 Trust Easy Webscan 19200
- 4009 Umax Astraslim
- 4013 IT Scan 1200
- 8105 Artec T1 USB TVBOX (cold)
- 8106 Artec T1 USB TVBOX (warm)
- 8107 Artec T1 USB TVBOX with AN2235 (cold)
- 8108 Artec T1 USB TVBOX with AN2235 (warm)
- 8109 Artec T1 USB2.0 TVBOX (cold
-05d9 Axiohm Transaction Solutions
- a225 A225 Printer
- a758 A758 Printer
- a794 A794 Printer
-05da Microtek International, Inc.
- 0091 ScanMaker X6u
- 0093 ScanMaker V6USL
- 0094 Phantom 336CX/C3
- 0099 ScanMaker X6/X6U
- 009a Phantom C6
- 00a0 Phantom 336CX/C3 (#2)
- 00a3 ScanMaker V6USL
- 00ac ScanMaker V6UL
- 00b6 ScanMaker V6UPL
- 00ef ScanMaker V6UPL
- 1006 Jenoptik JD350 entrance
- 1011 NHJ Che-ez! Kiss Digital Camera
- 1018 Digital Dream Enigma 1.3
- 1020 Digital Dream l'espion xtra
- 1025 Take-it Still Camera Device
- 1026 Take-it
- 1043 Take-It 1300 DSC Bulk Driver
- 1045 Take-it D1
- 1047 Take-it Camera Composite Device
- 1048 Take-it Q3
- 1049 3M Still Camera Device
- 1051 Camcorder Series
- 1052 Mass Storage Device
- 1053 Take-it DV Composite Device
- 1054 Mass Storage Device
- 1055 Digital Camera Series(536)
- 1056 Mass Storage Device
- 1057 Take-it DSC Camera Device(536)
- 1058 Mass Storage Device
- 1059 Camcorder DSC Series
- 1060 Microtek Take-it MV500
- 2007 ArtixScan DI 1210
- 200c 1394_USB2 Scanner
- 200e ArtixScan DI 810
- 2017 UF ICE Scanner
- 201c 4800 Scanner
- 201d ArtixScan DI 1610
- 201f 4800 Scanner-ICE
- 202e ArtixScan DI 2020
- 208b ScanMaker 6800
- 208f ArtixScan DI 2010
- 209e ScanMaker 4700LP
- 20a7 ScanMaker 5600
- 20b0 ScanMaker X12USL
- 20b1 ScanMaker 8700
- 20b4 ScanMaker 4700
- 20bd ScanMaker 5700
- 20c9 ScanMaker 6700
- 20d2 Microtek ArtixScan 1800f
- 20d6 PS4000
- 20de ScanMaker 9800XL
- 20e0 ScanMaker 9700XL
- 20ed ScanMaker 4700
- 20ee Micortek ScanMaker X12USL
- 3008 Scanner
- 300a 4800 ICE Scanner
- 300b 4800 Scanner
- 300f MiniScan C5
- 3020 4800dpi Scanner
- 3021 1200dpi Scanner
- 3022 Scanner 4800dpi
- 3023 USB1200II Scanner
- 30c1 USB600 Scanner
- 30ce ScanMaker 3800
- 30cf ScanMaker 4800
- 30d4 USB1200 Scanner
- 30d8 Scanner
- 30d9 USB2400 Scanner
- 30e4 ScanMaker 4100
- 30e5 USB3200 Scanner
- 30e6 ScanMaker i320
- 40b3 ScanMaker 3600
- 40b8 ScanMaker 3700
- 40c7 ScanMaker 4600
- 40ca ScanMaker 3600
- 40cb ScanMaker 3700
- 40dd ScanMaker 3750i
- 40ff ScanMaker 3600
- 5003 Goya
- 5013 3200 Scanner
- 80a3 ScanMaker V6USL (#2)
- 80ac ScanMaker V6UL/SpicyU
-05db Sun Corp. (Suntac?)
- 0003 SUNTAC U-Cable type D2
- 0005 SUNTAC U-Cable type P1
- 0009 SUNTAC Slipper U
- 000a SUNTAC Ir-Trinity
- 000b SUNTAC U-Cable type A3
- 0011 SUNTAC U-Cable type A4
-05dc Lexar Media, Inc.
- 0001 jumpSHOT CompactFlash Reader
- 0002 JumpShot
- 0003 JumpShot
- 0080 Jumpdrive Secure 64MB
- 0081 RBC Compact Flash Drive
- 00a7 JumpDrive Impact
- 0100 JumpDrive PRO
- 0200 JumpDrive 2.0 Pro
- 0300 Jumpdrive Geysr
- 0301 JumpDrive Classic
- 0302 JD Micro
- 0303 JD Micro Pro
- 0304 JD Secure II
- 0310 JumpDrive
- 0311 JumpDrive Classic
- 0312 JD Micro
- 0313 JD Micro Pro
- 0320 JumpDrive
- 0321 JD Micro
- 0322 JD Micro Pro
- 0323 UFC
- 0330 JumpDrive Expression
- 0340 JumpDrive TAD
- 0350 Express Card
- 0400 UFDC
- 0401 UFDC
- 0403 Locked B Device
- 0405 Locked C Device
- 0407 Locked D Device
- 0409 Locked E Device
- 040b Locked F Device
- 040d Locked G Device
- 040f Locked H Device
- 0410 JumpDrive
- 0411 JumpDrive
- 0413 Locked J Device
- 0415 Locked K Device
- 0417 Locked L Device
- 0419 Locked M Device
- 041b Locked N Device
- 041d Locked O Device
- 041f Locked P Device
- 0420 JumpDrive
- 0421 JumpDrive
- 0423 Locked R Device
- 0425 Locked S Device
- 0427 Locked T Device
- 0429 Locked U Device
- 042b Locked V Device
- 042d Locked W Device
- 042f Locked X Device
- 0431 Locked Y Device
- 0433 Locked Z Device
- 4d02 MP3 Player
- 4d12 MP3 Player
- 4d30 MP3 Player
- a300 JumpDrive2
- a400 JumpDrive trade; Pro 40-501
- a410 JumpDrive 128MB/256MB
- a411 JumpDrive Traveler
- a420 JumpDrive Pro
- a421 JumpDrive Pro II
- a422 JumpDrive Micro Pro
- a430 JumpDrive Secure
- a431 JumpDrive Secure II
- a432 JumpDrive Classic
- a440 JumpDrive Lightning
- a450 JumpDrive TouchGuard
- a460 JD Mercury
- a501 JumpDrive Classic
- a510 JumpDrive Sport
- a530 JumpDrive Expression
- a531 JumpDrive Secure II
- a560 JumpDrive FireFly
- a701 JumpDrive FireFly
- a731 JumpDrive FireFly
- a790 JumpDrive 2GB
- a811 16GB Gizmo!
- a813 16gB flash thumb drive
- b002 USB CF Reader
- b018 Multi-Card Reader
- b047 SDHC Reader [RW047-7000]
- c753 JumpDrive TwistTurn
-05dd Delta Electronics, Inc.
- ff31 AWU-120
- ff32 FriendlyNET AeroLAN AL2011
- ff35 PCW 100 - Wireless 802.11b Adapter
- ff91 2Wire PC Port Phoneline 10Mbps Adapter
-05df Silicon Vision, Inc.
-05e0 Symbol Technologies
- 0700 Bar Code Scanner (CS1504)
- 0800 Spectrum24 Wireless LAN Adapter
- 1200 Bar Code Scanner
- 1900 SNAPI Imaging Device
- 2000 MC3090 Rugged Mobile Computer
- 200d MC70 Rugged Mobile Computer
-05e1 Syntek Semiconductor Co., Ltd
- 0100 802.11g + Bluetooth Wireless Adapter
- 0408 STK1160 Video Capture Device
- 0500 DC-112X Webcam
- 0501 DC-1125 Webcam
- 0890 STK011 Camera
- 0892 STK013 Camera
- 0895 STK016 Camera
- 0896 STK017 Camera
- 2010 ARCTIC Sound P261 Headphones
-05e2 ElecVision, Inc.
-05e3 Genesys Logic, Inc.
- 000a Keyboard with PS/2 Port
- 000b Mouse
- 0100 Nintendo Game Boy Advance SP
- 0120 Pacific Image Electronics PrimeFilm 1800u slide/negative scanner
- 0131 CF/SM Reader/Writer
- 0142 Multiple Slides Scanner-3600
- 0143 Multiple Frames Film Scanner-36series
- 0180 Plustek Scanner
- 0182 Wize Media 1000
- 0189 ScanJet 4600 series
- 018a Xerox 6400
- 0300 GLUSB98PT Parallel Port
- 0301 USB2LPT Cable Release2
- 0406 Hub
- 0501 GL620USB Host-Host interface
- 0502 GL620USB-A GeneLink USB-USB Bridge
- 0503 Webcam
- 0504 HID Keyboard Filter
- 0604 USB 1.1 Hub
- 0605 USB 2.0 Hub
- 0606 USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub
- 0607 Logitech G110 Hub
- 0608 USB-2.0 4-Port HUB
- 0610 4-port hub
- 0660 USB 2.0 Hub
- 0700 SIIG US2256 CompactFlash Card Reader
- 0701 USB 2.0 IDE Adapter
- 0702 USB 2.0 IDE Adapter [GL811E]
- 0703 Card Reader
- 0704 Card Reader
- 0705 Card Reader
- 0706 Card Reader
- 0707 Card Reader
- 0708 Card Reader
- 0709 Card Reader
- 070a Pen Flash
- 070b DMHS1B Rev 3 DFU Adapter
- 070e USB 2.0 Card Reader
- 070f Pen Flash
- 0710 USB 2.0 33-in-1 Card Reader
- 0711 Card Reader
- 0712 Delkin Mass Storage Device
- 0715 USB 2.0 microSD Reader
- 0716 USB 2.0 Multislot Card Reader/Writer
- 0717 All-in-1 Card Reader
- 0718 IDE/SATA Adapter
- 0719 SATA adapter
- 0723 GL827L SD/MMC/MS Flash Card Reader
- 0726 SD Card Reader
- 0727 microSD Reader/Writer
- 0736 microSD Reader/Writer
- 0760 USB 2.0 Card Reader/Writer
- 0761 Genesys Mass Storage Device
- 0780 USBFS DFU Adapter
- 07a0 Pen Flash
- 0880 Wasp (SL-6612)
- 0927 Card Reader
- 1205 Afilias Optical Mouse H3003 / Trust Optical USB MultiColour Mouse MI-2330
- a700 Pen Flash
- f102 VX7012 TV Box
- f103 VX7012 TV Box
- f104 VX7012 TV Box
- fd21 3M TL20 Temperature Logger
- fe00 Razer Mouse
-05e4 Red Wing Corp.
-05e5 Fuji Electric Co., Ltd
-05e6 Keithley Instruments
-05e8 ICC, Inc.
-05e9 Kawasaki LSI
- 0008 KL5KUSB101B Ethernet [klsi]
- 0009 Sony 10Mbps Ethernet [pegasus]
- 000c USB-to-RS-232
- 000d USB-to-RS-232
- 0014 RS-232 J104
- 0040 Ethernet Adapter
- 2008 Ethernet Adapter
-05eb FFC, Ltd
-05ec COM21, Inc.
-05ee Cytechinfo Inc.
-05ef AVB, Inc. [anko?]
- 020a Top Shot Pegasus Joystick
- 8884 Mag Turbo Force Wheel
- 8888 Top Shot Force Feedback Racing Wheel
-05f0 Canopus Co., Ltd
- 0101 DA-Port DAC
-05f1 Compass Communications
-05f2 Dexin Corp., Ltd
- 0010 AQ Mouse
-05f3 PI Engineering, Inc.
- 0007 Kinesis Advantage PRO MPC/USB Keyboard
- 0081 Kinesis Integrated Hub
- 00ff VEC Footpedal
- 020b PS2 Adapter
- 0232 X-Keys Switch Interface, Programming Mode
- 0261 X-Keys Switch Interface, SPLAT Mode
- 0264 X-Keys Switch Interface, Composite Mode
-05f5 Unixtar Technology, Inc.
-05f6 AOC International
-05f7 RFC Distribution(s) PTE, Ltd
-05f9 PSC Scanning, Inc.
- 1104 Magellan 2200VS
- 2206 Datalogic Gryphon GFS4170
- 2602 Datalogic Magellan 1100i Barcode Scanner
- 5204 Datalogic Gryphon GFS4170 (config mode)
-05fa Siemens Telecommunications Systems, Ltd
- 3301 Keyboard with PS/2 Mouse Port
- 3302 Keyboard
- 3303 Keyboard with PS/2 Mouse Port
-05fc Harman Multimedia
- 7849 Harman/Kardon SoundSticks
-05fd InterAct, Inc.
- 0239 SV-239 HammerHead Digital
- 0251 Raider Pro
- 0253 ProPad 8 Digital
- 0286 SV-286 Cyclone Digital
- 107a PowerPad Pro X-Box pad
- 262a 3dfx HammerHead FX
- 262f HammerHead Fx
- daae Game Shark
-05fe Chic Technology Corp.
- 0001 Mouse
- 0003 Cypress USB Mouse
- 0005 Viewmaster 4D Browser Mouse
- 0007 Twinhead Mouse
- 0009 Inland Pro 4500/5000 Mouse
- 0011 Browser Mouse
- 0014 Gamepad
- 1010 Optical Wireless
-05ff LeCroy Corp.
-0600 Barco Display Systems
-0601 Jazz Hipster Corp.
- 0003 Internet Security Co., Ltd. SecureKey
-0602 Vista Imaging, Inc.
- 1001 ViCam Webcam
-0603 Novatek Microelectronics Corp.
- 00f1 Keyboard
- 6871 Mouse
-0604 Jean Co., Ltd
-0605 Anchor C&C Co., Ltd
-0606 Royal Information Electronics Co., Ltd
-0607 Bridge Information Co., Ltd
-0608 Genrad Ads
-0609 SMK Manufacturing, Inc.
- 031d eHome Infrared Receiver
- 0322 eHome Infrared Receiver
- 0334 eHome Infrared Receiver
- ff12 SMK Bluetooth Device
-060a Worthington Data Solutions, Inc.
-060b Solid Year
- 0001 MacAlly Keyboard
- 0230 KSK-8003 UX Keyboard
- 1006 Japanese Keyboard - 260U
- 2101 Keyboard
- 2231 KSK-6001 UELX Keyboard
- 2270 Gigabyte K8100 Aivia Gaming Keyboard
- 5811 ACK-571U Wireless Keyboard
- 5903 Japanese Keyboard - 595U
- 6001 SolidTek USB 2p HUB
- 6002 SolidTek USB Keyboard
- 6003 Japanese Keyboard - 600HM
- 6231 Thermaltake eSPORTS Meka Keyboard
- 8007 P-W1G1F12 VER:1 [Macally MegaCam]
- a001 Maxwell Compact Pc PM3
-060c EEH Datalink GmbH
-060d Auctor Corp.
-060e Transmonde Technologies, Inc.
-060f Joinsoon Electronics Mfg. Co., Ltd
-0610 Costar Electronics, Inc.
-0611 Totoku Electric Co., Ltd
-0613 TransAct Technologies, Inc.
-0614 Bio-Rad Laboratories
-0615 Quabbin Wire & Cable Co., Inc.
-0616 Future Techno Designs PVT, Ltd
-0617 Swiss Federal Insitute of Technology
-0618 MacAlly
- 0101 Mouse
-0619 Seiko Instruments, Inc.
- 0101 SLP-100 Driver
- 0102 SLP-200 Driver
- 0103 SLP-100N Driver
- 0104 SLP-200N Driver
- 0105 SLP-240 Driver
- 0501 SLP-440 Driver
- 0502 SLP-450 Driver
-061a Veridicom International, Inc.
- 0110 5thSense Fingerprint Sensor
- 0200 FPS200 Fingerprint Sensor
- 8200 VKI-A Fingerprint Sensor/Flash Storage (dumb)
- 9200 VKI-B Fingerprint Sensor/Flash Storage (smart)
-061b Promptus Communications, Inc.
-061c Act Labs, Ltd
-061d Quatech, Inc.
- c020 SSU-100
-061e Nissei Electric Co.
- 0001 nissei 128DE-USB -
- 0010 nissei 128DE-PNA -
-0620 Alaris, Inc.
- 0004 QuickVideo weeCam
- 0007 QuickVideo weeCam
- 000a QuickVideo weeCam
- 000b QuickVideo weeCam
-0621 ODU-Steckverbindungssysteme GmbH & Co. KG
-0622 Iotech, Inc.
-0623 Littelfuse, Inc.
-0624 Avocent Corp.
- 0294 Dell 03R874 KVM dongle
- 0402 Cisco Virtual Keyboard and Mouse
- 0403 Cisco Virtual Mass Storage
-0625 TiMedia Technology Co., Ltd
-0626 Nippon Systems Development Co., Ltd
-0627 Adomax Technology Co., Ltd
-0628 Tasking Software, Inc.
-0629 Zida Technologies, Ltd
-062a Creative Labs
- 0000 Optical mouse
- 0001 Notebook Optical Mouse
- 0102 Wireless Keyboard/Mouse Combo [MK1152WC]
- 0201 Defender Office Keyboard (K7310) S Zodiak KM-9010
- 0252 Emerge Uni-retractable Laser Mouse
- 3286 Nano Receiver [Sandstrom Laser Mouse SMWLL11]
- 6301 Trust Wireless Optical Mouse MI-4150K
- 9003 VoIP Conference Hub (A16GH)
- 9004 USR9602 USB Internet Mini Phone
-062b Greatlink Electronics Taiwan, Ltd
-062c Institute for Information Industry
-062d Taiwan Tai-Hao Enterprises Co., Ltd
-062e Mainsuper Enterprises Co., Ltd
-062f Sin Sheng Terminal & Machine, Inc.
-0631 JUJO Electronics Corp.
-0633 Cyrix Corp.
-0634 Micron Technology, Inc.
- 0655 Embedded Mass Storage Drive [RealSSD]
-0635 Methode Electronics, Inc.
-0636 Sierra Imaging, Inc.
- 0003 Vivicam 35Xx
-0638 Avision, Inc.
- 0268 iVina 1200U Scanner
- 026a Minolta Dimage Scan Dual II AF-2820U (2886)
- 0a10 iVina FB1600/UMAX Astra 4500
- 0a13 AV600U
- 0a15 Konica Minolta SC-110
- 0a16 Konica Minolta SC-215
- 0a30 UMAX Astra 6700 Scanner
- 0a41 Avision AM3000/MF3000 Series
- 0f01 fi-4010CU
-# typo?
- 4004 Minolta Dimage Scan Elite II AF-2920 (2888)
-0639 Chrontel, Inc.
-063a Techwin Corp.
-063b Taugagreining HF
-063c Yamaichi Electronics Co., Ltd (Sakura)
-063d Fong Kai Industrial Co., Ltd
-063e RealMedia Technology, Inc.
-063f New Technology Cable, Ltd
-0640 Hitex Development Tools
- 0026 LPC-Stick
-0641 Woods Industries, Inc.
-0642 VIA Medical Corp.
-0644 TEAC Corp.
- 0000 Floppy
- 0200 All-In-One Multi-Card Reader CA200/B/S
- 1000 CD-ROM Drive
- 800d TASCAM Portastudio DP-01FX
- 800e TASCAM US-122L
- 8021 TASCAM US-122mkII
- d001 CD-R/RW Unit
- d002 CD-R/RW Unit
- d010 CD-RW/DVD Unit
-0645 Who? Vision Systems, Inc.
-0646 UMAX
-0647 Acton Research Corp.
- 0100 ARC SpectraPro UV/VIS/IR Monochromator/Spectrograph
- 0101 ARC AM-VM Mono Airpath/Vacuum Monochromator/Spectrograph
- 0102 ARC Inspectrum Mono
- 0103 ARC Filterwheel
- 03e9 Inspectrum 128x1024 F VIS Spectrograph
- 03ea Inspectrum 256x1024 F VIS Spectrograph
- 03eb Inspectrum 128x1024 B VIS Spectrograph
- 03ec Inspectrum 256x1024 B VIS Spectrograph
-0648 Inside Out Networks
-0649 Weli Science Co., Ltd
-064b Analog Devices, Inc. (White Mountain DSP)
- 0165 Blackfin 535 [ADZS HPUSB ICE]
-064c Ji-Haw Industrial Co., Ltd
-064d TriTech Microelectronics, Ltd
-064e Suyin Corp.
- a100 Acer OrbiCam
- a101 Acer CrystalEye Webcam
- a102 Acer/Lenovo Webcam [CN0316]
- a103 Acer/HP Integrated Webcam [CN0314]
- a110 HP Webcam
- a114 Lemote Webcam
- a136 Asus Integrated Webcam [CN031B]
- a219 1.3M WebCam (notebook emachines E730, Acer sub-brand)
- c107 HP webcam [dv6-1190en]
- d101 Acer CrystalEye Webcam
- e201 Lenovo Integrated Webcam
- e203 Lenovo Integrated Webcam
- e258 HP TrueVision HD Integrated Webcam
- f102 Lenovo Integrated Webcam [R5U877]
- f103 Lenovo Integrated Webcam [R5U877]
- f300 UVC 0.3M Webcam
-064f WIBU-Systems AG
- 03e9 CmStick (article no. 1001)
- 03f2 CmStick/M (article no. 1010)
- 03f3 CmStick/M (article no. 1011)
- 0bd7 BOX/U
- 0bd8 BOX/RU
-0650 Dynapro Systems
-0651 Likom Technology Sdn. Bhd.
-0652 Stargate Solutions, Inc.
-0653 CNF, Inc.
-0654 Granite Microsystems, Inc.
- 0005 Device Bay Controller
- 0006 Hub
- 0007 Device Bay Controller
- 0016 Hub
-0655 Space Shuttle Hi-Tech Co., Ltd
-0656 Glory Mark Electronic, Ltd
-0657 Tekcon Electronics Corp.
-0658 Sigma Designs, Inc.
-0659 Aethra
-065a Optoelectronics Co., Ltd
- 0001 Barcode scanner / NLV-1001 (keyboard mode)
- 0009 NLV-1001 (serial mode) / OPN-2001 [Opticon]
-065b Tracewell Systems
-065e Silicon Graphics
-065f Good Way Technology Co., Ltd & GWC technology Inc.
-0660 TSAY-E (BVI) International, Inc.
-0661 Hamamatsu Photonics K.K.
-0662 Kansai Electric Co., Ltd
-0663 Topmax Electronic Co., Ltd
- 0103 CobraPad
-0664 ET&T Technology Co., Ltd.
- 0301 Groovy Technology Corp. GTouch Touch Screen
- 0302 Groovy Technology Corp. GTouch Touch Screen
- 0303 Groovy Technology Corp. GTouch Touch Screen
- 0304 Groovy Technology Corp. GTouch Touch Screen
- 0305 Groovy Technology Corp. GTouch Touch Screen
- 0306 Groovy Technology Corp. GTouch Touch Screen
- 0307 Groovy Technology Corp. GTouch Touch Screen
- 0309 Groovy Technology Corp. GTouch Touch Screen
-0665 Cypress Semiconductor
- 5161 USB to Serial
-0667 Aiwa Co., Ltd
- 0fa1 TD-U8000 Tape Drive
-0668 WordWand
-0669 Oce' Printing Systems GmbH
-066a Total Technologies, Ltd
-066b Linksys, Inc.
- 0105 SCM eUSB SmartMedia Card Reader
- 010a Melco MCR-U2 SmartMedia / CompactFlash Reader
- 200c USB10TX
- 2202 USB10TX Ethernet [pegasus]
- 2203 USB100TX Ethernet [pegasus]
- 2204 USB100TX HomePNA Ethernet [pegasus]
- 2206 USB Ethernet [pegasus]
- 2207 HomeLink Phoneline 10M Network Adapter
- 2211 WUSB11 802.11b Adapter
- 2212 WUSB11v2.5 802.11b Adapter
- 2213 WUSB12v1.1 802.11b Adapter
- 2219 Instant Wireless Network Adapter
- 400b USB10TX
-066d Entrega, Inc.
-066e Acer Semiconductor America, Inc.
-066f SigmaTel, Inc.
- 003b MP3 Player
- 003e MP3 Player
- 003f MP3 Player
- 0040 MP3 Player
- 0041 MP3 Player
- 0042 MP3 Player
- 0043 MP3 Player
- 004b A-Max PA11 MP3 Player
- 3400 STMP3400 D-Major MP3 Player
- 3410 STMP3410 D-Major MP3 Player
- 3500 Player Recovery Device
- 3780 STMP3780/i.MX23 SystemOnChip in RecoveryMode
- 4200 STIr4200 IrDA Bridge
- 4210 STIr4210 IrDA Bridge
- 8000 MSCN MP3 Player
- 8001 SigmaTel MSCN Audio Player
- 8004 MSCNMMC MP3 Player
- 8008 i-Bead 100 MP3 Player
- 8020 MP3 Player
- 8034 MP3 Player
- 8036 MP3 Player
- 8038 MP3 Player
- 8056 MP3 Player
- 8060 MP3 Player
- 8066 MP3 Player
- 807e MP3 Player
- 8092 MP3 Player
- 8096 MP3 Player
- 809a MP3 Player
- 80aa MP3 Player
- 80ac MP3 Player
- 80b8 MP3 Player
- 80ba MP3 Player
- 80bc MP3 Player
- 80bf MP3 Player
- 80c5 MP3 Player
- 80c8 MP3 Player
- 80ca MP3 Player
- 80cc MP3 Player
- 8104 MP3 Player
- 8106 MP3 Player
- 8108 MP3 Player
- 810a MP3 Player
- 810c MP3 Player
- 8122 MP3 Player
- 8124 MP3 Player
- 8126 MP3 Player
- 8128 MP3 Player
- 8134 MP3 Player
- 8136 MP3 Player
- 8138 MP3 Player
- 813a MP3 Player
- 813e MP3 Player
- 8140 MP3 Player
- 8142 MP3 Player
- 8144 MP3 Player
- 8146 MP3 Player
- 8148 MP3 Player
- 814c MP3 Player
- 8201 MP3 Player
- 8202 Jens of Sweden / I-BEAD 150M/150H MP3 player
- 8203 MP3 Player
- 8204 MP3 Player
- 8205 MP3 Player
- 8206 Digital MP3 Music Player
- 8207 MP3 Player
- 8208 MP3 Player
- 8209 MP3 Player
- 820a MP3 Player
- 820b MP3 Player
- 820c MP3 Player
- 820d MP3 Player
- 820e MP3 Player
- 820f MP3 Player
- 8210 MP3 Player
- 8211 MP3 Player
- 8212 MP3 Player
- 8213 MP3 Player
- 8214 MP3 Player
- 8215 MP3 Player
- 8216 MP3 Player
- 8217 MP3 Player
- 8218 MP3 Player
- 8219 MP3 Player
- 821a MP3 Player
- 821b MP3 Player
- 821c MP3 Player
- 821d MP3 Player
- 821e MP3 Player
- 821f MP3 Player
- 8220 MP3 Player
- 8221 MP3 Player
- 8222 MP3 Player
- 8223 MP3 Player
- 8224 MP3 Player
- 8225 MP3 Player
- 8226 MP3 Player
- 8227 MP3 Player
- 8228 MP3 Player
- 8229 MP3 Player
- 8230 MP3 Player
- 829c MP3 Player
- 82e0 MP3 Player
- 8320 TrekStor i.Beat fun
- 835d MP3 Player
- 9000 MP3 Player
- 9001 MP3 Player
- 9002 MP3 Player
-0670 Sequel Imaging
- 0001 Calibrator
- 0005 Enable Cable
-0672 Labtec, Inc.
- 1041 LCS1040 Speaker System
- 5000 SpaceBall 4000 FLX
-0673 HCL
- 5000 Keyboard
-0674 Key Mouse Electronic Enterprise Co., Ltd
-0675 DrayTek Corp.
- 0110 Vigor 128 ISDN TA
- 0530 Vigor530 IEEE 802.11G Adapter (ISL3880+NET2280)
- 0550 Vigor550
- 1688 miniVigor 128 ISDN TA
- 6694 USB ISDN TA
-0676 Teles AG
-0677 Aiwa Co., Ltd
- 07d5 TM-ED1285(USB)
- 0fa1 TD-U8000 Tape Drive
-0678 ACard Technology Corp.
-067b Prolific Technology, Inc.
- 0000 PL2301 USB-USB Bridge
- 0001 PL2302 USB-USB Bridge
- 0307 Motorola Serial Adapter
- 04bb PL2303 Serial (IODATA USB-RSAQ2)
- 0600 IDE Bridge
- 0610 Onext EG210U MODEM
- 0611 AlDiga AL-11U Quad-band GSM/GPRS/EDGE modem
- 2303 PL2303 Serial Port
- 2305 PL2305 Parallel Port
- 2306 Raylink Bridge Controller
- 2307 PL2307 USB-ATAPI4 Bridge
- 2313 FITEL PHS U Cable Adaptor
- 2315 Flash Disk Embedded Hub
- 2316 Flash Disk Security Device
- 2317 Mass Storage Device
- 2501 PL2501 USB-USB Bridge (USB 2.0)
- 2506 Kaser 8gB micro hard drive
- 2507 PL2507 Hi-speed USB to IDE bridge controller
- 2515 Flash Disk Embedded Hub
- 2517 Flash Disk Mass Storage Device
- 2528 Storage device (8gB thumb drive)
- 25a1 PL25A1 Host-Host Bridge
- 3400 Hi-Speed Flash Disk with TruePrint AES3400
- 3500 Hi-Speed Flash Disk with TruePrint AES3500
- 3507 PL3507 ATAPI6 Bridge
- aaa0 Prolific Pharos
- aaa2 PL2303 Serial Adapter (IODATA USB-RSAQ3)
-067c Efficient Networks, Inc.
- 1001 Siemens SpeedStream 100MBps Ethernet
- 1022 Siemens SpeedStream 1022 802.11b Adapter
- 1023 SpeedStream Wireless
- 4020 SpeedStream 4020 ATM/ADSL Installer
- 4031 Efficient ADSL Modem
- 4032 SpeedStream 4031 ATM/ADSL Installer
- 4033 SpeedStream 4031 ATM/ADSL Installer
- 4060 Alcatel Speedstream 4060 ADSL Modem
- 4062 Efficient Networks 4060 Loader
- 5667 Efficient Networks Virtual Bus for ADSL Modem
- c031 SpeedStream 4031 ATM/ADSL Installer
- c032 SpeedStream 4031 ATM/ADSL Installer
- c033 SpeedStream 4031 ATM/ADSL Installer
- c060 SpeedStream 4060 Miniport ATM/ADSL Adapter
- d667 Efficient Networks Virtual Bus for ADSL Modem
- e240 Speedstream Ethernet Adapter E240
- e540 Speedstream Ethernet Adapter E240
-067d Hohner Corp.
-067e Intermec Technologies Corp.
- 0801 HID Keyboard, Barcode scanner
- 0803 VCP, Barcode scanner
- 0805 VCP + UVC, Barcode scanner
- 1001 Mobile Computer
-067f Virata, Ltd
- 4552 DSL-200 ADSL Modem
- 6542 DSL Modem
- 6549 DSL Modem
- 7541 DSL Modem
-0680 Realtek Semiconductor Corp., CPP Div. (Avance Logic)
- 0002 Arowana Optical Wheel Mouse MSOP-01
-0681 Siemens Information and Communication Products
- 0001 Dect Base
- 0002 Gigaset 3075 Passive ISDN
- 0005 ID-Mouse with Fingerprint Reader
- 0012 I-Gate 802.11b Adapter
- 001b WLL013
- 001d Hipath 1000
- 0022 Gigaset SX353 ISDN
- 0026 DECT Data - Gigaset M34
- 002b A-100-I ADSL Modem
- 002e ADSL Router_S-141
- 0034 GSM module MC35/ES75 USB Modem
- 3c06 54g USB Network Adapter
-0682 Victor Company of Japan, Ltd
-0684 Actiontec Electronics, Inc.
-0685 ZD Incorporated
- 7000 HSDPA Modem
-0686 Minolta Co., Ltd
- 2001 PagePro 4110W
- 2004 PagePro 1200W
- 2005 Magicolor 2300 DL
- 3001 PagePro 4100
- 3005 PagePro 1250E
- 3006 PagePro 1250W
- 3009 Magicolor 2300W
- 300b PagePro 1350W
- 300c PagePro 1300W
- 302e Develop D 1650iD PCL
- 3034 Develop D 2050iD PCL
- 4001 Dimage 2300
- 4003 Dimage 2330 Zoom Camera
- 4004 Dimage Scan Elite II AF-2920 (2888)
- 4005 Minolta DiMAGE E201 Mass Storage Device
- 4006 Dimage 7 Camera
- 4007 Dimage S304 Camera
- 4008 Dimage 5 Camera
- 4009 Dimage X Camera
- 400a Dimage S404 Camera
- 400b Dimage 7i Camera
- 400c Dimage F100 Camera
- 400d Dimage Scan Dual III AF-2840 (2889)
- 400e Dimage Scan Elite 5400 (2890)
- 400f Dimage 7Hi Camera
- 4010 Dimage Xi Camera
- 4011 Dimage F300 Camera
- 4012 Dimage F200 Camera
- 4014 Dimage S414 Camera
- 4015 Dimage XT Camera [storage]
- 4016 Dimage XT Camera [remote mode]
- 4017 Dimage E223
- 4018 Dimage Z1 Camera
- 4019 Dimage A1 Camera [remote mode]
- 401a Dimage A1 Camera [storage]
- 401c Dimage X20 Camera
- 401e Dimage E323 Camera
-068a Pertech, Inc.
-068b Potrans International, Inc.
-068e CH Products, Inc.
- 00d3 OEM 3 axis 5 button joystick
- 00e2 HFX OEM Joystick
- 00f1 Pro Throttle
- 00f2 Flight Sim Pedals
- 00f3 Fighterstick
- 00f4 Combatstick
- 00fa Flight Sim Pedals
- 00ff Flight Sim Yoke
- 0500 GameStick 3D
- 0501 CH Pro Pedals
- 0504 F-16 Combat Stick
-0690 Golden Bridge Electech, Inc.
-0693 Hagiwara Sys-Com Co., Ltd
- 0002 FlashGate SmartMedia Card Reader
- 0003 FlashGate CompactFlash Card Reader
- 0005 FlashGate
- 0006 SM PCCard R/W and SPD
- 0007 FlashGate ME (Authenticated)
- 000a SDCard/MMC Reader/Writer
-0694 Lego Group
- 0001 Mindstorms Tower
- 0002 Mindstorms NXT
-0698 Chuntex (CTX)
- 1786 1300ex Monitor
- 2003 CTX M730V built in Camera
- 9999 VLxxxx Monitor+Hub
-0699 Tektronix, Inc.
-069a Askey Computer Corp.
- 0001 VC010 Webcam [pwc]
- 0303 Cable Modem
- 0311 ADSL Router Remote NDIS Device
- 0318 Remote NDIS Device
- 0319 220V Remote NDIS Device
- 0320 IEEE 802.11b Wireless LAN Card
- 0321 Dynalink WLL013 / Compex WLU11A 802.11b Adapter
- 0402 Scientific Atlanta WebSTAR 100 & 200 series Cable Modem
- 0811 BT Virtual Bus for Helium
- 0821 BT Voyager 1010 802.11b Adapter
- 4402 Scientific Atlanta WebSTAR 2000 series Cable Modem
- 4403 Scientific Atlanta WebSTAR 300 series Cable Modem
- 4501 Scientific-Atlanta WebSTAR 2000 series Cable Modem
-069b Thomson, Inc.
- 0704 DCM245 Cable Modem
- 0705 THG540K Cable Modem
- 0709 Lyra PDP2424
- 070c MP3 Player
- 070d MP3 Player
- 070e MP3 Player
- 070f RCA Lyra RD1071 MP3 Player
- 0731 Lyra M200E256
- 0761 RCA H100A
- 0778 PEARL USB Device
- 2220 RCA Kazoo RD1000 MP3 Player
- 300a RCA Lyra MP3 Player
- 3012 MP3 Player
- 3013 MP3 Player
- 5557 RCA CDS6300
-069d Hughes Network Systems (HNS)
- 0001 Satellite Receiver Device
- 0002 Satellite Device
-069e Welcat Inc.
- 0005 Marx CryptoBox v1.2
-069f Allied Data Technologies BV
- 0010 Tornado Speakerphone FaxModem 56.0
- 0011 Tornado Speakerphone FaxModem 56.0
- 1000 ADT VvBus for CopperJet
- 1004 CopperJet 821 RouterPlus
-06a2 Topro Technology, Inc.
- 0033 USB Mouse
-06a3 Saitek PLC
- 0006 Cyborg Gold Joystick
- 0109 P880 Pad
- 0160 ST290 Pro
- 0200 Xbox Adrenalin Hub
- 0241 Xbox Adrenalin Gamepad
- 0255 X52 Flight Controller
- 040b P990 Dual Analog Pad
- 040c P2900 Wireless Pad
- 0422 ST90 Joystick
- 0460 ST290 Pro Flight Stick
- 0463 ST290
- 0464 Cyborg Evo
- 0471 Cyborg Graphite Stick
- 0501 R100 Sports Wheel
- 0502 ST200 Stick
- 0506 R220 Digital Wheel
- 051e Cyborg Digital II Stick
- 052d P750 Gamepad
- 053c X45 Flight Controller
- 053f X36F Flightstick
- 056c P2000 Tilt Pad
- 056f P2000 Tilt Pad
- 05d2 PC Dash 2
- 075c X52 Flight Controller
- 0762 Saitek X52 Pro Flight Control System
- 0763 Pro Flight Rudder Pedals
- 0764 Flight Pro Combat Rudder
- 0805 R440 Force Wheel
- 0b4e Pro Flight Backlit Information Panel
- 0bac Pro Flight Yoke
- 0c2d Pro Flight Quadrant
- 0d05 Pro Flight Radio Panel
- 0d06 Flight Pro Multi Panel
- 0d67 Pro Flight Switch Panel
- 1003 GM2 Action Pad
- 1009 Action Pad
- 100a SP550 Pad and Joystick Combo
- 100b SP550 Pad
- 1509 P3000 Wireless Pad
- 1589 P3000 Wireless Pad
- 2541 X45 Flight Controller
- 3509 P3000 RF GamePad
- 353e Cyborg Evo Wireless
- 3589 P3000 Wireless Pad
- 35be Cyborg Evo
- 5509 P3000 Wireless Pad
- 712c Pro Flight Yoke integrated hub
- 8000 Gamers' Keyboard
- 801e Cyborg 3D Digital Stick II
- 8020 Eclipse Keyboard
- 8021 Eclipse II Keyboard
- 802d P750 Pad
- 803f X36 Flight Controller
- 806f P2000 Tilt Pad
- 80c0 Pro Gamer Command Unit
- 80c1 Cyborg Command Pad Unit
- a2ae Pro Flight Instrument Panel
- a502 Gaming Mouse
- f518 P3200 Rumble Force Game Pad
- ff04 R440 Force Wheel
- ff0c Cyborg Force Rumble Pad
- ff0d P2600 Rumble Force Pad
- ff12 Cyborg 3D Force Stick
- ff17 ST 330 Rumble Force Stick
- ff52 Cyborg 3D Rumble Force Joystick
- ffb5 Cyborg Evo Force Joystick
-06a4 Xiamen Doowell Electron Co., Ltd
-06a5 Divio
- 0000 Typhoon Webcam 100k [nw8000]
- d001 ProLink DS3303u Webcam
- d800 Chicony TwinkleCam
- d820 Wize Media 1000
-06a7 MicroStore, Inc.
-06a8 Topaz Systems, Inc.
- 0042 SignatureGem 1X5 Pad
- 0043 SignatureGem 1X5-HID Pad
-06a9 Westell
- 0005 WireSpeed Dual Connect Modem
- 0006 WireSpeed Dual Connect Modem
- 000a WireSpeed Dual Connect Modem
- 000b WireSpeed Dual Connect Modem
- 000e A90-211WG-01 802.11g Adapter [Intersil ISL3887]
-06aa Sysgration, Ltd
-06ac Fujitsu Laboratories of America, Inc.
-06ad Greatland Electronics Taiwan, Ltd
-06ae Professional Multimedia Testing Centre
-06af Harting, Inc. of North America
-06b8 Pixela Corp.
-06b9 Alcatel Telecom
- 0120 SpeedTouch 120g 802.11g Wireless Adapter [Intersil ISL3886]
- 0121 SpeedTouch 121g Wireless Dongle
- 2001 SPEED TOUCH Card
- 4061 SpeedTouch ISDN or ADSL Modem
- 4062 SpeedTouch ISDN or ADSL router
- a5a5 DynaMiTe Modem
-06ba Smooth Cord & Connector Co., Ltd
-06bb EDA, Inc.
-06bc Oki Data Corp.
- 000b Okipage 14ex Printer
- 0027 Okipage 14e
- 0a91 B2500MFP (printer+scanner)
- 3801 B6100 Laser Printer
-06bd AGFA-Gevaert NV
- 0001 SnapScan 1212U
- 0002 SnapScan 1236U
- 0100 SnapScan Touch
- 0101 SNAPSCAN ELITE
- 0200 ScanMaker 8700
- 02bf DUOSCAN f40
- 0400 CL30
- 0401 Mass Storage
- 0403 ePhoto CL18 Camera
- 0404 ePhoto CL20 Camera
- 2061 SnapScan 1212U (?)
- 208d Snapscan e40
- 208f SnapScan e50
- 2091 SnapScan e20
- 2093 SnapScan e10
- 2095 SnapScan e25
- 2097 SnapScan e26
- 20fd SnapScan e52
- 20ff SnapScan e42
-06be AME Optimedia Technology Co., Ltd
- 0800 Optimedia Camera
- 1005 Dazzle DPVM! (1005)
- d001 P35U Camera Capture
-06bf Leoco Corp.
-06c2 Phidgets Inc. (formerly GLAB)
- 0030 PhidgetRFID
- 0038 4-Motor PhidgetServo v3.0
- 0039 1-Motor PhidgetServo v3.0
- 003a 8-Motor PhidgetAvancedServo
- 0040 PhidgetInterface Kit 0-0-4
- 0044 PhidgetInterface Kit 0-16-16
- 0045 PhidgetInterface Kit 8-8-8
- 0048 PhidgetStepper (Under Development)
- 0049 PhidgetTextLED Ver 1.0
- 004a PhidgetLED Ver 1.0
- 004b PhidgetEncoder Ver 1.0
- 0051 PhidgetInterface Kit 0-5-7 (Custom)
- 0052 PhidgetTextLCD
- 0053 PhidgetInterfaceKit 0-8-8
- 0058 PhidgetMotorControl Ver 1.0
- 0070 PhidgetTemperatureSensor Ver 1.0
- 0071 PhidgetAccelerometer Ver 1.0
- 0072 PhidgetWeightSensor Ver 1.0
- 0073 PhidgetHumiditySensor
- 0074 PhidgetPHSensor
- 0075 PhidgetGyroscope
-06c4 Bizlink International Corp.
-06c5 Hagenuk, GmbH
-06c6 Infowave Software, Inc.
-06c8 SIIG, Inc.
-06c9 Taxan (Europe), Ltd
- 0005 Monitor Control
- 0007 Monitor Control
- 0009 Monitor Control
-06ca Newer Technology, Inc.
-06cb Synaptics, Inc.
- 0001 TouchPad
- 0002 Integrated TouchPad
- 0003 cPad
- 0005 Touchpad/FPS
- 0006 TouchScreen
- 0007 USB Styk
- 0008 WheelPad
- 0009 Composite TouchPad and TrackPoint
- 000e HID Device
- 0010 Wireless TouchPad
- 0013 DisplayPad
-06cc Terayon Communication Systems
- 0101 Cable Modem
- 0102 Cable Modem
- 0103 Cable Modem
- 0104 Cable Modem
- 0304 Cable Modem
-06cd Keyspan
- 0101 USA-28 PDA [no firmware]
- 0102 USA-28X PDA [no firmware]
- 0103 USA-19 PDA [no firmware]
- 0104 PDA [prerenum]
- 0105 USA-18X PDA [no firmware]
- 0106 USA-19W PDA [no firmware]
- 0107 USA-19 PDA
- 0108 USA-19W PDA
- 0109 USA-49W serial adapter [no firmware]
- 010a USA-49W serial adapter
- 010b USA-19Qi serial adapter [no firmware]
- 010c USA-19Qi serial adapter
- 010d USA-19Q serial Adapter (no firmware)
- 010e USA-19Q serial Adapter
- 010f USA-28 PDA
- 0110 USA-28Xb PDA
- 0111 USA-18 serial Adapter
- 0112 USA-18X PDA
- 0113 USA-28Xb PDA [no firmware]
- 0114 USA-28Xa PDA [no firmware]
- 0115 USA-28Xa PDA
- 0116 USA-18XA serial Adapter (no firmware)
- 0117 USA-18XA serial Adapter
- 0118 USA-19QW PDA [no firmware]
- 0119 USA-19QW PDA
- 011a USA-49Wlc serial adapter [no firmware]
- 011b MPR Serial Preloader (MPRQI)
- 011c MPR Serial (MPRQI)
- 011d MPR Serial Preloader (MPRQ)
- 011e MPR Serial (MPRQ)
- 0121 USA-19hs serial adapter
- 012a USA-49Wlc serial adapter
- 0201 UIA-10 Digital Media Remote [Cypress AN2131SC]
- 0202 UIA-11 Digital Media Remote
-06ce Contec
- 8311 COM-1(USB)H
-06cf SpheronVR AG
- 1010 PanoCam 10
- 1012 PanoCam 12/12X
-06d0 LapLink, Inc.
- 0622 LapLink Gold USB-USB Bridge [net1080]
-06d1 Daewoo Electronics Co., Ltd
-06d3 Mitsubishi Electric Corp.
- 0380 CP8000D Port
- 0381 CP770D Port
- 0385 CP900D Port
- 0387 CP980D Port
- 038b CP3020D Port
- 038c CP900DW(ID) Port
- 0393 CP9500D/DW Port
- 0394 CP9000D/DW Port
- 03a1 CP9550D/DW Port
-06d4 Cisco Systems
-06d5 Toshiba
- 4000 Japanese Keyboard
-06d6 Aashima Technology B.V.
- 0025 Gamepad
- 0026 Predator TH 400 Gamepad
- 002d Trust PowerC@m 350FT
- 002e Trust PowerC@m 350FS
- 0030 Trust 710 LCD POWERC@M ZOOM - MSD
- 0031 Trust 610/710 LCD POWERC@M ZOOM
- 003a Trust PowerC@m 770Z (mass storage mode)
- 003b Trust PowerC@m 770Z (webcam mode)
- 003c Trust 910z PowerC@m
- 003f Trust 735S POWERC@M ZOOM, WDM DSC Bulk Driver
- 0050 Trust 738AV LCD PV Digital Camera
- 0062 TRUST 782AV LCD P. V. Video Capture
- 0066 TRUST Digital PCTV and Movie Editor
- 0067 Trust 350FS POWERC@M FLASH
- 006b TRUST AUDIO VIDEO EDITOR
-06d7 Network Computing Devices (NCD)
-06d8 Technical Marketing Research, Inc.
-06da Phoenixtec Power Co., Ltd
- 0002 UPS
- 0003 1300VA UPS
-06db Paradyne
-06dc Foxlink Image Technology Co., Ltd
- 0012 Scan 1200c Scanner
- 0014 Prolink Winscan Pro 2448U
-06de Heisei Electronics Co., Ltd
-06e0 Multi-Tech Systems, Inc.
- f101 MT5634ZBA-USB MultiModemUSB (old firmware)
- f103 MT5634MU MultiMobileUSB
- f104 MT5634ZBA-USB MultiModemUSB (new firmware)
- f107 MT5634ZBA-USB-V92 MultiModemUSB
-06e1 ADS Technologies, Inc.
- 0008 UBS-10BT Ethernet [klsi]
- 0009 UBS-10BT Ethernet
- 0833 Mass Storage Device
- a155 FM Radio Receiver/Instant FM Music (RDX-155-EF)
- a160 Instant Video-To-Go RDX-160 (no firmware)
- a161 Instant Video-To-Go RDX-160
- a190 Instand VCD Capture
- a191 Instant VideoXpress
- a337 Mini DigitalTV
- a701 DVD Xpress
- a708 saa7114H video input card (Instant VideoMPX)
- b337 Mini DigitalTV
- b701 DVD Xpress B
-06e4 Alcatel Microelectronics
-06e6 Tiger Jet Network, Inc.
- 0200 Internet Phone
- 0201 Internet Phone
- 0202 Composite Device
- 0203 Internet Phone
- 0210 Composite Device
- 0211 Internet Phone
- 0212 Internet Phone
- 031c Internet Phone
- 031d Internet Phone
- 031e Internet Phone
- 3200 Composite Device
- 3201 Internet Phone
- 3202 Composite Device
- 3203 Composite Device
- 7200 Composite Device
- 7210 Composite Device
- 7250 Composite Device
- 825c Internet Phone
- 831c Internet Phone
- 831d Composite Device
- 831e Composite Device
- b200 Composite Device
- b201 Composite Device
- b202 Internet Phone
- b210 Internet Phone
- b211 Composite Device
- b212 Composite Device
- b250 Composite Device
- b251 Internet Phone
- b252 Internet Phone
- c200 Internet Phone
- c201 Internet Phone
- c202 Composite Device
- c203 Internet Phone
- c210 Personal PhoneGateway
- c211 Personal PhoneGateway
- c212 Personal PhoneGateway
- c213 PPG Device
- c25c Composite Device
- c290 PPG Device
- c291 PPG Device
- c292 PPG Device
- c293 Personal PhoneGateway
- c31c Composite Device
- c39c Personal PhoneGateway
- c39d PPG Device
- c39e PPG Device
- c39f PPG Device
- c700 Internet Phone
- c701 Internet Phone
- c702 Composite Device
- c703 Internet Phone
- c710 VoIP Combo Device
- c711 VoIP Combo
- c712 VoIP Combo Device
- c713 VoIP Combo Device
- cf00 Composite Device
- cf01 Internet Phone
- cf02 Internet Phone
- cf03 Composite Device
- d210 Personal PhoneGateway
- d211 PPG Device
- d212 PPG Device
- d213 Personal PhoneGateway
- d700 Composite Device
- d701 Composite Device
- d702 Internet Phone
- d703 Composite Device
- d710 VoIP Combo
- d711 VoIP Combo Device
- d712 VoIP Combo
- d713 VoIP Combo
- df00 Composite Device
- df01 Composite Device
- df02 Internet Phone
- df03 Internet Phone
- f200 Internet Phone
- f201 Internet Phone
- f202 Composite Device
- f203 Composite Device
- f210 Internet Phone
- f250 Composite Device
- f252 Internet Phone
- f310 Internet Phone
- f350 Composite Device
-06ea Sirius Technologies
- 0001 NetCom Roadster II 56k
- 0002 Roadster II 56k
-06eb PC Expert Tech. Co., Ltd
-06ef I.A.C. Geometrische Ingenieurs B.V.
-06f0 T.N.C Industrial Co., Ltd
- de01 DualCam Video Camera
- de02 DualCam Still Camera
-06f1 Opcode Systems, Inc.
- a011 SonicPort
- a021 SonicPort Optical
-06f2 Emine Technology Co.
- 0011 KVM Switch Keyboard
-06f6 Wintrend Technology Co., Ltd
-06f7 Wailly Technology Ltd
- 0003 USB->Din 4 Adaptor
-06f8 Guillemot Corp.
- 3002 Hercules Blog Webcam
- 3004 Hercules Classic Silver
- 3005 Hercules Dualpix Exchange
- 3007 Hercules Dualpix Chat and Show
- 3020 Hercules Webcam EC300
- a300 Dual Analog Leader GamePad
- b000 Hercules DJ Console
- c000 Hercules Muse Pocket
- d002 Hercules DJ Console
- e000 HWGUSB2-54 WLAN
- e010 HWGUSB2-54-LB
- e020 HWGUSB2-54V2-AP
- e031 Hercules HWNUm-300 Wireless N mini [Realtek RTL8191SU]
- e032 HWGUm-54 [Hercules Wireless G Ultra Mini Key]
- e033 Hercules HWNUp-150 802.11n Wireless N Pico [Realtek RTL8188CUS]
-06f9 ASYST electronic d.o.o.
-06fa HSD S.r.L
-06fc Motorola Semiconductor Products Sector
-06fd Boston Acoustics
- 0101 Audio Device
- 0102 Audio Device
- 0201 2-piece Audio Device
-06fe Gallant Computer, Inc.
-0701 Supercomal Wire & Cable SDN. BHD.
-0703 Bvtech Industry, Inc.
-0705 NKK Corp.
-0706 Ariel Corp.
-0707 Standard Microsystems Corp.
- 0100 2202 Ethernet [klsi]
- 0200 2202 Ethernet [pegasus]
- 0201 EZ Connect USB Ethernet
- ee04 SMCWUSB32 802.11b Wireless LAN Card
- ee06 SMC2862W-G v1 EZ Connect 802.11g Adapter [Intersil ISL3886]
- ee13 SMC2862W-G v2 EZ Connect 802.11g Adapter [Intersil ISL3887]
-0708 Putercom Co., Ltd
- 047e USB-1284 BRIDGE
-0709 Silicon Systems, Ltd (SSL)
-070a Oki Electric Industry Co., Ltd
- 4002 Bluetooth Device
- 4003 Bluetooth Device
-070d Comoss Electronic Co., Ltd
-070e Excel Cell Electronic Co., Ltd
-0710 Connect Tech, Inc.
- 0001 WhiteHeat (fake ID)
- 8001 WhiteHeat
-0711 Magic Control Technology Corp.
- 0100 Hub
- 0180 IRXpress Infrared Device
- 0181 IRXpress Infrared Device
- 0200 BAY-3U1S1P Serial Port
- 0210 MCT1S Serial Port
- 0230 MCT-232 Serial Port
- 0231 PS/2 Mouse Port
- 0232 Serial On Port
- 0240 PS/2 to USB Converter
- 0300 BAY-3U1S1P Parallel Port
- 0302 Parallel Port
- 0900 SVGA Adapter
- 5001 Trigger UV-002BD[Startech USBVGAE]
- 5100 Magic Control Technology Corp. (USB2VGA dongle)
-0713 Interval Research Corp.
-0714 NewMotion, Inc.
- 0003 ADB to USB convertor
-0717 ZNK Corp.
-0718 Imation Corp.
- 0002 SuperDisk 120MB
- 0003 SuperDisk 120MB (Authenticated)
- 0060 Flash Drive
- 0061 Flash Drive
- 0062 Flash Drive
- 0063 Swivel Flash Drive
- 0064 Flash Drive
- 0065 Flash Drive
- 0066 Flash Drive
- 0067 Flash Drive
- 0068 Flash Drive
- 0084 Flash Drive Mini
- 043c Flash drive 16GB [Nano Pro]
- 0582 Revo Flash Drive
- 0622 TDK Trans-It 4GB
- 0624 TDK Trans-It 16GB
- 1120 RDX External dock (redbud)
- d000 Disc Stakka CD/DVD Manager
-0719 Tremon Enterprises Co., Ltd
-071b Domain Technologies, Inc.
- 0002 DTI-56362-USB Digital Interface Unit
- 0101 Audio4-USB DSP Data Acquisition Unit
- 0201 Audio4-5410 DSP Data Acquisition Unit
- 0301 SB-USB JTAG Emulator
- 3203 Rockchip Media Player
- 32bb Music Mediatouch
-071c Xionics Document Technologies, Inc.
-071d Eicon Networks Corp.
- 1000 Diva ISDN TA
- 1003 Diva
- 2000 Teledat Surf
-071e Ariston Technologies
-0723 Centillium Communications Corp.
- 0002 Palladia 300/400 Adsl Modem
-0726 Vanguard International Semiconductor-America
-0729 Amitm
- 1000 USC-1000 Serial Port
-072e Sunix Co., Ltd
-072f Advanced Card Systems, Ltd
- 0001 AC1030-based SmartCard Reader
- 0008 ACR 80 Smart Card Reader
- 1000 PLDT Drive
- 1001 PLDT Drive
- 8002 AET63 BioTRUSTKey
- 8003 ACR120
- 8103 ACR120
- 9000 ACR38 AC1038-based Smart Card Reader
- 90cc ACR38 SmartCard Reader
- 90cf ACR38 SAM Smart Card Reader
- 90d0 PertoSmart EMV - Card Reader
-0731 Susteen, Inc.
- 0528 SonyEricsson DCU-11 Cable
-0732 Goldfull Electronics & Telecommunications Corp.
-0733 ViewQuest Technologies, Inc.
- 0101 Digital Video Camera
- 0110 VQ110 Video Camera
- 0401 CS330 Webcam
- 0402 M-318B Webcam
- 0430 Intel Pro Share Webcam
- 0630 VQ630 Dual Mode Digital Camera(Bulk)
- 0631 Hercules Dualpix
- 0780 Smart Cam Deluxe(composite)
- 1310 Epsilon 1.3/Jenoptik JD C1.3/UMAX AstraPix 470
- 1311 Digital Dream Epsilon 1.3
- 1314 Mercury 2.1MEG Deluxe Classic Cam
- 2211 Jenoptik jdc 21 LCD Camera
- 2221 Mercury Digital Pro 3.1p
- 3261 Concord 3045 spca536a Camera
- 3281 Cyberpix S550V
-0734 Lasat Communications A/S
- 0001 560V Modem
- 0002 Lasat 560V Modem
- 043a DVS Audio
- 043b 3DeMon USB Capture
-0735 Asuscom Network
- 2100 ISDN Adapter
- 2101 ISDN Adapter
- 6694 ISDNlink 128K
- c541 ISDN TA 280
-0736 Lorom Industrial Co., Ltd
-0738 Mad Catz, Inc.
- 4507 XBox Device
- 4516 XBox Device
- 4520 XBox Device
- 4526 XBox Device
- 4536 XBox Device
- 4540 XBox Device
- 4556 XBox Device
- 4566 XBox Device
- 4576 XBox Device
- 4586 XBox Device
- 4588 XBox Device
- 8818 Street Fighter IV Arcade FightStick (PS3)
-073a Chaplet Systems, Inc.
- 2230 infrared dongle for remote
-073b Suncom Technologies
-073c Industrial Electronic Engineers, Inc.
- 0305 Pole Display (PC305-3415 2 x 20 Line Display)
- 0322 Pole Display (PC322-3415 2 x 20 Line Display)
- 0324 Pole Display (LB324-USB 4 x 20 Line Display)
- 0330 Pole Display (P330-3415 2 x 20 Line Display)
- 0424 Pole Display (SP324-4415 4 x 20 Line Display)
- 0450 Pole Display (L450-USB Graphic Line Display)
- 0505 Pole Display (SPC505-3415 2 x 20 Line Display)
- 0522 Pole Display (SPC522-3415 2 x 20 Line Display)
- 0624 Pole Display (SP324-3415 4 x 20 Line Display)
-073d Eutron S.p.a.
- 0005 Crypto Token
- 0007 CryptoIdentity CCID
- 0025 SmartKey 3
- 0c00 Pocket Reader
- 0d00 StarSign Bio Token 3.0 EU
-073e NEC, Inc.
- 0301 Game Pad
-0745 Syntech Information Co., Ltd
-0746 Onkyo Corp.
- 5500 SE-U55 Audio Device
-0747 Labway Corp.
-0748 Strong Man Enterprise Co., Ltd
-0749 EVer Electronics Corp.
-074a Ming Fortune Industry Co., Ltd
-074b Polestar Tech. Corp.
-074c C-C-C Group PLC
-074d Micronas GmbH
- 3553 Composite USB-Device
- 3554 Composite USB-Device
- 3556 Composite USB-Device
-074e Digital Stream Corp.
- 0001 PS/2 Adapter
- 0002 PS/2 Adapter
-0755 Aureal Semiconductor
-0757 Network Technologies, Inc.
-075b Sophisticated Circuits, Inc.
- 0001 Kick-off! Watchdog
-0763 Midiman
- 0115 O2 / KeyRig 25
- 0117 Trigger Finger
- 0119 MidAir
- 0150 M-Audio Uno
- 0160 M-Audio 1x1
- 0192 M-Audio Keystation 88es
- 0193 ProKeys 88
- 0194 ProKeys 88sx
- 0195 Oxygen 8 v2
- 0196 Oxygen 49
- 0197 Oxygen 61
- 0198 Axiom 25
- 0199 Axiom 49
- 019a Axiom 61
- 019b KeyRig 49
- 019c KeyStudio
- 1001 MidiSport 2x2
- 1002 MidiSport 2x2
- 1003 MidiSport 2x2
- 1010 MidiSport 1x1
- 1011 MidiSport 1x1
- 1014 M-Audio Keystation Loader
- 1015 M-Audio Keystation
- 1020 Midisport 4x4
- 1021 MidiSport 4x4
- 1030 Midisport 8x8
- 1031 MidiSport 8x8/s Loader
- 1033 MidiSport 8x8/s
- 1040 M-Audio MidiSport 2x4 Loader
- 1041 M-Audio MidiSport 2x4
- 1110 MidiSport 1x1
- 2001 M Audio Quattro
- 2002 M Audio Duo
- 2003 M Audio AudioPhile
- 2004 M-Audio MobilePre
- 2006 M-Audio Transit
- 2007 M-Audio Sonica Theater
- 2008 M-Audio Ozone
- 200d M-Audio OmniStudio
- 200f M-Audio MobilePre
- 2010 M-Audio Fast Track
- 2012 M-Audio Fast Track Pro
- 2013 M-Audio JamLab
- 2015 M-Audio RunTime DFU
- 2016 M-Audio RunTime DFU
- 2019 M-Audio Ozone Academic
- 201a M-Audio Micro
- 201b M-Audio RunTime DFU
- 201d M-Audio Producer
- 2024 M-Audio Fast Track MKII
- 2080 M-Audio RunTime DFU
- 2081 M-Audio RunTime DFU / Fast Track Ultra 8R
- 2803 M-Audio Audiophile DFU
- 2804 M-Audio MobilePre DFU
- 2806 M-Audio Transit DFU
- 2815 M-Audio DFU
- 2816 M-Audio DFU
- 281b M-Audio DFU
- 2880 M-Audio DFU
- 2881 M-Audio DFU
-0764 Cyber Power System, Inc.
- 0005 Cyber Power UPS
- 0501 CP1500 AVR UPS
-0765 X-Rite, Inc.
- 5001 Huey PRO Colorimeter
- d094 X-Rite DTP94 [Quato Silver Haze Pro]
-0766 Jess-Link Products Co., Ltd
- 001b Packard Bell Go
- 0204 TopSpeed Cyberlink Remote Control
-0767 Tokheim Corp.
-0768 Camtel Technology Corp.
- 0006 Camtel Technology USB TV Genie Pro FM Model TVB330
- 0023 eHome Infrared Receiver
-0769 Surecom Technology Corp.
- 11f2 EP-9001-g 802.11g 54M WLAN Adapter
- 11f3 RT2570
- 11f7 802.11g 54M WLAN Adapter
- 31f3 RT2573
-076a Smart Technology Enablers, Inc.
-076b OmniKey AG
- 0596 CardMan 2020
- 1021 CardMan 1021
- 1221 CardMan 1221
- 1784 CardMan 6020
- 3021 CardMan 3121
- 3610 CardMan 3620
- 3621 CardMan 3621
- 3821 CardMan 3821
- 4321 CardMan 4321
- 5121 CardMan 5121
- 5125 CardMan 5125
- 6622 CardMan 6121
- a011 CCID Smart Card Reader Keyboard
- a021 CCID Smart Card Reader
- a022 CardMan Smart@Link
- c000 CardMan 3x21 CS
- c001 CardMan 5121 CS
-076c Partner Tech
-076d Denso Corp.
-076e Kuan Tech Enterprise Co., Ltd
-076f Jhen Vei Electronic Co., Ltd
-0770 Welch Allyn, Inc - Medical Division
-0771 Observator Instruments BV
- 4455 OMC45III
- ae0f OMC45III
-0772 Your data Our Care
-0774 AmTRAN Technology Co., Ltd
-0775 Longshine Electronics Corp.
-0776 Inalways Corp.
-0777 Comda Enterprise Corp.
-0778 Volex, Inc.
-0779 Fairchild Semiconductor
-077a Sankyo Seiki Mfg. Co., Ltd
-077b Linksys
- 08be BEFCMU10 v4 Cable Modem
- 2219 WUSB11 V2.6 802.11b Adapter
- 2226 USB200M 100baseTX Adapter
- 2227 Network Everywhere NWU11B
-077c Forward Electronics Co., Ltd
- 0005 NEC Keyboard
-077d Griffin Technology
- 0223 IMic Audio In/Out
- 0405 iMate, ADB Adapter
- 0410 PowerMate
- 041a PowerWave
- 04aa SoundKnob
- 07af iMic
- 1016 AirClick
- 627a Radio SHARK
-077f Well Excellent & Most Corp.
-0780 Sagem Monetel GmbH
- 1202 ORGA 900 Smart Card Terminal Virtual Com Port
- 1302 ORGA 6000 Smart Card Terminal Virtual Com Port
- 1303 ORGA 6000 Smart Card Terminal USB RNDIS
- df55 ORGA 900/6000 Smart Card Terminal DFU
-0781 SanDisk Corp.
- 0001 SDDR-05a ImageMate CompactFlash Reader
- 0002 SDDR-31 ImageMate II CompactFlash Reader
- 0005 SDDR-05b (CF II) ImageMate CompactFlash Reader
- 0100 ImageMate SDDR-12
- 0200 SDDR-09 (SSFDC) ImageMate SmartMedia Reader [eusb]
- 0400 SecureMate SD/MMC Reader
- 0621 SDDR-86 Imagemate 6-in-1 Reader
- 0720 Sansa C200 series in recovery mode
- 0729 Sansa E200 series in recovery mode
- 0810 SDDR-75 ImageMate CF-SM Reader
- 0830 ImageMate CF/MMC/SD Reader
- 1234 Cruzer Mini Flash Drive
- 5150 SDCZ2 Cruzer Mini Flash Drive (thin)
- 5151 Cruzer Micro Flash Drive
- 5153 Cruzer Flash Drive
- 5204 Cruzer Crossfire
- 5402 U3 Cruzer Micro
- 5406 Cruzer Micro U3
- 5408 Cruzer Titanium U3
- 540e Cruzer Contour Flash Drive
- 5530 Cruzer
- 5567 Cruzer Blade
- 5571 Cruzer Fit
- 5580 SDCZ80 Flash Drive
- 5e10 Encrypted
- 6100 Ultra II SD Plus 2GB
- 7100 Cruzer Mini
- 7101 Pen Flash
- 7102 Cruzer Mini
- 7103 Cruzer Mini
- 7104 Cruzer Micro Mini 256MB Flash Drive
- 7105 Cruzer Mini
- 7106 Cruzer Mini
- 7112 Cruzer Micro 128MB Flash Drive
- 7113 Cruzer Micro 256MB Flash Drive
- 7114 Cruzer Mini
- 7115 Cruzer Mini
- 7301 Sansa e100 series (mtp)
- 7302 Sansa e100 series (msc)
- 7400 Sansa M200 series (mtp)
- 7401 Sansa M200 series (msc)
- 7420 Sansa E200 series (mtp)
- 7421 Sansa E200 Series (msc)
- 7422 Sansa E200 series v2 (mtp)
- 7423 Sansa E200 series v2 (msc)
- 7430 Sansa M200 series
- 7431 Sansa M200 series V4 (msc)
- 7432 Sansa Clip (mtp)
- 7433 Sansa Clip (msc)
- 7434 Sansa Clip V2 (mtp)
- 7435 Sansa Clip V2 (msc)
- 7450 Sansa C250
- 7451 Sansa C240
- 7460 Sansa Express
- 7480 Sansa Connect
- 7481 Sansa Connect (in recovery mode)
- 74b0 Sansa View (msc)
- 74b1 Sansa View (mtp)
- 74c0 Sansa Fuze (mtp)
- 74c1 Sansa Fuze (msc)
- 74c2 Sansa Fuze V2 (mtp)
- 74c3 Sansa Fuze V2 (msc)
- 74d0 Sansa Clip+ (mtp)
- 74d1 Sansa Clip+ (msc)
- 8181 Pen Flash
- 8183 Hi-Speed Mass Storage Device
- 8185 SDCZ2 Cruzer Mini Flash Drive (older, thick)
- 8888 Card Reader
- 8889 SDDR-88 Imagemate 8-in-1 Reader
- 8919 Card Reader
- 8989 ImageMate 12-in-1 Reader
- 9191 ImageMate CF
- 9219 Card Reader
- 9292 ImageMate CF Reader/Writer
- 9393 ImageMate SD-MMC
- 9595 ImageMate xD-SM
- 9797 ImageMate MS-PRO
- 9919 Card Reader
- 9999 SDDR-99 5-in-1 Reader
- a7c1 Storage device (SD card reader)
- a7e8 SDDR-113 MicroMate SDHC Reader
- b2b3 SDDR-103 MobileMate SD+ Reader
- b4b5 SDDR-89 V4 ImageMate 12-in-1 Reader
-0782 Trackerball
-0783 C3PO
- 0003 LTC31 SmartCard Reader
- 0006 LTC31v2
- 0009 KBR36
- 0010 LTC32
-0784 Vivitar, Inc.
- 0100 Vivicam 2655
- 1310 Vivicam 3305
- 1688 Vivicam 3665
- 1689 Gateway DC-M42/Labtec DC-505/Vivitar Vivicam 3705
- 2620 AOL Photocam Plus
- 2888 Polaroid DC700
- 3330 Nytec ND-3200 Camera
- 4300 Traveler D1
- 5260 Werlisa Sport PX 100 / JVC GC-A33 Camera
- 5300 Pretec dc530
-0785 NTT-ME
- 0001 MN128mini-V ISDN TA
- 0003 MN128mini-J ISDN TA
-0789 Logitec Corp.
- 0026 LHD Device
- 0033 DVD Multi-plus unit LDR-H443SU2
- 0063 LDR Device
- 0064 LDR-R Device
- 00b3 DVD Multi-plus unit LDR-H443U2
- 0105 LAN-TX/U1H2 10/100 Ethernet Adapter [pegasus II]
- 010c Realtek RTL8187 Wireless 802.11g 54Mbps Network Adapter
- 0160 LAN-GTJ/U2A
- 0162 LAN-WN22/U2 Wireless LAN Adapter
- 0163 LAN-WN12/U2 Wireless LAN Adapter
- 0164 LAN-W150/U2M Wireless LAN Adapter
- 0166 LAN-W300N/U2 Wireless LAN Adapter
- 0168 LAN-W150N/U2 Wireless LAN Adapter
- 0170 LAN-W300AN/U2 Wireless LAN Adapter
-078b Happ Controls, Inc.
- 0010 Driving UGCI
- 0020 Flying UGCI
- 0030 Fighting UGCI
-078c GTCO/CalComp
- 0090 Tablet Adapter
- 0100 Tablet Adapter
- 0200 Tablet Adapter
- 0300 Tablet Adapter
- 0400 Digitizer (Whiteboard)
-078e Brincom, Inc.
-0790 Pro-Image Manufacturing Co., Ltd
-0791 Copartner Wire and Cable Mfg. Corp.
-0792 Axis Communications AB
-0793 Wha Yu Industrial Co., Ltd
-0794 ABL Electronics Corp.
-0795 RealChip, Inc.
-0796 Certicom Corp.
-0797 Grandtech Semiconductor Corp.
- 6801 Flatbed Scanner
- 6802 InkJet Color Printer
- 8001 SmartCam
- 801a Typhoon StyloCam
- 801c Meade Binoculars/Camera
- 8901 ScanHex SX-35a
- 8909 ScanHex SX-35b
- 8911 ScanHex SX-35c
-0798 Optelec
- 0001 Braille Voyager
-0799 Altera
- 7651 Programming Unit
-079b Sagem
- 0027 USB-Serial Controller
- 002f Mobile
- 0030 Mobile Communication Device
- 0042 Mobile
- 004a XG-760A 802.11bg
- 004b Wi-Fi 11g adapter
- 0056 Agfa AP1100 Photo Printer
- 005d Mobile Mass Storage
- 0062 XG-76NA 802.11bg
- 0078 Laser Pro Monochrome MFP
-079d Alfadata Computer Corp.
- 0201 GamePort Adapter
-07a1 Digicom S.p.A.
- d952 Palladio USB V.92 Modem
-07a2 National Technical Systems
-07a3 Onnto Corp.
-07a4 Be, Inc.
-07a6 ADMtek, Inc.
- 07c2 AN986A Ethernet
- 0986 AN986 Pegasus Ethernet
- 8266 Infineon WildCard-USB Wireless LAN Adapter
- 8511 ADM8511 Pegasus II Ethernet
- 8513 AN8513 Ethernet
- 8515 AN8515 Ethernet
-07aa Corega K.K.
- 0001 Ether USB-T Ethernet [klsi]
- 0004 FEther USB-TX Ethernet [pegasus]
- 000c WirelessLAN USB-11
- 000d FEther USB-TXS
- 0011 Wireless LAN USB-11 mini
- 0012 Stick-11 802.11b Adapter
- 0017 FEther USB2-TX
- 0018 Wireless LAN USB-11 mini 2
- 001a ULUSB-11 Key
- 001c CG-WLUSB2GTST 802.11g Wireless Adapter [Intersil ISL3887]
- 002e CG-WLUSB2GPX [Ralink RT2571W]
- 002f CG-WLUSB2GNL
- 0031 CG-WLUSB2GS 802.11bg [Atheros AR5523]
- 003c CG-WLUSB2GNL
- 003f CG-WLUSB300AGN
- 0041 CG-WLUSB300GNS
- 0042 CG-WLUSB300GNM
- 0043 CG-WLUSB300N rev A2 [Realtek RTL8192U]
- 0047 CG-WLUSBNM
- 0051 CG-WLUSB300NM
- 7613 Stick-11 V2 802.11b Adapter
- 9601 FEther USB-TXC
-07ab Freecom Technologies
- fc01 IDE bridge
- fc02 Cable II USB-2
- fc03 USB2-IDE IDE bridge
- fcd6 Freecom HD Classic
- fcf6 DataBar 512 MB
- fcf8 Freecom Classic SL Network Drive
- fcfe Hard Drive 80GB
-07af Microtech
- 0004 SCSI-DB25 SCSI Bridge [shuttle]
- 0005 SCSI-HD50 SCSI Bridge [shuttle]
- 0006 CameraMate SmartMedia and CompactFlash Card Reader [eusb/shuttle]
- fc01 Freecom USB-IDE
-07b0 Trust Technologies
- 0001 ISDN TA
- 0002 ISDN TA128 Plus
- 0003 ISDN TA128 Deluxe
- 0005 ISDN TA128 SE
- 0006 ISDN TA128 CE
- 0007 ISDN TA
- 0008 ISDN TA
-07b1 IMP, Inc.
-07b2 Motorola BCS, Inc.
- 0100 SURFboard Voice over IP Cable Modem
- 0900 SURFboard Gateway
- 0950 SURFboard SBG950 Gateway
- 1000 SURFboard SBG1000 Gateway
- 4100 SurfBoard SB4100 Cable Modem
- 4200 SurfBoard SB4200 Cable Modem
- 4210 SurfBoard 4210 Cable Modem
- 4220 SURFboard SB4220 Cable Modem
- 4500 CG4500 Communications Gateway
- 450b CG4501 Communications Gateway
- 450e CG4500E Communications Gateway
- 5100 SurfBoard SB5100 Cable Modem
- 5101 SurfBoard SB5101 Cable Modem
- 5120 SurfBoard SB5120 Cable Modem (RNDIS)
- 5121 Surfboard 5121 Cable Modem
- 7030 WU830G 802.11bg Wireless Adapter [Envara WiND512]
-07b3 Plustek, Inc.
- 0001 OpticPro 1212U Scanner
- 0003 Scanner
- 0010 OpticPro U12 Scanner
- 0011 OpticPro U24 Scanner
- 0013 OpticPro UT12 Scanner
- 0014 Scanner
- 0015 OpticPro U24 Scanner
- 0017 OpticPro UT12/16/24 Scanner
- 0204 Scanner
- 0400 OpticPro 1248U Scanner
- 0401 OpticPro 1248U Scanner #2
- 0403 OpticPro U16B Scanner
- 0404 Scanner
- 0405 A8 Namecard-s Controller
- 0406 A8 Namecard-D Controller
- 0410 Scanner
- 0412 Scanner
- 0413 OpticSlim 1200 Scanner
- 0601 OpticPro ST24 Scanner
- 0800 OpticPro ST48 Scanner
- 0900 OpticBook 3600 Scanner
- 090c OpticBook 3600 Plus Scanner
- 0a06 TVcam VD100
- 0b00 SmartPhoto F50
- 0c03 OpticPro ST64+ Scanner
- 0c04 Optic Film 7200i scanner
- 0c0c PL806 Scanner
- 0c26 OpticBook 4600 Scanner
- 0c2b Mobile Office D428 Scanner
- 0e08 Plustek OpticBook A300 Scanner
- 1300 OpticBook 3800 Scanner
- 1301 OpticBook 4800 Scanner
-07b4 Olympus Optical Co., Ltd
- 0100 Camedia C-2100/C-3000 Ultra Zoom Camera
- 0102 Camedia E-10/C-220/C-50 Camera
- 0105 Camedia C-310Z/C-700/C-750UZ/C-755/C-765UZ/C-3040/C-4000/C-5050Z/D-560/C-3020Z Zoom Camera
- 0109 C-370Z/C-500Z/D-535Z/X-450
- 010a MAUSB-10 xD and SmartMedia Card Reader
- 0112 MAUSB-100 xD Card Reader
- 0113 Mju 500
- 0114 C-350Z Camera
- 0118 Mju Mini Digital/Mju Digital 500 Camera / Stylus 850 SW
- 0184 P-S100 port
- 0203 Digital Voice Recorder DW-90
- 0206 Digital Voice Recorder DS-330
- 0207 Digital Voice Recorder & Camera W-10
- 0209 Digital Voice Recorder DM-20
- 020d Digital Voice Recorder VN-240PC
- 0244 Digital Voice Recorder VN-8500PC
- 0280 m:robe 100
-07b5 Mega World International, Ltd
- 0017 Joystick
- 0213 Thrustmaster Firestorm Digital 3 Gamepad
- 0312 Gamepad
- 9902 GamePad
-07b6 Marubun Corp.
-07b7 TIME Interconnect, Ltd
-07b8 AboCom Systems Inc
- 110c XX1
- 1201 IEEE 802.11b Adapter
- 200c XX2
- 2573 Wireless LAN Card
- 2770 802.11n/b/g Mini Wireless LAN USB2.0 Adapter
- 2870 802.11n/b/g Wireless LAN USB2.0 Adapter
- 3070 802.11n/b/g Mini Wireless LAN USB2.0 Adapter
- 3071 802.11n/b/g Mini Wireless LAN USB2.0 Adapter
- 3072 802.11n/b/g Mini Wireless LAN USB2.0 Adapter
- 4000 DU-E10 Ethernet [klsi]
- 4002 DU-E100 Ethernet [pegasus]
- 4003 1/10/100 Ethernet Adapter
- 4004 XX4
- 4007 XX5
- 400b XX6
- 400c XX7
- 401a RTL8151
- 4102 USB 1.1 10/100M Fast Ethernet Adapter
- 4104 XX9
- 420a UF200 Ethernet
- 5301 GW-US54ZGL 802.11bg
- 6001 802.11bg
- a001 WUG2200 802.11g Wireless Adapter [Envara WiND512]
- abc1 DU-E10 Ethernet [pegasus]
- b000 BWU613
- b02a AboCom Bluetooth Device
- b02b Bluetooth dongle
- b02c BCM92045DG-Flash with trace filter
- b02d BCM92045DG-Flash with trace filter
- b02e BCM92045DG-Flash with trace filter
- b030 BCM92045DG-Flash with trace filter
- b031 BCM92045DG-Flash with trace filter
- b032 BCM92045DG-Flash with trace filter
- b033 BCM92045DG-Flash with trace filter
- b21a WUG2400 802.11g Wireless Adapter [Texas Instruments TNETW1450]
- b21b HWU54DM
- b21c RT2573
- b21d RT2573
- b21e RT2573
- b21f WUG2700
- d011 MP3 Player
- e001 Mass Storage Device
- e002 Mass Storage Device
- e003 Mass Storage Device
- e004 Mass Storage Device
- e005 Mass Storage Device
- e006 Mass Storage Device
- e007 Mass Storage Device
- e008 Mass Storage Device
- e009 Mass Storage Device
- e00a Mass Storage Device
- e4f0 Card Reader Driver
- f101 DSB-560 Modem [atlas]
-07bc Canon Computer Systems, Inc.
-07bd Webgear, Inc.
-07be Veridicom
-07c0 Code Mercenaries Hard- und Software GmbH
- 1113 JoyWarrior24F8
- 1116 JoyWarrior24F14
- 1121 The Claw
- 1500 IO-Warrior 40
- 1501 IO-Warrior 24
- 1502 IO-Warrior 48
- 1503 IO-Warrior 28
- 1511 IO-Warrior 24 Power Vampire
- 1512 IO-Warrior 24 Power Vampire
-07c1 Keisokugiken
- 0068 HKS-0200 USBDAQ
-07c4 Datafab Systems, Inc.
- 0102 USB to LS120
- 0103 USB to IDE
- 1234 USB to ATAPI
- a000 CompactFlash Card Reader
- a001 CompactFlash & SmartMedia Card Reader [eusb]
- a002 Disk Drive
- a003 Datafab-based Reader
- a004 USB to MMC Class Drive
- a005 CompactFlash & SmartMedia Card Reader
- a006 SmartMedia Card Reader
- a007 Memory Stick Class Drive
- a103 MDSM-B reader
- a107 USB to Memory Stick (LC1) Drive
- a109 LC1 CompactFlash & SmartMedia Card Reader
- a10b USB to CF+MS(LC1)
- a200 DF-UT-06 Hama MMC/SD Reader
- a400 CompactFlash & Microdrive Reader
- a600 Card Reader
- ad01 Mass Storage Device
- ae01 Mass Storage Device
- af01 Mass Storage Device
- b000 USB to CF(LC1)
- b001 USB to CF+PCMCIA
- b004 MMC/SD Reader
- b006 USB to PCMCIA
- b00a USB to CF+SD Drive(LC1)
- b00b USB to Memory Stick(LC1)
- c010 Kingston FCR-HS2/ATA Card Reader
-07c5 APG Cash Drawer
-07c6 ShareWave, Inc.
- 0002 Bodega Wireless Access Point
- 0003 Bodega Wireless Network Adapter
-07c7 Powertech Industrial Co., Ltd
-07c8 B.U.G., Inc.
- 0202 MN128-SOHO PAL
-07c9 Allied Telesyn International
- b100 AT-USB100
-07ca AVerMedia Technologies, Inc.
- 0002 AVerTV PVR USB/EZMaker Pro Device
- 0026 AVerTV
- 0337 A867 DVB-T dongle
- 0837 H837 Hybrid ATSC/QAM
- 1228 MPEG-2 Capture Device (M038)
- 1830 AVerTV Volar Video Capture (H830)
- 3835 AVerTV Volar Green HD (A835B)
- 850a AverTV Volar Black HD (A850)
- 850b AverTV Red HD+ (A850T)
- a309 AVerTV DVB-T (A309)
- a801 AVerTV DVB-T (A800)
- a815 AVerTV DVB-T Volar X (A815)
- a827 AVerTV Hybrid Volar HX (A827)
- a867 AVerTV DVB-T (A867)
- b800 MR800 FM Radio
- e880 MPEG-2 Capture Device (E880)
- e882 MPEG-2 Capture Device (E882)
-07cb Kingmax Technology, Inc.
-07cc Carry Computer Eng., Co., Ltd
- 0000 CF Card Reader
- 0001 Reader (UICSE)
- 0002 Reader (UIS)
- 0003 SM Card Reader
- 0004 SM/CF/PCMCIA Card Reader
- 0005 Reader (UISA2SE)
- 0006 SM/CF/PCMCIA Card Reader
- 0007 Reader (UISA6SE)
- 000c SM/CF Card Reader
- 000d SM/CF Card Reader
- 000e Reader (UISDA)
- 000f Reader (UICLIK)
- 0010 Reader (UISMA)
- 0012 Reader (UISC6SE-FLASH)
- 0014 Litronic Fortezza Reader
- 0030 Mass Storage (UISDMC12S)
- 0040 Mass Storage (UISDMC13S)
- 0100 Reader (UID)
- 0101 Reader (UIM)
- 0102 Reader (UISDMA)
- 0103 Reader (UISDMC)
- 0104 Reader (UISDM)
- 0200 6-in-1 Card Reader
- 0201 Mass Storage (UISDMC1S & UISDMC3S)
- 0202 Mass Storage (UISDMC5S)
- 0203 Mass Storage (UISMC5S)
- 0204 Mass Storage (UIM4/5S & UIM7S)
- 0205 Mass Storage (UIS4/5S & UIS7S)
- 0206 Mass Storage (UISDMC10S & UISDMC11S)
- 0207 Mass Storage (UPIDMA)
- 0208 Mass Storage (UCFC II)
- 0210 Mass Storage (UPIXXA)
- 0213 Mass Storage (UPIDA)
- 0214 Mass Storage (UPIMA)
- 0215 Mass Storage (UPISA)
- 0217 Mass Storage (UPISDMA)
- 0223 Mass Storage (UCIDA)
- 0224 Mass Storage (UCIMA)
- 0225 Mass Storage (UIS7S)
- 0227 Mass Storage (UCIDMA)
- 0234 Mass Storage (UIM7S)
- 0235 Mass Storage (UIS4S-S)
- 0237 Velper (UISDMC4S)
- 0300 6-in-1 Card Reader
- 0301 6-in-1 Card Reader
- 0303 Mass Storage (UID10W)
- 0304 Mass Storage (UIM10W)
- 0305 Mass Storage (UIS10W)
- 0308 Mass Storage (UIC10W)
- 0309 Mass Storage (UISC3W)
- 0310 Mass Storage (UISDMA2W)
- 0311 Mass Storage (UISDMC14W)
- 0320 Mass Storage (UISDMC4W)
- 0321 Mass Storage (UISDMC37W)
- 0330 WINTERREADER Reader
- 0350 9-in-1 Card Reader
- 0500 Mass Storage
- 0501 Mass Storage
-07cd Elektor
- 0001 USBuart Serial Port
-07cf Casio Computer Co., Ltd
- 1001 QV-8000SX/5700/3000EX Digicam; Exilim EX-M20
- 1003 Exilim EX-S500
- 1004 Exilim EX-Z120
- 1011 USB-CASIO PC CAMERA
- 1116 EXILIM EX-Z19
- 1125 Exilim EX-H10 Digital Camera (mass storage mode)
- 1133 Exilim EX-Z350 Digital Camera (mass storage mode)
- 1225 Exilim EX-H10 Digital Camera (PictBridge mode)
- 1233 Exilim EX-Z350 Digital Camera (PictBridge mode)
- 2002 E-125 Cassiopeia Pocket PC
- 3801 WMP-1 MP3-Watch
- 4001 Label Printer KL-P1000
- 4007 CW50 Device
- 4104 Cw75 Device
- 4107 CW-L300 Device
- 4500 LV-20 Digital Camera
- 6801 PL-40R
- 6802 MIDI Keyboard
-07d0 Dazzle
- 0001 Digital Video Creator I
- 0002 Global Village VideoFX Grabber
- 0003 Fusion Model DVC-50 Rev 1 (NTSC)
- 0004 DVC-800 (PAL) Grabber
- 0005 Fusion Video and Audio Ports
- 0006 DVC 150 Loader Device
- 0007 DVC 150
- 0327 Fusion Digital Media Reader
- 1001 DM-FLEX DFU Adapter
- 1002 DMHS2 DFU Adapter
- 1102 CF Reader/Writer
- 1103 SD Reader/Writer
- 1104 SM Reader/Writer
- 1105 MS Reader/Writer
- 1106 xD/SM Reader/Writer
- 1202 MultiSlot Reader/Writer
- 2000 FX2 DFU Adapter
- 2001 eUSB CompactFlash Reader
- 4100 Kingsun SF-620 Infrared Adapter
- 4101 Connectivity Cable (CA-42 clone)
- 4959 Kingsun KS-959 Infrared Adapter
-07d1 D-Link System
- 13ec VvBus for Helium 2xx
- 13ed VvBus for Helium 2xx
- 13f1 DSL-302G Modem
- 13f2 DSL-502G Router
- 3300 DWA-130 802.11n Wireless N Adapter(rev.E) [Realtek RTL8191SU]
- 3302 DWA-130 802.11n Wireless N Adapter(rev.C2) [Realtek RTL8191SU]
- 3303 DWA-131 802.11n Wireless N Nano Adapter(rev.A1) [Realtek RTL8192SU]
- 3304 FR-300USB 802.11bgn Wireless Adapter
- 3a07 WUA-2340 RangeBooster G Adapter(rev.A) [Atheros AR5523]
- 3a08 WUA-2340 RangeBooster G Adapter(rev.A) (no firmware) [Atheros AR5523]
- 3a09 DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.A2) [Atheros AR9170+AR9104]
- 3a0d DWA-120 802.11g Wireless 108G Adapter [Atheros AR5523]
- 3a0f DWA-130 802.11n Wireless N Adapter(rev.D) [Atheros AR9170+AR9102]
- 3a10 DWA-126 802.11n Wireless Adapter [Atheros AR9271]
- 3b01 AirPlus G DWL-G122 Wireless Adapter(rev.D) [Marvell 88W8338+88W8010]
- 3b10 DWA-142 RangeBooster N Adapter [Marvell 88W8362+88W8060]
- 3b11 DWA-130 802.11n Wireless N Adapter(rev.A1) [Marvell 88W8362+88W8060]
- 3c03 AirPlus G DWL-G122 Wireless Adapter(rev.C1) [Ralink RT2571W]
- 3c04 WUA-1340
- 3c05 EH103 Wireless G Adapter
- 3c06 DWA-111 802.11bg Wireless Adapter [Ralink RT2571W]
- 3c07 DWA-110 Wireless G Adapter(rev.A1) [Ralink RT2571W]
- 3c09 DWA-140 RangeBooster N Adapter(rev.B1) [Ralink RT2870]
- 3c0a DWA-140 RangeBooster N Adapter(rev.B2) [Ralink RT3072]
- 3c0b DWA-110 Wireless G Adapter(rev.B) [Ralink RT2870]
- 3c0d DWA-125 Wireless N 150 Adapter(rev.A1) [Ralink RT3070]
- 3c0e WUA-2340 RangeBooster G Adapter(rev.B) [Ralink RT2070]
- 3c0f AirPlus G DWL-G122 Wireless Adapter(rev.E1) [Ralink RT2070]
- 3c10 DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.A1) [Atheros AR9170+AR9104]
- 3c11 DWA-160 Xtreme N Dual Band USB Adapter(rev.B) [Ralink RT2870]
- 3c13 DWA-130 802.11n Wireless N Adapter(rev.B) [Ralink RT2870]
- 3c15 DWA-140 RangeBooster N Adapter(rev.B3) [Ralink RT2870]
- 3c16 DWA-125 Wireless N 150 Adapter(rev.A2) [Ralink RT3070]
- 3e02 DWM-156 3.75G HSUPA Adapter
- 5100 Remote NDIS Device
- a800 DWM-152 3.75G HSUPA Adapter
- f101 DBT-122 Bluetooth
- fc01 DBT-120 Bluetooth Adapter
-07d2 Aptio Products, Inc.
-07d3 Cyberdata Corp.
-07d5 Radiant Systems
-07d7 GCC Technologies, Inc.
-07da Arasan Chip Systems
-07de Diamond Multimedia
- 2820 VC500 Video Capture Dongle
-07df David Electronics Co., Ltd
-07e1 Ambient Technologies, Inc.
- 5201 V.90 Modem
-07e2 Elmeg GmbH & Co., Ltd
-07e3 Planex Communications, Inc.
-07e4 Movado Enterprise Co., Ltd
- 0967 SCard R/W CSR-145
- 0968 SCard R/W CSR-145
-07e5 QPS, Inc.
- 05c2 IDE-to-USB2.0 PCA
- 5c01 Que! CDRW
-07e6 Allied Cable Corp.
-07e7 Mirvo Toys, Inc.
-07e8 Labsystems
-07ea Iwatsu Electric Co., Ltd
-07eb Double-H Technology Co., Ltd
-07ec Taiyo Electric Wire & Cable Co., Ltd
-07ee Torex Retail (formerly Logware)
- 0002 Cash Drawer I/F
-07ef STSN
- 0001 Internet Access Device
-07f2 Microcomputer Applications, Inc.
- 0001 KEYLOK II
-07f6 Circuit Assembly Corp.
-07f7 Century Corp.
- 0005 ScanLogic/Century Corporation uATA
- 011e Century USB Disk Enclosure
-07f9 Dotop Technology, Inc.
-07fa DrayTek Corp.
- 0778 miniVigor 128 ISDN TA
- 1012 BeWAN ADSL USB ST (grey)
- 1196 BWIFI-USB54AR 802.11bg
- a904 BeWAN ADSL
- a905 BeWAN ADSL ST
-07fd Mark of the Unicorn
- 0000 FastLane MIDI Interface
- 0001 FastLane Quad MIDI Interface
- 0002 MOTU Audio for 64 bit
-07ff Unknown
- 00ff Portable Hard Drive
-0801 MagTek
- 0001 Mini Swipe Reader (Keyboard Emulation)
- 0002 Mini Swipe Reader
- 0003 Magstripe Insert Reader
-0802 Mako Technologies, LLC
-0803 Zoom Telephonics, Inc.
- 1300 V92 Faxmodem
- 4310 4410a Wireless-G Adapter [Intersil ISL3887]
- 4410 4410b Wireless-G Adapter [ZyDAS ZD1211B]
- 5241 Cable Modem
- 5551 DSL Modem
- 9700 2986L FaxModem
- 9800 Cable Modem
- a312 Wireless-G
-0809 Genicom Technology, Inc.
-080a Evermuch Technology Co., Ltd
-080b Cross Match Technologies
- 0002 Fingerprint Scanner (After ReNumeration)
- 0010 300LC Series Fingerprint Scanner (Before ReNumeration)
-080c Datalogic S.p.A.
- 0300 Gryphon D120 Barcode Scanner
- 0400 Gryphon D120 Barcode Scanner
- 0500 Gryphon D120 Barcode Scanner
- 0600 Gryphon M100 Barcode Scanner
-080d Teco Image Systems Co., Ltd
- 0102 Hercules Scan@home 48
- 0104 3.2Slim
- 0110 UMAX AstraSlim 1200 Scanner
-0810 Personal Communication Systems, Inc.
- 0001 Dual PSX Adaptor
- 0002 Dual PCS Adaptor
- 0003 PlayStation Gamepad
-0813 Mattel, Inc.
- 0001 Intel Play QX3 Microscope
- 0002 Dual Mode Camera Plus
-0819 eLicenser
- 0101 License Management and Copy Protection
-081a MG Logic
- 1000 Duo Pen Tablet
-081b Indigita Corp.
- 0600 Storage Adapter
- 0601 Storage Adapter
-081c Mipsys
-081e AlphaSmart, Inc.
- df00 Handheld
-0822 Reudo Corp.
- 2001 IRXpress Infrared Device
-0825 GC Protronics
-0826 Data Transit
-0827 BroadLogic, Inc.
-0828 Sato Corp.
-0829 DirecTV Broadband, Inc. (Telocity)
-082d Handspring
- 0100 Visor
- 0200 Treo
- 0300 Treo 600
- 0400 Handheld
- 0500 Handheld
- 0600 Handheld
-0830 Palm, Inc.
- 0001 m500
- 0002 m505
- 0003 m515
- 0004 Handheld
- 0005 Handheld
- 0006 Handheld
- 0010 Handheld
- 0011 Handheld
- 0012 Handheld
- 0013 Handheld
- 0014 Handheld
- 0020 i705
- 0021 Handheld
- 0022 Handheld
- 0023 Handheld
- 0024 Handheld
- 0030 Handheld
- 0031 Tungsten W
- 0032 Handheld
- 0033 Handheld
- 0034 Handheld
- 0040 m125
- 0041 Handheld
- 0042 Handheld
- 0043 Handheld
- 0044 Handheld
- 0050 m130
- 0051 Handheld
- 0052 Handheld
- 0053 Handheld
- 0054 Handheld
- 0060 Tungsten C/E/T/T2/T3 / Zire 71
- 0061 Lifedrive / Treo 650/680 / Tunsten E2/T5/TX / Centro / Zire 21/31/72 / Z22
- 0062 Handheld
- 0063 Handheld
- 0064 Handheld
- 0070 Zire
- 0071 Handheld
- 0072 Handheld
- 0080 Serial Adapter [for Palm III]
- 0081 Handheld
- 0082 Handheld
- 00a0 Treo 800w
- 0101 Pre
-0832 Kouwell Electronics Corp.
- 5850 Cable
-0833 Sourcenext Corp.
- 012e KeikaiDenwa 8 with charger
- 039f KeikaiDenwa 8
-0835 Action Star Enterprise Co., Ltd
-0836 TrekStor
- 2836 i.Beat mood
-0839 Samsung Techwin Co., Ltd
- 0005 Digimax Camera
- 0008 Digimax 230 Camera
- 0009 Digimax 340
- 000a Digimax 410
- 000e Digimax 360
- 0010 Digimax 300
- 1003 Digimax 210SE
- 1005 Digimax 220
- 1009 Digimax V4
- 1012 6500 Document Camera
- 1058 S730 Camera
- 1064 Digimax D830 Camera
- 1542 Digimax 50 Duo
- 3000 Digimax 35 MP3
-083a Accton Technology Corp.
- 1046 10/100 Ethernet [pegasus]
- 1060 HomeLine Adapter
- 1f4d SMC8013WG Broadband Remote NDIS Device
- 3046 10/100 Series Adapter
- 3060 1/10/100 Adapter
- 3501 2664W
- 3502 WN3501D Wireless Adapter
- 3503 T-Sinus 111 Wireless Adapter
- 4501 T-Sinus 154data
- 4502 Siemens S30853-S1016-R107 802.11g Wireless Adapter [Intersil ISL3886]
- 4505 SMCWUSB-G 802.11bg
- 4507 SMCWUSBT-G2 802.11g Wireless Adapter [Atheros AR5523]
- 4521 Siemens S30863-S1016-R107-2 802.11g Wireless Adapter [Intersil ISL3887]
- 5046 SpeedStream 10/100 Ethernet [pegasus]
- 5501 Wireless Adapter 11g
- 6500 Cable Modem
- 6618 802.11n Wireless Adapter
- 7511 Arcadyan 802.11N Wireless Adapter
- 7512 Arcadyan 802.11N Wireless Adapter
- 7522 Arcadyan 802.11N Wireless Adapter
- 8522 Arcadyan 802.11N Wireless Adapter
- 8541 WN4501F 802.11g Wireless Adapter [Intersil ISL3887]
- a512 Arcadyan 802.11N Wireless Adapter
- a618 SMCWUSBS-N EZ Connect N Draft 11n Wireless Adapter [Ralink RT2870]
- a701 SMCWUSBS-N3 EZ Connect N Wireless Adapter [Ralink RT3070]
- b004 CPWUE001 USB/Ethernet Adapter
- b522 SMCWUSBS-N2 EZ Connect N Wireless Adapter [Ralink RT2870]
- bb01 BlueExpert Bluetooth Device
- c003 802.11b Wireless Adapter
- c501 Zoom 4410 Wireless-G [Intersil ISL3887]
- c561 802.11a/g Wireless Adapter
- d522 Speedport W 102 Stick IEEE 802.11n USB 2.0 Adapter
- e501 ZD1211B
- e503 Arcadyan WN4501 802.11b/g
- e506 WUS-201 802.11bg
- f501 802.11g Wireless Adapter
- f502 802.11g Wireless Adapter
- f522 Arcadyan WN7512 802.11n
-083f Global Village
- b100 TelePort V.90 Fax/Modem
-0840 Argosy Research, Inc.
- 0060 Storage Adapter Bridge Module
-0841 Rioport.com, Inc.
- 0001 Rio 500
-0844 Welland Industrial Co., Ltd
-0846 NetGear, Inc.
- 1001 EA101 10 Mbps 10BASE-T Ethernet [Kawasaki LSI KL5KLUSB101B]
- 1002 Ethernet
- 1020 FA101 Fast Ethernet USB 1.1
- 1040 FA120 Fast Ethernet USB 2.0 [Asix AX88172 / AX8817x]
- 4110 MA111(v1) 802.11b Wireless [Intersil Prism 3.0]
- 4200 WG121(v1) 54 Mbps Wireless [Intersil ISL3886]
- 4210 WG121(v2) 54 Mbps Wireless [Intersil ISL3886]
- 4220 WG111(v1) 54 Mbps Wireless [Intersil ISL3886]
- 4230 MA111(v2) 802.11b Wireless [SIS SIS 162]
- 4240 WG111(v1) rev 2 54 Mbps Wireless [Intersil ISL3887]
- 4260 WG111v3 54 Mbps Wireless [realtek RTL8187B]
- 4300 WG111U Double 108 Mbps Wireless [Atheros AR5004X / AR5005UX]
- 4301 WG111U (no firmware) Double 108 Mbps Wireless [Atheros AR5004X / AR5005UX]
- 5f00 WPN111 802.11g Wireless Adapter [Atheros AR5523]
- 6a00 WG111v2 54 Mbps Wireless [RealTek RTL8187L]
- 7100 WN121T RangeMax Next Wireless-N [Marvell TopDog]
- 9000 WN111(v1) RangeMax Next Wireless [Marvell 88W8362+88W8060]
- 9001 WN111(v2) RangeMax Next Wireless [Atheros AR9170+AR9101]
- 9010 WNDA3100v1 802.11abgn [Atheros AR9170+AR9104]
- 9011 WNDA3100v2 802.11abgn [Broadcom BCM4323]
- 9012 WNDA4100 802.11abgn 3x3:3 [Ralink RT3573]
- 9018 WNDA3200 802.11abgn Wireless Adapter [Atheros AR7010+AR9280]
- 9020 WNA3100(v1) Wireless-N 300 [Broadcom BCM43231]
- 9030 WNA1100 Wireless-N 150 [Atheros AR9271]
- 9040 WNA1000 Wireless-N 150 [Atheros AR9170+AR9101]
- 9041 WNA1000M 802.11bgn [Realtek RTL8188CUS]
- a001 PA101 10 Mbps HPNA Home Phoneline RJ-1
-084d Minton Optic Industry Co., Inc.
- 0001 Jenoptik JD800i
- 0003 S-Cam F5/D-Link DSC-350 Digital Camera
- 0011 Argus DC3500 Digital Camera
- 0014 Praktica DC 32
- 0019 Praktica DPix3000
- 0025 Praktica DC 60
- 1001 ScanHex SX-35d
-084e KB Gear
- 0001 JamCam Camera
- 1001 Jam Studio Tablet
- 1002 Pablo Tablet
-084f Empeg
- 0001 Empeg-Car Mark I/II Player
-0850 Fast Point Technologies, Inc.
-0851 Macronix International Co., Ltd
- 1542 SiPix Blink
- 1543 Maxell WS30 Slim Digital Camera, or Pandigital PI8004W01 digital photo frame
- a168 MXIC
-0852 CSEM
-0853 Topre Corporation
- 0100 HHKB Professional
-0854 ActiveWire, Inc.
- 0100 I/O Board
- 0101 I/O Board, rev1
-0856 B&B Electronics
- ac01 uLinks USOTL4 RS422/485 Adapter
-0858 Hitachi Maxell, Ltd
- 3102 Bluetooth Device
- ffff Maxell module with BlueCore in DFU mode
-0859 Minolta Systems Laboratory, Inc.
-085a Xircom
- 0001 Portstation Dual Serial Port
- 0003 Portstation Paraller Port
- 0008 Ethernet
- 0009 Ethernet
- 000b Portstation Dual PS/2 Port
- 0021 1 port to Serial Converter
- 0022 Parallel Port
- 0023 2 port to Serial Converter
- 0024 Parallel Port
- 0027 1 port to Serial Converter
- 0028 PortGear to SCSI Converter
- 0032 PortStation SCSI Module
- 003c Bluetooth Adapter
- 0299 Colorvision, Inc. Monitor Spyder
- 8021 1 port to Serial
- 8023 2 port to Serial
- 8027 PGSDB9 Serial Port
-085c ColorVision, Inc.
- 0200 Monitor Spyder
-0862 Teletrol Systems, Inc.
-0863 Filanet Corp.
-0864 NetGear, Inc.
- 4100 MA101 802.11b Adapter
- 4102 MA101 802.11b Adapter
-0867 Data Translation, Inc.
- 9812 ECON Data acquisition unit
- 9816 DT9816 ECON data acquisition module
- 9836 DT9836 data acquisition card
-086a Emagic Soft- und Hardware GmbH
- 0001 Unitor8
- 0002 AMT8
- 0003 MT4
-086c DeTeWe - Deutsche Telephonwerke AG & Co.
- 1001 Eumex 504PC ISDN TA
- 1002 Eumex 504PC (FlashLoad)
- 1003 TA33 ISDN TA
- 1004 TA33 (FlashLoad)
- 1005 Eumex 604PC HomeNet
- 1006 Eumex 604PC HomeNet (FlashLoad)
- 1007 Eumex 704PC DSL
- 1008 Eumex 704PC DSL (FlashLoad)
- 1009 Eumex 724PC DSL
- 100a Eumex 724PC DSL (FlashLoad)
- 100b OpenCom 30
- 100c OpenCom 30 (FlashLoad)
- 100d BeeTel Home 100
- 100e BeeTel Home 100 (FlashLoad)
- 1011 USB2DECT
- 1012 USB2DECT (FlashLoad)
- 1013 Eumex 704PC LAN
- 1014 Eumex 704PC LAN (FlashLoad)
- 1019 Eumex 504 SE
- 101a Eumex 504 SE (Flash-Mode)
- 1021 OpenCom 40
- 1022 OpenCom 40 (FlashLoad)
- 1023 OpenCom 45
- 1024 OpenCom 45 (FlashLoad)
- 1025 Sinus 61 data
- 1029 dect BOX
- 102c Eumex 604PC HomeNet [FlashLoad]
- 1030 Eumex 704PC DSL [FlashLoad]
- 1032 OpenCom 40 [FlashLoad]
- 1033 OpenCom 30 plus
- 1034 OpenCom 30 plus (FlashLoad)
- 1041 Eumex 220PC
- 1042 Eumex 220PC (FlashMode)
- 1055 Eumex 220 Version 2 ISDN TA
- 1056 Eumex 220 Version 2 ISDN TA (Flash-Mode)
- 2000 OpenCom 1000
-086e System TALKS, Inc.
- 1920 SGC-X2UL
-086f MEC IMEX, Inc.
-0870 Metricom
- 0001 Ricochet GS
-0871 SanDisk, Inc.
- 0001 SDDR-01 Compact Flash Reader
- 0002 SDDR-31 Compact Flash Reader
- 0005 SDDR-05 Compact Flash Reader
-0873 Xpeed, Inc.
-0874 A-Tec Subsystem, Inc.
-0879 Comtrol Corp.
-087c Adesso/Kbtek America, Inc.
-087d Jaton Corp.
- 5704 Ethernet
-087e Fujitsu Computer Products of America
-087f QualCore Logic Inc.
-0880 APT Technologies, Inc.
-0883 Recording Industry Association of America (RIAA)
-0885 Boca Research, Inc.
-0886 XAC Automation Corp.
- 0630 Intel PC Camera CS630
-0887 Hannstar Electronics Corp.
-088a TechTools
- 1002 DigiView DV3100
-088b MassWorks, Inc.
- 4944 MassWorks ID-75 TouchScreen
-088c Swecoin AB
- 2030 Ticket Printer TTP 2030
-088e iLok
- 5036 Portable secure storage for software licenses
-0892 DioGraphy, Inc.
- 0101 Smartdio Reader/Writer
-0897 Lauterbach
- 0002 Power Debug/Power Debug II
-089c United Technologies Research Cntr.
-089d Icron Technologies Corp.
-089e NST Co., Ltd
-089f Primex Aerospace Co.
-08a5 e9, Inc.
-08a6 Toshiba TEC
- 0051 B-SV4
-08a8 Andrea Electronics
-08a9 CWAV Inc.
- 0005 USBee ZX
- 0009 USBee SX
- 0012 USBee AX-Standard
- 0013 USBee AX-Plus
- 0014 USBee AX-Pro
- 0015 USBee DX
-08ae Macally (Mace Group, Inc.)
-08b4 Sorenson Vision, Inc.
-08b7 NATSU
- 0001 Playstation adapter
-08b8 J. Gordon Electronic Design, Inc.
- 01f4 USBSIMM1
-08b9 RadioShack Corp. (Tandy)
-08bb Texas Instruments
- 2702 Speakers
- 2704 Audio Codec
- 2706 PCM2706 Audio Codec
- 2900 PCM2900 Audio Codec
- 2901 PCM2901 Audio Codec
- 2902 PCM2902 Audio Codec
- 2904 PCM2904 Audio Codec
- 2910 PCM2912 Audio Codec
- 29b0 PCM2900B Audio CODEC
- 29b2 PCM2902 Audio CODEC
- 29b3 PCM2903B Audio CODEC
- 29b6 PCM2906B Audio CODEC
- 29c0 PCM2900C Audio CODEC
- 29c2 PCM2902C Audio CODEC
- 29c3 PCM2903C Audio CODEC
- 29c6 PCM2906C Audio CODEC
-08bd Citizen Watch Co., Ltd
- 0208 CLP-521 Label Printer
- 1100 X1-USB Floppy
-08c3 Precise Biometrics
- 0001 100 SC
- 0002 100 A
- 0003 100 SC BioKeyboard
- 0006 100 A BioKeyboard
- 0100 100 MC ISP
- 0101 100 MC FingerPrint and SmartCard Reader
- 0300 100 AX
- 0400 100 SC
- 0401 150 MC
- 0402 200 MC FingerPrint and SmartCard Reader
- 0404 100 SC Upgrade
- 0405 150 MC Upgrade
- 0406 100 MC Upgrade
-08c4 Proxim, Inc.
- 0100 Skyline 802.11b Wireless Adapter
- 02f2 Farallon Home Phoneline Adapter
-08c7 Key Nice Enterprise Co., Ltd
-08c8 2Wire, Inc.
-08c9 Nippon Telegraph and Telephone Corp.
-08ca Aiptek International, Inc.
- 0001 Tablet
- 0010 Tablet
- 0020 APT-6000U Tablet
- 0021 APT-2 Tablet
- 0022 Tablet
- 0023 Tablet
- 0024 Tablet
- 0100 Pen Drive
- 0102 DualCam
- 0103 Pocket DV Digital Camera
- 0104 Pocket DVII
- 0105 Mega DV(Disk)
- 0106 Pocket DV3100+
- 0107 Pocket DV3100
- 0109 Nisis DV4 Digital Camera
- 010a Trust 738AV LCD PV Mass Storage
- 0111 PenCam VGA Plus
- 2008 Mini PenCam 2
- 2010 Pocket CAM 3 Mega (webcam)
- 2011 Pocket CAM 3 Mega (storage)
- 2016 PocketCam 2 Mega
- 2018 Pencam SD 2M
- 2020 Slim 3000F
- 2022 Slim 3200
- 2024 Pocket DV3500
- 2028 Pocket Cam4M
- 2040 Pocket DV4100M
- 2042 Pocket DV5100M Composite Device
- 2043 Pocket DV5100M (Disk)
- 2060 Pocket DV5300
-08cd Jue Hsun Ind. Corp.
-08ce Long Well Electronics Corp.
-08cf Productivity Enhancement Products
-08d1 smartBridges, Inc.
- 0001 smartNIC Ethernet [catc]
- 0003 smartNIC 2 PnP Ethernet
-08d3 Virtual Ink
-08d4 Fujitsu Siemens Computers
- 0009 SCR SmartCard Reader
-08d8 IXXAT Automation GmbH
- 0002 USB-to-CAN compact
- 0003 USB-to-CAN II
- 0100 USB-to-CAN
-08d9 Increment P Corp.
-08dd Billionton Systems, Inc.
- 0112 Wireless LAN Adapter
- 0113 Wireless LAN Adapter
- 0986 USB-100N Ethernet [pegasus]
- 0987 USBLP-100 HomePNA Ethernet [pegasus]
- 0988 USBEL-100 Ethernet [pegasus]
- 1986 10/100 LAN Adapter
- 2103 DVB-T TV-Tuner Card-R
- 8511 USBE-100 Ethernet [pegasus2]
- 90ff USB2AR Ethernet
-08de ???
- 7a01 802.11b Adapter
-08df Spyrus, Inc.
- 0001 Rosetta Token V1
- 0002 Rosetta Token V2
- 0003 Rosetta Token V3
- 0a00 Lynks Interface
-08e3 Olitec, Inc.
- 0002 USB-RS232 Bridge
- 0100 Interface ADSL
- 0101 Interface ADSL
- 0102 ADSL
- 0301 RNIS
-08e4 Pioneer Corp.
-08e5 Litronic
-08e6 Gemplus
- 0001 GemPC-Touch 430
- 0430 GemPC430 SmartCard Reader
- 0432 GemPC432 SmartCard Reader
- 0435 GemPC435 SmartCard Reader
- 0437 GemPC433 SL SmartCard Reader
- 1359 UA SECURE STORAGE TOKEN
- 2202 Gem e-Seal Pro Token
- 3437 GemPC Twin SmartCard Reader
- 3438 GemPC Key SmartCard Reader
- 3478 PinPad Smart Card Reader
- 34ec Compact Smart Card Reader Writer
- 4433 GemPC433-Swap
- 5501 GemProx-PU Contactless Smart Card Reader
- ace0 UA HYBRID TOKEN
-08e7 Pan-International Wire & Cable
-08e8 Integrated Memory Logic
-08e9 Extended Systems, Inc.
- 0100 XTNDAccess IrDA Dongle
-08ea Ericsson, Inc., Blue Ridge Labs
- 00c9 ADSL Modem HM120dp Loader
- 00ca ADSL WAN Modem HM120dp
- 00ce HM230d Virtual Bus for Helium
- abba USB Driver for Bluetooth Wireless Technology
- abbb Bluetooth Device in DFU State
-08ec M-Systems Flash Disk Pioneers
- 0001 TravelDrive 2C
- 0002 TravelDrive 2C
- 0005 TravelDrive 2C
- 0008 TravelDrive 2C
- 0010 DiskOnKey
- 0011 DiskOnKey
- 0012 TravelDrive 2C
- 0014 TravelDrive 2C
- 0015 Kingston DataTraveler ELITE
- 0016 Kingston DataTraveler U3
- 0020 TravelDrive Intuix U3 2GB
- 0021 TravelDrive
- 0022 TravelDrive
- 0023 TravelDrive
- 0024 TravelDrive
- 0025 TravelDrive
- 0026 TravelDrive
- 0027 TravelDrive
- 0028 TravelDrive
- 0029 TravelDrive
- 0030 TravelDrive
- 0822 TravelDrive 2C
- 0832 Hi-Speed Mass Storage Device
- 0834 M-Disk 220
- 0998 Kingston Data Traveler2.0 Disk Driver
- 0999 Kingston Data Traveler2.0 Disk Driver
- 1000 TravelDrive 2C
- 2000 TravelDrive 2C
- 2038 TravelDrive
- 2039 TravelDrive
- 204a TravelDrive
- 204b TravelDrive
-08ed MediaTek Inc.
- 0002 CECT M800 memory card
-08ee CCSI/Hesso
-08f0 Corex Technologies
-08f1 CTI Electronics Corp.
-08f2 Gotop Information Inc.
- 007f Super Q2 Tablet
-08f5 SysTec Co., Ltd
-08f6 Logic 3 International, Ltd
-08f7 Vernier
- 0001 LabPro
- 0002 EasyTemp/Go!Temp
- 0003 Go!Link
- 0004 Go!Motion
-08f8 Keen Top International Enterprise Co., Ltd
-08f9 Wipro Technologies
-08fa Caere
-08fb Socket Communications
-08fc Sicon Cable Technology Co., Ltd
-08fd Digianswer A/S
- 0001 Bluetooth Device
-08ff AuthenTec, Inc.
- 1600 AES1600
- 1610 AES1600
- 1660 AES1660 Fingerprint Sensor
- 1680 AES1660 Fingerprint Sensor
- 168f AES1660 Fingerprint Sensor
- 2500 AES2501
- 2501 AES2501
- 2502 AES2501
- 2503 AES2501
- 2504 AES2501
- 2505 AES2501
- 2506 AES2501
- 2507 AES2501
- 2508 AES2501
- 2509 AES2501
- 250a AES2501
- 250b AES2501
- 250c AES2501
- 250d AES2501
- 250e AES2501
- 250f AES2501
- 2510 AES2510
- 2550 AES2550 Fingerprint Sensor
- 2580 AES2501 Fingerprint Sensor
- 2588 AES2501
- 2589 AES2501
- 258a AES2501
- 258b AES2501
- 258c AES2501
- 258d AES2501
- 258e AES2501
- 258f AES2501
- 2660 AES2660 Fingerprint Sensor
- 2680 AES2660 Fingerprint Sensor
- 268f AES2660 Fingerprint Sensor
- 2810 AES2810
- 3400 AES3400 TruePrint Sensor
- 3401 AES3400 Sensor
- 3402 AES3400 Sensor
- 3403 AES3400 Sensor
- 3404 AES3400 TruePrint Sensor
- 3405 AES3400 TruePrint Sensor
- 3406 AES3400 TruePrint Sensor
- 3407 AES3400 TruePrint Sensor
- 4902 BioMV with TruePrint AES3500
- 4903 BioMV with TruePrint AES3400
- 5500 AES4000
- 5501 AES4000 TruePrint Sensor
- 5503 AES4000 TruePrint Sensor
- 5505 AES4000 TruePrint Sensor
- 5507 AES4000 TruePrint Sensor
- 55ff AES4000 TruePrint Sensor.
- 5700 AES3500 Fingerprint Reader
- 5701 AES3500 TruePrint Sensor
- 5702 AES3500 TruePrint Sensor
- 5703 AES3500 TruePrint Sensor
- 5704 AES3500-BZ TruePrint Sensor
- 5705 AES3500-BZ TruePrint Sensor
- 5706 AES3500-BZ TruePrint Sensor
- 5707 AES3500-BZ TruePrint Sensor
- 5710 AES3500 TruePrint Sensor
- 5711 AES3500 TruePrint Sensor
- 5712 AES3500 TruePrint Sensor
- 5713 AES3500 TruePrint Sensor
- 5714 AES3500-BZ TruePrint Sensor
- 5715 AES3500-BZ TruePrint Sensor
- 5716 AES3500-BZ TruePrint Sensor
- 5717 AES3500-BZ TruePrint Sensor
- 5730 AES3500 TruePrint Sensor
- 5731 AES3500 TruePrint Sensor
- 5732 AES3500 TruePrint Sensor
- 5733 AES3500 TruePrint Sensor
- 5734 AES3500-BZ TruePrint Sensor
- 5735 AES3500-BZ TruePrint Sensor
- 5736 AES3500-BZ TruePrint Sensor
- 5737 AES3500-BZ TruePrint Sensor
- afe3 FingerLoc Sensor Module (Anchor)
- afe4 FingerLoc Sensor Module (Anchor)
- afe5 FingerLoc Sensor Module (Anchor)
- afe6 FingerLoc Sensor Module (Anchor)
- fffd AES2510 Sensor (USB Emulator)
- ffff Sensor (Emulator)
-0900 Pinnacle Systems, Inc.
-0901 VST Technologies
- 0001 Hard Drive Adapter (TPP)
- 0002 SigmaDrive Adapter (TPP)
-0906 Faraday Technology Corp.
-0908 ShenZhen SANZHAI Technology Co.,Ltd
- 2701 Spy Pen VGA
-0909 Audio-Technica Corp.
-090a Trumpion Microelectronics, Inc.
- 1001 T33520 Flash Card Controller
- 1100 Comotron C3310 MP3 player
- 1200 MP3 player
- 1540 Digitex Container Flash Disk
-090b Neurosmith
-090c Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.)
- 0371 Silicon Motion SM371 Camera
- 0373 Silicon Motion Camera
- 037a Silicon Motion Camera
- 037b Silicon Motion Camera
- 1000 Flash Drive
- 1132 5-in-1 Card Reader
- 337b Silicon Motion Camera
- 3710 Silicon Motion Camera
- 3720 Silicon Motion Camera
- 37bc HP Webcam-101 Integrated Camera
- 37c0 Silicon Motion Camera
- 6000 SD/SDHC Card Reader (SG365 / FlexiDrive XC+)
- 6200 microSD card reader
- 71b3 SM731 Camera
- 837b Silicon Motion Camera
- 937b Silicon Motion Camera
- b370 Silicon Motion SM370 Camera
- b371 Silicon Motion SM371 Camera
-090d Multiport Computer Vertriebs GmbH
-090e Shining Technology, Inc.
-090f Fujitsu Devices, Inc.
-0910 Alation Systems, Inc.
-0911 Philips Speech Processing
- 149a SpeechMike II Pro Plus LFH5276
- 2512 SpeechMike Pro
-0912 Voquette, Inc.
-0915 GlobeSpan, Inc.
- 0001 DSL Modem
- 0002 ADSL ATM Modem
- 0005 LAN Modem
- 2000 802.11 Adapter
- 2002 802.11 Adapter
- 8000 ADSL LAN Modem
- 8005 DSL-302G Modem
- 8101 ADSL WAN Modem
- 8102 DSL-200 ADSL Modem
- 8103 DSL-200 ADSL Modem
- 8104 DSL-200 Modem
- 8400 DSL Modem
- 8401 DSL Modem
- 8402 DSL Modem
- 8500 DSL Modem
- 8501 DSL Modem
-0917 SmartDisk Corp.
- 0001 eFilm Reader-11 SM/CF
- 0002 eFilm Reader-11 SM
- 0003 eFilm Reader-11 CF
- 0200 FireFly
- 0201 FireLite
- 0202 STORAGE ADAPTER (FirePower)
- 0204 FlashTrax Storage
- 0205 STORAGE ADAPTER (CrossFire)
- 0206 FireFly 20G HDD
- 0207 FireLite
- 020f STORAGE ADAPTER (FireLite)
- da01 eFilm Reader-11 Test
- ffff eFilm Reader-11 (Class/PDR)
-0919 Tiger Electronics
- 0100 Fast Flicks Digital Camera
-091e Garmin International
- 0003 GPS (various models)
- 0004 iQue 3600
- 0200 Data Card Programmer (install)
- 1200 Data Card Programmer
- 21a5 etrex Cx (msc)
- 2236 nuvi 360
- 2271 Edge 605/705
- 2295 Colorado 300
- 22b6 eTrex Vista HCx (Mass Storage mode)
- 231b Oregon 400t
- 2353 Nüvi 205T
- 2380 Oregon series
- 23cc nüvi 1350
- 2459 GPSmap 62/78 series
- 2519 eTrex 30
- 2535 Edge 800
- 255b Nuvi 2505LM
-0920 Echelon Co.
- 7500 Network Interface
-0921 GoHubs, Inc.
- 1001 GoCOM232 Serial
-0922 Dymo-CoStar Corp.
- 0007 LabelWriter 330
- 0009 LabelWriter 310
- 001a LabelWriter 400 Turbo
- 0020 LabelWriter 450
-0923 IC Media Corp.
- 010f SIIG MobileCam
-0924 Xerox
- 23dd DocuPrint M760 (X760_USB)
- 3ce8 Phaser 3428 Printer
- 3d5b Phaser 6115MFP TWAIN Scanner
- 420f WorkCentre PE220 Series
- 421f M20 Scanner
- 423b Printing Support
- 4274 Xerox Phaser 3635MFPX
- ffef WorkCenter M15
- fffb DocuPrint M750 (X750_USB)
-0925 Lakeview Research
- 0005 Gamtec.,Ltd SmartJoy PLUS Adapter
- 3881 Saleae Logic
- 8101 Phidgets, Inc., 1-Motor PhidgetServo v2.0
- 8104 Phidgets, Inc., 4-Motor PhidgetServo v2.0
- 8800 WiseGroup Ltd, MP-8800 Quad Joypad
- 8866 WiseGroup Ltd, MP-8866 Dual Joypad
-0927 Summus, Ltd
-0928 PLX Technology, Inc. (formerly Oxford Semiconductor, Ltd)
- 8000 Firmware uploader
-0929 American Biometric Co.
-092a Toshiba Information & Industrial Sys. And Services
-092b Sena Technologies, Inc.
-092f Northern Embedded Science/CAVNEX
- 0004 JTAG-4
- 0005 JTAG-5
-0930 Toshiba Corp.
- 0009 Gigabeat F/X (HDD audio player)
- 000c Gigabeat F (mtp)
- 0010 Gigabeat S (mtp)
- 0301 PCX1100U Cable Modem (WDM)
- 0302 PCX2000 Cable Modem (WDM)
- 0305 Cable Modem PCX3000
- 0307 Cable Modem PCX2500
- 0308 PCX2200 Cable Modem (WDM)
- 0309 PCX5000 Cable Modem (WDM)
- 030b Cable Modem PCX2600
- 0501 Bluetooth Controller
- 0502 Integrated Bluetooth
- 0503 Bluetooth Controller
- 0505 Integrated Bluetooth
- 0506 Integrated Bluetooth
- 0507 Bluetooth Adapter
- 0508 Integrated Bluetooth HCI
- 0509 BT EDR Dongle
- 0706 PocketPC e740
- 0707 Pocket PC e330 Series
- 0708 Pocket PC e350 Series
- 0709 Pocket PC e750 Series
- 070a Pocket PC e400 Series
- 070b Pocket PC e800 Series
- 0a07 WLM-10U1 802.11abgn Wireless Adapter [Ralink RT3572]
- 0b05 PX1220E-1G25 External hard drive
- 0b09 PX1396E-3T01 External hard drive
- 1300 Wireless Broadband (CDMA EV-DO) SM-Bus Minicard Status Port
- 1301 Wireless Broadband (CDMA EV-DO) Minicard Status Port
- 1302 Wireless Broadband (3G HSDPA) SM-Bus Minicard Status Port
- 1303 Wireless Broadband (3G HSDPA) Minicard Status Port
- 1308 Broadband (3G HSDPA) SM-Bus Minicard Diagnostics Port
- 130b F3507g Mobile Broadband Module
- 130c F3607gw Mobile Broadband Module
- 1311 F3607gw v2 Mobile Broadband Module
- 1400 Memory Stick 2GB
- 642f TravelDrive
- 6506 TravelDrive 2C
- 6507 TravelDrive 2C
- 6508 TravelDrive 2C
- 6509 TravelDrive 2C
- 6510 TravelDrive 2C
- 6517 TravelDrive 2C
- 6518 TravelDrive 2C
- 6519 Kingston DataTraveler 2.0 USB Stick
- 651a TravelDrive 2C
- 651b TravelDrive 2C
- 651c TravelDrive 2C
- 651d TravelDrive 2C
- 651e TravelDrive 2C
- 651f TravelDrive 2C
- 6520 TravelDrive 2C
- 6521 TravelDrive 2C
- 6522 TravelDrive 2C
- 6523 TravelDrive
- 6524 TravelDrive
- 6525 TravelDrive
- 6526 TravelDrive
- 6527 TravelDrive
- 6528 TravelDrive
- 6529 TravelDrive
- 652a TravelDrive
- 652b TravelDrive
- 652c TravelDrive
- 652d TravelDrive
- 652f TravelDrive
- 6530 TravelDrive
- 6531 TravelDrive
- 6532 256M Stick
- 6533 512M Stick
- 6534 TravelDrive
- 653c Kingston DataTraveler 2.0 Stick (512M)
- 653d Kingston DataTraveler 2.0 Stick (1GB)
- 653e Flash Memory
- 6540 TransMemory Flash Memory
- 6544 Kingston DataTraveler 2.0 Stick (2GB)
- 6545 Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick
-0931 Harmonic Data Systems, Ltd
-0932 Crescentec Corp.
- 0300 VideoAdvantage
- 0302 Syntek DC-112X
- 0320 VideoAdvantage
- 0482 USB2.0 TVBOX
- 1100 DC-1100 Video Enhamcement Device
- 1112 Veo Web Camera
- a311 Video Enhancement Device
-0933 Quantum Corp.
-0934 Spirent Communications
-0936 NuTesla
- 0030 Composite Device, Mass Storage Device (Flash Drive) amd HID
- 003c Rhythmedics HID Bootloader
-0939 Lumberg, Inc.
- 0b15 Toshiba Stor.E Alu 2 1TB (PX1710E-1HJ0)
-093a Pixart Imaging, Inc.
- 0007 CMOS 100K-R Rev. 1.90
- 010e Digital camera, CD302N/Elta Medi@ digi-cam/HE-501A
- 010f Argus DC-1610/DC-1620/Emprex PCD3600/Philips P44417B keychain camera/Precision Mini,Model HA513A/Vivitar Vivicam 55
- 020f Bullet Line Photo Viewer
- 050f Mars-Semi Pc-Camera
- 2460 Q-TEC WEBCAM 100
- 2468 SoC PC-Camera
- 2470 SoC PC-Camera
- 2471 SoC PC-Camera
- 2500 USB Optical Mouse
- 2510 Optical Mouse
- 2600 Typhoon Easycam USB 330K (newer)/Typhoon Easycam USB 2.0 VGA 1.3M/Sansun SN-508
- 2601 SPC 610NC Laptop Camera
- 2603 PAC7312 Camera
- 2608 PAC7311 Trust WB-3300p
- 260e PAC7311 Gigaware VGA PC Camera:Trust WB-3350p:SIGMA cam 2350
- 260f PAC7311 SnakeCam
- 2621 PAC731x Trust Webcam
- 2624 Webcam
-093b Plextor Corp.
- 0010 Storage Adapter
- 0011 PlexWriter 40/12/40U
- 0041 PX-708A DVD RW
- 0042 PX-712UF DVD RW
- a002 ConvertX M402U XLOADER
- a003 ConvertX AV100U A/V Capture Audio
- a004 ConvertX TV402U XLOADER
- a005 ConvertX TV100U A/V Capture
- a102 ConvertX M402U A/V Capture
- a104 ConvertX PX-TV402U/NA
-093c Intrepid Control Systems, Inc.
- 0601 ValueCAN
- 0701 NeoVI Blue vehicle bus interface
-093d InnoSync, Inc.
-093e J.S.T. Mfg. Co., Ltd
-093f Olympia Telecom Vertriebs GmbH
-0940 Japan Storage Battery Co., Ltd
-0941 Photobit Corp.
-0942 i2Go.com, LLC
-0943 HCL Technologies India Private, Ltd
-0944 KORG, Inc.
- 0001 PXR4 4-Track Digital Recorder
- 0020 KAOSS Pad KP3 Dynamic Effect/Sampler
- 0023 KAOSSILATOR PRO Dynamic Phrase Synthesizer
- 010d nanoKEY MIDI keyboard
- 010e nanoPAD pad controller
- 010f nanoKONTROL studio controller
- 0117 nanoKONTROL2 MIDI Controller
- 0f03 K-Series K61P MIDI studio controller
-0945 Pasco Scientific
-0948 Kronauer music in digital
- 0301 USB Pro (24/48)
- 0302 USB Pro (24/96 playback)
- 0303 USB Pro (24/96 record)
- 0304 USB Pro (16/48)
- 1105 USB One
-094b Linkup Systems Corp.
- 0001 neonode N2
-094d Cable Television Laboratories
-094f Yano
- 0101 U640MO-03
- 05fc METALWEAR-HDD
-0951 Kingston Technology
- 0008 Ethernet
- 000a KNU101TX 100baseTX Ethernet
- 1600 DataTraveler II Pen Drive
- 1601 DataTraveler II+ Pen Drive
- 1602 DataTraveler Mini
- 1603 DataTraveler 1GB/2GB Pen Drive
- 1606 Eee PC 701 SD Card Reader [ENE UB6225]
- 1607 DataTraveler 100
- 160d DataTraveler Vault Privacy
- 1613 DataTraveler DT101C Flash Drive
- 1616 DataTraveler Locker 4GB
- 1621 DataTraveler 150 (32GB)
- 1624 DataTraveler G2
- 1625 DataTraveler 101 II
- 162a DataTraveler 112 4GB Pen Drive
- 162d DataTraveler 102
- 1630 DataTraveler 200 (32GB)
- 1642 DT101 G2
- 1643 DataTraveler G3
- 1653 Data Traveler 100 G2 8 GiB
- 1656 DataTraveler Ultimate G2
- 1689 DataTraveler SE9
- 168a DataTraveler Micro
- 168c DT Elite 3.0
-0954 RPM Systems Corp.
-0955 NVidia Corp.
- 7030 Tegra 3 (recovery mode)
- 7100 Notion Ink Adam
- b400 SHIELD (debug)
- b401 SHIELD
-0956 BSquare Corp.
-0957 Agilent Technologies, Inc.
- 0200 E-Video DC-350 Camera
- 0202 E-Video DC-350 Camera
- 0518 82357B GPIB Interface
- 0a07 34411A Multimeter
- 1745 Test and Measurement Device (IVI)
- 2918 U2702A oscilloscope
-0958 CompuLink Research, Inc.
-0959 Cologne Chip AG
- 2bd0 Intelligent ISDN (Ver. 3.60.04)
-095a Portsmith
- 3003 Express Ethernet
-095b Medialogic Corp.
-095c K-Tec Electronics
-095d Polycom, Inc.
- 0001 Polycom ViaVideo
-0967 Acer (??)
- 0204 WarpLink 802.11b Adapter
-0968 Catalyst Enterprises, Inc.
-096e Feitian Technologies, Inc.
- 0120 Microcosm Ltd Dinkey
- 0802 ePass2000 (G&D STARCOS SPK 2.4)
- 0807 ePass2003
-0971 Gretag-Macbeth AG
- 2003 Eye-One display
- 2005 Huey
- 2007 ColorMunki
-0973 Schlumberger
- 0001 e-gate Smart Card
-0974 Datagraphix, a business unit of Anacomp
-0975 OL'E Communications, Inc.
-0976 Adirondack Wire & Cable
-0977 Lightsurf Technologies
-0978 Beckhoff GmbH
-0979 Jeilin Technology Corp., Ltd
- 0224 JL2005A Toy Camera
- 0226 JL2005A Toy Camera
- 0227 JL2005B/C/D Toy Camera
-097a Minds At Work LLC
- 0001 Digital Wallet
-097b Knudsen Engineering, Ltd
-097c Marunix Co., Ltd
-097d Rosun Technologies, Inc.
-097e Biopac Systems Inc.
- 0035 MP35 v1.0
-097f Barun Electronics Co., Ltd
-0981 Oak Technology, Ltd
-0984 Apricorn
- 0040 SATA Wire (2.5")
- 0200 Hard Drive Storage (TPP)
-0985 cab Produkttechnik GmbH & Co KG
- 0045 Mach4/200 Label Printer
- 00a3 A3/200 or A3/300 Label Printer
-0986 Matsushita Electric Works, Ltd.
-098c Vitana Corp.
-098d INDesign
-098e Integrated Intellectual Property, Inc.
-098f Kenwood TMI Corp.
-0993 Gemstar eBook Group, Ltd
- 0001 REB1100 eBook Reader
- 0002 eBook
-0996 Integrated Telecom Express, Inc.
-099a Zippy Technology Corp.
- 0638 Sanwa Supply Inc. Small Keyboard
- 610c EL-610 Super Mini Electron luminescent Keyboard
- 7160 Hyper Slim Keyboard
-09a3 PairGain Technologies
-09a4 Contech Research, Inc.
-09a5 VCON Telecommunications
-09a6 Poinchips
- 8001 Mass Storage Device
-09a7 Data Transmission Network Corp.
-09a8 Lin Shiung Enterprise Co., Ltd
-09a9 Smart Card Technologies Co., Ltd
-09aa Intersil Corp.
- 1000 Prism GT 802.11b/g Adapter
- 3642 Prism 2.x 802.11b Adapter
-09ab Japan Cash Machine Co., Ltd.
-09ae Tripp Lite
-09b2 Franklin Electronic Publishers, Inc.
- 0001 eBookman Palm Computer
-09b3 Altius Solutions, Inc.
-09b4 MDS Telephone Systems
-09b5 Celltrix Technology Co., Ltd
-09bc Grundig
- 0002 MPaxx MP150 MP3 Player
-09be MySmart.Com
- 0001 MySmartPad
-09bf Auerswald GmbH & Co. KG
- 00c0 COMpact 2104 ISDN PBX
- 00db COMpact 4410/2206 ISDN
- 00dc COMpact 4406 DSL (PBX)
- 00dd COMpact 2204 (PBX)
- 00de COMpact 2104 (Rev.2 PBX)
- 00e0 COMmander Business (PBX)
- 00e2 COMmander Basic.2 (PBX)
- 00f1 COMfort 2000 (System telephone)
- 00f2 COMfort 1200 (System telephone)
- 00f5 COMfortel 2500 (System telephone)
- 8000 COMpact 2104 DSL (DSL modem)
- 8001 COMpact 4406 DSL (DSL modem)
- 8002 Analog/ISDN Converter (Line converter)
- 8005 WG-640 (Automatic event dialer)
-09c0 Genpix Electronics, LLC
- 0136 Axon CNS, MultiClamp 700B
- 0202 8PSK DVB-S tuner
- 0203 Skywalker-1 DVB-S tuner
- 0204 Skywalker-CW3K DVB-S tuner
- 0205 Skywalker-CW3K DVB-S tuner
- 0206 Skywalker-2 DVB-S tuner
-09c1 Arris Interactive LLC
- 1337 TOUCHSTONE DEVICE
-09c2 Nisca Corp.
-09c3 ActivCard, Inc.
- 0007 Reader V2
- 0008 ZFG-9800-AC SmartCard Reader
- 0014 ActivIdentity ActivKey SIM USB Token
-09c4 ACTiSYS Corp.
- 0011 ACT-IR2000U IrDA Dongle
-09c5 Memory Corp.
-09cc Workbit Corp.
- 0404 BAFO USB-ATA/ATAPI Bridge Controller
-09cd Psion Dacom Home Networks, Ltd
- 2001 Psion WaveFinder DAB radio receiver
-09ce City Electronics, Ltd
-09cf Electronics Testing Center, Taiwan
-09d1 NeoMagic, Inc.
-09d2 Vreelin Engineering, Inc.
-09d3 Com One
- 0001 ISDN TA
-09d7 Novatel Wireless
- 0100 NovAtel FlexPack GPS receiver
-09d9 KRF Tech, Ltd
-09da A4 Tech Co., Ltd
- 0006 Optical Mouse WOP-35 / Trust 450L Optical Mouse
- 000a Optical Mouse Opto 510D
- 000e X-F710F Optical Mouse 3xFire Gaming Mouse
- 0018 Trust Human Interface Device
- 001a Wireless Mouse & RXM-15 Receiver
- 002a Wireless Optical Mouse NB-30
- 022b Wireless Mouse (Battery Free)
- 024f RF Receiver and G6-20D Wireless Optical Mouse
- 0260 KV-300H Isolation Keyboard
- 032b Wireless Mouse (Battery Free)
- 8090 X-718BK Oscar Optical Gaming Mouse
- 9033 X-718BK Optical Mouse
- 9090 XL-750BK Laser Mouse
-09db Measurement Computing Corp.
- 0075 MiniLab 1008
- 0076 PMD-1024
- 007a PMD-1208LS
- 0081 USB-1616FS
- 0082 USB-1208FS
- 0088 USB-1616FS internal hub
-09dc Aimex Corp.
-09dd Fellowes, Inc.
-09df Addonics Technologies Corp.
-09e1 Intellon Corp.
- 5121 MicroLink dLAN
-09e5 Jo-Dan International, Inc.
-09e6 Silutia, Inc.
-09e7 Real 3D, Inc.
-09e8 AKAI Professional M.I. Corp.
- 0062 MPD16 MIDI Pad Controller Unit
- 006d EWI electronic wind instrument
- 0071 MPK25 MIDI Keyboard
- 0076 LPK25 MIDI Keyboard
-09e9 Chen-Source, Inc.
-09eb IM Networks, Inc.
- 4331 iRhythm Tuner Remote
-09ef Xitel
- 0101 MD-Port DG2 MiniDisc Interface
-09f3 GoFlight, Inc.
- 0018 GF-46 Multi-Mode Display Module
- 0028 RP-48 Combination Pushbutton-Rotary Module
- 0048 LGTII - Landing Gear and Trim Control Module
- 0064 MCPPro - Airliner Mode Control Panel (Autopilot)
- 0300 EFIS - Electronic Flight Information System
-09f5 AresCom
- 0168 Network Adapter
- 0188 LAN Adapter
- 0850 Adapter
-09f6 RocketChips, Inc.
-09f7 Edu-Science (H.K.), Ltd
-09f8 SoftConnex Technologies, Inc.
-09f9 Bay Associates
-09fa Mtek Vision
-09fb Altera
- 6001 Blaster
-09ff Gain Technology Corp.
-0a00 Liquid Audio
-0a01 ViA, Inc.
-0a05 Unknown Manufacturer
- 7211 hub
-0a07 Ontrak Control Systems Inc.
- 0064 ADU100 Data Acquisition Interface
- 0078 ADU120 Data Acquisition Interface
- 0082 ADU130 Data Acquisition Interface
- 00c8 ADU200 Relay I/O Interface
- 00d0 ADU208 Relay I/O Interface
- 00da ADU218 Solid-State Relay I/O Interface
-0a0b Cybex Computer Products Co.
-0a11 Xentec, Inc.
-0a12 Cambridge Silicon Radio, Ltd
- 0001 Bluetooth Dongle (HCI mode)
- 0002 Frontline Test Equipment Bluetooth Device
- 0003 Nanosira
- 0004 Nanosira WHQL Reference Radio
- 0005 Nanosira-Multimedia
- 0006 Nanosira-Multimedia WHQL Reference Radio
- 0007 Nanosira3-ROM
- 0008 Nanosira3-ROM
- 0009 Nanosira4-EDR WHQL Reference Radio
- 000a Nanosira4-EDR-ROM
- 000b Nanosira5-ROM
- 0043 Bluetooth Device
- 0100 Casira with BlueCore2-External Module
- 0101 Casira with BlueCore2-Flash Module
- 0102 Casira with BlueCore3-Multimedia Module
- 0103 Casira with BlueCore3-Flash Module
- 0104 Casira with BlueCore4-External Module
- 0105 Casira with BlueCore4-Multimedia Module
- 1000 Bluetooth Dongle (HID proxy mode)
- 1010 Bluetooth Device
- 1011 Bluetooth Device
- 1012 Bluetooth Device
- ffff USB Bluetooth Device in DFU State
-0a13 Telebyte, Inc.
-0a14 Spacelabs Medical, Inc.
-0a15 Scalar Corp.
-0a16 Trek Technology (S) PTE, Ltd
- 1111 ThumbDrive
- 8888 IBM USB Memory Key
- 9988 Trek2000 TD-G2
-0a17 Pentax Corp.
- 0004 Optio 330
- 0006 Optio S
- 0007 Optio 550
- 0009 Optio 33WR
- 000a Optio 555
- 000c Optio 43WR (mass storage mode)
- 000d Optio 43WR
- 0015 Optio S40/S5i
- 003b Optio 50 (mass storage mode)
- 003d Optio S55
- 0043 *ist DL
- 0047 Optio S60
- 0052 Optio 60 Digital Camera
- 006e K10D
- 0070 K100D
- 0093 K200D
- 00a7 Optio E50
- 1001 EI2000 Camera powered by Digita!
-0a18 Heidelberger Druckmaschinen AG
-0a19 Hua Geng Technologies, Inc.
-0a21 Medtronic Physio Control Corp.
- 8001 MMT-7305WW [Medtronic Minimed CareLink]
-0a22 Century Semiconductor USA, Inc.
-0a27 Datacard Group
- 0102 SP35
-0a2c AK-Modul-Bus Computer GmbH
- 0008 GPIO Ports
-0a34 TG3 Electronics, Inc.
- 0101 TG82tp
- 0110 Deck 82-key backlit keyboard
-0a35 Radikal Technologies
- 002a SAC - Software Assigned Controller
- 008a SAC Hub
-0a39 Gilat Satellite Networks, Ltd
-0a3a PentaMedia Co., Ltd
- 0163 KN-W510U 1.0 Wireless LAN Adapter
-0a3c NTT DoCoMo, Inc.
-0a3d Varo Vision
-0a3f Swissonic AG
-0a43 Boca Systems, Inc.
-0a46 Davicom Semiconductor, Inc.
- 0268 ST268
- 6688 ZT6688 Fast Ethernet Adapter
- 8515 ADMtek ADM8515 NIC
- 9000 DM9000E Fast Ethernet Adapter
- 9601 DM9601 Fast Ethernet Adapter
-0a47 Hirose Electric
-0a48 I/O Interconnect
- 3233 Multimedia Card Reader
- 3239 Multimedia Card Reader
- 3258 Dane Elec zMate SD Reader
- 3259 Dane Elec zMate CF Reader
- 5000 MediaGear xD-SM
- 500a Mass Storage Device
- 500f Mass Storage Device
- 5010 Mass Storage Device
- 5011 Mass Storage Device
- 5014 Mass Storage Device
- 5020 Mass Storage Device
- 5021 Mass Storage Device
- 5022 Mass Storage Device
- 5023 Mass Storage Device
- 5024 Mass Storage Device
- 5025 Mass Storage Device
-0a4b Fujitsu Media Devices, Ltd
-0a4c Computex Co., Ltd
- 15d9 OPTICAL MOUSE
-0a4d Evolution Electronics, Ltd
- 0064 MK-225 Driver
- 0065 MK-225C Driver
- 0066 MK-225C Driver
- 0067 MK-425C Driver
- 0078 MK-37 Driver
- 0079 MK-37C Driver
- 007a MK-37C Driver
- 008c TerraTec MIDI MASTER
- 008d MK-249C Driver
- 008e MK-249C MIDI Keyboard
- 008f MK-449C Driver
- 0090 Keystation 49e Driver
- 0091 Keystation 61es Driver
- 00a0 MK-361 Driver
- 00a1 MK-361C Driver
- 00a2 MK-361C Driver
- 00a3 MK-461C MIDI Keyboard
- 00b5 Keystation Pro 88 Driver
- 00d2 E-Keys Driver
- 00f0 UC-16 Driver
- 00f1 X-Session Driver
- 00f5 UC-33e MIDI Controller
-0a4e Steinberg Soft-und Hardware GmbH
-0a4f Litton Systems, Inc.
-0a50 Mimaki Engineering Co., Ltd
-0a51 Sony Electronics, Inc.
-0a52 Jebsee Electronics Co., Ltd
-0a53 Portable Peripheral Co., Ltd
- 1000 Scanner
- 2000 Q-Scan A6 Scanner
- 2001 Q-Scan A6 Scanner
- 2013 Media Drive A6 Scanner
- 2014 Media Drive A6 Scanner
- 2015 BizCardReader 600C
- 2016 BizCardReader 600C
- 202a Scanshell-CSSN
- 3000 Q-Scan A8 Scanner
- 3002 Q-Scan A8 Reader
- 3015 BizCardReader 300G
- 302a LM9832 - PA570 Mini Business Card Scanner [Targus]
- 5001 BizCardReader 900C
-0a5a Electronics For Imaging, Inc.
-0a5b EAsics NV
-0a5c Broadcom Corp.
- 0201 iLine10(tm) Network Adapter
- 2000 Bluetooth Device
- 2001 Bluetooth Device
- 2009 BCM2035 Bluetooth
- 200a BCM2035 Bluetooth dongle
- 200f Bluetooth Controller
- 201d Bluetooth Device
- 201e IBM Integrated Bluetooth IV
- 2020 Bluetooth dongle
- 2021 BCM2035B3 Bluetooth Adapter
- 2033 BCM2033 Bluetooth
- 2035 BCM2035 Bluetooth
- 2038 Blutonium Device
- 2039 BCM2045 Bluetooth
- 2045 Bluetooth Controller
- 2046 Bluetooth Device
- 2047 Bluetooth Device
- 205e Bluetooth Device
- 2100 Bluetooth 2.0+eDR dongle
- 2101 BCM2045 Bluetooth
- 2102 ANYCOM Blue USB-200/250
- 2110 BCM2045B (BDC-2) [Bluetooth Controller]
- 2111 ANYCOM Blue USB-UHE 200/250
- 2120 2045 Bluetooth 2.0 USB-UHE Device with trace filter
- 2121 BCM2210 Bluetooth
- 2122 Bluetooth 2.0+EDR dongle
- 2123 Bluetooth dongle
- 2130 2045 Bluetooth 2.0 USB-UHE Device with trace filter
- 2131 2045 Bluetooth 2.0 Device with trace filter
- 2145 BCM2045B (BDC-2.1) [Bluetooth Controller]
- 2148 BCM92046DG-CL1ROM Bluetooth 2.1 Adapter
- 2150 BCM2046 Bluetooth Device
- 2151 Bluetooth
- 2154 BCM92046DG-CL1ROM Bluetooth 2.1 UHE Dongle
- 217d HP Bluethunder
- 217f BCM2045B (BDC-2.1)
- 2198 Bluetooth 3.0 Device
- 219b Bluetooth 2.1 Device
- 21b1 HP Bluetooth Module
- 21b4 BCM2070 Bluetooth 2.1 + EDR
- 21b9 BCM2070 Bluetooth 2.1 + EDR
- 21ba BCM2070 Bluetooth 2.1 + EDR
- 21bb BCM2070 Bluetooth 2.1 + EDR
- 21bc BCM2070 Bluetooth 2.1 + EDR
- 21bd BCM2070 Bluetooth 2.1 + EDR
- 21d7 BCM43142 Bluetooth 4.0
- 21e1 HP Portable SoftSailing
- 21e3 HP Portable Valentine
- 21e6 BCM20702 Bluetooth 4.0 [ThinkPad]
- 21e8 BCM20702A0 Bluetooth 4.0
- 21f1 HP Portable Bumble Bee
- 22be BCM2070 Bluetooth 3.0 + HS
- 4500 BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
- 4502 Keyboard (Boot Interface Subclass)
- 4503 Mouse (Boot Interface Subclass)
- 5800 BCM5880 Secure Applications Processor
- 5801 BCM5880 Secure Applications Processor with fingerprint swipe sensor
- 5802 BCM5880 Secure Applications Processor with fingerprint touch sensor
- 5803 BCM5880 Secure Applications Processor with secure keyboard
- 6300 Pirelli Remote NDIS Device
- bd11 TiVo AG0100 802.11bg Wireless Adapter [Broadcom BCM4320]
- bd13 BCM4323 802.11abgn Wireless Adapter
- bd17 BCM43236 802.11abgn Wireless Adapter
- d11b Eminent EM4045 [Broadcom 4320 USB]
-0a5d Diatrend Corp.
-0a5f Zebra
- 0009 LP2844 Printer
- 0081 GK420t Label Printer
- 008b HC100 wristbands Printer
- 930a Printer
-0a62 MPMan
- 0010 MPMan MP-F40 MP3 Player
-0a66 ClearCube Technology
-0a67 Medeli Electronics Co., Ltd
-0a68 Comaide Corp.
-0a69 Chroma ate, Inc.
-0a6b Green House Co., Ltd
- 0001 Compact Flash R/W with MP3 player
- 000f FlashDisk
-0a6c Integrated Circuit Systems, Inc.
-0a6d UPS Manufacturing
-0a6e Benwin
-0a6f Core Technology, Inc.
- 0400 Xanboo
-0a70 International Game Technology
-0a71 VIPColor Technologies USA, Inc.
- 0001 VP485 Printer
-0a72 Sanwa Denshi
-0a73 Mackie Designs
- 0002 XD-2 [Spike]
-0a7d NSTL, Inc.
-0a7e Octagon Systems Corp.
-0a80 Rexon Technology Corp., Ltd
-0a81 Chesen Electronics Corp.
- 0101 Keyboard
- 0103 Keyboard
- 0203 Mouse
- 0205 PS/2 Keyboard+Mouse Adapter
- 0701 USB Missile Launcher
- ff01 Wireless Missile Launcher
-0a82 Syscan
- 4600 TravelScan 460/464
-0a83 NextComm, Inc.
-0a84 Maui Innovative Peripherals
-0a85 Idexx Labs
-0a86 NITGen Co., Ltd
-0a8d Picturetel
-0a8e Japan Aviation Electronics Industry, Ltd
- 2011 Filter Driver For JAE XMC R/W
-0a90 Candy Technology Co., Ltd
-0a91 Globlink Technology, Inc.
- 3801 Targus PAKP003 Mouse
-0a92 EGO SYStems, Inc.
- 0011 SYS WaveTerminal U2A
- 0021 GIGAPort
- 0031 GIGAPortAG
- 0053 AudioTrak Optoplay
- 0061 Waveterminal U24
- 0071 MAYA EX7
- 0091 Maya 44
- 00b1 MAYA EX5
- 1000 MIDI Mate
- 1010 RoMI/O
- 1020 M4U
- 1030 M8U
- 1090 KeyControl49
- 10a0 KeyControl25
-0a93 C Technologies AB
- 0002 C-Pen 10
- 0005 MyPen Light
- 000d Input Pen
- 0010 C-Pen 20
- 0a93 PayPen
-0a94 Intersense
-0aa3 Lava Computer Mfg., Inc.
-0aa4 Develco Elektronik
-0aa5 First International Digital
- 0002 irock! 500 Series
- 0801 MP3 Player
-0aa6 Perception Digital, Ltd
- 0101 Hercules Jukebox
- 1501 Store 'n' Go HD Drive
-0aa7 Wincor Nixdorf International GmbH
- 0100 POS Keyboard, TA58P-USB
- 0101 POS Keyboard, TA85P-USB
- 0102 POS Keyboard, TA59-USB
- 0103 POS Keyboard, TA60-USB
- 0104 SNIkey Keyboard, SNIKey-KB-USB
- 0200 Operator Display, BA63-USB
- 0201 Operator Display, BA66-USB
- 0202 Operator Display & Scanner, XiCheck-BA63
- 0203 Operator Display & Scanner, XiCheck-BA66
- 0204 Graphics Operator Display, BA63GV
- 0300 POS Printer (printer class mode), TH210
- 0301 POS Printer (native mode), TH210
- 0302 POS Printer (printer class mode), TH220
- 0303 POS Printer (native mode), TH220
- 0304 POS Printer, TH230
- 0305 Lottery Printer, XiPrintPlus
- 0306 POS Printer (printer class mode), TH320
- 0307 POS Printer (native mode), TH320
- 0308 POS Printer (printer class mode), TH420
- 0309 POS Printer (native mode), TH420
- 030a POS Printer, TH200B
- 0400 Lottery Scanner, Xiscan S
- 0401 Lottery Scanner, Xiscan 3
- 0402 Programmable Magnetic Swipe Card Reader, MSRP-USB
- 0500 IDE Adapter
- 0501 Hub Printer Interface
- 0502 Hub SNIKey Keyboard
- 4304 Banking Printer TP07
- 4305 Banking Printer TP07c
- 4500 WN Central Special Electronics
-0aa8 TriGem Computer, Inc.
- 0060 TG 11Mbps WLAN Mini Adapter
- 1001 DreamComboM4100
- 3002 InkJet Color Printer
- 8001 TG_iMON
- 8002 TG_KLOSS
- a001 TG_X2
- a002 TGVFD_KLOSS
- ffda iMON_VFD
-0aa9 Baromtec Co.
- f01b Medion MD 6242 MP3 Player
-0aaa Japan CBM Corp.
-0aab Vision Shape Europe SA
-0aac iCompression, Inc.
-0aad Rohde & Schwarz GmbH & Co. KG
- 0003 NRP-Z21
- 000c NRP-Z11
- 0013 NRP-Z22
- 0014 NRP-Z23
- 0015 NRP-Z24
- 0016 NRP-Z51
- 0017 NRP-Z52
- 0018 NRP-Z55
- 0019 NRP-Z56
- 0021 NRP-Z91
- 0023 NRP-Z81
- 002c NRP-Z31
- 002d NRP-Z37
- 002f NRP-Z27
- 0051 NRP-Z28
- 0052 NRP-Z98
- 0062 NRP-Z92
- 0070 NRP-Z57
- 0083 NRP-Z85
- 0095 NRP-Z86
-0aae NEC infrontia Corp. (Nitsuko)
-0aaf Digitalway Co., Ltd
-0ab0 Arrow Strong Electronics Co., Ltd
-0ab1 FEIG ELECTRONIC GmbH
- 0002 OBID RFID-Reader
-0aba Ellisys
- 8001 Tracker 110 Protocol Analyzer
- 8002 Explorer 200 Protocol Analyzer
-0abe Stereo-Link
- 0101 SL1200 DAC
-0abf Diolan
- 3370 I2C/SPI Adapter - U2C-12
-0ac3 Sanyo Semiconductor Company Micro
-0ac4 Leco Corp.
-0ac5 I & C Corp.
-0ac6 Singing Electrons, Inc.
-0ac7 Panwest Corp.
-0ac8 Z-Star Microelectronics Corp.
- 0301 Web Camera
- 0302 ZC0302 Webcam
- 0321 Vimicro generic vc0321 Camera
- 0323 Luxya WC-1200 USB 2.0 Webcam
- 0328 A4Tech PK-130MG
- 0336 Elecom UCAM-DLQ30
- 301b ZC0301 Webcam
- 303b ZC0303 Webcam
- 305b ZC0305 Webcam
- 307b USB 1.1 Webcam
- 332d Vega USB 2.0 Camera
- 3343 Sirius USB 2.0 Camera
- 3370 Traveler TV 6500 SF Dia-scanner
- 3420 Venus USB2.0 Camera
- c001 Sony embedded vimicro Camera
- c002 Visual Communication Camera VGP-VCC1
- c302 Vega USB 2.0 Camera
- c303 Saturn USB 2.0 Camera
- c326 Namuga 1.3M Webcam
- c33f Webcam
-0ac9 Micro Solutions, Inc.
- 0000 Backpack CD-ReWriter
- 0001 BACKPACK 2 Cable
- 0010 BACKPACK
- 0011 Backpack 40GB Hard Drive
- 0110 BACKPACK
- 0111 BackPack
- 1234 BACKPACK
-0aca OPEN Networks Ltd
- 1060 OPEN NT1 Plus II
-0acc Koga Electronics Co.
-0acd ID Tech
- 0300 IDT1221U RS-232 Adapter
- 0401 Spectrum III Hybrid Smartcard Reader
- 0630 Spectrum III Mag-Only Insert Reader (SPT3-355 Series) USB-CDC
-0ace ZyDAS
- 1201 ZD1201 802.11b
- 1211 ZD1211 802.11g
- 1215 ZD1211B 802.11g
- 1221 ZD1221 802.11n
- 1602 ZyXEL Omni FaxModem 56K
- 1608 ZyXEL Omni FaxModem 56K UNO
- 1611 ZyXEL Omni FaxModem 56K Plus
- 2011 Virtual media for 802.11bg
- 20ff Virtual media for 802.11bg
- a211 ZD1211 802.11b/g Wireless Adapter
- b215 802.11bg
-0acf Intoto, Inc.
-0ad0 Intellix Corp.
-0ad1 Remotec Technology, Ltd
-0ad2 Service & Quality Technology Co., Ltd
-0ada Data Encryption Systems Ltd.
- 0005 DK2
-0ae3 Allion Computer, Inc.
-0ae4 Taito Corp.
-0ae7 Neodym Systems, Inc.
-0ae8 System Support Co., Ltd
-0ae9 North Shore Circuit Design L.L.P.
-0aea SciEssence, LLC
-0aeb TTP Communications, Ltd
-0aec Neodio Technologies Corp.
- 2101 SmartMedia Card Reader
- 2102 CompactFlash Card Reader
- 2103 MMC/SD Card Reader
- 2104 MemoryStick Card Reader
- 2201 SmartMedia+CompactFlash Card Reader
- 2202 SmartMedia+MMC/SD Card Reader
- 2203 SmartMedia+MemoryStick Card Reader
- 2204 CompactFlash+MMC/SD Card Reader
- 2205 CompactFlash+MemoryStick Card Reader
- 2206 MMC/SD+MemoryStick Card Reader
- 2301 SmartMedia+CompactFlash+MMC/SD Card Reader
- 2302 SmartMedia+CompactFlash+MemoryStick Card Reader
- 2303 SmartMedia+MMC/SD+MemoryStick Card Reader
- 2304 CompactFlash+MMC/SD+MemoryStick Card Reader
- 3016 MMC/SD+Memory Stick Card Reader
- 3050 ND3050 8-in-1 Card Reader
- 3060 1.1 FS Card Reader
- 3101 MMC/SD Card Reader
- 3102 MemoryStick Card Reader
- 3201 MMC/SD+MemoryStick Card Reader
- 3216 HS Card Reader
- 3260 7-in-1 Card Reader
- 5010 ND5010 Card Reader
-0af0 Option
- 5000 UMTS Card
- 6000 GlobeTrotter 3G datacard
- 6300 GT 3G Quad UMTS/GPRS Card
- 6600 GlobeTrotter 3G+ datacard
- 6711 GlobeTrotter Express 7.2 v2
- 6971 Globetrotter HSDPA Modem
- 7251 Globetrotter HSUPA Modem (aka iCON HSUPA E)
- 7501 Globetrotter HSUPA Modem (icon 411 aka "Vodafone K3760")
- 7601 Globetrotter MO40x 3G Modem (GTM 382)
- 7701 Globetrotter HSUPA Modem (aka icon 451)
- d055 Globetrotter GI0505 [iCON 505]
-0af6 Silver I Co., Ltd
-0af7 B2C2, Inc.
- 0101 Digital TV USB Receiver (DVB-S/T/C / ATSC)
-0af9 Hama, Inc.
- 0010 USB SightCam 100
- 0011 Micro Innovations IC50C Webcam
-0afc Zaptronix Ltd
-0afd Tateno Dennou, Inc.
-0afe Cummins Engine Co.
-0aff Jump Zone Network Products, Inc.
-0b00 INGENICO
-0b05 ASUSTek Computer, Inc.
- 1101 Mass Storage (UISDMC4S)
- 1706 WL-167G v1 802.11g Adapter [Ralink RT2571]
- 1707 WL-167G v1 802.11g Adapter [Ralink RT2571]
- 1708 Mass Storage Device
- 170b Mass Storage Device
- 170c WL-159g 802.11bg
- 170d 802.11b/g Wireless Network Adapter
- 1712 BT-183 Bluetooth 2.0+EDR adapter
- 1715 2045 Bluetooth 2.0 Device with trace filter
- 1716 Bluetooth Device
- 1717 WL169gE 802.11g Adapter [Broadcom 4320 USB]
- 171b A9T wireless 802.11bg
- 171c 802.11b/g Wireless Network Adapter
- 171f My Cinema U3000 Mini [DiBcom DiB7700P]
- 1723 WL-167G v2 802.11g Adapter [Ralink RT2571W]
- 1724 RT2573
- 1726 Laptop OLED Display
- 172a ASUS 802.11n Network Adapter
- 172b 802.11n Network Adapter
- 1731 802.11n Network Adapter
- 1732 802.11n Network Adapter
- 1734 ASUS AF-200
- 173c BT-183 Bluetooth 2.0
- 173f My Cinema U3100 Mini
- 1742 802.11n Network Adapter
- 1743 Xonar U1 Audio Station
- 1751 BT-253 Bluetooth Adapter
- 175b Laptop OLED Display
- 1760 802.11n Network Adapter
- 1761 USB-N11 802.11n Network Adapter [Ralink RT2870]
- 1774 Gobi Wireless Modem (QDL mode)
- 1776 Gobi Wireless Modem
- 1779 My Cinema U3100 Mini Plus [AF9035A]
- 1784 USB-N13 802.11n Network Adapter (rev. A1) [Ralink RT3072]
- 1786 USB-N10 802.11n Network Adapter [Realtek RTL8188SU]
- 1791 WL-167G v3 802.11n Adapter [Realtek RTL8188SU]
- 179d USB-N53 802.11abgn Network Adapter [Ralink RT3572]
- 179e Eee Note EA800 (network mode)
- 179f Eee Note EA800 (tablet mode)
- 17a1 Eee Note EA800 (mass storage mode)
- 17ab USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU]
- 4c80 Transformer Pad TF300TG
- 4c90 Transformer Pad Infinity TF700
- 4c91 Transformer Pad Infinity TF700 (Debug mode)
- 4d00 Transformer Prime TF201
- 4d01 Transformer Prime TF201 (debug mode)
- 4daf Transformer Pad Infinity TF700 (Fastboot)
- 6101 Cable Modem
- 620a Remote NDIS Device
- b700 Broadcom Bluetooth 2.1
-0b0b Datamax-O'Neil
- 106e Datamax E-4304
-0b0c Todos AB
- 0009 Todos Argos Mini II Smart Card Reader
- 001e e.dentifier2 (ABN AMRO electronic banking card reader NL)
- 002e C200 smartcard controller (Nordea card reader)
- 003f Todos C400 smartcard controller (Handelsbanken card reader)
- 0050 Argos Mini II Smart Card Reader (CCID)
-0b0d ProjectLab
- 0000 CenturyCD
-0b0e GN Netcom
- 1022 Jabra PRO 9450, Type 9400BS (DECT Headset)
- 620c Jabra BT620s
-0b0f AVID Technology
-0b10 Pcally
-0b11 I Tech Solutions Co., Ltd
-0b1e Electronic Warfare Assoc., Inc. (EWA)
- 8007 Blackhawk USB560-BP JTAG Emulator
-0b1f Insyde Software Corp.
-0b20 TransDimension, Inc.
-0b21 Yokogawa Electric Corp.
-0b22 Japan System Development Co., Ltd
-0b23 Pan-Asia Electronics Co., Ltd
-0b24 Link Evolution Corp.
-0b27 Ritek Corp.
-0b28 Kenwood Corp.
-0b2c Village Center, Inc.
-0b30 PNY Technologies, Inc.
- 0006 SM Media-Shuttle Card Reader
-0b33 Contour Design, Inc.
- 0020 ShuttleXpress
-0b37 Hitachi ULSI Systems Co., Ltd
-0b38 Gear Head
- 0003 Keyboard
- 0010 107-Key Keyboard
-0b39 Omnidirectional Control Technology, Inc.
- 0001 Composite USB PS2 Converter
- 0109 USB TO Ethernet
- 0421 Serial
- 0801 USB-Parallel Bridge
- 0901 OCT To Fast Ethernet Converter
- 0c03 LAN DOCK Serial Converter
-0b3a IPaxess
-0b3b Tekram Technology Co., Ltd
- 0163 TL-WN320G 1.0 WLAN Adapter
- 1601 Allnet 0193 802.11b Adapter
- 1602 ZyXEL ZyAIR B200 802.11b Adapter
- 1612 AIR.Mate 2@net 802.11b Adapter
- 1613 802.11b Wireless LAN Adapter
- 1620 Allnet Wireless Network Adapter [Envara WiND512]
- 1630 QuickWLAN 802.11bg
- 5630 802.11bg
- 6630 ZD1211
-0b3c Olivetti Techcenter
- a010 Simple_Way Printer/Scanner/Copier
- c000 Olicard 100
- c700 Olicard 100 (Mass Storage mode)
-0b3e Kikusui Electronics Corp.
-0b41 Hal Corp.
- 0011 Crossam2+USB IR commander
-0b43 Play.com, Inc.
- 0003 PS2 Controller Converter
- 0005 GameCube Adaptor
-0b47 Sportbug.com, Inc.
-0b48 TechnoTrend AG
- 1003 Technotrend/Hauppauge USB-Nova
- 1004 TT-PCline
- 1005 Technotrend/Hauppauge USB-Nova
- 1006 Technotrend/Hauppauge DEC3000-s
- 1007 TT-micro plus Device
- 1008 Technotrend/Hauppauge DEC2000-t
- 1009 Technotrend/Hauppauge DEC2540-t
- 3001 DVB-S receiver
- 3002 DVB-C receiver
- 3003 DVB-T receiver
- 3004 TT TV-Stick
- 3005 TT TV-Stick (8kB EEPROM)
- 3006 TT-connect S-2400 DVB-S receiver
- 3007 TT-connect S2-3600
- 3008 TT-connect
- 3009 TT-connect S-2400 DVB-S receiver (8kB EEPROM)
- 300a TT-connect S2-3650 CI
- 300b TT-connect C-3650 CI
- 300c TT-connect T-3650 CI
- 300d TT-connect CT-3650 CI
- 300e TT-connect C-2400
-0b49 ASCII Corp.
- 064f Trance Vibrator
-0b4b Pine Corp. Ltd.
- 0100 D'music MP3 Player
-0b4d Graphtec America, Inc.
- 110a Graphtec CC200-20
-0b4e Musical Electronics, Ltd
- 6500 MP3 Player
- 8028 MP3 Player
- 8920 MP3 Player
-0b50 Dumpries Co., Ltd
-0b51 Comfort Keyboard Co.
- 0020 Comfort Keyboard
-0b52 Colorado MicroDisplay, Inc.
-0b54 Sinbon Electronics Co., Ltd
-0b56 TYI Systems, Ltd
-0b57 Beijing HanwangTechnology Co., Ltd
-0b59 Lake Communications, Ltd
-0b5a Corel Corp.
-0b5f Green Electronics Co., Ltd
-0b60 Nsine, Ltd
-0b61 NEC Viewtechnology, Ltd
-0b62 Orange Micro, Inc.
- 000b Bluetooth Device
- 0059 iBOT2 Webcam
-0b63 ADLink Technology, Inc.
-0b64 Wonderful Wire Cable Co., Ltd
-0b65 Expert Magnetics Corp.
-0b69 CacheVision
-0b6a Maxim Integrated Products
- a132 WUP-005 [Nintendo Wii U Pro Controller]
-0b6f Nagano Japan Radio Co., Ltd
-0b70 PortalPlayer, Inc.
- 00ba iRiver H10 20GB
-0b71 SHIN-EI Sangyo Co., Ltd
-0b72 Embedded Wireless Technology Co., Ltd
-0b73 Computone Corp.
-0b75 Roland DG Corp.
-0b79 Sunrise Telecom, Inc.
-0b7a Zeevo, Inc.
- 07d0 Bluetooth Dongle
-0b7b Taiko Denki Co., Ltd
-0b7c ITRAN Communications, Ltd
-0b7d Astrodesign, Inc.
-0b81 id3 Semiconductors
- 0001 Biothentic II smartcard reader with fingerprint sensor
- 0002 DFU-Enabled Devices (DFU)
- 0012 BioPAD biometric module (DFU + CDC)
- 0102 Certis V1 fingerprint reader
- 0103 Certis V2 fingerprint reader
- 0200 CL1356T / CL1356T5 / CL1356A smartcard readers (CCID)
- 0201 CL1356T / CL1356T5 / CL1356A smartcard readers (DFU + CCID)
- 0220 CL1356A FFPJP smartcard reader (CCID + HID)
- 0221 CL1356A smartcard reader (DFU + CCID + HID)
-0b84 Rextron Technology, Inc.
-0b85 Elkat Electronics, Sdn., Bhd.
-0b86 Exputer Systems, Inc.
- 5100 XMC5100 Zippy Drive
- 5110 XMC5110 Flash Drive
- 5200 XMC5200 Zippy Drive
- 5201 XMC5200 Zippy Drive
- 5202 XMC5200 Zippy Drive
- 5280 XMC5280 Storage Drive
- fff0 ISP5200 Debugger
-0b87 Plus-One I & T, Inc.
-0b88 Sigma Koki Co., Ltd, Technology Center
-0b89 Advanced Digital Broadcast, Ltd
-0b8c SMART Technologies Inc.
- 0001 Interactive Whiteboard Controller (SB6) (HID)
- 00c3 Sympodium ID350
-0b95 ASIX Electronics Corp.
- 1720 10/100 Ethernet
- 1780 AX88178
- 7720 AX88772
- 772a AX88772A Fast Ethernet
- 772b AX88772B
- 7e2b AX88772B
-0b96 Sewon Telecom
-0b97 O2 Micro, Inc.
- 7732 Smart Card Reader
- 7761 Oz776 1.1 Hub
- 7762 Oz776 SmartCard Reader
- 7772 OZ776 CCID Smartcard Reader
-0b98 Playmates Toys, Inc.
-0b99 Audio International, Inc.
-0b9b Dipl.-Ing. Stefan Kunde
- 4012 Reflex RC-controller Interface
-0b9d Softprotec Co.
-0b9f Chippo Technologies
-0baf U.S. Robotics
- 00e5 USR6000
- 00eb USR1120 802.11b Adapter
- 00ec 56K Faxmodem
- 00f1 SureConnect ADSL ATM Adapter
- 00f2 SureConnect ADSL Loader
- 00f5 SureConnect ADSL ATM Adapter
- 00f6 SureConnect ADSL Loader
- 00f7 SureConnect ADSL ATM Adapter
- 00f8 SureConnect ADSL Loader
- 00f9 SureConnect ADSL ATM Adapter
- 00fa SureConnect ADSL Loader
- 00fb SureConnect ADSL Ethernet/USB Router
- 0111 USR5420 802.11g Adapter [Broadcom 4320 USB]
- 0118 U5 802.11g Adapter
- 011b Wireless MAXg Adapter [Broadcom 4320]
- 0121 USR5423 802.11bg Wireless Adapter [ZyDAS ZD1211B]
- 6112 FaxModem Model 5633
-0bb0 Concord Camera Corp.
- 0100 Sound Vision Stream
- 5007 3340z/Rollei DC3100
-0bb1 Infinilink Corp.
-0bb2 Ambit Microsystems Corp.
- 0302 U10H010 802.11b Wireless Adapter [Intersil PRISM 3]
- 6098 USB Cable Modem
-0bb3 Ofuji Technology
-0bb4 HTC (High Tech Computer Corp.)
- 00ce mmO2 XDA GSM/GPRS Pocket PC
- 00cf SPV C500 Smart Phone
- 0a01 PocketPC Sync
- 0a02 Himalaya GSM/GPRS Pocket PC
- 0a03 PocketPC Sync
- 0a04 PocketPC Sync
- 0a05 PocketPC Sync
- 0a06 PocketPC Sync
- 0a07 Magician PocketPC SmartPhone / O2 XDA
- 0a08 PocketPC Sync
- 0a09 PocketPC Sync
- 0a0a PocketPC Sync
- 0a0b PocketPC Sync
- 0a0c PocketPC Sync
- 0a0d PocketPC Sync
- 0a0e PocketPC Sync
- 0a0f PocketPC Sync
- 0a10 PocketPC Sync
- 0a11 PocketPC Sync
- 0a12 PocketPC Sync
- 0a13 PocketPC Sync
- 0a14 PocketPC Sync
- 0a15 PocketPC Sync
- 0a16 PocketPC Sync
- 0a17 PocketPC Sync
- 0a18 PocketPC Sync
- 0a19 PocketPC Sync
- 0a1a PocketPC Sync
- 0a1b PocketPC Sync
- 0a1c PocketPC Sync
- 0a1d PocketPC Sync
- 0a1e PocketPC Sync
- 0a1f PocketPC Sync
- 0a20 PocketPC Sync
- 0a21 PocketPC Sync
- 0a22 PocketPC Sync
- 0a23 PocketPC Sync
- 0a24 PocketPC Sync
- 0a25 PocketPC Sync
- 0a26 PocketPC Sync
- 0a27 PocketPC Sync
- 0a28 PocketPC Sync
- 0a29 PocketPC Sync
- 0a2a PocketPC Sync
- 0a2b PocketPC Sync
- 0a2c PocketPC Sync
- 0a2d PocketPC Sync
- 0a2e PocketPC Sync
- 0a2f PocketPC Sync
- 0a30 PocketPC Sync
- 0a31 PocketPC Sync
- 0a32 PocketPC Sync
- 0a33 PocketPC Sync
- 0a34 PocketPC Sync
- 0a35 PocketPC Sync
- 0a36 PocketPC Sync
- 0a37 PocketPC Sync
- 0a38 PocketPC Sync
- 0a39 PocketPC Sync
- 0a3a PocketPC Sync
- 0a3b PocketPC Sync
- 0a3c PocketPC Sync
- 0a3d PocketPC Sync
- 0a3e PocketPC Sync
- 0a3f PocketPC Sync
- 0a40 PocketPC Sync
- 0a41 PocketPC Sync
- 0a42 PocketPC Sync
- 0a43 PocketPC Sync
- 0a44 PocketPC Sync
- 0a45 PocketPC Sync
- 0a46 PocketPC Sync
- 0a47 PocketPC Sync
- 0a48 PocketPC Sync
- 0a49 PocketPC Sync
- 0a4a PocketPC Sync
- 0a4b PocketPC Sync
- 0a4c PocketPC Sync
- 0a4d PocketPC Sync
- 0a4e PocketPC Sync
- 0a4f PocketPC Sync
- 0a50 HTC SmartPhone Sync
- 0a51 SPV C400 / T-Mobile SDA GSM/GPRS Pocket PC
- 0a52 SmartPhone Sync
- 0a53 SmartPhone Sync
- 0a54 SmartPhone Sync
- 0a55 SmartPhone Sync
- 0a56 SmartPhone Sync
- 0a57 SmartPhone Sync
- 0a58 SmartPhone Sync
- 0a59 SmartPhone Sync
- 0a5a SmartPhone Sync
- 0a5b SmartPhone Sync
- 0a5c SmartPhone Sync
- 0a5d SmartPhone Sync
- 0a5e SmartPhone Sync
- 0a5f SmartPhone Sync
- 0a60 SmartPhone Sync
- 0a61 SmartPhone Sync
- 0a62 SmartPhone Sync
- 0a63 SmartPhone Sync
- 0a64 SmartPhone Sync
- 0a65 SmartPhone Sync
- 0a66 SmartPhone Sync
- 0a67 SmartPhone Sync
- 0a68 SmartPhone Sync
- 0a69 SmartPhone Sync
- 0a6a SmartPhone Sync
- 0a6b SmartPhone Sync
- 0a6c SmartPhone Sync
- 0a6d SmartPhone Sync
- 0a6e SmartPhone Sync
- 0a6f SmartPhone Sync
- 0a70 SmartPhone Sync
- 0a71 SmartPhone Sync
- 0a72 SmartPhone Sync
- 0a73 SmartPhone Sync
- 0a74 SmartPhone Sync
- 0a75 SmartPhone Sync
- 0a76 SmartPhone Sync
- 0a77 SmartPhone Sync
- 0a78 SmartPhone Sync
- 0a79 SmartPhone Sync
- 0a7a SmartPhone Sync
- 0a7b SmartPhone Sync
- 0a7c SmartPhone Sync
- 0a7d SmartPhone Sync
- 0a7e SmartPhone Sync
- 0a7f SmartPhone Sync
- 0a80 SmartPhone Sync
- 0a81 SmartPhone Sync
- 0a82 SmartPhone Sync
- 0a83 SmartPhone Sync
- 0a84 SmartPhone Sync
- 0a85 SmartPhone Sync
- 0a86 SmartPhone Sync
- 0a87 SmartPhone Sync
- 0a88 SmartPhone Sync
- 0a89 SmartPhone Sync
- 0a8a SmartPhone Sync
- 0a8b SmartPhone Sync
- 0a8c SmartPhone Sync
- 0a8d SmartPhone Sync
- 0a8e SmartPhone Sync
- 0a8f SmartPhone Sync
- 0a90 SmartPhone Sync
- 0a91 SmartPhone Sync
- 0a92 SmartPhone Sync
- 0a93 SmartPhone Sync
- 0a94 SmartPhone Sync
- 0a95 SmartPhone Sync
- 0a96 SmartPhone Sync
- 0a97 SmartPhone Sync
- 0a98 SmartPhone Sync
- 0a99 SmartPhone Sync
- 0a9a SmartPhone Sync
- 0a9b SmartPhone Sync
- 0a9c SmartPhone Sync
- 0a9d SmartPhone Sync
- 0a9e SmartPhone Sync
- 0a9f SmartPhone Sync
- 0b03 Ozone Mobile Broadband
- 0b04 Hermes / TyTN / T-Mobile MDA Vario II / O2 Xda Trion
- 0b05 P3600
- 0b06 Athena / Advantage x7500 / Dopod U1000 / T-Mobile AMEO
- 0b0c Elf / Touch / P3450 / T-Mobile MDA Touch / O2 Xda Nova / Dopod S1
- 0b1f Sony Ericsson XPERIA X1
- 0b2f Rhodium
- 0b51 Qtek 8310 mobile phone [Tornado Noble]
- 0bce Vario MDA
- 0c01 Dream / ADP1 / G1 / Magic / Tattoo
- 0c02 Dream / ADP1 / G1 / Magic / Tattoo (Debug)
- 0c13 Diamond
- 0c1f Sony Ericsson XPERIA X1
- 0c5f Snap
- 0c86 Sensation
- 0c87 Desire (debug)
- 0c8d EVO 4G (debug)
- 0c91 Vision
- 0c94 Vision
- 0c97 Legend
- 0c99 Desire (debug)
- 0c9e Incredible
- 0ca2 Desire HD (debug mode)
- 0ca5 Android Phone [Evo Shift 4G]
- 0ff8 Desire HD (Tethering Mode)
- 0ff9 Desire / Desire HD / Hero / Thunderbolt (Charge Mode)
- 0ffe Desire HD (modem mode)
- 0fff Android Fastboot Bootloader
-0bb5 Murata Manufacturing Co., Ltd
-0bb6 Network Alchemy
-0bb7 Joytech Computer Co., Ltd
-0bb8 Hitachi Semiconductor and Devices Sales Co., Ltd
-0bb9 Eiger M&C Co., Ltd
-0bba ZAccess Systems
-0bbb General Meters Corp.
-0bbc Assistive Technology, Inc.
-0bbd System Connection, Inc.
-0bc0 Knilink Technology, Inc.
-0bc1 Fuw Yng Electronics Co., Ltd
-0bc2 Seagate RSS LLC
- 0502 ST3300601CB-RK 300 GB External Hard Drive
- 0503 ST3250824A [Barracuda 7200.9]
- 2000 Storage Adapter V3 (TPP)
- 2200 FreeAgent Go FW
- 2300 Expansion Portable
- 2320 USB 3.0 bridge [Portable Expansion Drive]
- 3320 SRD00F2 [Expansion Desktop Drive]
- 3332 Expansion
- 5021 FreeAgent GoFlex USB 2.0
- 5031 FreeAgent GoFlex USB 3.0
- 50a1 FreeAgent GoFlex Desk
- 50a5 FreeAgent GoFlex Desk USB 3.0
- 5121 FreeAgent GoFlex
- 5161 FreeAgent GoFlex dock
- a003 Backup Plus
-0bc3 IPWireless, Inc.
- 0001 UMTS-TDD (TD-CDMA) modem
-0bc4 Microcube Corp.
-0bc5 JCN Co., Ltd
-0bc6 ExWAY, Inc.
-0bc7 X10 Wireless Technology, Inc.
- 0001 ActiveHome (ACPI-compliant)
- 0002 Firecracker Interface (ACPI-compliant)
- 0003 VGA Video Sender (ACPI-compliant)
- 0004 X10 Receiver
- 0005 Wireless Transceiver (ACPI-compliant)
- 0006 Wireless Transceiver (ACPI-compliant)
- 0007 Wireless Transceiver (ACPI-compliant)
- 0008 Wireless Transceiver (ACPI-compliant)
- 0009 Wireless Transceiver (ACPI-compliant)
- 000a Wireless Transceiver (ACPI-compliant)
- 000b Transceiver (ACPI-compliant)
- 000c Transceiver (ACPI-compliant)
- 000d Transceiver (ACPI-compliant)
- 000e Transceiver (ACPI-compliant)
- 000f Transceiver (ACPI-compliant)
-0bc8 Telmax Communications
-0bc9 ECI Telecom, Ltd
-0bca Startek Engineering, Inc.
-0bcb Perfect Technic Enterprise Co., Ltd
-0bd7 Andrew Pargeter & Associates
- a021 Amptek DP4 multichannel signal analyzer
-0bda Realtek Semiconductor Corp.
- 0103 USB 2.0 Card Reader
- 0104 Mass Storage Device
- 0106 Mass Storage Device
- 0107 Mass Storage Device
- 0108 Mass Storage Device
- 0111 RTS5111 Card Reader Controller
- 0113 Mass Storage Device
- 0115 Mass Storage Device (Multicard Reader)
- 0116 RTS5116 Card Reader Controller
- 0117 Mass Storage Device
- 0118 Mass Storage Device
- 0119 Storage Device (SD card reader)
- 0129 RTS5129 Card Reader Controller
- 0138 RTS5138 Card Reader Controller
- 0139 RTS5139 Card Reader Controller
- 0151 Mass Storage Device (Multicard Reader)
- 0152 Mass Storage Device
- 0153 Mass Storage Device
- 0156 Mass Storage Device
- 0157 Mass Storage Device
- 0158 USB 2.0 multicard reader
- 0159 RTS5159 Card Reader Controller
- 0161 Mass Storage Device
- 0168 Mass Storage Device
- 0169 Mass Storage Device
- 0171 Mass Storage Device
- 0176 Mass Storage Device
- 0178 Mass Storage Device
- 0184 RTS5182 Card Reader
- 0186 Card Reader
- 2831 RTL2831U DVB-T
- 2832 RTL2832U DVB-T
- 2838 RTL2838 DVB-T
- 8150 RTL8150 Fast Ethernet Adapter
- 8151 RTL8151 Adapteon Business Mobile Networks BV
- 8171 RTL8188SU 802.11n WLAN Adapter
- 8172 RTL8191SU 802.11n WLAN Adapter
- 8174 RTL8192SU 802.11n WLAN Adapter
- 8176 RTL8188CUS 802.11n WLAN Adapter
- 8178 RTL8192CU 802.11n WLAN Adapter
- 817f RTL8188RU 802.11n WLAN Adapter
- 8187 RTL8187 Wireless Adapter
- 8189 RTL8187B Wireless 802.11g 54Mbps Network Adapter
- 8192 RTL8191SU 802.11n Wireless Adapter
- 8193 RTL8192DU 802.11an WLAN Adapter
- 8197 RTL8187B Wireless Adapter
- 8198 RTL8187B Wireless Adapter
- 8199 RTL8187SU 802.11g WLAN Adapter
-0bdb Ericsson Business Mobile Networks BV
- 1000 BV Bluetooth Device
- 1002 Bluetooth Device 1.2
- 1049 C3607w Mobile Broadband Module
- 1900 F3507g Mobile Broadband Module
- 1902 F3507g v2 Mobile Broadband Module
- 1904 F3607gw Mobile Broadband Module
- 1905 F3607gw v2 Mobile Broadband Module
- 1906 F3607gw v3 Mobile Broadband Module
- 1909 F3307 v2 Mobile Broadband Module
- 190a F3307 Mobile Broadband Module
- 190b C3607w v2 Mobile Broadband Module
-0bdc Y Media Corp.
-0bdd Orange PCS
-0be2 Kanda Tsushin Kogyo Co., Ltd
-0be3 TOYO Corp.
-0be4 Elka International, Ltd
-0be5 DOME imaging systems, Inc.
-0be6 Dong Guan Humen Wonderful Wire Cable Factory
-0bed MEI
- 1100 CASHFLOW SC
- 1101 Series 2000 Combo Acceptor
-0bee LTK Industries, Ltd
-0bef Way2Call Communications
-0bf0 Pace Micro Technology PLC
-0bf1 Intracom S.A.
- 0001 netMod Driver Ver 2.4.17 (CAPI)
- 0002 netMod Driver Ver 2.4 (CAPI)
- 0003 netMod Driver Ver 2.4 (CAPI)
-0bf2 Konexx
-0bf6 Addonics Technologies, Inc.
- 0103 Storage Device
- 1234 Storage Device
- a000 Cable 205 (TPP)
- a001 Cable 205
- a002 IDE Bridge
-0bf7 Sunny Giken, Inc.
-0bf8 Fujitsu Siemens Computers
- 1001 Fujitsu Pocket Loox 600 PDA
- 1006 SmartCard Reader 2A
- 1007 Connect2Air E-5400 802.11g Wireless Adapter
- 1009 Connect2Air E-5400 D1700 802.11g Wireless Adapter [Intersil ISL3887]
- 100c Keyboard FSC KBPC PX
- 100f miniCard D2301 802.11bg Wireless Module [SiS 163U]
-0bfd Kvaser AB
- 0004 USBcan II
- 000b Leaf Light HS
- 000e Leaf SemiPro HS
-0c04 MOTO Development Group, Inc.
-0c05 Appian Graphics
-0c06 Hasbro Games, Inc.
-0c07 Infinite Data Storage, Ltd
-0c08 Agate
- 0378 Q 16MB Storage Device
-0c09 Comjet Information System
- a5a5 Litto Version USB2.0
-0c0a Highpoint Technologies, Inc.
-0c0b Dura Micro, Inc. (Acomdata)
- 27cb 6-in-1 Flash Reader and Writer
- 27d7 Multi Memory reader/writer MD-005
- 27da Multi Memory reader/writer MD-005
- 27dc Multi Memory reader/writer MD-005
- 27e7 3,5'' HDD case MD-231
- 27ee 3,5'' HDD case MD-231
- 2814 3,5'' HDD case MD-231
- 2815 3,5'' HDD case MD-231
- 281d 3,5'' HDD case MD-231
- 5fab Storage Adaptor
- a109 CF/SM Reader and Writer
- a10c SD/MS Reader and Writer
- b001 USB 2.0 Mass Storage IDE adapter
- b004 MMC/SD Reader and Writer
-0c12 Zeroplus
- 0005 PSX Vibration Feedback Converter
- 0030 PSX Vibration Feedback Converter
- 700e Logic Analyzer (LAP-C-16032)
- 8801 Xbox Controller
- 8802 Xbox Controller
- 8809 Red Octane Ignition Xbox DDR Pad
- 880a Pelican Eclipse PL-2023
- 8810 Xbox Controller
- 9902 VibraX
-0c15 Iris Graphics
-0c16 Gyration, Inc.
- 0002 RF Technology Receiver
- 0003 RF Technology Receiver
- 0008 RF Technology Receiver
- 0080 eHome Infrared Receiver
- 0081 eHome Infrared Receiver
-0c17 Cyberboard A/S
-0c18 SynerTek Korea, Inc.
-0c19 cyberPIXIE, Inc.
-0c1a Silicon Motion, Inc.
-0c1b MIPS Technologies
-0c1c Hang Zhou Silan Electronics Co., Ltd
-0c22 Tally Printer Corp.
-0c23 Lernout + Hauspie
-0c24 Taiyo Yuden
- 0001 Bluetooth Adaptor
- 0002 Bluetooth Device2
- 0005 Bluetooth Device(BC04-External)
- 000b Bluetooth Device(BC04-External)
- 000c Bluetooth Adaptor
- 000e Bluetooth Device(BC04-External)
- 000f Bluetooth Device (V2.0+EDR)
- 0010 Bluetooth Device(BC04-External)
- 0012 Bluetooth Device(BC04-External)
- 0018 Bluetooth Device(BC04-External)
- 0019 Bluetooth Device
- 0021 Bluetooth Device
- 0c24 Bluetooth Device(SAMPLE)
- ffff Bluetooth module with BlueCore in DFU mode
-0c25 Sampo Corp.
- 0310 Scream Cam
-0c26 Prolific Technology Inc.
- 0018 USB-Serial Controller [Icom Inc. OPC-478UC]
-0c27 RFIDeas, Inc
- 3bfa pcProx Card Reader
-0c2e Metrologic Instruments
- 0007 Metrologic MS7120 Barcode Scanner (IBM SurePOS mode)
- 0200 Metrologic Scanner
- 0204 Metrologic MS7120 Barcode Scanner (keyboard mode)
- 0206 Metrologic MS4980 Barcode Scanner
- 0700 Metrologic MS7120 Barcode Scanner (uni-directional serial mode)
- 0720 Metrologic MS7120 Barcode Scanner (bi-directional serial mode)
- 0b61 Vuquest 3310g
- 0b6a Vuquest 3310 Area-Imaging Scanner
-0c35 Eagletron, Inc.
-0c36 E Ink Corp.
-0c37 e.Digital
-0c38 Der An Electric Wire & Cable Co., Ltd
-0c39 IFR
-0c3a Furui Precise Component (Kunshan) Co., Ltd
-0c3b Komatsu, Ltd
-0c3c Radius Co., Ltd
-0c3d Innocom, Inc.
-0c3e Nextcell, Inc.
-0c44 Motorola iDEN
- 0021 iDEN P2k0 Device
- 0022 iDEN P2k1 Device
- 03a2 iDEN Smartphone
- 41d9 i1 phone
-0c45 Microdia
- 0011 EBUDDY
- 1018 Compact Flash storage memory card reader
- 1020 Mass Storage Reader
- 1028 Mass Storage Reader
- 1030 Mass Storage Reader
- 1031 Sonix Mass Storage Device
- 1032 Mass Storage Reader
- 1033 Sonix Mass Storage Device
- 1034 Mass Storage Reader
- 1035 Mass Storage Reader
- 1036 Mass Storage Reader
- 1037 Sonix Mass Storage Device
- 1050 CF Card Reader
- 1058 HDD Reader
- 1060 iFlash SM-Direct Card Reader
- 1061 Mass Storage Reader
- 1062 Mass Storage Reader
- 1063 Sonix Mass Storage Device
- 1064 Mass Storage Reader
- 1065 Mass Storage Reader
- 1066 Mass Storage Reader
- 1067 Mass Storage Reader
- 1158 A56AK
- 184c VoIP Phone
- 6001 Genius VideoCAM NB
- 6005 Sweex Mini Webcam
- 6007 VideoCAM Eye
- 6009 VideoCAM ExpressII
- 600d TwinkleCam USB camera
- 6011 PC Camera (SN9C102)
- 6019 PC Camera (SN9C102)
- 6024 VideoCAM ExpressII
- 6025 VideoCAM ExpressII
- 6028 Typhoon Easycam USB 330K (older)
- 6029 Triplex i-mini PC Camera
- 602a Meade ETX-105EC Camera
- 602b VideoCAM NB 300
- 602c Clas Ohlson TWC-30XOP Webcam
- 602d VideoCAM ExpressII
- 602e VideoCAM Messenger
- 6030 VideoCAM ExpressII
- 603f VideoCAM ExpressII
- 6040 CCD PC Camera (PC390A)
- 606a CCD PC Camera (PC390A)
- 607a CCD PC Camera (PC390A)
- 607b Win2 PC Camera
- 607c CCD PC Camera (PC390A)
- 607e CCD PC Camera (PC390A)
- 6080 Audio (Microphone)
- 6082 VideoCAM Look
- 6083 VideoCAM Look
- 608c VideoCAM Look
- 608e VideoCAM Look
- 608f PC Camera (SN9C103 + OV7630)
- 60a8 VideoCAM Look
- 60aa VideoCAM Look
- 60ab PC Camera
- 60af VideoCAM Look
- 60b0 Genius VideoCam Look
- 60c0 PC Camera with Mic (SN9C105)
- 60c8 Win2 PC Camera
- 60cc PC Camera with Mic (SN9C105)
- 60ec PC Camera with Mic (SN9C105)
- 60ef Win2 PC Camera
- 60fa PC Camera with Mic (SN9C105)
- 60fb Composite Device
- 60fc PC Camera with Mic (SN9C105)
- 60fe Audio (Microphone)
- 6108 Win2 PC Camera
- 6122 PC Camera (SN9C110)
- 6123 PC Camera (SN9C110)
- 6128 PC Camera (SN9C325 + OM6802)
- 612a PC Camera (SN9C325)
- 612c PC Camera (SN9C110)
- 612e PC Camera (SN9C110)
- 612f PC Camera (SN9C110)
- 6130 PC Camera (SN9C120)
- 6138 Win2 PC Camera
- 613a PC Camera (SN9C120)
- 613b Win2 PC Camera
- 613c PC Camera (SN9C120)
- 613e PC Camera (SN9C120)
- 6143 PC Camera (SN9C120 + SP80708)
- 6240 PC Camera (SN9C201 + MI1300)
- 6242 PC Camera (SN9C201 + MI1310)
- 6243 PC Camera (SN9C201 + S5K4AAFX)
- 6248 PC Camera (SN9C201 + OV9655)
- 624b PC Camera (SN9C201 + CX1332)
- 624c PC Camera (SN9C201 + MI1320)
- 624e PC Camera (SN9C201 + SOI968)
- 624f PC Camera (SN9C201 + OV9650)
- 6251 PC Camera (SN9C201 + OV9650)
- 6253 PC Camera (SN9C201 + OV9650)
- 6260 PC Camera (SN9C201 + OV7670ISP)
- 6262 PC Camera (SN9C201 + OM6802)
- 6270 PC Camera (SN9C201 + MI0360/MT9V011 or MI0360SOC/MT9V111) U-CAM PC Camera NE878, Whitcom WHC017, ...
- 627a PC Camera (SN9C201 + S5K53BEB)
- 627b PC Camera (SN9C201 + OV7660)
- 627c PC Camera (SN9C201 + HV7131R)
- 627f PC Camera (SN9C201 + OV965x + EEPROM)
- 6280 PC Camera with Microphone (SN9C202 + MI1300)
- 6282 PC Camera with Microphone (SN9C202 + MI1310)
- 6283 PC Camera with Microphone (SN9C202 + S5K4AAFX)
- 6288 PC Camera with Microphone (SN9C202 + OV9655)
- 628a PC Camera with Microphone (SN9C202 + ICM107)
- 628b PC Camera with Microphone (SN9C202 + CX1332)
- 628c PC Camera with Microphone (SN9C202 + MI1320)
- 628e PC Camera with Microphone (SN9C202 + SOI968)
- 628f PC Camera with Microphone (SN9C202 + OV9650)
- 62a0 PC Camera with Microphone (SN9C202 + OV7670ISP)
- 62a2 PC Camera with Microphone (SN9C202 + OM6802)
- 62b0 PC Camera with Microphone (SN9C202 + MI0360/MT9V011 or MI0360SOC/MT9V111)
- 62b3 PC Camera with Microphone (SN9C202 + OV9655)
- 62ba PC Camera with Microphone (SN9C202 + S5K53BEB)
- 62bb PC Camera with Microphone (SN9C202 + OV7660)
- 62bc PC Camera with Microphone (SN9C202 + HV7131R)
- 62be PC Camera with Microphone (SN9C202 + OV7663)
- 62c0 Sonix USB 2.0 Camera
- 62e0 MSI Starcam Racer
- 6310 Sonix USB 2.0 Camera
- 63e0 Sonix Integrated Webcam
- 63f1 Integrated Webcam
- 63f8 Sonix Integrated Webcam
- 6409 Webcam
- 6413 Integrated Webcam
- 6417 Integrated Webcam
- 641d 1.3 MPixel Integrated Webcam
- 6480 Sonix 1.3 MP Laptop Integrated Webcam
- 648b Integrated Webcam
- 64bd Sony Visual Communication Camera
- 7402 TEMPerHUM Temperature & Humidity Sensor
- 7403 Foot Switch
- 8000 DC31VC
- 8006 Dual Mode Camera (8006 VGA)
- 800a Vivitar Vivicam3350B
-0c46 WaveRider Communications, Inc.
-0c4a ALGE-TIMING GmbH
- 0889 Timy
- 088a Timy 2
-0c4b Reiner SCT Kartensysteme GmbH
- 0100 cyberJack e-com/pinpad
- 0300 cyberJack pinpad(a)
- 0501 cyberJack RFID comfort dual interface smartcard reader
- 9102 cyberJack RFID basis contactless smartcard reader
-0c4c Needham's Electronics
- 0021 EMP-21 Universal Programmer
-0c52 Sealevel Systems, Inc.
- 2101 SeaLINK+232
- 2102 SeaLINK+485
- 2103 SeaLINK+232I
- 2104 SeaLINK+485I
- 2211 SeaPORT+2/232 (Port 1)
- 2212 SeaPORT+2/485 (Port 1)
- 2213 SeaPORT+2 (Port 1)
- 2221 SeaPORT+2/232 (Port 2)
- 2222 SeaPORT+2/485 (Port 2)
- 2223 SeaPORT+2 (Port 2)
- 2411 SeaPORT+4/232 (Port 1)
- 2412 SeaPORT+4/485 (Port 1)
- 2413 SeaPORT+4 (Port 1)
- 2421 SeaPORT+4/232 (Port 2)
- 2422 SeaPORT+4/485 (Port 2)
- 2423 SeaPORT+4 (Port 2)
- 2431 SeaPORT+4/232 (Port 3)
- 2432 SeaPORT+4/485 (Port 3)
- 2433 SeaPORT+4 (Port 3)
- 2441 SeaPORT+4/232 (Port 4)
- 2442 SeaPORT+4/485 (Port 4)
- 2443 SeaPORT+4 (Port 4)
- 2811 SeaLINK+8/232 (Port 1)
- 2812 SeaLINK+8/485 (Port 1)
- 2813 SeaLINK+8 (Port 1)
- 2821 SeaLINK+8/232 (Port 2)
- 2822 SeaLINK+8/485 (Port 2)
- 2823 SeaLINK+8 (Port 2)
- 2831 SeaLINK+8/232 (Port 3)
- 2832 SeaLINK+8/485 (Port 3)
- 2833 SeaLINK+8 (Port 3)
- 2841 SeaLINK+8/232 (Port 4)
- 2842 SeaLINK+8/485 (Port 4)
- 2843 SeaLINK+8 (Port 4)
- 2851 SeaLINK+8/232 (Port 5)
- 2852 SeaLINK+8/485 (Port 5)
- 2853 SeaLINK+8 (Port 5)
- 2861 SeaLINK+8/232 (Port 6)
- 2862 SeaLINK+8/485 (Port 6)
- 2863 SeaLINK+8 (Port 6)
- 2871 SeaLINK+8/232 (Port 7)
- 2872 SeaLINK+8/485 (Port 7)
- 2873 SeaLINK+8 (Port 7)
- 2881 SeaLINK+8/232 (Port 8)
- 2882 SeaLINK+8/485 (Port 8)
- 2883 SeaLINK+8 (Port 8)
- 9020 SeaLINK+422
- a02a SeaLINK+8 (Port 1+2)
- a02b SeaLINK+8 (Port 3+4)
- a02c SeaLINK+8 (Port 5+6)
- a02d SeaLINK+8 (Port 7+8)
-0c53 ViewPLUS, Inc.
-0c54 Glory, Ltd
-0c55 Spectrum Digital, Inc.
- 0510 Spectrum Digital XDS510 JTAG Debugger
- 0540 SPI540
- 5416 TMS320C5416 DSK
- 6416 TMS320C6416 DDB
-0c56 Billion Bright, Ltd
-0c57 Imaginative Design Operation Co., Ltd
-0c58 Vidar Systems Corp.
-0c59 Dong Guan Shinko Wire Co., Ltd
-0c5a TRS International Mfg., Inc.
-0c5e Xytronix Research & Design
-0c60 Apogee Electronics Corp.
-0c62 Chant Sincere Co., Ltd
-0c63 Toko, Inc.
-0c64 Signality System Engineering Co., Ltd
-0c65 Eminence Enterprise Co., Ltd
-0c66 Rexon Electronics Corp.
-0c67 Concept Telecom, Ltd
-0c6a ACS
- 0005 Color 320 x 240 LCD Display Terminal with Touchscreen
-0c6c JETI Technische Instrumente GmbH
- 04b2 Specbos 1201
-0c70 MCT Elektronikladen
- 0000 USB08 Development board
- 0747 Eye Movement Recorder [Visagraph]/[ReadAlyzer]
-0c72 PEAK System
- 000c PCAN-USB
- 000d PCAN Pro
-0c74 Optronic Laboratories Inc.
- 0002 OL 700-30 Goniometer
-0c76 JMTek, LLC.
- 0001 Mass Storage Controller
- 0002 Mass Storage Controller
- 0003 USBdisk
- 0004 Mass Storage Controller
- 0005 Transcend Flash disk
- 0006 Transcend JetFlash
- 0007 Mass Storage Device
- 1600 Ion Quick Play LP turntable
- 1605 SSS Headphone Set
- 1607 audio controller
-0c77 Sipix Group, Ltd
- 1001 SiPix Web2
- 1002 SiPix SC2100
- 1010 SiPix Snap
- 1011 SiPix Blink 2
- 1015 SiPix CAMeleon
-0c78 Detto Corp.
-0c79 NuConnex Technologies Pte., Ltd
-0c7a Wing-Span Enterprise Co., Ltd
-0c86 NDA Technologies, Inc.
-0c88 Kyocera Wireless Corp.
- 0021 Handheld
- 17da Qualcomm Kyocera CDMA Technologies MSM
-0c89 Honda Tsushin Kogyo Co., Ltd
-0c8a Pathway Connectivity, Inc.
-0c8b Wavefly Corp.
-0c8c Coactive Networks
-0c8d Tempo
-0c8e Cesscom Co., Ltd
- 6000 Luxian Series
-0c8f Applied Microsystems
-0c94 Cryptera
- a000 EPP 1217
-0c98 Berkshire Products, Inc.
- 1140 USB PC Watchdog
-0c99 Innochips Co., Ltd
-0c9a Hanwool Robotics Corp.
-0c9b Jobin Yvon, Inc.
-0c9d SemTek
- 0170 3873 Manual Insert card reader
-0ca2 Zyfer
-0ca3 Sega Corp.
-0ca4 ST&T Instrument Corp.
-0ca5 BAE Systems Canada, Inc.
-0ca6 Castles Technology Co., Ltd
- 0010 EZUSB PC/SC Smart Card Reader
- 0050 EZ220PU Reader Controller
- 1077 Bludrive Family Smart Card Reader
- 107e Reader Controller
- 2010 myPad110 PC/SC Smart Card Reader
- 3050 EZ710 Smart Card Reader
-0ca7 Information Systems Laboratories
-0cad Motorola CGISS
- 9001 PowerPad Pocket PC Device
-0cae Ascom Business Systems, Ltd
-0caf Buslink
- 2507 Hi-Speed USB-to-IDE Bridge Controller
- 2515 Flash Disk Embedded Hub
- 2516 Flash Disk Security Device
- 2517 Flash Disk Mass Storage Device
- 25c7 Hi-Speed USB-to-IDE Bridge Controller
- 3a00 Hard Drive
- 3a20 Mass Storage Device
- 3acd Mass Storage Device
-0cb0 Flying Pig Systems
-0cb1 Innovonics, Inc.
-0cb6 Celestix Networks, Pte., Ltd
-0cb7 Singatron Enterprise Co., Ltd
-0cb8 Opticis Co., Ltd
-0cba Trust Electronic (Shanghai) Co., Ltd
-0cbb Shanghai Darong Electronics Co., Ltd
-0cbc Palmax Technology Co., Ltd
- 0101 Pocket PC P6C
- 0201 Personal Digital Assistant
- 0301 Personal Digital Assistant P6M+
- 0401 Pocket PC
-0cbd Pentel Co., Ltd (Electronics Equipment Div.)
-0cbe Keryx Technologies, Inc.
-0cbf Union Genius Computer Co., Ltd
-0cc0 Kuon Yi Industrial Corp.
-0cc1 Given Imaging, Ltd
-0cc2 Timex Corp.
-0cc3 Rimage Corp.
-0cc4 emsys GmbH
-0cc5 Sendo
-0cc6 Intermagic Corp.
-0cc7 Kontron Medical AG
-0cc8 Technotools Corp.
-0cc9 BroadMAX Technologies, Inc.
-0cca Amphenol
-0ccb SKNet Co., Ltd
-0ccc Domex Technology Corp.
-0ccd TerraTec Electronic GmbH
- 0012 PHASE 26
- 0013 PHASE 26
- 0014 PHASE 26
- 0015 Flash Update for TerraTec PHASE 26
- 0021 Cameo Grabster 200
- 0023 Mystify Claw
- 0028 Aureon 5.1 MkII
- 0032 MIDI HUBBLE
- 0035 Miditech Play'n Roll
- 0036 Cinergy 250 Audio
- 0037 Cinergy 250 Audio
- 0038 Cinergy T² DVB-T Receiver
- 0039 Grabster AV 400
- 003b Cinergy 400
- 003c Grabster AV 250
- 0042 Cinergy Hybrid T XS
- 0043 Cinergy T XS
- 004e Cinergy T XS
- 004f Cinergy Analog XS
- 0055 Cinergy T XE (Version 1, AF9005)
- 005c Cinergy T²
- 0069 Cinergy T XE (Version 2, AF9015)
- 006b Cinergy HT PVR (EU)
- 0072 Cinergy Hybrid T
- 0077 Aureon Dual USB
- 0078 Cinergy T XXS
- 0086 Cinergy Hybrid XE
- 008e Cinergy HTC XS
- 0097 Cinergy T RC MKII
- 0099 AfaTech 9015 [Cinergy T Stick Dual]
- 00a5 Cinergy Hybrid Stick
- 00a9 RTL2838 DVB-T COFDM Demodulator [TerraTec Cinergy T Stick Black]
- 00b3 NOXON DAB/DAB+ Stick
- 10a7 TerraTec G3
-0cd4 Bang Olufsen
- 0101 BeolinkPC2
-0cd5 LabJack Corporation
- 0003 U3
- 0009 UE9
-0cd7 NewChip S.r.l.
-0cd8 JS Digitech, Inc.
- 2007 Smart Card Reader/JSTU-9700
-0cd9 Hitachi Shin Din Cable, Ltd
-0cde Z-Com
- 0001 XI-750 802.11b Wireless Adapter [Atmel AT76C503A]
- 0002 XI-725/726 Prism2.5 802.11b Adapter
- 0003 Sagem 802.11b Dongle
- 0004 Sagem 802.11b Dongle
- 0005 XI-735 Prism3 802.11b Adapter
- 0006 XG-300 802.11b Adapter
- 0008 XG-703A 802.11g Wireless Adapter [Intersil ISL3887]
- 0009 (ZD1211)IEEE 802.11b+g Adapter
- 0011 ZD1211
- 0012 AR5523
- 0013 AR5523 driver (no firmware)
- 0014 NB 802.11g Wireless LAN Adapter(3887A)
- 0015 XG-705A 802.11g Wireless Adapter [Intersil ISL3887]
- 0016 NB 802.11g Wireless LAN Adapter(3887A)
- 0018 NB 802.11a/b/g Wireless LAN Adapter(3887A)
- 001a 802.11bg
- 001c 802.11b/g Wireless Network Adapter
- 0020 AG-760A 802.11abg Wireless Adapter [ZyDAS ZD1211B]
- 0022 802.11b/g/n Wireless Network Adapter
- 0023 UB81 802.11bgn
- 0025 802.11b/g/n USB Wireless Network Adapter
- 0026 UB82 802.11abgn
- 0027 Sphairon Homelink 1202 802.11n Wireless Adapter [Atheros AR9170]
-0ce5 Validation Technologies International
- 0003 Matrix
-0ce9 pico Technology
- 1001 PicoScope3000 series PC Oscilloscope
-0cf1 e-Conn Electronic Co., Ltd
-0cf2 ENE Technology, Inc.
- 6220 SD Card Reader (SG361)
- 6225 SD card reader (UB6225)
- 6250 SD card reader (UB6250)
-0cf3 Atheros Communications, Inc.
- 0001 AR5523
- 0002 AR5523 (no firmware)
- 0003 AR5523
- 0004 AR5523 (no firmware)
- 0005 AR5523
- 0006 AR5523 (no firmware)
- 1001 Thomson TG121N [Atheros AR9001U-(2)NG]
- 1002 TP-Link TL-WN821N v2 802.11n [Atheros AR9170]
- 1006 TP-Link TL-WN322G v3 / TL-WN422G v2 802.11g [Atheros AR9271]
- 1010 3Com 3CRUSBN275 802.11abgn Wireless Adapter [Atheros AR9170]
- 20ff AR7010 (no firmware)
- 3000 AR3011 Bluetooth (no firmware)
- 3002 AR3011 Bluetooth
- 3005 AR3011 Bluetooth
- 3008 Bluetooth (AR3011)
- 7015 TP-Link TL-WN821N v3 802.11n [Atheros AR7010+AR9287]
- 9170 AR9170 802.11n
- 9271 AR9271 802.11n
- b002 Ubiquiti WiFiStation 802.11n [Atheros AR9271]
- b003 Ubiquiti WiFiStationEXT 802.11n [Atheros AR9271]
-0cf4 Fomtex Corp.
-0cf5 Cellink Co., Ltd
-0cf6 Compucable Corp.
-0cf7 ishoni Networks
-0cf8 Clarisys, Inc.
- 0750 Claritel-i750 - vp
-0cf9 Central System Research Co., Ltd
-0cfa Inviso, Inc.
-0cfc Minolta-QMS, Inc.
- 2301 Magicolor 2300 DL
- 2350 Magicolor 2350EN/3300
- 3100 Magicolor 3100
- 7300 Magicolor 5450/5550
-0cff SAFA MEDIA Co., Ltd.
- 0320 SR-380N
-0d06 telos EDV Systementwicklung GmbH
-0d08 UTStarcom
- 0602 DV007 [serial]
- 0603 DV007 [storage]
-0d0b Contemporary Controls
-0d0c Astron Electronics Co., Ltd
-0d0d MKNet Corp.
-0d0e Hybrid Networks, Inc.
-0d0f Feng Shin Cable Co., Ltd
-0d10 Elastic Networks
- 0001 StormPort (WDM)
-0d11 Maspro Denkoh Corp.
-0d12 Hansol Electronics, Inc.
-0d13 BMF Corp.
-0d14 Array Comm, Inc.
-0d15 OnStream b.v.
-0d16 Hi-Touch Imaging Technologies Co., Ltd
- 0001 PhotoShuttle
- 0002 Photo Printer 730 series
- 0004 Photo Printer 63xPL/PS
- 0100 Photo Printer 63xPL/PS
- 0102 Photo Printer 64xPS
- 0103 Photo Printer 730 series
- 0104 Photo Printer 63xPL/PS
- 0105 Photo Printer 64xPS
- 0200 Photo Printer 64xDL
-0d17 NALTEC, Inc.
-0d18 coaXmedia
-0d19 Hank Connection Industrial Co., Ltd
-0d28 NXP
- 0204 LPC1768
-0d32 Leo Hui Electric Wire & Cable Co., Ltd
-0d33 AirSpeak, Inc.
-0d34 Rearden Steel Technologies
-0d35 Dah Kun Co., Ltd
-0d3a Posiflex Technologies, Inc.
-0d3c Sri Cable Technology, Ltd
-0d3d Tangtop Technology Co., Ltd
- 0001 HID Keyboard
-0d3e Fitcom, inc.
-0d3f MTS Systems Corp.
-0d40 Ascor, Inc.
-0d41 Ta Yun Terminals Industrial Co., Ltd
-0d42 Full Der Co., Ltd
-0d46 Kobil Systems GmbH
- 2012 KAAN Standard Plus (Smartcard reader)
- 3003 mIDentity Light / KAAN SIM III
- 4000 mIDentity (mass storage)
- 4001 mIDentity Basic/Classic (composite device)
- 4081 mIDentity Basic/Classic (installationless)
-0d48 Promethean Limited
- 0001 ACTIVboard
- 0004 ACTIVboard
- 0100 Audio
-0d49 Maxtor
- 3000 Drive
- 3010 3000LE Drive
- 3100 Hi-Speed USB-IDE Bridge Controller
- 3200 Personal Storage 3200
- 5000 5000XT Drive
- 5010 5000LE Drive
- 5020 Mobile Hard Disk Drive
- 7000 OneTouch
- 7010 OneTouch
- 7100 OneTouch II 300GB External Hard Disk
- 7410 Mobile Hard Disk Drive (1TB)
- 7450 Basics Portable USB Device
-0d4a NF Corp.
-0d4b Grape Systems, Inc.
-0d4c Tedas AG
-0d4d Coherent, Inc.
-0d4e Agere Systems Netherland BV
- 047a WLAN Card
- 1000 Wireless Card Model 0801
- 1001 Wireless Card Model 0802
-0d4f EADS Airbus France
-0d50 Cleware GmbH
- 0011 USB-Temp2 Thermometer
-0d51 Volex (Asia) Pte., Ltd
-0d53 HMI Co., Ltd
-0d54 Holon Corp.
-0d55 ASKA Technologies, Inc.
-0d56 AVLAB Technology, Inc.
-0d57 Solomon Microtech, Ltd
-0d5c SMC Networks, Inc.
- a001 SMC2662W (v1) EZ Connect 802.11b Wireless Adapter [Atmel AT76C503A]
- a002 SMC2662W v2 / SMC2662W-AR / Belkin F5D6050 [Atmel at76c503a]
-0d5e Myacom, Ltd
- 2346 BT Digital Access adapter
-0d5f CSI, Inc.
-0d60 IVL Technologies, Ltd
-0d61 Meilu Electronics (Shenzhen) Co., Ltd
-0d62 Darfon Electronics Corp.
- 0003 Smartcard Reader
- 0004 Keyboard
- 001c Benq X120 Internet Keyboard Pro
- 0306 M530 Mouse
- 0800 Magic Wheel
- 2021 AM805 Keyboard
- 2026 TECOM Bluetooth Device
- 2050 Mouse
- 2106 Dell L20U Multimedia Keyboard
- a100 Optical Mouse
-0d63 Fritz Gegauf AG
-0d64 DXG Technology Corp.
- 0105 Dual Mode Digital Camera 1.3M
- 0107 Horus MT-409 Camera
- 0108 Dual Mode Digital Camera
- 0202 Dual Mode Video Camera Device
- 0303 DXG-305V Camera
- 1001 SiPix Stylecam/UMAX AstraPix 320s
- 1002 Fashion Cam 01 Dual-Mode DSC (Video Camera)
- 1003 Fashion Cam Dual-Mode DSC (Controller)
- 1021 D-Link DSC 350F
- 1208 Dual Mode Still Camera Device
- 2208 Mass Storage
- 3105 Dual Mode Digital Camera Disk
- 3108 Digicam Mass Storage Device
-0d65 KMJP Co., Ltd
-0d66 TMT
-0d67 Advanet, Inc.
-0d68 Super Link Electronics Co., Ltd
-0d69 NSI
-0d6a Megapower International Corp.
-0d6b And-Or Logic
-0d70 Try Computer Co., Ltd
-0d71 Hirakawa Hewtech Corp.
-0d72 Winmate Communication, Inc.
-0d73 Hit's Communications, Inc.
-0d76 MFP Korea, Inc.
-0d77 Power Sentry/Newpoint
-0d78 Japan Distributor Corp.
-0d7a MARX Datentechnik GmbH
-0d7b Wellco Technology Co., Ltd
-0d7c Taiwan Line Tek Electronic Co., Ltd
-0d7d Phison Electronics Corp.
- 0100 PS1001/1011/1006/1026 Flash Disk
- 0110 Gigabyte FlexDrive
- 0120 Disk Pro 64MB
- 0124 GIGABYTE Disk
- 0240 I/O-Magic/Transcend 6-in-1 Card Reader
- 110e NEC uPD720121/130 USB-ATA/ATAPI Bridge
- 1240 Apacer 6-in-1 Card Reader 2.0
- 1270 Wolverine SixPac 6000
- 1300 Flash Disk
- 1320 PS2031 Flash Disk
- 1400 Attache 256MB USB 2.0 Flash Drive
- 1420 PS2044 Pen Drive
- 1470 Vosonic X's-Drive II+ VP2160
- 1620 USB Disk Pro
- 1900 USB Thumb Drive
-0d7e American Computer & Digital Components
- 2507 Hi-Speed USB-to-IDE Bridge Controller
- 2517 Hi-Speed Mass Storage Device
- 25c7 Hi-Speed USB-to-IDE Bridge Controller
-0d7f Essential Reality LLC
- 0100 P5 Glove glove controller
-0d80 H.R. Silvine Electronics, Inc.
-0d81 TechnoVision
-0d83 Think Outside, Inc.
-0d87 Dolby Laboratories Inc.
-0d89 Oz Software
-0d8a King Jim Co., Ltd
- 0101 TEPRA PRO
-0d8b Ascom Telecommunications, Ltd
-0d8c C-Media Electronics, Inc.
- 0001 Audio Device
- 0002 Composite Device
- 0003 Sound Device
- 0006 Storm HP-USB500 5.1 Headset
- 000c Audio Adapter
- 000d Composite Device
- 000e Audio Adapter (Planet UP-100, Genius G-Talk)
- 001f CM108 Audio Controller
- 0102 CM106 Like Sound Device
- 0103 CM102-A+/102S+ Audio Controller
- 0104 CM103+ Audio Controller
- 0105 CM108 Audio Controller
- 0107 CM108 Audio Controller
- 010f CM108 Audio Controller
- 0115 CM108 Audio Controller
- 013c CM108 Audio Controller
- 0201 CM6501
- 5000 Mass Storage Controller
- 5200 Mass Storage Controller(0D8C,5200)
- b213 USB Phone CM109 (aka CT2000,VPT1000)
-0d8d Promotion & Display Technology, Ltd
- 0234 V-234 Composite Device
- 0550 V-550 Composite Device
- 0551 V-551 Composite Device
- 0552 V-552 Composite Device
- 0651 V-651 Composite Device
- 0652 V-652 Composite Device
- 0653 V-653 Composite Device
- 0654 V-654 Composite Device
- 0655 V-655 Composite Device
- 0656 V-656 Composite Device
- 0657 V-657 Composite Device
- 0658 V-658 Composite Device
- 0659 V-659 Composite Device
- 0660 V-660 Composite Device
- 0661 V-661 Composite Device
- 0662 V-662 Composite Device
- 0850 V-850 Composite Device
- 0851 V-851 Composite Device
- 0852 V-852 Composite Device
- 0901 V-901 Composite Device
- 0902 V-902 Composite Device
- 0903 V-903 Composite Device
- 4754 Voyager DMP Composite Device
- bb00 Bloomberg Composite Device
- bb01 Bloomberg Composite Device
- bb02 Bloomberg Composite Device
- bb03 Bloomberg Composite Device
- bb04 Bloomberg Composite Device
- bb05 Bloomberg Composite Device
- fffe Global Tuner Composite Device
- ffff Voyager DMP Composite Device
-0d8e Global Sun Technology, Inc.
- 0163 802.11g 54 Mbps Wireless Dongle
- 1621 802.11b Wireless Adapter
- 3762 Cohiba 802.11g Wireless Mini adapter [Intersil ISL3887]
- 3763 802.11g Wireless dongle
- 7100 802.11b Adapter
- 7110 WL-210 / WU210P 802.11b Wireless Adapter [Atmel AT76C503A]
- 7605 TRENDnet TEW-224UB 802.11b Wireless Adapter [Atmel AT76C503A]
- 7801 AR5523
- 7802 AR5523 (no firmware)
- 7811 AR5523
- 7812 AR5523 (no firmware)
- 7a01 PRISM25 802.11b Adapter
-0d8f Pitney Bowes
-0d90 Sure-Fire Electrical Corp.
-0d96 Skanhex Technology, Inc.
- 0000 Jenoptik JD350 video
- 3300 SX330z Camera
- 4100 SX410z Camera
- 4102 MD 9700 Camera
- 4104 Jenoptik JD-4100z3s
- 410a Medion 9801/Novatech SX-410z
- 5200 SX-520z Camera
-0d97 Santa Barbara Instrument Group
- 0001 SBIG Astronomy Camera (without firmware)
- 0101 SBIG Astronomy Camera (with firmware)
-0d98 Mars Semiconductor Corp.
- 0300 Avaya Wireless Card
- 1007 Discovery Kids Digital Camera
-0d99 Trazer Technologies, Inc.
-0d9a RTX Telecom AS
- 0001 Bluetooth Device
-0d9b Tat Shing Electrical Co.
-0d9c Chee Chen Hi-Technology Co., Ltd
-0d9d Sanwa Supply, Inc.
-0d9e Avaya
- 0300 Wireless Card
-0d9f Powercom Co., Ltd
- 0001 Uninterruptible Power Supply
- 0002 Black Knight PRO / WOW Uninterruptible Power Supply (Cypress HID->COM RS232)
- 00a2 Imperial Uninterruptible Power Supply (HID PDC)
- 00a3 Smart King PRO Uninterruptible Power Supply (HID PDC)
- 00a4 WOW Uninterruptible Power Supply (HID PDC)
- 00a5 Vanguard Uninterruptible Power Supply (HID PDC)
- 00a6 Black Knight PRO Uninterruptible Power Supply (HID PDC)
-0da0 Danger Research
-0da1 Suzhou Peter's Precise Industrial Co., Ltd
-0da2 Land Instruments International, Ltd
-0da3 Nippon Electro-Sensory Devices Corp.
-0da4 Polar Electro OY
- 0001 Interface
-0da7 IOGear, Inc.
-0da8 softDSP Co., Ltd
- 0001 SDS 200A Oscilloscope
-0dab Cubig Group
- 0100 DVR/CVR-M140 MP3 Player
-0dad Westover Scientific
-0db0 Micro Star International
- 1020 PC2PC WLAN Card
- 1967 Bluetooth Dongle
- 3801 Motorola Bluetooth 2.1+EDR Device
- 4011 Medion Flash XL V2.0 Card Reader
- 4023 Lexar Mobile Card Reader
- 4600 802.11b/g Turbo Wireless Adapter
- 5501 Mass Storage Device
- 5502 Mass Storage Device
- 5513 MP3 Player
- 5515 MP3 Player
- 5516 MP3 Player
- 5580 Mega Sky 580 DVB-T Tuner [M902x]
- 5581 Mega Sky 580 DVB-T Tuner [GL861]
- 6823 UB11B/MS-6823 802.11b Wi-Fi adapter
- 6826 IEEE 802.11g Wireless Network Adapter
- 6855 Bluetooth Device
- 6861 MSI-6861 802.11g WiFi adapter
- 6865 RT2570
- 6869 RT2570
- 6874 RT2573
- 6877 RT2573
- 6881 Bluetooth Class I EDR Device
- 688a Bluetooth Class I EDR Device
- 6899 802.11bgn 1T1R Mini Card Wireless Adapter
- 6970 MS-6970 BToes Bluetooth adapter
- 697a Bluetooth Dongle
- 6982 Medion Flash XL Card Reader
- a861 RT2573
- a874 RT2573
- a970 Bluetooth dongle
- a97a Bluetooth EDR Device
- b970 Bluetooth EDR Device
- b97a Bluetooth EDR Device
-0db1 Wen Te Electronics Co., Ltd
-0db2 Shian Hwi Plug Parts, Plastic Factory
-0db3 Tekram Technology Co., Ltd
-0db4 Chung Fu Chen Yeh Enterprise Corp.
-0db7 ELCON Systemtechnik
- 0002 Goldpfeil P-LAN
-0dbc A&D Medical
- 0003 AND Serial Cable [AND Smart Cable]
-0dbe Jiuh Shiuh Precision Industry Co., Ltd
-0dbf Jess-Link International
- 0002 SmartDongle Security Key
- 0200 HDD Storage Solution
- 021b USB-2.0 IDE Adapter
- 0300 Storage Adapter
- 0333 Storage Adapter
- 0707 ZIV Drive
-0dc0 G7 Solutions (formerly Great Notions)
-0dc1 Tamagawa Seiki Co., Ltd
-0dc3 Athena Smartcard Solutions, Inc.
- 0801 ASEDrive III
- 0802 ASEDrive IIIe
- 1104 ASEDrive IIIe KB
- 1701 ASEKey
- 1702 ASEKey
-0dc4 Macpower Peripherals, Ltd
- 0040 Mass Storage Device
- 0041 Mass Storage Device
- 0042 Mass Storage Device
- 0101 Hi-Speed Mass Storage Device
- 020a Oyen Digital MiniPro 2.5" hard drive enclosure
-0dc5 SDK Co., Ltd
-0dc6 Precision Squared Technology Corp.
- 2301 Wireless Touchpad Keyboard
-0dc7 First Cable Line, Inc.
-0dcd NetworkFab Corp.
- 0001 Remote Interface Adapter
- 0002 High Bandwidth Codec
-0dd0 Access Solutions
- 1002 Triple Talk Speech Synthesizer
-0dd1 Contek Electronics Co., Ltd
-0dd2 Power Quotient International Co., Ltd
- 0003 Mass Storage (P)
-0dd3 MediaQ
-0dd4 Custom Engineering SPA
-0dd5 California Micro Devices
-0dd7 Kocom Co., Ltd
-0dd8 Netac Technology Co., Ltd
- 1060 USB-CF-Card
- e007 OnlyDisk U222 Pendrive
- f607 OnlyDisk U208 1G flash drive [U-SAFE]
-0dd9 HighSpeed Surfing
-0dda Integrated Circuit Solution, Inc.
- 0001 Multi-Card Reader 6in1
- 0002 Multi-Card Reader 7in1
- 0003 Flash Disk
- 0005 Internal Multi-Card Reader 6in1
- 0008 SD single card reader
- 0009 MS single card reader
- 000a MS+SD Dual Card Reader
- 000b SM single card reader
- 0101 All-In-One Card Reader
- 0102 All-In-One Card Reader
- 0301 MP3 Player
- 0302 Multi-Card MP3 Player
- 1001 Multi-Flash Disk
- 2001 Multi-Card Reader
- 2002 Q018 default PID
- 2003 Multi-Card Reader
- 2005 Datalux DLX-1611 16in1 Card Reader
- 2006 All-In-One Card Reader
- 2007 USB to ATAPI bridge
- 2008 All-In-One Card Reader
- 2013 SD/MS Combo Card Reader
- 2014 SD/MS Single Card Reader
- 2023 card reader SD/MS DEMO board with ICSI brand name (MaskROM version)
- 2024 card reader SD/MS DEMO board with Generic brand name (MaskROM version)
- 2026 USB2.0 Card Reader
- 2027 USB 2.0 Card Reader
- 2315 UFD MP3 player (model 2)
- 2318 UFD MP3 player (model 1)
- 2321 UFD MP3 player
-0ddb Tamarack, Inc.
-0ddd Datelink Technology Co., Ltd
-0dde Ubicom, Inc.
-0de0 BD Consumer Healthcare
-0de7 USBmicro
- 0191 U401 Interface card
- 01a5 U421 interface card
- 01c3 U451 relay interface card
-0dea UTECH Electronic (D.G.) Co., Ltd.
-0ded Novasonics
-0dee Lifetime Memory Products
- 4010 Storage Adapter
-0def Full Rise Electronic Co., Ltd
-0df4 NET&SYS
- 0201 MNG-2005
-0df6 Sitecom Europe B.V.
- 0001 C-Media VOIP Device
- 0004 Bluetooth 2.0 Adapter 100m
- 0007 Bluetooth 2.0 Adapter 10m
- 000b Bluetooth 2.0 Adapter DFU
- 000d WL-168 Wireless Network Adapter 54g
- 0017 WL-182 Wireless-N Network USB Card
- 0019 Bluetooth 2.0 adapter 10m CN-512v2 001
- 001a Bluetooth 2.0 adapter 100m CN-521v2 001
- 002b WL-188 Wireless Network 300N USB Adapter
- 002c WL-301 Wireless Network 300N USB Adapter
- 002d WL-302 Wireless Network 300N USB dongle
- 0036 WL-603 Wireless Adapter
- 0039 WL-315 Wireless-N USB Adapter
- 003b WL-321 Wireless USB Gaming Adapter 300N
- 003c WL-323 Wireless-N USB Adapter
- 003d WL-324 Wireless USB Adapter 300N
- 003e WL-343 Wireless USB Adapter 150N X1
- 003f WL-608 Wireless USB Adapter 54g
- 0040 WL-344 Wireless Adapter 300N X2 [Ralink RT3071]
- 0041 WL-329 Wireless Dualband USB adapter 300N
- 0042 WL-345 Wireless USB adapter 300N X3
- 0045 WL-353 Wireless USB Adapter 150N Nano
- 0047 WL-352v1 Wireless USB Adapter 300N 002
- 0048 WL-349v1 Wireless Adapter 150N 002 [Ralink RT3070]
- 0049 WL-356 Wireless Adapter 300N
- 004a WL-358v1 Wireless Micro USB Adapter 300N X3 002
- 004b WL-349v3 Wireless Micro Adapter 150N X1 [Realtek RTL8192SU]
- 004c WL-352 802.11n Adapter [Realtek RTL8191SU]
- 0050 WL-349v4 Wireless Micro Adapter 150N X1 [Ralink RT3370]
- 0056 LN-031 10/100/1000 Ethernet Adapter
- 005d WLA-2000 v1.001 WLAN [RTL8191SU]
- 0060 WLA-4000 802.11bgn [Ralink RT3072]
- 0062 WLA-5000 802.11abgn [Ralink RT3572]
- 061c LN-028 Network USB 2.0 Adapter
- 21f4 44 St Bluetooth Device
- 2200 Sitecom bluetooth2.0 class 2 dongle CN-512
- 2208 Sitecom bluetooth2.0 class 2 dongle CN-520
- 2209 Sitecom bluetooth2.0 class 1 dongle CN-521
- 9071 WL-113 rev 1 Wireless Network USB Adapter
- 9075 WL-117 Hi-Speed USB Adapter
- 90ac WL-172 Wireless Network USB Adapter 54g Turbo
- 9712 WL-113 rev 2 Wireless Network USB Adapter
-0df7 Mobile Action Technology, Inc.
- 0620 MA-620 Infrared Adapter
- 0700 MA-700 Bluetooth Adapter
- 0720 MA-720 Bluetooth Adapter
- 0722 Bluetooth Dongle
- 0730 MA-730/MA-730G Bluetooth Adapter
- 0800 Data Cable
- 0820 Data Cable
- 0900 MA i-gotU Travel Logger GPS
- 1800 Generic Card Reader
- 1802 Card Reader
-0dfa Toyo Communication Equipment Co., Ltd
-0dfc GeneralTouch Technology Co., Ltd
- 0001 Touchscreen
-0e03 Nippon Systemware Co., Ltd
-0e08 Winbest Technology Co., Ltd
-0e0b Amigo Technology Inc.
- 9031 802.11n Wireless USB Card
- 9041 802.11n Wireless USB Card
-0e0c Gesytec
- 0101 LonUSB LonTalk Network Adapter
-0e0f VMware, Inc.
- 0001 Device
- 0002 Virtual USB Hub
- 0003 Virtual Mouse
- 0004 Virtual CCID
- 0005 Virtual Mass Storage
- 0006 Virtual Keyboard
- f80a Smoker FX2
-0e16 JMTek, LLC
-0e17 Walex Electronic, Ltd
-0e1a Unisys
-0e1b Crewave
-0e20 Pegasus Technologies Ltd.
- 0101 NoteTaker
-0e21 Cowon Systems, Inc.
- 0300 iAudio CW200
- 0400 MP3 Player
- 0500 iAudio M3
- 0510 iAudio X5, subpack USB port
- 0513 iAudio X5, side USB port
- 0520 iAudio M5, side USB port
- 0601 iAudio G3
- 0681 iAUDIO E2
- 0700 iAudio U3
- 0751 iAudio 7
- 0760 iAUDIO U5 / iAUDIO G2
- 0800 Cowon D2 (UMS mode)
- 0801 Cowon D2 (MTP mode)
- 0910 iAUDIO 9
- 0920 J3
-0e22 Symbian Ltd.
-0e23 Liou Yuane Enterprise Co., Ltd
-0e25 VinChip Systems, Inc.
-0e26 J-Phone East Co., Ltd
-0e30 HeartMath LLC
-0e34 Micro Computer Control Corp.
-0e35 3Pea Technologies, Inc.
-0e36 TiePie engineering
- 0008 Handyscope HS3
- 0009 Handyscope HS3 (br)
- 000a Handyscope HS4
- 000b Handyscope HS4 (br)
- 000e Handyscope HS4-DIFF
- 000f Handyscope HS4-DIFF (br)
- 0010 Handyscope HS2
- 0011 TiePieSCOPE HS805 (br)
- 0012 TiePieSCOPE HS805
- 0013 Handyprobe HP3
- 0014 Handyprobe HP3
- 0018 Handyprobe HP2
- 001b Handyscope HS5
- 0042 TiePieSCOPE HS801
- 00fd USB To Parallel adapter
- 00fe USB To Parallel adapter
-0e38 Stratitec, Inc.
-0e39 Smart Modular Technologies, Inc.
- 0137 Bluetooth Device
-0e3a Neostar Technology Co., Ltd
- 1100 CW-1100 Wireless Network Adapter
-0e3b Mansella, Ltd
-0e41 Line6, Inc.
- 4147 TonePort GX
- 414d Pod HD500
- 4156 POD HD Desktop
- 4250 BassPODxt
- 4252 BassPODxt Pro
- 4642 BassPODxt Live
- 4650 PODxt Live
- 4750 GuitarPort
- 5044 PODxt
- 5050 PODxt Pro
- 534d SeaMonkey
-0e44 Sun-Riseful Technology Co., Ltd.
-0e48 Julia Corp., Ltd
- 0100 CardPro SmartCard Reader
-0e4a Shenzhen Bao Hing Electric Wire & Cable Mfr. Co.
-0e4c Radica Games, Ltd
- 1097 Gamester Controller
- 2390 Games Jtech Controller
- 7288 funkey reader
-0e50 TechnoData Interware
- 0002 Matrixlock Dongle (HID)
-0e55 Speed Dragon Multimedia, Ltd
- 110a Tanic S110-SG1 + ISSC IS1002N [Slow Infra-Red (SIR) & Bluetooth 1.2 (Class 2) Adapter]
- 110b MS3303H USB-to-Serial Bridge
-0e56 Kingston Technology Company, Inc.
- 6021 K-PEX 100
-0e5a Active Co., Ltd
-0e5b Union Power Information Industrial Co., Ltd
-0e5c Bitland Information Technology Co., Ltd
- 6118 LCD Device
- 6119 remote receive and control device
- 6441 C-Media Sound Device
-0e5d Neltron Industrial Co., Ltd
-0e5e Conwise Technology Co., Ltd.
- 6622 CW6622
-0e66 Hawking Technologies
- 0001 HWUN1 Hi-Gain Wireless-300N Adapter w/ Upgradable Antenna [Ralink RT2870]
- 0003 HWDN1 Hi-Gain Wireless-300N Dish Adapter [Ralink RT2870]
- 0009 HWUN2 Hi-Gain Wireless-150N Adapter w/ Upgradable Antenna [Ralink RT2770]
- 000b HWDN2 Hi-Gain Wireless-150N Dish Adapter [Ralink RT2770]
- 0013 HWUN3 Hi-Gain Wireless-N Adapter [Ralink RT3070]
- 0015 HWDN2 Rev. E Hi-Gain Wireless-150N Dish Adapter [Realtek RTL8191SU]
- 0017 HAWNU1 Hi-Gain Wireless-150N Network Adapter with Range Amplifier [Ralink RT3070]
- 0018 Wireless-N Network Adapter [Ralink RT2870]
- 400b UF100 10/100 Network Adapter
- 400c UF100 Ethernet [pegasus2]
-0e67 Fossil, Inc.
- 0002 Wrist PDA
-0e6a Megawin Technology Co., Ltd
- 0101 MA100 [USB-UART Bridge IC]
- 6001 GEMBIRD Flexible keyboard KB-109F-B-DE
-0e6f Logic3
- 0003 Freebird wireless Controller
- 0005 Eclipse wireless Controller
- 0006 Edge wireless Controller
-0e70 Tokyo Electronic Industry Co., Ltd
-0e72 Hsi-Chin Electronics Co., Ltd
-0e75 TVS Electronics, Ltd
-0e79 Archos, Inc.
- 1106 Pocket Media Assistant - PMA400
- 1204 Gmini XS 200
- 1306 504 Portable Multimedia Player
- 1330 5 Tablet
- 1332 5 IMT
- 1416 32 IT
- 1417 A43 IT
- 150e 80 G9
-0e7b On-Tech Industry Co., Ltd
-0e7e Gmate, Inc.
- 0001 Yopy 3000 PDA
- 1001 YP3X00 PDA
-0e82 Ching Tai Electric Wire & Cable Co., Ltd
-0e83 Shin An Wire & Cable Co.
-0e8c Well Force Electronic Co., Ltd
-0e8d MediaTek Inc.
- 0003 MT6227 phone
- 0004 MT6227 phone
- 0023 S103
- 1806 Samsung SE-208AB Slim Portable DVD Writer
- 1836 Samsung SE-S084 Super WriteMaster Slim External DVD writer
- 3329 Qstarz BT-Q1000XT
-0e8f GreenAsia Inc.
- 0003 MaxFire Blaze2
- 0012 USB Wireless 2.4GHz Gamepad
- 0016 4 port USB 1.1 hub UH-174
- 0020 USB to PS/2 Adapter
- 0021 Multimedia Keyboard Controller
- 0201 SmartJoy Frag Xpad/PS2 adaptor
-0e90 WiebeTech, LLC
- 0100 Storage Adapter V1
-0e91 VTech Engineering Canada, Ltd
-0e92 C's Glory Enterprise Co., Ltd
-0e93 eM Technics Co., Ltd
-0e95 Future Technology Co., Ltd
-0e96 Aplux Communications, Ltd
- c001 TRUST 380 USB2 SPACEC@M
-0e97 Fingerworks, Inc.
- 0908 Composite HID (Keyboard and Mouse)
-0e98 Advanced Analogic Technologies, Inc.
-0e99 Parallel Dice Co., Ltd
-0e9a TA HSING Industries, Ltd
-0e9b ADTEC Corp.
-0e9c Streamzap, Inc.
- 0000 Streamzap Remote Control
-0e9f Tamura Corp.
-0ea0 Ours Technology, Inc.
- 2126 7-in-1 Card Reader
- 2153 SD Card Reader Key
- 2168 Transcend JetFlash 2.0 / Astone USB Drive
- 6803 OTI-6803 Flash Disk
- 6808 OTI-6808 Flash Disk
- 6828 OTI-6828 Flash Disk
- 6858 OTi-6858 serial adapter
-0ea6 Nihon Computer Co., Ltd
-0ea7 MSL Enterprises Corp.
-0ea8 CenDyne, Inc.
-0ead Humax Co., Ltd
-0eb0 NovaTech
- 9020 NovaTech NV-902W
- 9021 RT2573
-0eb1 WIS Technologies, Inc.
- 6666 WinFast WalkieTV TV Loader
- 6668 WinFast WalkieTV TV Loader
- 7007 WinFast WalkieTV WDM Capture
-0eb2 Y-S Electronic Co., Ltd
-0eb3 Saint Technology Corp.
-0eb7 Endor AG
-0eb8 Mettler Toledo
- f000 PS60 Scale
-0ebe VWeb Corp.
-0ebf Omega Technology of Taiwan, Inc.
-0ec0 LHI Technology (China) Co., Ltd
-0ec1 Abit Computer Corp.
-0ec2 Sweetray Industrial, Ltd
-0ec3 Axell Co., Ltd
-0ec4 Ballracing Developments, Ltd
-0ec5 GT Information System Co., Ltd
-0ec6 InnoVISION Multimedia, Ltd
-0ec7 Theta Link Corp.
- 1008 So., Show 301 Digital Camera
-0ecd Lite-On IT Corp.
- 1400 CD\RW 40X
- a100 LDW-411SX DVD/CD Rewritable Drive
-0ece TaiSol Electronics Co., Ltd
-0ecf Phogenix Imaging, LLC
-0ed1 WinMaxGroup
- 6660 Flash Disk 64M-C
- 6680 Flash Disk 64M-B
- 7634 MP3 Player
-0ed2 Kyoto Micro Computer Co., Ltd
-0ed3 Wing-Tech Enterprise Co., Ltd
-0ed5 Fiberbyte
- e000 USB-inSync Device
- f000 Fiberbyte USB-inSync Device
- f201 Fiberbyte USB-inSync DAQ-2500X
-0eda Noriake Itron Corp.
-0edf e-MDT Co., Ltd
- 2060 FID irock! 100 Series
-0ee0 Shima Seiki Mfg., Ltd
-0ee1 Sarotech Co., Ltd
-0ee2 AMI Semiconductor, Inc.
-0ee3 ComTrue Technology Corp.
- 1000 Image Tank 1.5
-0ee4 Sunrich Technology, Ltd
-0eee Digital Stream Technology, Inc.
- 8810 Mass Storage Drive
-0eef D-WAV Scientific Co., Ltd
- 0001 eGalax TouchScreen
- 0002 Touchscreen Controller(Professional)
-0ef0 Hitachi Cable, Ltd
-0ef1 Aichi Micro Intelligent Corp.
-0ef2 I/O Magic Corp.
-0ef3 Lynn Products, Inc.
-0ef4 DSI Datotech
-0ef5 PointChips
- 2202 Flash Disk
- 2366 Flash Disk
-0ef6 Yield Microelectronics Corp.
-0ef7 SM Tech Co., Ltd (Tulip)
-0efd Oasis Semiconductor
-0efe Wem Technology, Inc.
-0f03 Unitek UPS Systems
- 0001 Alpha 1200Sx
-0f06 Visual Frontier Enterprise Co., Ltd
-0f08 CSL Wire & Plug (Shen Zhen) Co.
-0f0c CAS Corp.
-0f0d Hori Co., Ltd
- 0011 Real Arcade Pro 3
-0f0e Energy Full Corp.
-0f11 LD Didactic GmbH
- 1000 CASSY-S
- 1010 Pocket-CASSY
- 1020 Mobile-CASSY
- 1080 Joule and Wattmeter
- 1081 Digital Multimeter P
- 1090 UMI P
- 1100 X-Ray Apparatus
- 1101 X-Ray Apparatus
- 1200 VideoCom
- 2000 COM3LAB
- 2010 Terminal Adapter
- 2020 Network Analyser
- 2030 Converter Control Unit
- 2040 Machine Test System
-0f12 Mars Engineering Corp.
-0f13 Acetek Technology Co., Ltd
-0f18 Finger Lakes Instrumentation
- 0002 CCD
- 0006 Focuser
- 0007 Filter Wheel
- 000a ProLine CCD
- 000b Color Filter Wheel 4
- 000c PDF2
- 000d Guider
-0f19 Oracom Co., Ltd
-0f1b Onset Computer Corp.
-0f1c Funai Electric Co., Ltd
-0f1d Iwill Corp.
-0f21 IOI Technology Corp.
-0f22 Senior Industries, Inc.
-0f23 Leader Tech Manufacturer Co., Ltd
-0f24 Flex-P Industries, Snd., Bhd.
-0f2d ViPower, Inc.
-0f2e Geniality Maple Technology Co., Ltd
-0f2f Priva Design Services
-0f30 Jess Technology Co., Ltd
- 001c PS3 Guitar Controller Dongle
- 0110 Dual Analog Rumble Pad
- 0111 Colour Rumble Pad
- 0208 Xbox & PC Gamepad
-0f31 Chrysalis Development
-0f32 YFC-BonEagle Electric Co., Ltd
-0f37 Kokuyo Co., Ltd
-0f38 Nien-Yi Industrial Corp.
-0f3d Airprime, Incorporated
- 0112 CDMA 1xEVDO PC Card, PC 5220
-0f41 RDC Semiconductor Co., Ltd
-0f42 Nital Consulting Services, Inc.
-0f44 Polhemus
- ef11 Patriot (firmware not loaded)
- ef12 Patriot
- ff11 Liberty (firmware not loaded)
- ff12 Liberty
-0f4b St. John Technology Co., Ltd
-0f4c WorldWide Cable Opto Corp.
-0f4d Microtune, Inc.
- 1000 Bluetooth Dongle
-0f4e Freedom Scientific
-0f52 Wing Key Electrical Co., Ltd
-0f53 Dongguan White Horse Cable Factory, Ltd
-0f54 Kawai Musical Instruments Mfg. Co., Ltd
-0f55 AmbiCom, Inc.
-0f5c Prairiecomm, Inc.
-0f5d NewAge International, LLC
- 9455 Compact Drive
-0f5f Key Technology Corp.
-0f60 NTK, Ltd
-0f61 Varian, Inc.
-0f62 Acrox Technologies Co., Ltd
- 1001 Targus Mini Trackball Optical Mouse
-0f63 LeapFrog Enterprises
- 0010 Leapster Explorer
- 0500 Fly Fusion
- 0600 Leap Port Turbo
- 0700 POGO
- 0800 Didj
- 0900 TAGSchool
- 0a00 Leapster 2
- 0b00 Crammer
- 0c00 Tag Jr
- 0d00 My Pal Scout
- 0e00 Tag32
- 0f00 Tag64
- 1000 Kiwi16
- 1100 Leapster L2x
- 1111 Fly Fusion
- 1300 Didj UK/France (Leapster Advance)
-0f68 Kobe Steel, Ltd
-0f69 Dionex Corp.
-0f6a Vibren Technologies, Inc.
-0f6e INTELLIGENT SYSTEMS
- 0100 GameBoy Color Emulator
- 0201 GameBoy Advance Flash Gang Writer
- 0202 GameBoy Advance Capture
- 0300 Gamecube DOL Viewer
- 0400 NDS Emulator
- 0401 NDS UIC
- 0402 NDS Writer
- 0403 NDS Capture
- 0404 NDS Emulator (Lite)
-0f73 DFI
-0f7c DQ Technology, Inc.
-0f7d NetBotz, Inc.
-0f7e Fluke Corp.
-0f88 VTech Holdings, Ltd
- 3012 RT2570
- 3014 ZD1211B
-0f8b Yazaki Corp.
-0f8c Young Generation International Corp.
-0f8d Uniwill Computer Corp.
-0f8e Kingnet Technology Co., Ltd
-0f8f Soma Networks
-0f97 CviLux Corp.
-0f98 CyberBank Corp.
-0f9c Hyun Won, Inc.
- 0301 M-Any Premium DAH-610 MP3/WMA Player
- 0332 mobiBLU DAH-1200 MP3/Ogg Player
-0f9e Lucent Technologies
-0fa3 Starconn Electronic Co., Ltd
-0fa4 ATL Technology
-0fa5 Sotec Co., Ltd
-0fa7 Epox Computer Co., Ltd
-0fa8 Logic Controls, Inc.
-0faf Winpoint Electronic Corp.
-0fb0 Haurtian Wire & Cable Co., Ltd
-0fb1 Inclose Design, Inc.
-0fb2 Juan-Chern Industrial Co., Ltd
-0fb6 Heber Ltd
- 3fc3 Firefly X10i I/O Board (with firmware)
- 3fc4 Firefly X10i I/O Board (without firmware)
-0fb8 Wistron Corp.
- 0002 eHome Infrared Receiver
-0fb9 AACom Corp.
-0fba San Shing Electronics Co., Ltd
-0fbb Bitwise Systems, Inc.
-0fc1 Mitac Internatinal Corp.
-0fc2 Plug and Jack Industrial, Inc.
-0fc5 Delcom Engineering
- 1222 I/O Development Board
-0fc6 Dataplus Supplies, Inc.
-0fca Research In Motion, Ltd.
- 0001 Blackberry Handheld
- 0004 Blackberry Handheld
- 0006 Blackberry Pearl
- 0008 Blackberry Pearl
- 8001 Blackberry Handheld
- 8004 Blackberry Handheld
- 8007 Blackberry Handheld
- 8010 Blackberry Playbook (Connect to Windows mode)
- 8011 Blackberry Playbook (Connect to Mac mode)
- 8020 Blackberry Playbook (CD-Rom mode)
-0fce Sony Ericsson Mobile Communications AB
- 0076 W910i (Multimedia mode)
- 00af V640i Phone [PTP Camera]
- 00d4 C902 [MTP]
- 00d9 C702 Phone
- 0112 W995 Walkman Phone
- 015a Xperia Pro [Media Transfer Protocol]
- 0166 Xperia Mini Pro
- 0169 Xperia S
- 0172 Xperia P
- 0177 Xperia Ion [Mass Storage]
- 0dde Xperia Mini Pro Bootloader
- 1010 WMC Modem
- 10af V640i Phone [PictBridge]
- 10d4 C902 Phone [PictBridge]
- 2105 W715 Phone
- 2137 Xperia X10 mini (USB debug)
- 2138 Xperia X10 mini pro (Debug)
- 2149 Xperia X8 (debug)
- 3137 Xperia X10 mini
- 3138 Xperia X10 mini pro
- 3149 Xperia X8
- 5177 Xperia Ion [Debug Mode]
- 614f Xperia X12 (debug mode)
- 6166 Xperia Mini Pro
- 715a Xperia Pro [Tethering]
- 7177 Xperia Ion [Tethering]
- 8004 9000 Phone [Mass Storage]
- adde Boot loader
- d008 V800-Vodafone 802SE Phone
- d016 K750i Phone
- d017 K608i Phone
- d019 VDC EGPRS Modem
- d025 520 WMC Data Modem
- d028 W800i
- d038 W850i Phone
- d039 K800i (phone mode)
- d041 K510i Phone
- d042 W810i Phone
- d043 V630i Phone
- d046 K610i Phone
- d065 W960i Phone (PC Suite)
- d076 W910i (Phone mode)
- d089 W580i Phone (mass storage)
- d0a1 K810
- d0af V640i Phone
- d0cf MD300 Mobile Broadband Modem
- d0d4 C902 Phone [Modem]
- d0e1 MD400 Mobile Broadband Modem
- d12e Xperia X10
- e000 K810 (PictBridge mode)
- e039 K800i (msc mode)
- e042 W810i Phone
- e043 V630i Phone [Mass Storage]
- e075 K850i
- e076 W910i (Mass storage)
- e089 W580i Phone
- e090 W200 Phone (Mass Storage)
- e0a1 K810 (Mass Storage mode)
- e0a3 W660i
- e0af V640i Phone [Mass Storage]
- e0d4 C902 Phone [Mass Storage]
- e0ef C905 Phone [Mass Storage]
- e0f3 W595
- e105 W705
- e112 W995 Phone (Mass Storage)
- e12e X10i Phone
- e133 Vivaz
- e14f Xperia Arc/X12
- e15a Xperia Pro [Mass Storage Class]
- e161 Xperia Ray
- e166 Xperia Mini Pro
- e167 XPERIA mini
-0fcf Dynastream Innovations, Inc.
- 1003 ANT Development Board
- 1004 ANT2USB
- 1006 ANT Development Board
- 1008 Mini stick Suunto
-0fd0 Tulip Computers B.V.
-0fd1 Giant Electronics Ltd.
-0fd4 Tenovis GmbH & Co., KG
-0fd5 Direct Access Technology, Inc.
-0fd9 Elgato Systems GmbH
- 0011 EyeTV Diversity
- 0018 EyeTV Hybrid
- 0020 EyeTV DTT Deluxe
- 0021 EyeTV DTT
- 002a EyeTV Sat
- 002c EyeTV DTT Deluxe v2
- 0033 Video Capture
- 0037 Video Capture v2
-0fda Quantec Networks GmbH
- 0100 quanton flight control
-0fdc Micro Plus
-0fe0 Osterhout Design Group
- 0100 Bluetooth Mouse
- 0101 Bluetooth IMU
- 0200 Bluetooth Keypad
-0fe4 IN-Tech Electronics, Ltd
-0fe5 Greenconn (U.S.A.), Inc.
-0fe6 Kontron (Industrial Computer Source / ICS Advent)
- 8101 DM9601 Fast Ethernet Adapter
- 811e Parallel Adapter
- 9700 DM9601 Fast Ethernet Adapter
-0fe9 DVICO
- 4020 TViX M-6500
- db00 FusionHDTV DVB-T (MT352+LgZ201) (uninitialized)
- db01 FusionHDTV DVB-T (MT352+LgZ201) (initialized)
- db10 FusionHDTV DVB-T (MT352+Thomson7579) (uninitialized)
- db11 FusionHDTV DVB-T (MT352+Thomson7579) (initialized)
- db78 FusionHDTV DVB-T Dual Digital 4 (ZL10353+xc2028/xc3028) (initialized)
-0fea United Computer Accessories
-0feb CRS Electronic Co., Ltd
-0fec UMC Electronics Co., Ltd
-0fed Access Co., Ltd
-0fee Xsido Corp.
-0fef MJ Research, Inc.
-0ff6 Core Valley Co., Ltd
-0ff7 CHI SHING Computer Accessories Co., Ltd
-0ffc Clavia DMI AB
- 0021 Nord Stage 2
-0fff Aopen, Inc.
-1000 Speed Tech Corp.
-1001 Ritronics Components (S) Pte., Ltd
-1003 Sigma Corp.
- 0003 SD14
- 0100 SD9/SD10
-1004 LG Electronics, Inc.
- 1fae U8120 3G Cellphone
- 6000 Various Mobile Phones
- 6005 T5100
- 6018 GM360/GD510/GW520/KP501
- 618e Ally/Optimus One/Vortex (debug mode)
- 618f Ally/Optimus One
- 61c6 Vortex (msc)
- 61cc Optimus S
- 61fc Optimus 3
- 6800 CDMA Modem
- 7000 LG LDP-7024D(LD)USB
- a400 Renoir (KC910)
-1005 Apacer Technology, Inc.
- 1001 MP3 Player
- 1004 MP3 Player
- 1006 MP3 Player
- b113 Handy Steno 2.0/HT203
- b223 CD-RW + 6in1 Card Reader Digital Storage / Converter
-1006 iRiver, Ltd.
- 3001 iHP-100
- 3002 iHP-120/140 MP3 Player
- 3003 H320/H340
- 3004 H340 (mtp)
-1009 Emuzed, Inc.
- 000e eHome Infrared Receiver
- 0013 Angel MPEG Device
- 0015 Lumanate Wave PAL SECAM DVBT Device
- 0016 Lumanate Wave NTSC/ATSC Combo Device
-100a AV Chaseway, Ltd
- 2402 MP3 Player
- 2404 MP3 Player
- 2405 MP3 Player
- 2406 MP3 Player
- a0c0 MP3 Player
-100b Chou Chin Industrial Co., Ltd
-100d Netopia, Inc.
- 3342 Cayman 3352 DSL Modem
- 3382 3380 Series Network Interface
- 6072 DSL Modem
- 9031 Motorola 802.11n Dualband USB Wireless Adapter
- 9032 Motorola 802.11n 5G USB Wireless Adapter
- cb01 Cayman 3341 Ethernet DSL Router
-1010 Fukuda Denshi Co., Ltd
-1011 Mobile Media Tech.
- 0001 AccFast Mp3
-1012 SDKM Fibres, Wires & Cables Berhad
-1013 TST-Touchless Sensor Technology AG
-1014 Densitron Technologies PLC
-1015 Softronics Pty., Ltd
-1016 Xiamen Hung's Enterprise Co., Ltd
-1017 Speedy Industrial Supplies, Pte., Ltd
-1019 Elitegroup Computer Systems (ECS)
- 0c55 Flash Reader, Desknote UCR-61S2B
- 0f38 Infrared Receiver
-1020 Labtec
- 0006 Wireless Keyboard
- 000a Wireless Optical Mouse
- 0106 Wireless Optical Mouse
-1022 Shinko Shoji Co., Ltd
-1025 Hyper-Paltek
- 005e USB DVB-T device
- 005f USB DVB-T device
- 0300 MP3 Player
- 0350 MP3 Player
-1026 Newly Corp.
-1027 Time Domain
-1028 Inovys Corp.
-1029 Atlantic Coast Telesys
-102a Ramos Technology Co., Ltd
-102b Infotronic America, Inc.
-102c Etoms Electronics Corp.
- 6151 Q-Cam Sangha CIF
- 6251 Q-Cam VGA
-102d Winic Corp.
-1031 Comax Technology, Inc.
-1032 C-One Technology Corp.
-1033 Nucam Corp.
- 0068 3,5'' HDD case MD-231
-1038 Ideazon, Inc.
- 0100 Zboard
-1039 devolo AG
- 0824 1866 802.11bg [Texas Instruments TNETW1450]
- 2140 dsl+ 1100 duo
-103d Stanton
- 0100 ScratchAmp
- 0101 ScratchAmp
-1043 iCreate Technologies Corp.
- 160f Wireless Network Adapter
- 4901 AV-836 Video Capture Device
- 8006 Flash Disk 32-256 MB
- 8012 Flash Disk 256 MB
-1044 Chu Yuen Enterprise Co., Ltd
- 7001 Gigabyte U7000 DVB-T tuner
- 7002 Gigabyte U8000 DVB-T tuner
- 7004 Gigabyte U7100 DVB-T tuner
- 7005 Gigabyte U7200 DVB-T tuner [AF9035]
- 7006 Gigabyte U6000 DVB-T tuner [em2863]
- 8001 GN-54G
- 8002 GN-BR402W
- 8003 GN-WLBM101
- 8004 GN-WLBZ101 802.11b Adapter
- 8005 GN-WLBZ201 802.11b Adapter
- 8006 GN-WBZB-M 802.11b Adapter
- 8007 GN-WBKG
- 8008 GN-WB01GS
- 800a GN-WI05GS
- 800b GN-WB30N 802.11n WLAN Card
- 800c GN-WB31N 802.11n USB WLAN Card
- 800d GN-WB32L 802.11n USB WLAN Card
-1046 Winbond Electronics Corp. [hex]
- 6694 Generic W6694 USB
- 8901 Bluetooth Device
- 9967 W9967CF/W9968CF Webcam IC
-1048 Targus Group International
-104b Mylex / Buslogic
-104c AMCO TEC International, Inc.
-104d Newport Corporation
- 1003 Model-52 LED Light Source Power Supply and Driver
-104f WB Electronics
- 0001 Infinity Phoenix
- 0002 Smartmouse
- 0003 FunProgrammer
- 0004 Infinity Unlimited
- 0006 Infinity Smart
- 0007 Infinity Smart module
- 0008 Infinity CryptoKey
- 0009 RE-BL PlayStation 3 IR-to-Bluetooth converter
-1050 Yubico.com
- 0010 Yubikey
-1053 Immanuel Electronics Co., Ltd
-1054 BMS International Beheer N.V.
- 5004 DSL 7420 Loader
- 5005 DSL 7420 LAN Modem
-1055 Complex Micro Interconnection Co., Ltd
-1056 Hsin Chen Ent Co., Ltd
-1057 ON Semiconductor
-1058 Western Digital Technologies, Inc.
- 0200 FireWire USB Combo
- 0400 External HDD
- 0500 hub
- 0702 Passport External HDD
- 0704 Passport External HDD
- 070a My Passport Essential SE
- 071a My Passport 1TB
- 0740 My Passport
- 0742 My Passport Essential SE
- 0748 My Passport 1TB USB 3.0
- 0900 MyBook Essential External HDD
- 0901 MyBook External HDD
- 0903 My Book Premium Edition
- 0910 MyBook Essential External HDD
- 1001 External Hard Disk [Elements]
- 1003 Elements 1000 GB
- 1010 Elements External HDD
- 1021 Elements 2TB
- 1023 Elements SE
- 1103 My Book Studio
- 1104 MyBook Mirror Edition External HDD
- 1105 My Book Studio II
- 1123 My Book 3.0
- 1140 My Book Essential USB3.0
-1059 Giesecke & Devrient GmbH
- 000b StarSign Bio Token 3.0
-105c Hong Ji Electric Wire & Cable (Dongguan) Co., Ltd
-105d Delkin Devices, Inc.
-105e Valence Semiconductor Design, Ltd
-105f Chin Shong Enterprise Co., Ltd
-1060 Easthome Industrial Co., Ltd
-1063 Motorola Electronics Taiwan, Ltd [hex]
- 1555 MC141555 Hub
- 4100 SB4100 USB Cable Modem
-1065 CCYU Technology
- 0020 USB-DVR2 Dev Board
- 2136 EasyDisk ED1064
-106a Loyal Legend, Ltd
-106c Curitel Communications, Inc.
- 1101 CDMA 2000 1xRTT USB modem (HX-550C)
- 1102 Packet Service
- 1103 Packet Service Diagnostic Serial Port (WDM)
- 1104 Packet Service Diagnostic Serial Port (WDM)
- 1105 Composite Device
- 1106 Packet Service Diagnostic Serial Port (WDM)
- 1301 Composite Device
- 1302 Packet Service Diagnostic Serial Port (WDM)
- 1303 Packet Service
- 1304 Packet Service
- 1401 Composite Device
- 1402 Packet Service
- 1403 Packet Service Diagnostic Serial Port (WDM)
- 1501 Packet Service
- 1502 Packet Service Diagnostic Serial Port (WDM)
- 1503 Packet Service
- 1601 Packet Service
- 1602 Packet Service Diagnostic Serial Port (WDM)
- 1603 Packet Service
- 2101 AudioVox 8900 Cell Phone
- 2102 Packet Service
- 2103 Packet Service Diagnostic Serial Port (WDM)
- 2301 Packet Service
- 2302 Packet Service Diagnostic Serial Port (WDM)
- 2303 Packet Service
- 2401 Packet Service Diagnostic Serial Port (WDM)
- 2402 Packet Service
- 2403 Packet Service Diagnostic Serial Port (WDM)
- 2501 Packet Service
- 2502 Packet Service Diagnostic Serial Port (WDM)
- 2503 Packet Service
- 2601 Packet Service
- 2602 Packet Service Diagnostic Serial Port (WDM)
- 2603 Packet Service
- 3701 Broadband Wireless modem
- 3702 Pantech PX-500
- 3714 PANTECH USB MODEM [UM175]
- 3716 UMW190 Modem
- 3721 Option Beemo (GI0801) LTE surfstick
- 3b14 Option Beemo (GI0801) LTE surfstick
- 3eb4 Packet Service Diagnostic Serial Port (WDM)
- 4101 Packet Service Diagnostic Serial Port (WDM)
- 4102 Packet Service
- 4301 Composite Device
- 4302 Packet Service Diagnostic Serial Port (WDM)
- 4401 Composite Device
- 4402 Packet Service
- 4501 Packet Service
- 4502 Packet Service Diagnostic Serial Port (WDM)
- 4601 Composite Device
- 4602 Packet Service Diagnostic Serial Port (WDM)
- 5101 Packet Service
- 5102 Packet Service Diagnostic Serial Port (WDM)
- 5301 Packet Service Diagnostic Serial Port (WDM)
- 5302 Packet Service
- 5401 Packet Service
- 5402 Packet Service Diagnostic Serial Port (WDM)
- 5501 Packet Service Diagnostic Serial Port (WDM)
- 5502 Packet Service
- 5601 Packet Service Diagnostic Serial Port (WDM)
- 5602 Packet Service
- 7101 Composite Device
- 7102 Packet Service
- a000 Packet Service
- a001 Packet Service Diagnostic Serial Port (WDM)
- c100 Packet Service
- c200 Packet Service
- c500 Packet Service Diagnostic Serial Port (WDM)
- e200 Packet Service
-106d San Chieh Manufacturing, Ltd
-106e ConectL
-106f Money Controls
- 0009 CT10x Coin Transaction
- 000a CR10x Coin Recycler
-1076 GCT Semiconductor, Inc.
- 0031 Bluetooth Device
- 0032 Bluetooth Device
-107b Gateway, Inc.
- 3009 eHome Infrared Transceiver
- 55b2 WBU-110 802.11b Wireless Adapter [Intersil PRISM 3]
- 55f2 WGU-210 802.11g Adapter [Intersil ISL3886]
-107d Arlec Australia, Ltd
-107e Midoriya Electric Co., Ltd
-107f KidzMouse, Inc.
-1082 Shin-Etsukaken Co., Ltd
-1083 Canon Electronics, Inc.
- 162c P-150 Scanner
-1084 Pantech Co., Ltd
-108a Chloride Power Protection
-108b Grand-tek Technology Co., Ltd
-108c Robert Bosch GmbH
-108e Lotes Co., Ltd.
-1099 Surface Optics Corp.
-109a DATASOFT Systems GmbH
-109f eSOL Co., Ltd
- 3163 Trigem Mobile SmartDisplay84
- 3164 Trigem Mobile SmartDisplay121
-10a0 Hirotech, Inc.
-10a3 Mitsubishi Materials Corp.
-10a9 SK Teletech Co., Ltd
- 1102 Sky Love Actually IM-U460K
- 1104 Sky Vega IM-A650S
- 6021 SIRIUS alpha
-10aa Cables To Go
-10ab USI Co., Ltd
- 1002 Bluetooth Device
- 1003 BC02-EXT in DFU
- 1005 Bluetooth Adptr
- 1006 BC04-EXT in DFU
- 10c5 Sony-Ericsson / Samsung DataCable
-10ac Honeywell, Inc.
-10ae Princeton Technology Corp.
-10af Liebert Corp.
- 0000 UPS
- 0001 PowerSure PSA UPS
- 0002 PowerSure PST UPS
- 0003 PowerSure PSP UPS
- 0004 PowerSure PSI UPS
- 0005 UPStation GXT 2U UPS
- 0006 UPStation GXT UPS
- 0007 Nfinity Power Systems UPS
- 0008 PowerSure Interactive UPS
-10b5 Comodo (PLX?)
- 9060 Test Board
-10b8 DiBcom
- 0bb8 DiBcom USB DVB-T reference design (MOD300) (cold)
- 0bb9 DiBcom USB DVB-T reference design (MOD300) (warm)
- 0bc6 DiBcom USB2.0 DVB-T reference design (MOD3000P) (cold)
- 0bc7 DiBcom USB2.0 DVB-T reference design (MOD3000P) (warm)
-10bb TM Technology, Inc.
-10bc Dinging Technology Co., Ltd
-10bd TMT Technology, Inc.
- 1427 Ethernet
-10bf SmartHome
- 0001 SmartHome PowerLinc
-10c4 Cygnal Integrated Products, Inc.
- 0002 F32x USBXpress Device
- 0003 CommandIR
- 8030 K4JRG Ham Radio devices
- 8044 USB Debug Adapter
- 804e Software Bisque Paramount ME
- 80a9 CP210x to UART Bridge Controller
- 80ca ATM2400 Sensor Device
- 813f tams EasyControl
- 8149 West Mountain Radio Computerized Battery Analyzer
- 814a West Mountain Radio RIGblaster P&P
- 814b West Mountain Radio RIGtalk
- 818a Silicon Labs FM Radio Reference Design
- 81e8 Zephyr BioHarness
- 8460 Sangoma Wanpipe VoiceTime
- 8461 Sangoma U100
- 8477 Balluff RFID Reader
- 8605 dilitronics ESoLUX solar lighting controller
- 86bc C8051F34x AudioDelay [AD-340]
- 8789 C8051F34x Extender & EDID MGR [EMX-DVI]
- 87be C8051F34x HDMI Audio Extractor [EMX-HD-AUD]
- 8863 C8051F34x Bootloader
- ea60 CP210x UART Bridge / myAVR mySmartUSB light
- ea61 CP210x UART Bridge
- ea70 CP210x UART Bridge
- ea80 CP210x UART Bridge
-10c5 Sanei Electric, Inc.
- 819a FM Radio
-10c6 Intec, Inc.
-10cb Eratech
-10cc GBM Connector Co., Ltd
- 1101 MP3 Player
-10cd Kycon, Inc.
-10ce Silicon Labs
- ea6a MobiData EDGE USB Modem
-10cf Velleman Components, Inc.
- 2011 R-Engine MPEG2 encoder/decoder
- 5500 8055 Experiment Interface Board (address=0)
- 5501 8055 Experiment Interface Board (address=1)
- 5502 8055 Experiment Interface Board (address=2)
- 5503 8055 Experiment Interface Board (address=3)
-10d1 Hottinger Baldwin Measurement
- 0101 USB-Module for Spider8, CP32
- 0202 CP22 - Communication Processor
- 0301 CP42 - Communication Processor
-10d4 Man Boon Manufactory, Ltd
-10d5 Uni Class Technology Co., Ltd
- 5552 KVM Human Interface Composite Device (Keyboard/Mouse ports)
- 55a2 2Port KVMSwitcher
-10d6 Actions Semiconductor Co., Ltd
- 1000 MP3 Player
- 1100 MPMan MP-Ki 128 MP3 Player/Recorder
- 1101 D-Wave 2GB MP4 Player / AK1025 MP3/MP4 Player
- 2200 Acer MP-120 MP3 player
- 8888 ADFU Device
- ff51 ADFU Device
- ff61 MP4 Player
- ff66 Craig 2GB MP3/Video Player
-10de Authenex, Inc.
-10df In-Win Development, Inc.
- 0500 iAPP CR-e500 Card reader
-10e0 Post-Op Video, Inc.
-10e1 CablePlus, Ltd
-10e2 Nada Electronics, Ltd
-10ec Vast Technologies, Inc.
-10f0 Nexio Co., Ltd
- 2002 iNexio Touchscreen controller
-10f1 Importek
- 1a08 Internal Webcam
- 1a1e Laptop Integrated Webcam 1.3M
- 1a2a Laptop Integrated Webcam
-10f5 Turtle Beach
- 0200 Audio Advantage Roadie
-10fb Pictos Technologies, Inc.
-10fd Anubis Electronics, Ltd
- 7e50 FlyCam Usb 100
- 804d Typhoon Webshot II Webcam [zc0301]
- 8050 FlyCAM-USB 300 XP2
- de00 WinFast WalkieTV WDM Capture Driver.
-10fe Thrane & Thrane
- 000c TT-3750 BGAN-XL Radio Module
-1100 VirTouch, Ltd
- 0001 VTPlayer VTP-1 Braille Mouse
-1101 EasyPass Industrial Co., Ltd
- 0001 FSK Electronics Super GSM Reader
-1108 Brightcom Technologies, Ltd
-110a Moxa Technologies Co., Ltd.
- 1250 UPort 1250 2-Port RS-232/422/485
- 1251 UPort 1250I 2-Port RS-232/422/485 with Isolation
- 1410 UPort 1410 4-Port RS-232
- 1450 UPort 1450 4-Port RS-232/422/485
- 1451 UPort 1450I 4-Port RS-232/422/485 with Isolation
- 1613 UPort 1610-16 16-Port RS-232
- 1618 UPort 1610-8 8-Port RS-232
- 1653 UPort 1650-16 16-Port RS-232/422/485
- 1658 UPort 1650-8 8-Port RS-232/422/485
-1110 Analog Devices Canada, Ltd (Allied Telesyn)
- 5c01 Huawei MT-882 Remote NDIS Network Device
- 6489 ADSL ETH/USB RTR
- 9000 ADSL LAN Adapter
- 9001 ADSL Loader
- 900f AT-AR215 DSL Modem
- 9010 AT-AR215 DSL Modem
- 9021 ADSL WAN Adapter
- 9022 ADSL Loader
- 9023 ADSL WAN Adapter
- 9024 ADSL Loader
- 9031 ADSL LAN Adapter
- 9032 ADSL Loader
-1111 Pandora International Ltd.
- 8888 Evolution Device
-1112 YM ELECTRIC CO., Ltd
-1113 Medion AG
- a0a2 Active Sync device
-111e VSO Electric Co., Ltd
-112a RedRat
- 0001 RedRat3 IR Transceiver
- 0005 RedRat3II IR Transceiver
-112e Master Hill Electric Wire and Cable Co., Ltd
-112f Cellon International, Inc.
-1130 Tenx Technology, Inc.
- 0002 iBuddy
- 0202 Rocket Launcher
- 6604 MCE IR-Receiver
- 660c Foot Pedal/Thermometer
- 6806 Keychain photo frame
- c301 Digital Photo viewer [Wallet Pix]
- f211 TP6911 Audio Headset
-1131 Integrated System Solution Corp.
- 1001 KY-BT100 Bluetooth Adapter
- 1002 Bluetooth Device
- 1003 Bluetooth Device
- 1004 Bluetooth Device
-1132 Toshiba Corp., Digital Media Equipment [hex]
- 4331 PDR-M4/M5/M70 Digital Camera
- 4332 PDR-M60 Digital Camera
- 4333 PDR-M2300/PDR-M700
- 4334 PDR-M65
- 4335 PDR-M61
- 4337 PDR-M11
- 4338 PDR-M25
-1136 CTS Electronincs
- 3131 CTS LS515
-113c Arin Tech Co., Ltd
-113d Mapower Electronics Co., Ltd
-1141 V One Multimedia, Pte., Ltd
-1142 CyberScan Technologies, Inc.
-1145 Japan Radio Company
- 0001 AirH PHONE AH-J3001V/J3002V
-1146 Shimane SANYO Electric Co., Ltd.
-1147 Ever Great Electric Wire and Cable Co., Ltd
-114b Sphairon Access Systems GmbH
- 0110 Turbolink UB801R WLAN Adapter
- 0150 Turbolink UB801RE Wireless 802.11g 54Mbps Network Adapter [RTL8187]
-114c Tinius Olsen Testing Machine Co., Inc.
-114d Alpha Imaging Technology Corp.
-114f Wavecom
-115b Salix Technology Co., Ltd.
-1162 Secugen Corp.
-1163 DeLorme Publishing, Inc.
- 0100 Earthmate GPS (orig)
- 0200 Earthmate GPS (LT-20, LT-40)
- 2020 Earthmate GPS (PN-40)
-1164 YUAN High-Tech Development Co., Ltd
- 0300 ELSAVISION 460D
- 0601 Analog TV Tuner
- 0900 TigerBird BMP837 USB2.0 WDM Encoder
- 0bc7 Digital TV Tuner
- 521b MC521A mini Card ATSC Tuner
- 6601 Digital TV Tuner Card [RTL2832U]
-1165 Telson Electronics Co., Ltd
-1166 Bantam Interactive Technologies
-1167 Salient Systems Corp.
-1168 BizConn International Corp.
-116e Gigastorage Corp.
-116f Silicon 10 Technology Corp.
- 0005 Flash Card Reader
- c108 Flash Card Reader
- c109 Flash Card Reader
-1175 Shengyih Steel Mold Co., Ltd
-117d Santa Electronic, Inc.
-117e JNC, Inc.
-1182 Venture Corp., Ltd
-1183 Compaq Computer Corp. [hex] (Digital Dream ??)
- 0001 DigitalDream l'espion XS
- 19c7 ISDN TA
- 4008 56k FaxModem
- 504a PJB-100 Personal Jukebox
-1184 Kyocera Elco Corp.
-1188 Bloomberg L.P.
-1189 Acer Communications & Multimedia
- 0893 EP-1427X-2 Ethernet Adapter [Acer]
-118f You Yang Technology Co., Ltd
-1190 Tripace
-1191 Loyalty Founder Enterprise Co., Ltd
-1196 Yankee Robotics, LLC
- 0010 Trifid Camera without code
- 0011 Trifid Camera
-1197 Technoimagia Co., Ltd
-1198 StarShine Technology Corp.
-1199 Sierra Wireless, Inc.
- 0019 AC595U
- 0021 AC597E
- 0024 MC5727 CDMA modem
- 0110 Composite Device
- 0112 CDMA 1xEVDO PC Card, AirCard 580
- 0120 AC595U
- 0218 MC5720 Wireless Modem
- 6467 MP Series Network Adapter
- 6468 MP Series Network Adapter
- 6469 MP Series Network Adapter
- 6802 MC8755 Device
- 6803 MC8765 Device
- 6804 MC8755 Device
- 6805 MC8765 Device
- 6812 MC8775 Device
- 6820 AC875 Device
- 6832 MC8780 Device
- 6833 MC8781 Device
- 683a MC8785 Device
- 683c MC8790 Device
- 6850 AirCard 880 Device
- 6851 AirCard 881 Device
- 6852 AirCard 880E Device
- 6853 AirCard 881E Device
- 6854 AirCard 885 Device
- 6856 ATT "USB Connect 881"
- 6870 MC8780 Device
- 6871 MC8781 Device
- 6893 MC8777 Device
- 68a3 MC8700 Modem
- 68aa 4G LTE adapter
- 9000 Gobi 2000 Wireless Modem (QDL mode)
- 9001 Gobi 2000 Wireless Modem
- 9002 Gobi 2000 Wireless Modem
- 9003 Gobi 2000 Wireless Modem
- 9004 Gobi 2000 Wireless Modem
- 9005 Gobi 2000 Wireless Modem
- 9006 Gobi 2000 Wireless Modem
- 9007 Gobi 2000 Wireless Modem
- 9008 Gobi 2000 Wireless Modem
- 9009 Gobi 2000 Wireless Modem
- 900a Gobi 2000 Wireless Modem
-119a ZHAN QI Technology Co., Ltd
-119b ruwido austria GmbH
- 0400 Infrared Keyboard V2.01
-11a0 Chipcon AS
- eb11 CC2400EB 2.0 ZigBee Sniffer
-11a3 Technovas Co., Ltd
- 8031 MP3 Player
- 8032 MP3 Player
-11aa GlobalMedia Group, LLC
- 1518 iREZ K2
-11ab Exito Electronics Co., Ltd
-11ac Nike
- 6565 FuelBand
-11b0 ATECH FLASH TECHNOLOGY
-11c5 Inmax
- 0521 IMT-0521 Smartcard Reader
-11db Topfield Co., Ltd.
- 1000 PVR
- 1100 PVR
-11e6 K.I. Technology Co. Ltd.
-11f5 Siemens AG
- 0001 SX1
- 0003 Mobile phone USB cable
- 0004 X75
- 0005 SXG75/EF81
- 0008 UMTS/HSDPA Data Card
-11f6 Prolific
- 2001 Willcom WSIM
-11f7 Alcatel (?)
- 02df TD10 Mobile phone USB cable
-1203 TSC Auto ID Technology Co., Ltd
- 0140 TTP-245C
-1209 InterBiometrics
- 1001 USB Hub
- 1002 USB Relais
- 1003 IBSecureCam-P
- 1004 IBSecureCam-O
- 1005 IBSecureCam-N
-120e Hudson Soft Co., Ltd
-120f Magellan
- 524e RoadMate 1475T
- 5260 Triton Handheld GPS Receiver (300/400/500/1500/2000)
-1210 DigiTech
- 001b RP155 Guitar Multi-Effects Processor
- 001c RP255 Guitar Multi-Effects Processor
-121e Jungsoft Co., Ltd
- 3403 Muzio JM250 Audio Player
-1223 SKYCABLE ENTERPRISE. CO., LTD.
-1230 Chipidea-Microelectronica, S.A.
-1233 Denver Electronics
- 5677 FUSB200 mp3 player
-1234 Brain Actuated Technologies
- 0000 Neural Impulse Actuator Prototype 1.0 [NIA]
- 4321 Human Interface Device
- ed02 Emotiv EPOC Developer Headset Wireless Dongle
-1235 Novation EMS
- 0001 ReMOTE Audio/XStation
- 0002 Speedio
- 0003 ReMOTE ZeRO SL
- 4661 ReMOTE25
- 8006 Focusrite Scarlett 2i2
-1241 Belkin
- 0504 Wireless Trackball Keyboard
- 1111 Mouse
- 1122 Typhoon Stream Optical Mouse USB+PS/2
- 1155 PS2/USB Browser Combo Mouse
- 1166 MI-2150 Trust Mouse
- 1177 F8E842-DL Mouse
- 1503 Keyboard
- 1603 Keyboard
- f767 Keyboard
-124a AirVast
- 168b PRISM3 WLAN Adapter
- 4017 PC-Chips 802.11b Adapter
- 4023 WM168g 802.11bg Wireless Adapter [Intersil ISL3886]
- 4025 IOGear GWU513 v2 802.11bg Wireless Adapter [Intersil ISL3887]
-124b Nyko (Honey Bee)
- 4d01 Airflo EX Joystick
-124c MXI - Memory Experts International, Inc.
- 3200 Stealth MXP 1GB
-125c Apogee Inc.
- 0010 Alta series CCD
-125f A-DATA Technology Co., Ltd.
- 312a Superior S102
- 312b Superior S102 Pro
- a91a Portable HDD CH91
- c08a C008 Flash Drive
- c81a Flash drive
- c93a 4GB Pen Drive
- c96a C906 Flash Drive
-1260 Standard Microsystems Corp.
- ee22 SMC2862W-G v3 EZ Connect 802.11g Adapter [Intersil ISL3887]
-1264 Covidien Energy-based Devices
-1266 Pirelli Broadband Solutions
- 6302 Fastweb DRG A226M ADSL Router
-1267 Logic3 / SpectraVideo plc
- 0103 G-720 Keyboard
- 0201 A4Tech SWOP-3 Mouse
- 0210 LG Optical Mouse 3D-310
- a001 JP260 PC Game Pad
- c002 Wireless Optical Mouse
-126c Aristocrat Technologies
-126d Bel Stewart
-126e Strobe Data, Inc.
-126f TwinMOS
- 0163 Storage device (2gB thumb drive)
- 1325 Mobile Disk
- 2168 Mobile Disk III
- a006 G240 802.11bg
-1274 Ensoniq
-1275 Xaxero Marine Software Engineering, Ltd.
- 0002 WeatherFax 2000 Demodulator
- 0080 SkyEye Weather Satellite Receiver
-1278 Starlight Xpress
- 0105 SXV-M5
- 0107 SXV-M7
- 0109 SXV-M9
- 0110 SXVF-H16
- 0115 SXVF-H5
- 0119 SXV-H9
- 0135 SXVF-H35
- 0136 SXVF-H36
- 0200 SXV interface for paraller MX cameras
- 0305 SXV-M5C
- 0307 SXV-M7C
- 0319 SXV-H9C
- 0325 SXV-M25C
- 0326 SXVR-M26C
- 0507 Lodestar autoguider
- 0517 CoStar
-1283 zebris Medical GmbH
- 0100 USB-RS232 Adaptor
- 0110 CMS20
- 0111 CMS 10
- 0112 CMS 05
- 0114 ARCUS digma PC-Interface
- 0115 SAM Axioquick recorder
- 0116 SAM Axioquick recorder
- 0120 emed-X
- 0121 emed-AT
- 0130 PDM
- 0150 CMS10GI (Golf)
-1286 Marvell Semiconductor, Inc.
- 1fab 88W8338 [Libertas] 802.11g
- 2001 88W8388 802.11a/b/g WLAN
- 2006 88W8362 802.11n WLAN
- 8001 BLOB boot loader firmware
-1291 Qualcomm Flarion Technologies, Inc. / Leadtek Research, Inc.
- 0010 FDM 2xxx Flash-OFDM modem
- 0011 LR7F06/LR7F14 Flash-OFDM modem
-1292 Innomedia
- 0258 Creative Labs VoIP Blaster
-1293 Belkin Components [hex]
- 0002 F5U002 Parallel Port [uss720]
- 2101 104-key keyboard
-1294 RISO KAGAKU CORP.
-129b CyberTAN Technology
- 160b Siemens S30853-S1031-R351 802.11g Wireless Adapter [Atheros AR5523]
- 160c Siemens S30853-S1038-R351 802.11g Wireless Adapter [Atheros AR5523]
- 1666 TG54USB 802.11bg
- 1667 802.11bg
- 1828 Gigaset USB Adapter 300
-12a7 Trendchip Technologies Corp.
-12ab Honey Bee Electronic International Ltd.
-12b8 Zhejiang Xinya Electronic Technology Co., Ltd.
-12b9 E28
-12ba Licensed by Sony Computer Entertainment America
- 00ff Rocksmith Guitar Adapter
- 0100 RedOctane Guitar for PlayStation(R)3
- 0120 RedOctane Drum Kit for PlayStation(R)3
- 0200 Harmonix Guitar for PlayStation(R)3
- 0210 Harmonix Drum Kit for PlayStation(R)3
-12c4 Autocue Group Ltd
- 0006 Teleprompter Two-button Hand Control (v1)
- 0008 Teleprompter Foot Control (v1)
-12d1 Huawei Technologies Co., Ltd.
- 1001 E169/E620/E800 HSDPA Modem
- 1003 E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem
- 1004 E220 (bis)
- 1009 U120
- 1010 ETS2252+ CDMA Fixed Wireless Terminal
- 1021 U8520
- 1035 U8120
- 1037 Ideos
- 1038 Ideos (debug mode)
- 1039 Ideos (tethering mode)
- 1406 E1750
- 140b EC1260 Wireless Data Modem HSD USB Card
- 140c E180v
- 1412 EC168c
- 1436 E173 3G Modem (modem-mode)
- 1446 E1552/E1800/E173 (HSPA modem)
- 1465 K3765 HSPA
- 14c3 K5005 Vodafone LTE/UMTS/GSM Modem/Networkcard
- 14c8 K5005 Vodafone LTE/UMTS/GSM MOdem/Networkcard
- 14c9 K3770 3G Modem
- 14d1 K3770 3G Modem (Mass Storage Mode)
- 14f1 Gobi 3000 HSPA+ Modem
- 1501 Pulse
- 1505 E398 LTE/UMTS/GSM Modem/Networkcard
- 1506 E398 LTE/UMTS/GSM Modem/Networkcard
- 150a E398 LTE/UMTS/GSM Modem/Networkcard
- 1520 K3765 HSPA
- 1521 K4505 HSPA+
- 1805 AT&T Go Phone U2800A phone
- 1c05 E173s 3G broadband stick (modem on)
- 1c0b E173s 3G broadband stick (modem off)
- 1d50 ET302s TD-SCDMA/TD-HSDPA Mobile Broadband
- 380b WiMAX USB modem(s)
-12d2 LINE TECH INDUSTRIAL CO., LTD.
-12d6 EMS Dr. Thomas Wuensche
- 0444 CPC-USB/ARM7
- 0888 CPC-USB/M16C
-12d7 BETTER WIRE FACTORY CO., LTD.
-12e6 Waldorf Music GmbH
- 0013 Blofeld
-12ef Tapwave, Inc.
- 0100 Tapwave Handheld [Tapwave Zodiac]
-12f5 Dynamic System Electronics Corp.
-12f7 Memorex Products, Inc.
- 1a00 TD Classic 003B
- 1e23 TravelDrive 2007 Flash Drive
-12fd AIN Comm. Technology Co., Ltd
- 1001 AWU2000b 802.11b Stick
-12ff Fascinating Electronics, Inc.
- 0101 Advanced RC Servo Controller
-1307 Transcend Information, Inc.
- 0163 256MB/512MB/1GB Flash Drive
- 0165 2GB/4GB Flash Drive
- 0190 Ut190 8 GB Flash Drive with MicroSD reader
- 0310 SD/MicroSD CardReader [hama]
- 0330 63-in-1 Multi-Card Reader/Writer
- 0361 CR-75: 51-in-1 Card Reader/Writer [Sakar]
- 1169 TS2GJF210 JetFlash 210 2GB
- 1171 Fingerprint Reader
-1308 Shuttle, Inc.
- 0003 VFD Module
- c001 eHome Infrared Transceiver
-1310 Roper
- 0001 Class 1 Bluetooth Dongle
-1312 ICS Electronics
-1313 ThorLabs
- 8070 PM100D
-131d Natural Point
- 0155 TrackIR 3 Pro Head Tracker
- 0156 TrackIR 4 Pro Head Tracker
-132a Envara Inc.
- 1502 WiND 802.11abg / 802.11bg WLAN
-132b Konica Minolta
- 0000 Dimage A2 Camera
- 0001 Minolta DiMAGE A2 (ptp)
- 0003 Dimage Xg Camera
- 0006 Dimage Z2 Camera
- 0007 Minolta DiMAGE Z2 (PictBridge mode)
- 0008 Dimage X21 Camera
- 000a Dimage Scan Dual IV AF-3200 (2891)
- 000b Dimage Z10 Camera
- 000d Dimage X50 Camera [storage?]
- 000f Dimage X50 Camera [p2p?]
- 0010 Dimage G600 Camera
- 0012 Dimage Scan Elite 5400 II (2892)
- 0013 Dimage X31 Camera
- 0015 Dimage G530 Camera
- 0017 Dimage Z3 Camera
- 0018 Minolta DiMAGE Z3 (PictBridge mode)
- 0019 Dimage A200 Camera
- 0021 Dimage Z5 Camera
- 0022 Minolta DiMAGE Z5 (PictBridge mode)
- 002c Dynax 5D camera
- 2001 Magicolor 2400w
- 2004 Magicolor 5430DL
- 2005 Magicolor 2430 DL
- 2029 Magicolor 5440DL
- 2030 PagePro 1350E(N)
- 2033 PagePro 1400W
- 2043 Magicolor 2530DL
- 2045 Magicolor 2500W
- 2049 Magicolor 2490MF
-1342 Mobility
- 0200 EasiDock 200 Hub
- 0201 EasiDock 200 Keyboard and Mouse Port
- 0202 EasiDock 200 Serial Port
- 0203 EasiDock 200 Printer Port
- 0204 Ethernet
- 0304 EasiDock Ethernet
-1345 Sino Lite Technology Corp.
- 001c Xbox Controller Hub
- 6006 Defender Wireless Controller
-1347 Moravian Instruments
- 0400 G2CCD USB 1.1 obsolete
- 0401 G2CCD-S with Sony ICX285 CCD
- 0402 G2CCD2
- 0403 G2/G3CCD-I KAI CCD
- 0404 G2/G3/G4 CCD-F KAF CCD
- 0410 G1-0400 CCD
- 0411 G1-0800 CCD
- 0412 G1-0300 CCD
- 0413 G1-2000 CCD
- 0414 G1-1400 CCD
-1348 Katsuragawa Electric Co., Ltd.
-134c PanJit International Inc.
- 0001 Touch Panel Controller
- 0002 Touch Panel Controller
- 0003 Touch Panel Controller
- 0004 Touch Panel Controller
-134e Digby's Bitpile, Inc. DBA D Bit
-1357 P&E Microcomputer Systems
- 0503 USB-ML-12 HCS08/HCS12 Multilink
- 0504 DEMOJM
-1366 SEGGER
- 0101 J-Link ARM
-136b STEC
-1370 Swissbit
- 0323 Swissmemory cirrusWHITE
- 6828 Victorinox Flash Drive
-1371 CNet Technology Inc.
- 0001 CNUSB-611AR Wireless Adapter-G [AT76C503]
- 0002 CNUSB-611AR Wireless Adapter-G [AT76C503] (FiberLine WL-240U)
- 0013 CNUSB-611 Wireless Adapter [AT76C505]
- 0014 CNUSB-611 Wireless Adapter [AT76C505] (FiberLine WL-240U)
- 5743 CNUSB-611 (D) Wireless Adapter [AT76C503]
- 9022 CWD-854 [RT2573]
- 9032 CWD-854 rev F
- 9401 CWD-854 Wireless 802.11g 54Mbps Network Adapter [RTL8187]
-1376 Vimtron Electronics Co., Ltd.
-137b SCAPS GmbH
- 0002 SCAPS USC-2 Scanner Controller
-1385 Netgear, Inc
- 4250 WG111T
- 4251 WG111T (no firmware)
- 5f00 WPN111 RangeMax(TM) Wireless USB 2.0 Adapter
- 5f01 WPN111 (no firmware)
- 5f02 WPN111 (no firmware)
- 6e00 WPNT121 802.11g 240Mbps Wireless Adapter [Airgo AGN300]
-138a Validity Sensors, Inc.
- 0001 VFS101 Fingerprint Reader
- 0005 VFS301 Fingerprint Reader
- 0007 VFS451 Fingerprint Reader
- 0008 VFS300 Fingerprint Reader
- 0011 VFS5011 Fingerprint Reader
- 0018 Fingerprint scanner
- 003c VFS471 Fingerprint Reader
-138e Jungo LTD
- 9000 Raisonance S.A. STM32 ARM evaluation board
-1390 TOMTOM B.V.
- 0001 GO 520 T/GO 630/ONE XL (v9)
-1391 IdealTEK, Inc.
- 1000 URTC-1000
-1395 Sennheiser Communications
- 3556 USB Headset
-1397 BEHRINGER International GmbH
- 00bc BCF2000
-1398 Q-tec
- 2103 USB 2.0 Storage Device
-13ad Baltech
- 9999 Card reader
-13b0 PerkinElmer Optoelectronics
- 000a Alesis Photon X25 MIDI Controller
-13b1 Linksys
- 000a WUSB54G v2 802.11g Adapter [Intersil ISL3887]
- 000b WUSB11 v4.0 802.11b Adapter [ALi M4301]
- 000c WUSB54AG 802.11a/g Adapter [Intersil ISL3887]
- 000d WUSB54G v4 802.11g Adapter [Ralink RT2500USB]
- 000e WUSB54GS v1 802.11g Adapter [Broadcom 4320 USB]
- 0011 WUSB54GP v4.0 802.11g Adapter [Ralink RT2500USB]
- 0014 WUSB54GS v2 802.11g Adapter [Broadcom 4320 USB]
- 0018 USB200M 10/100 Ethernet Adapter
- 001a HU200TS Wireless Adapter
- 001e WUSBF54G 802.11bg
- 0020 WUSB54GC v1 802.11g Adapter [Ralink RT73]
- 0022 WUSB54GX4 802.11g 240Mbps Wireless Adapter [Airgo AGN300]
- 0023 WUSB54GR
- 0024 WUSBF54G v1.1 802.11bg
- 0026 WUSB54GSC v1 802.11g Adapter [Broadcom 4320 USB]
- 0028 WUSB200 802.11g Adapter [Ralink RT2671]
- 0029 WUSB300N 802.11bgn Wireless Adapter [Marvell 88W8362+88W8060]
- 002f AE1000 v1 802.11n [Ralink RT3572]
- 0031 AM10 v1 802.11n [Ralink RT3072]
- 0039 AE1200 802.11bgn Wireless Adapter [Broadcom BCM43235]
- 003a AE2500 802.11abgn Wireless Adapter [Broadcom BCM43236]
- 13b1 WUSB200: Wireless-G Business Network Adapter with Rangebooster
-13b2 Alesis
- 0030 Multimix 8
-13b3 Nippon Dics Co., Ltd.
-13ba PCPlay
- 0001 König Electronic CMP-KEYPAD12 Numeric Keypad
- 0017 PS/2 Keyboard+Mouse Adapter
- 0018 Barcode PCP-BCG4209
-13be Ricoh Printing Systems, Ltd.
-13ca JyeTai Precision Industrial Co., Ltd.
-13cf Wisair Ltd.
- 1200 Olidata Wireless Multimedia Adapter
-13d0 Techsan Electronics Co., Ltd.
- 2282 TechniSat DVB-PC TV Star 2
-13d1 A-Max Technology Macao Commercial Offshore Co. Ltd.
- 7019 MD 82288
- abe6 Wireless 802.11g 54Mbps Network Adapter [RTL8187]
-13d2 Shark Multimedia
- 0400 Pocket Ethernet [klsi]
-13d3 IMC Networks
- 3201 VisionDTV USB-Ter/HAMA USB DVB-T device cold
- 3202 VisionDTV USB-Ter/HAMA USB DVB-T device warm
- 3203 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
- 3204 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
- 3205 DNTV Live! Tiny USB2 BDA (No Remote)
- 3206 DNTV Live! Tiny USB2 BDA (No Remote)
- 3207 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
- 3208 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
- 3209 DTV-DVB UDST7022BDA DVB-S Box(Without HID)
- 3211 DTV-DVB Hybrid Analog/Capture / Pinnacle PCTV 310e
- 3212 DTV-DVB UDTT704C - DVBT/NTSC/PAL Driver(PCM4)
- 3213 DTV-DVB UDTT704D - DVBT/NTSC/PAL Driver (PCM4)
- 3214 DTV-DVB UDTT704F -(MiniCard) DVBT/NTSC/PAL Driver(Without HID)
- 3215 DTV-DVB UDAT7240 - ATSC/NTSC/PAL Driver(PCM4)
- 3216 DTV-DVB UDTT 7047-USB 2.0 DVB-T Driver
- 3217 Digital-TV Receiver.
- 3219 DTV-DVB UDTT7049 - DVB-T Driver(Without HID)
- 3220 DTV-DVB UDTT 7047M-USB 2.0 DVB-T Driver
- 3223 DNTV Live! Tiny USB2 BDA (No Remote)
- 3224 DNTV Live! Tiny USB2 BDA (No Remote)
- 3226 DigitalNow TinyTwin DVB-T Receiver
- 3234 DVB-T FTA Half Minicard [RTL2832U]
- 3236 DTV-DVB UDTT 7047A-USB 2.0 DVB-T Driver
- 3237 DTV-DVB UDTT 704J - dual DVB-T Driver
- 3239 DTV-DVB UDTT704D - DVBT/NTSC/PAL Driver(Without HID)
- 3240 DTV-DVB UDXTTM6010 - A/D Driver(Without HID)
- 3241 DTV-DVB UDXTTM6010 - A/D Driver(Without HID)
- 3242 DTV-DVB UDAT7240LP - ATSC/NTSC/PAL Driver(Without HID)
- 3243 DTV-DVB UDXTTM6010 - A/D Driver(Without HID)
- 3244 DTV-DVB UDTT 7047Z-USB 2.0 DVB-T Driver
- 3247 802.11 n/g/b Wireless LAN Adapter
- 3249 Internal Bluetooth
- 3262 802.11 n/g/b Wireless LAN USB Adapter
- 3273 802.11 n/g/b Wireless LAN USB Mini-Card
- 3274 DVB-T Dongle [RTL2832U]
- 3282 DVB-T + GPS Minicard [RTL2832U]
- 3284 Wireless LAN USB Mini-Card
- 3304 Asus Integrated Bluetooth module [AR3011]
- 3306 Mediao 802.11n WLAN [Realtek RTL8191SU]
- 3315 Bluetooth module
- 3375 Atheros AR3012 Bluetooth 4.0 Adapter
- 5070 Webcam
- 5111 Integrated Webcam
- 5115 Integrated Webcam
- 5116 Integrated Webcam
- 5126 PC Cam
- 5702 UVC VGA Webcam
- 5710 UVC VGA Webcam
- 5716 UVC VGA Webcam
- 7020 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
- 7022 DTV-DVB UDST7022BDA DVB-S Box(Without HID)
-13dc ALEREON, INC.
-13dd i.Tech Dynamic Limited
-13e1 Kaibo Wire & Cable (Shenzhen) Co., Ltd.
-13e5 Rane
- 0001 SL-1
- 0003 TTM 57SL
-13e6 TechnoScope Co., Ltd.
-13ea Hengstler
- 0001 C-56 Thermal Printer
-13ec Zydacron
- 0006 HID Remote Control
-13ee MosArt
- 0003 Optical Mouse
-13fd Initio Corporation
- 0840 INIC-1618L SATA
- 0841 Samsung SE-T084M DVD-RW
- 1340 Hi-Speed USB to SATA Bridge
- 160f RocketFish SATA Bridge [INIC-1611]
- 1640 INIC-1610L SATA Bridge
- 1840 INIC-1608 SATA bridge
-13fe Kingston Technology Company Inc.
- 1a00 512MB/1GB Flash Drive
- 1a23 512MB Flash Drive
- 1d00 DataTraveler 2.0 1GB/4GB Flash Drive / Patriot Xporter 4GB Flash Drive
- 1e00 Flash Drive 2 GB [ICIDU 2 GB]
- 1e50 U3 Smart Drive
- 1f00 DataTraveler 2.0 4GB Flash Drive / Patriot Xporter 32GB (PEF32GUSB) Flash Drive
- 1f23 2Gb
- 2240 microSD card reader
- 3100 2/4 GB stick
- 3123 Verbatim STORE N GO 4GB
- 3800 Rage XT Flash Drive
- 3e00 Flash Drive
- 5100 Flash Drive
-1400 Axxion Group Corp.
-1402 Bowe Bell & Howell
-1403 Sitronix
- 0001 Digital Photo Frame
-140e Telechips, Inc.
- b011 TCC780X-based player (USB Boot mode)
- b021 TCC77X-based players (USB Boot mode)
-1410 Novatel Wireless
- 1110 Merlin S620
- 1120 Merlin EX720
- 1130 Merlin S720
- 1400 Merlin U730/U740 (Vodafone)
- 1410 Merlin U740 (non-Vodafone)
- 1430 Merlin XU870
- 1450 Merlin X950D
- 2110 Ovation U720/MCD3000
- 2410 Expedite EU740
- 2420 Expedite EU850D/EU860D/EU870D
- 4100 U727
- 4400 Ovation MC930D/MC950D
- 9010 Expedite E362
- a001 Gobi Wireless Modem
- a008 Gobi Wireless Modem (QDL mode)
- b001 Ovation MC551
-1415 Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc.
- 0000 Sony SingStar USBMIC
- 0020 Sony Wireless SingStar
- 2000 Sony Playstation Eye
-1419 ABILITY ENTERPRISE CO., LTD.
-1429 Vega Technologies Industrial (Austria) Co.
-142a Thales E-Transactions
- 0003 Artema Hybrid
- 0005 Artema Modular
- 0043 medCompact
-142b Arbiter Systems, Inc.
- 03a5 933A Portable Power Sentinel
-1430 RedOctane
- 0150 wireless receiver for skylanders wii
- 4734 Guitar Hero4 hub
- 474b Guitar Hero MIDI interface
-1431 Pertech Resources, Inc.
-1435 Wistron NeWeb
- 0427 UR054g 802.11g Wireless Adapter [Intersil ISL3887]
- 0711 UR055G 802.11bg
- 0804 AR9170+AR9104 802.11abgn Wireless Adapter
- 0826 AR5523
- 0827 AR5523 (no firmware)
- 0828 AR5523
- 0829 AR5523 (no firmware)
-1436 Denali Software, Inc.
-143c Altek Corporation
-1443 Digilent
- 0007 Development board JTAG
-1446 X.J.GROUP
- 6a73 Stamps.com Model 510 5LB Scale
-1453 Radio Shack
- 4026 26-183 Serial Cable
-1456 Extending Wire & Cable Co., Ltd.
-1457 First International Computer, Inc.
- 5117 OpenMoko Neo1973 kernel usbnet (g_ether, CDC Ethernet) mode
- 5118 OpenMoko Neo1973 Debug board (V2+)
- 5119 OpenMoko Neo1973 u-boot cdc_acm serial port
- 5120 OpenMoko Neo1973 u-boot usbtty generic serial
- 5121 OpenMoko Neo1973 kernel mass storage (g_storage) mode
- 5122 OpenMoko Neo1973 / Neo Freerunner kernel cdc_ether USB network
- 5123 OpenMoko Neo1973 internal USB CSR4 module
- 5124 OpenMoko Neo1973 Bluetooth Device ID service
-145f Trust
- 0106 Trust K56 V92 USB Modem
- 013d PC Camera (SN9C201 + OV7660)
- 013f Megapixel Auto Focus Webcam
- 0142 WB-6250X Webcam
- 015a WB-8300X 2MP Webcam
- 0161 15901 802.11bg Wireless Adapter [Realtek RTL8187L]
- 0167 Widescreen 3MP Webcam
- 0176 Isla Keyboard
-1460 Tatung Co.
- 9150 eHome Infrared Transceiver
-1461 Staccato Communications
-1462 Micro Star International
- 5512 MegaStick-1 Flash Stick
- 8807 DIGIVOX mini III [af9015]
-1472 Huawei-3Com
- 0007 Aolynk WUB300g [ZyDAS ZD1211]
- 0009 Aolynk WUB320g
-147a Formosa Industrial Computing, Inc.
- e015 eHome Infrared Receiver
- e016 eHome Infrared Receiver
- e017 eHome Infrared Receiver
- e018 eHome Infrared Receiver
- e02c Infrared Receiver
- e03a eHome Infrared Receiver
- e03c eHome Infrared Receiver
- e03e Infrared Receiver [IR605A/Q]
-147e Upek
- 1000 Biometric Touchchip/Touchstrip Fingerprint Sensor
- 1001 TCS5B Fingerprint sensor
- 1002 Biometric Touchchip/Touchstrip Fingerprint Sensor
- 2016 Biometric Touchchip/Touchstrip Fingerprint Sensor
- 2020 TouchChip Fingerprint Coprocessor (WBF advanced mode)
- 3000 TCS1C EIM/Cypress Fingerprint sensor
- 3001 TCS1C EIM/STM32 Fingerprint sensor
-147f Hama GmbH & Co., KG
-1482 Vaillant
- 1005 VRD PC-Interface
-1484 Elsa AG [hex]
- 1746 Ecomo 19H99 Monitor
- 7616 Elsa Hub
-1485 Silicom
- 0001 U2E
- 0002 Psion Gold Port Ethernet
-1487 DSP Group, Ltd.
-148e EVATRONIX SA
-148f Ralink Technology, Corp.
- 1706 RT2500USB Wireless Adapter
- 2070 RT2070 Wireless Adapter
- 2570 RT2570 Wireless Adapter
- 2573 RT2501/RT2573 Wireless Adapter
- 2671 RT2601/RT2671 Wireless Adapter
- 2770 RT2770 Wireless Adapter
- 2870 RT2870 Wireless Adapter
- 3070 RT2870/RT3070 Wireless Adapter
- 3071 RT3071 Wireless Adapter
- 3072 RT3072 Wireless Adapter
- 3370 RT3370 Wireless Adapter
- 3572 RT3572 Wireless Adapter
- 3573 RT3573 Wireless Adapter
- 5370 RT5370 Wireless Adapter
- 5372 RT5372 Wireless Adapter
- 5572 RT5572 Wireless Adapter
- 9020 RT2500USB Wireless Adapter
- 9021 RT2501USB Wireless Adapter
-1491 Futronic Technology Co. Ltd.
- 0020 FS81 Fingerprint Scanner Module
-1493 Suunto
-1497 Panstrong Company Ltd.
-1498 Microtek International Inc.
- a090 DVB-T Tuner
-149a Imagination Technologies
- 2107 DBX1 DSP core
-14aa WideView Technology Inc.
- 0001 Avermedia AverTV DVBT USB1.1 (cold)
- 0002 Avermedia AverTV DVBT USB1.1 (warm)
- 0201 AVermedia/Yakumo/Hama/Typhoon DVB-T USB2.0 (cold)
- 0221 WT-220U DVB-T dongle
- 022b WT-220U DVB-T dongle
- 0301 AVermedia/Yakumo/Hama/Typhoon DVB-T USB2.0 (warm)
-14ad CTK Corporation
-14ae Printronix Inc.
-14af ATP Electronics Inc.
-14b0 StarTech.com Ltd.
-14b2 Ralink Technology, Corp.
- 3a93 Topcom 802.11bg Wireless Adapter [Atheros AR5523]
- 3a95 Toshiba WUS-G06G-JT 802.11bg Wireless Adapter [Atheros AR5523]
- 3a98 Airlink101 AWLL4130 802.11bg Wireless Adapter [Atheros AR5523]
- 3c02 Conceptronic C54RU v2 802.11bg Wireless Adapter [Ralink RT2571]
- 3c05 rt2570 802.11g WLAN
- 3c06 Conceptronic C300RU v1 802.11bgn Wireless Adapter [Ralink RT2870]
- 3c07 802.11n adapter
- 3c09 802.11n adapter
- 3c22 Conceptronic C54RU v3 802.11bg Wireless Adapter [Ralink RT2571W]
- 3c23 Airlink101 AWLL6080 802.11bgn Wireless Adapter [Ralink RT2870]
- 3c24 NEC NP01LM 802.11abg Wireless Adapter [Ralink RT2571W]
- 3c25 DrayTek Vigor N61 802.11bgn Wireless Adapter [Ralink RT2870]
- 3c27 Airlink101 AWLL6070 802.11bgn Wireless Adapter [Ralink RT2770]
- 3c28 Conceptronic C300RU v2 802.11bgn Wireless Adapter [Ralink RT2770]
- 3c2b NEC NP02LM 802.11bgn Wireless Adapter [Ralink RT3072]
- 3c2c Keebox W150NU 802.11bgn Wireless Adapter [Ralink RT3070]
-14c0 Rockwell Automation, Inc.
-14c2 Gemlight Computer, Ltd
- 0250 Storage Adapter V2
- 0350 Storage Adapter V2
-14c8 Zytronic
-14cd Super Top
- 121c microSD card reader
- 123a SD/MMC/RS-MMC Card Reader
- 125c SD card reader
- 127b SDXC Reader
- 6116 M6116 SATA Bridge
- 6600 USB 2.0 IDE DEVICE
- 6700 Card Reader
- 6900 Card Reader
- 8123 SD MMC Reader
- 8125 SD MMC Reader
-14d8 JAMER INDUSTRIES CO., LTD.
-14dd Raritan Computer, Inc.
- 1007 D2CIM-VUSB KVM connector
-14e1 Dialogue Technology Corp.
- 5000 PenMount 5000 Touch Controller
-14e5 SAIN Information & Communications Co., Ltd.
-14ea Planex Communications
- ab10 GW-US54GZ
- ab11 GU-1000T
- ab13 GW-US54Mini 802.11bg
-14ed Shure Inc.
- 29b6 X2u Adapter
-14f7 TechniSat Digital GmbH
- 0001 SkyStar 2 HD CI
- 0002 SkyStar 2 HD CI
- 0003 CableStar Combo HD CI
- 0004 AirStar TeleStick 2
- 0500 DVB-PC TV Star HD
-1500 Ellisys
-1501 Pine-Tum Enterprise Co., Ltd.
-1509 First International Computer, Inc.
- 9242 eHome Infrared Transceiver
-1513 medMobile
- 0444 medMobile
-1514 Actel
- 2003 FlashPro3 Programmer
- 2004 FlashPro3 Programmer
- 2005 FlashPro3 Programmer
-1516 CompUSA
- 1603 Flash Drive
- 8628 Pen Drive
-1518 Cheshire Engineering Corp.
- 0001 HDReye High Dynamic Range Camera
- 0002 HDReye (before firmware loads)
-1520 Bitwire Corp.
-1524 ENE Technology Inc
- 6680 UTS 6680
-1527 Silicon Portals
- 0200 YAP Phone (no firmware)
- 0201 YAP Phone
-1529 UBIQUAM Co., Ltd.
- 3100 CDMA 1xRTT USB Modem (U-100/105/200/300/520)
-152a Thesycon Systemsoftware & Consulting GmbH
-152d JMicron Technology Corp. / JMicron USA Technology Corp.
- 0539 JMS539 SuperSpeed SATA II 3.0G Bridge
- 2329 JM20329 SATA Bridge
- 2335 ATA/ATAPI Bridge
- 2336 Hard Disk Drive
- 2337 ATA/ATAPI Bridge
- 2338 JM20337 Hi-Speed USB to SATA & PATA Combo Bridge
- 2339 JM20339 SATA Bridge
- 2352 ATA/ATAPI Bridge
- 2509 JMS539 SuperSpeed SATA II 3.0G Bridge
-152e LG (HLDS)
- 2507 PL-2507 IDE Controller
- e001 GSA-5120D DVD-RW
-1532 Razer USA, Ltd
- 0001 RZ01-020300 Optical Mouse [Diamondback]
- 0003 Krait Mouse
- 0007 DeathAdder Mouse
- 0013 Orochi mouse
- 0016 DeathAdder Mouse
- 0017 RZ01-0035 Laser Gaming Mouse [Imperator]
- 001c RZ01-0036 Optical Gaming Mouse [Abyssus]
- 0024 Razer Mamba
- 0036 RZ01-0075, Gaming Mouse [Naga Hex]
- 0101 Copperhead Mouse
- 0102 Tarantula Keyboard
- 0109 Lycosa Keyboard
- 0300 RZ06-0063 Motion Sensing Controllers [Hydra]
-1546 U-Blox AG
-1547 SG Intec Ltd & Co KG
- 1000 SG-Lock[U2]
-154a Celectronic GmbH
- 8180 CARD STAR/medic2
-154b PNY
- 0010 USB 2.0 Flash Drive
- 004d 8 GB Flash Drive
- 0057 32GB Micro Slide Attache Flash Drive
- 6545 FD Device
-154d ConnectCounty Holdings Berhad
-154e D&M Holdings, Inc. (Denon/Marantz)
- 3000 Marantz RC9001 Remote Control
-154f SNBC CO., Ltd
-1554 Prolink Microsystems Corp.
- 5010 PV-D231U(RN)-F [PixelView PlayTV SBTVD Full-Seg]
-1557 OQO
- 0002 model 01 WiFi interface
- 0003 model 01 Bluetooth interface
- 0a80 Gobi Wireless Modem (QDL mode)
- 7720 model 01+ Ethernet
- 8150 model 01 Ethernet interface
-1568 Sunf Pu Technology Co., Ltd
-156f Quantum Corporation
-1570 ALLTOP TECHNOLOGY CO., LTD.
-157b Ketron SRL
-157e TRENDnet
- 3006 TEW-444UB EU [TRENDnet]
- 3007 TEW-444UB EU (no firmware)
- 300a TEW-429UB 802.11bg
- 300b TEW-429UB 802.11bg
- 300c TEW-429UF A1 802.11bg Wireless Adapter [ZyDAS ZD1211B]
- 300d TEW-429UB C1 802.11bg
- 300e SMC SMCWUSB-N 802.11bgn 2x2:2 Wireless Adapter [Ralink RT2870]
- 3012 TEW-604UB 802.11bg Wireless Adapter [Atheros AR5523]
- 3013 TEW-645UB 802.11bgn 1x2:2 Wireless Adapter [Ralink RT2770]
- 3204 Allnet ALL0298 v2 802.11bg
- 3205 Allnet ALL0283 [AR5523]
- 3206 Allnet ALL0283 [AR5523](no firmware)
- 3207 TEW-509UB A1 802.11abg Wireless Adapter [ZyDAS ZD1211]
- 3208 TEW-509UB 1.1R 802.11abg Wireless Adapter
-1582 Fiberline
- 6003 WL-430U 802.11bg
-1587 SMA Technologie AG
-158d Oakley Inc.
-158e JDS Uniphase Corporation (JDSU)
- 0820 SmartPocket Class Device
-1598 Kunshan Guoji Electronics Co., Ltd.
-15a2 Freescale Semiconductor, Inc.
- 003b USB2CAN Application for ColdFire DEMOJM board
- 0042 OSBDM - Debug Port
- 004f i.MX28 SystemOnChip in RecoveryMode
- 0052 i.MX50 SystemOnChip in RecoveryMode
- 0054 i.MX6Q SystemOnChip in RecoveryMode
-15a4 Afatech Technologies, Inc.
- 1000 AF9015/AF9035 DVB-T stick
- 1001 AF9015/AF9035 DVB-T stick
- 1336 SDHC/MicroSD/MMC/MS/M2/CF/XD Flash Card Reader
- 9015 AF9015 DVB-T USB2.0 stick
- 9016 AF9015 DVB-T USB2.0 stick
-15a8 Teams Power Limited
-15a9 Gemtek
- 0002 SparkLAN WL-682 802.11bg Wireless Adapter [Intersil ISL3887]
- 0004 WUBR-177G [Ralink RT2571W]
- 0006 Wireless 11n USB Adapter
- 0010 802.11n USB Wireless Card
- 0012 WUBR-208N 802.11abgn Wireless Adapter [Ralink RT2870]
-15aa Gearway Electronics (Dong Guan) Co., Ltd.
-15ad VMware Inc.
-15ba Olimex Ltd.
- 0003 OpenOCD JTAG
- 0004 OpenOCD JTAG TINY
- 002a ARM-USB-TINY-H JTAG interface
- 002b ARM-USB-OCD-H JTAG+RS232
-15c0 XL Imaging
- 0001 2M pixel Microscope Camera
- 0002 3M pixel Microscope Camera
- 0003 1.3M pixel Microscope Camera (mono)
- 0004 1.3M pixel Microscope Camera (colour)
- 0005 3M pixel Microscope Camera (Mk 2)
- 0006 2M pixel Microscope Camera (with capture button)
- 0007 3M pixel Microscope Camera (with capture button)
- 0008 1.3M pixel Microscope Camera (colour, with capture button)
- 0009 1.3M pixel Microscope Camera (colour, with capture button)
- 000a 2M pixel Microscope Camera (Mk 2)
- 0010 1.3M pixel "Tinycam"
- 0101 3M pixel Microscope Camera
-15c2 SoundGraph Inc.
- 0036 LC16M VFD Display/IR Receiver
- 0038 GD01 MX LCD Display/IR Receiver
- ffda iMON PAD Remote Controller
- ffdc iMON PAD Remote Controller
-15c5 Advance Multimedia Internet Technology Inc. (AMIT)
- 0008 WL532U 802.11g Adapter
-15c6 Laboratoires MXM
- 1000 DigistimSP (cold)
- 1001 DigistimSP (warm)
- 1002 DigimapSP USB (cold)
- 1003 DigimapSP USB (warm)
- 1004 DigistimSP (cold)
- 1005 DigistimSP (warm)
- 1100 Odyssee (cold)
- 1101 Odyssee (warm)
- 1200 Digispy
-15c8 KTF Technologies
- 3201 EVER EV-W100/EV-W250
-15c9 D-Box Technologies
-15ca Textech International Ltd.
- 00c3 Mini Optical Mouse
- 0101 MIDI Interface cable
- 1806 MIDI Interface cable
-15d5 Coulomb Electronics Ltd.
-15d9 Trust International B.V.
- 0a33 Optical Mouse
- 0a37 Mouse
- 0a41 MI-2540D [Optical mouse]
- 0a4c USB+PS/2 Optical Mouse
- 0a4d Optical Mouse
-15dc Hynix Semiconductor Inc.
-15e0 Seong Ji Industrial Co., Ltd.
-15e1 RSA
- 2007 RSA SecurID (R) Authenticator
-15e4 Numark
- 0024 Mixtrack
-15e8 SohoWare
- 9100 NUB100 Ethernet [pegasus]
- 9110 10/100 USB Ethernet
-15e9 Pacific Digital Corp.
- 04ce MemoryFrame MF-570
- 1968 MemoryFrame MF-570
- 1969 Digital Frame
-15ec Belcarra Technologies Corp.
-15f4 HanfTek
- 0001 HanfTek UMT-010 USB2.0 DVB-T (cold)
- 0025 HanfTek UMT-010 USB2.0 DVB-T (warm)
-1604 Tascam
- 8000 US-428 Audio/Midi Controller (without fw)
- 8001 US-428 Audio/Midi Controller
- 8004 US-224 Audio/Midi Controller (without fw)
- 8005 US-224 Audio/Midi Controller
- 8006 US-122 Audio/Midi Interface (without fw)
- 8007 US-122 Audio/Midi Interface
-1606 Umax
- 0002 Astra 1236U Scanner
- 0010 Astra 1220U
- 0030 Astra 1600U/2000U
- 0050 Scanner
- 0060 Astra 3400/3450
- 0070 Astra 4400/4450
- 0130 Astra 2100U
- 0160 Astra 5400U
- 0170 Uniscan D50
- 0230 Astra 2200/2200SU
- 0350 Astra 4800/4850 Scanner
- 1030 Astra 4000U
- 1220 Genesys Logic Scanner Controller NT5.0
- 2010 AstraCam Digital Camera
- 2020 AstraCam 1000
- 2030 AstraCam 1800 Digital Camera
-1608 Inside Out Networks [hex]
- 0001 EdgePort/4 Serial Port
- 0002 Edgeport/8
- 0003 Rapidport/4
- 0004 Edgeport/4
- 0005 Edgeport/2
- 0006 Edgeport/4i
- 0007 Edgeport/2i
- 0008 Edgeport/8
- 000c Edgeport/421
- 000d Edgeport/21
- 000e Edgeport/4
- 000f Edgeport/8
- 0010 Edgeport/2
- 0011 Edgeport/4
- 0012 Edgeport/416
- 0014 Edgeport/8i
- 0018 Edgeport/412
- 0019 Edgeport/412
- 001a Edgeport/2+2i
- 0101 Edgeport/4
- 0105 Edgeport/2
- 0106 Edgeport/4i
- 0107 Edgeport/2i
- 010c Edgeport/421
- 010d Edgeport/21
- 0110 Edgeport/2
- 0111 Edgeport/4
- 0112 Edgeport/416
- 0114 Edgeport/8i
- 0201 Edgeport/4
- 0203 Rapidport/4
- 0204 Edgeport/4
- 0205 Edgeport/2
- 0206 Edgeport/4i
- 0207 Edgeport/2i
- 020c Edgeport/421
- 020d Edgeport/21
- 020e Edgeport/4
- 020f Edgeport/8
- 0210 Edgeport/2
- 0211 Edgeport/4
- 0212 Edgeport/416
- 0214 Edgeport/8i
- 0215 Edgeport/1
- 0216 EPOS/44
- 0217 Edgeport/42
- 021a Edgeport/2+2i
- 021b Edgeport/2c
- 021c Edgeport/221c
- 021d Edgeport/22c
- 021e Edgeport/21c
- 021f Edgeport/62
- 0240 Edgeport/1
- 0241 Edgeport/1i
- 0242 Edgeport/4s
- 0243 Edgeport/8s
- 0244 Edgeport/8
- 0245 Edgeport/22c
- 0301 Watchport/P
- 0302 Watchport/M
- 0303 Watchport/W
- 0304 Watchport/T
- 0305 Watchport/H
- 0306 Watchport/E
- 0307 Watchport/L
- 0308 Watchport/R
- 0309 Watchport/A
- 030a Watchport/D
- 030b Watchport/D
- 030c Power Management Port
- 030e Power Management Port
- 030f Watchport/G
- 0310 Watchport/Tc
- 0311 Watchport/Hc
- 1403 MultiTech Systems MT4X56 Modem
- 1a17 Agilent Technologies (E6473)
-160a VIA Technologies, Inc.
- 3184 VIA VNT-6656 [WiFi 802.11b/g USB Dongle]
-160e INRO
- 0001 E2USBKey
-1614 Amoi Electronics
- 0404 WMA9109 UMTS Phone
- 0600 Vodafone VDA GPS / Toschiba Protege G710
- 0804 WP-S1 Phone
-1619 L & K Precision Technology Co., Ltd.
-1621 Wionics Research
-1628 Stonestreet One, Inc.
-162a Airgo Networks Inc.
-162f WiQuest Communications, Inc.
-1630 2Wire, Inc.
- 0005 802.11g Wireless Adapter [Intersil ISL3886]
- 0011 PC Port 10 Mps Adapter
- ff81 802.11b Wireless Adapter [Lucent/Agere Hermes I]
-1631 Good Way Technology
- 6200 GWUSB2E
- c019 RT2573
-1645 Cross Match Technologies GmbH
- 0001 1S Serial Port
- 0002 2S Serial Port
- 0003 1S25 Serial Port
- 0004 4S Serial Port
- 0005 E45 Ethernet [klsi]
- 0006 Parallel Port
- 0007 U1-SC25 SCSI
- 0008 Ethernet
- 0016 Bi-directional to Parallel Printer Converter
- 0080 1 port to Serial Converter
- 0081 1 port to Serial Converter
- 0093 1S9 Serial Port
- 8000 EZ-USB
- 8001 1 port to Serial
- 8002 2x Serial Port
- 8003 1 port to Serial
- 8004 2U4S serial/usb hub
- 8005 Ethernet
- 8080 1 port to Serial
- 8081 1 port to Serial
- 8093 PortGear Serial Port
-1649 SofTec Microsystems
- 0102 uDART In-Circuit Debugger
- 0200 SpYder USBSPYDER08
-164a ChipX
-164c Matrix Vision GmbH
- 0101 mvBlueFOX camera (no firmware)
- 0103 mvBlueFOX camera
- 0201 mvBlueLYNX-X intelligent camera (bootloader)
- 0203 mvBlueLYNX-X intelligent camera
-1657 Struck Innovative Systeme GmbH
- 3150 SIS3150 USB2.0 to VME interface
-165b Frontier Design Group
- 8101 Tranzport Control Surface
- fad1 Alphatrack Control Surface
-165c Kondo Kagaku
- 0002 Serial Adapter
-1660 Creatix Polymedia GmbH
-1668 Actiontec Electronics, Inc. [hex]
- 0009 Gateway
- 0333 Modem
- 0358 InternetPhoneWizard
- 0405 Gateway
- 0408 Prism2.5 802.11b Adapter
- 0413 Gateway
- 0421 Prism2.5 802.11b Adapter
- 0441 IBM Integrated Bluetooth II
- 0500 BTM200B BlueTooth Adapter
- 1050 802UIG-1 802.11g Wireless Mini Adapter [Intersil ISL3887]
- 1200 802AIN Wireless N Network Adapter [Atheros AR9170+AR9101]
- 1441 IBM Integrated Bluetooth II
- 2441 BMDC-2 IBM Bluetooth III w.56k
- 3441 IBM Integrated Bluetooth III
- 6010 Gateway
- 6097 802.11b Wireless Adapter
- 6106 802UI3(B) 802.11b Wireless Adapter [Intersil PRISM 3]
- 7605 UAT1 Wireless Ethernet Adapter
-1669 PiKRON Ltd. [hex]
- 1001 uLan2USB Converter - PS1 protocol
-166a Clipsal
- 0101 C-Bus Multi-room Audio Matrix Switcher
- 0201 C-Bus Pascal Automation Controller
- 0301 C-Bus Wireless PC Interface
- 0303 C-Bus interface
- 0304 C-Bus Black and White Touchscreen
- 0305 C-Bus Spectrum Colour Touchscreen
- 0401 C-Bus Architectural Dimmer
-1677 China Huada Integrated Circuit Design (Group) Co., Ltd. (CIDC Group)
- 0103 Token
-1679 Total Phase
- 2001 Beagle Protocol Analyzer
- 2002 Cheetah SPI Host Adapter
-1680 Golden Bridge Electech Inc.
- a332 DVB-T Dongle [RTL2832U]
-1681 Prevo Technologies, Inc.
- 0001 Tuner's Dashboard
- 0002 Tubachron
-1682 Maxwise Production Enterprise Ltd.
-1684 Godspeed Computer Corp.
-1685 Delock
- 0200 Infrared adapter
-1686 ZOOM Corporation
- 0045 H4 Digital Recorder
-1687 Kingmax Digital Inc.
- 5289 FlashDisk
- 6211 FlashDisk
-1688 Saab AB
-1689 Razer USA, Ltd
- fd00 Onza Tournament Edition controller
-168c Atheros Communications
- 0001 AR5523
- 0002 AR5523 (no firmware)
-1690 Askey Computer Corp. [hex]
- 0001 Arcaze Gamepad
- 0101 Creative Modem Blaster DE5670
- 0102 V1456 VQE-R2 Modem [conexant]
- 0103 1456 VQE-R3 Modem [conexant]
- 0104 HCF V90 Data Fax RTAD Modem
- 0107 HCF V.90 Data,Fax,RTAD Modem
- 0109 MagicXpress V.90 Pocket Modem [conexant]
- 0203 Voyager ADSL Modem Loader
- 0204 Voyager ADSL Modem
- 0205 DSL Modem
- 0206 GlobeSpan ADSL WAN Modem
- 0208 DSL Modem
- 0209 Voyager 100 ADSL Modem
- 0211 Globespan Virata ADSL LAN Modem
- 0212 DSL Modem
- 0213 HM121d DSL Modem
- 0214 HM121d DSL Modem
- 0215 Voyager 105 ADSL Modem
- 0701 WLAN
- 0710 SMCWUSBT-G
- 0711 SMCWUSBT-G (no firmware)
- 0712 AR5523
- 0713 AR5523 (no firmware)
- 0715 Name: Voyager 1055 Laptop 802.11g Adapter [Broadcom 4320]
- 0722 RT2573
- 0726 Wi-Fi Wireless LAN Adapter
- 0740 802.11n Wireless LAN Card
- 0901 Voyager 205 ADSL Router
-1696 Hitachi Video and Information System, Inc.
-1697 VTec Test, Inc.
-16a5 Shenzhen Zhengerya Cable Co., Ltd.
-16a6 Unigraf
- 3000 VTG-3xxx Video Test Generator family
- 4000 VTG-4xxx Video Test Generator family
- 5000 VTG-5xxx Video Test Generator family
- 5001 VTG-5xxx Special (update) mode of VTG-5xxx family
-16ab Global Sun Technology
- 7801 AR5523
- 7802 AR5523 (no firmware)
- 7811 AR5523
- 7812 AR5523 (no firmware)
-16ac Dongguan ChingLung Wire & Cable Co., Ltd.
-16b4 iStation
- 0801 U43
-16b5 Persentec, Inc.
- 0002 Otto driving companion
-16c0 Van Ooijen Technische Informatica
- 03e8 free for internal lab use 1000
- 03e9 free for internal lab use 1001
- 03ea free for internal lab use 1002
- 03eb free for internal lab use 1003
- 03ec free for internal lab use 1004
- 03ed free for internal lab use 1005
- 03ee free for internal lab use 1006
- 03ef free for internal lab use 1007
- 03f0 free for internal lab use 1008
- 03f1 free for internal lab use 1009
- 0477 Teensy Rebootor
- 0478 Teensy Halfkay Bootloader
- 0479 Teensy Debug
- 047a Teensy Serial
- 047b Teensy Serial+Debug
- 047c Teensy Keyboard
- 047d Teensy Keyboard+Debug
- 047e Teensy Mouse
- 047f Teensy Mouse+Debug
- 0480 Teensy RawHID
- 0481 Teensy RawHID+Debug
- 0482 Teensyduino Keyboard+Mouse+Joystick
- 0483 Teensyduino Serial
- 0484 Teensyduino Disk
- 0485 Teensyduino MIDI
- 0486 Teensyduino RawHID
- 0487 Teensyduino Serial+Keyboard+Mouse+Joystick
- 0488 Teensyduino Flight Sim Controls
- 05dc shared ID for use with libusb
- 05dd BlackcatUSB2
- 05df HID device except mice, keyboards, and joysticks
- 05e1 Free shared USB VID/PID pair for CDC devices
- 05e4 Free shared USB VID/PID pair for MIDI devices
- 06b4 USB2LPT with 2 interfaces
- 06b5 USB2LPT with 3 interfaces (native, HID, printer)
- 076b OpenPCD 13.56MHz RFID Reader
- 076c OpenPICC 13.56MHz RFID Simulator (native)
- 08ac OpenBeacon USB stick
- 08ca Alpermann+Velte Universal Display
- 08cb Alpermann+Velte Studio Clock
- 08cc Alpermann+Velte SAM7S MT Boot Loader
- 08cd Alpermann+Velte SAM7X MT Boot Loader
- 0a32 jbmedia Light-Manager Pro
- 27d8 libusb-bound devices
- 27d9 HID device except mice, keyboards, and joysticks
- 27da Mouse
- 27db Keyboard
- 27dc Joystick
- 27dd CDC-ACM class devices (modems)
- 27de MIDI class devices
- 294a Eye Movement Recorder [Visagraph]
- 294b Eye Movement Recorder [ReadAlyzer]
-16ca Wireless Cables, Inc.
- 1502 Bluetooth Dongle
-16cc silex technology, Inc.
-16d0 MCS
- 0498 Braintechnology USB-LPS
- 0504 RETRO Innovations ZoomFloppy
- 054b GrauTec ReelBox OLED Display (external)
- 05be EasyLogic Board
- 0753 Digistump DigiSpark
- 075c AB-1.x UAC1 [Audio Widget]
- 075d AB-1.x UAC2 [Audio Widget]
-16d3 Frontline Test Equipment, Inc.
-16d5 AnyDATA Corporation
- 6202 CDMA/UMTS/GPRS modem
- 6501 CDMA 2000 1xRTT/EV-DO Modem
- 6502 CDMA/UMTS/GPRS modem
-16d6 JABLOCOM s.r.o.
- 8000 GDP-04 desktop phone
- 8001 EYE-02
- 8003 GDP-04 modem
- 8004 Bootloader
- 8005 GDP-04i
- 8007 BTP-06 modem
-16d8 CMOTECH Co., Ltd.
- 5141 CMOTECH CDMA Technologies modem
- 5533 CCU-550 CDMA EV-DO modem
- 5543 CDMA 2000 1xRTT/1xEVDO modem
- 6280 CMOTECH CDMA Technologies modem
- 6803 CNU-680 CDMA EV-DO modem
- 8001 Gobi 2000 Wireless Modem (QDL mode)
- 8002 Gobi 2000 Wireless Modem
-16dc Wiener, Plein & Baus
- 0001 CC
- 000b VM
- 0010 PL512 Power Supply System
- 0011 MARATON Power Supply System
- 0012 MPOD Multi Channel Power Supply System
- 0015 CML Control, Measurement and Data Logging System
-16df King Billion Electronics Co., Ltd.
-16f0 GN ReSound A/S
- 0001 Speedlink Programming Interface
- 0003 Airlink Wireless Programming Interface
-16f5 Futurelogic Inc.
-1706 BlueView Technologies, Inc.
-1707 ARTIMI
-170b Swissonic
- 0011 MIDI-USB 1x1
-170d Avnera
-1725 Vitesse Semiconductor
-1726 Axesstel, Inc.
- 1000 wireless modem
- 2000 wireless modem
- 3000 wireless modem
-172f Waltop International Corp.
- 0022 Tablet
- 0024 Tablet
- 0025 Tablet
- 0026 Tablet
- 0031 Slim Tablet 12.1"
- 0032 Slim Tablet 5.8"
- 0034 Slim Tablet 12.1"
- 0038 Genius G-Pen F509
- 0500 Media Tablet 14.1"
- 0501 Media Tablet 10.6"
- 0502 Sirius Battery Free Tablet
-1733 Cellink Technology Co., Ltd
- 0101 RF Wireless Optical Mouse OP-701
-1736 CANON IMAGING SYSTEM TECHNOLOGIES INC.
-1737 Linksys
- 0039 USB1000 Gigabit Notebook Adapter
- 0070 WUSB100 v1 RangePlus Wireless Network Adapter [Ralink RT2870]
- 0071 WUSB600N v1 Dual-Band Wireless-N Network Adapter [Ralink RT2870]
- 0073 WUSB54GC v2 802.11g Adapter [Realtek RTL8187B]
- 0075 WUSB54GSC v2 802.11g Adapter [Broadcom 4326U]
- 0077 WUSB54GC v3 802.11g Adapter [Ralink RT2070L]
- 0078 WUSB100 v2 RangePlus Wireless Network Adapter [Ralink RT3070]
- 0079 WUSB600N v2 Dual-Band Wireless-N Network Adapter [Ralink RT3572]
-1740 Senao
- 0605 LevelOne WUA-0605 N_Max Wireless USB Adapter
- 0615 LevelOne WUA-0615 N_Max Wireless USB Adapter
- 1000 NUB-350 802.11g Wireless Adapter [Intersil ISL3887]
- 2000 NUB-8301 802.11bg
- 3701 EUB-3701 EXT 802.11g Wireless Adapter [Ralink RT2571W]
- 9603 RTL8188S WLAN Adapter
- 9701 EnGenius 802.11n Wireless USB Adapter
- 9702 EnGenius 802.11n Wireless USB Adapter
- 9703 EnGenius 802.11n Wireless USB Adapter
- 9705 EnGenius 802.11n Wireless USB Adapter
- 9706 EUB9706 802.11n Wireless Adapter [Ralink RT3072]
- 9801 EUB9801 802.11abgn Wireless Adapter [Ralink RT3572]
-1743 General Atomics
-174c ASMedia Technology Inc.
- 5106 Transcend StoreJet 25M3
- 55aa ASMedia 2105 SATA bridge
-174f Syntek
- 1105 SM-MS/Pro-MMC-XD Card Reader
- 110b HP Webcam
- 1403 Integrated Webcam
- 1404 USB Camera device, 1.3 MPixel Web Cam
- 5212 USB 2.0 UVC PC Camera
- 5a11 PC Camera
- 5a31 Sonix USB 2.0 Camera
- 5a35 Sonix 1.3MPixel USB 2.0 Camera
- 6a31 Web Cam - Asus A8J, F3S, F5R, VX2S, V1S
- 6a33 Web Cam - Asus F3SA, F9J, F9S
- 6a51 2.0MPixel Web Cam - Asus Z96J, Z96S, S96S
- 6a54 Web Cam
- 6d51 2.0Mpixel Web Cam - Eurocom D900C
- 8a12 Syntek 0.3MPixel USB 2.0 UVC PC Camera
- 8a33 Syntek USB 2.0 UVC PC Camera
- a311 1.3MPixel Web Cam - Asus A3A, A6J, A6K, A6M, A6R, A6T, A6V, A7T, A7sv, A7U
- a312 1.3MPixel Web Cam
- a821 Web Cam - Packard Bell BU45, PB Easynote MX66-208W
- aa11 Web Cam
-1753 GERTEC Telecomunicacoes Ltda.
- c901 PPC900 Pinpad Terminal
-1759 LucidPort Technology, Inc.
-1761 ASUSTek Computer, Inc. (wrong ID)
- 0b05 802.11n Network Adapter (wrong ID - swapped vendor and device)
-1772 System Level Solutions, Inc.
-1776 Arowana
- 501c 300K CMOS Camera
-177f Sweex
- 0004 MM004V5 Photo Key Chain (Digital Photo Frame) 1.5"
- 0153 LW153 802.11n Adapter [ralink rt3070]
- 0154 LW154 802.11bgn (1x1:1) Wireless Adapter [Realtek RTL8188SU]
- 0313 LW313 802.11n Adapter [ralink rt2770 + rt2720]
-1781 Multiple Vendors
- 083e MetaGeek Wi-Spy
- 083f MetaGeek Wi-Spy 2.4x
- 0938 Iguanaworks USB IR Transceiver
- 0c30 Telldus TellStick
- 0c31 Telldus TellStick Duo
- 0c9f USBtiny
-1782 Spreadtrum Communications Inc.
-1784 TopSeed Technology Corp.
- 0001 eHome Infrared Transceiver
- 0004 RF Combo Device
- 0006 eHome Infrared Transceiver
- 0007 eHome Infrared Transceiver
- 0008 eHome Infrared Transceiver
- 000a eHome Infrared Transceiver
- 0011 eHome Infrared Transceiver
-1787 ATI AIB
-1788 ShenZhen Litkconn Technology Co., Ltd.
-1796 Printrex, Inc.
-1797 JALCO CO., LTD.
-1799 Thales Norway A/S
- 7051 Belkin F5D7051 802.11g Adapter v1000 [Broadcom 4320]
- 8051 Belkin F5D8051 v2 802.11bgn Wireless Adapter [Marvell 88W8362]
-179d Ricavision International, Inc.
- 0010 Internal Infrared Transceiver
-17a0 Samson Technologies Corp.
- 0001 C01U condenser microphone
- 0002 Q1U dynamic microphone
- 0100 C03U multi-pattern microphone
- 0101 UB1 boundary microphone
- 0200 StudioDock monitors (internal hub)
- 0201 StudioDock monitors (audio)
- 0301 Q2U handheld microphone with XLR
- 0302 GoMic compact condenser microphone
- 0310 Meteor condenser microphone
-17a4 Concept2
- 0001 Performance Monitor 3
- 0002 Performance Monitor 4
-17a5 Advanced Connection Technology Inc.
-17a7 MICOMSOFT CO., LTD.
-17a8 Kamstrup A/S
- 0001 Optical Eye/3-wire
- 0005 M-Bus Master MultiPort 250D
-17b3 Grey Innovation
- 0004 Linux-USB Midi Gadget
-17ba SAURIS GmbH
- 0001 SAU510-USB [no firmware]
- 0510 SAU510-USB and SAU510-USB plus JTAG Emulators
- 0511 SAU510-USB Iso Plus JTAG Emulator
- 0520 SAU510-USB Nano JTAG Emulator
- 1511 Onboard Emulator on SAUModule development kit
-17c3 Singim International Corp.
-17cc Native Instruments
- 041c Audio 2 DJ
- 0808 Maschine Controller
- 0815 Audio Kontrol 1
- 0839 Audio 4 DJ
- 0d8d Guitarrig Mobile
- 1915 Session I/O
- 1940 RigKontrol3
- 1969 RigKontrol2
- 1978 Audio 8 DJ
- 2280 Medion MDPNA1500 in card reader mode
- 2305 Traktor Kontrol X1
- 4711 Kore Controller
- 4712 Kore Controller 2
- baff Traktor Kontrol S4
-17cf Hip Hing Cable & Plug Mfy. Ltd.
-17d0 Sanford L.P.
-17d3 Korea Techtron Co., Ltd.
-17e9 DisplayLink
- 0051 USB VGA Adaptor
- 0377 Plugable UD-160-A (M)
- 0378 Plugable UGA-2K-A
- 0379 Plugable UGA-125
- 037a Plugable UGA-165
- 037b Plugable USB-VGA-165
- 037c Plugable DC-125
- 037d Plugable USB2-HDMI-165
- 430a HP Port Replicator (Composite Device)
-17eb Cornice, Inc.
-17ef Lenovo
- 1003 Integrated Smart Card Reader
- 1004 Integrated Webcam
- 100a ThinkPad Mini Dock Plus Series 3
- 3815 ChipsBnk 2GB USB Stick
- 4802 Lenovo Vc0323+MI1310_SOC Camera
- 4807 UVC Camera
- 480c Integrated Webcam
- 480d Integrated Webcam [R5U877]
- 480e Integrated Webcam [R5U877]
- 480f Integrated Webcam [R5U877]
- 4810 Integrated Webcam [R5U877]
- 4811 Integrated Webcam [R5U877]
- 4812 Integrated Webcam [R5U877]
- 4813 Integrated Webcam [R5U877]
- 4814 Integrated Webcam [R5U877]
- 4815 Integrated Webcam [R5U877]
- 481c Integrated Webcam
- 481d Integrated Webcam
- 6007 Smartcard Keyboard
- 6009 ThinkPad Keyboard with TrackPoint
- 6014 Mini Wireless Keyboard N5901
- 7423 IdeaPad A1 Tablet
- 7435 A789 (Mass Storage mode, with debug)
- 743a A789 (Mass Storage mode)
- 7497 A789 (MTP mode)
- 7498 A789 (MTP mode, with debug)
- 749a A789 (PTP mode)
- 749b A789 (PTP mode, with debug)
-17f4 WaveSense
- aaaa Jazz Blood Glucose Meter
-17f5 K.K. Rocky
-17f6 Unicomp, Inc
- 0709 Model M Keyboard
-1809 Advantech
- 4604 USB-4604
- 4761 USB-4761 Portable Data Acquisition Module
-1822 Twinhan
- 3201 VisionDTV USB-Ter/HAMA USB DVB-T device cold
- 3202 VisionDTV USB-Ter/HAMA USB DVB-T device warm
-1831 Gwo Jinn Industries Co., Ltd.
-1832 Huizhou Shenghua Industrial Co., Ltd.
-183d VIVOphone
- 0010 VoiceKey
-1843 Vaisala
-1849 ASRock Incorporation
-1852 GYROCOM C&C Co., LTD
- 7922 Audiotrak DR.DAC2 DX [GYROCOM C&C]
-1854 Memory Devices Ltd.
-185b Compro
- 3020 K100 Infrared Receiver
- 3082 K100 Infrared Receiver v2
- d000 Compro Videomate DVB-U2000 - DVB-T USB cold
- d001 Compro Videomate DVB-U2000 - DVB-T USB warm
-1861 Tech Technology Industrial Company
-1862 Teridian Semiconductor Corp.
-1870 Nexio Co., Ltd
- 0001 iNexio Touchscreen controller
-1871 Aveo Technology Corp.
- 0101 UVC camera (Bresser microscope)
- 0d01 USB2.0 Camera
-1873 Navilock
- ee93 EasyLogger
-187c Alienware Corporation
- 0600 Dual Compatible Game Pad
-187f Siano Mobile Silicon
- 0010 Stallar Board
- 0100 Stallar Board
- 0200 Nova A
- 0201 Nova B
- 0202 Nice
- 0300 Vega
- 0301 VeNice
-1892 Vast Technologies, Inc.
-1894 Topseed
- 5632 Atek Tote Remote
- 5641 TSAM-004 Presentation Remote
-1897 Evertop Wire Cable Co.
-189f 3Shape A/S
- 0002 Legato2 3D Scanner
-18a4 CSSN
- 0001 Snapshell IDR
-18a5 Verbatim, Ltd
- 0214 Portable Hard Drive
- 0216 External Hard Drive
- 0218 External Hard Drive
- 0227 Pocket Hard Drive
- 022b Portable Hard Drive (Store'n'Go)
- 0237 Portable Harddrive (500 GB)
- 0302 32GB Flash Drive
-18b1 Petalynx
- 0037 Maxter Remote Control
-18b4 e3C Technologies
- 1001 DUTV007
- 1002 EC168 (v5) based USB DVB-T receiver
- 1689 DUTV009
- fffa EC168 (v2) based USB DVB-T receiver
- fffb EC168 (v3) based USB DVB-T receiver
-18b6 Mikkon Technology Limited
-18b7 Zotek Electronic Co., Ltd.
-18c5 AMIT Technology, Inc.
- 0002 CG-WLUSB2GO
- 0008 CG-WLUSB2GNR Corega Wireless USB Adapter
- 0012 CG-WLUSB10 Corega Wireless USB Adapter
-18cd Ecamm
- cafe Pico iMage
-18d1 Google Inc.
- 0d02 Celkon A88
- 2d00 Android-powered device in accessory mode
- 2d01 Android-powered device in accessory mode with ADB support
- 4e11 Nexus One
- 4e12 Nexus One (debug)
- 4e13 Nexus One (tether)
- 4e20 Nexus S (fastboot)
- 4e21 Nexus S
- 4e22 Nexus S (debug)
- 4e24 Nexus S (tether)
- 4e40 Nexus 7 (fastboot)
- 4e41 ASUS Nexus 7 (MTP modus)
- 4e42 Nexus 7 (debug)
- 4e43 ASUS Nexus 7 (PTP modus)
- 4ee1 Nexus 4
- 4ee2 Nexus 4 (debug)
- 4ee3 Nexus 4 (tether)
- 4ee4 Nexus 4 (debug + tether)
- 7102 Toshiba Thrive tablet
- b004 Pandigital / B&N Novel 9" tablet
-18d5 Starline International Group Limited
-18d9 Kaba
- 01a0 B-Net 91 07
-18dc LKC Technologies, Inc.
-18dd Planon System Solutions Inc.
- 1000 DocuPen RC800
-18e3 Fitipower Integrated Technology Inc
- 7102 Multi Card Reader (Internal)
- 9101 All-in-1 Card Reader
- 9102 Multi Card Reader
- 9512 Webcam
-18e8 Qcom
- 6144 LR802UA 802.11b Wireless Adapter [ALi M4301AU]
- 6196 RT2573
- 6229 RT2573
- 6232 Wireless 802.11g 54Mbps Network Adapter [RTL8187]
-18ea Matrox Graphics, Inc.
- 0002 DualHead2Go [Analog Edition]
- 0004 TripleHead2Go [Digital Edition]
-18ec Arkmicro Technologies Inc.
- 3118 USB to IrDA adapter [ARK3116T]
- 3188 ARK3188 UVC Webcam
- 3299 Webcam Carrefour
- 3366 Bresser Biolux NV
-18fd FineArch Inc.
-1908 GEMBIRD
- 1320 PhotoFrame PF-15-1
-190d Motorola GSG
-1914 Alco Digital Devices Limited
-1915 Nordic Semiconductor ASA
- 2233 Linksys WUSB11 v2.8 802.11b Adapter [Atmel AT76C505]
- 2234 Linksys WUSB54G v1 OEM 802.11g Adapter [Intersil ISL3886]
- 2235 Linksys WUSB54GP v1 OEM 802.11g Adapter [Intersil ISL3886]
- 2236 Linksys WUSB11 v3.0 802.11b Adapter [Intersil PRISM 3]
-1926 NextWindow
- 0003 1900 HID Touchscreen
- 0006 1950 HID Touchscreen
- 0064 1950 HID Touchscreen
- 0065 1950 HID Touchscreen
- 0066 1950 HID Touchscreen
- 0067 1950 HID Touchscreen
- 0068 1950 HID Touchscreen
- 0069 1950 HID Touchscreen
- 0071 1950 HID Touchscreen
- 0072 1950 HID Touchscreen
- 0073 1950 HID Touchscreen
- 0074 1950 HID Touchscreen
- 0075 1950 HID Touchscreen
- 0076 1950 HID Touchscreen
- 0077 1950 HID Touchscreen
- 0078 1950 HID Touchscreen
- 0079 1950 HID Touchscreen
- 007a 1950 HID Touchscreen
- 007e 1950 HID Touchscreen
- 007f 1950 HID Touchscreen
- 0080 1950 HID Touchscreen
- 0081 1950 HID Touchscreen
- 0082 1950 HID Touchscreen
- 0083 1950 HID Touchscreen
- 0084 1950 HID Touchscreen
- 0085 1950 HID Touchscreen
- 0086 1950 HID Touchscreen
- 0087 1950 HID Touchscreen
-192f Avago Technologies, Pte.
- 0000 Mouse
- 0416 ADNS-5700 Optical Mouse Controller (3-button)
- 0616 ADNS-5700 Optical Mouse Controller (5-button)
-1930 Shenzhen Xianhe Technology Co., Ltd.
-1931 Ningbo Broad Telecommunication Co., Ltd.
-1934 Feature Integration Technology Inc. (Fintek)
- 0602 F71610 or F71612 Consumer Infrared Receiver/Transceiver
- 0702 Integrated Consumer Infrared Receiver/Transceiver
- 5168 F71610A or F71612A Consumer Infrared Receiver/Transceiver
-1941 Dream Link
- 8021 WH1080 Weather Station / USB Missile Launcher
-1943 Sensoray Co., Inc.
- 2250 Model 2250 MPEG and JPEG Capture Card
- 2253 Model 2253 Audio/Video Codec Card
- 2255 Model 2255 4 Channel Capture Card
- 2257 Model 2257 4 Channel Capture Card
- a250 Model 2250 MPEG and JPEG Capture Card (cold)
- a253 Model 2253 Audio/Video Codec Card (cold)
-1949 Lab126, Inc.
- 0002 Amazon Kindle
- 0004 Amazon Kindle 3/4/Paperwhite
- 0006 Kindle Fire
- 0008 Amazon Kindle Fire HD 8.9"
-194f PreSonus Audio Electronics, Inc.
- 0101 AudioBox 22 VSL
- 0102 AudioBox 44 VSL
- 0103 AudioBox 1818 VSL
- 0301 AudioBox
-1951 Hyperstone AG
-1953 Ironkey Inc.
-1954 Radiient Technologies
-195d Itron Technology iONE
- 7002 Libra-Q11 IR remote
- 7006 Libra-Q26 / 1.0 Remote
- 7777 Scorpius wireless keyboard
- 7779 Scorpius-P20MT
-1965 Uniden Corporation
- 0016 HomePatrol-1
-1967 CASIO HITACHI Mobile Communications Co., Ltd.
-196b Wispro Technology Inc.
-1970 Dane-Elec Corp. USA
- 0000 Z Mate 16GB
-1975 Dongguan Guneetal Wire & Cable Co., Ltd.
-1976 Chipsbrand Microelectronics (HK) Co., Ltd.
- 6025 Flash Drive 512 MB
-1977 T-Logic
- 0111 TL203 MP3 Player and Voice Recorder
-197d Leuze electronic
- 0222 BCL 508i
-1989 Nuconn Technology Corp.
-198f Beceem Communications Inc.
- 0210 BCS200 WiMAX Adapter
- 0220 BCSM250 WiMAX Adapter
-1990 Acron Precision Industrial Co., Ltd.
-1995 Trillium Technology Pty. Ltd.
- 3202 REC-ADPT-USB (recorder)
- 3203 REC-A-ADPT-USB (recorder)
-199b MicroStrain, Inc.
- 3065 3DM-GX3-25 Orientation Sensor
-199e The Imaging Source Europe GmbH
- 8101 DFx 21BU04 Camera
-199f Benica Corporation
-19a8 Biforst Technology Inc.
-19ab Bodelin
- 1000 ProScope HR
-19af S Life
- 6611 Celestia VoIP Phone
-19b2 Batronix
- 0010 BX32 Batupo
- 0011 BX32P Barlino
- 0012 BX40 Bagero
- 0013 BX48 Batego
-19b4 Celestron
- 0002 SkyScout Personal Planetarium
- 0101 Handheld Digital Microscope 44302
-19b5 B & W Group
-19b6 Infotech Logistic, LLC
-19b9 Data Robotics
- 8d20 Drobo Elite
-19c2 Futuba
- 6a11 MDM166A Fluorescent Display
-19ca Mindtribe
- 0001 Sandio 3D HID Mouse
-19cf Parrot SA
-19d2 ZTE WCDMA Technologies MSM
- 0001 CDMA Wireless Modem
- 0002 MF632/ONDA ET502HS/MT505UP
- 0007 TU25 WiMAX Adapter [Beceem BCS200]
- 0031 MF110/MF627/MF636
- 0063 K3565-Z HSDPA
- 0064 MF627 AU
- 0083 MF190
- 0103 MF112
- 0104 K4505-Z
- 0146 MF 195E (HSPA+ Modem)
- 0167 MF820 4G LTE
- 0172 AX226 WIMAX MODEM (After Modeswitch)
- 0325 LTE4G O2 ZTE MF821D LTE/UMTS/GSM Modem/Networkcard
- 0326 LTE4G O2 ZTE MF821D LTE/UMTS/GSM Modem/Networkcard
- 1008 K3570-Z
- 1010 K3571-Z
- 1017 K5006-Z vodafone LTE/UMTS/GSM Modem/Networkcard
- 1018 K5006-Z vodafone LTE/UMTS/GSM Modem/Networkcard
- 1203 MF691 [ T-Mobile webConnect Rocket 2.0]
- 1217 MF652
- 1218 MF652
- 2000 MF627/MF628/MF628+/MF636+ HSDPA/HSUPA
- fff2 Gobi Wireless Modem (QDL mode)
- fff3 Gobi Wireless Modem
-19e1 WeiDuan Electronic Accessory (S.Z.) Co., Ltd.
-19e8 Industrial Technology Research Institute
-19ef Pak Heng Technology (Shenzhen) Co., Ltd.
-19f7 RODE Microphones
- 0001 Podcaster
-19fa Gampaq Co.Ltd
- 0703 Steering Wheel
-19ff Dynex
- 0102 1.3MP Webcam
- 0201 Rocketfish Wireless 2.4G Laser Mouse
-1a08 Bellwood International, Inc.
-1a0a USB-IF non-workshop
- badd USB OTG Compliance test device
-1a12 KES Co., Ltd.
-1a1d Veho
- 0407 Mimi WiFi speakers
-1a25 Amphenol East Asia Ltd.
-1a2a Seagate Branded Solutions
-1a2c China Resource Semico Co., Ltd
- 0021 Keyboard
- 0024 Multimedia Keyboard
-1a32 Quanta Microsystems, Inc.
- 0304 802.11n Wireless LAN Card
-1a34 ACRUX
- 0802 Gamepad
-1a36 Biwin Technology Ltd.
-1a40 Terminus Technology Inc.
- 0101 4-Port HUB
- 0201 FE 2.1 7-port Hub
-1a41 Action Electronics Co., Ltd.
-1a44 VASCO Data Security International
- 0001 Digipass 905 SmartCard Reader
-1a4a Silicon Image
-1a4b SafeBoot International B.V.
-1a5a Tandberg Data
-1a61 Abbott Diabetes Care
- 3410 CoPilot System Cable
-1a6a Spansion Inc.
-1a6d SamYoung Electronics Co., Ltd
-1a6e Global Unichip Corp.
-1a6f Sagem Orga GmbH
-1a72 Physik Instrumente
- 1008 E-861 PiezoWalk NEXACT Controller
-1a79 Bayer Health Care LLC
-1a7b Lumberg Connect GmbH & Co. KG
-1a7c Evoluent
- 0068 VerticalMouse 3
- 0168 VerticalMouse 3 Wireless
- 0191 VerticalMouse 4
-1a81 Holtek Semiconductor, Inc.
- 2203 Laser Gaming mouse
- 2204 Optical Mouse
- 2205 Laser Mouse
-1a86 QinHeng Electronics
- 5512 CH341 in EPP/MEM/I2C mode, EPP/I2C adapter
- 5523 CH341 in serial mode, usb to serial port converter
- 5584 CH341 in parallel mode, usb to printer port converter
- 7523 HL-340 USB-Serial adapter
- 752d CH345 MIDI adapter
- 7584 CH340S
- e008 HID-based serial adapater
-1a89 Dynalith Systems Co., Ltd.
-1a8b SGS Taiwan Ltd.
-1a8d BandRich, Inc.
- 1002 BandLuxe 3.5G HSDPA Adapter
- 1009 BandLuxe 3.5G HSPA Adapter
- 100d 4G LTE adapter
-1a98 Leica Camera AG
-1aa4 Data Drive Thru, Inc.
-1aa5 UBeacon Technologies, Inc.
-1aa6 eFortune Technology Corp.
-1aad KeeTouch
- 0001 Touchscreen
-1ab1 Rigol Technologies
- 0588 DS1000 SERIES
-1acb Salcomp Plc
-1ad1 Desay Wire Co., Ltd.
-1ad4 APS
- 0002 KM290-HRS
-1adb SEL C662 Serial Cable
-1ae4 ic-design Reinhard Gottinger GmbH
-1ae7 X-TENSIONS
- 0381 VS-DVB-T 380U (af9015 based)
- 2001 SpeedLink Snappy Mic webcam (SL-6825-SBK)
- 9003 SpeedLink Vicious And Devine Laplace webcam, white (VD-1504-SWT)
- 9004 SpeedLink Vicious And Devine Laplace webcam, black (VD-1504-SBK)
-1aed High Top Precision Electronic Co., Ltd.
-1aef Conntech Electronic (Suzhou) Corporation
-1af1 Connect One Ltd.
-1afe A. Eberle GmbH & Co. KG
- 0001 PQ Box 100
-1b04 Meilhaus Electronic GmbH
- 0630 ME-630
- 0940 ME-94
- 0950 ME-95
- 0960 ME-96
- 1000 ME-1000
- 100a ME-1000
- 100b ME-1000
- 1400 ME-1400
- 140a ME-1400A
- 140b ME-1400B
- 140c ME-1400C
- 140d ME-1400D
- 140e ME-1400E
- 14ea ME-1400EA
- 14eb ME-1400EB
- 1604 ME-1600/4U
- 1608 ME-1600/8U
- 160c ME-1600/12U
- 160f ME-1600/16U
- 168f ME-1600/16U8I
- 4610 ME-4610
- 4650 ME-4650
- 4660 ME-4660
- 4661 ME-4660I
- 4662 ME-4660
- 4663 ME-4660I
- 4670 ME-4670
- 4671 ME-4670I
- 4672 ME-4670S
- 4673 ME-4670IS
- 4680 ME-4680
- 4681 ME-4680I
- 4682 ME-4680S
- 4683 ME-4680IS
- 6004 ME-6000/4
- 6008 ME-6000/8
- 600f ME-6000/16
- 6014 ME-6000I/4
- 6018 ME-6000I/8
- 601f ME-6000I/16
- 6034 ME-6000ISLE/4
- 6038 ME-6000ISLE/8
- 603f ME-6000ISLE/16
- 6044 ME-6000/4/DIO
- 6048 ME-6000/8/DIO
- 604f ME-6000/16/DIO
- 6054 ME-6000I/4/DIO
- 6058 ME-6000I/8/DIO
- 605f ME-6000I/16/DIO
- 6074 ME-6000ISLE/4/DIO
- 6078 ME-6000ISLE/8/DIO
- 607f ME-6000ISLE/16/DIO
- 6104 ME-6100/4
- 6108 ME-6100/8
- 610f ME-6100/16
- 6114 ME-6100I/4
- 6118 ME-6100I/8
- 611f ME-6100I/16
- 6134 ME-6100ISLE/4
- 6138 ME-6100ISLE/8
- 613f ME-6100ISLE/16
- 6144 ME-6100/4/DIO
- 6148 ME-6100/8/DIO
- 614f ME-6100/16/DIO
- 6154 ME-6100I/4/DIO
- 6158 ME-6100I/8/DIO
- 615f ME-6100I/16/DIO
- 6174 ME-6100ISLE/4/DIO
- 6178 ME-6100ISLE/8/DIO
- 617f ME-6100ISLE/16/DIO
- 6259 ME-6200I/9/DIO
- 6359 ME-6300I/9/DIO
- 810a ME-8100A
- 810b ME-8100B
- 820a ME-8200A
- 820b ME-8200B
-1b0e BLUTRONICS S.r.l.
- 1078 BLUDRIVE II CCID
- 1079 BLUDRIVE II CCID
- 1080 WRITECHIP II CCID
-1b1c Corsair
- 0890 Flash Padlock
- 0a00 SP2500 Speakers
- 0a60 Vengeance K60 Keyboard
- 1a01 Flash Voyager GT
- 1a0a Survivor Stealth Flash Drive
- 1a90 Flash Voyager GT
-1b20 MStar Semiconductor, Inc.
-1b22 WiLinx Corp.
-1b26 Cellex Power Products, Inc.
-1b27 Current Electronics Inc.
-1b28 NAVIsis Inc.
-1b32 Ugobe Life Forms, Inc.
- 0064 Pleo robotic dinosaur
-1b36 ViXS Systems, Inc.
-1b3b iPassion Technology Inc.
- 2933 PC Camera/Webcam controller
- 2935 PC Camera/Webcam controller
- 2936 PC Camera/Webcam controller
- 2937 PC Camera/Webcam controller
- 2938 PC Camera/Webcam controller
- 2939 PC Camera/Webcam controller
- 2950 PC Camera/Webcam controller
- 2951 PC Camera/Webcam controller
- 2952 PC Camera/Webcam controller
- 2953 PC Camera/Webcam controller
- 2955 PC Camera/Webcam controller
- 2956 PC Camera/Webcam controller
- 2957 PC Camera/Webcam controller
- 2958 PC Camera/Webcam controller
- 2959 PC Camera/Webcam controller
- 2960 PC Camera/Webcam controller
- 2961 PC Camera/Webcam controller
- 2962 PC Camera/Webcam controller
- 2963 PC Camera/Webcam controller
- 2965 PC Camera/Webcam controller
- 2966 PC Camera/Webcam controller
- 2967 PC Camera/Webcam controller
- 2968 PC Camera/Webcam controller
- 2969 PC Camera/Webcam controller
-1b3f Generalplus Technology Inc.
- 0c52 808 Camera #9 (mass storage mode)
- 2002 808 Camera #9 (web-cam mode)
-1b47 Energizer Holdings, Inc.
- 0001 CHUSB Duo Charger (NiMH AA/AAA USB smart charger)
-1b48 Plastron Precision Co., Ltd.
-1b59 K.S. Terminals Inc.
-1b5a Chao Zhou Kai Yuan Electric Co., Ltd.
-1b65 The Hong Kong Standards and Testing Centre Ltd.
-1b72 ATERGI TECHNOLOGY CO., LTD.
-1b73 Fresco Logic
- 1000 xHC1 Controller
-1b75 Ovislink Corp.
- 3072 AirLive WN-360USB adapter
- 8171 WN-370USB 802.11bgn Wireless Adapter [Realtek RTL8188SU]
- 8187 AirLive WL-1600USB 802.11g Adapter [Realtek RTL8187L]
- 9170 AirLive X.USB 802.11abgn [Atheros AR9170+AR9104]
- a200 AirLive WN-200USB wireless 11b/g/n dongle
-1b76 Legend Silicon Corp.
-1b80 Afatech
- c810 MC810 [af9015]
- d393 DVB-T receiver [RTL2832U]
- d396 UB396-T [RTL2832U]
- d397 DVB-T receiver [RTL2832U]
- d398 DVB-T receiver [RTL2832U]
- d700 FM Radio SnapMusic Mobile 700 (FM700)
- e297 Conceptronic DVB-T CTVDIGRCU V3.0
- e383 DVB-T UB383-T [af9015]
- e385 DVB-T UB385-T [af9015]
- e386 DVB-T UB385-T [af9015]
- e399 DVB-T KWorld PlusTV 399U [af9015]
- e39a DVB-T395U [af9015]
- e39b DVB-T395U [af9015]
- e401 Sveon STV22 DVB-T [af9015]
- e409 IT9137FN Dual DVB-T [KWorld UB499-2T]
-1b86 Dongguan Guanshang Electronics Co., Ltd.
-1b88 ShenMing Electron (Dong Guan) Co., Ltd.
-1b8c Altium Limited
-1b8d e-MOVE Technology Co., Ltd.
-1b8e Amlogic, Inc.
-1b8f MA LABS, Inc.
-1b96 N-Trig
- 0001 Duosense Transparent Electromagnetic Digitizer
-1b98 YMax Communications Corp.
-1b99 Shenzhen Yuanchuan Electronic
-1ba1 JINQ CHERN ENTERPRISE CO., LTD.
-1ba2 Lite Metals & Plastic (Shenzhen) Co., Ltd.
-1ba4 Ember Corporation
- 0001 InSight USB Link
-1ba6 Abilis Systems
-1ba8 China Telecommunication Technology Labs
-1bad Harmonix Music
- 0002 Guitar for Xbox 360
- 0003 Drum Kit for Xbox 360
-1bae Vuzix Corporation
- 0002 VR920 Immersive Eyewear
-1bbb T & A Mobile Phones
-1bc4 Ford Motor Co.
-1bc5 AVIXE Technology (China) Ltd.
-1bc7 Telit
- 0020 HE863
- 0021 HE910
- 1003 UC864-E
- 1004 UC864-G
- 1005 CC864-DUAL
- 1006 CC864-SINGLE
- 1010 DE910-DUAL
-1bce Contac Cable Industrial Limited
-1bcf Sunplus Innovation Technology Inc.
- 0007 Optical Mouse
- 053a Targa Silvercrest OMC807-C optische Funkmaus
- 05c5 SPRF2413A [2.4GHz Wireless Keyboard/Mouse Receiver]
- 05cf Micro keyboard & mouse receiver
- 0c31 SPIF30x Serial-ATA bridge
- 2885 ASUS Webcam
- 2888 HP Universal Camera
-1bd0 Hangzhou Riyue Electronic Co., Ltd.
-1bd5 BG Systems, Inc.
-1bde P-TWO INDUSTRIES, INC.
-1bef Shenzhen Tongyuan Network-Communication Cables Co., Ltd
-1bf0 RealVision Inc.
-1bf5 Extranet Systems Inc.
-1bf6 Orient Semiconductor Electronics, Ltd.
-1bfd TouchPack
- 1268 Touch Screen
- 1368 Touch Screen
- 1568 Capacitive Touch Screen
- 1668 IR Touch Screen
- 1688 Resistive Touch Screen
- 2968 Touch Screen
- 5968 Touch Screen
- 6968 Touch Screen
-1c02 Kreton Corporation
-1c04 QNAP System Inc.
-1c0c Ionics EMS, Inc.
- 0102 Plug Computer
-1c0d Relm Wireless
-1c10 Lanterra Industrial Co., Ltd.
-1c13 ALECTRONIC LIMITED
-1c1a Datel Electronics Ltd.
-1c1b Volkswagen of America, Inc.
-1c1f Goldvish S.A.
-1c20 Fuji Electric Device Technology Co., Ltd.
-1c21 ADDMM LLC
-1c22 ZHONGSHAN CHIANG YU ELECTRIC CO., LTD.
-1c26 Shanghai Haiying Electronics Co., Ltd.
-1c27 HuiYang D & S Cable Co., Ltd.
-1c31 LS Cable Ltd.
-1c34 SpringCard
- 7241 Prox'N'Roll RFID Scanner
-1c37 Authorizer Technologies, Inc.
-1c3d NONIN MEDICAL INC.
-1c3e Wep Peripherals
-1c40 EZPrototypes
- 0533 TiltStick
- 0534 i2c-tiny-usb interface
- 0535 glcd2usb interface
- 0536 Swiss ColorPAL
-1c49 Cherng Weei Technology Corp.
-1c4f SiGma Micro
- 0002 Keyboard TRACER Gamma Ivory
- 0003 HID controller
- 000e Genius KB-120 Keyboard
- 0026 Keyboard
- 3000 Micro USB Web Camera
- 3002 WebCam SiGma Micro
-1c6b Philips & Lite-ON Digital Solutions Corporation
- a222 DVD Writer Slimtype eTAU108
-1c6c Skydigital Inc.
-1c73 AMT
- 861f Anysee E30 USB 2.0 DVB-T Receiver
-1c77 Kaetat Industrial Co., Ltd.
-1c78 Datascope Corp.
-1c79 Unigen Corporation
-1c7a LighTuning Technology Inc.
- 0801 Fingerprint Reader
-1c7b LUXSHARE PRECISION INDUSTRY (SHENZHEN) CO., LTD.
-1c83 Schomäcker GmbH
- 0001 RS150 V2
-1c87 2N TELEKOMUNIKACE a.s.
-1c88 Somagic, Inc.
- 0007 SMI Grabber (EasyCAP DC60+ clone) (no firmware) [SMI-2021CBE]
- 003c SMI Grabber (EasyCAP DC60+ clone) [SMI-2021CBE]
-1c89 HONGKONG WEIDIDA ELECTRON LIMITED
-1c8e ASTRON INTERNATIONAL CORP.
-1c98 ALPINE ELECTRONICS, INC.
-1c9e OMEGA TECHNOLOGY
- 6061 WL-72B 3.5G MODEM
-1ca0 ACCARIO Inc.
-1ca1 Symwave
- 18ab SATA bridge
-1cac Kinstone
- a332 C8 Webcam
- b288 C18 Webcam
-1cb3 Aces Electronic Co., Ltd.
-1cb4 OPEX CORPORATION
-1cb6 IdeaCom Technology Inc.
- 6681 IDC6681
-1cbe Luminary Micro Inc.
- 00fd In-Circuit Debug Interface
- 00ff Stellaris ROM DFU Bootloader
-1cbf FORTAT SKYMARK INDUSTRIAL COMPANY
-1cc0 PlantSense
-1cca NextWave Broadband Inc.
-1ccd Bodatong Technology (Shenzhen) Co., Ltd.
-1cd4 adp corporation
-1cd5 Firecomms Ltd.
-1cd6 Antonio Precise Products Manufactory Ltd.
-1cde Telecommunications Technology Association (TTA)
-1cdf WonTen Technology Co., Ltd.
-1ce0 EDIMAX TECHNOLOGY CO., LTD.
-1ce1 Amphenol KAE
-1cf1 Dresden Elektronik
- 0001 Sensor Terminal Board
- 0004 Wireless Handheld Terminal
- 0017 deRFusbSniffer 2.4 GHz
- 0018 deRFusb24E001
- 0019 deRFusb14E001
- 001a deRFusb23E00
- 001b deRFusb13E00
- 001c deRFnode
- 001d deRFnode / gateway
- 0022 deUSB level shifter
- 0023 deRFusbSniffer Sub-GHz
- 0025 deRFusb23E06
- 0027 deRFusb13E06
-1cfc ANDES TECHNOLOGY CORPORATION
-1cfd Flextronics Digital Design Japan, LTD.
-1d03 iCON
- 0028 iCreativ MIDI Controller
-1d07 Solid-Motion
-1d08 NINGBO HENTEK DRAGON ELECTRONICS CO., LTD.
-1d09 TechFaith Wireless Technology Limited
- 1026 HSUPA Modem FLYING-LARK46-VER0.07 [Flying Angel]
-1d0a Johnson Controls, Inc. The Automotive Business Unit
-1d0b HAN HUA CABLE & WIRE TECHNOLOGY (J.X.) CO., LTD.
-1d0f Sonix Technology Co., Ltd.
-1d14 ALPHA-SAT TECHNOLOGY LIMITED
-1d17 C-Thru Music Ltd.
- 0001 AXiS-49 Harmonic Table MIDI Keyboard
-1d19 Dexatek Technology Ltd.
- 1101 DK DVB-T Dongle
- 1102 DK mini DVB-T Dongle
- 1103 DK 5217 DVB-T Dongle
- 6105 Video grabber
- 8202 DK DVBC/T DONGLE
-1d1f Diostech Co., Ltd.
-1d20 SAMTACK INC.
-1d27 ASUS
-1d34 Dream Cheeky
- 0001 Dream Cheeky Fidget
- 0004 Dream Cheeky Webmail Notifier
- 0008 Dream Cheeky button
- 000a Dream Cheeky Mailbox Friends Alert
- 000d Dream Cheeky Big Red Button
- 0013 Dream Cheeky LED Message Board
-1d4d PEGATRON CORPORATION
- 0002 Ralink RT2770/2720 802.11b/g/n Wireless LAN Mini-USB Device
- 000c Ralink RT3070 802.11b/g/n Wireless Lan USB Device
- 000e Ralink RT3070 802.11b/g/n Wireless Lan USB Device
-1d50 OpenMoko, Inc.
- 5119 GTA01/GTA02 U-Boot Bootloader
- 602b FPGALink
-1d57 Xenta
- 0005 Wireless Receiver (Keyboard and Mouse)
- 0006 Wireless Receiver (RC Laser Pointer)
- 000c Optical Mouse
- 2400 Wireless Mouse Receiver
- 32da 2.4GHz Receiver (Keyboard and Mouse)
- 83d0 Click-mouse!
- ac01 Wireless Receiver (Keyboard and Mouse)
- ad02 SE340D PC Remote Control
- af01 AUVIO Universal Remote Receiver for PlayStation 3
-1d5b Smartronix, Inc.
-1d6b Linux Foundation
- 0001 1.1 root hub
- 0002 2.0 root hub
- 0003 3.0 root hub
- 0100 PTP Gadget
- 0101 Audio Gadget
- 0102 EEM Gadget
- 0103 NCM (Ethernet) Gadget
- 0104 Multifunction Composite Gadget
- 0105 FunctionFS Gadget
- 0200 Qemu Audio Device
- 0246 BlueZ Host Stack
-1de1 Actions Microelectronics Co.
- 1101 Generic Display Device (Mass storage mode)
- c101 Generic Display Device
-1e0e Qualcomm / Option
- f000 iCON 210 UMTS Surfstick
-1e10 Point Grey Research, Inc.
- 2004 Sony 1.3MP 1/3" ICX445 IIDC video camera [Chameleon]
-1e17 Mirion Technologies Dosimetry Services Division
- 0001 instadose dosimeter
-1e1d Lumension Security
- 0165 Secure Pen drive
-1e1f INVIA
-1e29 Festo AG & Co. KG
- 0101 CPX Adapter
- 0102 CPX Adapter >=HW10.09 [CP2102]
- 0401 iL3-TP [AT90USB646]
- 0402 FTDI232 [EasyPort]
- 0403 FTDI232 [EasyPort Mini]
- 0404 FTDI232 [Netzteil-GL]
- 0405 FTDI232 [MotorPrüfstand]
- 0406 STM32F103 [EasyKit]
- 0407 LPC2378 [Robotino]
- 0408 LPC2378 [Robotino-Arm]
- 0409 LPC2378 [Robotino-Arm Bootloader]
- 040a LPC2378 [Robotino Bootloader]
- 040b LPC2378 [Robotino XT]
- 040c LPC2378 [Robotino XT Bootloader]
- 040d LPC2378 [Robotino 3]
- 040e LPC2378 [Robotino 3 Bootloader]
- 0501 CP2102 [CMSP]
- 0601 CMMP-AS
-1e3d Chipsbank Microelectronics Co., Ltd
- 2093 CBM209x Flash Drive (OEM)
- 4082 CBM4082 SD Card Reader
-1e41 Cleverscope
- 0001 CS328A PC Oscilloscope
-1e4e Cubeternet
- 0100 WebCam
- 0102 GL-UPC822 UVC WebCam
-1e54 TypeMatrix
- 2030 2030 USB Keyboard
-1e68 TrekStor GmbH & Co. KG
- 001b DataStation maxi g.u
-1e71 NZXT
- 0001 Avatar Optical Mouse
-1e74 Coby Electronics Corporation
- 2211 MP300
- 2647 2 GB 2 Go Video MP3 Player [MP601-2G]
- 2659 Coby 4GB Go Video MP3 Player [MP620-4G]
- 4641 A8705 MP3/Video Player
- 6511 MP705-8G MP3 player
- 6512 MP705-4G
- 7111 MP957 Music and Video Player
-1e7d ROCCAT
- 2c24 Pyra Mouse (wired)
- 2ced Kone Mouse
- 2cf6 Pyra Mouse (wireless)
- 2d50 Kova+ Mouse
- 2d51 Kone+ Mouse
- 30d4 Arvo Keyboard
-1ebb NuCORE Technology, Inc.
-1eda AirTies Wireless Networks
- 2012 Air2210 54 Mbps Wireless Adapter
- 2210 Air2210 54 Mbps Wireless Adapter
- 2310 Air2310 150 Mbps Wireless Adapter
- 2410 Air2410 300 Mbps Wireless Adapter
-1edb Blackmagic design
- bd3b Intensity Shuttle
-1ee8 ONDA COMMUNICATION S.p.a.
- 0014 MT833UP
-1ef6 EADS Deutschland GmbH
- 5064 FDR Interface
- 5648 RIU CSMU/BSD
- 564a Cassidian RIU CSMU/BSD Simulator
-1f28 Cal-Comp
- 0020 CDMA USB Modem A600
- 0021 CD INSTALLER USB Device
-1f44 The Neat Company
- 0001 NM-1000 scanner
-1f48 H-TRONIC GmbH
- 0627 Data capturing system
- 0628 Data capturing and control module
-1f4d G-Tek Electronics Group
- b803 Lifeview LV5TDLX DVB-T [RTL2832U]
-1f6f Aliph
- 0023 Jawbone Jambox
- 8000 Jawbone Jambox - Updating
-1f75 Innostor Technology Corporation
- 0888 IS888 SATA Storage Controller
- 0902 IS902 UFD controller
-1f82 TANDBERG
- 0001 PrecisionHD Camera
-1f84 Alere, Inc.
-1f87 Stantum
- 0002 Multi-touch HID Controller
-1f9b Ubiquiti Networks, Inc.
- 0241 AirView2-EXT
-1fab Samsung Opto-Electroncs Co., Ltd.
- 104d ES65
-1fbd Delphin Technology AG
- 0001 Expert Key - Data aquisition system
-1fc9 NXP Semiconductors
- 0003 LPC1343
- 010b PR533
-1fde ILX Lightwave Corporation
- 0001 UART Bridge
-1fe7 Vertex Wireless Co., Ltd.
- 1000 VW100 series CDMA EV-DO Rev.A modem
-1ff7 CVT Electronics.Co.,Ltd
- 0013 CVTouch Screen (HID)
- 001a Human Interface Device
-1fff Ideofy Inc.
-2001 D-Link Corp.
- 0001 DWL-120 WIRELESS ADAPTER
- 0201 DHN-120 10Mb Home Phoneline Adapter
- 1a00 DUB-E100 Fast Ethernet Adapter(rev.A) [ASIX AX88172]
- 1a02 DUB-E100 Fast Ethernet Adapter(rev.C1) [ASIX AX88772]
- 200c 10/100 Ethernet
- 3200 DWL-120 802.11b Wireless Adapter(rev.E1) [Atmel at76c503a]
- 3301 DWA-130 802.11n Wireless N Adapter(rev.C1) [Realtek RTL8192U]
- 3306 DWL-G122 Wireless Adapter(rev.F1) [Realtek RTL8188SU]
- 3308 DWA-121 802.11n Wireless N 150 Pico Adapter [Realtek RTL8188CUS]
- 3309 DWA-135 802.11n Wireless N Adapter(rev.A1) [Realtek RTL8192CU]
- 330a DWA-133 802.11n Wireless N Adapter [Realtek RTL8192CU]
- 3500 Elitegroup Computer Systems WLAN card WL-162
- 3700 DWL-122 802.11b [Intersil Prism 3]
- 3701 DWL-G120 Spinnaker 802.11g [Intersil ISL3886]
- 3702 DWL-120 802.11b Wireless Adapter(rev.F) [Intersil ISL3871]
- 3703 AirPlus G DWL-G122 Wireless Adapter(rev.A1) [Intersil ISL3880]
- 3704 AirPlus G DWL-G122 Wireless Adapter(rev.A2) [Intersil ISL3887]
- 3705 AirPlus G DWL-G120 Wireless Adapter(rev.C) [Intersil ISL3887]
- 3761 IEEE 802.11g USB2.0 Wireless Network Adapter-PN
- 3a00 DWL-AG132 [Atheros AR5523]
- 3a01 DWL-AG132 (no firmware) [Atheros AR5523]
- 3a02 DWL-G132 [Atheros AR5523]
- 3a03 DWL-G132 (no firmware) [Atheros AR5523]
- 3a04 DWL-AG122 [Atheros AR5523]
- 3a05 DWL-AG122 (no firmware) [Atheros AR5523]
- 3a80 AirPlus Xtreme G DWL-G132 Wireless Adapter
- 3a81 predator Bootloader Download
- 3a82 AirPremier AG DWL-AG132 Wireless Adapter
- 3a83 predator Bootloader Download
- 3b00 AirPlus DWL-120+ Wireless Adapter [Texas Instruments ACX100USB]
- 3b01 WLAN Boot Device
- 3c00 AirPlus G DWL-G122 Wireless Adapter(rev.B1) [Ralink RT2571]
- 3c01 AirPlus AG DWL-AG122 Wireless Adapter
- 3c02 AirPlus G DWL-G122 Wireless Adapter
- 3c05 DUB-E100 Fast Ethernet Adapter(rev.B1) [ASIX AX88772]
- 3c15 DWA-140 RangeBooster N Adapter(rev.B3) [Ralink RT5372]
- 3c17 DWA-123 Wireless N 150 Adapter(rev.A1) [Ralink RT3370]
- 3c19 DWA-125 Wireless N 150 Adapter(rev.A3) [Ralink RT5370]
- 3c1a DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.B2) [Ralink RT5572]
- 3c1b DWA-127 Wireless N 150 High-Gain Adapter(rev.A1) [Ralink RT3070]
- 4000 DSB-650C Ethernet [klsi]
- 4001 DSB-650TX Ethernet [pegasus]
- 4002 DSB-650TX Ethernet [pegasus]
- 4003 DSB-650TX-PNA Ethernet [pegasus]
- 400b 10/100 Ethernet
- 4102 10/100 Ethernet
- 5100 DSL-200 ADSL ATM Modem
- 5102 DSL-200 ADSL Loader
- 5b00 Remote NDIS Network Device
- 9414 Cable Modem
- 9b00 Broadband Cable Modem Remote NDIS Device
- abc1 DSB-650 Ethernet [pegasus]
- f013 DLink 7 port USB2.0 Hub
- f103 DUB-H7 7-port USB 2.0 hub
- f10d Accent Communications Modem
- f110 DUB-AV300 A/V Capture
- f111 DBT-122 Bluetooth adapter
- f112 DUB-T210 Audio Device
- f116 Formosa 2
- f117 Formosa 3
- f118 Formosa 4
-2002 DAP Technologies
-200c Reloop
- 100b Play audio soundcard
-2013 PCTV Systems
- 0245 PCTV 73ESE
- 0246 PCTV 74E
- 0248 PCTV 282E
- 024f nanoStick T2 290e
-2019 PLANEX
- 3220 GW-US11S WLAN [Atmel AT76C503A]
- 4901 GW-USSuper300 802.11bgn Wireless Adapter [Realtek RTL8191SU]
- 4903 GW-USFang300 802.11abgn Wireless Adapter [Realtek RTL8192DU]
- 4904 GW-USUltra300 802.11abgn Wireless Adapter [Realtek RTL8192DU]
- 5303 GW-US54GXS 802.11bg
- 5304 GWUS300 802.11n
- ab01 GW-US54HP
- ab24 GW-US300MiniS
- ab25 GW-USMini2N 802.11n Wireless Adapter [Ralink RT2870]
- ab28 GW-USNano
- ab29 GW-USMicro300
- ab2a GW-USNano2 802.11n Wireless Adapter [Realtek RTL8188CUS]
- ab2b GW-USEco300 802.11bgn Wireless Adapter [Realtek RTL8192CU]
- ab2c GW-USDual300 802.11abgn Wireless Adapter [Realtek RTL8192DU]
- ab50 GW-US54Mini2
- c002 GW-US54SG
- c007 GW-US54GZL
- ed02 GW-USMM
- ed06 GW-US300MiniW 802.11bgn Wireless Adapter
- ed10 GW-US300Mini2
- ed14 GW-USMicroN
- ed16 GW-USMicroN2W 802.11bgn Wireless Adapter [Realtek RTL8188SU]
- ed17 GW-USValue-EZ 802.11n Wireless Adapter [Realtek RTL8188CUS]
- ed18 GW-USHyper300 / GW-USH300N 802.11bgn Wireless Adapter [Realtek RTL8191SU]
-2040 Hauppauge
- 0c80 Windham
- 0c90 Windham
- 1700 CataMount
- 1800 Okemo A
- 1801 Okemo B
- 2000 Tiger Minicard
- 2009 Tiger Minicard R2
- 200a Tiger Minicard
- 2010 Tiger Minicard
- 2011 WinTV MiniCard [Dell Digital TV Receiver]
- 2019 Tiger Minicard
- 2400 WinTV PVR USB2 (Model 24019)
- 4700 WinTV Nova-S-USB2
- 4902 HD PVR
- 4903 HS PVR
- 4982 HD PVR
- 5500 Windham
- 5510 Windham
- 5520 Windham
- 5530 Windham
- 5580 Windham
- 5590 Windham
- 6500 WinTV HVR-900
- 6502 WinTV HVR-900
- 6503 WinTV HVR-930
- 6513 WinTV HVR-980
- 7050 Nova-T Stick
- 7060 Nova-T Stick 2
- 7070 Nova-T Stick 3
- 7240 WinTV HVR-850
- 8400 WinTV Nova-T-500
- 9300 WinTV NOVA-T USB2 (cold)
- 9301 WinTV NOVA-T USB2 (warm)
- 9941 WinTV Nova-T-500
- 9950 WinTV Nova-T-500
- b910 Windham
- b980 Windham
- b990 Windham
- c000 Windham
- c010 Windham
-2047 Texas Instruments
- 0200 MSP430 USB HID Bootstrap Loader
-2080 Barnes & Noble
- 0001 nook
- 0002 NOOKcolor
- 0003 NOOK Simple Touch
- 0004 NOOK Tablet
-2087 Cando
- 0a01 Multi Touch Panel
- 0a02 Multi Touch Panel
- 0b03 Multi Touch Panel
-20a0 Clay Logic
- 4123 IKALOGIC SCANALOGIC 2
- 414a MDE SPI Interface
- 415a OpenPilot
- 415b CopterControl
- 415c PipXtreme
-20b1 XMOS Ltd
- 10ad XUSB Loader
- f7d1 XTAG2 - JTAG Adapter
-20b3 Hanvon
- 0a18 10.1 Touch screen overlay
-20b7 Qi Hardware
- 0713 Milkymist JTAG/serial
- 1540 ben-wpan, AT86RF230-based
- 1db5 IDBG in DFU mode
- 1db6 IDBG in normal mode
- c25b C2 Dongle
- cb72 ben-wpan, cntr
-20df Simtec Electronics
- 0001 Entropy Key [UDEKEY01]
-20f4 TRENDnet
- 648b TEW-648UBM 802.11n 150Mbps Micro Wireless N Adapter [Realtek RTL8188CUS]
-2101 ActionStar
- 0201 SIIG 4-to-2 Printer Switch
-2162 Creative (?)
- 2031 Network Blaster Wireless Adapter
- 500c DE5771 Modem Blaster
- 8001 Broadxent BritePort DSL Bridge 8010U
-2184 GW Instek
- 0005 GDS-3000 Oscilloscope
- 0006 GDS-3000 Oscilloscope
- 0011 AFG Function Generator (CDC)
-21a1 Emotiv Systems Pty. Ltd.
- 0001 EPOC Consumer Headset Wireless Dongle
-21d6 Agecodagis SARL
- 0002 Seismic recorder [Tellus]
-2222 MacAlly
- 0004 iWebKey Keyboard
- 2520 Mini Tablet
- 4050 AirStick joystick
-2227 SAMWOO Enterprise
- 3105 SKYDATA SKD-U100
-2233 RadioShack Corporation
- 6323 USB Electronic Scale
-2237 Kobo Inc.
- 4161 eReader White
-22a6 Pie Digital, Inc.
- ffff PieKey "beta" 4GB model 4E4F41482E4F5247 (SM3251Q BB)
-22b8 Motorola PCS
- 0001 Wally 2.2 chipset
- 0002 Wally 2.4 chipset
- 0005 V.60c/V.60i GSM Phone
- 0830 2386C-HT820
- 0833 2386C-HT820 [Flash Mode]
- 0850 Bluetooth Device
- 1001 Patriot 1.0 (GSM) chipset
- 1002 Patriot 2.0 chipset
- 1005 T280e GSM/GPRS Phone
- 1101 Patriot 1.0 (TDMA) chipset
- 1801 Rainbow chipset flash
- 2035 Bluetooth Device
- 2805 GSM Modem
- 2821 T720 GSM Phone
- 2822 V.120e GSM Phone
- 2823 Flash Interface
- 2a01 MSM6050 chipset
- 2a02 CDMA modem
- 2a03 MSM6050 chipset flash
- 2a21 V710 GSM Phone (P2K)
- 2a22 V710 GSM Phone (AT)
- 2a23 MSM6100 chipset flash
- 2a41 MSM6300 chipset
- 2a42 Usb Modem
- 2a43 MSM6300 chipset flash
- 2a61 E815 GSM Phone (P2K)
- 2a62 E815 GSM Phone (AT)
- 2a63 MSM6500 chipset flash
- 2a81 MSM6025 chipset
- 2a83 MSM6025 chipset flash
- 2ac1 MSM6100 chipset
- 2ac3 MSM6100 chipset flash
- 2d78 XT300[SPICE]
- 3001 A835/E1000 GSM Phone (P2K)
- 3002 A835/E1000 GSM Phone (AT)
- 3801 C350L/C450 (P2K)
- 3802 C330/C350L/C450/EZX GSM Phone (AT)
- 3803 Neptune LT chipset flash
- 4001 OMAP 1.0 chipset
- 4002 A920/A925 UMTS Phone
- 4003 OMAP 1.0 chipset flash
- 4008 OMAP 1.0 chipset RDL
- 41d6 Droid X (Windows media mode)
- 41d9 Droid/Milestone
- 41db Droid/Milestone (Debug mode)
- 41de Droid X (PC mode)
- 4204 MPx200 Smartphone
- 4214 MPc GSM
- 4224 MPx220 Smartphone
- 4234 MPc CDMA
- 4244 MPx100 Smartphone
- 4285 Droid X (Mass storage)
- 4801 Neptune LTS chipset
- 4803 Neptune LTS chipset flash
- 4810 Triplet GSM Phone (storage)
- 4901 Triplet GSM Phone (P2K)
- 4902 Triplet GSM Phone (AT)
- 4903 Neptune LTE chipset flash
- 4a01 Neptune LTX chipset
- 4a03 Neptune LTX chipset flash
- 4a32 L6-imode Phone
- 5801 Neptune ULS chipset
- 5803 Neptune ULS chipset flash
- 5901 Neptune VLT chipset
- 5903 Neptune VLT chipset flash
- 6001 Dalhart EZX
- 6003 Dalhart flash
- 6004 EZX GSM Phone (CDC Net)
- 6006 MOTOROKR E6
- 6008 Dalhart RDL
- 6009 EZX GSM Phone (P2K)
- 600a Dalhart EZX config 17
- 600b Dalhart EZX config 18
- 600c EZX GSM Phone (USBLAN)
- 6021 JUIX chipset
- 6023 JUIX chipset flash
- 6026 Flash RAM Downloader/miniOS
- 6027 USBLAN
- 604c EZX GSM Phone (Storage)
- 6101 Talon integrated chipset
- 6401 Argon chipset
- 6403 Argon chipset flash
- 6415 ROKR Z6 (MTP mode)
- 6604 Washington CDMA Phone
- 6631 CDC Modem
- 7001 Q Smartphone
- fe01 StarTAC III MS900
-22b9 eTurboTouch Technology, Inc.
- 0006 Touch Screen
-22ba Technology Innovation Holdings, Ltd
-2304 Pinnacle Systems, Inc.
- 0109 Studio PCTV USB (SECAM)
- 0110 Studio PCTV USB (PAL)
- 0111 Miro PCTV USB
- 0112 Studio PCTV USB (NTSC) with FM radio
- 0201 Systems MovieBox Device
- 0204 MovieBox USB_B
- 0205 DVC 150B
- 0206 Systems MovieBox Deluxe Device
- 0207 Dazzle DVC90 Video Device
- 0208 Studio PCTV USB2
- 020e PCTV 200e
- 020f PCTV 400e BDA Device
- 0210 Studio PCTV USB (PAL) with FM radio
- 0212 Studio PCTV USB (NTSC)
- 0213 500-USB Device
- 0214 Studio PCTV USB (PAL) with FM radio
- 0216 PCTV 60e
- 0219 PCTV 260e
- 021a Dazzle DVC100 Audio Device
- 021b Dazzle DVC130/DVC170
- 021d Dazzle DVC130
- 021e Dazzle DVC170
- 021f PCTV Sat HDTV Pro BDA Device
- 0222 PCTV Sat Pro BDA Device
- 0223 DazzleTV Sat BDA Device
- 0225 Remote Kit Infrared Transceiver
- 0226 PCTV 330e
- 0227 PCTV for Mac, HD Stick
- 0228 PCTV DVB-T Flash Stick
- 0229 PCTV Dual DVB-T 2001e
- 022a PCTV 160e
- 022b PCTV 71e [Afatech AF9015]
- 0232 PCTV 170e
- 0236 PCTV 72e [DiBcom DiB7000PC]
- 0237 PCTV 73e [DiBcom DiB7000PC]
- 023a PCTV 801e
- 023b PCTV 801e SE
- 023d PCTV 340e
- 023e PCTV 340e SE
- 0300 Studio Linx Video input cable (NTSC)
- 0301 Studio Linx Video input cable (PAL)
- 0302 Dazzle DVC120
- 0419 PCTV Bungee USB (PAL) with FM radio
- 061d PCTV Deluxe (NTSC) Device
- 061e PCTV Deluxe (PAL) Device
-2318 Shining Technologies, Inc. [hex]
- 0011 CitiDISK Jr. IDE Enclosure
-2341 Arduino SA
- 0001 Uno (CDC ACM)
- 0010 Mega 2560 (CDC ACM)
- 003b Serial Adapter (CDC ACM)
- 003f Mega ADK (CDC ACM)
- 0042 Mega 2560 R3 (CDC ACM)
- 0043 Uno R3 (CDC ACM)
- 0044 Mega ADK R3 (CDC ACM)
- 0045 Serial R3 (CDC ACM)
- 8036 Leonardo (CDC ACM, HID)
-2373 Pumatronix Ltda
- 0001 5 MegaPixel Digital Still Camera [DSC5M]
-2375 Digit@lway, Inc.
- 0001 Digital Audio Player
-2406 SANHO Digital Electronics Co., Ltd.
- 6688 PD7X Portable Storage
-2443 Aessent Technology Ltd
- 00dc aes220 FPGA Mini-Module
-2478 Tripp-Lite
- 2008 U209-000-R Serial Port
-2632 TwinMOS
- 3209 7-in-1 Card Reader
-2650 Electronics For Imaging, Inc. [hex]
-2659 Sundtek
- 1101 TNT DVB-T/DAB/DAB+/FM
- 1201 FM Transmitter/Receiver
- 1202 MediaTV Analog/FM/DVB-T
- 1203 MediaTV Analog/FM/DVB-T MiniPCIe
- 1204 MediaTV Analog/FM/ATSC
- 1205 SkyTV Ultimate V
- 1206 MediaTV DVB-T MiniPCIe
- 1207 Sundtek HD Capture
- 1208 Sundtek SkyTV Ultimate III
- 1209 MediaTV Analog/FM/ATSC MiniPCIe
- 1210 MediaTV Pro III (EU)
- 1211 MediaTV Pro III (US)
- 1212 MediaTV Pro III MiniPCIe (EU)
- 1213 MediaTV Pro III MiniPCIe (US)
-2730 Citizen
- 200f CT-S310 Label printer
-2735 DigitalWay
- 0003 MPIO HS100
- 1001 MPIO FY200
- 1002 MPIO FL100
- 1003 MPIO FD100
- 1004 MPIO HD200
- 1005 MPIO HD300
- 1006 MPIO FG100
- 1007 MPIO FG130
- 1008 MPIO FY300
- 1009 MPIO FY400
- 100a MPIO FL300
- 100b MPIO HS200
- 100c MPIO FL350
- 100d MPIO FY500
- 100e MPIO FY500
- 100f MPIO FY600
- 1012 MPIO FL400
- 1013 MPIO HD400
- 1014 MPIO HD400
- 1016 MPIO FY700
- 1017 MPIO FY700
- 1018 MPIO FY800
- 1019 MPIO FY800
- 101a MPIO FY900
- 101b MPIO FY900
- 102b MPIO FL500
- 102c MPIO FL500
- 103f MPIO FY570
- 1040 MPIO FY570
- 1041 MPIO FY670
- 1042 MPIO FY670
- 1043 HCT HMD-180A
- 1044 HCT HMD-180A
-2770 NHJ, Ltd
- 0a01 ScanJet 4600 series
- 905c Che-Ez Snap SNAP-U/Digigr8/Soundstar TDC-35
- 9060 A130
- 9120 Che-ez! Snap / iClick Tiny VGA Digital Camera
- 9130 TCG 501
- 913c Argus DC-1730
- 9150 Mini Cam
- 9153 iClick 5X
- 915d Cyberpix S-210S / Little Tikes My Real Digital Camera
- 930b CCD Webcam(PC370R)
- 930c CCD Webcam(PC370R)
-2821 ASUSTek Computer Inc.
- 0161 WL-161 802.11b Wireless Adapter [SiS 162U]
- 160f WL-160g 802.11g Wireless Adapter [Envara WiND512]
- 3300 WL-140 / Hawking HWU36D 802.11b Wireless Adapter [Intersil PRISM 3]
-2899 Toptronic Industrial Co., Ltd
- 012c Camera Device
-2c02 Planex Communications
- 14ea GW-US11H WLAN
-2c1a Dolphin Peripherals
- 0000 Wireless Optical Mouse
-2fb2 Fujitsu, Ltd
-3125 Eagletron
- 0001 TrackerPod Camera Stand
-3176 Whanam Electronics Co., Ltd
-3275 VidzMedia Pte Ltd
- 4fb1 MonsterTV P2H
-3334 AEI
- 1701 Fast Ethernet
-3340 Yakumo
- 043a Mio A701 DigiWalker PPCPhone
- 0e3a Pocket PC 300 GPS SL / Typhoon MyGuide 3500
- a0a3 deltaX 5 BT (D) PDA
-3504 Micro Star
- f110 Security Key
-3538 Power Quotient International Co., Ltd
- 0001 Travel Flash
- 0015 Mass Storge Device
- 0022 Hi-Speed Mass Storage Device
- 0042 Cool Drive U339 Flash Disk
- 0054 Flash Drive (2GB)
-3579 DIVA
- 6901 Media Reader
-3636 InVibro
-3838 WEM
- 0001 5-in-1 Card Reader
-3923 National Instruments Corp.
- 12c0 DAQPad-6020E
- 12d0 DAQPad-6507
- 12e0 NI 4350
- 12f0 NI 5102
- 1750 DAQPad-6508
- 17b0 USB-ISA-Bridge
- 1820 DAQPad-6020E (68 pin I/O)
- 1830 DAQPad-6020E (BNC)
- 1f00 DAQPad-6024E
- 1f10 DAQPad-6024E
- 1f20 DAQPad-6025E
- 1f30 DAQPad-6025E
- 1f40 DAQPad-6036E
- 1f50 DAQPad-6036E
- 2f80 DAQPad-6052E
- 2f90 DAQPad-6052E
- 702b GPIB-USB-B
- 703c USB-485 RS485 Cable
- 709b GPIB-USB-HS
- 7254 NI MIO (data acquisition card) firmware updater
- 729e USB-6251 (OEM) data acquisition card
-40bb I-O Data
- 0a09 USB2.0-SCSI Bridge USB2-SC
-4101 i-rocks
- 1301 IR-2510 usb phone
-4102 iRiver, Ltd.
- 1001 iFP-100 series mp3 player
- 1003 iFP-300 series mp3 player
- 1005 iFP-500 series mp3 player
- 1007 iFP-700 series mp3/ogg vorbis player
- 1008 iFP-800 series mp3/ogg vorbis player
- 100a iFP-1000 series mp3/ogg vorbis player
- 1014 T20 series mp3/ogg vorbis player (ums firmware)
- 1019 T30
- 1034 T60
- 1040 M1Player
- 1041 E100 (ums)
- 1101 iFP-100 series mp3 player (ums firmware)
- 1103 iFP-300 series mp3 player (ums firmware)
- 1105 iFP-500 series mp3 player (ums firmware)
- 1113 T10 (alternate)
- 1117 T10
- 1119 T30 series mp3/ogg/wma player
- 1141 E100 (mtp)
- 2002 H10 6GB
- 2101 H10 20GB (mtp)
- 2102 H10 5GB (mtp)
- 2105 H10 5/6GB (mtp)
-413c Dell Computer Corp.
- 0000 DRAC 5 Virtual Keyboard and Mouse
- 0001 DRAC 5 Virtual Media
- 0058 Port Replicator
- 1001 Keyboard Hub
- 1002 Keyboard Hub
- 1003 Keyboard Hub
- 1005 Multimedia Pro Keyboard Hub
- 2001 Keyboard HID Support
- 2002 SK-8125 Keyboard
- 2003 Keyboard
- 2005 RT7D50 Keyboard
- 2010 Keyboard
- 2011 Multimedia Pro Keyboard
- 2100 SK-3106 Keyboard
- 2101 SmartCard Reader Keyboard
- 2105 Model L100 Keyboard
- 2106 Dell QuietKey Keyboard
- 2500 DRAC4 Remote Access Card
- 2513 internal USB Hub of E-Port Replicator
- 3010 Optical Wheel Mouse
- 3012 Optical Wheel Mouse
- 3016 Optical 5-Button Wheel Mouse
- 3200 Mouse
- 4001 Axim X5
- 4002 Axim X3
- 4003 Axim X30
- 4004 Axim Sync
- 4005 Axim Sync
- 4006 Axim Sync
- 4007 Axim Sync
- 4008 Axim Sync
- 4009 Axim Sync
- 4011 Axim X51v
- 5103 AIO Printer A940
- 5105 AIO Printer A920
- 5107 AIO Printer A960
- 5109 Photo AIO Printer 922
- 5110 Photo AIO Printer 962
- 5111 Photo AIO Printer 942
- 5112 Photo AIO Printer 924
- 5113 Photo AIO Printer 944
- 5114 Photo AIO Printer 964
- 5115 Photo AIO Printer 926
- 5116 AIO Printer 946
- 5117 Photo AIO Printer 966
- 5118 AIO 810
- 5124 Laser MFP 1815
- 5128 Photo AIO 928
- 5200 Laser Printer
- 5202 Printing Support
- 5203 Printing Support
- 5210 Printing Support
- 5211 1110 Laser Printer
- 5220 Laser MFP 1600n
- 5225 Printing Support
- 5226 Printing Support
- 5300 Laser Printer
- 5400 Laser Printer
- 5401 Laser Printer
- 5513 WLA3310 Wireless Adapter [Intersil ISL3887]
- 5601 Laser Printer 3100cn
- 5602 Laser Printer 3000cn
- 5631 Laser Printer 5100cn
- 5905 Printing Support
- 8000 BC02 Bluetooth Adapter
- 8010 TrueMobile Bluetooth Module in
- 8100 TrueMobile 1180 802.11b Adapter [Intersil PRISM 3]
- 8102 TrueMobile 1300 802.11g Wireless Adapter [Intersil ISL3880]
- 8103 Wireless 350 Bluetooth
- 8104 Wireless 1450 Dual-band (802.11a/b/g) Adapter [Intersil ISL3887]
- 8105 U2 in HID - Driver
- 8106 Wireless 350 Bluetooth Internal Card in
- 8110 Wireless 3xx Bluetooth Internal Card
- 8111 Wireless 3xx Bluetooth Internal Card in
- 8114 Wireless 5700 Mobile Broadband (CDMA EV-DO) Minicard Modem
- 8115 Wireless 5500 Mobile Broadband (3G HSDPA) Minicard Modem
- 8116 Wireless 5505 Mobile Broadband (3G HSDPA) Minicard Modem
- 8117 Wireless 5700 Mobile Broadband (CDMA EV-DO) Expresscard Modem
- 8118 Wireless 5510 Mobile Broadband (3G HSDPA) Expresscard Status Port
- 8120 Bluetooth adapter
- 8121 Eastfold in HID
- 8122 Eastfold in DFU
- 8123 eHome Infrared Receiver
- 8124 eHome Infrared Receiver
- 8126 Wireless 355 Bluetooth
- 8127 Wireless 355 Module with Bluetooth 2.0 + EDR Technology.
- 8128 Wireless 5700-Sprint Mobile Broadband (CDMA EV-DO) Mini-Card Status Port
- 8129 Wireless 5700-Telus Mobile Broadband (CDMA EV-DO) Mini-Card Status Port
- 8131 Wireless 360 Bluetooth 2.0 + EDR module.
- 8133 Wireless 5720 VZW Mobile Broadband (EVDO Rev-A) Minicard GPS Port
- 8134 Wireless 5720 Sprint Mobile Broadband (EVDO Rev-A) Minicard Status Port
- 8135 Wireless 5720 TELUS Mobile Broadband (EVDO Rev-A) Minicard Diagnostics Port
- 8136 Wireless 5520 Cingular Mobile Broadband (3G HSDPA) Minicard Diagnostics Port
- 8137 Wireless 5520 Voda L Mobile Broadband (3G HSDPA) Minicard Status Port
- 8138 Wireless 5520 Voda I Mobile Broadband (3G HSDPA) Minicard EAP-SIM Port
- 8140 Wireless 360 Bluetooth
- 8142 Mobile 360 in DFU
- 8147 F3507g Mobile Broadband Module
- 8156 Wireless 370 Bluetooth Mini-card
- 8157 Integrated Keyboard
- 8158 Integrated Touchpad / Trackstick
- 8160 Wireless 365 Bluetooth
- 8161 Integrated Keyboard
- 8162 Integrated Touchpad [Synaptics]
- 8171 Gobi Wireless Modem (QDL mode)
- 8172 Gobi Wireless Modem
- 8183 F3607gw Mobile Broadband Module
- 8184 F3607gw v2 Mobile Broadband Module
- 8185 Gobi 2000 Wireless Modem (QDL mode)
- 8186 Gobi 2000 Wireless Modem
- 8187 DW375 Bluetooth Module
- 8501 Bluetooth Adapter
- 9500 USB CP210x UART Bridge Controller [DW700]
- a001 Hub
- a005 Internal 2.0 Hub
- a700 Hub (in 1905FP LCD Monitor)
-4146 USBest Technology
- 9281 Iomega Micro Mini 128MB Flash Drive
- ba01 Intuix Flash Drive
-4242 USB Design by Example
- 4201 Buttons and Lights HID device
- 4220 Echo 1 Camera
-4317 Broadcom Corp.
- 0700 U.S. Robotics USR5426 802.11g Adapter
- 0701 U.S. Robotics USR5425 Wireless MAXg Adapter
- 0711 Belkin F5D7051 v3000 802.11g
- 0720 Dynex DX-BUSB
-4348 WinChipHead
- 5523 USB->RS 232 adapter with Prolifec PL 2303 chipset
- 5537 13.56Mhz RFID Card Reader and Writer
- 5584 CH34x printer adapter cable
-4572 Shuttle, Inc.
- 4572 Shuttle PN31 Remote
-4586 Panram
- 1026 Crystal Bar Flash Drive
-4670 EMS Production
- 9394 Game Cube USB Memory Adaptor 64M
-4752 Miditech
- 0011 Midistart-2
-4757 GW Instek
- 2009 PEL-2000 Series Electronic Load (CDC)
- 2010 PEL-2000 Series Electronic Load (CDC)
-4766 Aceeca
- 0001 MEZ1000 RDA
-4855 Memorex
- 7288 Ultra Traveldrive 160G 2.5" HDD
-4971 SimpleTech
- cb01 SP-U25/120G
- ce17 1TB SimpleDrive II USB External Hard Drive
-4d46 Musical Fidelity
- 0001 V-Link
- 0002 V-DAC II
-5032 Grandtec
- 0bb8 Grandtec USB1.1 DVB-T (cold)
- 0bb9 Grandtec USB1.1 DVB-T (warm)
- 0fa0 Grandtec USB1.1 DVB-T (cold)
- 0fa1 Grandtec USB1.1 DVB-T (warm)
-5041 Linksys (?)
- 2234 WUSB54G v1 802.11g Adapter [Intersil ISL3886]
- 2235 WUSB54GP v1 802.11g Adapter [Intersil ISL3886]
-50c2 Averatec (?)
- 4013 WLAN Adapter
-5173 Sweex
- 1809 ZD1211
-5219 I-Tetra
- 1001 Cetus CDC Device
-5345 Owon
- 1234 PDS6062T Oscilloscope
-544d Transmeta Corp.
-5543 UC-Logic Technology Corp.
- 0002 SuperPen WP3325U Tablet
- 0003 Tablet WP4030U
- 0004 Tablet WP5540U
- 0005 Tablet WP8060U
- 0041 Genius PenSketch 6x8 Tablet
- 0042 Tablet PF1209
- 0064 Aiptek HyperPen 10000U
-5555 Epiphan Systems Inc.
- 1110 VGA2USB
- 1120 KVM2USB
- 2222 DVI2USB
- 3333 VGA2USB Pro
- 3337 KVM2USB Pro
- 3340 VGA2USB LR
- 3344 KVM2USB LR
- 3411 DVI2USB Solo
- 3422 DVI2USB Duo
-55aa OnSpec Electronic, Inc.
- 0015 Hard Drive
- 0102 SuperDisk
- 0103 IDE Hard Drive
- 0201 DDI to Reader-19
- 1234 ATAPI Bridge
- a103 Sandisk SDDR-55 SmartMedia Card Reader
- b000 USB to CompactFlash Card Reader
- b004 OnSpec MMC/SD Reader/Writer
- b00b USB to Memory Stick Card Reader
- b00c USB to SmartMedia Card Reader
- b012 Mitsumi FA402M 8-in-2 Card Reader
- b200 Compact Flash Reader
- b204 MMC/ SD Reader
- b207 Memory Stick Reader
-5656 Uni-Trend Group Limited
- 0832 UT2000/UT3000 Digital Storage Oscilloscope
-595a IRTOUCHSYSTEMS Co. Ltd.
- 0001 Touchscreen
-5986 Acer, Inc
- 0100 Orbicam
- 0101 USB2.0 Camera
- 0102 Crystal Eye Webcam
- 01a6 Lenovo Integrated Webcam
- 01a7 Lenovo Integrated Webcam
- 01a9 Lenovo Integrated Webcam
- 0200 OrbiCam
- 0203 BisonCam NB Pro 1300
- 0241 BisonCam, NB Pro
- 02d0 Lenovo Integrated Webcam [R5U877]
- 03d0 Lenovo Integrated Webcam [R5U877]
-5a57 Zinwell
- 0260 RT2570
- 0280 802.11a/b/g/n USB Wireless LAN Card
- 0282 802.11b/g/n USB Wireless LAN Card
- 0283 802.11b/g/n USB Wireless LAN Card
- 0284 802.11a/b/g/n USB Wireless LAN Card
- 0290 ZW-N290 802.11n [Realtek RTL8192SU]
- 5257 Metronic 495257 wifi 802.11ng
-6000 Beholder International Ltd.
- dec0 TV Wander
- dec1 TV Voyage
-601a Ingenic Semiconductor Ltd.
- 4740 XBurst Jz4740 boot mode
-6189 Sitecom
- 182d USB 2.0 Ethernet
- 2068 USB to serial cable (v2)
-6253 TwinHan Technology Co., Ltd
- 0100 Ir reciver f. remote control
-636c CoreLogic, Inc.
-6472 Unknown (Sony?)
- 01c8 PlayStation Portable [Mass Storage]
-6547 Arkmicro Technologies Inc.
- 0232 ARK3116 Serial
-6615 IRTOUCHSYSTEMS Co. Ltd.
- 0001 Touchscreen
-6666 Prototype product Vendor ID
- 0667 WiseGroup Smart Joy PSX, PS-PC Smart JoyPad
- 2667 JCOP BlueZ Smartcard reader
- 8802 SmartJoy Dual Plus PS2 converter
- 8804 WiseGroup SuperJoy Box 5
-6677 WiseGroup, Ltd.
- 8802 SmartJoy Dual Plus PS2 converter
- 8811 Deluxe Dance Mat
-6891 3Com
- a727 3CRUSB10075 802.11bg [ZyDAS ZD1211]
-695c Opera1
- 3829 Opera1 DVB-S (warm state)
-6993 Yealink Network Technology Co., Ltd.
- b001 VoIP Phone
-6a75 Shanghai Jujo Electronics Co., Ltd
-7104 CME (Central Music Co.)
- 2202 UF5/UF6/UF7/UF8 MIDI Master Keyboard
-726c StackFoundry LLC
- 2149 EntropyKing Random Number Generator
-734c TBS Technologies China
- 5920 Q-Box II DVB-S2 HD
- 5928 Q-Box II DVB-S2 HD
-7392 Edimax Technology Co., Ltd
- 7711 EW-7711UTn nLite Wireless Adapter [Ralink RT2870]
- 7717 EW-7717UN 802.11n Wireless Adapter [Ralink RT2870]
- 7718 EW-7718UN 802.11n Wireless Adapter [Ralink RT2870]
- 7722 EW-7722UTn 802.11n Wireless Adapter [Ralink RT307x]
- 7811 EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
-8086 Intel Corp.
- 0001 AnyPoint (TM) Home Network 1.6 Mbps Wireless Adapter
- 0044 CPU DRAM Controller
- 0046 HD Graphics
- 0100 Personal Audio Player 3000
- 0101 Personal Audio Player 3000
- 0110 Easy PC Camera
- 0120 PC Camera CS120
- 0180 WiMAX Connection 2400m
- 0181 WiMAX Connection 2400m
- 0182 WiMAX Connection 2400m
- 0186 WiMAX Connection 2400m
- 0188 WiMAX Connection 2400m
- 0200 AnyPoint(TM) Wireless II Network 11Mbps Adapter [Atmel AT76C503A]
- 0431 Intel Pro Video PC Camera
- 0510 Digital Movie Creator
- 0630 Pocket PC Camera
- 0780 CS780 Microphone Input
- 07d3 BLOB boot loader firmware
- 0dad Cherry MiniatureCard Keyboard
- 1010 AnyPoint(TM) Home Network 10 Mbps Phoneline Adapter
- 110a Bluetooth Controller from (Ericsson P4A)
- 110b Bluetooth Controller from (Intel/CSR)
- 1110 PRO/Wireless LAN Module
- 1111 PRO/Wireless 2011B 802.11b Adapter [Intersil PRISM 2.5]
- 1134 Hollister Mobile Monitor
- 1139 In-Target Probe (ITP)
- 1234 Prototype Reader/Writer
- 1403 WiMAX Connection 2400m
- 1405 WiMAX Connection 2400m
- 1406 WiMAX Connection 2400m
- 2448 82801 PCI Bridge
- 3100 PRO/DSL 3220 Modem - WAN
- 3101 PRO/DSL 3220 Modem
- 3240 AnyPoint® 3240 Modem - WAN
- 3241 AnyPoint® 3240 Modem
- 8602 Miniature Card Slot
- 9303 Intel 8x930Hx Hub
- 9500 CE 9500 DVB-T
- 9890 82930 Test Board
- beef SCM Miniature Card Reader/Writer
- c013 Wireless HID Station
- f001 XScale PXA27x Bulverde flash
- f1a5 Z-U130 [Value Solid State Drive]
-8087 Intel Corp.
- 0020 Integrated Rate Matching Hub
- 0024 Integrated Rate Matching Hub
-80ee VirtualBox
- 0021 USB Tablet
-8282 Keio
- 3201 Retro Adapter
- 3301 Retro Adapter Mouse
-8341 EGO Systems, Inc.
- 2000 Flashdisk
-9016 Sitecom
- 182d WL-022 802.11b Adapter
-9022 TeVii Technology Ltd.
- d630 DVB-S S630
- d650 DVB-S2 S650
- d660 DVB-S2 S660
-9148 GeoLab, Ltd
-# All of GeoLab's devices share the same ID 0004.
- 0004 R3 Compatible Device
-9710 MosChip Semiconductor
- 7703 MCS7703 Serial Port Adapter
- 7705 MCS7705 Parallel port adapter
- 7715 MCS7715 Parallel and serial port adapter
- 7717 MCS7717 3-port hub with serial and parallel adapter
- 7720 MCS7720 Dual serial port adapter
- 7730 MCS7730 10/100 Mbps Ethernet adapter
- 7780 MCS7780 4Mbps Fast IrDA Adapter
- 7830 MCS7830 10/100 Mbps Ethernet adapter
- 7832 MCS7832 10/100 Mbps Ethernet adapter
- 7840 MCS7820/MCS7840 2/4 port serial adapter
-99fa Grandtec
- 8988 V.cap Camera Device
-9ac4 J. Westhues
- 4b8f ProxMark-3 RFID Instrument
-a128 AnMo Electronics Corp. / Dino-Lite (?)
- 0610 Dino-Lite Digital Microscope (SN9C201 + HV7131R)
- 0611 Dino-Lite Digital Microscope (SN9C201 + HV7131R)
- 0612 Dino-Lite Digital Microscope (SN9C120 + HV7131R)
- 0613 Dino-Lite Digital Microscope (SN9C201 + HV7131R)
- 0614 Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)
- 0615 Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)
- 0616 Dino-Lite Digital Microscope (SN9C120 + HV7131R)
- 0617 Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)
- 0618 Dino-Lite Digital Microscope (SN9C201 + HV7131R)
-a168 AnMo Electronics Corporation
- 0610 Dino-Lite Digital Microscope
- 0611 Dino-Lite Digital Microscope
- 0613 Dino-Lite Digital Microscope
- 0614 Dino-Lite Pro Digital Microscope
- 0615 Dino-Lite Pro Digital Microscope
- 0617 Dino-Lite Pro Digital Microscope
- 0618 Dino-Lite Digital Microscope
-a600 Asix
- e110 OK1ZIA Davac 4.x
-a727 3Com
- 6893 3CRUSB20075 OfficeConnect Wireless 108Mbps 11g Adapter [Atheros AR5523]
- 6895 AR5523
- 6897 AR5523
-abcd Unknown
- cdee Petcam
-c251 Keil Software, Inc.
- 2710 ULink
-cace CACE Technologies Inc.
- 0002 AirPCAP Classic 802.11 packet capture adapter
- 0300 AirPcap NX [Atheros AR9001U-(2)NG]
-d209 Ultimarc
- 0301 I-PAC Arcade Control Interface
- 0501 Ultra-Stik Ultimarc Ultra-Stik Player 1
-e4e4 Xorcom Ltd.
- 1130 Astribank series
- 1131 Astribank series
- 1132 Astribank series
- 1140 Astribank series
- 1141 Astribank series
- 1142 Astribank series
- 1150 Astribank series
- 1151 Astribank series
- 1152 Astribank series
- 1160 Astribank 2 series
- 1161 Astribank 2 series
- 1162 Astribank 2 series
-eb03 MakingThings
- 0920 Make Controller Kit
-eb1a eMPIA Technology, Inc.
- 17de KWorld V-Stream XPERT DTV - DVB-T USB cold
- 17df KWorld V-Stream XPERT DTV - DVB-T USB warm
- 2571 M035 Compact Web Cam
- 2710 SilverCrest Webcam
- 2750 ECS Elitegroup G220 integrated Webcam
- 2761 EeePC 701 integrated Webcam
- 2776 Combined audio and video input device
- 2800 Terratec Cinergy 200
- 2801 GrabBeeX+ Video Encoder
- 2863 Video Grabber
- 2870 Pinnacle PCTV Stick
- 2881 EM2881 Video Controller
- 50a3 Gadmei UTV380 TV Box
- 50a6 Gadmei UTV330 TV Box
- e355 KWorld DVB-T 355U Digital TV Dongle
-eb2a KWorld
-f003 Hewlett Packard
- 6002 PhotoSmart C500
-f4ec Atten Electronics / Siglent Technologies
- ee38 Digital Storage Oscilloscope
-
-# List of known device classes, subclasses and protocols
-
-# Syntax:
-# C class class_name
-# subclass subclass_name <-- single tab
-# protocol protocol_name <-- two tabs
-
-C 00 (Defined at Interface level)
-C 01 Audio
- 01 Control Device
- 02 Streaming
- 03 MIDI Streaming
-C 02 Communications
- 01 Direct Line
- 02 Abstract (modem)
- 00 None
- 01 AT-commands (v.25ter)
- 02 AT-commands (PCCA101)
- 03 AT-commands (PCCA101 + wakeup)
- 04 AT-commands (GSM)
- 05 AT-commands (3G)
- 06 AT-commands (CDMA)
- fe Defined by command set descriptor
- ff Vendor Specific (MSFT RNDIS?)
- 03 Telephone
- 04 Multi-Channel
- 05 CAPI Control
- 06 Ethernet Networking
- 07 ATM Networking
- 08 Wireless Handset Control
- 09 Device Management
- 0a Mobile Direct Line
- 0b OBEX
- 0c Ethernet Emulation
- 07 Ethernet Emulation (EEM)
-C 03 Human Interface Device
- 00 No Subclass
- 00 None
- 01 Keyboard
- 02 Mouse
- 01 Boot Interface Subclass
- 00 None
- 01 Keyboard
- 02 Mouse
-C 05 Physical Interface Device
-C 06 Imaging
- 01 Still Image Capture
- 01 Picture Transfer Protocol (PIMA 15470)
-C 07 Printer
- 01 Printer
- 00 Reserved/Undefined
- 01 Unidirectional
- 02 Bidirectional
- 03 IEEE 1284.4 compatible bidirectional
- ff Vendor Specific
-C 08 Mass Storage
- 01 RBC (typically Flash)
- 00 Control/Bulk/Interrupt
- 01 Control/Bulk
- 50 Bulk-Only
- 02 SFF-8020i, MMC-2 (ATAPI)
- 03 QIC-157
- 04 Floppy (UFI)
- 00 Control/Bulk/Interrupt
- 01 Control/Bulk
- 50 Bulk-Only
- 05 SFF-8070i
- 06 SCSI
- 00 Control/Bulk/Interrupt
- 01 Control/Bulk
- 50 Bulk-Only
-C 09 Hub
- 00 Unused
- 00 Full speed (or root) hub
- 01 Single TT
- 02 TT per port
-C 0a CDC Data
- 00 Unused
- 30 I.430 ISDN BRI
- 31 HDLC
- 32 Transparent
- 50 Q.921M
- 51 Q.921
- 52 Q.921TM
- 90 V.42bis
- 91 Q.932 EuroISDN
- 92 V.120 V.24 rate ISDN
- 93 CAPI 2.0
- fd Host Based Driver
- fe CDC PUF
- ff Vendor specific
-C 0b Chip/SmartCard
-C 0d Content Security
-C 0e Video
- 00 Undefined
- 01 Video Control
- 02 Video Streaming
- 03 Video Interface Collection
-C 58 Xbox
- 42 Controller
-C dc Diagnostic
- 01 Reprogrammable Diagnostics
- 01 USB2 Compliance
-C e0 Wireless
- 01 Radio Frequency
- 01 Bluetooth
- 02 Ultra WideBand Radio Control
- 03 RNDIS
- 02 Wireless USB Wire Adapter
- 01 Host Wire Adapter Control/Data Streaming
- 02 Device Wire Adapter Control/Data Streaming
- 03 Device Wire Adapter Isochronous Streaming
-C ef Miscellaneous Device
- 01 ?
- 01 Microsoft ActiveSync
- 02 Palm Sync
- 02 ?
- 01 Interface Association
- 02 Wire Adapter Multifunction Peripheral
- 03 ?
- 01 Cable Based Association
-C fe Application Specific Interface
- 01 Device Firmware Update
- 02 IRDA Bridge
- 03 Test and Measurement
- 01 TMC
- 02 USB488
-C ff Vendor Specific Class
- ff Vendor Specific Subclass
- ff Vendor Specific Protocol
-
-# List of Audio Class Terminal Types
-
-# Syntax:
-# AT terminal_type terminal_type_name
-
-AT 0100 USB Undefined
-AT 0101 USB Streaming
-AT 01ff USB Vendor Specific
-AT 0200 Input Undefined
-AT 0201 Microphone
-AT 0202 Desktop Microphone
-AT 0203 Personal Microphone
-AT 0204 Omni-directional Microphone
-AT 0205 Microphone Array
-AT 0206 Processing Microphone Array
-AT 0300 Output Undefined
-AT 0301 Speaker
-AT 0302 Headphones
-AT 0303 Head Mounted Display Audio
-AT 0304 Desktop Speaker
-AT 0305 Room Speaker
-AT 0306 Communication Speaker
-AT 0307 Low Frequency Effects Speaker
-AT 0400 Bidirectional Undefined
-AT 0401 Handset
-AT 0402 Headset
-AT 0403 Speakerphone, no echo reduction
-AT 0404 Echo-suppressing speakerphone
-AT 0405 Echo-canceling speakerphone
-AT 0500 Telephony Undefined
-AT 0501 Phone line
-AT 0502 Telephone
-AT 0503 Down Line Phone
-AT 0600 External Undefined
-AT 0601 Analog Connector
-AT 0602 Digital Audio Interface
-AT 0603 Line Connector
-AT 0604 Legacy Audio Connector
-AT 0605 SPDIF interface
-AT 0606 1394 DA stream
-AT 0607 1394 DV stream soundtrack
-AT 0700 Embedded Undefined
-AT 0701 Level Calibration Noise Source
-AT 0702 Equalization Noise
-AT 0703 CD Player
-AT 0704 DAT
-AT 0705 DCC
-AT 0706 MiniDisc
-AT 0707 Analog Tape
-AT 0708 Phonograph
-AT 0709 VCR Audio
-AT 070a Video Disc Audio
-AT 070b DVD Audio
-AT 070c TV Tuner Audio
-AT 070d Satellite Receiver Audio
-AT 070e Cable Tuner Audio
-AT 070f DSS Audio
-AT 0710 Radio Receiver
-AT 0711 Radio Transmitter
-AT 0712 Multitrack Recorder
-AT 0713 Synthesizer
-
-# List of HID Descriptor Types
-
-# Syntax:
-# HID descriptor_type descriptor_type_name
-
-HID 21 HID
-HID 22 Report
-HID 23 Physical
-
-# List of HID Descriptor Item Types
-# Note: 2 bits LSB encode data length following
-
-# Syntax:
-# R item_type item_type_name
-
-R 04 Usage Page
-R 08 Usage
-R 14 Logical Minimum
-R 18 Usage Minimum
-R 24 Logical Maximum
-R 28 Usage Maximum
-R 34 Physical Minimum
-R 38 Designator Index
-R 44 Physical Maximum
-R 48 Designator Minimum
-R 54 Unit Exponent
-R 58 Designator Maximum
-R 64 Unit
-R 74 Report Size
-R 78 String Index
-R 80 Input
-R 84 Report ID
-R 88 String Minimum
-R 90 Output
-R 94 Report Count
-R 98 String Maximum
-R a0 Collection
-R a4 Push
-R a8 Delimiter
-R b0 Feature
-R b4 Pop
-R c0 End Collection
-
-# List of Physical Descriptor Bias Types
-
-# Syntax:
-# BIAS item_type item_type_name
-
-BIAS 0 Not Applicable
-BIAS 1 Right Hand
-BIAS 2 Left Hand
-BIAS 3 Both Hands
-BIAS 4 Either Hand
-
-# List of Physical Descriptor Item Types
-
-# Syntax:
-# PHY item_type item_type_name
-
-PHY 00 None
-PHY 01 Hand
-PHY 02 Eyeball
-PHY 03 Eyebrow
-PHY 04 Eyelid
-PHY 05 Ear
-PHY 06 Nose
-PHY 07 Mouth
-PHY 08 Upper Lip
-PHY 09 Lower Lip
-PHY 0a Jaw
-PHY 0b Neck
-PHY 0c Upper Arm
-PHY 0d Elbow
-PHY 0e Forearm
-PHY 0f Wrist
-PHY 10 Palm
-PHY 11 Thumb
-PHY 12 Index Finger
-PHY 13 Middle Finger
-PHY 14 Ring Finger
-PHY 15 Little Finger
-PHY 16 Head
-PHY 17 Shoulder
-PHY 18 Hip
-PHY 19 Waist
-PHY 1a Thigh
-PHY 1b Knee
-PHY 1c calf
-PHY 1d Ankle
-PHY 1e Foot
-PHY 1f Heel
-PHY 20 Ball of Foot
-PHY 21 Big Toe
-PHY 22 Second Toe
-PHY 23 Third Toe
-PHY 24 Fourth Toe
-PHY 25 Fifth Toe
-PHY 26 Brow
-PHY 27 Cheek
-
-# List of HID Usages
-
-# Syntax:
-# HUT hi _usage_page hid_usage_page_name
-# hid_usage hid_usage_name
-
-HUT 00 Undefined
-HUT 01 Generic Desktop Controls
- 000 Undefined
- 001 Pointer
- 002 Mouse
- 004 Joystick
- 005 Gamepad
- 006 Keyboard
- 007 Keypad
- 008 Multi-Axis Controller
- 030 Direction-X
- 031 Direction-Y
- 032 Direction-Z
- 033 Rotate-X
- 034 Rotate-Y
- 035 Rotate-Z
- 036 Slider
- 037 Dial
- 038 Wheel
- 039 Hat Switch
- 03a Counted Buffer
- 03b Byte Count
- 03c Motion Wakeup
- 03d Start
- 03e Select
- 040 Vector-X
- 041 Vector-Y
- 042 Vector-Z
- 043 Vector-X relative Body
- 044 Vector-Y relative Body
- 045 Vector-Z relative Body
- 046 Vector
- 080 System Control
- 081 System Power Down
- 082 System Sleep
- 083 System Wake Up
- 084 System Context Menu
- 085 System Main Menu
- 086 System App Menu
- 087 System Menu Help
- 088 System Menu Exit
- 089 System Menu Select
- 08a System Menu Right
- 08b System Menu Left
- 08c System Menu Up
- 08d System Menu Down
- 090 Direction Pad Up
- 091 Direction Pad Down
- 092 Direction Pad Right
- 093 Direction Pad Left
-HUT 02 Simulation Controls
- 000 Undefined
- 001 Flight Simulation Device
- 002 Automobile Simulation Device
- 003 Tank Simulation Device
- 004 Spaceship Simulation Device
- 005 Submarine Simulation Device
- 006 Sailing Simulation Device
- 007 Motorcycle Simulation Device
- 008 Sports Simulation Device
- 009 Airplane Simualtion Device
- 00a Helicopter Simulation Device
- 00b Magic Carpet Simulation Device
- 00c Bicycle Simulation Device
- 020 Flight Control Stick
- 021 Flight Stick
- 022 Cyclic Control
- 023 Cyclic Trim
- 024 Flight Yoke
- 025 Track Control
- 0b0 Aileron
- 0b1 Aileron Trim
- 0b2 Anti-Torque Control
- 0b3 Autopilot Enable
- 0b4 Chaff Release
- 0b5 Collective Control
- 0b6 Dive Break
- 0b7 Electronic Countermeasures
- 0b8 Elevator
- 0b9 Elevator Trim
- 0ba Rudder
- 0bb Throttle
- 0bc Flight COmmunications
- 0bd Flare Release
- 0be Landing Gear
- 0bf Toe Break
- 0c0 Trigger
- 0c1 Weapon Arm
- 0c2 Weapons Select
- 0c3 Wing Flaps
- 0c4 Accelerator
- 0c5 Brake
- 0c6 Clutch
- 0c7 Shifter
- 0c8 Steering
- 0c9 Turret Direction
- 0ca Barrel Elevation
- 0cb Drive Plane
- 0cc Ballast
- 0cd Bicylce Crank
- 0ce Handle Bars
- 0cf Front Brake
- 0d0 Rear Brake
-HUT 03 VR Controls
- 000 Unidentified
- 001 Belt
- 002 Body Suit
- 003 Flexor
- 004 Glove
- 005 Head Tracker
- 006 Head Mounted Display
- 007 Hand Tracker
- 008 Oculometer
- 009 Vest
- 00a Animatronic Device
- 020 Stereo Enable
- 021 Display Enable
-HUT 04 Sport Controls
- 000 Unidentified
- 001 Baseball Bat
- 002 Golf Club
- 003 Rowing Machine
- 004 Treadmill
- 030 Oar
- 031 Slope
- 032 Rate
- 033 Stick Speed
- 034 Stick Face Angle
- 035 Stick Heel/Toe
- 036 Stick Follow Through
- 038 Stick Type
- 039 Stick Height
- 047 Stick Temp
- 050 Putter
- 051 1 Iron
- 052 2 Iron
- 053 3 Iron
- 054 4 Iron
- 055 5 Iron
- 056 6 Iron
- 057 7 Iron
- 058 8 Iron
- 059 9 Iron
- 05a 10 Iron
- 05b 11 Iron
- 05c Sand Wedge
- 05d Loft Wedge
- 05e Power Wedge
- 05f 1 Wood
- 060 3 Wood
- 061 5 Wood
- 062 7 Wood
- 063 9 Wood
-HUT 05 Game Controls
- 000 Undefined
- 001 3D Game Controller
- 002 Pinball Device
- 003 Gun Device
- 020 Point Of View
- 021 Turn Right/Left
- 022 Pitch Right/Left
- 023 Roll Forward/Backward
- 024 Move Right/Left
- 025 Move Forward/Backward
- 026 Move Up/Down
- 027 Lean Right/Left
- 028 Lean Forward/Backward
- 029 Height of POV
- 02a Flipper
- 02b Secondary Flipper
- 02c Bump
- 02d New Game
- 02e Shoot Ball
- 02f Player
- 030 Gun Bolt
- 031 Gun Clip
- 032 Gun Selector
- 033 Gun Single Shot
- 034 Gun Burst
- 035 Gun Automatic
- 036 Gun Safety
- 037 Gamepad Fire/Jump
- 038 Gamepad Fun
- 039 Gamepad Trigger
-HUT 07 Keyboard
- 000 No Event
- 001 Keyboard ErrorRollOver
- 002 Keyboard POSTfail
- 003 Keyboard Error Undefined
- 004 A
- 005 B
- 006 C
- 007 D
- 008 E
- 009 F
- 00a G
- 00b H
- 00c I
- 00d J
- 00e K
- 00f L
- 010 M
- 011 N
- 012 O
- 013 P
- 014 Q
- 015 R
- 016 S
- 017 T
- 018 U
- 019 V
- 01a W
- 01b X
- 01c Y
- 01d Z
- 01e 1 and ! (One and Exclamation)
- 01f 2 and @ (2 and at)
- 020 3 and # (3 and Hash)
- 021 4 and $ (4 and Dollar Sign)
- 022 5 and % (5 and Percent Sign)
- 023 6 and ^ (6 and circumflex)
- 024 7 and & (Seven and Ampersand)
- 025 8 and * (Eight and asterisk)
- 026 9 and ( (Nine and Parenthesis Left)
- 027 0 and ) (Zero and Parenthesis Right)
- 028 Return (Enter)
- 029 Escape
- 02a Delete (Backspace)
- 02b Tab
- 02c Space Bar
- 02d - and _ (Minus and underscore)
- 02e = and + (Equal and Plus)
- 02f [ and { (Bracket and Braces Left)
- 030 ] and } (Bracket and Braces Right)
- 031 \ and | (Backslash and Bar)
- 032 # and ~ (Hash and Tilde, Non-US Keyboard near right shift)
- 033 ; and : (Semicolon and Colon)
- 034 ´ and " (Accent Acute and Double Quotes)
- 035 ` and ~ (Accent Grace and Tilde)
- 036 , and < (Comma and Less)
- 037 . and > (Period and Greater)
- 038 / and ? (Slash and Question Mark)
- 039 Caps Lock
- 03a F1
- 03b F2
- 03c F3
- 03d F4
- 03e F5
- 03f F6
- 040 F7
- 041 F8
- 042 F9
- 043 F10
- 044 F11
- 045 F12
- 046 Print Screen
- 047 Scroll Lock
- 048 Pause
- 049 Insert
- 04a Home
- 04b Page Up
- 04c Delete Forward (without Changing Position)
- 04d End
- 04e Page Down
- 04f Right Arrow
- 050 Left Arrow
- 051 Down Arrow
- 052 Up Arrow
- 053 Num Lock and Clear
- 054 Keypad / (Division Sign)
- 055 Keypad * (Multiplication Sign)
- 056 Keypad - (Subtraction Sign)
- 057 Keypad + (Addition Sign)
- 058 Keypad Enter
- 059 Keypad 1 and END
- 05a Keypad 2 and Down Arrow
- 05b Keypad 3 and Page Down
- 05c Keypad 4 and Left Arrow
- 05d Keypad 5 (Tactilei Raised)
- 05f Keypad 6 and Right Arrow
- 060 Keypad 7 and Home
- 061 Keypad 8 and Up Arrow
- 062 Keypad 8 and Page Up
- 063 Keypad . (decimal delimiter) and Delete
- 064 \ and | (Backslash and Bar, UK and Non-US Keyboard near left shift)
- 065 Keyboard Application (Windows Key for Win95 or Compose)
- 066 Power (not a key)
- 067 Keypad = (Equal Sign)
- 068 F13
- 069 F14
- 06a F15
- 06b F16
- 06c F17
- 06d F18
- 06e F19
- 06f F20
- 070 F21
- 071 F22
- 072 F23
- 073 F24
- 074 Execute
- 075 Help
- 076 Menu
- 077 Select
- 078 Stop
- 079 Again
- 07a Undo
- 07b Cut
- 07c Copy
- 07d Paste
- 07e Find
- 07f Mute
- 080 Volume Up
- 081 Volume Down
- 082 Locking Caps Lock
- 083 Locking Num Lock
- 084 Locking Scroll Lock
- 085 Keypad Comma
- 086 Keypad Equal Sign (AS/400)
- 087 International 1 (PC98)
- 088 International 2 (PC98)
- 089 International 3 (PC98)
- 08a International 4 (PC98)
- 08b International 5 (PC98)
- 08c International 6 (PC98)
- 08d International 7 (Toggle Single/Double Byte Mode)
- 08e International 8
- 08f International 9
- 090 LANG 1 (Hangul/English Toggle, Korea)
- 091 LANG 2 (Hanja Conversion, Korea)
- 092 LANG 3 (Katakana, Japan)
- 093 LANG 4 (Hiragana, Japan)
- 094 LANG 5 (Zenkaku/Hankaku, Japan)
- 095 LANG 6
- 096 LANG 7
- 097 LANG 8
- 098 LANG 9
- 099 Alternate Erase
- 09a SysReq/Attention
- 09b Cancel
- 09c Clear
- 09d Prior
- 09e Return
- 09f Separator
- 0a0 Out
- 0a1 Open
- 0a2 Clear/Again
- 0a3 CrSel/Props
- 0a4 ExSel
- 0e0 Control Left
- 0e1 Shift Left
- 0e2 Alt Left
- 0e3 GUI Left
- 0e4 Control Right
- 0e5 Shift Right
- 0e6 Alt Rigth
- 0e7 GUI Right
-HUT 08 LEDs
- 000 Undefined
- 001 NumLock
- 002 CapsLock
- 003 Scroll Lock
- 004 Compose
- 005 Kana
- 006 Power
- 007 Shift
- 008 Do not disturb
- 009 Mute
- 00a Tone Enabke
- 00b High Cut Filter
- 00c Low Cut Filter
- 00d Equalizer Enable
- 00e Sound Field ON
- 00f Surround On
- 010 Repeat
- 011 Stereo
- 012 Sampling Rate Detect
- 013 Spinning
- 014 CAV
- 015 CLV
- 016 Recording Format Detect
- 017 Off-Hook
- 018 Ring
- 019 Message Waiting
- 01a Data Mode
- 01b Battery Operation
- 01c Battery OK
- 01d Battery Low
- 01e Speaker
- 01f Head Set
- 020 Hold
- 021 Microphone
- 022 Coverage
- 023 Night Mode
- 024 Send Calls
- 025 Call Pickup
- 026 Conference
- 027 Stand-by
- 028 Camera On
- 029 Camera Off
- 02a On-Line
- 02b Off-Line
- 02c Busy
- 02d Ready
- 02e Paper-Out
- 02f Paper-Jam
- 030 Remote
- 031 Forward
- 032 Reverse
- 033 Stop
- 034 Rewind
- 035 Fast Forward
- 036 Play
- 037 Pause
- 038 Record
- 039 Error
- 03a Usage Selected Indicator
- 03b Usage In Use Indicator
- 03c Usage Multi Indicator
- 03d Indicator On
- 03e Indicator Flash
- 03f Indicator Slow Blink
- 040 Indicator Fast Blink
- 041 Indicator Off
- 042 Flash On Time
- 043 Slow Blink On Time
- 044 Slow Blink Off Time
- 045 Fast Blink On Time
- 046 Fast Blink Off Time
- 047 Usage Color Indicator
- 048 Indicator Red
- 049 Indicator Green
- 04a Indicator Amber
- 04b Generic Indicator
- 04c System Suspend
- 04d External Power Connected
-HUT 09 Buttons
- 000 No Button Pressed
- 001 Button 1 (Primary)
- 002 Button 2 (Secondary)
- 003 Button 3 (Tertiary)
- 004 Button 4
- 005 Button 5
-HUT 0a Ordinal
- 001 Instance 1
- 002 Instance 2
- 003 Instance 3
-HUT 0b Telephony
- 000 Unassigned
- 001 Phone
- 002 Answering Machine
- 003 Message Controls
- 004 Handset
- 005 Headset
- 006 Telephony Key Pad
- 007 Programmable Button
- 020 Hook Switch
- 021 Flash
- 022 Feature
- 023 Hold
- 024 Redial
- 025 Transfer
- 026 Drop
- 027 Park
- 028 Forward Calls
- 029 Alternate Function
- 02a Line
- 02b Speaker Phone
- 02c Conference
- 02d Ring Enable
- 02e Ring Select
- 02f Phone Mute
- 030 Caller ID
- 050 Speed Dial
- 051 Store Number
- 052 Recall Number
- 053 Phone Directory
- 070 Voice Mail
- 071 Screen Calls
- 072 Do Not Disturb
- 073 Message
- 074 Answer On/Offf
- 090 Inside Dial Tone
- 091 Outside Dial Tone
- 092 Inside Ring Tone
- 093 Outside Ring Tone
- 094 Priority Ring Tone
- 095 Inside Ringback
- 096 Priority Ringback
- 097 Line Busy Tone
- 098 Recorder Tone
- 099 Call Waiting Tone
- 09a Confirmation Tone 1
- 09b Confirmation Tone 2
- 09c Tones Off
- 09d Outside Ringback
- 0b0 Key 1
- 0b1 Key 2
- 0b3 Key 3
- 0b4 Key 4
- 0b5 Key 5
- 0b6 Key 6
- 0b7 Key 7
- 0b8 Key 8
- 0b9 Key 9
- 0ba Key Star
- 0bb Key Pound
- 0bc Key A
- 0bd Key B
- 0be Key C
- 0bf Key D
-HUT 0c Consumer
- 000 Unassigned
- 001 Consumer Control
- 002 Numeric Key Pad
- 003 Programmable Buttons
- 020 +10
- 021 +100
- 022 AM/PM
- 030 Power
- 031 Reset
- 032 Sleep
- 033 Sleep After
- 034 Sleep Mode
- 035 Illumination
- 036 Function Buttons
- 040 Menu
- 041 Menu Pick
- 042 Menu Up
- 043 Menu Down
- 044 Menu Left
- 045 Menu Right
- 046 Menu Escape
- 047 Menu Value Increase
- 048 Menu Value Decrease
- 060 Data on Screen
- 061 Closed Caption
- 062 Closed Caption Select
- 063 VCR/TV
- 064 Broadcast Mode
- 065 Snapshot
- 066 Still
- 080 Selection
- 081 Assign Selection
- 082 Mode Step
- 083 Recall Last
- 084 Enter Channel
- 085 Order Movie
- 086 Channel
- 087 Media Selection
- 088 Media Select Computer
- 089 Media Select TV
- 08a Media Select WWW
- 08b Media Select DVD
- 08c Media Select Telephone
- 08d Media Select Program Guide
- 08e Media Select Video Phone
- 08f Media Select Games
- 090 Media Select Messages
- 091 Media Select CD
- 092 Media Select VCR
- 093 Media Select Tuner
- 094 Quit
- 095 Help
- 096 Media Select Tape
- 097 Media Select Cable
- 098 Media Select Satellite
- 099 Media Select Security
- 09a Media Select Home
- 09b Media Select Call
- 09c Channel Increment
- 09d Channel Decrement
- 09e Media Select SAP
- 0a0 VCR Plus
- 0a1 Once
- 0a2 Daily
- 0a3 Weekly
- 0a4 Monthly
- 0b0 Play
- 0b1 Pause
- 0b2 Record
- 0b3 Fast Forward
- 0b4 Rewind
- 0b5 Scan Next Track
- 0b6 Scan Previous Track
- 0b7 Stop
- 0b8 Eject
- 0b9 Random Play
- 0ba Select Disc
- 0bb Enter Disc
- 0bc Repeat
- 0bd Tracking
- 0be Track Normal
- 0bf Slow Tracking
- 0c0 Frame Forward
- 0c1 Frame Back
- 0c2 Mark
- 0c3 Clear Mark
- 0c4 Repeat from Mark
- 0c5 Return to Mark
- 0c6 Search Mark Forward
- 0c7 Search Mark Backward
- 0c8 Counter Reset
- 0c9 Show Counter
- 0ca Tracking Increment
- 0cb Tracking Decrement
- 0cc Stop/Eject
- 0cd Play/Pause
- 0ce Play/Skip
- 0e0 Volume
- 0e1 Balance
- 0e2 Mute
- 0e3 Bass
- 0e4 Treble
- 0e5 Bass Boost
- 0e6 Surround Mode
- 0e7 Loudness
- 0e8 MPX
- 0e9 Volume Increment
- 0ea Volume Decrement
- 0f0 Speed Select
- 0f1 Playback Speed
- 0f2 Standard Play
- 0f3 Long Play
- 0f4 Extended Play
- 0f5 Slow
- 100 Fan Enable
- 101 Fan Speed
- 102 Light Enable
- 103 Light Illumination Level
- 104 Climate Control Enable
- 105 Room Temperature
- 106 Security Enable
- 107 Fire Alarm
- 108 Police Alarm
- 150 Balance Right
- 151 Balance Left
- 152 Bass Increment
- 153 Bass Decrement
- 154 Treble Increment
- 155 Treble Decrement
- 160 Speaker System
- 161 Channel Left
- 162 Channel Right
- 163 Channel Center
- 164 Channel Front
- 165 Channel Center Front
- 166 Channel Side
- 167 Channel Surround
- 168 Channel Low Frequency Enhancement
- 169 Channel Top
- 16a Channel Unknown
- 170 Sub-Channel
- 171 Sub-Channel Increment
- 172 Sub-Channel Decrement
- 173 Alternative Audio Increment
- 174 Alternative Audio Decrement
- 180 Application Launch Buttons
- 181 AL Launch Button Configuration Tool
- 182 AL Launch Button Configuration
- 183 AL Consumer Control Configuration
- 184 AL Word Processor
- 185 AL Text Editor
- 186 AL Spreadsheet
- 187 AL Graphics Editor
- 188 AL Presentation App
- 189 AL Database App
- 18a AL Email Reader
- 18b AL Newsreader
- 18c AL Voicemail
- 18d AL Contacts/Address Book
- 18e AL Calendar/Schedule
- 18f AL Task/Project Manager
- 190 AL Log/Jounal/Timecard
- 191 AL Checkbook/Finance
- 192 AL Calculator
- 193 AL A/V Capture/Playback
- 194 AL Local Machine Browser
- 195 AL LAN/Wan Browser
- 196 AL Internet Browser
- 197 AL Remote Networking/ISP Connect
- 198 AL Network Conference
- 199 AL Network Chat
- 19a AL Telephony/Dialer
- 19b AL Logon
- 19c AL Logoff
- 19d AL Logon/Logoff
- 19e AL Terminal Local/Screensaver
- 19f AL Control Panel
- 1a0 AL Command Line Processor/Run
- 1a1 AL Process/Task Manager
- 1a2 AL Select Task/Application
- 1a3 AL Next Task/Application
- 1a4 AL Previous Task/Application
- 1a5 AL Preemptive Halt Task/Application
- 200 Generic GUI Application Controls
- 201 AC New
- 202 AC Open
- 203 AC CLose
- 204 AC Exit
- 205 AC Maximize
- 206 AC Minimize
- 207 AC Save
- 208 AC Print
- 209 AC Properties
- 21a AC Undo
- 21b AC Copy
- 21c AC Cut
- 21d AC Paste
- 21e AC Select All
- 21f AC Find
- 220 AC Find and Replace
- 221 AC Search
- 222 AC Go To
- 223 AC Home
- 224 AC Back
- 225 AC Forward
- 226 AC Stop
- 227 AC Refresh
- 228 AC Previous Link
- 229 AC Next Link
- 22b AC History
- 22c AC Subscriptions
- 22d AC Zoom In
- 22e AC Zoom Out
- 22f AC Zoom
- 230 AC Full Screen View
- 231 AC Normal View
- 232 AC View Toggle
- 233 AC Scroll Up
- 234 AC Scroll Down
- 235 AC Scroll
- 236 AC Pan Left
- 237 AC Pan Right
- 238 AC Pan
- 239 AC New Window
- 23a AC Tile Horizontally
- 23b AC Tile Vertically
- 23c AC Format
-HUT 0d Digitizer
- 000 Undefined
- 001 Digitizer
- 002 Pen
- 003 Light Pen
- 004 Touch Screen
- 005 Touch Pad
- 006 White Board
- 007 Coordinate Measuring Machine
- 008 3D Digitizer
- 009 Stereo Plotter
- 00a Articulated Arm
- 00b Armature
- 00c Multiple Point Digitizer
- 00d Free Space Wand
- 020 Stylus
- 021 Puck
- 022 Finger
- 030 Tip Pressure
- 031 Barrel Pressure
- 032 In Range
- 033 Touch
- 034 Untouch
- 035 Tap
- 036 Quality
- 037 Data Valid
- 038 Transducer Index
- 039 Tablet Function Keys
- 03a Program Change Keys
- 03b Battery Strength
- 03c Invert
- 03d X Tilt
- 03e Y Tilt
- 03f Azimuth
- 040 Altitude
- 041 Twist
- 042 Tip Switch
- 043 Secondary Tip Switch
- 044 Barrel Switch
- 045 Eraser
- 046 Tablet Pick
- 047 Confidence
- 048 Width
- 049 Height
- 051 Contact ID
- 052 Input Mode
- 053 Device Index
- 054 Contact Count
- 055 Maximum Contact Number
-HUT 0f PID Page
- 000 Undefined
- 001 Physical Interface Device
- 020 Normal
- 021 Set Effect Report
- 022 Effect Block Index
- 023 Parameter Block Offset
- 024 ROM Flag
- 025 Effect Type
- 026 ET Constant Force
- 027 ET Ramp
- 028 ET Custom Force Data
- 030 ET Square
- 031 ET Sine
- 032 ET Triangle
- 033 ET Sawtooth Up
- 034 ET Sawtooth Down
- 040 ET Spring
- 041 ET Damper
- 042 ET Inertia
- 043 ET Friction
- 050 Duration
- 051 Sample Period
- 052 Gain
- 053 Trigger Button
- 054 Trigger Repeat Interval
- 055 Axes Enable
- 056 Direction Enable
- 057 Direction
- 058 Type Specific Block Offset
- 059 Block Type
- 05A Set Envelope Report
- 05B Attack Level
- 05C Attack Time
- 05D Fade Level
- 05E Fade Time
- 05F Set Condition Report
- 060 CP Offset
- 061 Positive Coefficient
- 062 Negative Coefficient
- 063 Positive Saturation
- 064 Negative Saturation
- 065 Dead Band
- 066 Download Force Sample
- 067 Isoch Custom Force Enable
- 068 Custom Force Data Report
- 069 Custom Force Data
- 06A Custom Force Vendor Defined Data
- 06B Set Custom Force Report
- 06C Custom Force Data Offset
- 06D Sample Count
- 06E Set Periodic Report
- 06F Offset
- 070 Magnitude
- 071 Phase
- 072 Period
- 073 Set Constant Force Report
- 074 Set Ramp Force Report
- 075 Ramp Start
- 076 Ramp End
- 077 Effect Operation Report
- 078 Effect Operation
- 079 Op Effect Start
- 07A Op Effect Start Solo
- 07B Op Effect Stop
- 07C Loop Count
- 07D Device Gain Report
- 07E Device Gain
- 07F PID Pool Report
- 080 RAM Pool Size
- 081 ROM Pool Size
- 082 ROM Effect Block Count
- 083 Simultaneous Effects Max
- 084 Pool Alignment
- 085 PID Pool Move Report
- 086 Move Source
- 087 Move Destination
- 088 Move Length
- 089 PID Block Load Report
- 08B Block Load Status
- 08C Block Load Success
- 08D Block Load Full
- 08E Block Load Error
- 08F Block Handle
- 090 PID Block Free Report
- 091 Type Specific Block Handle
- 092 PID State Report
- 094 Effect Playing
- 095 PID Device Control Report
- 096 PID Device Control
- 097 DC Enable Actuators
- 098 DC Disable Actuators
- 099 DC Stop All Effects
- 09A DC Device Reset
- 09B DC Device Pause
- 09C DC Device Continue
- 09F Device Paused
- 0A0 Actuators Enabled
- 0A4 Safety Switch
- 0A5 Actuator Override Switch
- 0A6 Actuator Power
- 0A7 Start Delay
- 0A8 Parameter Block Size
- 0A9 Device Managed Pool
- 0AA Shared Parameter Blocks
- 0AB Create New Effect Report
- 0AC RAM Pool Available
-HUT 10 Unicode
-HUT 14 Alphanumeric Display
- 000 Undefined
- 001 Alphanumeric Display
- 020 Display Attributes Report
- 021 ASCII Character Set
- 022 Data Read Back
- 023 Font Read Back
- 024 Display Control Report
- 025 Clear Display
- 026 Display Enable
- 027 Screen Saver Delay
- 028 Screen Saver Enable
- 029 Vertical Scroll
- 02a Horizontal Scroll
- 02b Character Report
- 02c Display Data
- 02d Display Status
- 02e Stat Not Ready
- 02f Stat Ready
- 030 Err Not a loadable Character
- 031 Err Font Data Cannot Be Read
- 032 Cursur Position Report
- 033 Row
- 034 Column
- 035 Rows
- 036 Columns
- 037 Cursor Pixel Positioning
- 038 Cursor Mode
- 039 Cursor Enable
- 03a Cursor Blink
- 03b Font Report
- 03c Font Data
- 03d Character Width
- 03e Character Height
- 03f Character Spacing Horizontal
- 040 Character Spacing Vertical
- 041 Unicode Character Set
-HUT 80 USB Monitor
- 001 Monitor Control
- 002 EDID Information
- 003 VDIF Information
- 004 VESA Version
-HUT 81 USB Monitor Enumerated Values
-HUT 82 Monitor VESA Virtual Controls
- 001 Degauss
- 010 Brightness
- 012 Contrast
- 016 Red Video Gain
- 018 Green Video Gain
- 01a Blue Video Gain
- 01c Focus
- 020 Horizontal Position
- 022 Horizontal Size
- 024 Horizontal Pincushion
- 026 Horizontal Pincushion Balance
- 028 Horizontal Misconvergence
- 02a Horizontal Linearity
- 02c Horizontal Linearity Balance
- 030 Vertical Position
- 032 Vertical Size
- 034 Vertical Pincushion
- 036 Vertical Pincushion Balance
- 038 Vertical Misconvergence
- 03a Vertical Linearity
- 03c Vertical Linearity Balance
- 040 Parallelogram Balance (Key Distortion)
- 042 Trapezoidal Distortion (Key)
- 044 Tilt (Rotation)
- 046 Top Corner Distortion Control
- 048 Top Corner Distortion Balance
- 04a Bottom Corner Distortion Control
- 04c Bottom Corner Distortion Balance
- 056 Horizontal Moire
- 058 Vertical Moire
- 05e Input Level Select
- 060 Input Source Select
- 06c Red Video Black Level
- 06e Green Video Black Level
- 070 Blue Video Black Level
- 0a2 Auto Size Center
- 0a4 Polarity Horizontal Sychronization
- 0a6 Polarity Vertical Synchronization
- 0aa Screen Orientation
- 0ac Horizontal Frequency in Hz
- 0ae Vertical Frequency in 0.1 Hz
- 0b0 Settings
- 0ca On Screen Display (OSD)
- 0d4 Stereo Mode
-HUT 84 Power Device Page
- 000 Undefined
- 001 iName
- 002 Present Status
- 003 Changed Status
- 004 UPS
- 005 Power Supply
- 010 Battery System
- 011 Battery System ID
- 012 Battery
- 013 Battery ID
- 014 Charger
- 015 Charger ID
- 016 Power Converter
- 017 Power Converter ID
- 018 Outlet System
- 019 Outlet System ID
- 01a Input
- 01b Input ID
- 01c Output
- 01d Output ID
- 01e Flow
- 01f Flow ID
- 020 Outlet
- 021 Outlet ID
- 022 Gang
- 023 Gang ID
- 024 Power Summary
- 025 Power Summary ID
- 030 Voltage
- 031 Current
- 032 Frequency
- 033 Apparent Power
- 034 Active Power
- 035 Percent Load
- 036 Temperature
- 037 Humidity
- 038 Bad Count
- 040 Config Voltage
- 041 Config Current
- 042 Config Frequency
- 043 Config Apparent Power
- 044 Config Active Power
- 045 Config Percent Load
- 046 Config Temperature
- 047 Config Humidity
- 050 Switch On Control
- 051 Switch Off Control
- 052 Toggle Control
- 053 Low Voltage Transfer
- 054 High Voltage Transfer
- 055 Delay Before Reboot
- 056 Delay Before Startup
- 057 Delay Before Shutdown
- 058 Test
- 059 Module Reset
- 05a Audible Alarm Control
- 060 Present
- 061 Good
- 062 Internal Failure
- 063 Voltage out of range
- 064 Frequency out of range
- 065 Overload
- 066 Over Charged
- 067 Over Temperature
- 068 Shutdown Requested
- 069 Shutdown Imminent
- 06a Reserved
- 06b Switch On/Off
- 06c Switchable
- 06d Used
- 06e Boost
- 06f Buck
- 070 Initialized
- 071 Tested
- 072 Awaiting Power
- 073 Communication Lost
- 0fd iManufacturer
- 0fe iProduct
- 0ff iSerialNumber
-HUT 85 Battery System Page
- 000 Undefined
- 001 SMB Battery Mode
- 002 SMB Battery Status
- 003 SMB Alarm Warning
- 004 SMB Charger Mode
- 005 SMB Charger Status
- 006 SMB Charger Spec Info
- 007 SMB Selector State
- 008 SMB Selector Presets
- 009 SMB Selector Info
- 010 Optional Mfg. Function 1
- 011 Optional Mfg. Function 2
- 012 Optional Mfg. Function 3
- 013 Optional Mfg. Function 4
- 014 Optional Mfg. Function 5
- 015 Connection to SMBus
- 016 Output Connection
- 017 Charger Connection
- 018 Battery Insertion
- 019 Use Next
- 01a OK to use
- 01b Battery Supported
- 01c SelectorRevision
- 01d Charging Indicator
- 028 Manufacturer Access
- 029 Remaining Capacity Limit
- 02a Remaining Time Limit
- 02b At Rate
- 02c Capacity Mode
- 02d Broadcast To Charger
- 02e Primary Battery
- 02f Charge Controller
- 040 Terminate Charge
- 041 Terminate Discharge
- 042 Below Remaining Capacity Limit
- 043 Remaining Time Limit Expired
- 044 Charging
- 045 Discharging
- 046 Fully Charged
- 047 Fully Discharged
- 048 Conditioning Flag
- 049 At Rate OK
- 04a SMB Error Code
- 04b Need Replacement
- 060 At Rate Time To Full
- 061 At Rate Time To Empty
- 062 Average Current
- 063 Max Error
- 064 Relative State Of Charge
- 065 Absolute State Of Charge
- 066 Remaining Capacity
- 067 Full Charge Capacity
- 068 Run Time To Empty
- 069 Average Time To Empty
- 06a Average Time To Full
- 06b Cycle Count
- 080 Batt. Pack Model Level
- 081 Internal Charge Controller
- 082 Primary Battery Support
- 083 Design Capacity
- 084 Specification Info
- 085 Manufacturer Date
- 086 Serial Number
- 087 iManufacturerName
- 088 iDeviceName
- 089 iDeviceChemistry
- 08a Manufacturer Data
- 08b Rechargeable
- 08c Warning Capacity Limit
- 08d Capacity Granularity 1
- 08e Capacity Granularity 2
- 08f iOEMInformation
- 0c0 Inhibit Charge
- 0c1 Enable Polling
- 0c2 Reset To Zero
- 0d0 AC Present
- 0d1 Battery Present
- 0d2 Power Fail
- 0d3 Alarm Inhibited
- 0d4 Thermistor Under Range
- 0d5 Thermistor Hot
- 0d6 Thermistor Cold
- 0d7 Thermistor Over Range
- 0d8 Voltage Out Of Range
- 0d9 Current Out Of Range
- 0da Current Not Regulated
- 0db Voltage Not Regulated
- 0dc Master Mode
- 0f0 Charger Selector Support
- 0f1 Charger Spec
- 0f2 Level 2
- 0f3 Level 3
-HUT 86 Power Pages
-HUT 87 Power Pages
-HUT 8c Bar Code Scanner Page (POS)
-HUT 8d Scale Page (POS)
-HUT 90 Camera Control Page
-HUT 91 Arcade Control Page
-HUT f0 Cash Device
- 0f1 Cash Drawer
- 0f2 Cash Drawer Number
- 0f3 Cash Drawer Set
- 0f4 Cash Drawer Status
-HUT ff Vendor Specific
-
-# List of Languages
-
-# Syntax:
-# L language_id language_name
-# dialect_id dialect_name
-
-L 0001 Arabic
- 01 Saudi Arabia
- 02 Iraq
- 03 Egypt
- 04 Libya
- 05 Algeria
- 06 Morocco
- 07 Tunesia
- 08 Oman
- 09 Yemen
- 0a Syria
- 0b Jordan
- 0c Lebanon
- 0d Kuwait
- 0e U.A.E
- 0f Bahrain
- 10 Qatar
-L 0002 Bulgarian
-L 0003 Catalan
-L 0004 Chinese
- 01 Traditional
- 02 Simplified
- 03 Hongkong SAR, PRC
- 04 Singapore
- 05 Macau SAR
-L 0005 Czech
-L 0006 Danish
-L 0007 German
- 01 German
- 02 Swiss
- 03 Austrian
- 04 Luxembourg
- 05 Liechtenstein
-L 0008 Greek
-L 0009 English
- 01 US
- 02 UK
- 03 Australian
- 04 Canadian
- 05 New Zealand
- 06 Ireland
- 07 South Africa
- 08 Jamaica
- 09 Carribean
- 0a Belize
- 0b Trinidad
- 0c Zimbabwe
- 0d Philippines
-L 000a Spanish
- 01 Castilian
- 02 Mexican
- 03 Modern
- 04 Guatemala
- 05 Costa Rica
- 06 Panama
- 07 Dominican Republic
- 08 Venzuela
- 09 Colombia
- 0a Peru
- 0b Argentina
- 0c Ecuador
- 0d Chile
- 0e Uruguay
- 0f Paraguay
- 10 Bolivia
- 11 El Salvador
- 12 Honduras
- 13 Nicaragua
- 14 Puerto Rico
-L 000b Finnish
-L 000c French
- 01 French
- 02 Belgian
- 03 Canadian
- 04 Swiss
- 05 Luxembourg
- 06 Monaco
-L 000d Hebrew
-L 000e Hungarian
-L 000f Idelandic
-L 0010 Italian
- 01 Italian
- 02 Swiss
-L 0011 Japanese
-L 0012 Korean
- 01 Korean
-L 0013 Dutch
- 01 Dutch
- 02 Belgian
-L 0014 Norwegian
- 01 Bokmal
- 02 Nynorsk
-L 0015 Polish
-L 0016 Portuguese
- 01 Portuguese
- 02 Brazilian
-L 0017 forgotten
-L 0018 Romanian
-L 0019 Russian
-L 001a Serbian
- 01 Croatian
- 02 Latin
- 03 Cyrillic
-L 001b Slovak
-L 001c Albanian
-L 001d Swedish
- 01 Swedish
- 02 Finland
-L 001e Thai
-L 001f Turkish
-L 0020 Urdu
- 01 Pakistan
- 02 India
-L 0021 Indonesian
-L 0022 Ukrainian
-L 0023 Belarusian
-L 0024 Slovenian
-L 0025 Estonian
-L 0026 Latvian
-L 0027 Lithuanian
- 01 Lithuanian
-L 0028 forgotten
-L 0029 Farsi
-L 002a Vietnamese
-L 002b Armenian
-L 002c Azeri
- 01 Cyrillic
- 02 Latin
-L 002d Basque
-L 002e forgotten
-L 002f Macedonian
-L 0036 Afrikaans
-L 0037 Georgian
-L 0038 Faeroese
-L 0039 Hindi
-L 003e Malay
- 01 Malaysia
- 02 Brunei Darassalam
-L 003f Kazak
-L 0041 Awahili
-L 0043 Uzbek
- 01 Latin
- 02 Cyrillic
-L 0044 Tatar
-L 0045 Bengali
-L 0046 Punjabi
-L 0047 Gujarati
-L 0048 Oriya
-L 0049 Tamil
-L 004a Telugu
-L 004b Kannada
-L 004c Malayalam
-L 004d Assamese
-L 004e Marathi
-L 004f Sanskrit
-L 0057 Konkani
-L 0058 Manipuri
-L 0059 Sindhi
-L 0060 Kashmiri
- 02 India
-L 0061 Nepali
- 02 India
-
-# HID Descriptor bCountryCode
-# HID Specification 1.11 (2001-06-27) page 23
-#
-# Syntax:
-# HCC country_code keymap_type
-
-HCC 00 Not supported
-HCC 01 Arabic
-HCC 02 Belgian
-HCC 03 Canadian-Bilingual
-HCC 04 Canadian-French
-HCC 05 Czech Republic
-HCC 06 Danish
-HCC 07 Finnish
-HCC 08 French
-HCC 09 German
-HCC 10 Greek
-HCC 11 Hebrew
-HCC 12 Hungary
-HCC 13 International (ISO)
-HCC 14 Italian
-HCC 15 Japan (Katakana)
-HCC 16 Korean
-HCC 17 Latin American
-HCC 18 Netherlands/Dutch
-HCC 19 Norwegian
-HCC 20 Persian (Farsi)
-HCC 21 Poland
-HCC 22 Portuguese
-HCC 23 Russia
-HCC 24 Slovakia
-HCC 25 Spanish
-HCC 26 Swedish
-HCC 27 Swiss/French
-HCC 28 Swiss/German
-HCC 29 Switzerland
-HCC 30 Taiwan
-HCC 31 Turkish-Q
-HCC 32 UK
-HCC 33 US
-HCC 34 Yugoslavia
-HCC 35 Turkish-F
-
-# List of Video Class Terminal Types
-
-# Syntax:
-# VT terminal_type terminal_type_name
-
-VT 0100 USB Vendor Specific
-VT 0101 USB Streaming
-VT 0200 Input Vendor Specific
-VT 0201 Camera Sensor
-VT 0202 Sequential Media
-VT 0300 Output Vendor Specific
-VT 0301 Generic Display
-VT 0302 Sequential Media
-VT 0400 External Vendor Specific
-VT 0401 Composite Video
-VT 0402 S-Video
-VT 0403 Component Video
diff --git a/usbhid-dump/doc/usbhid-dump.8 b/usbhid-dump.8.in
index 868c452..1589075 100644
--- a/usbhid-dump/doc/usbhid-dump.8
+++ b/usbhid-dump.8.in
@@ -1,23 +1,6 @@
-.\" Process this file with
-.\" groff -man -Tascii usbhid-dump.8
-.\"
-.\" This file is part of usbhid-dump.
-.\"
-.\" Usbhid-dump is free software; you can redistribute it and/or modify
-.\" it under the terms of the GNU General Public License as published by
-.\" the Free Software Foundation; either version 2 of the License, or
-.\" (at your option) any later version.
-.\"
-.\" Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-.\" Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-.\"
-.TH usbhid-dump "8" "February 2012"
+.\"SPDX-License-Identifier: GPL-2.0+
+.TH usbhid-dump "8" "February 2012" "usbutils-VERSION" "Linux USB Utilities"
+.IX usbhid-dump
.SH NAME
usbhid-dump \- dump USB HID device report descriptors and streams
.SH SYNOPSIS
@@ -111,7 +94,7 @@ Dump report descriptor from interface 1 of a device with vendor ID 0x5543:
.B usbhid-dump -m 5543 -i 1 -ed
.TP
-Dump report streams from all HID interfaces of all USB devices (caution: you will loose control over the terminal if you use USB keyboard):
+Dump report streams from all HID interfaces of all USB devices (caution: you will lose control over the terminal if you use USB keyboard):
.B usbhid-dump -es
.SH AUTHOR
diff --git a/usbhid-dump/.gitignore b/usbhid-dump/.gitignore
new file mode 100644
index 0000000..839e279
--- /dev/null
+++ b/usbhid-dump/.gitignore
@@ -0,0 +1,16 @@
+/config.h.in
+/autom4te.cache
+/aclocal.m4
+/Makefile.in
+/configure
+/config.h
+/config.log
+/config.status
+/libtool
+/Makefile
+/stamp-h1
+/auxdir
+/ChangeLog
+*.o
+*.lo
+*.la
diff --git a/usbhid-dump/ChangeLog b/usbhid-dump/ChangeLog
deleted file mode 100644
index 52f1fe6..0000000
--- a/usbhid-dump/ChangeLog
+++ /dev/null
@@ -1,608 +0,0 @@
-commit 81eab80f40fd6c0d7ffb3734e27480ea5617807a
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Feb 5 18:32:08 2012 +0200
-
- Add 1.3 release NEWS entry
-
- Add an entry on 1.3 release to the NEWS file.
-
-commit 8672e398646657e1a1cd2891524e634e56c40272
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Feb 5 15:24:31 2012 +0200
-
- Add manual page
-
- Add usbhid-dump manual page.
-
-commit dd79e31fa928dc0f0ef5b771e7275f3d3fbfc5ca
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Wed Dec 28 23:41:06 2011 +0200
-
- Bump package version to 1.3
-
-commit 597588b159356ddd2e76df68413c9c926c29049d
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Wed Dec 28 10:36:35 2011 +0200
-
- Fix program_invocation_name shadowing warning
-
- Fix "declaration of 'program_invocation_name' shadows a global declaration"
- warning on Cygwin by renaming "usage" function argument to simply "name".
-
-commit e3d1a07aa13cc6cfa04c685029f1f3c60fe15e5f
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Wed Dec 28 10:34:37 2011 +0200
-
- Fix Cygwin array subscript warnings
-
- Fix "array subscript has type 'char'" warning on Cygwin by casting is* macro
- arguments to int.
-
-commit 777f16529c6f10b21e1eebad5b24435f8e860c2a
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Dec 26 19:46:48 2011 +0200
-
- Remove no longer used str.c
-
- Remove str.c, containing only uhd_strisblank function, which is no longer used.
-
-commit e81f9c654d64ad87231c85cfe2428113f430d9ee
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Dec 26 19:19:43 2011 +0200
-
- Include config.h into all .c files
-
- Include config.h into all .c files to control libusb_error declaration in
- uhd/libusb.h (which is included in all of them) and definition in libusb.c
-
-commit 2bb4456a7c52dae315d5cbb7b824c135f37c7fa4
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Dec 26 16:06:50 2011 +0200
-
- Switch to trying libtoolize before glibtoolize
-
- Switch to trying libtoolize first and then glibtoolize in bootstrap script.
- This apparently suits possible Darwin installs better.
-
-commit 1376606a432490b4a0fb06924c2f7937582b4508
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Dec 26 15:39:19 2011 +0200
-
- Use LIBUSB_CALL for callbacks, if present
-
- Use LIBUSB_CALL to specify calling conventions for dump_iface_list_stream_cb,
- if defined. This happens with libusb > 1.0.8.
-
-commit e7507b80ad60ba2b2f891c75538653a865f4d8b9
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Dec 26 15:21:14 2011 +0200
-
- Rename ERROR/FAILURE to GENERIC_ERROR/FAILURE
-
- Rename ERROR and FAILURE macros in usbhid-dump.c to GENERIC_ERROR and
- GENERIC_FAILURE respectively. This is needed to avoid clashes with ERROR define
- in wingdi.h on cygwin.
-
-commit 903ec93fd8aa7c4b894a39dd56743939ffbcb302
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Dec 26 14:27:40 2011 +0200
-
- Use stock libusb_strerror, if present
-
- Hide internal libusb_strerror definition in case it is already defined by
- libusb.
-
-commit f7d61e13c1c343da844b36b20bf4fa00996ce799
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Dec 26 14:25:59 2011 +0200
-
- Fix config.h include location
-
- Move config.h include in usbhid-dump.c to before all other includes to allow
- header control.
-
-commit c322356bb979697c449b5827255177a9af7af45e
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Dec 26 13:45:36 2011 +0200
-
- Remove _GNU_SOURCE define
-
- Remove _GNU_SOURCE define from CFLAGS - no GNU extensions used anymore.
-
-commit 427912d3400807f632928dfc2f8345552d06e624
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Dec 26 13:33:54 2011 +0200
-
- Stop using program_invocation_short_name
-
- Stop using program_invocation_short_name - a GNU extension variable and extract
- usbhid-dump invocation name ourselves.
-
-commit 93b3313a4d4186f0a822fb0c5ed4149f759cc733
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Dec 25 19:55:35 2011 +0200
-
- Prefer glibtoolize over libtoolize, if present
-
- Use explicitly named GNU libtoolize (glibtoolize) instead of system libtoolize,
- if present, in bootstrap script. This is needed for Darwin.
-
-commit 84e4935e939471b47aeaeff614ba64eea81c0898
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Dec 25 19:27:15 2011 +0200
-
- Fix ignored fwrite return value warning
-
- Fix ignored fwrite return value warning, which apparently could occur
- sometimes.
-
-commit 47f2ea2f87c1de2c2bf31f1b745154a43519af22
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Dec 18 15:56:52 2011 +0200
-
- Add missing stddef.h include to uhd/dev_list.h
-
- Add missing stddef.h include to uhd/dev_list.h.
- Thanks to Debian maintainers!
-
-commit 921682318259b63c04178e0a75b3dff85768c952
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Dec 18 15:52:26 2011 +0200
-
- Switch to using pkg-config
-
- Switch to using pkg-config to locate libusb, update headers to include libusb.h
- without subdirectory.
- Thanks to Debian maintainers!
-
-commit e80a7d52400929d3214bc92b8c0c3655c869a7d1
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Dec 18 14:40:26 2011 +0200
-
- Add AM_MAINTAINER_MODE to configure.ac
-
- Add AM_MAINTAINER_MODE to configure.ac.
- Thanks to Debian maintainers!
-
-commit 6282356b266b32b6fab7c3b42eacdd81d43e4823
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Dec 18 13:42:18 2011 +0200
-
- Fix infinite loop on unsigned char platforms
-
- Fix infinite loop in command-line option parsing on unsigned char platforms.
-
-commit a88648f447fb6481d88f5dccd8d557e3878d5858
-Author: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Tue Dec 13 22:32:38 2011 -0500
-
- Add missing limits.h include to usbhid-dump.c
-
- Fix build with glibc-2.14.1, gcc-4.6.2 by including missing limits.h to
- usbhid-dump.c, for UINT_MAX.
-
- Bug 3459209
-
-commit b643881e646e8d7ad9bfe566a6f262f010efca35
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sat Nov 20 15:41:50 2010 +0300
-
- Prepared 1.2 release
-
- Bumped up the version in configure.ac and added a NEWS entry.
-
-commit 015ea6d220037ecc15ff15278f34d4d32befb69e
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Fri Nov 19 00:32:13 2010 +0300
-
- Add stream timeout printout
-
- Add interrupt transfer stream timeout printout at the start of dumping.
-
-commit ec9af056549c9713839b1094904b34161950146a
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Nov 18 20:36:12 2010 +0300
-
- Refine and fix error handling and reporting
-
- Refine error handling and reporting macros.
- Add interface address to relevant error messages.
- Fix interface release and reattachment error handling.
- Fix interrupt transfer resubmission error handling.
-
-commit 717d0a58f5de266f5f2e2cfebfceb578eb185b89
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Nov 18 18:28:50 2010 +0300
-
- Add --stream-timeout option support
-
- Add -t, --stream-timeout option for specifying stream interrupt transfer
- timeout.
-
-commit 4e61825219a6054f3da4c0354537b62e51b3c405
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Nov 18 17:39:21 2010 +0300
-
- Make -s, -a, -d and -m options require an argument.
-
-commit fbe7a8bab9fbd0e7a9d00e5597ecb34166786a08
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Nov 18 16:05:43 2010 +0300
-
- Remove unneeded libusb_open_device_with_bus_dev
-
- Remove now unneeded libusb_open_device_with_bus_dev, it is replaced with
- uhd_dev_list_open.
-
-commit 65c2e2a78aa4f26d2abcc12b500ee1b85b48abbe
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Wed Nov 17 20:51:48 2010 +0300
-
- Minor naming cleanup in uhd_dev_list_open
-
- Renamed vendor/product parameters to uhd_dev_list_open to vid/pid.
-
-commit 4fb9dfd60bd99c1ddaad1f33c8d02ab3dd6182a6
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Wed Nov 17 20:48:07 2010 +0300
-
- Move common generic constants to a separate file
-
- Move common generic constants to a separate header file misc.h.
-
-commit fbb23a3cb06b0bc528c4cf9345646f7e82756949
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Wed Nov 17 20:14:41 2010 +0300
-
- Add multi-device dumping with limiting
-
- Add multi-device dumping.
- Add independent limiting by bus number, device address, vendor, product and
- interface number.
-
-commit 07fbdb8ba0c5bdc85697bbc0588a610c9e4dad18
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Nov 15 22:43:08 2010 +0300
-
- Use iteration macro in iface list module
-
- Use interface list iteration macro in two functions in the interface list
- module.
-
-commit c3b89adb362c43721a25cc1e54542448936b6b6e
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Nov 15 22:31:45 2010 +0300
-
- Split iface into iface and iface_list
-
- Split iface.[hc] into iface.[hc] and iface_list.[hc].
-
-commit 48c2184f6548b8c6f180ebceaddd8788143f17bf
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Nov 15 22:23:35 2010 +0300
-
- Use iface iterator in dump_iface_list_descriptor
-
- Use interface list iterator in dump_iface_list_descriptor instead of
- explicit loop.
-
-commit d0ad24c4c9ef12b1b4e1425867b7753e11f9d432
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Nov 15 22:18:49 2010 +0300
-
- Break iface list functions into iface functions
-
- Break interface list functions into interface functions and use list
- iteration macro instead.
-
-commit 6a72205d8ac5689af81488538d0069a590d61ab8
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Nov 15 19:15:10 2010 +0300
-
- Add comments to iface.h
-
- Document all functions in iface.h
-
-commit bb1c9f6cdb1324774e4b3a8b58d2cde58f0df680
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Nov 14 17:43:04 2010 +0300
-
- Make ChangeLog generation optional
-
- Make ChangeLog generation optional again to fix distcheck target.
-
-commit 7a153ea304d0d47c63bf5edc6aab57b48af26baf
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Nov 14 17:34:53 2010 +0300
-
- Sync directory and file names with prefix update
-
- Rename directories and files to match prefix replacement done in the commit
- before the previous one.
-
-commit e9007a175a0d9632b9d73f297ba09dfe51f8916b
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Nov 14 17:27:12 2010 +0300
-
- Refine formatting after prefix update
-
- Refine source code formatting after replacing prefixes done in the previous
- commit.
-
-commit fcd12f67a7c93c16be6fda0c0ad451d2226025b7
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Nov 14 17:20:21 2010 +0300
-
- Replace usbhid_dump_ prefix with uhd_
-
- Replace usbhid_dump_ and USBHID_DUMP_ symbol prefixes with uhd_ and UHD_
- respectively to make them shorter.
-
-commit 3ef1aa3e27b4d46e7f05c700e38929cb82681bb6
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sat Nov 13 20:36:45 2010 +0300
-
- Fix ChangeLog generation
-
- Fix ChangeLog generation if packaged as a subpackage. Make ChangeLog
- generation mandatory.
-
-commit 0bfa2572b00a0fe33dcb2a4b4b71a1d7501f7211
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sat Nov 13 17:56:16 2010 +0300
-
- Add ChangeLog generation to bootstrap
-
- Add dummy ChangeLog generation to bootstrap in order to make auto tools
- notice we (will) have one.
-
-commit 1f5f5be11e5eeff1cd592fe621235f3a172d00c9
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Tue Aug 24 20:00:22 2010 +0400
-
- Prepared 1.1 release
-
- Added a NEWS entry and bumped up the version.
-
-commit 861d051469304a332ca7d6de77cc6ac8a3123470
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Tue Aug 24 19:59:24 2010 +0400
-
- Fixed --version option
-
- Fixed --version option, only -v worked before.
-
-commit 39b4c330d6d3453dda80b9f11554565acdd785ca
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Tue Aug 24 19:31:23 2010 +0400
-
- Added NEWS file
-
- Added NEWS file with short description of the past 1.0 release.
-
-commit a31b592d9a321e6684ea124ae652fb4e2d96b4c7
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Tue Aug 24 19:22:16 2010 +0400
-
- Renamed dump entity "both" to "all"
-
- Renamed dump entity "both" to "all" in preparation for introducing physical
- descriptor dumping support.
-
-commit bdcd22d40019acce8f0fb9e98b303876d5b627f9
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Tue Aug 24 18:49:27 2010 +0400
-
- Added ChangeLog generation
-
- Added ChangeLog generation from git log to top Makefile.am
- Based on the code taken from http://live.gnome.org/Git/ChangeLog.
-
-commit 539c0446f4f84df6452e17a16253f18a84a81ac8
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Tue Aug 24 17:55:47 2010 +0400
-
- Add --version option
-
- Add --version option support, update usage message text.
-
-commit 6514d51e917f11676b3cee415ee098169c833e6b
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Aug 22 19:22:34 2010 +0400
-
- Add another package name to libusb 1.0 dependency
-
- Add another libusb 1.0 development package name (libusb1-devel) to the
- configure.ac dependency error message to better support Fedora users.
-
-commit 490ac2a5fc080ecc6daeef60117e65143013d4d1
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Aug 19 20:46:30 2010 +0400
-
- Renamed the package from hid-dump to usbhid-dump
-
- In preparation for integration with usbutils, the package is given a more
- globally correct name "usbhid-dump". All the relevant directories and files
- are renamed. All the relevant symbols in the code are renamed. The resulting
- binary is renamed. All the license notices in the files are updated with the
- new name.
-
-commit faa5530291e9799acca48cda59e8ce94c1a7d354
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Wed Aug 18 18:41:53 2010 +0400
-
- Add generated files to .gitignore
-
- Add *.o, *.lo and *.la files to root .gitignore.
-
-commit 7acc7ca5712ac63b501f61a7208caebfc2a85078
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Wed Aug 18 18:39:35 2010 +0400
-
- Move -Wextra -Werror to debug build
-
- The -Wextra and -Werror flags are only used with --enable-debug now.
-
-commit 199cb6dfb6b476978bec0c9b1496ce2e37fce7ae
-Author: Nikolai Kondrashov <spb_nick@shell-22002.(none)>
-Date: Wed Aug 18 12:15:24 2010 +0000
-
- Add .gitignore
-
- Added .gitignore generated from svn:ignore.
-
-commit c31145a6a53aafdb6306a657701e9c0d9e38260f
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Fri Jul 30 09:06:41 2010 +0000
-
- Added unsupported HID request response handling.
-
-commit 59f27afd0b6e379c61923d8be2f3eaef52ddb352
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Jul 25 11:23:29 2010 +0000
-
- Added output buffering.
-
-commit 6b9204eee7a20d4fd81674e6b9a7ab541c390b8e
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sat Jul 24 14:40:16 2010 +0000
-
- Added timestamp to dumps.
-
-commit ba6730adb30dd32c2110659e6477b76d377e2174
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Fri Jul 23 07:39:11 2010 +0000
-
- Updated svn:ignore property on lib and src to ignore .libs.
-
-commit 32402bc2e23012af39fcce59fee61dc0013e7e85
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Fri Jul 23 07:35:40 2010 +0000
-
- Cosmetic fix to usage text, set release version.
-
-commit 39ca4fa99b63bd9e85c18061e6c5151a10e49d44
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Jul 22 20:25:41 2010 +0000
-
- A minor fix to usage text.
-
-commit e9173a5237e97a285ba5897809a85358e5999adc
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Jul 22 20:23:07 2010 +0000
-
- Added --stream-feedback option.
-
-commit eff49adf928966427770bd37aaad13bb5404886b
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Jul 22 20:12:01 2010 +0000
-
- Added transfer error termination message.
-
-commit 78298d17820e95771b54529a4c29b94c292c00da
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Jul 22 20:06:05 2010 +0000
-
- Added termination on transfer errors.
-
-commit 6ccaebe047e0516d558fce5ec43da25f2bf6de86
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Jul 22 19:57:17 2010 +0000
-
- Added transfer cancellation.
-
-commit 17571c90cb9faa230c6b68fd4770c12e905ca409
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Jul 22 13:47:37 2010 +0000
-
- Cosmetic fixes.
-
-commit 44bf186c0ee35827c238ad423e5612952c57215f
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Jul 22 13:25:07 2010 +0000
-
- Added --stream-paused option.
-
-commit 16d793f5bae71e72a3edcdb24431ad06a1995cc3
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Thu Jul 22 13:19:44 2010 +0000
-
- Added (somewhat dummy) Set_Protocol and Set_Idle requests to stream dumping setup.
-
-commit 94328c20c37b8789c19205e877123499b18d49bb
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Wed Jul 21 16:46:16 2010 +0000
-
- Added stream output pausing/resuming on USR1/USR2.
-
-commit 04f54e3b77fc08816bfd4418abd647d3e0f9274c
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Wed Jul 21 15:01:50 2010 +0000
-
- Added SIGINT/SIGTERM handling with cleanup.
-
-commit 1c4d8790aa0283eae85b0f85d8c2ede0eab9cf2c
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Wed Jul 21 08:10:10 2010 +0000
-
- Fixed stream dumping.
-
-commit 44a3ec34e675b940b36496a271f24ef6fc8085e0
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Tue Jul 6 08:51:32 2010 +0000
-
- A fix to maximum descriptor size, descriptor retrieval endpoint.
-
-commit 19ed3afda273678c04a0be44e6b3e825e6fdc034
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Jul 5 19:06:33 2010 +0000
-
- Implemented a stream dump draft.
-
-commit ea90586888a8580c28f4f4762fe9af074ebe69fc
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Jul 5 14:17:27 2010 +0000
-
- Added auxdir.
-
-commit c2b6697868c0026d68ceb74090543755c3efab04
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Jul 5 14:05:18 2010 +0000
-
- Added report descriptor dumping.
-
-commit 872079ec9051bb2b86ec19a5e5a290b40be3b89f
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Jul 5 13:10:41 2010 +0000
-
- Added interface claiming/releasing.
-
-commit 8d2a9a44388f168da91401beab36bc51cebc5e23
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Jul 5 12:39:27 2010 +0000
-
- Added interface detaching/attaching.
-
-commit 39f9c1929343a1eb926a873de5d22729daa84dc9
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Jul 5 10:28:48 2010 +0000
-
- Made entity an option.
-
-commit 08ce608f8172330ade4cb5c91372bf98c97487e4
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Jul 5 08:59:58 2010 +0000
-
- Modularized and cleaned up a bit.
-
-commit 014762e7c19c30b0b94d03e5b7054c01be62ca47
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Mon Jun 28 19:48:48 2010 +0000
-
- First (non-working) draft compiles.
-
-commit cee93eacd170d5a330fa090a38e47500887760d2
-Author: Nikolai Kondrashov <spbnick@gmail.com>
-Date: Sun Jun 13 11:16:42 2010 +0000
-
- Committing first sketches of hid-dump.
diff --git a/usbhid-dump/Makefile.am b/usbhid-dump/Makefile.am
index 33d1b4f..21a0c0b 100644
--- a/usbhid-dump/Makefile.am
+++ b/usbhid-dump/Makefile.am
@@ -1,27 +1,13 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
# Copyright (C) 2009-2010 Nikolai Kondrashov
#
# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-SUBDIRS = include lib src doc
+SUBDIRS = src
dist_noinst_SCRIPTS = bootstrap
-ACLOCAL_AMFLAGS = -I m4
-
dist-hook:
@set -e; \
if test -d "$(srcdir)/.git"; then \
diff --git a/usbhid-dump/Makefile.in b/usbhid-dump/Makefile.in
deleted file mode 100644
index 478da46..0000000
--- a/usbhid-dump/Makefile.in
+++ /dev/null
@@ -1,832 +0,0 @@
-# Makefile.in generated by automake 1.12.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2012 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) 2009-2010 Nikolai Kondrashov
-#
-# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-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 = .
-DIST_COMMON = $(am__configure_deps) $(dist_noinst_SCRIPTS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/config.h.in $(top_srcdir)/auxdir/config.guess \
- $(top_srcdir)/auxdir/config.sub \
- $(top_srcdir)/auxdir/install-sh $(top_srcdir)/auxdir/ltmain.sh \
- $(top_srcdir)/auxdir/missing $(top_srcdir)/configure ChangeLog \
- NEWS auxdir/config.guess auxdir/config.sub auxdir/depcomp \
- auxdir/install-sh auxdir/ltmain.sh auxdir/missing
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-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 =
-SCRIPTS = $(dist_noinst_SCRIPTS)
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-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 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=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- cscope distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-CSCOPE = cscope
-DIST_SUBDIRS = $(SUBDIRS)
-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
-GZIP_ENV = --best
-DIST_TARGETS = 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@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-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@
-LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
-LIBUSB_LIBS = @LIBUSB_LIBS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-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@
-STRIP = @STRIP@
-VERSION = @VERSION@
-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@
-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 = include lib src doc
-dist_noinst_SCRIPTS = bootstrap
-ACLOCAL_AMFLAGS = -I m4
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-am--refresh: Makefile
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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
-.PRECIOUS: 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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-config.h: stamp-h1
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
-
-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: @MAINTAINER_MODE_TRUE@ $(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.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; 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"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-cscopelist-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- 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; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- 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
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- 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-recursive cscopelist
-
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- 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) | GZIP=$(GZIP_ENV) gzip -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
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__post_remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -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*) \
- GZIP=$(GZIP_ENV) gzip -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*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod u+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(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 \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(AM_DISTCHECK_CONFIGURE_FLAGS) \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(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 $(SCRIPTS) 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."
-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: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
- cscopelist-recursive ctags-recursive install-am install-strip \
- tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-cscope \
- clean-generic clean-libtool cscope cscopelist \
- cscopelist-recursive ctags ctags-recursive 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-recursive \
- uninstall uninstall-am
-
-
-dist-hook:
- @set -e; \
- if test -d "$(srcdir)/.git"; then \
- echo Generating ChangeLog; \
- ( cd "$(srcdir)" && auxdir/missing --run git log ) > \
- ChangeLog.tmp; \
- mv -f ChangeLog.tmp "$(distdir)/ChangeLog"; \
- else \
- echo Skipping ChangeLog generation: no .git directory >&2; \
- fi
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/usbhid-dump/NEWS b/usbhid-dump/NEWS
index 89bf0ad..b938f3b 100644
--- a/usbhid-dump/NEWS
+++ b/usbhid-dump/NEWS
@@ -1,3 +1,10 @@
+2014-11-11: 1.4
+ * Request report descriptor with size specified in the interface descriptor
+ to fix retrieval with some devices (e.g. Waltop Vega Tablet) which
+ would produce ERROR_PIPE otherwise.
+ * Add missing stdint.h includes to fix Gentoo/FreeBSD build issues.
+ * Add README.md
+
2011-02-05: 1.3
* Add manual page.
* Fix several build issues.
diff --git a/usbhid-dump/README.md b/usbhid-dump/README.md
new file mode 100644
index 0000000..59ec2f2
--- /dev/null
+++ b/usbhid-dump/README.md
@@ -0,0 +1,121 @@
+Usbhid-dump
+===========
+
+Usbhid-dump is a USB HID dumping utility based on libusb 1.0. It dumps USB HID device report descriptors and reports themselves as they are being sent, for all or specific device interfaces.
+
+Installation
+------------
+
+Run `./configure && make` to build and `make install` to install. If building from a Git tree, run `./bootstrap` first. Usbhid-dump can also be run directly from the source directory as `src/usbhid-dump`, without installation.
+
+Usage
+-----
+
+Here is the output of `usbhid-dump --help`:
+
+ $ usbhid-dump --help
+ Usage: usbhid-dump [OPTION]...
+ Dump USB device HID report descriptor(s) and/or stream(s).
+
+ Options:
+ -h, --help output this help message and exit
+ -v, --version output version information and exit
+
+ -s, -a, --address=bus[:dev] limit interfaces by bus number
+ (1-255) and device address (1-255),
+ decimal; zeroes match any
+ -d, -m, --model=vid[:pid] limit interfaces by vendor and
+ product IDs (0001-ffff), hexadecimal;
+ zeroes match any
+ -i, --interface=NUMBER limit interfaces by number (0-254),
+ decimal; 255 matches any
+
+ -e, --entity=STRING what to dump: either "descriptor",
+ "stream" or "all"; value can be
+ abbreviated
+
+ -t, --stream-timeout=NUMBER stream interrupt transfer timeout, ms;
+ zero means infinity
+ -p, --stream-paused start with the stream dump output
+ paused
+ -f, --stream-feedback enable stream dumping feedback: for
+ every transfer dumped a dot is
+ printed to stderr
+
+ Default options: --stream-timeout=60000 --entity=descriptor
+
+ Signals:
+ USR1/USR2 pause/resume the stream dump output
+
+
+**Warning:** please be careful running usbhid-dump as a superuser without limiting your device selection with options. Usbhid-dump will try to dump every device possible and If you're using a USB keyboard to control your terminal, it will be detached and you will be unable to terminate usbhid-dump and regain control.
+
+If that happens just don't touch your keyboard for the duration of the interrupt transfer timeout (1 minute by default) and the dumping will be aborted.
+
+Here is an example of a report descriptor and stream dump from a mouse:
+
+ $ sudo usbhid-dump --entity=all --address=2:3
+ 002:003:000:DESCRIPTOR         1290272184.081322
+  05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 03
+  15 00 25 01 75 01 95 03 81 02 75 05 95 01 81 01
+  05 01 09 30 09 31 09 38 15 81 25 7F 75 08 95 03
+  81 06 C0 C0
+
+ Starting dumping interrupt transfer stream
+ with 1 minute timeout.
+
+ 002:003:000:STREAM             1290272185.210022
+  00 FF 00 00
+
+ 002:003:000:STREAM             1290272185.217988
+  00 FE 00 00
+
+ 002:003:000:STREAM             1290272185.225985
+  00 FC 01 00
+
+ 002:003:000:STREAM             1290272185.233995
+  00 FE 01 00
+
+ 002:003:000:STREAM             1290272185.241992
+  00 FF 01 00
+
+ 002:003:000:STREAM             1290272185.249995
+  00 FE 02 00
+
+ 002:003:000:STREAM             1290272185.257993
+  00 FF 01 00
+
+ ^C
+
+In the output above "002" is the bus number, "003" is the device address and "000" is the interface number. "DESCRIPTOR" indicates descriptor chunk and "STREAM" - stream chunk. The number to the right is the timestamp in seconds since epoch. The hexadecimal numbers below is the chunk dump itself. Usually every stream chunk includes a whole report, but if the report is bigger than endpoint's wMaxPacketSize, it will span several chunks.
+
+You can use usbhid-dump along with [hidrd-convert](https://github.com/DIGImend/hidrd) to dump report descriptors in human-readable format. Like this:
+
+ $ sudo usbhid-dump -a2:3 -i0 | grep -v : | xxd -r -p | hidrd-convert -o spec
+ Usage Page (Desktop),               ; Generic desktop controls (01h)
+ Usage (Mouse),                      ; Mouse (02h, application collection)
+ Collection (Application),
+     Usage (Pointer),                ; Pointer (01h, physical collection)
+     Collection (Physical),
+         Usage Page (Button),        ; Button (09h)
+         Usage Minimum (01h),
+         Usage Maximum (03h),
+         Logical Minimum (0),
+         Logical Maximum (1),
+         Report Size (1),
+         Report Count (3),
+         Input (Variable),
+         Report Size (5),
+         Report Count (1),
+         Input (Constant),
+         Usage Page (Desktop),       ; Generic desktop controls (01h)
+         Usage (X),                  ; X (30h, dynamic value)
+         Usage (Y),                  ; Y (31h, dynamic value)
+         Usage (Wheel),              ; Wheel (38h, dynamic value)
+         Logical Minimum (-127),
+         Logical Maximum (127),
+         Report Size (8),
+         Report Count (3),
+         Input (Variable, Relative),
+     End Collection,
+ End Collection
diff --git a/usbhid-dump/aclocal.m4 b/usbhid-dump/aclocal.m4
deleted file mode 100644
index a1f9804..0000000
--- a/usbhid-dump/aclocal.m4
+++ /dev/null
@@ -1,1172 +0,0 @@
-# generated automatically by aclocal 1.12.1 -*- Autoconf -*-
-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
-[m4_warning([this file was generated for autoconf 2.69.
-You have another version of autoconf. It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-
-# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-#
-# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
-AC_DEFUN([PKG_PROG_PKG_CONFIG],
-[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
-AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
-AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
- AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
-fi
-if test -n "$PKG_CONFIG"; then
- _pkg_min_version=m4_default([$1], [0.9.0])
- AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- PKG_CONFIG=""
- fi
-fi[]dnl
-])# PKG_PROG_PKG_CONFIG
-
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists. Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be skipped (such as if it is within an "if", you
-# have to call PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_EXISTS],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-if test -n "$PKG_CONFIG" && \
- AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
- m4_default([$2], [:])
-m4_ifvaln([$3], [else
- $3])dnl
-fi])
-
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
-m4_define([_PKG_CONFIG],
-[if test -n "$$1"; then
- pkg_cv_[]$1="$$1"
- elif test -n "$PKG_CONFIG"; then
- PKG_CHECK_EXISTS([$3],
- [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
- [pkg_failed=yes])
- else
- pkg_failed=untried
-fi[]dnl
-])# _PKG_CONFIG
-
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
-AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
-
-
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_MODULES],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
-AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-
-pkg_failed=no
-AC_MSG_CHECKING([for $1])
-
-_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-_PKG_CONFIG([$1][_LIBS], [libs], [$2])
-
-m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
-and $1[]_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.])
-
-if test $pkg_failed = yes; then
- AC_MSG_RESULT([no])
- _PKG_SHORT_ERRORS_SUPPORTED
- if test $_pkg_short_errors_supported = yes; then
- $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
- else
- $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
-
- m4_default([$4], [AC_MSG_ERROR(
-[Package requirements ($2) were not met:
-
-$$1_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-_PKG_TEXT])[]dnl
- ])
-elif test $pkg_failed = untried; then
- AC_MSG_RESULT([no])
- m4_default([$4], [AC_MSG_FAILURE(
-[The pkg-config script could not be found or is too old. Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-_PKG_TEXT
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
- ])
-else
- $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
- $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
- AC_MSG_RESULT([yes])
- $3
-fi[]dnl
-])# PKG_CHECK_MODULES
-
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.12'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.12.1], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too. Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.12.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
-# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is '.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ([2.52])dnl
- m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 17
-
-# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
- [$1], [CXX], [depcc="$CXX" am_compiler_list=],
- [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
- [$1], [UPC], [depcc="$UPC" am_compiler_list=],
- [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named 'D' -- because '-MD' means "put the output
- # in D".
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
- # Solaris 10 /bin/sh.
- echo '/* dummy */' > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with '-c' and '-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle '-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs.
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # After this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested.
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok '-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE([dependency-tracking], [dnl
-AS_HELP_STRING(
- [--enable-dependency-tracking],
- [do not reject slow dependency extractors])
-AS_HELP_STRING(
- [--disable-dependency-tracking],
- [speeds up one-time build])])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named 'Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running 'make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each '.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 19
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[AC_DIAGNOSE([obsolete],
-[$0: two- and three-arguments forms are deprecated. For more info, see:
-http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation])
-m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(
- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
- [ok:ok],,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
- AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
-AM_MISSING_PROG([AUTOCONF], [autoconf])
-AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
-AM_MISSING_PROG([AUTOHEADER], [autoheader])
-AM_MISSING_PROG([MAKEINFO], [makeinfo])
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES([CC])],
- [m4_define([AC_PROG_CC],
- m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES([CXX])],
- [m4_define([AC_PROG_CXX],
- m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES([OBJC])],
- [m4_define([AC_PROG_OBJC],
- m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-dnl Support for Objective C++ was only introduced in Autoconf 2.65,
-dnl but we still cater to Autoconf 2.62.
-m4_ifdef([AC_PROG_OBJCXX],
-[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
- [_AM_DEPENDENCIES([OBJCXX])],
- [m4_define([AC_PROG_OBJCXX],
- m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-AC_SUBST([install_sh])])
-
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 7
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless 'enable' is passed literally.
-# For symmetry, 'disable' may be passed as well. Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
- [enable], [m4_define([am_maintainer_other], [disable])],
- [disable], [m4_define([am_maintainer_other], [enable])],
- [m4_define([am_maintainer_other], [enable])
- m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode's default is 'disable' unless 'enable' is passed
- AC_ARG_ENABLE([maintainer-mode],
- [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
- am_maintainer_other[ make rules and dependencies not useful
- (and sometimes confusing) to the casual installer])],
- [USE_MAINTAINER_MODE=$enableval],
- [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST([MAINT])dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 7
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN(['missing' script is too old or missing])
-fi
-])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# --------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[[\\\"\#\$\&\'\`$am_lf]]*)
- AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
- alias in your environment])
- fi
- if test "$[2]" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT([yes])
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
- am_sleep_pid=$!
-fi
-AC_CONFIG_COMMANDS_PRE(
- [AC_MSG_CHECKING([that generated files are newer than configure])
- if test -n "$am_sleep_pid"; then
- # Hide warnings about reused PIDs.
- wait $am_sleep_pid 2>/dev/null
- fi
- AC_MSG_RESULT([done])])
-rm -f conftest.file
-])
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor 'install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in "make install-strip", and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip". However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of 'v7', 'ustar', or 'pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of '-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/libtool.m4])
-m4_include([m4/ltoptions.m4])
-m4_include([m4/ltsugar.m4])
-m4_include([m4/ltversion.m4])
-m4_include([m4/lt~obsolete.m4])
diff --git a/usbhid-dump/auxdir/config.guess b/usbhid-dump/auxdir/config.guess
deleted file mode 100755
index de8e6dd..0000000
--- a/usbhid-dump/auxdir/config.guess
+++ /dev/null
@@ -1,1540 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
-
-timestamp='2012-02-10'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, 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 Per Bothner. Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-case "${UNAME_MACHINE}" in
- i?86)
- test -z "$VENDOR" && VENDOR=pc
- ;;
- *)
- test -z "$VENDOR" && VENDOR=unknown
- ;;
-esac
-test -f /etc/SuSE-release -o -f /.buildenv && VENDOR=suse
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ELF__
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit ;;
- *:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-${VENDOR}-openbsd${UNAME_RELEASE}
- exit ;;
- *:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-ekkobsd${UNAME_RELEASE}
- exit ;;
- *:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-solidbsd${UNAME_RELEASE}
- exit ;;
- macppc:MirBSD:*:*)
- echo powerpc-${VENDOR}-mirbsd${UNAME_RELEASE}
- exit ;;
- *:MirBSD:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-mirbsd${UNAME_RELEASE}
- exit ;;
- alpha:OSF1:*:*)
- case $UNAME_RELEASE in
- *4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- ;;
- *5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
- ;;
- esac
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
- exitcode=$?
- trap '' 0
- exit $exitcode ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-${VENDOR}-sysv4
- exit ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-amigaos
- exit ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-morphos
- exit ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
- *:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
- *:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
- echo arm-${VENDOR}-riscos
- exit ;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
- s390x:SunOS:*:*)
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- echo i386-pc-auroraux${UNAME_RELEASE}
- exit ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval $set_cc_for_build
- SUN_ARCH="i386"
- # If there is a compiler, see if it is configured for 64-bit objects.
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- SUN_ARCH="x86_64"
- fi
- fi
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-${VENDOR}-mint${UNAME_RELEASE}
- exit ;;
- m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
- exit ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h> /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
- exit ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
- then
- echo "$SYSTEM_NAME"
- else
- echo rs6000-ibm-aix3.2.5
- fi
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit ;;
- *:AIX:*:[4567])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- eval $set_cc_for_build
-
- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
- # generating 64-bit code. GNU and HP use different nomenclature:
- #
- # $ CC_FOR_BUILD=cc ./config.guess
- # => hppa2.0w-hp-hpux11.23
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep -q __LP64__
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-${VENDOR}-osf1mk
- else
- echo ${UNAME_MACHINE}-${VENDOR}-osf1
- fi
- exit ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- *:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- 5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit ;;
- sparc*:BSD/OS:*:*)
- echo sparc-${VENDOR}-bsdi${UNAME_RELEASE}
- exit ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-bsdi${UNAME_RELEASE}
- exit ;;
- *:FreeBSD:*:*)
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- case ${UNAME_PROCESSOR} in
- amd64)
- echo x86_64-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_PROCESSOR}-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- esac
- exit ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit ;;
- *:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit ;;
- i*:MSYS*:*)
- echo ${UNAME_MACHINE}-pc-msys
- exit ;;
- i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
- exit ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit ;;
- *:Interix*:*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- authenticamd | genuineintel | EM64T)
- echo x86_64-${VENDOR}-interix${UNAME_RELEASE}
- exit ;;
- IA64)
- echo ia64-${VENDOR}-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit ;;
- 8664:Windows_NT:*)
- echo x86_64-pc-mks
- exit ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit ;;
- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-${VENDOR}-cygwin
- exit ;;
- p*:CYGWIN*:*)
- echo powerpcle-${VENDOR}-cygwin
- exit ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-${VENDOR}-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- *:GNU:*:*)
- # the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-${VENDOR}-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-${VENDOR}-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
- exit ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit ;;
- aarch64:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- aarch64_be:Linux:*:*)
- UNAME_MACHINE=aarch64_be
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu${LIBC}
- exit ;;
- arm*:Linux:*:*)
- eval $set_cc_for_build
- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_EABI__
- then
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- else
- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_PCS_VFP
- then
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnueabi
- else
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnueabihf
- fi
- fi
- exit ;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- cris:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-gnu
- exit ;;
- crisv32:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-gnu
- exit ;;
- frv:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- hexagon:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- i*86:Linux:*:*)
- LIBC=gnu
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
- exit ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- mips:Linux:*:* | mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef ${UNAME_MACHINE}
- #undef ${UNAME_MACHINE}el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=${UNAME_MACHINE}el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=${UNAME_MACHINE}
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-${VENDOR}-linux-gnu"; exit; }
- ;;
- or32:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- padre:Linux:*:*)
- echo sparc-${VENDOR}-linux-gnu
- exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-${VENDOR}-linux-gnu
- exit ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-${VENDOR}-linux-gnu ;;
- PA8*) echo hppa2.0-${VENDOR}-linux-gnu ;;
- *) echo hppa-${VENDOR}-linux-gnu ;;
- esac
- exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-${VENDOR}-linux-gnu
- exit ;;
- ppc:Linux:*:*)
- echo powerpc-${VENDOR}-linux-gnu
- exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
- exit ;;
- x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-${VENDOR}-stop
- exit ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-atheos
- exit ;;
- i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
- exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-${VENODR}-lynxos${UNAME_RELEASE}
- exit ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit ;;
- i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-${VENDOR}-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
- # Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
- # this is a cross-build.
- echo i586-pc-msdosdjgpp
- exit ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-${VENODR}-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
- M68*:*:R3V[5678]*:*)
- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
- NCR*:*:4.2:* | MPRAS*:*:4.2:*)
- OS_REL='.3'
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-${VENDOR}-lynxos${UNAME_RELEASE}
- exit ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-${VENDOR}-lynxos${UNAME_RELEASE}
- exit ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-${VENDOR}-lynxos${UNAME_RELEASE}
- exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-${VENDOR}-lynxos${UNAME_RELEASE}
- exit ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <hewes@openmarket.com>.
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit ;;
- i*86:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
- exit ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-${VENDOR}-sysv${UNAME_RELEASE}
- fi
- exit ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
- BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
- echo i586-pc-haiku
- exit ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- i386)
- eval $set_cc_for_build
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- UNAME_PROCESSOR="x86_64"
- fi
- fi ;;
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
- NEO-?:NONSTOP_KERNEL:*:*)
- echo neo-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSR-?:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-${VENDOR}-plan9
- exit ;;
- *:TOPS-10:*:*)
- echo pdp10-${VENDOR}-tops10
- exit ;;
- *:TENEX:*:*)
- echo pdp10-${VENDOR}-tenex
- exit ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
- *:TOPS-20:*:*)
- echo pdp10-${VENDOR}-tops20
- exit ;;
- *:ITS:*:*)
- echo pdp10-${VENDOR}-its
- exit ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit ;;
- *:DragonFly:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit ;;
- *:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
- esac ;;
- *:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
- i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
- exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
- i*86:AROS:*:*)
- echo ${UNAME_MACHINE}-pc-aros
- exit ;;
- x86_64:VMkernel:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-esx
- exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/usbhid-dump/auxdir/config.sub b/usbhid-dump/auxdir/config.sub
deleted file mode 100755
index 59bb593..0000000
--- a/usbhid-dump/auxdir/config.sub
+++ /dev/null
@@ -1,1779 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
-
-timestamp='2012-04-18'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, 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.
-
-
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo $1
- exit ;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | \
- kopensolaris*-gnu* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- android-linux)
- os=-linux-android
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze)
- os=
- basic_machine=$1
- ;;
- -bluegene*)
- os=-cnk
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*178)
- os=-lynxos178
- ;;
- -lynx*5)
- os=-lynxos5
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | aarch64 | aarch64_be \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | be32 | be64 \
- | bfin \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
- | epiphany \
- | fido | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | hexagon \
- | i370 | i860 | i960 | ia64 \
- | ip2k | iq2000 \
- | le32 | le64 \
- | lm32 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64octeon | mips64octeonel \
- | mips64orion | mips64orionel \
- | mips64r5900 | mips64r5900el \
- | mips64vr | mips64vrel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | moxie \
- | mt \
- | msp430 \
- | nds32 | nds32le | nds32be \
- | nios | nios2 \
- | ns16k | ns32k \
- | open8 \
- | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle \
- | pyramid \
- | rl78 | rx \
- | score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu \
- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
- | ubicom32 \
- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
- | we32k \
- | x86 | xc16x | xstormy16 | xtensa \
- | z8k | z80)
- basic_machine=$basic_machine-unknown
- ;;
- c54x)
- basic_machine=tic54x-unknown
- ;;
- c55x)
- basic_machine=tic55x-unknown
- ;;
- c6x)
- basic_machine=tic6x-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
- ms1)
- basic_machine=mt-unknown
- ;;
-
- strongarm | thumb | xscale)
- basic_machine=arm-unknown
- ;;
- xgate)
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- xscaleeb)
- basic_machine=armeb-unknown
- ;;
-
- xscaleel)
- basic_machine=armel-unknown
- ;;
-
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | aarch64-* | aarch64_be-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
- | be32-* | be64-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | hexagon-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* | iq2000-* \
- | le32-* | le64-* \
- | lm32-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64octeon-* | mips64octeonel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64r5900-* | mips64r5900el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mips64vr5900-* | mips64vr5900el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64r2-* | mipsisa64r2el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39-* | mipstx39el-* \
- | mmix-* \
- | mt-* \
- | msp430-* \
- | nds32-* | nds32le-* | nds32be-* \
- | nios-* | nios2-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | open8-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
- | pyramid-* \
- | rl78-* | romp-* | rs6000-* | rx-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
- | tahoe-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tile*-* \
- | tron-* \
- | ubicom32-* \
- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
- | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* \
- | xstormy16-* | xtensa*-* \
- | ymp-* \
- | z8k-* | z80-*)
- ;;
- # Recognize the basic CPU types without company name, with glob match.
- xtensa*)
- basic_machine=$basic_machine-unknown
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- abacus)
- basic_machine=abacus-unknown
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aros)
- basic_machine=i386-pc
- os=-aros
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- blackfin)
- basic_machine=bfin-unknown
- os=-linux
- ;;
- blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- bluegene*)
- basic_machine=powerpc-ibm
- os=-cnk
- ;;
- c54x-*)
- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- c55x-*)
- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- c6x-*)
- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- cegcc)
- basic_machine=arm-unknown
- os=-cegcc
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- craynv)
- basic_machine=craynv-cray
- os=-unicosmp
- ;;
- cr16 | cr16-*)
- basic_machine=cr16-unknown
- os=-elf
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- crisv32 | crisv32-* | etraxfs*)
- basic_machine=crisv32-axis
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- crx)
- basic_machine=crx-unknown
- os=-elf
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
- ;;
- decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dicos)
- basic_machine=i686-pc
- os=-dicos
- ;;
- djgpp)
- basic_machine=i586-pc
- os=-msdosdjgpp
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- ;;
- i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m68knommu)
- basic_machine=m68k-unknown
- os=-linux
- ;;
- m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- microblaze)
- basic_machine=microblaze-xilinx
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
- ;;
- msys)
- basic_machine=i386-pc
- os=-msys
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- nacl)
- basic_machine=le32-unknown
- os=-nacl
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- neo-tandem)
- basic_machine=neo-tandem
- ;;
- nse-tandem)
- basic_machine=nse-tandem
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- openrisc | openrisc-*)
- basic_machine=or32-unknown
- ;;
- os400)
- basic_machine=powerpc-ibm
- os=-os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- parisc)
- basic_machine=hppa-unknown
- os=-linux
- ;;
- parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pc98)
- basic_machine=i386-pc
- ;;
- pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc | ppcbe) basic_machine=powerpc-unknown
- ;;
- ppc-* | ppcbe-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rdos)
- basic_machine=i386-pc
- os=-rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
- ;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
- ;;
- sde)
- basic_machine=mipsisa32-sde
- os=-elf
- ;;
- sei)
- basic_machine=mips-sei
- os=-seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sh5el)
- basic_machine=sh5le-unknown
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- st2000)
- basic_machine=m68k-tandem
- ;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
- strongarm-* | thumb-*)
- basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=-unicos
- ;;
- tile*)
- basic_machine=$basic_machine-unknown
- os=-linux-gnu
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- tpf)
- basic_machine=s390x-ibm
- os=-tpf
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
- ;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
- ;;
- xbox)
- basic_machine=i686-pc
- os=-mingw32
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- xscale-* | xscalee[bl]-*)
- basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
- ;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- z80-*-coff)
- basic_machine=z80-unknown
- os=-sim
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
- ;;
- op50n)
- basic_machine=hppa1.1-oki
- ;;
- op60c)
- basic_machine=hppa1.1-oki
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- mmix)
- basic_machine=mmix-knuth
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -auroraux)
- os=-auroraux
- ;;
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* | -cegcc* \
- | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
- ;;
- -nto-qnx*)
- ;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
- -linux-dietlibc)
- os=-linux-dietlibc
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -opened*)
- os=-openedition
- ;;
- -os400*)
- os=-os400
- ;;
- -wince*)
- os=-wince
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -atheos*)
- os=-atheos
- ;;
- -syllable*)
- os=-syllable
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -nova*)
- os=-rtmk-nova
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- -nsk*)
- os=-nsk
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -tpf*)
- os=-tpf
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -ose*)
- os=-ose
- ;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
- ;;
- -aros*)
- os=-aros
- ;;
- -kaos*)
- os=-kaos
- ;;
- -zvmoe)
- os=-zvmoe
- ;;
- -dicos*)
- os=-dicos
- ;;
- -nacl*)
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- score-*)
- os=-elf
- ;;
- spu-*)
- os=-elf
- ;;
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
- tic54x-*)
- os=-coff
- ;;
- tic55x-*)
- os=-coff
- ;;
- tic6x-*)
- os=-coff
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=-tops20
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- ;;
- m68*-cisco)
- os=-aout
- ;;
- mep-*)
- os=-elf
- ;;
- mips*-cisco)
- os=-elf
- ;;
- mips*-*)
- os=-elf
- ;;
- or32-*)
- os=-coff
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-be)
- os=-beos
- ;;
- *-haiku)
- os=-haiku
- ;;
- *-ibm)
- os=-aix
- ;;
- *-knuth)
- os=-mmixware
- ;;
- *-wec)
- os=-proelf
- ;;
- *-winbond)
- os=-proelf
- ;;
- *-oki)
- os=-proelf
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
- *-rom68k)
- os=-coff
- ;;
- *-*bug)
- os=-coff
- ;;
- *-apple)
- os=-macos
- ;;
- *-atari*)
- os=-mint
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -cnk*|-aix*)
- vendor=ibm
- ;;
- -beos*)
- vendor=be
- ;;
- -hpux*)
- vendor=hp
- ;;
- -mpeix*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs* | -opened*)
- vendor=ibm
- ;;
- -os400*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -tpf*)
- vendor=ibm
- ;;
- -vxsim* | -vxworks* | -windiss*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- vendor=atari
- ;;
- -vos*)
- vendor=stratus
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/usbhid-dump/auxdir/depcomp b/usbhid-dump/auxdir/depcomp
deleted file mode 100755
index debb6ff..0000000
--- a/usbhid-dump/auxdir/depcomp
+++ /dev/null
@@ -1,707 +0,0 @@
-#! /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:
diff --git a/usbhid-dump/auxdir/install-sh b/usbhid-dump/auxdir/install-sh
deleted file mode 100755
index 377bb86..0000000
--- a/usbhid-dump/auxdir/install-sh
+++ /dev/null
@@ -1,527 +0,0 @@
-#!/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:
diff --git a/usbhid-dump/auxdir/ltmain.sh b/usbhid-dump/auxdir/ltmain.sh
deleted file mode 100644
index 63ae69d..0000000
--- a/usbhid-dump/auxdir/ltmain.sh
+++ /dev/null
@@ -1,9655 +0,0 @@
-
-# libtool (GNU libtool) 2.4.2
-# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions. There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# GNU Libtool is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-# --config show all configuration variables
-# --debug enable verbose shell tracing
-# -n, --dry-run display commands without modifying any files
-# --features display basic configuration information and exit
-# --mode=MODE use operation mode MODE
-# --preserve-dup-deps don't remove duplicate dependency libraries
-# --quiet, --silent don't print informational messages
-# --no-quiet, --no-silent
-# print informational messages (default)
-# --no-warn don't display warning messages
-# --tag=TAG use configuration variables from tag TAG
-# -v, --verbose print more informational messages than default
-# --no-verbose don't print the extra informational messages
-# --version print version information
-# -h, --help, --help-all print short, long, or detailed help message
-#
-# MODE must be one of the following:
-#
-# clean remove files from the build directory
-# compile compile a source file into a libtool object
-# execute automatically set library path, then run a program
-# finish complete the installation of libtool libraries
-# install install libraries or executables
-# link create a library or an executable
-# uninstall remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE. When passed as first option,
-# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-# host-triplet: $host
-# shell: $SHELL
-# compiler: $LTCC
-# compiler flags: $LTCFLAGS
-# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2
-# automake: $automake_version
-# autoconf: $autoconf_version
-#
-# Report bugs to <bug-libtool@gnu.org>.
-# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
-# General help using GNU software: <http://www.gnu.org/gethelp/>.
-
-PROGRAM=libtool
-PACKAGE=libtool
-VERSION=2.4.2
-TIMESTAMP=""
-package_revision=1.3337
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
-
-# NLS nuisances: We save the old values to restore during execute mode.
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
- eval "if test \"\${$lt_var+set}\" = set; then
- save_$lt_var=\$$lt_var
- $lt_var=C
- export $lt_var
- lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
- lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
- fi"
-done
-LC_ALL=C
-LANGUAGE=C
-export LANGUAGE LC_ALL
-
-$lt_unset CDPATH
-
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-
-
-: ${CP="cp -f"}
-test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
-: ${MAKE="make"}
-: ${MKDIR="mkdir"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
-
-exit_status=$EXIT_SUCCESS
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" $lt_nl"
-
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
-} # func_dirname may be replaced by extended shell implementation
-
-
-# func_basename file
-func_basename ()
-{
- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-} # func_basename may be replaced by extended shell implementation
-
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
- func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
-} # func_dirname_and_basename may be replaced by extended shell implementation
-
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
- case ${2} in
- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
- esac
-} # func_stripname may be replaced by extended shell implementation
-
-
-# These SED scripts presuppose an absolute path with a trailing slash.
-pathcar='s,^/\([^/]*\).*$,\1,'
-pathcdr='s,^/[^/]*,,'
-removedotparts=':dotsl
- s@/\./@/@g
- t dotsl
- s,/\.$,/,'
-collapseslashes='s@/\{1,\}@/@g'
-finalslash='s,/*$,/,'
-
-# func_normal_abspath PATH
-# Remove doubled-up and trailing slashes, "." path components,
-# and cancel out any ".." path components in PATH after making
-# it an absolute path.
-# value returned in "$func_normal_abspath_result"
-func_normal_abspath ()
-{
- # Start from root dir and reassemble the path.
- func_normal_abspath_result=
- func_normal_abspath_tpath=$1
- func_normal_abspath_altnamespace=
- case $func_normal_abspath_tpath in
- "")
- # Empty path, that just means $cwd.
- func_stripname '' '/' "`pwd`"
- func_normal_abspath_result=$func_stripname_result
- return
- ;;
- # The next three entries are used to spot a run of precisely
- # two leading slashes without using negated character classes;
- # we take advantage of case's first-match behaviour.
- ///*)
- # Unusual form of absolute path, do nothing.
- ;;
- //*)
- # Not necessarily an ordinary path; POSIX reserves leading '//'
- # and for example Cygwin uses it to access remote file shares
- # over CIFS/SMB, so we conserve a leading double slash if found.
- func_normal_abspath_altnamespace=/
- ;;
- /*)
- # Absolute path, do nothing.
- ;;
- *)
- # Relative path, prepend $cwd.
- func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
- ;;
- esac
- # Cancel out all the simple stuff to save iterations. We also want
- # the path to end with a slash for ease of parsing, so make sure
- # there is one (and only one) here.
- func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
- -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
- while :; do
- # Processed it all yet?
- if test "$func_normal_abspath_tpath" = / ; then
- # If we ascended to the root using ".." the result may be empty now.
- if test -z "$func_normal_abspath_result" ; then
- func_normal_abspath_result=/
- fi
- break
- fi
- func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
- -e "$pathcar"`
- func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
- -e "$pathcdr"`
- # Figure out what to do with it
- case $func_normal_abspath_tcomponent in
- "")
- # Trailing empty path component, ignore it.
- ;;
- ..)
- # Parent dir; strip last assembled component from result.
- func_dirname "$func_normal_abspath_result"
- func_normal_abspath_result=$func_dirname_result
- ;;
- *)
- # Actual path component, append it.
- func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
- ;;
- esac
- done
- # Restore leading double-slash if one was found on entry.
- func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
-
-# func_relative_path SRCDIR DSTDIR
-# generates a relative path from SRCDIR to DSTDIR, with a trailing
-# slash if non-empty, suitable for immediately appending a filename
-# without needing to append a separator.
-# value returned in "$func_relative_path_result"
-func_relative_path ()
-{
- func_relative_path_result=
- func_normal_abspath "$1"
- func_relative_path_tlibdir=$func_normal_abspath_result
- func_normal_abspath "$2"
- func_relative_path_tbindir=$func_normal_abspath_result
-
- # Ascend the tree starting from libdir
- while :; do
- # check if we have found a prefix of bindir
- case $func_relative_path_tbindir in
- $func_relative_path_tlibdir)
- # found an exact match
- func_relative_path_tcancelled=
- break
- ;;
- $func_relative_path_tlibdir*)
- # found a matching prefix
- func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
- func_relative_path_tcancelled=$func_stripname_result
- if test -z "$func_relative_path_result"; then
- func_relative_path_result=.
- fi
- break
- ;;
- *)
- func_dirname $func_relative_path_tlibdir
- func_relative_path_tlibdir=${func_dirname_result}
- if test "x$func_relative_path_tlibdir" = x ; then
- # Have to descend all the way to the root!
- func_relative_path_result=../$func_relative_path_result
- func_relative_path_tcancelled=$func_relative_path_tbindir
- break
- fi
- func_relative_path_result=../$func_relative_path_result
- ;;
- esac
- done
-
- # Now calculate path; take care to avoid doubling-up slashes.
- func_stripname '' '/' "$func_relative_path_result"
- func_relative_path_result=$func_stripname_result
- func_stripname '/' '/' "$func_relative_path_tcancelled"
- if test "x$func_stripname_result" != x ; then
- func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
- fi
-
- # Normalisation. If bindir is libdir, return empty string,
- # else relative path ending with a slash; either way, target
- # file name can be directly appended.
- if test ! -z "$func_relative_path_result"; then
- func_stripname './' '' "$func_relative_path_result/"
- func_relative_path_result=$func_stripname_result
- fi
-}
-
-# The name of this program:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
-
-# Make sure we have an absolute path for reexecution:
-case $progpath in
- [\\/]*|[A-Za-z]:\\*) ;;
- *[\\/]*)
- progdir=$func_dirname_result
- progdir=`cd "$progdir" && pwd`
- progpath="$progdir/$progname"
- ;;
- *)
- save_IFS="$IFS"
- IFS=${PATH_SEPARATOR-:}
- for progdir in $PATH; do
- IFS="$save_IFS"
- test -x "$progdir/$progname" && break
- done
- IFS="$save_IFS"
- test -n "$progdir" || progdir=`pwd`
- progpath="$progdir/$progname"
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution that turns a string into a regex matching for the
-# string literally.
-sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
-
-# Sed substitution that converts a w32 file name or path
-# which contains forward slashes, into one that contains
-# (escaped) backslashes. A very naive implementation.
-lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
- s/$bs4/&\\
-/g
- s/^$bs2$dollar/$bs&/
- s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
- s/\n//g"
-
-# Standard options:
-opt_dry_run=false
-opt_help=false
-opt_quiet=false
-opt_verbose=false
-opt_warning=:
-
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
-{
- $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
-}
-
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
- $opt_verbose && func_echo ${1+"$@"}
-
- # A bug in bash halts the script if the last line of a function
- # fails when set -e is in force, so we need another command to
- # work around that:
- :
-}
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO "$*"
-}
-
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
-}
-
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
-{
- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
-
- # bash bug again:
- :
-}
-
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
- func_error ${1+"$@"}
- exit $EXIT_FAILURE
-}
-
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
- func_error ${1+"$@"}
- func_fatal_error "$help"
-}
-help="Try \`$progname --help' for more information." ## default
-
-
-# func_grep expression filename
-# Check whether EXPRESSION matches any line of FILENAME, without output.
-func_grep ()
-{
- $GREP "$1" "$2" >/dev/null 2>&1
-}
-
-
-# func_mkdir_p directory-path
-# Make sure the entire path to DIRECTORY-PATH is available.
-func_mkdir_p ()
-{
- my_directory_path="$1"
- my_dir_list=
-
- if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
-
- # Protect directory names starting with `-'
- case $my_directory_path in
- -*) my_directory_path="./$my_directory_path" ;;
- esac
-
- # While some portion of DIR does not yet exist...
- while test ! -d "$my_directory_path"; do
- # ...make a list in topmost first order. Use a colon delimited
- # list incase some portion of path contains whitespace.
- my_dir_list="$my_directory_path:$my_dir_list"
-
- # If the last portion added has no slash in it, the list is done
- case $my_directory_path in */*) ;; *) break ;; esac
-
- # ...otherwise throw away the child directory and loop
- my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
- done
- my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
-
- save_mkdir_p_IFS="$IFS"; IFS=':'
- for my_dir in $my_dir_list; do
- IFS="$save_mkdir_p_IFS"
- # mkdir can fail with a `File exist' error if two processes
- # try to create one of the directories concurrently. Don't
- # stop in that case!
- $MKDIR "$my_dir" 2>/dev/null || :
- done
- IFS="$save_mkdir_p_IFS"
-
- # Bail out if we (or some other process) failed to create a directory.
- test -d "$my_directory_path" || \
- func_fatal_error "Failed to create \`$1'"
- fi
-}
-
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible. If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
- my_template="${TMPDIR-/tmp}/${1-$progname}"
-
- if test "$opt_dry_run" = ":"; then
- # Return a directory name, but don't create it in dry-run mode
- my_tmpdir="${my_template}-$$"
- else
-
- # If mktemp works, use that first and foremost
- my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
- if test ! -d "$my_tmpdir"; then
- # Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
-
- save_mktempdir_umask=`umask`
- umask 0077
- $MKDIR "$my_tmpdir"
- umask $save_mktempdir_umask
- fi
-
- # If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || \
- func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
- fi
-
- $ECHO "$my_tmpdir"
-}
-
-
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
-func_quote_for_eval ()
-{
- case $1 in
- *[\\\`\"\$]*)
- func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
- *)
- func_quote_for_eval_unquoted_result="$1" ;;
- esac
-
- case $func_quote_for_eval_unquoted_result in
- # Double-quote args containing shell metacharacters to delay
- # word splitting, command substitution and and variable
- # expansion for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
- ;;
- *)
- func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
- esac
-}
-
-
-# func_quote_for_expand arg
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
- case $1 in
- *[\\\`\"]*)
- my_arg=`$ECHO "$1" | $SED \
- -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
- *)
- my_arg="$1" ;;
- esac
-
- case $my_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting and command substitution for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- my_arg="\"$my_arg\""
- ;;
- esac
-
- func_quote_for_expand_result="$my_arg"
-}
-
-
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
-# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
-{
- my_cmd="$1"
- my_fail_exp="${2-:}"
-
- ${opt_silent-false} || {
- func_quote_for_expand "$my_cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
-
- if ${opt_dry_run-false}; then :; else
- eval "$my_cmd"
- my_status=$?
- if test "$my_status" -eq 0; then :; else
- eval "(exit $my_status); $my_fail_exp"
- fi
- fi
-}
-
-
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
-# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it. Use the saved locale for evaluation.
-func_show_eval_locale ()
-{
- my_cmd="$1"
- my_fail_exp="${2-:}"
-
- ${opt_silent-false} || {
- func_quote_for_expand "$my_cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
-
- if ${opt_dry_run-false}; then :; else
- eval "$lt_user_locale
- $my_cmd"
- my_status=$?
- eval "$lt_safe_locale"
- if test "$my_status" -eq 0; then :; else
- eval "(exit $my_status); $my_fail_exp"
- fi
- fi
-}
-
-# func_tr_sh
-# Turn $1 into a string suitable for a shell variable name.
-# Result is stored in $func_tr_sh_result. All characters
-# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
-# if $1 begins with a digit, a '_' is prepended as well.
-func_tr_sh ()
-{
- case $1 in
- [0-9]* | *[!a-zA-Z0-9_]*)
- func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
- ;;
- * )
- func_tr_sh_result=$1
- ;;
- esac
-}
-
-
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
-{
- $opt_debug
-
- $SED -n '/(C)/!b go
- :more
- /\./!{
- N
- s/\n# / /
- b more
- }
- :go
- /^# '$PROGRAM' (GNU /,/# warranty; / {
- s/^# //
- s/^# *$//
- s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
- p
- }' < "$progpath"
- exit $?
-}
-
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
-{
- $opt_debug
-
- $SED -n '/^# Usage:/,/^# *.*--help/ {
- s/^# //
- s/^# *$//
- s/\$progname/'$progname'/
- p
- }' < "$progpath"
- echo
- $ECHO "run \`$progname --help | more' for full usage"
- exit $?
-}
-
-# func_help [NOEXIT]
-# Echo long help message to standard output and exit,
-# unless 'noexit' is passed as argument.
-func_help ()
-{
- $opt_debug
-
- $SED -n '/^# Usage:/,/# Report bugs to/ {
- :print
- s/^# //
- s/^# *$//
- s*\$progname*'$progname'*
- s*\$host*'"$host"'*
- s*\$SHELL*'"$SHELL"'*
- s*\$LTCC*'"$LTCC"'*
- s*\$LTCFLAGS*'"$LTCFLAGS"'*
- s*\$LD*'"$LD"'*
- s/\$with_gnu_ld/'"$with_gnu_ld"'/
- s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
- s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
- p
- d
- }
- /^# .* home page:/b print
- /^# General help using/b print
- ' < "$progpath"
- ret=$?
- if test -z "$1"; then
- exit $ret
- fi
-}
-
-# func_missing_arg argname
-# Echo program name prefixed message to standard error and set global
-# exit_cmd.
-func_missing_arg ()
-{
- $opt_debug
-
- func_error "missing argument for $1."
- exit_cmd=exit
-}
-
-
-# func_split_short_opt shortopt
-# Set func_split_short_opt_name and func_split_short_opt_arg shell
-# variables after splitting SHORTOPT after the 2nd character.
-func_split_short_opt ()
-{
- my_sed_short_opt='1s/^\(..\).*$/\1/;q'
- my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
-
- func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
- func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
-} # func_split_short_opt may be replaced by extended shell implementation
-
-
-# func_split_long_opt longopt
-# Set func_split_long_opt_name and func_split_long_opt_arg shell
-# variables after splitting LONGOPT at the `=' sign.
-func_split_long_opt ()
-{
- my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
- my_sed_long_arg='1s/^--[^=]*=//'
-
- func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
- func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
-} # func_split_long_opt may be replaced by extended shell implementation
-
-exit_cmd=:
-
-
-
-
-
-magic="%%%MAGIC variable%%%"
-magic_exe="%%%MAGIC EXE variable%%%"
-
-# Global variables.
-nonopt=
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
- eval "${1}=\$${1}\${2}"
-} # func_append may be replaced by extended shell implementation
-
-# func_append_quoted var value
-# Quote VALUE and append to the end of shell variable VAR, separated
-# by a space.
-func_append_quoted ()
-{
- func_quote_for_eval "${2}"
- eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
-} # func_append_quoted may be replaced by extended shell implementation
-
-
-# func_arith arithmetic-term...
-func_arith ()
-{
- func_arith_result=`expr "${@}"`
-} # func_arith may be replaced by extended shell implementation
-
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
- func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
-} # func_len may be replaced by extended shell implementation
-
-
-# func_lo2o object
-func_lo2o ()
-{
- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-} # func_lo2o may be replaced by extended shell implementation
-
-
-# func_xform libobj-or-source
-func_xform ()
-{
- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-} # func_xform may be replaced by extended shell implementation
-
-
-# func_fatal_configuration arg...
-# Echo program name prefixed message to standard error, followed by
-# a configuration failure hint, and exit.
-func_fatal_configuration ()
-{
- func_error ${1+"$@"}
- func_error "See the $PACKAGE documentation for more information."
- func_fatal_error "Fatal configuration error."
-}
-
-
-# func_config
-# Display the configuration for all the tags in this script.
-func_config ()
-{
- re_begincf='^# ### BEGIN LIBTOOL'
- re_endcf='^# ### END LIBTOOL'
-
- # Default configuration.
- $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
-
- # Now print the configurations for the tags.
- for tagname in $taglist; do
- $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
- done
-
- exit $?
-}
-
-# func_features
-# Display the features supported by this script.
-func_features ()
-{
- echo "host: $host"
- if test "$build_libtool_libs" = yes; then
- echo "enable shared libraries"
- else
- echo "disable shared libraries"
- fi
- if test "$build_old_libs" = yes; then
- echo "enable static libraries"
- else
- echo "disable static libraries"
- fi
-
- exit $?
-}
-
-# func_enable_tag tagname
-# Verify that TAGNAME is valid, and either flag an error and exit, or
-# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
-# variable here.
-func_enable_tag ()
-{
- # Global variable:
- tagname="$1"
-
- re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
- re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
- sed_extractcf="/$re_begincf/,/$re_endcf/p"
-
- # Validate tagname.
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- func_fatal_error "invalid tag name: $tagname"
- ;;
- esac
-
- # Don't test for the "default" C tag, as we know it's
- # there but not specially marked.
- case $tagname in
- CC) ;;
- *)
- if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
- taglist="$taglist $tagname"
-
- # Evaluate the configuration. Be careful to quote the path
- # and the sed script, to avoid splitting on whitespace, but
- # also don't use non-portable quotes within backquotes within
- # quotes we have to do it in 2 steps:
- extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
- eval "$extractedcf"
- else
- func_error "ignoring unknown tag $tagname"
- fi
- ;;
- esac
-}
-
-# func_check_version_match
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
- if test "$package_revision" != "$macro_revision"; then
- if test "$VERSION" != "$macro_version"; then
- if test -z "$macro_version"; then
- cat >&2 <<_LT_EOF
-$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
- else
- cat >&2 <<_LT_EOF
-$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
- fi
- else
- cat >&2 <<_LT_EOF
-$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
- fi
-
- exit $EXIT_MISMATCH
- fi
-}
-
-
-# Shorthand for --mode=foo, only valid as the first argument
-case $1 in
-clean|clea|cle|cl)
- shift; set dummy --mode clean ${1+"$@"}; shift
- ;;
-compile|compil|compi|comp|com|co|c)
- shift; set dummy --mode compile ${1+"$@"}; shift
- ;;
-execute|execut|execu|exec|exe|ex|e)
- shift; set dummy --mode execute ${1+"$@"}; shift
- ;;
-finish|finis|fini|fin|fi|f)
- shift; set dummy --mode finish ${1+"$@"}; shift
- ;;
-install|instal|insta|inst|ins|in|i)
- shift; set dummy --mode install ${1+"$@"}; shift
- ;;
-link|lin|li|l)
- shift; set dummy --mode link ${1+"$@"}; shift
- ;;
-uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
- shift; set dummy --mode uninstall ${1+"$@"}; shift
- ;;
-esac
-
-
-
-# Option defaults:
-opt_debug=:
-opt_dry_run=false
-opt_config=false
-opt_preserve_dup_deps=false
-opt_features=false
-opt_finish=false
-opt_help=false
-opt_help_all=false
-opt_silent=:
-opt_warning=:
-opt_verbose=:
-opt_silent=false
-opt_verbose=false
-
-
-# Parse options once, thoroughly. This comes as soon as possible in the
-# script to make things like `--version' happen as quickly as we can.
-{
- # this just eases exit handling
- while test $# -gt 0; do
- opt="$1"
- shift
- case $opt in
- --debug|-x) opt_debug='set -x'
- func_echo "enabling shell trace mode"
- $opt_debug
- ;;
- --dry-run|--dryrun|-n)
- opt_dry_run=:
- ;;
- --config)
- opt_config=:
-func_config
- ;;
- --dlopen|-dlopen)
- optarg="$1"
- opt_dlopen="${opt_dlopen+$opt_dlopen
-}$optarg"
- shift
- ;;
- --preserve-dup-deps)
- opt_preserve_dup_deps=:
- ;;
- --features)
- opt_features=:
-func_features
- ;;
- --finish)
- opt_finish=:
-set dummy --mode finish ${1+"$@"}; shift
- ;;
- --help)
- opt_help=:
- ;;
- --help-all)
- opt_help_all=:
-opt_help=': help-all'
- ;;
- --mode)
- test $# = 0 && func_missing_arg $opt && break
- optarg="$1"
- opt_mode="$optarg"
-case $optarg in
- # Valid mode arguments:
- clean|compile|execute|finish|install|link|relink|uninstall) ;;
-
- # Catch anything else as an error
- *) func_error "invalid argument for $opt"
- exit_cmd=exit
- break
- ;;
-esac
- shift
- ;;
- --no-silent|--no-quiet)
- opt_silent=false
-func_append preserve_args " $opt"
- ;;
- --no-warning|--no-warn)
- opt_warning=false
-func_append preserve_args " $opt"
- ;;
- --no-verbose)
- opt_verbose=false
-func_append preserve_args " $opt"
- ;;
- --silent|--quiet)
- opt_silent=:
-func_append preserve_args " $opt"
- opt_verbose=false
- ;;
- --verbose|-v)
- opt_verbose=:
-func_append preserve_args " $opt"
-opt_silent=false
- ;;
- --tag)
- test $# = 0 && func_missing_arg $opt && break
- optarg="$1"
- opt_tag="$optarg"
-func_append preserve_args " $opt $optarg"
-func_enable_tag "$optarg"
- shift
- ;;
-
- -\?|-h) func_usage ;;
- --help) func_help ;;
- --version) func_version ;;
-
- # Separate optargs to long options:
- --*=*)
- func_split_long_opt "$opt"
- set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
- shift
- ;;
-
- # Separate non-argument short options:
- -\?*|-h*|-n*|-v*)
- func_split_short_opt "$opt"
- set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
- shift
- ;;
-
- --) break ;;
- -*) func_fatal_help "unrecognized option \`$opt'" ;;
- *) set dummy "$opt" ${1+"$@"}; shift; break ;;
- esac
- done
-
- # Validate options:
-
- # save first non-option argument
- if test "$#" -gt 0; then
- nonopt="$opt"
- shift
- fi
-
- # preserve --debug
- test "$opt_debug" = : || func_append preserve_args " --debug"
-
- case $host in
- *cygwin* | *mingw* | *pw32* | *cegcc*)
- # don't eliminate duplications in $postdeps and $predeps
- opt_duplicate_compiler_generated_deps=:
- ;;
- *)
- opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
- ;;
- esac
-
- $opt_help || {
- # Sanity checks first:
- func_check_version_match
-
- if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- func_fatal_configuration "not configured to build any kind of library"
- fi
-
- # Darwin sucks
- eval std_shrext=\"$shrext_cmds\"
-
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
- func_error "unrecognized option \`-dlopen'"
- $ECHO "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$progname --help --mode=$opt_mode' for more information."
- }
-
-
- # Bail if the options were screwed
- $exit_cmd $EXIT_FAILURE
-}
-
-
-
-
-## ----------- ##
-## Main. ##
-## ----------- ##
-
-# func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_lalib_p ()
-{
- test -f "$1" &&
- $SED -e 4q "$1" 2>/dev/null \
- | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
-}
-
-# func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function implements the same check as func_lalib_p without
-# resorting to external programs. To this end, it redirects stdin and
-# closes it afterwards, without saving the original file descriptor.
-# As a safety measure, use it only where a negative result would be
-# fatal anyway. Works if `file' does not exist.
-func_lalib_unsafe_p ()
-{
- lalib_p=no
- if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
- for lalib_p_l in 1 2 3 4
- do
- read lalib_p_line
- case "$lalib_p_line" in
- \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
- esac
- done
- exec 0<&5 5<&-
- fi
- test "$lalib_p" = yes
-}
-
-# func_ltwrapper_script_p file
-# True iff FILE is a libtool wrapper script
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_script_p ()
-{
- func_lalib_p "$1"
-}
-
-# func_ltwrapper_executable_p file
-# True iff FILE is a libtool wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_executable_p ()
-{
- func_ltwrapper_exec_suffix=
- case $1 in
- *.exe) ;;
- *) func_ltwrapper_exec_suffix=.exe ;;
- esac
- $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
-}
-
-# func_ltwrapper_scriptname file
-# Assumes file is an ltwrapper_executable
-# uses $file to determine the appropriate filename for a
-# temporary ltwrapper_script.
-func_ltwrapper_scriptname ()
-{
- func_dirname_and_basename "$1" "" "."
- func_stripname '' '.exe' "$func_basename_result"
- func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
-}
-
-# func_ltwrapper_p file
-# True iff FILE is a libtool wrapper script or wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_p ()
-{
- func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
-}
-
-
-# func_execute_cmds commands fail_cmd
-# Execute tilde-delimited COMMANDS.
-# If FAIL_CMD is given, eval that upon failure.
-# FAIL_CMD may read-access the current command in variable CMD!
-func_execute_cmds ()
-{
- $opt_debug
- save_ifs=$IFS; IFS='~'
- for cmd in $1; do
- IFS=$save_ifs
- eval cmd=\"$cmd\"
- func_show_eval "$cmd" "${2-:}"
- done
- IFS=$save_ifs
-}
-
-
-# func_source file
-# Source FILE, adding directory component if necessary.
-# Note that it is not necessary on cygwin/mingw to append a dot to
-# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
-# behavior happens only for exec(3), not for open(2)! Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
-func_source ()
-{
- $opt_debug
- case $1 in
- */* | *\\*) . "$1" ;;
- *) . "./$1" ;;
- esac
-}
-
-
-# func_resolve_sysroot PATH
-# Replace a leading = in PATH with a sysroot. Store the result into
-# func_resolve_sysroot_result
-func_resolve_sysroot ()
-{
- func_resolve_sysroot_result=$1
- case $func_resolve_sysroot_result in
- =*)
- func_stripname '=' '' "$func_resolve_sysroot_result"
- func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
- ;;
- esac
-}
-
-# func_replace_sysroot PATH
-# If PATH begins with the sysroot, replace it with = and
-# store the result into func_replace_sysroot_result.
-func_replace_sysroot ()
-{
- case "$lt_sysroot:$1" in
- ?*:"$lt_sysroot"*)
- func_stripname "$lt_sysroot" '' "$1"
- func_replace_sysroot_result="=$func_stripname_result"
- ;;
- *)
- # Including no sysroot.
- func_replace_sysroot_result=$1
- ;;
- esac
-}
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
- $opt_debug
- if test -n "$available_tags" && test -z "$tagname"; then
- CC_quoted=
- for arg in $CC; do
- func_append_quoted CC_quoted "$arg"
- done
- CC_expanded=`func_echo_all $CC`
- CC_quoted_expanded=`func_echo_all $CC_quoted`
- case $@ in
- # Blanks in the command may have been stripped by the calling shell,
- # but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
- " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
- # Blanks at the start of $base_compile will cause this to fail
- # if we don't check for them as well.
- *)
- for z in $available_tags; do
- if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
- CC_quoted=
- for arg in $CC; do
- # Double-quote args containing other shell metacharacters.
- func_append_quoted CC_quoted "$arg"
- done
- CC_expanded=`func_echo_all $CC`
- CC_quoted_expanded=`func_echo_all $CC_quoted`
- case "$@ " in
- " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
- " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
- # The compiler in the base compile command matches
- # the one in the tagged configuration.
- # Assume this is the tagged configuration we want.
- tagname=$z
- break
- ;;
- esac
- fi
- done
- # If $tagname still isn't set, then no tagged configuration
- # was found and let the user know that the "--tag" command
- # line option must be used.
- if test -z "$tagname"; then
- func_echo "unable to infer tagged configuration"
- func_fatal_error "specify a tag with \`--tag'"
-# else
-# func_verbose "using $tagname tagged configuration"
- fi
- ;;
- esac
- fi
-}
-
-
-
-# func_write_libtool_object output_name pic_name nonpic_name
-# Create a libtool object file (analogous to a ".la" file),
-# but don't create it if we're doing a dry run.
-func_write_libtool_object ()
-{
- write_libobj=${1}
- if test "$build_libtool_libs" = yes; then
- write_lobj=\'${2}\'
- else
- write_lobj=none
- fi
-
- if test "$build_old_libs" = yes; then
- write_oldobj=\'${3}\'
- else
- write_oldobj=none
- fi
-
- $opt_dry_run || {
- cat >${write_libobj}T <<EOF
-# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-pic_object=$write_lobj
-
-# Name of the non-PIC object
-non_pic_object=$write_oldobj
-
-EOF
- $MV "${write_libobj}T" "${write_libobj}"
- }
-}
-
-
-##################################################
-# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
-##################################################
-
-# func_convert_core_file_wine_to_w32 ARG
-# Helper function used by file name conversion functions when $build is *nix,
-# and $host is mingw, cygwin, or some other w32 environment. Relies on a
-# correctly configured wine environment available, with the winepath program
-# in $build's $PATH.
-#
-# ARG is the $build file name to be converted to w32 format.
-# Result is available in $func_convert_core_file_wine_to_w32_result, and will
-# be empty on error (or when ARG is empty)
-func_convert_core_file_wine_to_w32 ()
-{
- $opt_debug
- func_convert_core_file_wine_to_w32_result="$1"
- if test -n "$1"; then
- # Unfortunately, winepath does not exit with a non-zero error code, so we
- # are forced to check the contents of stdout. On the other hand, if the
- # command is not found, the shell will set an exit code of 127 and print
- # *an error message* to stdout. So we must check for both error code of
- # zero AND non-empty stdout, which explains the odd construction:
- func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
- if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
- func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
- $SED -e "$lt_sed_naive_backslashify"`
- else
- func_convert_core_file_wine_to_w32_result=
- fi
- fi
-}
-# end: func_convert_core_file_wine_to_w32
-
-
-# func_convert_core_path_wine_to_w32 ARG
-# Helper function used by path conversion functions when $build is *nix, and
-# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
-# configured wine environment available, with the winepath program in $build's
-# $PATH. Assumes ARG has no leading or trailing path separator characters.
-#
-# ARG is path to be converted from $build format to win32.
-# Result is available in $func_convert_core_path_wine_to_w32_result.
-# Unconvertible file (directory) names in ARG are skipped; if no directory names
-# are convertible, then the result may be empty.
-func_convert_core_path_wine_to_w32 ()
-{
- $opt_debug
- # unfortunately, winepath doesn't convert paths, only file names
- func_convert_core_path_wine_to_w32_result=""
- if test -n "$1"; then
- oldIFS=$IFS
- IFS=:
- for func_convert_core_path_wine_to_w32_f in $1; do
- IFS=$oldIFS
- func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
- if test -n "$func_convert_core_file_wine_to_w32_result" ; then
- if test -z "$func_convert_core_path_wine_to_w32_result"; then
- func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
- else
- func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
- fi
- fi
- done
- IFS=$oldIFS
- fi
-}
-# end: func_convert_core_path_wine_to_w32
-
-
-# func_cygpath ARGS...
-# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
-# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
-# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
-# (2), returns the Cygwin file name or path in func_cygpath_result (input
-# file name or path is assumed to be in w32 format, as previously converted
-# from $build's *nix or MSYS format). In case (3), returns the w32 file name
-# or path in func_cygpath_result (input file name or path is assumed to be in
-# Cygwin format). Returns an empty string on error.
-#
-# ARGS are passed to cygpath, with the last one being the file name or path to
-# be converted.
-#
-# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
-# environment variable; do not put it in $PATH.
-func_cygpath ()
-{
- $opt_debug
- if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
- func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
- if test "$?" -ne 0; then
- # on failure, ensure result is empty
- func_cygpath_result=
- fi
- else
- func_cygpath_result=
- func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
- fi
-}
-#end: func_cygpath
-
-
-# func_convert_core_msys_to_w32 ARG
-# Convert file name or path ARG from MSYS format to w32 format. Return
-# result in func_convert_core_msys_to_w32_result.
-func_convert_core_msys_to_w32 ()
-{
- $opt_debug
- # awkward: cmd appends spaces to result
- func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
- $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
-}
-#end: func_convert_core_msys_to_w32
-
-
-# func_convert_file_check ARG1 ARG2
-# Verify that ARG1 (a file name in $build format) was converted to $host
-# format in ARG2. Otherwise, emit an error message, but continue (resetting
-# func_to_host_file_result to ARG1).
-func_convert_file_check ()
-{
- $opt_debug
- if test -z "$2" && test -n "$1" ; then
- func_error "Could not determine host file name corresponding to"
- func_error " \`$1'"
- func_error "Continuing, but uninstalled executables may not work."
- # Fallback:
- func_to_host_file_result="$1"
- fi
-}
-# end func_convert_file_check
-
-
-# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
-# Verify that FROM_PATH (a path in $build format) was converted to $host
-# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
-# func_to_host_file_result to a simplistic fallback value (see below).
-func_convert_path_check ()
-{
- $opt_debug
- if test -z "$4" && test -n "$3"; then
- func_error "Could not determine the host path corresponding to"
- func_error " \`$3'"
- func_error "Continuing, but uninstalled executables may not work."
- # Fallback. This is a deliberately simplistic "conversion" and
- # should not be "improved". See libtool.info.
- if test "x$1" != "x$2"; then
- lt_replace_pathsep_chars="s|$1|$2|g"
- func_to_host_path_result=`echo "$3" |
- $SED -e "$lt_replace_pathsep_chars"`
- else
- func_to_host_path_result="$3"
- fi
- fi
-}
-# end func_convert_path_check
-
-
-# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
-# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
-# and appending REPL if ORIG matches BACKPAT.
-func_convert_path_front_back_pathsep ()
-{
- $opt_debug
- case $4 in
- $1 ) func_to_host_path_result="$3$func_to_host_path_result"
- ;;
- esac
- case $4 in
- $2 ) func_append func_to_host_path_result "$3"
- ;;
- esac
-}
-# end func_convert_path_front_back_pathsep
-
-
-##################################################
-# $build to $host FILE NAME CONVERSION FUNCTIONS #
-##################################################
-# invoked via `$to_host_file_cmd ARG'
-#
-# In each case, ARG is the path to be converted from $build to $host format.
-# Result will be available in $func_to_host_file_result.
-
-
-# func_to_host_file ARG
-# Converts the file name ARG from $build format to $host format. Return result
-# in func_to_host_file_result.
-func_to_host_file ()
-{
- $opt_debug
- $to_host_file_cmd "$1"
-}
-# end func_to_host_file
-
-
-# func_to_tool_file ARG LAZY
-# converts the file name ARG from $build format to toolchain format. Return
-# result in func_to_tool_file_result. If the conversion in use is listed
-# in (the comma separated) LAZY, no conversion takes place.
-func_to_tool_file ()
-{
- $opt_debug
- case ,$2, in
- *,"$to_tool_file_cmd",*)
- func_to_tool_file_result=$1
- ;;
- *)
- $to_tool_file_cmd "$1"
- func_to_tool_file_result=$func_to_host_file_result
- ;;
- esac
-}
-# end func_to_tool_file
-
-
-# func_convert_file_noop ARG
-# Copy ARG to func_to_host_file_result.
-func_convert_file_noop ()
-{
- func_to_host_file_result="$1"
-}
-# end func_convert_file_noop
-
-
-# func_convert_file_msys_to_w32 ARG
-# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
-# conversion to w32 is not available inside the cwrapper. Returns result in
-# func_to_host_file_result.
-func_convert_file_msys_to_w32 ()
-{
- $opt_debug
- func_to_host_file_result="$1"
- if test -n "$1"; then
- func_convert_core_msys_to_w32 "$1"
- func_to_host_file_result="$func_convert_core_msys_to_w32_result"
- fi
- func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_msys_to_w32
-
-
-# func_convert_file_cygwin_to_w32 ARG
-# Convert file name ARG from Cygwin to w32 format. Returns result in
-# func_to_host_file_result.
-func_convert_file_cygwin_to_w32 ()
-{
- $opt_debug
- func_to_host_file_result="$1"
- if test -n "$1"; then
- # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
- # LT_CYGPATH in this case.
- func_to_host_file_result=`cygpath -m "$1"`
- fi
- func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_cygwin_to_w32
-
-
-# func_convert_file_nix_to_w32 ARG
-# Convert file name ARG from *nix to w32 format. Requires a wine environment
-# and a working winepath. Returns result in func_to_host_file_result.
-func_convert_file_nix_to_w32 ()
-{
- $opt_debug
- func_to_host_file_result="$1"
- if test -n "$1"; then
- func_convert_core_file_wine_to_w32 "$1"
- func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
- fi
- func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_nix_to_w32
-
-
-# func_convert_file_msys_to_cygwin ARG
-# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
-# Returns result in func_to_host_file_result.
-func_convert_file_msys_to_cygwin ()
-{
- $opt_debug
- func_to_host_file_result="$1"
- if test -n "$1"; then
- func_convert_core_msys_to_w32 "$1"
- func_cygpath -u "$func_convert_core_msys_to_w32_result"
- func_to_host_file_result="$func_cygpath_result"
- fi
- func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_msys_to_cygwin
-
-
-# func_convert_file_nix_to_cygwin ARG
-# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
-# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
-# in func_to_host_file_result.
-func_convert_file_nix_to_cygwin ()
-{
- $opt_debug
- func_to_host_file_result="$1"
- if test -n "$1"; then
- # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
- func_convert_core_file_wine_to_w32 "$1"
- func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
- func_to_host_file_result="$func_cygpath_result"
- fi
- func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_nix_to_cygwin
-
-
-#############################################
-# $build to $host PATH CONVERSION FUNCTIONS #
-#############################################
-# invoked via `$to_host_path_cmd ARG'
-#
-# In each case, ARG is the path to be converted from $build to $host format.
-# The result will be available in $func_to_host_path_result.
-#
-# Path separators are also converted from $build format to $host format. If
-# ARG begins or ends with a path separator character, it is preserved (but
-# converted to $host format) on output.
-#
-# All path conversion functions are named using the following convention:
-# file name conversion function : func_convert_file_X_to_Y ()
-# path conversion function : func_convert_path_X_to_Y ()
-# where, for any given $build/$host combination the 'X_to_Y' value is the
-# same. If conversion functions are added for new $build/$host combinations,
-# the two new functions must follow this pattern, or func_init_to_host_path_cmd
-# will break.
-
-
-# func_init_to_host_path_cmd
-# Ensures that function "pointer" variable $to_host_path_cmd is set to the
-# appropriate value, based on the value of $to_host_file_cmd.
-to_host_path_cmd=
-func_init_to_host_path_cmd ()
-{
- $opt_debug
- if test -z "$to_host_path_cmd"; then
- func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
- to_host_path_cmd="func_convert_path_${func_stripname_result}"
- fi
-}
-
-
-# func_to_host_path ARG
-# Converts the path ARG from $build format to $host format. Return result
-# in func_to_host_path_result.
-func_to_host_path ()
-{
- $opt_debug
- func_init_to_host_path_cmd
- $to_host_path_cmd "$1"
-}
-# end func_to_host_path
-
-
-# func_convert_path_noop ARG
-# Copy ARG to func_to_host_path_result.
-func_convert_path_noop ()
-{
- func_to_host_path_result="$1"
-}
-# end func_convert_path_noop
-
-
-# func_convert_path_msys_to_w32 ARG
-# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
-# conversion to w32 is not available inside the cwrapper. Returns result in
-# func_to_host_path_result.
-func_convert_path_msys_to_w32 ()
-{
- $opt_debug
- func_to_host_path_result="$1"
- if test -n "$1"; then
- # Remove leading and trailing path separator characters from ARG. MSYS
- # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
- # and winepath ignores them completely.
- func_stripname : : "$1"
- func_to_host_path_tmp1=$func_stripname_result
- func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
- func_to_host_path_result="$func_convert_core_msys_to_w32_result"
- func_convert_path_check : ";" \
- "$func_to_host_path_tmp1" "$func_to_host_path_result"
- func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
- fi
-}
-# end func_convert_path_msys_to_w32
-
-
-# func_convert_path_cygwin_to_w32 ARG
-# Convert path ARG from Cygwin to w32 format. Returns result in
-# func_to_host_file_result.
-func_convert_path_cygwin_to_w32 ()
-{
- $opt_debug
- func_to_host_path_result="$1"
- if test -n "$1"; then
- # See func_convert_path_msys_to_w32:
- func_stripname : : "$1"
- func_to_host_path_tmp1=$func_stripname_result
- func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
- func_convert_path_check : ";" \
- "$func_to_host_path_tmp1" "$func_to_host_path_result"
- func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
- fi
-}
-# end func_convert_path_cygwin_to_w32
-
-
-# func_convert_path_nix_to_w32 ARG
-# Convert path ARG from *nix to w32 format. Requires a wine environment and
-# a working winepath. Returns result in func_to_host_file_result.
-func_convert_path_nix_to_w32 ()
-{
- $opt_debug
- func_to_host_path_result="$1"
- if test -n "$1"; then
- # See func_convert_path_msys_to_w32:
- func_stripname : : "$1"
- func_to_host_path_tmp1=$func_stripname_result
- func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
- func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
- func_convert_path_check : ";" \
- "$func_to_host_path_tmp1" "$func_to_host_path_result"
- func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
- fi
-}
-# end func_convert_path_nix_to_w32
-
-
-# func_convert_path_msys_to_cygwin ARG
-# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
-# Returns result in func_to_host_file_result.
-func_convert_path_msys_to_cygwin ()
-{
- $opt_debug
- func_to_host_path_result="$1"
- if test -n "$1"; then
- # See func_convert_path_msys_to_w32:
- func_stripname : : "$1"
- func_to_host_path_tmp1=$func_stripname_result
- func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
- func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
- func_to_host_path_result="$func_cygpath_result"
- func_convert_path_check : : \
- "$func_to_host_path_tmp1" "$func_to_host_path_result"
- func_convert_path_front_back_pathsep ":*" "*:" : "$1"
- fi
-}
-# end func_convert_path_msys_to_cygwin
-
-
-# func_convert_path_nix_to_cygwin ARG
-# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
-# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
-# func_to_host_file_result.
-func_convert_path_nix_to_cygwin ()
-{
- $opt_debug
- func_to_host_path_result="$1"
- if test -n "$1"; then
- # Remove leading and trailing path separator characters from
- # ARG. msys behavior is inconsistent here, cygpath turns them
- # into '.;' and ';.', and winepath ignores them completely.
- func_stripname : : "$1"
- func_to_host_path_tmp1=$func_stripname_result
- func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
- func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
- func_to_host_path_result="$func_cygpath_result"
- func_convert_path_check : : \
- "$func_to_host_path_tmp1" "$func_to_host_path_result"
- func_convert_path_front_back_pathsep ":*" "*:" : "$1"
- fi
-}
-# end func_convert_path_nix_to_cygwin
-
-
-# func_mode_compile arg...
-func_mode_compile ()
-{
- $opt_debug
- # Get the compilation command and the source file.
- base_compile=
- srcfile="$nonopt" # always keep a non-empty value in "srcfile"
- suppress_opt=yes
- suppress_output=
- arg_mode=normal
- libobj=
- later=
- pie_flag=
-
- for arg
- do
- case $arg_mode in
- arg )
- # do not "continue". Instead, add this to base_compile
- lastarg="$arg"
- arg_mode=normal
- ;;
-
- target )
- libobj="$arg"
- arg_mode=normal
- continue
- ;;
-
- normal )
- # Accept any command-line options.
- case $arg in
- -o)
- test -n "$libobj" && \
- func_fatal_error "you cannot specify \`-o' more than once"
- arg_mode=target
- continue
- ;;
-
- -pie | -fpie | -fPIE)
- func_append pie_flag " $arg"
- continue
- ;;
-
- -shared | -static | -prefer-pic | -prefer-non-pic)
- func_append later " $arg"
- continue
- ;;
-
- -no-suppress)
- suppress_opt=no
- continue
- ;;
-
- -Xcompiler)
- arg_mode=arg # the next one goes into the "base_compile" arg list
- continue # The current "srcfile" will either be retained or
- ;; # replaced later. I would guess that would be a bug.
-
- -Wc,*)
- func_stripname '-Wc,' '' "$arg"
- args=$func_stripname_result
- lastarg=
- save_ifs="$IFS"; IFS=','
- for arg in $args; do
- IFS="$save_ifs"
- func_append_quoted lastarg "$arg"
- done
- IFS="$save_ifs"
- func_stripname ' ' '' "$lastarg"
- lastarg=$func_stripname_result
-
- # Add the arguments to base_compile.
- func_append base_compile " $lastarg"
- continue
- ;;
-
- *)
- # Accept the current argument as the source file.
- # The previous "srcfile" becomes the current argument.
- #
- lastarg="$srcfile"
- srcfile="$arg"
- ;;
- esac # case $arg
- ;;
- esac # case $arg_mode
-
- # Aesthetically quote the previous argument.
- func_append_quoted base_compile "$lastarg"
- done # for arg
-
- case $arg_mode in
- arg)
- func_fatal_error "you must specify an argument for -Xcompile"
- ;;
- target)
- func_fatal_error "you must specify a target with \`-o'"
- ;;
- *)
- # Get the name of the library object.
- test -z "$libobj" && {
- func_basename "$srcfile"
- libobj="$func_basename_result"
- }
- ;;
- esac
-
- # Recognize several different file suffixes.
- # If the user specifies -o file.o, it is replaced with file.lo
- case $libobj in
- *.[cCFSifmso] | \
- *.ada | *.adb | *.ads | *.asm | \
- *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
- *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
- func_xform "$libobj"
- libobj=$func_xform_result
- ;;
- esac
-
- case $libobj in
- *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
- *)
- func_fatal_error "cannot determine name of library object from \`$libobj'"
- ;;
- esac
-
- func_infer_tag $base_compile
-
- for arg in $later; do
- case $arg in
- -shared)
- test "$build_libtool_libs" != yes && \
- func_fatal_configuration "can not build a shared library"
- build_old_libs=no
- continue
- ;;
-
- -static)
- build_libtool_libs=no
- build_old_libs=yes
- continue
- ;;
-
- -prefer-pic)
- pic_mode=yes
- continue
- ;;
-
- -prefer-non-pic)
- pic_mode=no
- continue
- ;;
- esac
- done
-
- func_quote_for_eval "$libobj"
- test "X$libobj" != "X$func_quote_for_eval_result" \
- && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && func_warning "libobj name \`$libobj' may not contain shell special characters."
- func_dirname_and_basename "$obj" "/" ""
- objname="$func_basename_result"
- xdir="$func_dirname_result"
- lobj=${xdir}$objdir/$objname
-
- test -z "$base_compile" && \
- func_fatal_help "you must specify a compilation command"
-
- # Delete any leftover library objects.
- if test "$build_old_libs" = yes; then
- removelist="$obj $lobj $libobj ${libobj}T"
- else
- removelist="$lobj $libobj ${libobj}T"
- fi
-
- # On Cygwin there's no "real" PIC flag so we must build both object types
- case $host_os in
- cygwin* | mingw* | pw32* | os2* | cegcc*)
- pic_mode=default
- ;;
- esac
- if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
- # non-PIC code in shared libraries is not supported
- pic_mode=default
- fi
-
- # Calculate the filename of the output object if compiler does
- # not support -o with -c
- if test "$compiler_c_o" = no; then
- output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
- lockfile="$output_obj.lock"
- else
- output_obj=
- need_locks=no
- lockfile=
- fi
-
- # Lock this critical section if it is needed
- # We use this script file to make the link, it avoids creating a new file
- if test "$need_locks" = yes; then
- until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
- func_echo "Waiting for $lockfile to be removed"
- sleep 2
- done
- elif test "$need_locks" = warn; then
- if test -f "$lockfile"; then
- $ECHO "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $opt_dry_run || $RM $removelist
- exit $EXIT_FAILURE
- fi
- func_append removelist " $output_obj"
- $ECHO "$srcfile" > "$lockfile"
- fi
-
- $opt_dry_run || $RM $removelist
- func_append removelist " $lockfile"
- trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
-
- func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
- srcfile=$func_to_tool_file_result
- func_quote_for_eval "$srcfile"
- qsrcfile=$func_quote_for_eval_result
-
- # Only build a PIC object if we are building libtool libraries.
- if test "$build_libtool_libs" = yes; then
- # Without this assignment, base_compile gets emptied.
- fbsd_hideous_sh_bug=$base_compile
-
- if test "$pic_mode" != no; then
- command="$base_compile $qsrcfile $pic_flag"
- else
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- fi
-
- func_mkdir_p "$xdir$objdir"
-
- if test -z "$output_obj"; then
- # Place PIC objects in $objdir
- func_append command " -o $lobj"
- fi
-
- func_show_eval_locale "$command" \
- 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $opt_dry_run || $RM $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed, then go on to compile the next one
- if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
- func_show_eval '$MV "$output_obj" "$lobj"' \
- 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
- fi
-
- # Allow error messages only from the first compilation.
- if test "$suppress_opt" = yes; then
- suppress_output=' >/dev/null 2>&1'
- fi
- fi
-
- # Only build a position-dependent object if we build old libraries.
- if test "$build_old_libs" = yes; then
- if test "$pic_mode" != yes; then
- # Don't build PIC code
- command="$base_compile $qsrcfile$pie_flag"
- else
- command="$base_compile $qsrcfile $pic_flag"
- fi
- if test "$compiler_c_o" = yes; then
- func_append command " -o $obj"
- fi
-
- # Suppress compiler output if we already did a PIC compilation.
- func_append command "$suppress_output"
- func_show_eval_locale "$command" \
- '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $opt_dry_run || $RM $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed
- if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
- func_show_eval '$MV "$output_obj" "$obj"' \
- 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
- fi
- fi
-
- $opt_dry_run || {
- func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
-
- # Unlock the critical section if it was locked
- if test "$need_locks" != no; then
- removelist=$lockfile
- $RM "$lockfile"
- fi
- }
-
- exit $EXIT_SUCCESS
-}
-
-$opt_help || {
- test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
-}
-
-func_mode_help ()
-{
- # We need to display help for each of the modes.
- case $opt_mode in
- "")
- # Generic help is extracted from the usage comments
- # at the start of this file.
- func_help
- ;;
-
- clean)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
- ;;
-
- compile)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
- -o OUTPUT-FILE set the output file name to OUTPUT-FILE
- -no-suppress do not suppress compiler output for multiple passes
- -prefer-pic try to build PIC objects only
- -prefer-non-pic try to build non-PIC objects only
- -shared do not build a \`.o' file suitable for static linking
- -static only build a \`.o' file suitable for static linking
- -Wc,FLAG pass FLAG directly to the compiler
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
- ;;
-
- execute)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
- -dlopen FILE add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
- ;;
-
- finish)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
- ;;
-
- install)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
-
-The following components of INSTALL-COMMAND are treated specially:
-
- -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
- ;;
-
- link)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
- -bindir BINDIR specify path to binaries directory (for systems where
- libraries must be found in the PATH setting at runtime)
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
- -export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
- -export-symbols-regex REGEX
- try to export only the symbols matching REGEX
- -LLIBDIR search LIBDIR for required installed libraries
- -lNAME OUTPUT-FILE requires the installed library libNAME
- -module build a library that can dlopened
- -no-fast-install disable the fast-install mode
- -no-install link a not-installable executable
- -no-undefined declare that a library does not refer to external symbols
- -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
- -precious-files-regex REGEX
- don't remove output files matching REGEX
- -release RELEASE specify package release information
- -rpath LIBDIR the created library will eventually be installed in LIBDIR
- -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -shared only do dynamic linking of libtool libraries
- -shrext SUFFIX override the standard shared library file extension
- -static do not do any dynamic linking of uninstalled libtool libraries
- -static-libtool-libs
- do not do any dynamic linking of libtool libraries
- -version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
- -weak LIBNAME declare that the target provides the LIBNAME interface
- -Wc,FLAG
- -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
- -Wl,FLAG
- -Xlinker FLAG pass linker-specific FLAG directly to the linker
- -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename. Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
- ;;
-
- uninstall)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
- ;;
-
- *)
- func_fatal_help "invalid operation mode \`$opt_mode'"
- ;;
- esac
-
- echo
- $ECHO "Try \`$progname --help' for more information about other modes."
-}
-
-# Now that we've collected a possible --mode arg, show help if necessary
-if $opt_help; then
- if test "$opt_help" = :; then
- func_mode_help
- else
- {
- func_help noexit
- for opt_mode in compile link execute install finish uninstall clean; do
- func_mode_help
- done
- } | sed -n '1p; 2,$s/^Usage:/ or: /p'
- {
- func_help noexit
- for opt_mode in compile link execute install finish uninstall clean; do
- echo
- func_mode_help
- done
- } |
- sed '1d
- /^When reporting/,/^Report/{
- H
- d
- }
- $x
- /information about other modes/d
- /more detailed .*MODE/d
- s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
- fi
- exit $?
-fi
-
-
-# func_mode_execute arg...
-func_mode_execute ()
-{
- $opt_debug
- # The first argument is the command name.
- cmd="$nonopt"
- test -z "$cmd" && \
- func_fatal_help "you must specify a COMMAND"
-
- # Handle -dlopen flags immediately.
- for file in $opt_dlopen; do
- test -f "$file" \
- || func_fatal_help "\`$file' is not a file"
-
- dir=
- case $file in
- *.la)
- func_resolve_sysroot "$file"
- file=$func_resolve_sysroot_result
-
- # Check to see that this really is a libtool archive.
- func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$lib' is not a valid libtool archive"
-
- # Read the libtool library.
- dlname=
- library_names=
- func_source "$file"
-
- # Skip this library if it cannot be dlopened.
- if test -z "$dlname"; then
- # Warn if it was a shared library.
- test -n "$library_names" && \
- func_warning "\`$file' was not linked with \`-export-dynamic'"
- continue
- fi
-
- func_dirname "$file" "" "."
- dir="$func_dirname_result"
-
- if test -f "$dir/$objdir/$dlname"; then
- func_append dir "/$objdir"
- else
- if test ! -f "$dir/$dlname"; then
- func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
- fi
- fi
- ;;
-
- *.lo)
- # Just add the directory containing the .lo file.
- func_dirname "$file" "" "."
- dir="$func_dirname_result"
- ;;
-
- *)
- func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
- continue
- ;;
- esac
-
- # Get the absolute pathname.
- absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
-
- # Now add the directory to shlibpath_var.
- if eval "test -z \"\$$shlibpath_var\""; then
- eval "$shlibpath_var=\"\$dir\""
- else
- eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
- fi
- done
-
- # This variable tells wrapper scripts just to set shlibpath_var
- # rather than running their programs.
- libtool_execute_magic="$magic"
-
- # Check if any of the arguments is a wrapper script.
- args=
- for file
- do
- case $file in
- -* | *.la | *.lo ) ;;
- *)
- # Do a test to see if this is really a libtool program.
- if func_ltwrapper_script_p "$file"; then
- func_source "$file"
- # Transform arg to wrapped name.
- file="$progdir/$program"
- elif func_ltwrapper_executable_p "$file"; then
- func_ltwrapper_scriptname "$file"
- func_source "$func_ltwrapper_scriptname_result"
- # Transform arg to wrapped name.
- file="$progdir/$program"
- fi
- ;;
- esac
- # Quote arguments (to preserve shell metacharacters).
- func_append_quoted args "$file"
- done
-
- if test "X$opt_dry_run" = Xfalse; then
- if test -n "$shlibpath_var"; then
- # Export the shlibpath_var.
- eval "export $shlibpath_var"
- fi
-
- # Restore saved environment variables
- for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
- do
- eval "if test \"\${save_$lt_var+set}\" = set; then
- $lt_var=\$save_$lt_var; export $lt_var
- else
- $lt_unset $lt_var
- fi"
- done
-
- # Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
- echo "export $shlibpath_var"
- fi
- $ECHO "$cmd$args"
- exit $EXIT_SUCCESS
- fi
-}
-
-test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
-
-
-# func_mode_finish arg...
-func_mode_finish ()
-{
- $opt_debug
- libs=
- libdirs=
- admincmds=
-
- for opt in "$nonopt" ${1+"$@"}
- do
- if test -d "$opt"; then
- func_append libdirs " $opt"
-
- elif test -f "$opt"; then
- if func_lalib_unsafe_p "$opt"; then
- func_append libs " $opt"
- else
- func_warning "\`$opt' is not a valid libtool archive"
- fi
-
- else
- func_fatal_error "invalid argument \`$opt'"
- fi
- done
-
- if test -n "$libs"; then
- if test -n "$lt_sysroot"; then
- sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
- sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
- else
- sysroot_cmd=
- fi
-
- # Remove sysroot references
- if $opt_dry_run; then
- for lib in $libs; do
- echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
- done
- else
- tmpdir=`func_mktempdir`
- for lib in $libs; do
- sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
- > $tmpdir/tmp-la
- mv -f $tmpdir/tmp-la $lib
- done
- ${RM}r "$tmpdir"
- fi
- fi
-
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for libdir in $libdirs; do
- if test -n "$finish_cmds"; then
- # Do each command in the finish commands.
- func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
-'"$cmd"'"'
- fi
- if test -n "$finish_eval"; then
- # Do the single finish_eval.
- eval cmds=\"$finish_eval\"
- $opt_dry_run || eval "$cmds" || func_append admincmds "
- $cmds"
- fi
- done
- fi
-
- # Exit here if they wanted silent mode.
- $opt_silent && exit $EXIT_SUCCESS
-
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- echo "----------------------------------------------------------------------"
- echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- $ECHO " $libdir"
- done
- echo
- echo "If you ever happen to want to link against installed libraries"
- echo "in a given directory, LIBDIR, you must either use libtool, and"
- echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
- echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- echo " during execution"
- fi
- if test -n "$runpath_var"; then
- echo " - add LIBDIR to the \`$runpath_var' environment variable"
- echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- $ECHO " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $ECHO " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- echo
-
- echo "See any operating system documentation about shared libraries for"
- case $host in
- solaris2.[6789]|solaris2.1[0-9])
- echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
- echo "pages."
- ;;
- *)
- echo "more information, such as the ld(1) and ld.so(8) manual pages."
- ;;
- esac
- echo "----------------------------------------------------------------------"
- fi
- exit $EXIT_SUCCESS
-}
-
-test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
-
-
-# func_mode_install arg...
-func_mode_install ()
-{
- $opt_debug
- # There may be an optional sh(1) argument at the beginning of
- # install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
- # Allow the use of GNU shtool's install command.
- case $nonopt in *shtool*) :;; *) false;; esac; then
- # Aesthetically quote it.
- func_quote_for_eval "$nonopt"
- install_prog="$func_quote_for_eval_result "
- arg=$1
- shift
- else
- install_prog=
- arg=$nonopt
- fi
-
- # The real first argument should be the name of the installation program.
- # Aesthetically quote it.
- func_quote_for_eval "$arg"
- func_append install_prog "$func_quote_for_eval_result"
- install_shared_prog=$install_prog
- case " $install_prog " in
- *[\\\ /]cp\ *) install_cp=: ;;
- *) install_cp=false ;;
- esac
-
- # We need to accept at least all the BSD install flags.
- dest=
- files=
- opts=
- prev=
- install_type=
- isdir=no
- stripme=
- no_mode=:
- for arg
- do
- arg2=
- if test -n "$dest"; then
- func_append files " $dest"
- dest=$arg
- continue
- fi
-
- case $arg in
- -d) isdir=yes ;;
- -f)
- if $install_cp; then :; else
- prev=$arg
- fi
- ;;
- -g | -m | -o)
- prev=$arg
- ;;
- -s)
- stripme=" -s"
- continue
- ;;
- -*)
- ;;
- *)
- # If the previous option needed an argument, then skip it.
- if test -n "$prev"; then
- if test "x$prev" = x-m && test -n "$install_override_mode"; then
- arg2=$install_override_mode
- no_mode=false
- fi
- prev=
- else
- dest=$arg
- continue
- fi
- ;;
- esac
-
- # Aesthetically quote the argument.
- func_quote_for_eval "$arg"
- func_append install_prog " $func_quote_for_eval_result"
- if test -n "$arg2"; then
- func_quote_for_eval "$arg2"
- fi
- func_append install_shared_prog " $func_quote_for_eval_result"
- done
-
- test -z "$install_prog" && \
- func_fatal_help "you must specify an install program"
-
- test -n "$prev" && \
- func_fatal_help "the \`$prev' option requires an argument"
-
- if test -n "$install_override_mode" && $no_mode; then
- if $install_cp; then :; else
- func_quote_for_eval "$install_override_mode"
- func_append install_shared_prog " -m $func_quote_for_eval_result"
- fi
- fi
-
- if test -z "$files"; then
- if test -z "$dest"; then
- func_fatal_help "no file or destination specified"
- else
- func_fatal_help "you must specify a destination"
- fi
- fi
-
- # Strip any trailing slash from the destination.
- func_stripname '' '/' "$dest"
- dest=$func_stripname_result
-
- # Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
- destname=
- else
- func_dirname_and_basename "$dest" "" "."
- destdir="$func_dirname_result"
- destname="$func_basename_result"
-
- # Not a directory, so check to see that there is only one file specified.
- set dummy $files; shift
- test "$#" -gt 1 && \
- func_fatal_help "\`$dest' is not a directory"
- fi
- case $destdir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- for file in $files; do
- case $file in
- *.lo) ;;
- *)
- func_fatal_help "\`$destdir' must be an absolute directory name"
- ;;
- esac
- done
- ;;
- esac
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- staticlibs=
- future_libdirs=
- current_libdirs=
- for file in $files; do
-
- # Do each installation.
- case $file in
- *.$libext)
- # Do the static libraries later.
- func_append staticlibs " $file"
- ;;
-
- *.la)
- func_resolve_sysroot "$file"
- file=$func_resolve_sysroot_result
-
- # Check to see that this really is a libtool archive.
- func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$file' is not a valid libtool archive"
-
- library_names=
- old_library=
- relink_command=
- func_source "$file"
-
- # Add the libdir to current_libdirs if it is the destination.
- if test "X$destdir" = "X$libdir"; then
- case "$current_libdirs " in
- *" $libdir "*) ;;
- *) func_append current_libdirs " $libdir" ;;
- esac
- else
- # Note the libdir as a future libdir.
- case "$future_libdirs " in
- *" $libdir "*) ;;
- *) func_append future_libdirs " $libdir" ;;
- esac
- fi
-
- func_dirname "$file" "/" ""
- dir="$func_dirname_result"
- func_append dir "$objdir"
-
- if test -n "$relink_command"; then
- # Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
-
- # Don't allow the user to place us outside of our expected
- # location b/c this prevents finding dependent libraries that
- # are installed to the same prefix.
- # At present, this check doesn't affect windows .dll's that
- # are installed into $libdir/../bin (currently, that works fine)
- # but it's something to keep an eye on.
- test "$inst_prefix_dir" = "$destdir" && \
- func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
-
- if test -n "$inst_prefix_dir"; then
- # Stick the inst_prefix_dir data into the link command.
- relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
- else
- relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
- fi
-
- func_warning "relinking \`$file'"
- func_show_eval "$relink_command" \
- 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
- fi
-
- # See the names of the shared library.
- set dummy $library_names; shift
- if test -n "$1"; then
- realname="$1"
- shift
-
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
-
- # Install the shared library and build the symlinks.
- func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
- 'exit $?'
- tstripme="$stripme"
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- case $realname in
- *.dll.a)
- tstripme=""
- ;;
- esac
- ;;
- esac
- if test -n "$tstripme" && test -n "$striplib"; then
- func_show_eval "$striplib $destdir/$realname" 'exit $?'
- fi
-
- if test "$#" -gt 0; then
- # Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
- # the symlink we replace! Solaris /bin/ln does not understand -f,
- # so we also need to try rm && ln -s.
- for linkname
- do
- test "$linkname" != "$realname" \
- && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
- done
- fi
-
- # Do each command in the postinstall commands.
- lib="$destdir/$realname"
- func_execute_cmds "$postinstall_cmds" 'exit $?'
- fi
-
- # Install the pseudo-library for information purposes.
- func_basename "$file"
- name="$func_basename_result"
- instname="$dir/$name"i
- func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
-
- # Maybe install the static library, too.
- test -n "$old_library" && func_append staticlibs " $dir/$old_library"
- ;;
-
- *.lo)
- # Install (i.e. copy) a libtool object.
-
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- func_basename "$file"
- destfile="$func_basename_result"
- destfile="$destdir/$destfile"
- fi
-
- # Deduce the name of the destination old-style object file.
- case $destfile in
- *.lo)
- func_lo2o "$destfile"
- staticdest=$func_lo2o_result
- ;;
- *.$objext)
- staticdest="$destfile"
- destfile=
- ;;
- *)
- func_fatal_help "cannot copy a libtool object to \`$destfile'"
- ;;
- esac
-
- # Install the libtool object if requested.
- test -n "$destfile" && \
- func_show_eval "$install_prog $file $destfile" 'exit $?'
-
- # Install the old object if enabled.
- if test "$build_old_libs" = yes; then
- # Deduce the name of the old-style object file.
- func_lo2o "$file"
- staticobj=$func_lo2o_result
- func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
- fi
- exit $EXIT_SUCCESS
- ;;
-
- *)
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- func_basename "$file"
- destfile="$func_basename_result"
- destfile="$destdir/$destfile"
- fi
-
- # If the file is missing, and there is a .exe on the end, strip it
- # because it is most likely a libtool script we actually want to
- # install
- stripped_ext=""
- case $file in
- *.exe)
- if test ! -f "$file"; then
- func_stripname '' '.exe' "$file"
- file=$func_stripname_result
- stripped_ext=".exe"
- fi
- ;;
- esac
-
- # Do a test to see if this is really a libtool program.
- case $host in
- *cygwin* | *mingw*)
- if func_ltwrapper_executable_p "$file"; then
- func_ltwrapper_scriptname "$file"
- wrapper=$func_ltwrapper_scriptname_result
- else
- func_stripname '' '.exe' "$file"
- wrapper=$func_stripname_result
- fi
- ;;
- *)
- wrapper=$file
- ;;
- esac
- if func_ltwrapper_script_p "$wrapper"; then
- notinst_deplibs=
- relink_command=
-
- func_source "$wrapper"
-
- # Check the variables that should have been set.
- test -z "$generated_by_libtool_version" && \
- func_fatal_error "invalid libtool wrapper script \`$wrapper'"
-
- finalize=yes
- for lib in $notinst_deplibs; do
- # Check to see that each library is installed.
- libdir=
- if test -f "$lib"; then
- func_source "$lib"
- fi
- libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
- if test -n "$libdir" && test ! -f "$libfile"; then
- func_warning "\`$lib' has not been installed in \`$libdir'"
- finalize=no
- fi
- done
-
- relink_command=
- func_source "$wrapper"
-
- outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
- $opt_dry_run || {
- if test "$finalize" = yes; then
- tmpdir=`func_mktempdir`
- func_basename "$file$stripped_ext"
- file="$func_basename_result"
- outputname="$tmpdir/$file"
- # Replace the output file specification.
- relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
-
- $opt_silent || {
- func_quote_for_expand "$relink_command"
- eval "func_echo $func_quote_for_expand_result"
- }
- if eval "$relink_command"; then :
- else
- func_error "error: relink \`$file' with the above command before installing it"
- $opt_dry_run || ${RM}r "$tmpdir"
- continue
- fi
- file="$outputname"
- else
- func_warning "cannot relink \`$file'"
- fi
- }
- else
- # Install the binary that we compiled earlier.
- file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
- fi
- fi
-
- # remove .exe since cygwin /usr/bin/install will append another
- # one anyway
- case $install_prog,$host in
- */usr/bin/install*,*cygwin*)
- case $file:$destfile in
- *.exe:*.exe)
- # this is ok
- ;;
- *.exe:*)
- destfile=$destfile.exe
- ;;
- *:*.exe)
- func_stripname '' '.exe' "$destfile"
- destfile=$func_stripname_result
- ;;
- esac
- ;;
- esac
- func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
- $opt_dry_run || if test -n "$outputname"; then
- ${RM}r "$tmpdir"
- fi
- ;;
- esac
- done
-
- for file in $staticlibs; do
- func_basename "$file"
- name="$func_basename_result"
-
- # Set up the ranlib parameters.
- oldlib="$destdir/$name"
- func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
- tool_oldlib=$func_to_tool_file_result
-
- func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
-
- if test -n "$stripme" && test -n "$old_striplib"; then
- func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
- fi
-
- # Do each command in the postinstall commands.
- func_execute_cmds "$old_postinstall_cmds" 'exit $?'
- done
-
- test -n "$future_libdirs" && \
- func_warning "remember to run \`$progname --finish$future_libdirs'"
-
- if test -n "$current_libdirs"; then
- # Maybe just do a dry run.
- $opt_dry_run && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
- else
- exit $EXIT_SUCCESS
- fi
-}
-
-test "$opt_mode" = install && func_mode_install ${1+"$@"}
-
-
-# func_generate_dlsyms outputname originator pic_p
-# Extract symbols from dlprefiles and create ${outputname}S.o with
-# a dlpreopen symbol table.
-func_generate_dlsyms ()
-{
- $opt_debug
- my_outputname="$1"
- my_originator="$2"
- my_pic_p="${3-no}"
- my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
- my_dlsyms=
-
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- if test -n "$NM" && test -n "$global_symbol_pipe"; then
- my_dlsyms="${my_outputname}S.c"
- else
- func_error "not configured to extract global symbols from dlpreopened files"
- fi
- fi
-
- if test -n "$my_dlsyms"; then
- case $my_dlsyms in
- "") ;;
- *.c)
- # Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${my_outputname}.nm"
-
- func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
-
- # Parse the name list into a source file.
- func_verbose "creating $output_objdir/$my_dlsyms"
-
- $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
-#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
-#endif
-
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-/* External symbol declarations for the compiler. */\
-"
-
- if test "$dlself" = yes; then
- func_verbose "generating symbol list for \`$output'"
-
- $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
-
- # Add our own program objects to the symbol list.
- progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
- for progfile in $progfiles; do
- func_to_tool_file "$progfile" func_convert_file_msys_to_w32
- func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
- $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -n "$exclude_expsyms"; then
- $opt_dry_run || {
- eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- eval '$MV "$nlist"T "$nlist"'
- }
- fi
-
- if test -n "$export_symbols_regex"; then
- $opt_dry_run || {
- eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- eval '$MV "$nlist"T "$nlist"'
- }
- fi
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
- $opt_dry_run || {
- $RM $export_symbols
- eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- case $host in
- *cygwin* | *mingw* | *cegcc* )
- eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- }
- else
- $opt_dry_run || {
- eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- eval '$MV "$nlist"T "$nlist"'
- case $host in
- *cygwin* | *mingw* | *cegcc* )
- eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- }
- fi
- fi
-
- for dlprefile in $dlprefiles; do
- func_verbose "extracting global C symbols from \`$dlprefile'"
- func_basename "$dlprefile"
- name="$func_basename_result"
- case $host in
- *cygwin* | *mingw* | *cegcc* )
- # if an import library, we need to obtain dlname
- if func_win32_import_lib_p "$dlprefile"; then
- func_tr_sh "$dlprefile"
- eval "curr_lafile=\$libfile_$func_tr_sh_result"
- dlprefile_dlbasename=""
- if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
- # Use subshell, to avoid clobbering current variable values
- dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
- if test -n "$dlprefile_dlname" ; then
- func_basename "$dlprefile_dlname"
- dlprefile_dlbasename="$func_basename_result"
- else
- # no lafile. user explicitly requested -dlpreopen <import library>.
- $sharedlib_from_linklib_cmd "$dlprefile"
- dlprefile_dlbasename=$sharedlib_from_linklib_result
- fi
- fi
- $opt_dry_run || {
- if test -n "$dlprefile_dlbasename" ; then
- eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
- else
- func_warning "Could not compute DLL name from $name"
- eval '$ECHO ": $name " >> "$nlist"'
- fi
- func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
- eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
- $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
- }
- else # not an import lib
- $opt_dry_run || {
- eval '$ECHO ": $name " >> "$nlist"'
- func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
- eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
- }
- fi
- ;;
- *)
- $opt_dry_run || {
- eval '$ECHO ": $name " >> "$nlist"'
- func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
- eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
- }
- ;;
- esac
- done
-
- $opt_dry_run || {
- # Make sure we have at least an empty file.
- test -f "$nlist" || : > "$nlist"
-
- if test -n "$exclude_expsyms"; then
- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- $MV "$nlist"T "$nlist"
- fi
-
- # Try sorting and uniquifying the output.
- if $GREP -v "^: " < "$nlist" |
- if sort -k 3 </dev/null >/dev/null 2>&1; then
- sort -k 3
- else
- sort +2
- fi |
- uniq > "$nlist"S; then
- :
- else
- $GREP -v "^: " < "$nlist" > "$nlist"S
- fi
-
- if test -f "$nlist"S; then
- eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
- else
- echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
- fi
-
- echo >> "$output_objdir/$my_dlsyms" "\
-
-/* The mapping between symbol names and symbols. */
-typedef struct {
- const char *name;
- void *address;
-} lt_dlsymlist;
-extern LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
-LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
- { \"$my_originator\", (void *) 0 },"
-
- case $need_lib_prefix in
- no)
- eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
- ;;
- *)
- eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
- ;;
- esac
- echo >> "$output_objdir/$my_dlsyms" "\
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt_${my_prefix}_LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
- } # !$opt_dry_run
-
- pic_flag_for_symtable=
- case "$compile_command " in
- *" -static "*) ;;
- *)
- case $host in
- # compiling the symbol table file with pic_flag works around
- # a FreeBSD bug that causes programs to crash when -lm is
- # linked before any other PIC object. But we must not use
- # pic_flag when linking with -static. The problem exists in
- # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
- *-*-hpux*)
- pic_flag_for_symtable=" $pic_flag" ;;
- *)
- if test "X$my_pic_p" != Xno; then
- pic_flag_for_symtable=" $pic_flag"
- fi
- ;;
- esac
- ;;
- esac
- symtab_cflags=
- for arg in $LTCFLAGS; do
- case $arg in
- -pie | -fpie | -fPIE) ;;
- *) func_append symtab_cflags " $arg" ;;
- esac
- done
-
- # Now compile the dynamic symbol file.
- func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
-
- # Clean up the generated files.
- func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
-
- # Transform the symbol file into the correct name.
- symfileobj="$output_objdir/${my_outputname}S.$objext"
- case $host in
- *cygwin* | *mingw* | *cegcc* )
- if test -f "$output_objdir/$my_outputname.def"; then
- compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
- finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
- else
- compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
- finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
- fi
- ;;
- *)
- compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
- finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
- ;;
- esac
- ;;
- *)
- func_fatal_error "unknown suffix for \`$my_dlsyms'"
- ;;
- esac
- else
- # We keep going just in case the user didn't refer to
- # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
-
- # Nullify the symbol file.
- compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
- finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
- fi
-}
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-# Despite the name, also deal with 64 bit binaries.
-func_win32_libid ()
-{
- $opt_debug
- win32_libid_type="unknown"
- win32_fileres=`file -L $1 2>/dev/null`
- case $win32_fileres in
- *ar\ archive\ import\ library*) # definitely import
- win32_libid_type="x86 archive import"
- ;;
- *ar\ archive*) # could be an import, or static
- # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
- if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
- $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
- func_to_tool_file "$1" func_convert_file_msys_to_w32
- win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
- $SED -n -e '
- 1,100{
- / I /{
- s,.*,import,
- p
- q
- }
- }'`
- case $win32_nmres in
- import*) win32_libid_type="x86 archive import";;
- *) win32_libid_type="x86 archive static";;
- esac
- fi
- ;;
- *DLL*)
- win32_libid_type="x86 DLL"
- ;;
- *executable*) # but shell scripts are "executable" too...
- case $win32_fileres in
- *MS\ Windows\ PE\ Intel*)
- win32_libid_type="x86 DLL"
- ;;
- esac
- ;;
- esac
- $ECHO "$win32_libid_type"
-}
-
-# func_cygming_dll_for_implib ARG
-#
-# Platform-specific function to extract the
-# name of the DLL associated with the specified
-# import library ARG.
-# Invoked by eval'ing the libtool variable
-# $sharedlib_from_linklib_cmd
-# Result is available in the variable
-# $sharedlib_from_linklib_result
-func_cygming_dll_for_implib ()
-{
- $opt_debug
- sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
-}
-
-# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
-#
-# The is the core of a fallback implementation of a
-# platform-specific function to extract the name of the
-# DLL associated with the specified import library LIBNAME.
-#
-# SECTION_NAME is either .idata$6 or .idata$7, depending
-# on the platform and compiler that created the implib.
-#
-# Echos the name of the DLL associated with the
-# specified import library.
-func_cygming_dll_for_implib_fallback_core ()
-{
- $opt_debug
- match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
- $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
- $SED '/^Contents of section '"$match_literal"':/{
- # Place marker at beginning of archive member dllname section
- s/.*/====MARK====/
- p
- d
- }
- # These lines can sometimes be longer than 43 characters, but
- # are always uninteresting
- /:[ ]*file format pe[i]\{,1\}-/d
- /^In archive [^:]*:/d
- # Ensure marker is printed
- /^====MARK====/p
- # Remove all lines with less than 43 characters
- /^.\{43\}/!d
- # From remaining lines, remove first 43 characters
- s/^.\{43\}//' |
- $SED -n '
- # Join marker and all lines until next marker into a single line
- /^====MARK====/ b para
- H
- $ b para
- b
- :para
- x
- s/\n//g
- # Remove the marker
- s/^====MARK====//
- # Remove trailing dots and whitespace
- s/[\. \t]*$//
- # Print
- /./p' |
- # we now have a list, one entry per line, of the stringified
- # contents of the appropriate section of all members of the
- # archive which possess that section. Heuristic: eliminate
- # all those which have a first or second character that is
- # a '.' (that is, objdump's representation of an unprintable
- # character.) This should work for all archives with less than
- # 0x302f exports -- but will fail for DLLs whose name actually
- # begins with a literal '.' or a single character followed by
- # a '.'.
- #
- # Of those that remain, print the first one.
- $SED -e '/^\./d;/^.\./d;q'
-}
-
-# func_cygming_gnu_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is a GNU/binutils-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_gnu_implib_p ()
-{
- $opt_debug
- func_to_tool_file "$1" func_convert_file_msys_to_w32
- func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
- test -n "$func_cygming_gnu_implib_tmp"
-}
-
-# func_cygming_ms_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is an MS-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_ms_implib_p ()
-{
- $opt_debug
- func_to_tool_file "$1" func_convert_file_msys_to_w32
- func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
- test -n "$func_cygming_ms_implib_tmp"
-}
-
-# func_cygming_dll_for_implib_fallback ARG
-# Platform-specific function to extract the
-# name of the DLL associated with the specified
-# import library ARG.
-#
-# This fallback implementation is for use when $DLLTOOL
-# does not support the --identify-strict option.
-# Invoked by eval'ing the libtool variable
-# $sharedlib_from_linklib_cmd
-# Result is available in the variable
-# $sharedlib_from_linklib_result
-func_cygming_dll_for_implib_fallback ()
-{
- $opt_debug
- if func_cygming_gnu_implib_p "$1" ; then
- # binutils import library
- sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
- elif func_cygming_ms_implib_p "$1" ; then
- # ms-generated import library
- sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
- else
- # unknown
- sharedlib_from_linklib_result=""
- fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
- $opt_debug
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
- if test "$lock_old_archive_extraction" = yes; then
- lockfile=$f_ex_an_ar_oldlib.lock
- until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
- func_echo "Waiting for $lockfile to be removed"
- sleep 2
- done
- fi
- func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
- 'stat=$?; rm -f "$lockfile"; exit $stat'
- if test "$lock_old_archive_extraction" = yes; then
- $opt_dry_run || rm -f "$lockfile"
- fi
- if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
- fi
-}
-
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
- $opt_debug
- my_gentop="$1"; shift
- my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
-
- for my_xlib in $my_oldlibs; do
- # Extract the objects.
- case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- *) my_xabs=`pwd`"/$my_xlib" ;;
- esac
- func_basename "$my_xlib"
- my_xlib="$func_basename_result"
- my_xlib_u=$my_xlib
- while :; do
- case " $extracted_archives " in
- *" $my_xlib_u "*)
- func_arith $extracted_serial + 1
- extracted_serial=$func_arith_result
- my_xlib_u=lt$extracted_serial-$my_xlib ;;
- *) break ;;
- esac
- done
- extracted_archives="$extracted_archives $my_xlib_u"
- my_xdir="$my_gentop/$my_xlib_u"
-
- func_mkdir_p "$my_xdir"
-
- case $host in
- *-darwin*)
- func_verbose "Extracting $my_xabs"
- # Do not bother doing anything if just a dry run
- $opt_dry_run || {
- darwin_orig_dir=`pwd`
- cd $my_xdir || exit $?
- darwin_archive=$my_xabs
- darwin_curdir=`pwd`
- darwin_base_archive=`basename "$darwin_archive"`
- darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
- if test -n "$darwin_arches"; then
- darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
- darwin_arch=
- func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- cd "$darwin_curdir"
- $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- done # $darwin_arches
- ## Okay now we've a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
- darwin_file=
- darwin_files=
- for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
- $LIPO -create -output "$darwin_file" $darwin_files
- done # $darwin_filelist
- $RM -rf unfat-$$
- cd "$darwin_orig_dir"
- else
- cd $darwin_orig_dir
- func_extract_an_archive "$my_xdir" "$my_xabs"
- fi # $darwin_arches
- } # !$opt_dry_run
- ;;
- *)
- func_extract_an_archive "$my_xdir" "$my_xabs"
- ;;
- esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
- done
-
- func_extract_archives_result="$my_oldobjs"
-}
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable. Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take. If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
-# the $objdir directory. This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
- func_emit_wrapper_arg1=${1-no}
-
- $ECHO "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
- # install mode needs the following variables:
- generated_by_libtool_version='$macro_version'
- notinst_deplibs='$notinst_deplibs'
-else
- # When we are sourced in execute mode, \$file and \$ECHO are already set.
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- file=\"\$0\""
-
- qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
- $ECHO "\
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
- ECHO=\"$qECHO\"
- fi
-
-# Very basic option parsing. These options are (a) specific to
-# the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ which is used only on
-# windows platforms, and (c) all begin with the string "--lt-"
-# (application programs are unlikely to have options which match
-# this pattern).
-#
-# There are only two supported options: --lt-debug and
-# --lt-dump-script. There is, deliberately, no --lt-help.
-#
-# The first argument to this parsing function should be the
-# script's $0 value, followed by "$@".
-lt_option_debug=
-func_parse_lt_options ()
-{
- lt_script_arg0=\$0
- shift
- for lt_opt
- do
- case \"\$lt_opt\" in
- --lt-debug) lt_option_debug=1 ;;
- --lt-dump-script)
- lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
- test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
- lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
- cat \"\$lt_dump_D/\$lt_dump_F\"
- exit 0
- ;;
- --lt-*)
- \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
- exit 1
- ;;
- esac
- done
-
- # Print the debug banner immediately:
- if test -n \"\$lt_option_debug\"; then
- echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
- fi
-}
-
-# Used when --lt-debug. Prints its arguments to stdout
-# (redirection is the responsibility of the caller)
-func_lt_dump_args ()
-{
- lt_dump_args_N=1;
- for lt_arg
- do
- \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
- lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
- done
-}
-
-# Core function for launching the target application
-func_exec_program_core ()
-{
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2* | *-cegcc*)
- $ECHO "\
- if test -n \"\$lt_option_debug\"; then
- \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
- func_lt_dump_args \${1+\"\$@\"} 1>&2
- fi
- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
- ;;
-
- *)
- $ECHO "\
- if test -n \"\$lt_option_debug\"; then
- \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
- func_lt_dump_args \${1+\"\$@\"} 1>&2
- fi
- exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
- ;;
- esac
- $ECHO "\
- \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
- exit 1
-}
-
-# A function to encapsulate launching the target application
-# Strips options in the --lt-* namespace from \$@ and
-# launches target application with the remaining arguments.
-func_exec_program ()
-{
- case \" \$* \" in
- *\\ --lt-*)
- for lt_wr_arg
- do
- case \$lt_wr_arg in
- --lt-*) ;;
- *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
- esac
- shift
- done ;;
- esac
- func_exec_program_core \${1+\"\$@\"}
-}
-
- # Parse options
- func_parse_lt_options \"\$0\" \${1+\"\$@\"}
-
- # Find the directory that this script lives in.
- thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
- test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
- # Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
- while test -n \"\$file\"; do
- destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
-
- # If there was a directory component, then change thisdir.
- if test \"x\$destdir\" != \"x\$file\"; then
- case \"\$destdir\" in
- [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
- *) thisdir=\"\$thisdir/\$destdir\" ;;
- esac
- fi
-
- file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
- done
-
- # Usually 'no', except on cygwin/mingw when embedded into
- # the cwrapper.
- WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
- if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
- # special case for '.'
- if test \"\$thisdir\" = \".\"; then
- thisdir=\`pwd\`
- fi
- # remove .libs from thisdir
- case \"\$thisdir\" in
- *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
- $objdir ) thisdir=. ;;
- esac
- fi
-
- # Try to get the absolute directory name.
- absdir=\`cd \"\$thisdir\" && pwd\`
- test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
- if test "$fast_install" = yes; then
- $ECHO "\
- program=lt-'$outputname'$exeext
- progdir=\"\$thisdir/$objdir\"
-
- if test ! -f \"\$progdir/\$program\" ||
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
- test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
- file=\"\$\$-\$program\"
-
- if test ! -d \"\$progdir\"; then
- $MKDIR \"\$progdir\"
- else
- $RM \"\$progdir/\$file\"
- fi"
-
- $ECHO "\
-
- # relink executable if necessary
- if test -n \"\$relink_command\"; then
- if relink_command_output=\`eval \$relink_command 2>&1\`; then :
- else
- $ECHO \"\$relink_command_output\" >&2
- $RM \"\$progdir/\$file\"
- exit 1
- fi
- fi
-
- $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
- { $RM \"\$progdir/\$program\";
- $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
- $RM \"\$progdir/\$file\"
- fi"
- else
- $ECHO "\
- program='$outputname'
- progdir=\"\$thisdir/$objdir\"
-"
- fi
-
- $ECHO "\
-
- if test -f \"\$progdir/\$program\"; then"
-
- # fixup the dll searchpath if we need to.
- #
- # Fix the DLL searchpath if we need to. Do this before prepending
- # to shlibpath, because on Windows, both are PATH and uninstalled
- # libraries must come first.
- if test -n "$dllsearchpath"; then
- $ECHO "\
- # Add the dll search path components to the executable PATH
- PATH=$dllsearchpath:\$PATH
-"
- fi
-
- # Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- $ECHO "\
- # Add our own library path to $shlibpath_var
- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
- # Some systems cannot cope with colon-terminated $shlibpath_var
- # The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
-
- export $shlibpath_var
-"
- fi
-
- $ECHO "\
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- # Run the actual program with our arguments.
- func_exec_program \${1+\"\$@\"}
- fi
- else
- # The program doesn't exist.
- \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
- \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
- \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
- exit 1
- fi
-fi\
-"
-}
-
-
-# func_emit_cwrapperexe_src
-# emit the source code for a wrapper executable on stdout
-# Must ONLY be called from within func_mode_link because
-# it depends on a number of variable set therein.
-func_emit_cwrapperexe_src ()
-{
- cat <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-
- The $output program cannot be directly executed until all the libtool
- libraries that it depends on are installed.
-
- This wrapper executable should never be moved out of the build directory.
- If it is, it will not operate correctly.
-*/
-EOF
- cat <<"EOF"
-#ifdef _MSC_VER
-# define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef _MSC_VER
-# include <direct.h>
-# include <process.h>
-# include <io.h>
-#else
-# include <unistd.h>
-# include <stdint.h>
-# ifdef __CYGWIN__
-# include <io.h>
-# endif
-#endif
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-/* declarations of non-ANSI functions */
-#if defined(__MINGW32__)
-# ifdef __STRICT_ANSI__
-int _putenv (const char *);
-# endif
-#elif defined(__CYGWIN__)
-# ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-# endif
-/* #elif defined (other platforms) ... */
-#endif
-
-/* portability defines, excluding path handling macros */
-#if defined(_MSC_VER)
-# define setmode _setmode
-# define stat _stat
-# define chmod _chmod
-# define getcwd _getcwd
-# define putenv _putenv
-# define S_IXUSR _S_IEXEC
-# ifndef _INTPTR_T_DEFINED
-# define _INTPTR_T_DEFINED
-# define intptr_t int
-# endif
-#elif defined(__MINGW32__)
-# define setmode _setmode
-# define stat _stat
-# define chmod _chmod
-# define getcwd _getcwd
-# define putenv _putenv
-#elif defined(__CYGWIN__)
-# define HAVE_SETENV
-# define FOPEN_WB "wb"
-/* #elif defined (other platforms) ... */
-#endif
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef S_IXOTH
-# define S_IXOTH 0
-#endif
-#ifndef S_IXGRP
-# define S_IXGRP 0
-#endif
-
-/* path handling portability macros */
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# define FOPEN_WB "wb"
-# ifndef DIR_SEPARATOR_2
-# define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-# define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
- (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#ifndef FOPEN_WB
-# define FOPEN_WB "w"
-#endif
-#ifndef _O_BINARY
-# define _O_BINARY 0
-#endif
-
-#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-#if defined(LT_DEBUGWRAPPER)
-static int lt_debug = 1;
-#else
-static int lt_debug = 0;
-#endif
-
-const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
-
-void *xmalloc (size_t num);
-char *xstrdup (const char *string);
-const char *base_name (const char *name);
-char *find_executable (const char *wrapper);
-char *chase_symlinks (const char *pathspec);
-int make_executable (const char *path);
-int check_executable (const char *path);
-char *strendzap (char *str, const char *pat);
-void lt_debugprintf (const char *file, int line, const char *fmt, ...);
-void lt_fatal (const char *file, int line, const char *message, ...);
-static const char *nonnull (const char *s);
-static const char *nonempty (const char *s);
-void lt_setenv (const char *name, const char *value);
-char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_update_exe_path (const char *name, const char *value);
-void lt_update_lib_path (const char *name, const char *value);
-char **prepare_spawn (char **argv);
-void lt_dump_script (FILE *f);
-EOF
-
- cat <<EOF
-volatile const char * MAGIC_EXE = "$magic_exe";
-const char * LIB_PATH_VARNAME = "$shlibpath_var";
-EOF
-
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- func_to_host_path "$temp_rpath"
- cat <<EOF
-const char * LIB_PATH_VALUE = "$func_to_host_path_result";
-EOF
- else
- cat <<"EOF"
-const char * LIB_PATH_VALUE = "";
-EOF
- fi
-
- if test -n "$dllsearchpath"; then
- func_to_host_path "$dllsearchpath:"
- cat <<EOF
-const char * EXE_PATH_VARNAME = "PATH";
-const char * EXE_PATH_VALUE = "$func_to_host_path_result";
-EOF
- else
- cat <<"EOF"
-const char * EXE_PATH_VARNAME = "";
-const char * EXE_PATH_VALUE = "";
-EOF
- fi
-
- if test "$fast_install" = yes; then
- cat <<EOF
-const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
-EOF
- else
- cat <<EOF
-const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
-EOF
- fi
-
-
- cat <<"EOF"
-
-#define LTWRAPPER_OPTION_PREFIX "--lt-"
-
-static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
-static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
-
-int
-main (int argc, char *argv[])
-{
- char **newargz;
- int newargc;
- char *tmp_pathspec;
- char *actual_cwrapper_path;
- char *actual_cwrapper_name;
- char *target_name;
- char *lt_argv_zero;
- intptr_t rval = 127;
-
- int i;
-
- program_name = (char *) xstrdup (base_name (argv[0]));
- newargz = XMALLOC (char *, argc + 1);
-
- /* very simple arg parsing; don't want to rely on getopt
- * also, copy all non cwrapper options to newargz, except
- * argz[0], which is handled differently
- */
- newargc=0;
- for (i = 1; i < argc; i++)
- {
- if (strcmp (argv[i], dumpscript_opt) == 0)
- {
-EOF
- case "$host" in
- *mingw* | *cygwin* )
- # make stdout use "unix" line endings
- echo " setmode(1,_O_BINARY);"
- ;;
- esac
-
- cat <<"EOF"
- lt_dump_script (stdout);
- return 0;
- }
- if (strcmp (argv[i], debug_opt) == 0)
- {
- lt_debug = 1;
- continue;
- }
- if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
- {
- /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
- namespace, but it is not one of the ones we know about and
- have already dealt with, above (inluding dump-script), then
- report an error. Otherwise, targets might begin to believe
- they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
- namespace. The first time any user complains about this, we'll
- need to make LTWRAPPER_OPTION_PREFIX a configure-time option
- or a configure.ac-settable value.
- */
- lt_fatal (__FILE__, __LINE__,
- "unrecognized %s option: '%s'",
- ltwrapper_option_prefix, argv[i]);
- }
- /* otherwise ... */
- newargz[++newargc] = xstrdup (argv[i]);
- }
- newargz[++newargc] = NULL;
-
-EOF
- cat <<EOF
- /* The GNU banner must be the first non-error debug message */
- lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
-EOF
- cat <<"EOF"
- lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
- lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
-
- tmp_pathspec = find_executable (argv[0]);
- if (tmp_pathspec == NULL)
- lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
- lt_debugprintf (__FILE__, __LINE__,
- "(main) found exe (before symlink chase) at: %s\n",
- tmp_pathspec);
-
- actual_cwrapper_path = chase_symlinks (tmp_pathspec);
- lt_debugprintf (__FILE__, __LINE__,
- "(main) found exe (after symlink chase) at: %s\n",
- actual_cwrapper_path);
- XFREE (tmp_pathspec);
-
- actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
- strendzap (actual_cwrapper_path, actual_cwrapper_name);
-
- /* wrapper name transforms */
- strendzap (actual_cwrapper_name, ".exe");
- tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
- XFREE (actual_cwrapper_name);
- actual_cwrapper_name = tmp_pathspec;
- tmp_pathspec = 0;
-
- /* target_name transforms -- use actual target program name; might have lt- prefix */
- target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
- strendzap (target_name, ".exe");
- tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
- XFREE (target_name);
- target_name = tmp_pathspec;
- tmp_pathspec = 0;
-
- lt_debugprintf (__FILE__, __LINE__,
- "(main) libtool target name: %s\n",
- target_name);
-EOF
-
- cat <<EOF
- newargz[0] =
- XMALLOC (char, (strlen (actual_cwrapper_path) +
- strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
- strcpy (newargz[0], actual_cwrapper_path);
- strcat (newargz[0], "$objdir");
- strcat (newargz[0], "/");
-EOF
-
- cat <<"EOF"
- /* stop here, and copy so we don't have to do this twice */
- tmp_pathspec = xstrdup (newargz[0]);
-
- /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
- strcat (newargz[0], actual_cwrapper_name);
-
- /* DO want the lt- prefix here if it exists, so use target_name */
- lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
- XFREE (tmp_pathspec);
- tmp_pathspec = NULL;
-EOF
-
- case $host_os in
- mingw*)
- cat <<"EOF"
- {
- char* p;
- while ((p = strchr (newargz[0], '\\')) != NULL)
- {
- *p = '/';
- }
- while ((p = strchr (lt_argv_zero, '\\')) != NULL)
- {
- *p = '/';
- }
- }
-EOF
- ;;
- esac
-
- cat <<"EOF"
- XFREE (target_name);
- XFREE (actual_cwrapper_path);
- XFREE (actual_cwrapper_name);
-
- lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
- lt_setenv ("DUALCASE", "1"); /* for MSK sh */
- /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
- be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
- because on Windows, both *_VARNAMEs are PATH but uninstalled
- libraries must come first. */
- lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
- lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
-
- lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
- nonnull (lt_argv_zero));
- for (i = 0; i < newargc; i++)
- {
- lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
- i, nonnull (newargz[i]));
- }
-
-EOF
-
- case $host_os in
- mingw*)
- cat <<"EOF"
- /* execv doesn't actually work on mingw as expected on unix */
- newargz = prepare_spawn (newargz);
- rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
- if (rval == -1)
- {
- /* failed to start process */
- lt_debugprintf (__FILE__, __LINE__,
- "(main) failed to launch target \"%s\": %s\n",
- lt_argv_zero, nonnull (strerror (errno)));
- return 127;
- }
- return rval;
-EOF
- ;;
- *)
- cat <<"EOF"
- execv (lt_argv_zero, newargz);
- return rval; /* =127, but avoids unused variable warning */
-EOF
- ;;
- esac
-
- cat <<"EOF"
-}
-
-void *
-xmalloc (size_t num)
-{
- void *p = (void *) malloc (num);
- if (!p)
- lt_fatal (__FILE__, __LINE__, "memory exhausted");
-
- return p;
-}
-
-char *
-xstrdup (const char *string)
-{
- return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
- string) : NULL;
-}
-
-const char *
-base_name (const char *name)
-{
- const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- /* Skip over the disk name in MSDOS pathnames. */
- if (isalpha ((unsigned char) name[0]) && name[1] == ':')
- name += 2;
-#endif
-
- for (base = name; *name; name++)
- if (IS_DIR_SEPARATOR (*name))
- base = name + 1;
- return base;
-}
-
-int
-check_executable (const char *path)
-{
- struct stat st;
-
- lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
- nonempty (path));
- if ((!path) || (!*path))
- return 0;
-
- if ((stat (path, &st) >= 0)
- && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
- return 1;
- else
- return 0;
-}
-
-int
-make_executable (const char *path)
-{
- int rval = 0;
- struct stat st;
-
- lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
- nonempty (path));
- if ((!path) || (!*path))
- return 0;
-
- if (stat (path, &st) >= 0)
- {
- rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
- }
- return rval;
-}
-
-/* Searches for the full path of the wrapper. Returns
- newly allocated full path name if found, NULL otherwise
- Does not chase symlinks, even on platforms that support them.
-*/
-char *
-find_executable (const char *wrapper)
-{
- int has_slash = 0;
- const char *p;
- const char *p_next;
- /* static buffer for getcwd */
- char tmp[LT_PATHMAX + 1];
- int tmp_len;
- char *concat_name;
-
- lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
- nonempty (wrapper));
-
- if ((wrapper == NULL) || (*wrapper == '\0'))
- return NULL;
-
- /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
- {
- concat_name = xstrdup (wrapper);
- if (check_executable (concat_name))
- return concat_name;
- XFREE (concat_name);
- }
- else
- {
-#endif
- if (IS_DIR_SEPARATOR (wrapper[0]))
- {
- concat_name = xstrdup (wrapper);
- if (check_executable (concat_name))
- return concat_name;
- XFREE (concat_name);
- }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- }
-#endif
-
- for (p = wrapper; *p; p++)
- if (*p == '/')
- {
- has_slash = 1;
- break;
- }
- if (!has_slash)
- {
- /* no slashes; search PATH */
- const char *path = getenv ("PATH");
- if (path != NULL)
- {
- for (p = path; *p; p = p_next)
- {
- const char *q;
- size_t p_len;
- for (q = p; *q; q++)
- if (IS_PATH_SEPARATOR (*q))
- break;
- p_len = q - p;
- p_next = (*q == '\0' ? q : q + 1);
- if (p_len == 0)
- {
- /* empty path: current directory */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
- nonnull (strerror (errno)));
- tmp_len = strlen (tmp);
- concat_name =
- XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
- }
- else
- {
- concat_name =
- XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
- memcpy (concat_name, p, p_len);
- concat_name[p_len] = '/';
- strcpy (concat_name + p_len + 1, wrapper);
- }
- if (check_executable (concat_name))
- return concat_name;
- XFREE (concat_name);
- }
- }
- /* not found in PATH; assume curdir */
- }
- /* Relative path | not found in path: prepend cwd */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
- nonnull (strerror (errno)));
- tmp_len = strlen (tmp);
- concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
-
- if (check_executable (concat_name))
- return concat_name;
- XFREE (concat_name);
- return NULL;
-}
-
-char *
-chase_symlinks (const char *pathspec)
-{
-#ifndef S_ISLNK
- return xstrdup (pathspec);
-#else
- char buf[LT_PATHMAX];
- struct stat s;
- char *tmp_pathspec = xstrdup (pathspec);
- char *p;
- int has_symlinks = 0;
- while (strlen (tmp_pathspec) && !has_symlinks)
- {
- lt_debugprintf (__FILE__, __LINE__,
- "checking path component for symlinks: %s\n",
- tmp_pathspec);
- if (lstat (tmp_pathspec, &s) == 0)
- {
- if (S_ISLNK (s.st_mode) != 0)
- {
- has_symlinks = 1;
- break;
- }
-
- /* search backwards for last DIR_SEPARATOR */
- p = tmp_pathspec + strlen (tmp_pathspec) - 1;
- while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
- p--;
- if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
- {
- /* no more DIR_SEPARATORS left */
- break;
- }
- *p = '\0';
- }
- else
- {
- lt_fatal (__FILE__, __LINE__,
- "error accessing file \"%s\": %s",
- tmp_pathspec, nonnull (strerror (errno)));
- }
- }
- XFREE (tmp_pathspec);
-
- if (!has_symlinks)
- {
- return xstrdup (pathspec);
- }
-
- tmp_pathspec = realpath (pathspec, buf);
- if (tmp_pathspec == 0)
- {
- lt_fatal (__FILE__, __LINE__,
- "could not follow symlinks for %s", pathspec);
- }
- return xstrdup (tmp_pathspec);
-#endif
-}
-
-char *
-strendzap (char *str, const char *pat)
-{
- size_t len, patlen;
-
- assert (str != NULL);
- assert (pat != NULL);
-
- len = strlen (str);
- patlen = strlen (pat);
-
- if (patlen <= len)
- {
- str += len - patlen;
- if (strcmp (str, pat) == 0)
- *str = '\0';
- }
- return str;
-}
-
-void
-lt_debugprintf (const char *file, int line, const char *fmt, ...)
-{
- va_list args;
- if (lt_debug)
- {
- (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
- va_start (args, fmt);
- (void) vfprintf (stderr, fmt, args);
- va_end (args);
- }
-}
-
-static void
-lt_error_core (int exit_status, const char *file,
- int line, const char *mode,
- const char *message, va_list ap)
-{
- fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
- vfprintf (stderr, message, ap);
- fprintf (stderr, ".\n");
-
- if (exit_status >= 0)
- exit (exit_status);
-}
-
-void
-lt_fatal (const char *file, int line, const char *message, ...)
-{
- va_list ap;
- va_start (ap, message);
- lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
- va_end (ap);
-}
-
-static const char *
-nonnull (const char *s)
-{
- return s ? s : "(null)";
-}
-
-static const char *
-nonempty (const char *s)
-{
- return (s && !*s) ? "(empty)" : nonnull (s);
-}
-
-void
-lt_setenv (const char *name, const char *value)
-{
- lt_debugprintf (__FILE__, __LINE__,
- "(lt_setenv) setting '%s' to '%s'\n",
- nonnull (name), nonnull (value));
- {
-#ifdef HAVE_SETENV
- /* always make a copy, for consistency with !HAVE_SETENV */
- char *str = xstrdup (value);
- setenv (name, str, 1);
-#else
- int len = strlen (name) + 1 + strlen (value) + 1;
- char *str = XMALLOC (char, len);
- sprintf (str, "%s=%s", name, value);
- if (putenv (str) != EXIT_SUCCESS)
- {
- XFREE (str);
- }
-#endif
- }
-}
-
-char *
-lt_extend_str (const char *orig_value, const char *add, int to_end)
-{
- char *new_value;
- if (orig_value && *orig_value)
- {
- int orig_value_len = strlen (orig_value);
- int add_len = strlen (add);
- new_value = XMALLOC (char, add_len + orig_value_len + 1);
- if (to_end)
- {
- strcpy (new_value, orig_value);
- strcpy (new_value + orig_value_len, add);
- }
- else
- {
- strcpy (new_value, add);
- strcpy (new_value + add_len, orig_value);
- }
- }
- else
- {
- new_value = xstrdup (add);
- }
- return new_value;
-}
-
-void
-lt_update_exe_path (const char *name, const char *value)
-{
- lt_debugprintf (__FILE__, __LINE__,
- "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
- nonnull (name), nonnull (value));
-
- if (name && *name && value && *value)
- {
- char *new_value = lt_extend_str (getenv (name), value, 0);
- /* some systems can't cope with a ':'-terminated path #' */
- int len = strlen (new_value);
- while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
- {
- new_value[len-1] = '\0';
- }
- lt_setenv (name, new_value);
- XFREE (new_value);
- }
-}
-
-void
-lt_update_lib_path (const char *name, const char *value)
-{
- lt_debugprintf (__FILE__, __LINE__,
- "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
- nonnull (name), nonnull (value));
-
- if (name && *name && value && *value)
- {
- char *new_value = lt_extend_str (getenv (name), value, 0);
- lt_setenv (name, new_value);
- XFREE (new_value);
- }
-}
-
-EOF
- case $host_os in
- mingw*)
- cat <<"EOF"
-
-/* Prepares an argument vector before calling spawn().
- Note that spawn() does not by itself call the command interpreter
- (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
- ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
- GetVersionEx(&v);
- v.dwPlatformId == VER_PLATFORM_WIN32_NT;
- }) ? "cmd.exe" : "command.com").
- Instead it simply concatenates the arguments, separated by ' ', and calls
- CreateProcess(). We must quote the arguments since Win32 CreateProcess()
- interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
- special way:
- - Space and tab are interpreted as delimiters. They are not treated as
- delimiters if they are surrounded by double quotes: "...".
- - Unescaped double quotes are removed from the input. Their only effect is
- that within double quotes, space and tab are treated like normal
- characters.
- - Backslashes not followed by double quotes are not special.
- - But 2*n+1 backslashes followed by a double quote become
- n backslashes followed by a double quote (n >= 0):
- \" -> "
- \\\" -> \"
- \\\\\" -> \\"
- */
-#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-char **
-prepare_spawn (char **argv)
-{
- size_t argc;
- char **new_argv;
- size_t i;
-
- /* Count number of arguments. */
- for (argc = 0; argv[argc] != NULL; argc++)
- ;
-
- /* Allocate new argument vector. */
- new_argv = XMALLOC (char *, argc + 1);
-
- /* Put quoted arguments into the new argument vector. */
- for (i = 0; i < argc; i++)
- {
- const char *string = argv[i];
-
- if (string[0] == '\0')
- new_argv[i] = xstrdup ("\"\"");
- else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
- {
- int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
- size_t length;
- unsigned int backslashes;
- const char *s;
- char *quoted_string;
- char *p;
-
- length = 0;
- backslashes = 0;
- if (quote_around)
- length++;
- for (s = string; *s != '\0'; s++)
- {
- char c = *s;
- if (c == '"')
- length += backslashes + 1;
- length++;
- if (c == '\\')
- backslashes++;
- else
- backslashes = 0;
- }
- if (quote_around)
- length += backslashes + 1;
-
- quoted_string = XMALLOC (char, length + 1);
-
- p = quoted_string;
- backslashes = 0;
- if (quote_around)
- *p++ = '"';
- for (s = string; *s != '\0'; s++)
- {
- char c = *s;
- if (c == '"')
- {
- unsigned int j;
- for (j = backslashes + 1; j > 0; j--)
- *p++ = '\\';
- }
- *p++ = c;
- if (c == '\\')
- backslashes++;
- else
- backslashes = 0;
- }
- if (quote_around)
- {
- unsigned int j;
- for (j = backslashes; j > 0; j--)
- *p++ = '\\';
- *p++ = '"';
- }
- *p = '\0';
-
- new_argv[i] = quoted_string;
- }
- else
- new_argv[i] = (char *) string;
- }
- new_argv[argc] = NULL;
-
- return new_argv;
-}
-EOF
- ;;
- esac
-
- cat <<"EOF"
-void lt_dump_script (FILE* f)
-{
-EOF
- func_emit_wrapper yes |
- $SED -n -e '
-s/^\(.\{79\}\)\(..*\)/\1\
-\2/
-h
-s/\([\\"]\)/\\\1/g
-s/$/\\n/
-s/\([^\n]*\).*/ fputs ("\1", f);/p
-g
-D'
- cat <<"EOF"
-}
-EOF
-}
-# end: func_emit_cwrapperexe_src
-
-# func_win32_import_lib_p ARG
-# True if ARG is an import lib, as indicated by $file_magic_cmd
-func_win32_import_lib_p ()
-{
- $opt_debug
- case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
- *import*) : ;;
- *) false ;;
- esac
-}
-
-# func_mode_link arg...
-func_mode_link ()
-{
- $opt_debug
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- # It is impossible to link a dll without this setting, and
- # we shouldn't force the makefile maintainer to figure out
- # which system we are compiling for in order to pass an extra
- # flag for every libtool invocation.
- # allow_undefined=no
-
- # FIXME: Unfortunately, there are problems with the above when trying
- # to make a dll which has undefined symbols, in which case not
- # even a static library is built. For now, we need to specify
- # -no-undefined on the libtool link line when we can be certain
- # that all symbols are satisfied, otherwise we get a static library.
- allow_undefined=yes
- ;;
- *)
- allow_undefined=yes
- ;;
- esac
- libtool_args=$nonopt
- base_compile="$nonopt $@"
- compile_command=$nonopt
- finalize_command=$nonopt
-
- compile_rpath=
- finalize_rpath=
- compile_shlibpath=
- finalize_shlibpath=
- convenience=
- old_convenience=
- deplibs=
- old_deplibs=
- compiler_flags=
- linker_flags=
- dllsearchpath=
- lib_search_path=`pwd`
- inst_prefix_dir=
- new_inherited_linker_flags=
-
- avoid_version=no
- bindir=
- dlfiles=
- dlprefiles=
- dlself=no
- export_dynamic=no
- export_symbols=
- export_symbols_regex=
- generated=
- libobjs=
- ltlibs=
- module=no
- no_install=no
- objs=
- non_pic_objects=
- precious_files_regex=
- prefer_static_libs=no
- preload=no
- prev=
- prevarg=
- release=
- rpath=
- xrpath=
- perm_rpath=
- temp_rpath=
- thread_safe=no
- vinfo=
- vinfo_number=no
- weak_libs=
- single_module="${wl}-single_module"
- func_infer_tag $base_compile
-
- # We need to know -static, to get the right output filenames.
- for arg
- do
- case $arg in
- -shared)
- test "$build_libtool_libs" != yes && \
- func_fatal_configuration "can not build a shared library"
- build_old_libs=no
- break
- ;;
- -all-static | -static | -static-libtool-libs)
- case $arg in
- -all-static)
- if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
- func_warning "complete static linking is impossible in this configuration"
- fi
- if test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- ;;
- -static)
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=built
- ;;
- -static-libtool-libs)
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- ;;
- esac
- build_libtool_libs=no
- build_old_libs=yes
- break
- ;;
- esac
- done
-
- # See if our shared archives depend on static archives.
- test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
- # Go through the arguments, transforming them on the way.
- while test "$#" -gt 0; do
- arg="$1"
- shift
- func_quote_for_eval "$arg"
- qarg=$func_quote_for_eval_unquoted_result
- func_append libtool_args " $func_quote_for_eval_result"
-
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- output)
- func_append compile_command " @OUTPUT@"
- func_append finalize_command " @OUTPUT@"
- ;;
- esac
-
- case $prev in
- bindir)
- bindir="$arg"
- prev=
- continue
- ;;
- dlfiles|dlprefiles)
- if test "$preload" = no; then
- # Add the symbol object into the linking commands.
- func_append compile_command " @SYMFILE@"
- func_append finalize_command " @SYMFILE@"
- preload=yes
- fi
- case $arg in
- *.la | *.lo) ;; # We handle these cases below.
- force)
- if test "$dlself" = no; then
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- self)
- if test "$prev" = dlprefiles; then
- dlself=yes
- elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
- dlself=yes
- else
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- *)
- if test "$prev" = dlfiles; then
- func_append dlfiles " $arg"
- else
- func_append dlprefiles " $arg"
- fi
- prev=
- continue
- ;;
- esac
- ;;
- expsyms)
- export_symbols="$arg"
- test -f "$arg" \
- || func_fatal_error "symbol file \`$arg' does not exist"
- prev=
- continue
- ;;
- expsyms_regex)
- export_symbols_regex="$arg"
- prev=
- continue
- ;;
- framework)
- case $host in
- *-*-darwin*)
- case "$deplibs " in
- *" $qarg.ltframework "*) ;;
- *) func_append deplibs " $qarg.ltframework" # this is fixed later
- ;;
- esac
- ;;
- esac
- prev=
- continue
- ;;
- inst_prefix)
- inst_prefix_dir="$arg"
- prev=
- continue
- ;;
- objectlist)
- if test -f "$arg"; then
- save_arg=$arg
- moreargs=
- for fil in `cat "$save_arg"`
- do
-# func_append moreargs " $fil"
- arg=$fil
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if func_lalib_unsafe_p "$arg"; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- func_source "$arg"
-
- if test -z "$pic_object" ||
- test -z "$non_pic_object" ||
- test "$pic_object" = none &&
- test "$non_pic_object" = none; then
- func_fatal_error "cannot find name of object for \`$arg'"
- fi
-
- # Extract subdirectory from the argument.
- func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- func_append dlfiles " $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- func_append dlprefiles " $pic_object"
- prev=
- fi
-
- # A PIC object.
- func_append libobjs " $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- func_append non_pic_objects " $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- func_append non_pic_objects " $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if $opt_dry_run; then
- # Extract subdirectory from the argument.
- func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
-
- func_lo2o "$arg"
- pic_object=$xdir$objdir/$func_lo2o_result
- non_pic_object=$xdir$func_lo2o_result
- func_append libobjs " $pic_object"
- func_append non_pic_objects " $non_pic_object"
- else
- func_fatal_error "\`$arg' is not a valid libtool object"
- fi
- fi
- done
- else
- func_fatal_error "link input file \`$arg' does not exist"
- fi
- arg=$save_arg
- prev=
- continue
- ;;
- precious_regex)
- precious_files_regex="$arg"
- prev=
- continue
- ;;
- release)
- release="-$arg"
- prev=
- continue
- ;;
- rpath | xrpath)
- # We need an absolute path.
- case $arg in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- func_fatal_error "only absolute run-paths are allowed"
- ;;
- esac
- if test "$prev" = rpath; then
- case "$rpath " in
- *" $arg "*) ;;
- *) func_append rpath " $arg" ;;
- esac
- else
- case "$xrpath " in
- *" $arg "*) ;;
- *) func_append xrpath " $arg" ;;
- esac
- fi
- prev=
- continue
- ;;
- shrext)
- shrext_cmds="$arg"
- prev=
- continue
- ;;
- weak)
- func_append weak_libs " $arg"
- prev=
- continue
- ;;
- xcclinker)
- func_append linker_flags " $qarg"
- func_append compiler_flags " $qarg"
- prev=
- func_append compile_command " $qarg"
- func_append finalize_command " $qarg"
- continue
- ;;
- xcompiler)
- func_append compiler_flags " $qarg"
- prev=
- func_append compile_command " $qarg"
- func_append finalize_command " $qarg"
- continue
- ;;
- xlinker)
- func_append linker_flags " $qarg"
- func_append compiler_flags " $wl$qarg"
- prev=
- func_append compile_command " $wl$qarg"
- func_append finalize_command " $wl$qarg"
- continue
- ;;
- *)
- eval "$prev=\"\$arg\""
- prev=
- continue
- ;;
- esac
- fi # test -n "$prev"
-
- prevarg="$arg"
-
- case $arg in
- -all-static)
- if test -n "$link_static_flag"; then
- # See comment for -static flag below, for more details.
- func_append compile_command " $link_static_flag"
- func_append finalize_command " $link_static_flag"
- fi
- continue
- ;;
-
- -allow-undefined)
- # FIXME: remove this flag sometime in the future.
- func_fatal_error "\`-allow-undefined' must not be used because it is the default"
- ;;
-
- -avoid-version)
- avoid_version=yes
- continue
- ;;
-
- -bindir)
- prev=bindir
- continue
- ;;
-
- -dlopen)
- prev=dlfiles
- continue
- ;;
-
- -dlpreopen)
- prev=dlprefiles
- continue
- ;;
-
- -export-dynamic)
- export_dynamic=yes
- continue
- ;;
-
- -export-symbols | -export-symbols-regex)
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- func_fatal_error "more than one -exported-symbols argument is not allowed"
- fi
- if test "X$arg" = "X-export-symbols"; then
- prev=expsyms
- else
- prev=expsyms_regex
- fi
- continue
- ;;
-
- -framework)
- prev=framework
- continue
- ;;
-
- -inst-prefix-dir)
- prev=inst_prefix
- continue
- ;;
-
- # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
- # so, if we see these flags be careful not to treat them like -L
- -L[A-Z][A-Z]*:*)
- case $with_gcc/$host in
- no/*-*-irix* | /*-*-irix*)
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- ;;
- esac
- continue
- ;;
-
- -L*)
- func_stripname "-L" '' "$arg"
- if test -z "$func_stripname_result"; then
- if test "$#" -gt 0; then
- func_fatal_error "require no space between \`-L' and \`$1'"
- else
- func_fatal_error "need path for \`-L' option"
- fi
- fi
- func_resolve_sysroot "$func_stripname_result"
- dir=$func_resolve_sysroot_result
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- absdir=`cd "$dir" && pwd`
- test -z "$absdir" && \
- func_fatal_error "cannot determine absolute directory name of \`$dir'"
- dir="$absdir"
- ;;
- esac
- case "$deplibs " in
- *" -L$dir "* | *" $arg "*)
- # Will only happen for absolute or sysroot arguments
- ;;
- *)
- # Preserve sysroot, but never include relative directories
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
- *) func_append deplibs " -L$dir" ;;
- esac
- func_append lib_search_path " $dir"
- ;;
- esac
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$dir:"*) ;;
- ::) dllsearchpath=$dir;;
- *) func_append dllsearchpath ":$dir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- ::) dllsearchpath=$testbindir;;
- *) func_append dllsearchpath ":$testbindir";;
- esac
- ;;
- esac
- continue
- ;;
-
- -l*)
- if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
- # These systems don't actually have a C or math library (as such)
- continue
- ;;
- *-*-os2*)
- # These systems don't actually have a C library (as such)
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C and math libraries are in the System framework
- func_append deplibs " System.ltframework"
- continue
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- test "X$arg" = "X-lc" && continue
- ;;
- esac
- elif test "X$arg" = "X-lc_r"; then
- case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc_r directly, use -pthread flag.
- continue
- ;;
- esac
- fi
- func_append deplibs " $arg"
- continue
- ;;
-
- -module)
- module=yes
- continue
- ;;
-
- # Tru64 UNIX uses -model [arg] to determine the layout of C++
- # classes, name mangling, and exception handling.
- # Darwin uses the -arch flag to determine output architecture.
- -model|-arch|-isysroot|--sysroot)
- func_append compiler_flags " $arg"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- prev=xcompiler
- continue
- ;;
-
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
- |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
- func_append compiler_flags " $arg"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- case "$new_inherited_linker_flags " in
- *" $arg "*) ;;
- * ) func_append new_inherited_linker_flags " $arg" ;;
- esac
- continue
- ;;
-
- -multi_module)
- single_module="${wl}-multi_module"
- continue
- ;;
-
- -no-fast-install)
- fast_install=no
- continue
- ;;
-
- -no-install)
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
- # The PATH hackery in wrapper scripts is required on Windows
- # and Darwin in order for the loader to find any dlls it needs.
- func_warning "\`-no-install' is ignored for $host"
- func_warning "assuming \`-no-fast-install' instead"
- fast_install=no
- ;;
- *) no_install=yes ;;
- esac
- continue
- ;;
-
- -no-undefined)
- allow_undefined=no
- continue
- ;;
-
- -objectlist)
- prev=objectlist
- continue
- ;;
-
- -o) prev=output ;;
-
- -precious-files-regex)
- prev=precious_regex
- continue
- ;;
-
- -release)
- prev=release
- continue
- ;;
-
- -rpath)
- prev=rpath
- continue
- ;;
-
- -R)
- prev=xrpath
- continue
- ;;
-
- -R*)
- func_stripname '-R' '' "$arg"
- dir=$func_stripname_result
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- =*)
- func_stripname '=' '' "$dir"
- dir=$lt_sysroot$func_stripname_result
- ;;
- *)
- func_fatal_error "only absolute run-paths are allowed"
- ;;
- esac
- case "$xrpath " in
- *" $dir "*) ;;
- *) func_append xrpath " $dir" ;;
- esac
- continue
- ;;
-
- -shared)
- # The effects of -shared are defined in a previous loop.
- continue
- ;;
-
- -shrext)
- prev=shrext
- continue
- ;;
-
- -static | -static-libtool-libs)
- # The effects of -static are defined in a previous loop.
- # We used to do the same as -all-static on platforms that
- # didn't have a PIC flag, but the assumption that the effects
- # would be equivalent was wrong. It would break on at least
- # Digital Unix and AIX.
- continue
- ;;
-
- -thread-safe)
- thread_safe=yes
- continue
- ;;
-
- -version-info)
- prev=vinfo
- continue
- ;;
-
- -version-number)
- prev=vinfo
- vinfo_number=yes
- continue
- ;;
-
- -weak)
- prev=weak
- continue
- ;;
-
- -Wc,*)
- func_stripname '-Wc,' '' "$arg"
- args=$func_stripname_result
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- func_quote_for_eval "$flag"
- func_append arg " $func_quote_for_eval_result"
- func_append compiler_flags " $func_quote_for_eval_result"
- done
- IFS="$save_ifs"
- func_stripname ' ' '' "$arg"
- arg=$func_stripname_result
- ;;
-
- -Wl,*)
- func_stripname '-Wl,' '' "$arg"
- args=$func_stripname_result
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- func_quote_for_eval "$flag"
- func_append arg " $wl$func_quote_for_eval_result"
- func_append compiler_flags " $wl$func_quote_for_eval_result"
- func_append linker_flags " $func_quote_for_eval_result"
- done
- IFS="$save_ifs"
- func_stripname ' ' '' "$arg"
- arg=$func_stripname_result
- ;;
-
- -Xcompiler)
- prev=xcompiler
- continue
- ;;
-
- -Xlinker)
- prev=xlinker
- continue
- ;;
-
- -XCClinker)
- prev=xcclinker
- continue
- ;;
-
- # -msg_* for osf cc
- -msg_*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- ;;
-
- # Flags to be passed through unchanged, with rationale:
- # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
- # -r[0-9][0-9]* specify processor for the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
- # +DA*, +DD* enable 64-bit mode for the HP compiler
- # -q* compiler args for the IBM compiler
- # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
- # -F/path path to uninstalled frameworks, gcc on darwin
- # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
- # @file GCC response files
- # -tp=* Portland pgcc target processor selection
- # --sysroot=* for sysroot support
- # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- func_append compiler_flags " $arg"
- continue
- ;;
-
- # Some other compiler flag.
- -* | +*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- ;;
-
- *.$objext)
- # A standard object.
- func_append objs " $arg"
- ;;
-
- *.lo)
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if func_lalib_unsafe_p "$arg"; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- func_source "$arg"
-
- if test -z "$pic_object" ||
- test -z "$non_pic_object" ||
- test "$pic_object" = none &&
- test "$non_pic_object" = none; then
- func_fatal_error "cannot find name of object for \`$arg'"
- fi
-
- # Extract subdirectory from the argument.
- func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- func_append dlfiles " $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- func_append dlprefiles " $pic_object"
- prev=
- fi
-
- # A PIC object.
- func_append libobjs " $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- func_append non_pic_objects " $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- func_append non_pic_objects " $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if $opt_dry_run; then
- # Extract subdirectory from the argument.
- func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
-
- func_lo2o "$arg"
- pic_object=$xdir$objdir/$func_lo2o_result
- non_pic_object=$xdir$func_lo2o_result
- func_append libobjs " $pic_object"
- func_append non_pic_objects " $non_pic_object"
- else
- func_fatal_error "\`$arg' is not a valid libtool object"
- fi
- fi
- ;;
-
- *.$libext)
- # An archive.
- func_append deplibs " $arg"
- func_append old_deplibs " $arg"
- continue
- ;;
-
- *.la)
- # A libtool-controlled library.
-
- func_resolve_sysroot "$arg"
- if test "$prev" = dlfiles; then
- # This library was specified with -dlopen.
- func_append dlfiles " $func_resolve_sysroot_result"
- prev=
- elif test "$prev" = dlprefiles; then
- # The library was specified with -dlpreopen.
- func_append dlprefiles " $func_resolve_sysroot_result"
- prev=
- else
- func_append deplibs " $func_resolve_sysroot_result"
- fi
- continue
- ;;
-
- # Some other compiler argument.
- *)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- ;;
- esac # arg
-
- # Now actually substitute the argument into the commands.
- if test -n "$arg"; then
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- fi
- done # argument parsing loop
-
- test -n "$prev" && \
- func_fatal_help "the \`$prevarg' option requires an argument"
-
- if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
- eval arg=\"$export_dynamic_flag_spec\"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- fi
-
- oldlibs=
- # calculate the name of the file, without its directory
- func_basename "$output"
- outputname="$func_basename_result"
- libobjs_save="$libobjs"
-
- if test -n "$shlibpath_var"; then
- # get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
- else
- shlib_search_path=
- fi
- eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
- eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
- func_dirname "$output" "/" ""
- output_objdir="$func_dirname_result$objdir"
- func_to_tool_file "$output_objdir/"
- tool_output_objdir=$func_to_tool_file_result
- # Create the object directory.
- func_mkdir_p "$output_objdir"
-
- # Determine the type of output
- case $output in
- "")
- func_fatal_help "you must specify an output file"
- ;;
- *.$libext) linkmode=oldlib ;;
- *.lo | *.$objext) linkmode=obj ;;
- *.la) linkmode=lib ;;
- *) linkmode=prog ;; # Anything else should be a program.
- esac
-
- specialdeplibs=
-
- libs=
- # Find all interdependent deplibs by searching for libraries
- # that are linked more than once (e.g. -la -lb -la)
- for deplib in $deplibs; do
- if $opt_preserve_dup_deps ; then
- case "$libs " in
- *" $deplib "*) func_append specialdeplibs " $deplib" ;;
- esac
- fi
- func_append libs " $deplib"
- done
-
- if test "$linkmode" = lib; then
- libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
- # Compute libraries that are listed more than once in $predeps
- # $postdeps and mark them as special (i.e., whose duplicates are
- # not to be eliminated).
- pre_post_deps=
- if $opt_duplicate_compiler_generated_deps; then
- for pre_post_dep in $predeps $postdeps; do
- case "$pre_post_deps " in
- *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
- esac
- func_append pre_post_deps " $pre_post_dep"
- done
- fi
- pre_post_deps=
- fi
-
- deplibs=
- newdependency_libs=
- newlib_search_path=
- need_relink=no # whether we're linking any uninstalled libtool libraries
- notinst_deplibs= # not-installed libtool libraries
- notinst_path= # paths that contain not-installed libtool libraries
-
- case $linkmode in
- lib)
- passes="conv dlpreopen link"
- for file in $dlfiles $dlprefiles; do
- case $file in
- *.la) ;;
- *)
- func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
- ;;
- esac
- done
- ;;
- prog)
- compile_deplibs=
- finalize_deplibs=
- alldeplibs=no
- newdlfiles=
- newdlprefiles=
- passes="conv scan dlopen dlpreopen link"
- ;;
- *) passes="conv"
- ;;
- esac
-
- for pass in $passes; do
- # The preopen pass in lib mode reverses $deplibs; put it back here
- # so that -L comes before libs that need it for instance...
- if test "$linkmode,$pass" = "lib,link"; then
- ## FIXME: Find the place where the list is rebuilt in the wrong
- ## order, and fix it there properly
- tmp_deplibs=
- for deplib in $deplibs; do
- tmp_deplibs="$deplib $tmp_deplibs"
- done
- deplibs="$tmp_deplibs"
- fi
-
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan"; then
- libs="$deplibs"
- deplibs=
- fi
- if test "$linkmode" = prog; then
- case $pass in
- dlopen) libs="$dlfiles" ;;
- dlpreopen) libs="$dlprefiles" ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
- esac
- fi
- if test "$linkmode,$pass" = "lib,dlpreopen"; then
- # Collect and forward deplibs of preopened libtool libs
- for lib in $dlprefiles; do
- # Ignore non-libtool-libs
- dependency_libs=
- func_resolve_sysroot "$lib"
- case $lib in
- *.la) func_source "$func_resolve_sysroot_result" ;;
- esac
-
- # Collect preopened libtool deplibs, except any this library
- # has declared as weak libs
- for deplib in $dependency_libs; do
- func_basename "$deplib"
- deplib_base=$func_basename_result
- case " $weak_libs " in
- *" $deplib_base "*) ;;
- *) func_append deplibs " $deplib" ;;
- esac
- done
- done
- libs="$dlprefiles"
- fi
- if test "$pass" = dlopen; then
- # Collect dlpreopened libraries
- save_deplibs="$deplibs"
- deplibs=
- fi
-
- for deplib in $libs; do
- lib=
- found=no
- case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
- |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- func_append compiler_flags " $deplib"
- if test "$linkmode" = lib ; then
- case "$new_inherited_linker_flags " in
- *" $deplib "*) ;;
- * ) func_append new_inherited_linker_flags " $deplib" ;;
- esac
- fi
- fi
- continue
- ;;
- -l*)
- if test "$linkmode" != lib && test "$linkmode" != prog; then
- func_warning "\`-l' is ignored for archives/objects"
- continue
- fi
- func_stripname '-l' '' "$deplib"
- name=$func_stripname_result
- if test "$linkmode" = lib; then
- searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
- else
- searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
- fi
- for searchdir in $searchdirs; do
- for search_ext in .la $std_shrext .so .a; do
- # Search the libtool library
- lib="$searchdir/lib${name}${search_ext}"
- if test -f "$lib"; then
- if test "$search_ext" = ".la"; then
- found=yes
- else
- found=no
- fi
- break 2
- fi
- done
- done
- if test "$found" != yes; then
- # deplib doesn't seem to be a libtool library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- else # deplib is a libtool library
- # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
- # We need to do some special things here, and not later.
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $deplib "*)
- if func_lalib_p "$lib"; then
- library_names=
- old_library=
- func_source "$lib"
- for l in $old_library $library_names; do
- ll="$l"
- done
- if test "X$ll" = "X$old_library" ; then # only static version available
- found=no
- func_dirname "$lib" "" "."
- ladir="$func_dirname_result"
- lib=$ladir/$old_library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- fi
- fi
- ;;
- *) ;;
- esac
- fi
- fi
- ;; # -l
- *.ltframework)
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- if test "$linkmode" = lib ; then
- case "$new_inherited_linker_flags " in
- *" $deplib "*) ;;
- * ) func_append new_inherited_linker_flags " $deplib" ;;
- esac
- fi
- fi
- continue
- ;;
- -L*)
- case $linkmode in
- lib)
- deplibs="$deplib $deplibs"
- test "$pass" = conv && continue
- newdependency_libs="$deplib $newdependency_libs"
- func_stripname '-L' '' "$deplib"
- func_resolve_sysroot "$func_stripname_result"
- func_append newlib_search_path " $func_resolve_sysroot_result"
- ;;
- prog)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- if test "$pass" = scan; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- func_stripname '-L' '' "$deplib"
- func_resolve_sysroot "$func_stripname_result"
- func_append newlib_search_path " $func_resolve_sysroot_result"
- ;;
- *)
- func_warning "\`-L' is ignored for archives/objects"
- ;;
- esac # linkmode
- continue
- ;; # -L
- -R*)
- if test "$pass" = link; then
- func_stripname '-R' '' "$deplib"
- func_resolve_sysroot "$func_stripname_result"
- dir=$func_resolve_sysroot_result
- # Make sure the xrpath contains only unique directories.
- case "$xrpath " in
- *" $dir "*) ;;
- *) func_append xrpath " $dir" ;;
- esac
- fi
- deplibs="$deplib $deplibs"
- continue
- ;;
- *.la)
- func_resolve_sysroot "$deplib"
- lib=$func_resolve_sysroot_result
- ;;
- *.$libext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- case $linkmode in
- lib)
- # Linking convenience modules into shared libraries is allowed,
- # but linking other static libraries is non-portable.
- case " $dlpreconveniencelibs " in
- *" $deplib "*) ;;
- *)
- valid_a_lib=no
- case $deplibs_check_method in
- match_pattern*)
- set dummy $deplibs_check_method; shift
- match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
- if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
- fi
- ;;
- pass_all)
- valid_a_lib=yes
- ;;
- esac
- if test "$valid_a_lib" != yes; then
- echo
- $ECHO "*** Warning: Trying to link with static lib archive $deplib."
- echo "*** I have the capability to make that library automatically link in when"
- echo "*** you link to this library. But I can only do this if you have a"
- echo "*** shared version of the library, which you do not appear to have"
- echo "*** because the file extensions .$libext of this argument makes me believe"
- echo "*** that it is just a static archive that I should not use here."
- else
- echo
- $ECHO "*** Warning: Linking the shared library $output against the"
- $ECHO "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
- fi
- ;;
- esac
- continue
- ;;
- prog)
- if test "$pass" != link; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- continue
- ;;
- esac # linkmode
- ;; # *.$libext
- *.lo | *.$objext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- elif test "$linkmode" = prog; then
- if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
- # If there is no dlopen support or we're linking statically,
- # we need to preload.
- func_append newdlprefiles " $deplib"
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- func_append newdlfiles " $deplib"
- fi
- fi
- continue
- ;;
- %DEPLIBS%)
- alldeplibs=yes
- continue
- ;;
- esac # case $deplib
-
- if test "$found" = yes || test -f "$lib"; then :
- else
- func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
- fi
-
- # Check to see that this really is a libtool archive.
- func_lalib_unsafe_p "$lib" \
- || func_fatal_error "\`$lib' is not a valid libtool archive"
-
- func_dirname "$lib" "" "."
- ladir="$func_dirname_result"
-
- dlname=
- dlopen=
- dlpreopen=
- libdir=
- library_names=
- old_library=
- inherited_linker_flags=
- # If the library was installed with an old release of libtool,
- # it will not redefine variables installed, or shouldnotlink
- installed=yes
- shouldnotlink=no
- avoidtemprpath=
-
-
- # Read the .la file
- func_source "$lib"
-
- # Convert "-framework foo" to "foo.ltframework"
- if test -n "$inherited_linker_flags"; then
- tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
- for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
- case " $new_inherited_linker_flags " in
- *" $tmp_inherited_linker_flag "*) ;;
- *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
- esac
- done
- fi
- dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan" ||
- { test "$linkmode" != prog && test "$linkmode" != lib; }; then
- test -n "$dlopen" && func_append dlfiles " $dlopen"
- test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
- fi
-
- if test "$pass" = conv; then
- # Only check for convenience libraries
- deplibs="$lib $deplibs"
- if test -z "$libdir"; then
- if test -z "$old_library"; then
- func_fatal_error "cannot find name of link library for \`$lib'"
- fi
- # It is a libtool convenience library, so add in its objects.
- func_append convenience " $ladir/$objdir/$old_library"
- func_append old_convenience " $ladir/$objdir/$old_library"
- elif test "$linkmode" != prog && test "$linkmode" != lib; then
- func_fatal_error "\`$lib' is not a convenience library"
- fi
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if $opt_preserve_dup_deps ; then
- case "$tmp_libs " in
- *" $deplib "*) func_append specialdeplibs " $deplib" ;;
- esac
- fi
- func_append tmp_libs " $deplib"
- done
- continue
- fi # $pass = conv
-
-
- # Get the name of the library we link against.
- linklib=
- if test -n "$old_library" &&
- { test "$prefer_static_libs" = yes ||
- test "$prefer_static_libs,$installed" = "built,no"; }; then
- linklib=$old_library
- else
- for l in $old_library $library_names; do
- linklib="$l"
- done
- fi
- if test -z "$linklib"; then
- func_fatal_error "cannot find name of link library for \`$lib'"
- fi
-
- # This library was specified with -dlopen.
- if test "$pass" = dlopen; then
- if test -z "$libdir"; then
- func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
- fi
- if test -z "$dlname" ||
- test "$dlopen_support" != yes ||
- test "$build_libtool_libs" = no; then
- # If there is no dlname, no dlopen support or we're linking
- # statically, we need to preload. We also need to preload any
- # dependent libraries so libltdl's deplib preloader doesn't
- # bomb out in the load deplibs phase.
- func_append dlprefiles " $lib $dependency_libs"
- else
- func_append newdlfiles " $lib"
- fi
- continue
- fi # $pass = dlopen
-
- # We need an absolute path.
- case $ladir in
- [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
- *)
- abs_ladir=`cd "$ladir" && pwd`
- if test -z "$abs_ladir"; then
- func_warning "cannot determine absolute directory name of \`$ladir'"
- func_warning "passing it literally to the linker, although it might fail"
- abs_ladir="$ladir"
- fi
- ;;
- esac
- func_basename "$lib"
- laname="$func_basename_result"
-
- # Find the relevant object directory and library name.
- if test "X$installed" = Xyes; then
- if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- func_warning "library \`$lib' was moved."
- dir="$ladir"
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
- dir="$lt_sysroot$libdir"
- absdir="$lt_sysroot$libdir"
- fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- else
- if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- dir="$ladir"
- absdir="$abs_ladir"
- # Remove this search path later
- func_append notinst_path " $abs_ladir"
- else
- dir="$ladir/$objdir"
- absdir="$abs_ladir/$objdir"
- # Remove this search path later
- func_append notinst_path " $abs_ladir"
- fi
- fi # $installed = yes
- func_stripname 'lib' '.la' "$laname"
- name=$func_stripname_result
-
- # This library was specified with -dlpreopen.
- if test "$pass" = dlpreopen; then
- if test -z "$libdir" && test "$linkmode" = prog; then
- func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
- fi
- case "$host" in
- # special handling for platforms with PE-DLLs.
- *cygwin* | *mingw* | *cegcc* )
- # Linker will automatically link against shared library if both
- # static and shared are present. Therefore, ensure we extract
- # symbols from the import library if a shared library is present
- # (otherwise, the dlopen module name will be incorrect). We do
- # this by putting the import library name into $newdlprefiles.
- # We recover the dlopen module name by 'saving' the la file
- # name in a special purpose variable, and (later) extracting the
- # dlname from the la file.
- if test -n "$dlname"; then
- func_tr_sh "$dir/$linklib"
- eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
- func_append newdlprefiles " $dir/$linklib"
- else
- func_append newdlprefiles " $dir/$old_library"
- # Keep a list of preopened convenience libraries to check
- # that they are being used correctly in the link pass.
- test -z "$libdir" && \
- func_append dlpreconveniencelibs " $dir/$old_library"
- fi
- ;;
- * )
- # Prefer using a static library (so that no silly _DYNAMIC symbols
- # are required to link).
- if test -n "$old_library"; then
- func_append newdlprefiles " $dir/$old_library"
- # Keep a list of preopened convenience libraries to check
- # that they are being used correctly in the link pass.
- test -z "$libdir" && \
- func_append dlpreconveniencelibs " $dir/$old_library"
- # Otherwise, use the dlname, so that lt_dlopen finds it.
- elif test -n "$dlname"; then
- func_append newdlprefiles " $dir/$dlname"
- else
- func_append newdlprefiles " $dir/$linklib"
- fi
- ;;
- esac
- fi # $pass = dlpreopen
-
- if test -z "$libdir"; then
- # Link the convenience library
- if test "$linkmode" = lib; then
- deplibs="$dir/$old_library $deplibs"
- elif test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$dir/$old_library $compile_deplibs"
- finalize_deplibs="$dir/$old_library $finalize_deplibs"
- else
- deplibs="$lib $deplibs" # used for prog,scan pass
- fi
- continue
- fi
-
-
- if test "$linkmode" = prog && test "$pass" != link; then
- func_append newlib_search_path " $ladir"
- deplibs="$lib $deplibs"
-
- linkalldeplibs=no
- if test "$link_all_deplibs" != no || test -z "$library_names" ||
- test "$build_libtool_libs" = no; then
- linkalldeplibs=yes
- fi
-
- tmp_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) func_stripname '-L' '' "$deplib"
- func_resolve_sysroot "$func_stripname_result"
- func_append newlib_search_path " $func_resolve_sysroot_result"
- ;;
- esac
- # Need to link against all dependency_libs?
- if test "$linkalldeplibs" = yes; then
- deplibs="$deplib $deplibs"
- else
- # Need to hardcode shared library paths
- # or/and link against static libraries
- newdependency_libs="$deplib $newdependency_libs"
- fi
- if $opt_preserve_dup_deps ; then
- case "$tmp_libs " in
- *" $deplib "*) func_append specialdeplibs " $deplib" ;;
- esac
- fi
- func_append tmp_libs " $deplib"
- done # for deplib
- continue
- fi # $linkmode = prog...
-
- if test "$linkmode,$pass" = "prog,link"; then
- if test -n "$library_names" &&
- { { test "$prefer_static_libs" = no ||
- test "$prefer_static_libs,$installed" = "built,yes"; } ||
- test -z "$old_library"; }; then
- # We need to hardcode the library path
- if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
- # Make sure the rpath contains only unique directories.
- case "$temp_rpath:" in
- *"$absdir:"*) ;;
- *) func_append temp_rpath "$absdir:" ;;
- esac
- fi
-
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) func_append compile_rpath " $absdir" ;;
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) func_append finalize_rpath " $libdir" ;;
- esac
- ;;
- esac
- fi # $linkmode,$pass = prog,link...
-
- if test "$alldeplibs" = yes &&
- { test "$deplibs_check_method" = pass_all ||
- { test "$build_libtool_libs" = yes &&
- test -n "$library_names"; }; }; then
- # We only need to search for static libraries
- continue
- fi
- fi
-
- link_static=no # Whether the deplib will be linked statically
- use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes; then
- use_static_libs=no
- fi
- if test -n "$library_names" &&
- { test "$use_static_libs" = no || test -z "$old_library"; }; then
- case $host in
- *cygwin* | *mingw* | *cegcc*)
- # No point in relinking DLLs because paths are not encoded
- func_append notinst_deplibs " $lib"
- need_relink=no
- ;;
- *)
- if test "$installed" = no; then
- func_append notinst_deplibs " $lib"
- need_relink=yes
- fi
- ;;
- esac
- # This is a shared library
-
- # Warn about portability, can't link against -module's on some
- # systems (darwin). Don't bleat about dlopened modules though!
- dlopenmodule=""
- for dlpremoduletest in $dlprefiles; do
- if test "X$dlpremoduletest" = "X$lib"; then
- dlopenmodule="$dlpremoduletest"
- break
- fi
- done
- if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
- echo
- if test "$linkmode" = prog; then
- $ECHO "*** Warning: Linking the executable $output against the loadable module"
- else
- $ECHO "*** Warning: Linking the shared library $output against the loadable module"
- fi
- $ECHO "*** $linklib is not portable!"
- fi
- if test "$linkmode" = lib &&
- test "$hardcode_into_libs" = yes; then
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) func_append compile_rpath " $absdir" ;;
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) func_append finalize_rpath " $libdir" ;;
- esac
- ;;
- esac
- fi
-
- if test -n "$old_archive_from_expsyms_cmds"; then
- # figure out the soname
- set dummy $library_names
- shift
- realname="$1"
- shift
- libname=`eval "\\$ECHO \"$libname_spec\""`
- # use dlname if we got it. it's perfectly good, no?
- if test -n "$dlname"; then
- soname="$dlname"
- elif test -n "$soname_spec"; then
- # bleh windows
- case $host in
- *cygwin* | mingw* | *cegcc*)
- func_arith $current - $age
- major=$func_arith_result
- versuffix="-$major"
- ;;
- esac
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
-
- # Make a new name for the extract_expsyms_cmds to use
- soroot="$soname"
- func_basename "$soroot"
- soname="$func_basename_result"
- func_stripname 'lib' '.dll' "$soname"
- newlib=libimp-$func_stripname_result.a
-
- # If the library has no export list, then create one now
- if test -f "$output_objdir/$soname-def"; then :
- else
- func_verbose "extracting exported symbol list from \`$soname'"
- func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
- fi
-
- # Create $newlib
- if test -f "$output_objdir/$newlib"; then :; else
- func_verbose "generating import library for \`$soname'"
- func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
- fi
- # make sure the library variables are pointing to the new library
- dir=$output_objdir
- linklib=$newlib
- fi # test -n "$old_archive_from_expsyms_cmds"
-
- if test "$linkmode" = prog || test "$opt_mode" != relink; then
- add_shlibpath=
- add_dir=
- add=
- lib_linked=yes
- case $hardcode_action in
- immediate | unsupported)
- if test "$hardcode_direct" = no; then
- add="$dir/$linklib"
- case $host in
- *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
- *-*-sysv4*uw2*) add_dir="-L$dir" ;;
- *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
- *-*-unixware7*) add_dir="-L$dir" ;;
- *-*-darwin* )
- # if the lib is a (non-dlopened) module then we can not
- # link against it, someone is ignoring the earlier warnings
- if /usr/bin/file -L $add 2> /dev/null |
- $GREP ": [^:]* bundle" >/dev/null ; then
- if test "X$dlopenmodule" != "X$lib"; then
- $ECHO "*** Warning: lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
- echo
- echo "*** And there doesn't seem to be a static archive available"
- echo "*** The link will probably fail, sorry"
- else
- add="$dir/$old_library"
- fi
- elif test -n "$old_library"; then
- add="$dir/$old_library"
- fi
- fi
- esac
- elif test "$hardcode_minus_L" = no; then
- case $host in
- *-*-sunos*) add_shlibpath="$dir" ;;
- esac
- add_dir="-L$dir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- relink)
- if test "$hardcode_direct" = yes &&
- test "$hardcode_direct_absolute" = no; then
- add="$dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$absdir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- func_append add_dir " -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- *) lib_linked=no ;;
- esac
-
- if test "$lib_linked" != yes; then
- func_fatal_configuration "unsupported hardcode properties"
- fi
-
- if test -n "$add_shlibpath"; then
- case :$compile_shlibpath: in
- *":$add_shlibpath:"*) ;;
- *) func_append compile_shlibpath "$add_shlibpath:" ;;
- esac
- fi
- if test "$linkmode" = prog; then
- test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
- test -n "$add" && compile_deplibs="$add $compile_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes &&
- test "$hardcode_minus_L" != yes &&
- test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) func_append finalize_shlibpath "$libdir:" ;;
- esac
- fi
- fi
- fi
-
- if test "$linkmode" = prog || test "$opt_mode" = relink; then
- add_shlibpath=
- add_dir=
- add=
- # Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes &&
- test "$hardcode_direct_absolute" = no; then
- add="$libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$libdir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) func_append finalize_shlibpath "$libdir:" ;;
- esac
- add="-l$name"
- elif test "$hardcode_automatic" = yes; then
- if test -n "$inst_prefix_dir" &&
- test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
- else
- add="$libdir/$linklib"
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- func_append add_dir " -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- fi
-
- if test "$linkmode" = prog; then
- test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
- test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- fi
- fi
- elif test "$linkmode" = prog; then
- # Here we assume that one of hardcode_direct or hardcode_minus_L
- # is not unsupported. This is valid on all known static and
- # shared platforms.
- if test "$hardcode_direct" != unsupported; then
- test -n "$old_library" && linklib="$old_library"
- compile_deplibs="$dir/$linklib $compile_deplibs"
- finalize_deplibs="$dir/$linklib $finalize_deplibs"
- else
- compile_deplibs="-l$name -L$dir $compile_deplibs"
- finalize_deplibs="-l$name -L$dir $finalize_deplibs"
- fi
- elif test "$build_libtool_libs" = yes; then
- # Not a shared library
- if test "$deplibs_check_method" != pass_all; then
- # We're trying link a shared library against a static one
- # but the system doesn't support it.
-
- # Just print a warning and add the library to dependency_libs so
- # that the program can be linked against the static library.
- echo
- $ECHO "*** Warning: This system can not link to static lib archive $lib."
- echo "*** I have the capability to make that library automatically link in when"
- echo "*** you link to this library. But I can only do this if you have a"
- echo "*** shared version of the library, which you do not appear to have."
- if test "$module" = yes; then
- echo "*** But as you try to build a module library, libtool will still create "
- echo "*** a static module, that should work as long as the dlopening application"
- echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
- if test -z "$global_symbol_pipe"; then
- echo
- echo "*** However, this would only work if libtool was able to extract symbol"
- echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- echo "*** not find such a program. So, this module is probably useless."
- echo "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- else
- deplibs="$dir/$old_library $deplibs"
- link_static=yes
- fi
- fi # link shared/static library?
-
- if test "$linkmode" = lib; then
- if test -n "$dependency_libs" &&
- { test "$hardcode_into_libs" != yes ||
- test "$build_old_libs" = yes ||
- test "$link_static" = yes; }; then
- # Extract -R from dependency_libs
- temp_deplibs=
- for libdir in $dependency_libs; do
- case $libdir in
- -R*) func_stripname '-R' '' "$libdir"
- temp_xrpath=$func_stripname_result
- case " $xrpath " in
- *" $temp_xrpath "*) ;;
- *) func_append xrpath " $temp_xrpath";;
- esac;;
- *) func_append temp_deplibs " $libdir";;
- esac
- done
- dependency_libs="$temp_deplibs"
- fi
-
- func_append newlib_search_path " $absdir"
- # Link against this library
- test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
- # ... and its dependency_libs
- tmp_libs=
- for deplib in $dependency_libs; do
- newdependency_libs="$deplib $newdependency_libs"
- case $deplib in
- -L*) func_stripname '-L' '' "$deplib"
- func_resolve_sysroot "$func_stripname_result";;
- *) func_resolve_sysroot "$deplib" ;;
- esac
- if $opt_preserve_dup_deps ; then
- case "$tmp_libs " in
- *" $func_resolve_sysroot_result "*)
- func_append specialdeplibs " $func_resolve_sysroot_result" ;;
- esac
- fi
- func_append tmp_libs " $func_resolve_sysroot_result"
- done
-
- if test "$link_all_deplibs" != no; then
- # Add the search paths of all dependency libraries
- for deplib in $dependency_libs; do
- path=
- case $deplib in
- -L*) path="$deplib" ;;
- *.la)
- func_resolve_sysroot "$deplib"
- deplib=$func_resolve_sysroot_result
- func_dirname "$deplib" "" "."
- dir=$func_dirname_result
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- func_warning "cannot determine absolute directory name of \`$dir'"
- absdir="$dir"
- fi
- ;;
- esac
- if $GREP "^installed=no" $deplib > /dev/null; then
- case $host in
- *-*-darwin*)
- depdepl=
- eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- if test -n "$deplibrary_names" ; then
- for tmp in $deplibrary_names ; do
- depdepl=$tmp
- done
- if test -f "$absdir/$objdir/$depdepl" ; then
- depdepl="$absdir/$objdir/$depdepl"
- darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
- if test -z "$darwin_install_name"; then
- darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
- fi
- func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
- func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
- path=
- fi
- fi
- ;;
- *)
- path="-L$absdir/$objdir"
- ;;
- esac
- else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- test -z "$libdir" && \
- func_fatal_error "\`$deplib' is not a valid libtool archive"
- test "$absdir" != "$libdir" && \
- func_warning "\`$deplib' seems to be moved"
-
- path="-L$absdir"
- fi
- ;;
- esac
- case " $deplibs " in
- *" $path "*) ;;
- *) deplibs="$path $deplibs" ;;
- esac
- done
- fi # link_all_deplibs != no
- fi # linkmode = lib
- done # for deplib in $libs
- if test "$pass" = link; then
- if test "$linkmode" = "prog"; then
- compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
- finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
- else
- compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
- fi
- fi
- dependency_libs="$newdependency_libs"
- if test "$pass" = dlpreopen; then
- # Link the dlpreopened libraries before other libraries
- for deplib in $save_deplibs; do
- deplibs="$deplib $deplibs"
- done
- fi
- if test "$pass" != dlopen; then
- if test "$pass" != conv; then
- # Make sure lib_search_path contains only unique directories.
- lib_search_path=
- for dir in $newlib_search_path; do
- case "$lib_search_path " in
- *" $dir "*) ;;
- *) func_append lib_search_path " $dir" ;;
- esac
- done
- newlib_search_path=
- fi
-
- if test "$linkmode,$pass" != "prog,link"; then
- vars="deplibs"
- else
- vars="compile_deplibs finalize_deplibs"
- fi
- for var in $vars dependency_libs; do
- # Add libraries to $var in reverse order
- eval tmp_libs=\"\$$var\"
- new_libs=
- for deplib in $tmp_libs; do
- # FIXME: Pedantically, this is the right thing to do, so
- # that some nasty dependency loop isn't accidentally
- # broken:
- #new_libs="$deplib $new_libs"
- # Pragmatically, this seems to cause very few problems in
- # practice:
- case $deplib in
- -L*) new_libs="$deplib $new_libs" ;;
- -R*) ;;
- *)
- # And here is the reason: when a library appears more
- # than once as an explicit dependence of a library, or
- # is implicitly linked in more than once by the
- # compiler, it is considered special, and multiple
- # occurrences thereof are not removed. Compare this
- # with having the same library being listed as a
- # dependency of multiple other libraries: in this case,
- # we know (pedantically, we assume) the library does not
- # need to be listed more than once, so we keep only the
- # last copy. This is not always right, but it is rare
- # enough that we require users that really mean to play
- # such unportable linking tricks to link the library
- # using -Wl,-lname, so that libtool does not consider it
- # for duplicate removal.
- case " $specialdeplibs " in
- *" $deplib "*) new_libs="$deplib $new_libs" ;;
- *)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$deplib $new_libs" ;;
- esac
- ;;
- esac
- ;;
- esac
- done
- tmp_libs=
- for deplib in $new_libs; do
- case $deplib in
- -L*)
- case " $tmp_libs " in
- *" $deplib "*) ;;
- *) func_append tmp_libs " $deplib" ;;
- esac
- ;;
- *) func_append tmp_libs " $deplib" ;;
- esac
- done
- eval $var=\"$tmp_libs\"
- done # for var
- fi
- # Last step: remove runtime libs from dependency_libs
- # (they stay in deplibs)
- tmp_libs=
- for i in $dependency_libs ; do
- case " $predeps $postdeps $compiler_lib_search_path " in
- *" $i "*)
- i=""
- ;;
- esac
- if test -n "$i" ; then
- func_append tmp_libs " $i"
- fi
- done
- dependency_libs=$tmp_libs
- done # for pass
- if test "$linkmode" = prog; then
- dlfiles="$newdlfiles"
- fi
- if test "$linkmode" = prog || test "$linkmode" = lib; then
- dlprefiles="$newdlprefiles"
- fi
-
- case $linkmode in
- oldlib)
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- func_warning "\`-dlopen' is ignored for archives"
- fi
-
- case " $deplibs" in
- *\ -l* | *\ -L*)
- func_warning "\`-l' and \`-L' are ignored for archives" ;;
- esac
-
- test -n "$rpath" && \
- func_warning "\`-rpath' is ignored for archives"
-
- test -n "$xrpath" && \
- func_warning "\`-R' is ignored for archives"
-
- test -n "$vinfo" && \
- func_warning "\`-version-info/-version-number' is ignored for archives"
-
- test -n "$release" && \
- func_warning "\`-release' is ignored for archives"
-
- test -n "$export_symbols$export_symbols_regex" && \
- func_warning "\`-export-symbols' is ignored for archives"
-
- # Now set the variables for building old libraries.
- build_libtool_libs=no
- oldlibs="$output"
- func_append objs "$old_deplibs"
- ;;
-
- lib)
- # Make sure we only generate libraries of the form `libNAME.la'.
- case $outputname in
- lib*)
- func_stripname 'lib' '.la' "$outputname"
- name=$func_stripname_result
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- ;;
- *)
- test "$module" = no && \
- func_fatal_help "libtool library \`$output' must begin with \`lib'"
-
- if test "$need_lib_prefix" != no; then
- # Add the "lib" prefix for modules if required
- func_stripname '' '.la' "$outputname"
- name=$func_stripname_result
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- else
- func_stripname '' '.la' "$outputname"
- libname=$func_stripname_result
- fi
- ;;
- esac
-
- if test -n "$objs"; then
- if test "$deplibs_check_method" != pass_all; then
- func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
- else
- echo
- $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
- $ECHO "*** objects $objs is not portable!"
- func_append libobjs " $objs"
- fi
- fi
-
- test "$dlself" != no && \
- func_warning "\`-dlopen self' is ignored for libtool libraries"
-
- set dummy $rpath
- shift
- test "$#" -gt 1 && \
- func_warning "ignoring multiple \`-rpath's for a libtool library"
-
- install_libdir="$1"
-
- oldlibs=
- if test -z "$rpath"; then
- if test "$build_libtool_libs" = yes; then
- # Building a libtool convenience library.
- # Some compilers have problems with a `.al' extension so
- # convenience libraries should have the same extension an
- # archive normally would.
- oldlibs="$output_objdir/$libname.$libext $oldlibs"
- build_libtool_libs=convenience
- build_old_libs=yes
- fi
-
- test -n "$vinfo" && \
- func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
-
- test -n "$release" && \
- func_warning "\`-release' is ignored for convenience libraries"
- else
-
- # Parse the version information argument.
- save_ifs="$IFS"; IFS=':'
- set dummy $vinfo 0 0 0
- shift
- IFS="$save_ifs"
-
- test -n "$7" && \
- func_fatal_help "too many parameters to \`-version-info'"
-
- # convert absolute version numbers to libtool ages
- # this retains compatibility with .la files and attempts
- # to make the code below a bit more comprehensible
-
- case $vinfo_number in
- yes)
- number_major="$1"
- number_minor="$2"
- number_revision="$3"
- #
- # There are really only two kinds -- those that
- # use the current revision as the major version
- # and those that subtract age and use age as
- # a minor version. But, then there is irix
- # which has an extra 1 added just for fun
- #
- case $version_type in
- # correct linux to gnu/linux during the next big refactor
- darwin|linux|osf|windows|none)
- func_arith $number_major + $number_minor
- current=$func_arith_result
- age="$number_minor"
- revision="$number_revision"
- ;;
- freebsd-aout|freebsd-elf|qnx|sunos)
- current="$number_major"
- revision="$number_minor"
- age="0"
- ;;
- irix|nonstopux)
- func_arith $number_major + $number_minor
- current=$func_arith_result
- age="$number_minor"
- revision="$number_minor"
- lt_irix_increment=no
- ;;
- esac
- ;;
- no)
- current="$1"
- revision="$2"
- age="$3"
- ;;
- esac
-
- # Check that each of the things are valid numbers.
- case $current in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- func_error "CURRENT \`$current' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
- ;;
- esac
-
- case $revision in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- func_error "REVISION \`$revision' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
- ;;
- esac
-
- case $age in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- func_error "AGE \`$age' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
- ;;
- esac
-
- if test "$age" -gt "$current"; then
- func_error "AGE \`$age' is greater than the current interface number \`$current'"
- func_fatal_error "\`$vinfo' is not valid version information"
- fi
-
- # Calculate the version variables.
- major=
- versuffix=
- verstring=
- case $version_type in
- none) ;;
-
- darwin)
- # Like Linux, but with the current version available in
- # verstring for coding it into the library header
- func_arith $current - $age
- major=.$func_arith_result
- versuffix="$major.$age.$revision"
- # Darwin ld doesn't like 0 for these options...
- func_arith $current + 1
- minor_current=$func_arith_result
- xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
- verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
- ;;
-
- freebsd-aout)
- major=".$current"
- versuffix=".$current.$revision";
- ;;
-
- freebsd-elf)
- major=".$current"
- versuffix=".$current"
- ;;
-
- irix | nonstopux)
- if test "X$lt_irix_increment" = "Xno"; then
- func_arith $current - $age
- else
- func_arith $current - $age + 1
- fi
- major=$func_arith_result
-
- case $version_type in
- nonstopux) verstring_prefix=nonstopux ;;
- *) verstring_prefix=sgi ;;
- esac
- verstring="$verstring_prefix$major.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$revision
- while test "$loop" -ne 0; do
- func_arith $revision - $loop
- iface=$func_arith_result
- func_arith $loop - 1
- loop=$func_arith_result
- verstring="$verstring_prefix$major.$iface:$verstring"
- done
-
- # Before this point, $major must not contain `.'.
- major=.$major
- versuffix="$major.$revision"
- ;;
-
- linux) # correct to gnu/linux during the next big refactor
- func_arith $current - $age
- major=.$func_arith_result
- versuffix="$major.$age.$revision"
- ;;
-
- osf)
- func_arith $current - $age
- major=.$func_arith_result
- versuffix=".$current.$age.$revision"
- verstring="$current.$age.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$age
- while test "$loop" -ne 0; do
- func_arith $current - $loop
- iface=$func_arith_result
- func_arith $loop - 1
- loop=$func_arith_result
- verstring="$verstring:${iface}.0"
- done
-
- # Make executables depend on our current version.
- func_append verstring ":${current}.0"
- ;;
-
- qnx)
- major=".$current"
- versuffix=".$current"
- ;;
-
- sunos)
- major=".$current"
- versuffix=".$current.$revision"
- ;;
-
- windows)
- # Use '-' rather than '.', since we only want one
- # extension on DOS 8.3 filesystems.
- func_arith $current - $age
- major=$func_arith_result
- versuffix="-$major"
- ;;
-
- *)
- func_fatal_configuration "unknown library version type \`$version_type'"
- ;;
- esac
-
- # Clear the version info if we defaulted, and they specified a release.
- if test -z "$vinfo" && test -n "$release"; then
- major=
- case $version_type in
- darwin)
- # we can't check for "0.0" in archive_cmds due to quoting
- # problems, so we reset it completely
- verstring=
- ;;
- *)
- verstring="0.0"
- ;;
- esac
- if test "$need_version" = no; then
- versuffix=
- else
- versuffix=".0.0"
- fi
- fi
-
- # Remove version info from name if versioning should be avoided
- if test "$avoid_version" = yes && test "$need_version" = no; then
- major=
- versuffix=
- verstring=""
- fi
-
- # Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- func_warning "undefined symbols not allowed in $host shared libraries"
- build_libtool_libs=no
- build_old_libs=yes
- fi
- else
- # Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
- fi
-
- fi
-
- func_generate_dlsyms "$libname" "$libname" "yes"
- func_append libobjs " $symfileobj"
- test "X$libobjs" = "X " && libobjs=
-
- if test "$opt_mode" != relink; then
- # Remove our outputs, but don't remove object files since they
- # may have been created when compiling PIC objects.
- removelist=
- tempremovelist=`$ECHO "$output_objdir/*"`
- for p in $tempremovelist; do
- case $p in
- *.$objext | *.gcno)
- ;;
- $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
- if test "X$precious_files_regex" != "X"; then
- if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
- then
- continue
- fi
- fi
- func_append removelist " $p"
- ;;
- *) ;;
- esac
- done
- test -n "$removelist" && \
- func_show_eval "${RM}r \$removelist"
- fi
-
- # Now set the variables for building old libraries.
- if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
- func_append oldlibs " $output_objdir/$libname.$libext"
-
- # Transform .lo files to .o files.
- oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
- fi
-
- # Eliminate all temporary directories.
- #for path in $notinst_path; do
- # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
- # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
- # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
- #done
-
- if test -n "$xrpath"; then
- # If the user specified any rpath flags, then add them.
- temp_xrpath=
- for libdir in $xrpath; do
- func_replace_sysroot "$libdir"
- func_append temp_xrpath " -R$func_replace_sysroot_result"
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) func_append finalize_rpath " $libdir" ;;
- esac
- done
- if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
- dependency_libs="$temp_xrpath $dependency_libs"
- fi
- fi
-
- # Make sure dlfiles contains only unique files that won't be dlpreopened
- old_dlfiles="$dlfiles"
- dlfiles=
- for lib in $old_dlfiles; do
- case " $dlprefiles $dlfiles " in
- *" $lib "*) ;;
- *) func_append dlfiles " $lib" ;;
- esac
- done
-
- # Make sure dlprefiles contains only unique files
- old_dlprefiles="$dlprefiles"
- dlprefiles=
- for lib in $old_dlprefiles; do
- case "$dlprefiles " in
- *" $lib "*) ;;
- *) func_append dlprefiles " $lib" ;;
- esac
- done
-
- if test "$build_libtool_libs" = yes; then
- if test -n "$rpath"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
- # these systems don't actually have a c library (as such)!
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C library is in the System framework
- func_append deplibs " System.ltframework"
- ;;
- *-*-netbsd*)
- # Don't link with libc until the a.out ld.so is fixed.
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- ;;
- *)
- # Add libc to deplibs on all other systems if necessary.
- if test "$build_libtool_need_lc" = "yes"; then
- func_append deplibs " -lc"
- fi
- ;;
- esac
- fi
-
- # Transform deplibs into only deplibs that can be linked in shared.
- name_save=$name
- libname_save=$libname
- release_save=$release
- versuffix_save=$versuffix
- major_save=$major
- # I'm not sure if I'm treating the release correctly. I think
- # release should show up in the -l (ie -lgmp5) so we don't want to
- # add it in twice. Is that correct?
- release=""
- versuffix=""
- major=""
- newdeplibs=
- droppeddeps=no
- case $deplibs_check_method in
- pass_all)
- # Don't check for shared/static. Everything works.
- # This might be a little naive. We might want to check
- # whether the library exists or not. But this is on
- # osf3 & osf4 and I'm not really sure... Just
- # implementing what was already the behavior.
- newdeplibs=$deplibs
- ;;
- test_compile)
- # This code stresses the "libraries are programs" paradigm to its
- # limits. Maybe even breaks it. We compile a program, linking it
- # against the deplibs as a proxy for the library. Then we can check
- # whether they linked in statically or dynamically with ldd.
- $opt_dry_run || $RM conftest.c
- cat > conftest.c <<EOF
- int main() { return 0; }
-EOF
- $opt_dry_run || $RM conftest
- if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
- ldd_output=`ldd conftest`
- for i in $deplibs; do
- case $i in
- -l*)
- func_stripname -l '' "$i"
- name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- func_append newdeplibs " $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval "\\$ECHO \"$libname_spec\""`
- deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
- set dummy $deplib_matches; shift
- deplib_match=$1
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- func_append newdeplibs " $i"
- else
- droppeddeps=yes
- echo
- $ECHO "*** Warning: dynamic linker does not accept needed library $i."
- echo "*** I have the capability to make that library automatically link in when"
- echo "*** you link to this library. But I can only do this if you have a"
- echo "*** shared version of the library, which I believe you do not have"
- echo "*** because a test_compile did reveal that the linker did not use it for"
- echo "*** its dynamic dependency list that programs get resolved with at runtime."
- fi
- fi
- ;;
- *)
- func_append newdeplibs " $i"
- ;;
- esac
- done
- else
- # Error occurred in the first compile. Let's try to salvage
- # the situation: Compile a separate program for each library.
- for i in $deplibs; do
- case $i in
- -l*)
- func_stripname -l '' "$i"
- name=$func_stripname_result
- $opt_dry_run || $RM conftest
- if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
- ldd_output=`ldd conftest`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- func_append newdeplibs " $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval "\\$ECHO \"$libname_spec\""`
- deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
- set dummy $deplib_matches; shift
- deplib_match=$1
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- func_append newdeplibs " $i"
- else
- droppeddeps=yes
- echo
- $ECHO "*** Warning: dynamic linker does not accept needed library $i."
- echo "*** I have the capability to make that library automatically link in when"
- echo "*** you link to this library. But I can only do this if you have a"
- echo "*** shared version of the library, which you do not appear to have"
- echo "*** because a test_compile did reveal that the linker did not use this one"
- echo "*** as a dynamic dependency that programs can get resolved with at runtime."
- fi
- fi
- else
- droppeddeps=yes
- echo
- $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
- echo "*** make it link in! You will probably need to install it or some"
- echo "*** library that it depends on before this library will be fully"
- echo "*** functional. Installing it before continuing would be even better."
- fi
- ;;
- *)
- func_append newdeplibs " $i"
- ;;
- esac
- done
- fi
- ;;
- file_magic*)
- set dummy $deplibs_check_method; shift
- file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
- for a_deplib in $deplibs; do
- case $a_deplib in
- -l*)
- func_stripname -l '' "$a_deplib"
- name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- func_append newdeplibs " $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval "\\$ECHO \"$libname_spec\""`
- if test -n "$file_magic_glob"; then
- libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
- else
- libnameglob=$libname
- fi
- test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- if test "$want_nocaseglob" = yes; then
- shopt -s nocaseglob
- potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
- $nocaseglob
- else
- potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
- fi
- for potent_lib in $potential_libs; do
- # Follow soft links.
- if ls -lLd "$potent_lib" 2>/dev/null |
- $GREP " -> " >/dev/null; then
- continue
- fi
- # The statement above tries to avoid entering an
- # endless loop below, in case of cyclic links.
- # We might still enter an endless loop, since a link
- # loop can be closed while we follow links,
- # but so what?
- potlib="$potent_lib"
- while test -h "$potlib" 2>/dev/null; do
- potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
- case $potliblink in
- [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
- esac
- done
- if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
- $SED -e 10q |
- $EGREP "$file_magic_regex" > /dev/null; then
- func_append newdeplibs " $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- echo
- $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
- echo "*** I have the capability to make that library automatically link in when"
- echo "*** you link to this library. But I can only do this if you have a"
- echo "*** shared version of the library, which you do not appear to have"
- echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
- else
- $ECHO "*** with $libname and none of the candidates passed a file format test"
- $ECHO "*** using a file magic. Last file checked: $potlib"
- fi
- fi
- ;;
- *)
- # Add a -L argument.
- func_append newdeplibs " $a_deplib"
- ;;
- esac
- done # Gone through all deplibs.
- ;;
- match_pattern*)
- set dummy $deplibs_check_method; shift
- match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
- for a_deplib in $deplibs; do
- case $a_deplib in
- -l*)
- func_stripname -l '' "$a_deplib"
- name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- func_append newdeplibs " $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval "\\$ECHO \"$libname_spec\""`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
- $EGREP "$match_pattern_regex" > /dev/null; then
- func_append newdeplibs " $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- echo
- $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
- echo "*** I have the capability to make that library automatically link in when"
- echo "*** you link to this library. But I can only do this if you have a"
- echo "*** shared version of the library, which you do not appear to have"
- echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
- else
- $ECHO "*** with $libname and none of the candidates passed a file format test"
- $ECHO "*** using a regex pattern. Last file checked: $potlib"
- fi
- fi
- ;;
- *)
- # Add a -L argument.
- func_append newdeplibs " $a_deplib"
- ;;
- esac
- done # Gone through all deplibs.
- ;;
- none | unknown | *)
- newdeplibs=""
- tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- for i in $predeps $postdeps ; do
- # can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
- done
- fi
- case $tmp_deplibs in
- *[!\ \ ]*)
- echo
- if test "X$deplibs_check_method" = "Xnone"; then
- echo "*** Warning: inter-library dependencies are not supported in this platform."
- else
- echo "*** Warning: inter-library dependencies are not known to be supported."
- fi
- echo "*** All declared inter-library dependencies are being dropped."
- droppeddeps=yes
- ;;
- esac
- ;;
- esac
- versuffix=$versuffix_save
- major=$major_save
- release=$release_save
- libname=$libname_save
- name=$name_save
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library with the System framework
- newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
- ;;
- esac
-
- if test "$droppeddeps" = yes; then
- if test "$module" = yes; then
- echo
- echo "*** Warning: libtool could not satisfy all declared inter-library"
- $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
- echo "*** a static module, that should work as long as the dlopening"
- echo "*** application is linked with the -dlopen flag."
- if test -z "$global_symbol_pipe"; then
- echo
- echo "*** However, this would only work if libtool was able to extract symbol"
- echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- echo "*** not find such a program. So, this module is probably useless."
- echo "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- else
- echo "*** The inter-library dependencies that have been dropped here will be"
- echo "*** automatically added whenever a program is linked with this library"
- echo "*** or is declared to -dlopen it."
-
- if test "$allow_undefined" = no; then
- echo
- echo "*** Since this library must not contain undefined symbols,"
- echo "*** because either the platform does not support them or"
- echo "*** it was explicitly requested with -no-undefined,"
- echo "*** libtool will only create a static version of it."
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- fi
- fi
- # Done checking deplibs!
- deplibs=$newdeplibs
- fi
- # Time to change all our "foo.ltframework" stuff back to "-framework foo"
- case $host in
- *-*-darwin*)
- newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
- new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
- deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
- ;;
- esac
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $deplibs " in
- *" -L$path/$objdir "*)
- func_append new_libs " -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) func_append new_libs " $deplib" ;;
- esac
- ;;
- *) func_append new_libs " $deplib" ;;
- esac
- done
- deplibs="$new_libs"
-
- # All the library-specific variables (install_libdir is set above).
- library_names=
- old_library=
- dlname=
-
- # Test again, we may have decided not to build it any more
- if test "$build_libtool_libs" = yes; then
- # Remove ${wl} instances when linking with ld.
- # FIXME: should test the right _cmds variable.
- case $archive_cmds in
- *\$LD\ *) wl= ;;
- esac
- if test "$hardcode_into_libs" = yes; then
- # Hardcode the library paths
- hardcode_libdirs=
- dep_rpath=
- rpath="$finalize_rpath"
- test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
- for libdir in $rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- func_replace_sysroot "$libdir"
- libdir=$func_replace_sysroot_result
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- func_append dep_rpath " $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) func_append perm_rpath " $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
- fi
- if test -n "$runpath_var" && test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- func_append rpath "$dir:"
- done
- eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
- fi
- test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
- fi
-
- shlibpath="$finalize_shlibpath"
- test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
- if test -n "$shlibpath"; then
- eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
- fi
-
- # Get the real and link names of the library.
- eval shared_ext=\"$shrext_cmds\"
- eval library_names=\"$library_names_spec\"
- set dummy $library_names
- shift
- realname="$1"
- shift
-
- if test -n "$soname_spec"; then
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
- if test -z "$dlname"; then
- dlname=$soname
- fi
-
- lib="$output_objdir/$realname"
- linknames=
- for link
- do
- func_append linknames " $link"
- done
-
- # Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
- test "X$libobjs" = "X " && libobjs=
-
- delfiles=
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
- export_symbols="$output_objdir/$libname.uexp"
- func_append delfiles " $export_symbols"
- fi
-
- orig_export_symbols=
- case $host_os in
- cygwin* | mingw* | cegcc*)
- if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
- # exporting using user supplied symfile
- if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
- # and it's NOT already a .def file. Must figure out
- # which of the given symbols are data symbols and tag
- # them as such. So, trigger use of export_symbols_cmds.
- # export_symbols gets reassigned inside the "prepare
- # the list of exported symbols" if statement, so the
- # include_expsyms logic still works.
- orig_export_symbols="$export_symbols"
- export_symbols=
- always_export_symbols=yes
- fi
- fi
- ;;
- esac
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- func_verbose "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $opt_dry_run || $RM $export_symbols
- cmds=$export_symbols_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd1 in $cmds; do
- IFS="$save_ifs"
- # Take the normal branch if the nm_file_list_spec branch
- # doesn't work or if tool conversion is not needed.
- case $nm_file_list_spec~$to_tool_file_cmd in
- *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
- try_normal_branch=yes
- eval cmd=\"$cmd1\"
- func_len " $cmd"
- len=$func_len_result
- ;;
- *)
- try_normal_branch=no
- ;;
- esac
- if test "$try_normal_branch" = yes \
- && { test "$len" -lt "$max_cmd_len" \
- || test "$max_cmd_len" -le -1; }
- then
- func_show_eval "$cmd" 'exit $?'
- skipped_export=false
- elif test -n "$nm_file_list_spec"; then
- func_basename "$output"
- output_la=$func_basename_result
- save_libobjs=$libobjs
- save_output=$output
- output=${output_objdir}/${output_la}.nm
- func_to_tool_file "$output"
- libobjs=$nm_file_list_spec$func_to_tool_file_result
- func_append delfiles " $output"
- func_verbose "creating $NM input file list: $output"
- for obj in $save_libobjs; do
- func_to_tool_file "$obj"
- $ECHO "$func_to_tool_file_result"
- done > "$output"
- eval cmd=\"$cmd1\"
- func_show_eval "$cmd" 'exit $?'
- output=$save_output
- libobjs=$save_libobjs
- skipped_export=false
- else
- # The command line is too long to execute in one step.
- func_verbose "using reloadable object file for export list..."
- skipped_export=:
- # Break out early, otherwise skipped_export may be
- # set to false by a later but shorter cmd.
- break
- fi
- done
- IFS="$save_ifs"
- if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
- func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
- fi
- fi
- fi
-
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- tmp_export_symbols="$export_symbols"
- test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
- $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
- fi
-
- if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
- # The given exports_symbols file has to be filtered, so filter it.
- func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
- # FIXME: $output_objdir/$libname.filter potentially contains lots of
- # 's' commands which not all seds can handle. GNU sed should be fine
- # though. Also, the filter scales superlinearly with the number of
- # global variables. join(1) would be nice here, but unfortunately
- # isn't a blessed tool.
- $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
- func_append delfiles " $export_symbols $output_objdir/$libname.filter"
- export_symbols=$output_objdir/$libname.def
- $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
- fi
-
- tmp_deplibs=
- for test_deplib in $deplibs; do
- case " $convenience " in
- *" $test_deplib "*) ;;
- *)
- func_append tmp_deplibs " $test_deplib"
- ;;
- esac
- done
- deplibs="$tmp_deplibs"
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec" &&
- test "$compiler_needs_object" = yes &&
- test -z "$libobjs"; then
- # extract the archives, so we have objects to list.
- # TODO: could optimize this to just extract one archive.
- whole_archive_flag_spec=
- fi
- if test -n "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- test "X$libobjs" = "X " && libobjs=
- else
- gentop="$output_objdir/${outputname}x"
- func_append generated " $gentop"
-
- func_extract_archives $gentop $convenience
- func_append libobjs " $func_extract_archives_result"
- test "X$libobjs" = "X " && libobjs=
- fi
- fi
-
- if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
- eval flag=\"$thread_safe_flag_spec\"
- func_append linker_flags " $flag"
- fi
-
- # Make a backup of the uninstalled library when relinking
- if test "$opt_mode" = relink; then
- $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
- fi
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- eval test_cmds=\"$module_expsym_cmds\"
- cmds=$module_expsym_cmds
- else
- eval test_cmds=\"$module_cmds\"
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- eval test_cmds=\"$archive_expsym_cmds\"
- cmds=$archive_expsym_cmds
- else
- eval test_cmds=\"$archive_cmds\"
- cmds=$archive_cmds
- fi
- fi
-
- if test "X$skipped_export" != "X:" &&
- func_len " $test_cmds" &&
- len=$func_len_result &&
- test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- :
- else
- # The command line is too long to link in one step, link piecewise
- # or, if using GNU ld and skipped_export is not :, use a linker
- # script.
-
- # Save the value of $output and $libobjs because we want to
- # use them later. If we have whole_archive_flag_spec, we
- # want to use save_libobjs as it was before
- # whole_archive_flag_spec was expanded, because we can't
- # assume the linker understands whole_archive_flag_spec.
- # This may have to be revisited, in case too many
- # convenience libraries get linked in and end up exceeding
- # the spec.
- if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- fi
- save_output=$output
- func_basename "$output"
- output_la=$func_basename_result
-
- # Clear the reloadable object creation command queue and
- # initialize k to one.
- test_cmds=
- concat_cmds=
- objlist=
- last_robj=
- k=1
-
- if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
- output=${output_objdir}/${output_la}.lnkscript
- func_verbose "creating GNU ld script: $output"
- echo 'INPUT (' > $output
- for obj in $save_libobjs
- do
- func_to_tool_file "$obj"
- $ECHO "$func_to_tool_file_result" >> $output
- done
- echo ')' >> $output
- func_append delfiles " $output"
- func_to_tool_file "$output"
- output=$func_to_tool_file_result
- elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
- output=${output_objdir}/${output_la}.lnk
- func_verbose "creating linker input file list: $output"
- : > $output
- set x $save_libobjs
- shift
- firstobj=
- if test "$compiler_needs_object" = yes; then
- firstobj="$1 "
- shift
- fi
- for obj
- do
- func_to_tool_file "$obj"
- $ECHO "$func_to_tool_file_result" >> $output
- done
- func_append delfiles " $output"
- func_to_tool_file "$output"
- output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
- else
- if test -n "$save_libobjs"; then
- func_verbose "creating reloadable object files..."
- output=$output_objdir/$output_la-${k}.$objext
- eval test_cmds=\"$reload_cmds\"
- func_len " $test_cmds"
- len0=$func_len_result
- len=$len0
-
- # Loop over the list of objects to be linked.
- for obj in $save_libobjs
- do
- func_len " $obj"
- func_arith $len + $func_len_result
- len=$func_arith_result
- if test "X$objlist" = X ||
- test "$len" -lt "$max_cmd_len"; then
- func_append objlist " $obj"
- else
- # The command $test_cmds is almost too long, add a
- # command to the queue.
- if test "$k" -eq 1 ; then
- # The first file doesn't have a previous command to add.
- reload_objs=$objlist
- eval concat_cmds=\"$reload_cmds\"
- else
- # All subsequent reloadable object files will link in
- # the last one created.
- reload_objs="$objlist $last_robj"
- eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
- fi
- last_robj=$output_objdir/$output_la-${k}.$objext
- func_arith $k + 1
- k=$func_arith_result
- output=$output_objdir/$output_la-${k}.$objext
- objlist=" $obj"
- func_len " $last_robj"
- func_arith $len0 + $func_len_result
- len=$func_arith_result
- fi
- done
- # Handle the remaining objects by creating one last
- # reloadable object file. All subsequent reloadable object
- # files will link in the last one created.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- reload_objs="$objlist $last_robj"
- eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
- if test -n "$last_robj"; then
- eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
- fi
- func_append delfiles " $output"
-
- else
- output=
- fi
-
- if ${skipped_export-false}; then
- func_verbose "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $opt_dry_run || $RM $export_symbols
- libobjs=$output
- # Append the command to create the export file.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
- if test -n "$last_robj"; then
- eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
- fi
- fi
-
- test -n "$save_libobjs" &&
- func_verbose "creating a temporary reloadable object file: $output"
-
- # Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
- for cmd in $concat_cmds; do
- IFS="$save_ifs"
- $opt_silent || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
- $opt_dry_run || eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$opt_mode" = relink; then
- ( cd "$output_objdir" && \
- $RM "${realname}T" && \
- $MV "${realname}U" "$realname" )
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
-
- if test -n "$export_symbols_regex" && ${skipped_export-false}; then
- func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
- fi
- fi
-
- if ${skipped_export-false}; then
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- tmp_export_symbols="$export_symbols"
- test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
- $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
- fi
-
- if test -n "$orig_export_symbols"; then
- # The given exports_symbols file has to be filtered, so filter it.
- func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
- # FIXME: $output_objdir/$libname.filter potentially contains lots of
- # 's' commands which not all seds can handle. GNU sed should be fine
- # though. Also, the filter scales superlinearly with the number of
- # global variables. join(1) would be nice here, but unfortunately
- # isn't a blessed tool.
- $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
- func_append delfiles " $export_symbols $output_objdir/$libname.filter"
- export_symbols=$output_objdir/$libname.def
- $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
- fi
- fi
-
- libobjs=$output
- # Restore the value of output.
- output=$save_output
-
- if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- test "X$libobjs" = "X " && libobjs=
- fi
- # Expand the library linking commands again to reset the
- # value of $libobjs for piecewise linking.
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- cmds=$module_expsym_cmds
- else
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- cmds=$archive_expsym_cmds
- else
- cmds=$archive_cmds
- fi
- fi
- fi
-
- if test -n "$delfiles"; then
- # Append the command to remove temporary files to $cmds.
- eval cmds=\"\$cmds~\$RM $delfiles\"
- fi
-
- # Add any objects from preloaded convenience libraries
- if test -n "$dlprefiles"; then
- gentop="$output_objdir/${outputname}x"
- func_append generated " $gentop"
-
- func_extract_archives $gentop $dlprefiles
- func_append libobjs " $func_extract_archives_result"
- test "X$libobjs" = "X " && libobjs=
- fi
-
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $opt_silent || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
- $opt_dry_run || eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$opt_mode" = relink; then
- ( cd "$output_objdir" && \
- $RM "${realname}T" && \
- $MV "${realname}U" "$realname" )
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
-
- # Restore the uninstalled library and exit
- if test "$opt_mode" = relink; then
- $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
-
- if test -n "$convenience"; then
- if test -z "$whole_archive_flag_spec"; then
- func_show_eval '${RM}r "$gentop"'
- fi
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- # Create links to the real library.
- for linkname in $linknames; do
- if test "$realname" != "$linkname"; then
- func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
- fi
- done
-
- # If -module or -export-dynamic was specified, set the dlname.
- if test "$module" = yes || test "$export_dynamic" = yes; then
- # On all known operating systems, these are identical.
- dlname="$soname"
- fi
- fi
- ;;
-
- obj)
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- func_warning "\`-dlopen' is ignored for objects"
- fi
-
- case " $deplibs" in
- *\ -l* | *\ -L*)
- func_warning "\`-l' and \`-L' are ignored for objects" ;;
- esac
-
- test -n "$rpath" && \
- func_warning "\`-rpath' is ignored for objects"
-
- test -n "$xrpath" && \
- func_warning "\`-R' is ignored for objects"
-
- test -n "$vinfo" && \
- func_warning "\`-version-info' is ignored for objects"
-
- test -n "$release" && \
- func_warning "\`-release' is ignored for objects"
-
- case $output in
- *.lo)
- test -n "$objs$old_deplibs" && \
- func_fatal_error "cannot build library object \`$output' from non-libtool objects"
-
- libobj=$output
- func_lo2o "$libobj"
- obj=$func_lo2o_result
- ;;
- *)
- libobj=
- obj="$output"
- ;;
- esac
-
- # Delete the old objects.
- $opt_dry_run || $RM $obj $libobj
-
- # Objects from convenience libraries. This assumes
- # single-version convenience libraries. Whenever we create
- # different ones for PIC/non-PIC, this we'll have to duplicate
- # the extraction.
- reload_conv_objs=
- gentop=
- # reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec and hope we can get by with
- # turning comma into space..
- wl=
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
- else
- gentop="$output_objdir/${obj}x"
- func_append generated " $gentop"
-
- func_extract_archives $gentop $convenience
- reload_conv_objs="$reload_objs $func_extract_archives_result"
- fi
- fi
-
- # If we're not building shared, we need to use non_pic_objs
- test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
-
- # Create the old-style object.
- reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
- output="$obj"
- func_execute_cmds "$reload_cmds" 'exit $?'
-
- # Exit if we aren't doing a library object file.
- if test -z "$libobj"; then
- if test -n "$gentop"; then
- func_show_eval '${RM}r "$gentop"'
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- if test "$build_libtool_libs" != yes; then
- if test -n "$gentop"; then
- func_show_eval '${RM}r "$gentop"'
- fi
-
- # Create an invalid libtool object if no PIC, so that we don't
- # accidentally link it into a program.
- # $show "echo timestamp > $libobj"
- # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
- exit $EXIT_SUCCESS
- fi
-
- if test -n "$pic_flag" || test "$pic_mode" != default; then
- # Only do commands if we really have different PIC objects.
- reload_objs="$libobjs $reload_conv_objs"
- output="$libobj"
- func_execute_cmds "$reload_cmds" 'exit $?'
- fi
-
- if test -n "$gentop"; then
- func_show_eval '${RM}r "$gentop"'
- fi
-
- exit $EXIT_SUCCESS
- ;;
-
- prog)
- case $host in
- *cygwin*) func_stripname '' '.exe' "$output"
- output=$func_stripname_result.exe;;
- esac
- test -n "$vinfo" && \
- func_warning "\`-version-info' is ignored for programs"
-
- test -n "$release" && \
- func_warning "\`-release' is ignored for programs"
-
- test "$preload" = yes \
- && test "$dlopen_support" = unknown \
- && test "$dlopen_self" = unknown \
- && test "$dlopen_self_static" = unknown && \
- func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
- finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
- ;;
- esac
-
- case $host in
- *-*-darwin*)
- # Don't allow lazy linking, it breaks C++ global constructors
- # But is supposedly fixed on 10.4 or later (yay!).
- if test "$tagname" = CXX ; then
- case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
- 10.[0123])
- func_append compile_command " ${wl}-bind_at_load"
- func_append finalize_command " ${wl}-bind_at_load"
- ;;
- esac
- fi
- # Time to change all our "foo.ltframework" stuff back to "-framework foo"
- compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
- finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
- ;;
- esac
-
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $compile_deplibs " in
- *" -L$path/$objdir "*)
- func_append new_libs " -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $compile_deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) func_append new_libs " $deplib" ;;
- esac
- ;;
- *) func_append new_libs " $deplib" ;;
- esac
- done
- compile_deplibs="$new_libs"
-
-
- func_append compile_command " $compile_deplibs"
- func_append finalize_command " $finalize_deplibs"
-
- if test -n "$rpath$xrpath"; then
- # If the user specified any rpath flags, then add them.
- for libdir in $rpath $xrpath; do
- # This is the magic to use -rpath.
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) func_append finalize_rpath " $libdir" ;;
- esac
- done
- fi
-
- # Now hardcode the library paths
- rpath=
- hardcode_libdirs=
- for libdir in $compile_rpath $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- func_append rpath " $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) func_append perm_rpath " $libdir" ;;
- esac
- fi
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$libdir:"*) ;;
- ::) dllsearchpath=$libdir;;
- *) func_append dllsearchpath ":$libdir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- ::) dllsearchpath=$testbindir;;
- *) func_append dllsearchpath ":$testbindir";;
- esac
- ;;
- esac
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- compile_rpath="$rpath"
-
- rpath=
- hardcode_libdirs=
- for libdir in $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- func_append rpath " $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$finalize_perm_rpath " in
- *" $libdir "*) ;;
- *) func_append finalize_perm_rpath " $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- finalize_rpath="$rpath"
-
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
- # Transform all the library objects into standard objects.
- compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
- finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
- fi
-
- func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
-
- # template prelinking step
- if test -n "$prelink_cmds"; then
- func_execute_cmds "$prelink_cmds" 'exit $?'
- fi
-
- wrappers_required=yes
- case $host in
- *cegcc* | *mingw32ce*)
- # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
- wrappers_required=no
- ;;
- *cygwin* | *mingw* )
- if test "$build_libtool_libs" != yes; then
- wrappers_required=no
- fi
- ;;
- *)
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
- wrappers_required=no
- fi
- ;;
- esac
- if test "$wrappers_required" = no; then
- # Replace the output file specification.
- compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
- link_command="$compile_command$compile_rpath"
-
- # We have no uninstalled library dependencies, so finalize right now.
- exit_status=0
- func_show_eval "$link_command" 'exit_status=$?'
-
- if test -n "$postlink_cmds"; then
- func_to_tool_file "$output"
- postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
- func_execute_cmds "$postlink_cmds" 'exit $?'
- fi
-
- # Delete the generated files.
- if test -f "$output_objdir/${outputname}S.${objext}"; then
- func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
- fi
-
- exit $exit_status
- fi
-
- if test -n "$compile_shlibpath$finalize_shlibpath"; then
- compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
- fi
- if test -n "$finalize_shlibpath"; then
- finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
- fi
-
- compile_var=
- finalize_var=
- if test -n "$runpath_var"; then
- if test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- func_append rpath "$dir:"
- done
- compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- if test -n "$finalize_perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $finalize_perm_rpath; do
- func_append rpath "$dir:"
- done
- finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- fi
-
- if test "$no_install" = yes; then
- # We don't need to create a wrapper script.
- link_command="$compile_var$compile_command$compile_rpath"
- # Replace the output file specification.
- link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
- # Delete the old output file.
- $opt_dry_run || $RM $output
- # Link the executable and exit
- func_show_eval "$link_command" 'exit $?'
-
- if test -n "$postlink_cmds"; then
- func_to_tool_file "$output"
- postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
- func_execute_cmds "$postlink_cmds" 'exit $?'
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
-
- func_warning "this platform does not like uninstalled shared libraries"
- func_warning "\`$output' will be relinked during installation"
- else
- if test "$fast_install" != no; then
- link_command="$finalize_var$compile_command$finalize_rpath"
- if test "$fast_install" = yes; then
- relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
- else
- # fast_install is set to needless
- relink_command=
- fi
- else
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
- fi
- fi
-
- # Replace the output file specification.
- link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
- # Delete the old output files.
- $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
- func_show_eval "$link_command" 'exit $?'
-
- if test -n "$postlink_cmds"; then
- func_to_tool_file "$output_objdir/$outputname"
- postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
- func_execute_cmds "$postlink_cmds" 'exit $?'
- fi
-
- # Now create the wrapper script.
- func_verbose "creating $output"
-
- # Quote the relink command for shipping.
- if test -n "$relink_command"; then
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
- fi
- done
- relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
- fi
-
- # Only actually do things if not in dry run mode.
- $opt_dry_run || {
- # win32 will think the script is a binary if it has
- # a .exe suffix, so we strip it off here.
- case $output in
- *.exe) func_stripname '' '.exe' "$output"
- output=$func_stripname_result ;;
- esac
- # test for cygwin because mv fails w/o .exe extensions
- case $host in
- *cygwin*)
- exeext=.exe
- func_stripname '' '.exe' "$outputname"
- outputname=$func_stripname_result ;;
- *) exeext= ;;
- esac
- case $host in
- *cygwin* | *mingw* )
- func_dirname_and_basename "$output" "" "."
- output_name=$func_basename_result
- output_path=$func_dirname_result
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
- $RM $cwrappersource $cwrapper
- trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
- func_emit_cwrapperexe_src > $cwrappersource
-
- # The wrapper executable is built using the $host compiler,
- # because it contains $host paths and files. If cross-
- # compiling, it, like the target executable, must be
- # executed on the $host or under an emulation environment.
- $opt_dry_run || {
- $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
- $STRIP $cwrapper
- }
-
- # Now, create the wrapper script for func_source use:
- func_ltwrapper_scriptname $cwrapper
- $RM $func_ltwrapper_scriptname_result
- trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
- $opt_dry_run || {
- # note: this script will not be executed, so do not chmod.
- if test "x$build" = "x$host" ; then
- $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
- else
- func_emit_wrapper no > $func_ltwrapper_scriptname_result
- fi
- }
- ;;
- * )
- $RM $output
- trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
-
- func_emit_wrapper no > $output
- chmod +x $output
- ;;
- esac
- }
- exit $EXIT_SUCCESS
- ;;
- esac
-
- # See if we need to build an old-fashioned archive.
- for oldlib in $oldlibs; do
-
- if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save $symfileobj"
- addlibs="$convenience"
- build_libtool_libs=no
- else
- if test "$build_libtool_libs" = module; then
- oldobjs="$libobjs_save"
- build_libtool_libs=no
- else
- oldobjs="$old_deplibs $non_pic_objects"
- if test "$preload" = yes && test -f "$symfileobj"; then
- func_append oldobjs " $symfileobj"
- fi
- fi
- addlibs="$old_convenience"
- fi
-
- if test -n "$addlibs"; then
- gentop="$output_objdir/${outputname}x"
- func_append generated " $gentop"
-
- func_extract_archives $gentop $addlibs
- func_append oldobjs " $func_extract_archives_result"
- fi
-
- # Do each command in the archive commands.
- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
- cmds=$old_archive_from_new_cmds
- else
-
- # Add any objects from preloaded convenience libraries
- if test -n "$dlprefiles"; then
- gentop="$output_objdir/${outputname}x"
- func_append generated " $gentop"
-
- func_extract_archives $gentop $dlprefiles
- func_append oldobjs " $func_extract_archives_result"
- fi
-
- # POSIX demands no paths to be encoded in archives. We have
- # to avoid creating archives with duplicate basenames if we
- # might have to extract them afterwards, e.g., when creating a
- # static archive out of a convenience library, or when linking
- # the entirety of a libtool archive into another (currently
- # not supported by libtool).
- if (for obj in $oldobjs
- do
- func_basename "$obj"
- $ECHO "$func_basename_result"
- done | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- echo "copying selected object files to avoid basename conflicts..."
- gentop="$output_objdir/${outputname}x"
- func_append generated " $gentop"
- func_mkdir_p "$gentop"
- save_oldobjs=$oldobjs
- oldobjs=
- counter=1
- for obj in $save_oldobjs
- do
- func_basename "$obj"
- objbase="$func_basename_result"
- case " $oldobjs " in
- " ") oldobjs=$obj ;;
- *[\ /]"$objbase "*)
- while :; do
- # Make sure we don't pick an alternate name that also
- # overlaps.
- newobj=lt$counter-$objbase
- func_arith $counter + 1
- counter=$func_arith_result
- case " $oldobjs " in
- *[\ /]"$newobj "*) ;;
- *) if test ! -f "$gentop/$newobj"; then break; fi ;;
- esac
- done
- func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
- func_append oldobjs " $gentop/$newobj"
- ;;
- *) func_append oldobjs " $obj" ;;
- esac
- done
- fi
- func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
- tool_oldlib=$func_to_tool_file_result
- eval cmds=\"$old_archive_cmds\"
-
- func_len " $cmds"
- len=$func_len_result
- if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- cmds=$old_archive_cmds
- elif test -n "$archiver_list_spec"; then
- func_verbose "using command file archive linking..."
- for obj in $oldobjs
- do
- func_to_tool_file "$obj"
- $ECHO "$func_to_tool_file_result"
- done > $output_objdir/$libname.libcmd
- func_to_tool_file "$output_objdir/$libname.libcmd"
- oldobjs=" $archiver_list_spec$func_to_tool_file_result"
- cmds=$old_archive_cmds
- else
- # the command line is too long to link in one step, link in parts
- func_verbose "using piecewise archive linking..."
- save_RANLIB=$RANLIB
- RANLIB=:
- objlist=
- concat_cmds=
- save_oldobjs=$oldobjs
- oldobjs=
- # Is there a better way of finding the last object in the list?
- for obj in $save_oldobjs
- do
- last_oldobj=$obj
- done
- eval test_cmds=\"$old_archive_cmds\"
- func_len " $test_cmds"
- len0=$func_len_result
- len=$len0
- for obj in $save_oldobjs
- do
- func_len " $obj"
- func_arith $len + $func_len_result
- len=$func_arith_result
- func_append objlist " $obj"
- if test "$len" -lt "$max_cmd_len"; then
- :
- else
- # the above command should be used before it gets too long
- oldobjs=$objlist
- if test "$obj" = "$last_oldobj" ; then
- RANLIB=$save_RANLIB
- fi
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
- objlist=
- len=$len0
- fi
- done
- RANLIB=$save_RANLIB
- oldobjs=$objlist
- if test "X$oldobjs" = "X" ; then
- eval cmds=\"\$concat_cmds\"
- else
- eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
- fi
- fi
- fi
- func_execute_cmds "$cmds" 'exit $?'
- done
-
- test -n "$generated" && \
- func_show_eval "${RM}r$generated"
-
- # Now create the libtool archive.
- case $output in
- *.la)
- old_library=
- test "$build_old_libs" = yes && old_library="$libname.$libext"
- func_verbose "creating $output"
-
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
- fi
- done
- # Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
- if test "$hardcode_automatic" = yes ; then
- relink_command=
- fi
-
- # Only create the output if not a dry run.
- $opt_dry_run || {
- for installed in no yes; do
- if test "$installed" = yes; then
- if test -z "$install_libdir"; then
- break
- fi
- output="$output_objdir/$outputname"i
- # Replace all uninstalled libtool libraries with the installed ones
- newdependency_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- *.la)
- func_basename "$deplib"
- name="$func_basename_result"
- func_resolve_sysroot "$deplib"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
- test -z "$libdir" && \
- func_fatal_error "\`$deplib' is not a valid libtool archive"
- func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
- ;;
- -L*)
- func_stripname -L '' "$deplib"
- func_replace_sysroot "$func_stripname_result"
- func_append newdependency_libs " -L$func_replace_sysroot_result"
- ;;
- -R*)
- func_stripname -R '' "$deplib"
- func_replace_sysroot "$func_stripname_result"
- func_append newdependency_libs " -R$func_replace_sysroot_result"
- ;;
- *) func_append newdependency_libs " $deplib" ;;
- esac
- done
- dependency_libs="$newdependency_libs"
- newdlfiles=
-
- for lib in $dlfiles; do
- case $lib in
- *.la)
- func_basename "$lib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- test -z "$libdir" && \
- func_fatal_error "\`$lib' is not a valid libtool archive"
- func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
- ;;
- *) func_append newdlfiles " $lib" ;;
- esac
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- case $lib in
- *.la)
- # Only pass preopened files to the pseudo-archive (for
- # eventual linking with the app. that links it) if we
- # didn't already link the preopened objects directly into
- # the library:
- func_basename "$lib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- test -z "$libdir" && \
- func_fatal_error "\`$lib' is not a valid libtool archive"
- func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
- ;;
- esac
- done
- dlprefiles="$newdlprefiles"
- else
- newdlfiles=
- for lib in $dlfiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- func_append newdlfiles " $abs"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- func_append newdlprefiles " $abs"
- done
- dlprefiles="$newdlprefiles"
- fi
- $RM $output
- # place dlname in correct position for cygwin
- # In fact, it would be nice if we could use this code for all target
- # systems that can't hard-code library paths into their executables
- # and that have no shared library path variable independent of PATH,
- # but it turns out we can't easily determine that from inspecting
- # libtool variables, so we have to hard-code the OSs to which it
- # applies here; at the moment, that means platforms that use the PE
- # object format with DLL files. See the long comment at the top of
- # tests/bindir.at for full details.
- tdlname=$dlname
- case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
- # If a -bindir argument was supplied, place the dll there.
- if test "x$bindir" != x ;
- then
- func_relative_path "$install_libdir" "$bindir"
- tdlname=$func_relative_path_result$dlname
- else
- # Otherwise fall back on heuristic.
- tdlname=../bin/$dlname
- fi
- ;;
- esac
- $ECHO > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags='$new_inherited_linker_flags'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Names of additional weak libraries provided by this library
-weak_library_names='$weak_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
- if test "$installed" = no && test "$need_relink" = yes; then
- $ECHO >> $output "\
-relink_command=\"$relink_command\""
- fi
- done
- }
-
- # Do a symbolic link so that the libtool archive can be found in
- # LD_LIBRARY_PATH before the program is installed.
- func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
- ;;
- esac
- exit $EXIT_SUCCESS
-}
-
-{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
- func_mode_link ${1+"$@"}
-
-
-# func_mode_uninstall arg...
-func_mode_uninstall ()
-{
- $opt_debug
- RM="$nonopt"
- files=
- rmforce=
- exit_status=0
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- for arg
- do
- case $arg in
- -f) func_append RM " $arg"; rmforce=yes ;;
- -*) func_append RM " $arg" ;;
- *) func_append files " $arg" ;;
- esac
- done
-
- test -z "$RM" && \
- func_fatal_help "you must specify an RM program"
-
- rmdirs=
-
- for file in $files; do
- func_dirname "$file" "" "."
- dir="$func_dirname_result"
- if test "X$dir" = X.; then
- odir="$objdir"
- else
- odir="$dir/$objdir"
- fi
- func_basename "$file"
- name="$func_basename_result"
- test "$opt_mode" = uninstall && odir="$dir"
-
- # Remember odir for removal later, being careful to avoid duplicates
- if test "$opt_mode" = clean; then
- case " $rmdirs " in
- *" $odir "*) ;;
- *) func_append rmdirs " $odir" ;;
- esac
- fi
-
- # Don't error if the file doesn't exist and rm -f was used.
- if { test -L "$file"; } >/dev/null 2>&1 ||
- { test -h "$file"; } >/dev/null 2>&1 ||
- test -f "$file"; then
- :
- elif test -d "$file"; then
- exit_status=1
- continue
- elif test "$rmforce" = yes; then
- continue
- fi
-
- rmfiles="$file"
-
- case $name in
- *.la)
- # Possibly a libtool archive, so verify it.
- if func_lalib_p "$file"; then
- func_source $dir/$name
-
- # Delete the libtool libraries and symlinks.
- for n in $library_names; do
- func_append rmfiles " $odir/$n"
- done
- test -n "$old_library" && func_append rmfiles " $odir/$old_library"
-
- case "$opt_mode" in
- clean)
- case " $library_names " in
- *" $dlname "*) ;;
- *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
- esac
- test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
- ;;
- uninstall)
- if test -n "$library_names"; then
- # Do each command in the postuninstall commands.
- func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
- fi
-
- if test -n "$old_library"; then
- # Do each command in the old_postuninstall commands.
- func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
- fi
- # FIXME: should reinstall the best remaining shared library.
- ;;
- esac
- fi
- ;;
-
- *.lo)
- # Possibly a libtool object, so verify it.
- if func_lalib_p "$file"; then
-
- # Read the .lo file
- func_source $dir/$name
-
- # Add PIC object to the list of files to remove.
- if test -n "$pic_object" &&
- test "$pic_object" != none; then
- func_append rmfiles " $dir/$pic_object"
- fi
-
- # Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" &&
- test "$non_pic_object" != none; then
- func_append rmfiles " $dir/$non_pic_object"
- fi
- fi
- ;;
-
- *)
- if test "$opt_mode" = clean ; then
- noexename=$name
- case $file in
- *.exe)
- func_stripname '' '.exe' "$file"
- file=$func_stripname_result
- func_stripname '' '.exe' "$name"
- noexename=$func_stripname_result
- # $file with .exe has already been added to rmfiles,
- # add $file without .exe
- func_append rmfiles " $file"
- ;;
- esac
- # Do a test to see if this is a libtool program.
- if func_ltwrapper_p "$file"; then
- if func_ltwrapper_executable_p "$file"; then
- func_ltwrapper_scriptname "$file"
- relink_command=
- func_source $func_ltwrapper_scriptname_result
- func_append rmfiles " $func_ltwrapper_scriptname_result"
- else
- relink_command=
- func_source $dir/$noexename
- fi
-
- # note $name still contains .exe if it was in $file originally
- # as does the version of $file that was added into $rmfiles
- func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
- if test "$fast_install" = yes && test -n "$relink_command"; then
- func_append rmfiles " $odir/lt-$name"
- fi
- if test "X$noexename" != "X$name" ; then
- func_append rmfiles " $odir/lt-${noexename}.c"
- fi
- fi
- fi
- ;;
- esac
- func_show_eval "$RM $rmfiles" 'exit_status=1'
- done
-
- # Try to remove the ${objdir}s in the directories where we deleted files
- for dir in $rmdirs; do
- if test -d "$dir"; then
- func_show_eval "rmdir $dir >/dev/null 2>&1"
- fi
- done
-
- exit $exit_status
-}
-
-{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
- func_mode_uninstall ${1+"$@"}
-
-test -z "$opt_mode" && {
- help="$generic_help"
- func_fatal_help "you must specify a MODE"
-}
-
-test -z "$exec_cmd" && \
- func_fatal_help "invalid operation mode \`$opt_mode'"
-
-if test -n "$exec_cmd"; then
- eval exec "$exec_cmd"
- exit $EXIT_FAILURE
-fi
-
-exit $exit_status
-
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries. Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them. This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration. But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-build_libtool_libs=no
-build_old_libs=yes
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
-# vi:sw=2
-
diff --git a/usbhid-dump/auxdir/missing b/usbhid-dump/auxdir/missing
deleted file mode 100755
index 9a55648..0000000
--- a/usbhid-dump/auxdir/missing
+++ /dev/null
@@ -1,330 +0,0 @@
-#! /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:
diff --git a/usbhid-dump/bootstrap b/usbhid-dump/bootstrap
index 09485a7..7074ab8 100755
--- a/usbhid-dump/bootstrap
+++ b/usbhid-dump/bootstrap
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
#
# Copyright (c) 2010 Nikolai Kondrashov
#
@@ -25,13 +25,4 @@ cat > ChangeLog <<CUT
# Dummy ChangeLog, replaced with git log when distribution is created.
CUT
-aclocal -I m4
-if command -v libtoolize >/dev/null; then
- libtoolize
-else
- # Try glibtoolize, if libtoolize is not found - could happen on Darwin
- glibtoolize
-fi
-autoheader
-automake --add-missing
-autoconf
+autoreconf -i -f
diff --git a/usbhid-dump/config.h.in b/usbhid-dump/config.h.in
deleted file mode 100644
index dd1affa..0000000
--- a/usbhid-dump/config.h.in
+++ /dev/null
@@ -1,65 +0,0 @@
-/* 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 `libusb_strerror' function. */
-#undef HAVE_LIBUSB_STRERROR
-
-/* 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 in which 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
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Version number of package */
-#undef VERSION
diff --git a/usbhid-dump/configure b/usbhid-dump/configure
deleted file mode 100755
index 9805d2e..0000000
--- a/usbhid-dump/configure
+++ /dev/null
@@ -1,13895 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for usbhid-dump 1.3.
-#
-#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
- # into an infinite loop, continuously re-executing ourselves.
- if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
- _as_can_reexec=no; export _as_can_reexec;
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
- fi
- # We don't want this to propagate to other subprocesses.
- { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- export CONFIG_SHELL
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
- # already done that, so ensure we don't try to do so again and fall
- # in an infinite loop. This has already happened in practice.
- _as_can_reexec=no; export _as_can_reexec
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='usbhid-dump'
-PACKAGE_TARNAME='usbhid-dump'
-PACKAGE_VERSION='1.3'
-PACKAGE_STRING='usbhid-dump 1.3'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-LIBUSB_LIBS
-LIBUSB_CFLAGS
-PKG_CONFIG_LIBDIR
-PKG_CONFIG_PATH
-PKG_CONFIG
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-LIBTOOL
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_maintainer_mode
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_debug
-enable_tests_install
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP
-PKG_CONFIG
-PKG_CONFIG_PATH
-PKG_CONFIG_LIBDIR
-LIBUSB_CFLAGS
-LIBUSB_LIBS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures usbhid-dump 1.3 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/usbhid-dump]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of usbhid-dump 1.3:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-maintainer-mode
- enable make rules and dependencies not useful (and
- sometimes confusing) to the casual installer
- --enable-dependency-tracking
- do not reject slow dependency extractors
- --disable-dependency-tracking
- speeds up one-time build
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-debug enable debugging features
- --enable-tests-install enable installation of tests
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
- PKG_CONFIG path to pkg-config utility
- PKG_CONFIG_PATH
- directories to add to pkg-config's search path
- PKG_CONFIG_LIBDIR
- path overriding pkg-config's built-in search path
- LIBUSB_CFLAGS
- C compiler flags for LIBUSB, overriding pkg-config
- LIBUSB_LIBS linker flags for LIBUSB, overriding pkg-config
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-usbhid-dump configure 1.3
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by usbhid-dump $as_me 1.3, which was
-generated by GNU Autoconf 2.69. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_aux_dir=
-for ac_dir in auxdir "$srcdir"/auxdir; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in auxdir \"$srcdir\"/auxdir" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-am__api_version='1.12'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
- alias in your environment" "$LINENO" 5
- fi
- if test "$2" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
- am_sleep_pid=$!
-fi
-
-rm -f conftest.file
-
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip". However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='usbhid-dump'
- VERSION='1.3'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-mkdir_p="$MKDIR_P"
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-
-
-# To have empty CFLAGS instead of undefined and '-g -O2' by default
-CFLAGS=$CFLAGS
-CFLAGS="-Os -Wall $CFLAGS"
-ABS_SRCDIR=`cd ${srcdir} ; pwd`
-ABS_BUILDDIR=`pwd`
-CPPFLAGS="-I${ABS_BUILDDIR} -I${ABS_BUILDDIR}/include -DNDEBUG $CPPFLAGS"
-if test "$ABS_SRCDIR" != "$ABS_BUILDDIR"; then
- CPPFLAGS="-I${ABS_SRCDIR}/include $CPPFLAGS"
-fi
-
-
-#
-# Checks for programs.
-#
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named 'D' -- because '-MD' means "put the output
- # in D".
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
- # Solaris 10 /bin/sh.
- echo '/* dummy */' > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with '-c' and '-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle '-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs.
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # After this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested.
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok '-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4.2'
-macro_revision='1.3337'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case "$ECHO" in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_SED" || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_FGREP" || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- os2*)
- # The test takes a long time on OS/2.
- lt_cv_sys_max_cmd_len=8192
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*)
- case $host in
- i?86-*-solaris*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- sparc*-*-solaris*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
- if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
- LD="${LD-ld}_sol2"
- fi
- ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- # If there is a non-empty error log, and "single_module"
- # appears in it, assume the flag caused a linker warning
- if test -s conftest.err && $GREP single_module conftest.err; then
- cat conftest.err >&5
- # Otherwise, if the output was created with a 0 exit code from
- # the compiler, it worked.
- elif test -f libconftest.dylib && test $_lt_result -eq 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -s conftest.err && $GREP force_load conftest.err; then
- cat conftest.err >&5
- elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
- enable_win32_dll=no
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
- withval=$with_pic; lt_p=${PACKAGE-default}
- case $withval in
- yes|no) pic_mode=$withval ;;
- *)
- pic_mode=default
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for lt_pkg in $withval; do
- IFS="$lt_save_ifs"
- if test "X$lt_pkg" = "X$lt_p"; then
- pic_mode=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- *)
- lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- lt_prog_compiler_wl='-Xlinker '
- if test -n "$lt_prog_compiler_pic"; then
- lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
- fi
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- lt_prog_compiler_wl='-Wl,-Wl,,'
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- *Sun\ F* | *Sun*Fortran*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Qoption ld '
- ;;
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- *Intel*\ [CF]*Compiler*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- *Portland\ Group*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- link_all_deplibs=yes
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- fi
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- file_list_spec='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
- enable_shared_with_static_runtimes=yes
- exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- old_postinstall_cmds='chmod 644 $oldlib'
- postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- enable_shared_with_static_runtimes=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-
- else
- whole_archive_flag_spec=''
- fi
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2.*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -b"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler__b=yes
- fi
- else
- lt_cv_prog_compiler__b=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_irix_exported_symbol=yes
-else
- lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[23].*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2.*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[3-9]*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux # correct to gnu/linux during the next big refactor
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-#
-# Checks for libraries.
-#
-
-
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
- ac_pt_PKG_CONFIG=$PKG_CONFIG
- # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $ac_pt_PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_pt_PKG_CONFIG" = x; then
- PKG_CONFIG=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- PKG_CONFIG=$ac_pt_PKG_CONFIG
- fi
-else
- PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
- _pkg_min_version=0.9.0
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- PKG_CONFIG=""
- fi
-fi
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUSB" >&5
-$as_echo_n "checking for LIBUSB... " >&6; }
-
-if test -n "$LIBUSB_CFLAGS"; then
- pkg_cv_LIBUSB_CFLAGS="$LIBUSB_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0 >= 1.0.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libusb-1.0 >= 1.0.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_LIBUSB_CFLAGS=`$PKG_CONFIG --cflags "libusb-1.0 >= 1.0.0" 2>/dev/null`
-else
- pkg_failed=yes
-fi
- else
- pkg_failed=untried
-fi
-if test -n "$LIBUSB_LIBS"; then
- pkg_cv_LIBUSB_LIBS="$LIBUSB_LIBS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0 >= 1.0.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libusb-1.0 >= 1.0.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_LIBUSB_LIBS=`$PKG_CONFIG --libs "libusb-1.0 >= 1.0.0" 2>/dev/null`
-else
- pkg_failed=yes
-fi
- else
- pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi
- if test $_pkg_short_errors_supported = yes; then
- LIBUSB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libusb-1.0 >= 1.0.0" 2>&1`
- else
- LIBUSB_PKG_ERRORS=`$PKG_CONFIG --print-errors "libusb-1.0 >= 1.0.0" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$LIBUSB_PKG_ERRORS" >&5
-
- as_fn_error $? "Package requirements (libusb-1.0 >= 1.0.0) were not met:
-
-$LIBUSB_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables LIBUSB_CFLAGS
-and LIBUSB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables LIBUSB_CFLAGS
-and LIBUSB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
- LIBUSB_CFLAGS=$pkg_cv_LIBUSB_CFLAGS
- LIBUSB_LIBS=$pkg_cv_LIBUSB_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-CFLAGS="$CFLAGS $LIBUSB_CFLAGS"
-LIBS="$LIBS $LIBUSB_LIBS"
-
-#
-# Checks for features
-#
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
- enableval=$enable_debug;
-else
- enable_debug="no"
-fi
-
-
-# Check whether --enable-tests-install was given.
-if test "${enable_tests_install+set}" = set; then :
- enableval=$enable_tests_install;
-else
- enable_tests_install="no"
-fi
-
-
-# Output features to preprocessor and compiler
-if test "$enable_debug" = "yes"; then
- CPPFLAGS="$CPPFLAGS -UNDEBUG"
- CFLAGS="$CFLAGS -Wextra -Werror -g -O0"
-fi
-
-#
-# Checks for header files.
-#
-
-#
-# Checks for typedefs, structures, and compiler characteristics.
-#
-
-#
-# Checks for declarations
-#
-
-#
-# Checks for library functions.
-#
-for ac_func in libusb_strerror
-do :
- ac_fn_c_check_func "$LINENO" "libusb_strerror" "ac_cv_func_libusb_strerror"
-if test "x$ac_cv_func_libusb_strerror" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBUSB_STRERROR 1
-_ACEOF
-
-fi
-done
-
-
-#
-# Output
-#
-ac_config_files="$ac_config_files Makefile include/Makefile include/uhd/Makefile lib/Makefile src/Makefile doc/Makefile"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
-$as_echo_n "checking that generated files are newer than configure... " >&6; }
- if test -n "$am_sleep_pid"; then
- # Hide warnings about reused PIDs.
- wait $am_sleep_pid 2>/dev/null
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
-$as_echo "done" >&6; }
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by usbhid-dump $as_me 1.3, which was
-generated by GNU Autoconf 2.69. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-usbhid-dump config.status 1.3
-configured by $0, generated by GNU Autoconf 2.69,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-PATH_SEPARATOR \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/uhd/Makefile") CONFIG_FILES="$CONFIG_FILES include/uhd/Makefile" ;;
- "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
- "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
- "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named 'Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running 'make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/usbhid-dump/configure.ac b/usbhid-dump/configure.ac
index 98ac558..4123a9f 100644
--- a/usbhid-dump/configure.ac
+++ b/usbhid-dump/configure.ac
@@ -1,49 +1,30 @@
+# SPDX-License-Identifier: GPL-2.0+
#
# Copyright (C) 2010-2011 Nikolai Kondrashov
#
# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
-AC_INIT([usbhid-dump], [1.3])
-AC_CONFIG_AUX_DIR([auxdir])
+AC_INIT([usbhid-dump], [1.4])
AM_INIT_AUTOMAKE([1.9 -Wall foreign])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AM_MAINTAINER_MODE
-AC_CONFIG_HEADER([config.h])
-AC_CONFIG_MACRO_DIR([m4])
+
+AC_USE_SYSTEM_EXTENSIONS
+
+AC_CONFIG_HEADERS([config.h])
# To have empty CFLAGS instead of undefined and '-g -O2' by default
CFLAGS=$CFLAGS
CFLAGS="-Os -Wall $CFLAGS"
ABS_SRCDIR=`cd ${srcdir} ; pwd`
ABS_BUILDDIR=`pwd`
-CPPFLAGS="-I${ABS_BUILDDIR} -I${ABS_BUILDDIR}/include -DNDEBUG $CPPFLAGS"
-if test "$ABS_SRCDIR" != "$ABS_BUILDDIR"; then
- CPPFLAGS="-I${ABS_SRCDIR}/include $CPPFLAGS"
-fi
+CPPFLAGS="-I${ABS_BUILDDIR} -DNDEBUG $CPPFLAGS"
#
# Checks for programs.
#
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_PROG_LIBTOOL
#
# Checks for libraries.
@@ -86,15 +67,11 @@ fi
#
# Checks for library functions.
#
-AC_CHECK_FUNCS(libusb_strerror)
+AC_CHECK_FUNCS(libusb_set_option)
#
# Output
#
AC_CONFIG_FILES([Makefile
- include/Makefile
- include/uhd/Makefile
- lib/Makefile
- src/Makefile
- doc/Makefile])
+ src/Makefile])
AC_OUTPUT
diff --git a/usbhid-dump/doc/Makefile.am b/usbhid-dump/doc/Makefile.am
deleted file mode 100644
index 4435bdb..0000000
--- a/usbhid-dump/doc/Makefile.am
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (C) 2010 Nikolai Kondrashov
-#
-# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-dist_man_MANS = usbhid-dump.8
diff --git a/usbhid-dump/doc/Makefile.in b/usbhid-dump/doc/Makefile.in
deleted file mode 100644
index 49d60cf..0000000
--- a/usbhid-dump/doc/Makefile.in
+++ /dev/null
@@ -1,499 +0,0 @@
-# Makefile.in generated by automake 1.12.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2012 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) 2010 Nikolai Kondrashov
-#
-# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-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 = doc
-DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-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; }; \
- }
-man8dir = $(mandir)/man8
-am__installdirs = "$(DESTDIR)$(man8dir)"
-NROFF = nroff
-MANS = $(dist_man_MANS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-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@
-LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
-LIBUSB_LIBS = @LIBUSB_LIBS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-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@
-STRIP = @STRIP@
-VERSION = @VERSION@
-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@
-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@
-dist_man_MANS = usbhid-dump.8
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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 doc/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign doc/Makefile
-.PRECIOUS: 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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(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-man8: $(dist_man_MANS)
- @$(NORMAL_INSTALL)
- @list1=''; \
- list2='$(dist_man_MANS)'; \
- test -n "$(man8dir)" \
- && test -n "`echo $$list1$$list2`" \
- || exit 0; \
- echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \
- { for i in $$list1; do echo "$$i"; done; \
- if test -n "$$list2"; then \
- for i in $$list2; do echo "$$i"; done \
- | sed -n '/\.8[a-z]*$$/p'; \
- fi; \
- } | while read p; do \
- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; echo "$$p"; \
- done | \
- sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
- -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
- sed 'N;N;s,\n, ,g' | { \
- list=; while read file base inst; do \
- if test "$$base" = "$$inst"; then list="$$list $$file"; else \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \
- fi; \
- done; \
- for i in $$list; do echo "$$i"; done | $(am__base_list) | \
- while read files; do \
- test -z "$$files" || { \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \
- done; }
-
-uninstall-man8:
- @$(NORMAL_UNINSTALL)
- @list=''; test -n "$(man8dir)" || exit 0; \
- files=`{ for i in $$list; do echo "$$i"; done; \
- l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
- sed -n '/\.8[a-z]*$$/p'; \
- } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
- -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
- dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(DISTFILES)
- @list='$(MANS)'; if test -n "$$list"; then \
- list=`for p in $$list; do \
- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
- if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
- if test -n "$$list" && \
- grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
- echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
- grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
- echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
- echo " typically 'make maintainer-clean' will remove them" >&2; \
- exit 1; \
- else :; fi; \
- else :; fi
- @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 $(MANS)
-installdirs:
- for dir in "$(DESTDIR)$(man8dir)"; 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
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-man
-
-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-man8
-
-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-man
-
-uninstall-man: uninstall-man8
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool 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-man8 \
- 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 \
- uninstall uninstall-am uninstall-man uninstall-man8
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/usbhid-dump/include/Makefile.am b/usbhid-dump/include/Makefile.am
deleted file mode 100644
index 9ad123e..0000000
--- a/usbhid-dump/include/Makefile.am
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (C) 2010 Nikolai Kondrashov
-#
-# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-SUBDIRS = uhd
diff --git a/usbhid-dump/include/Makefile.in b/usbhid-dump/include/Makefile.in
deleted file mode 100644
index d1d0744..0000000
--- a/usbhid-dump/include/Makefile.in
+++ /dev/null
@@ -1,621 +0,0 @@
-# Makefile.in generated by automake 1.12.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2012 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) 2010 Nikolai Kondrashov
-#
-# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-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
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-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 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=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-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"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-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@
-LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
-LIBUSB_LIBS = @LIBUSB_LIBS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-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@
-STRIP = @STRIP@
-VERSION = @VERSION@
-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@
-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 = uhd
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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
-.PRECIOUS: 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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(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
-
-# 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.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; 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"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-cscopelist-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- 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; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- 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
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- 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-recursive $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- 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
- @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
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-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."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic 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 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: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
- cscopelist-recursive ctags-recursive install-am install-strip \
- tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- cscopelist cscopelist-recursive ctags ctags-recursive \
- 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-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-recursive uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/usbhid-dump/include/uhd/Makefile.am b/usbhid-dump/include/uhd/Makefile.am
deleted file mode 100644
index 1083140..0000000
--- a/usbhid-dump/include/uhd/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 2010 Nikolai Kondrashov
-#
-# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-noinst_HEADERS = \
- dev.h \
- dev_list.h \
- iface.h \
- iface_list.h \
- libusb.h \
- misc.h
diff --git a/usbhid-dump/include/uhd/Makefile.in b/usbhid-dump/include/uhd/Makefile.in
deleted file mode 100644
index 456cdb8..0000000
--- a/usbhid-dump/include/uhd/Makefile.in
+++ /dev/null
@@ -1,477 +0,0 @@
-# Makefile.in generated by automake 1.12.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2012 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) 2010 Nikolai Kondrashov
-#
-# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-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/uhd
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-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
-HEADERS = $(noinst_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-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@
-LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
-LIBUSB_LIBS = @LIBUSB_LIBS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-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@
-STRIP = @STRIP@
-VERSION = @VERSION@
-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@
-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@
-noinst_HEADERS = \
- dev.h \
- dev_list.h \
- iface.h \
- iface_list.h \
- libusb.h \
- misc.h
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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/uhd/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign include/uhd/Makefile
-.PRECIOUS: 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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(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
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- 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
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- 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: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- 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:
-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-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:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool cscopelist ctags 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-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/usbhid-dump/include/uhd/libusb.h b/usbhid-dump/include/uhd/libusb.h
deleted file mode 100644
index ab2c9fd..0000000
--- a/usbhid-dump/include/uhd/libusb.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/** @file
- * @brief usbhid-dump - libusb API extensions
- *
- * Copyright (C) 2010-2011 Nikolai Kondrashov
- *
- * This file is part of usbhid-dump.
- *
- * Usbhid-dump is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * @author Nikolai Kondrashov <spbnick@gmail.com>
- *
- * @(#) $Id$
- */
-
-#ifndef __UHD_LIBUSB_H__
-#define __UHD_LIBUSB_H__
-
-#include <libusb.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef HAVE_LIBUSB_STRERROR
-extern const char *libusb_strerror(enum libusb_error err);
-#endif
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* __UHD_LIBUSB_H__ */
diff --git a/usbhid-dump/include/uhd/misc.h b/usbhid-dump/include/uhd/misc.h
deleted file mode 100644
index cae0df2..0000000
--- a/usbhid-dump/include/uhd/misc.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/** @file
- * @brief usbhid-dump - miscellaneous declarations
- *
- * Copyright (C) 2010 Nikolai Kondrashov
- *
- * This file is part of usbhid-dump.
- *
- * Usbhid-dump is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * @author Nikolai Kondrashov <spbnick@gmail.com>
- *
- * @(#) $Id$
- */
-
-#ifndef __UHD_MISC_H__
-#define __UHD_MISC_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Maximum descriptor size.
- *
- * @note 4096 here is maximum control buffer length.
- */
-#define UHD_MAX_DESCRIPTOR_SIZE 4096
-
-/** Generic USB I/O timeout, ms */
-#define UHD_IO_TIMEOUT 1000
-
-/** Wildcard bus number */
-#define UHD_BUS_NUM_ANY 0
-
-/** Wildcard device address */
-#define UHD_DEV_ADDR_ANY 0
-
-/** Wildcard vendor ID */
-#define UHD_VID_ANY 0
-
-/** Wildcard product ID */
-#define UHD_PID_ANY 0
-
-/** Wildcard interface number */
-#define UHD_IFACE_NUM_ANY UINT8_MAX
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* __UHD_MISC_H__ */
diff --git a/usbhid-dump/lib/Makefile.am b/usbhid-dump/lib/Makefile.am
deleted file mode 100644
index 79a18bb..0000000
--- a/usbhid-dump/lib/Makefile.am
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (C) 2009-2010 Nikolai Kondrashov
-#
-# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-noinst_LTLIBRARIES = libuhd.la
-
-libuhd_la_SOURCES = \
- dev.c \
- dev_list.c \
- iface.c \
- iface_list.c \
- libusb.c
diff --git a/usbhid-dump/lib/Makefile.in b/usbhid-dump/lib/Makefile.in
deleted file mode 100644
index faf6de0..0000000
--- a/usbhid-dump/lib/Makefile.in
+++ /dev/null
@@ -1,547 +0,0 @@
-# Makefile.in generated by automake 1.12.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2012 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) 2009-2010 Nikolai Kondrashov
-#
-# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-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 = lib
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/auxdir/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libuhd_la_LIBADD =
-am_libuhd_la_OBJECTS = dev.lo dev_list.lo iface.lo iface_list.lo \
- libusb.lo
-libuhd_la_OBJECTS = $(am_libuhd_la_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/auxdir/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libuhd_la_SOURCES)
-DIST_SOURCES = $(libuhd_la_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-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@
-LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
-LIBUSB_LIBS = @LIBUSB_LIBS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-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@
-STRIP = @STRIP@
-VERSION = @VERSION@
-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@
-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@
-noinst_LTLIBRARIES = libuhd.la
-libuhd_la_SOURCES = \
- dev.c \
- dev_list.c \
- iface.c \
- iface_list.c \
- libusb.c
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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 lib/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign lib/Makefile
-.PRECIOUS: 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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_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}; \
- }
-libuhd.la: $(libuhd_la_OBJECTS) $(libuhd_la_DEPENDENCIES) $(EXTRA_libuhd_la_DEPENDENCIES)
- $(LINK) $(libuhd_la_OBJECTS) $(libuhd_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dev.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dev_list.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iface.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iface_list.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libusb.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- 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
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- 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: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- 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:
-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 clean-noinstLTLIBRARIES \
- 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-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:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \
- 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-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 uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/usbhid-dump/lib/libusb.c b/usbhid-dump/lib/libusb.c
deleted file mode 100644
index 74c11cd..0000000
--- a/usbhid-dump/lib/libusb.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/** @file
- * @brief usbhid-dump - libusb API extensions
- *
- * Copyright (C) 2010 Nikolai Kondrashov
- *
- * This file is part of usbhid-dump.
- *
- * Usbhid-dump is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * @author Nikolai Kondrashov <spbnick@gmail.com>
- *
- * @(#) $Id$
- */
-
-#include "config.h"
-
-#include "uhd/libusb.h"
-#include <stdbool.h>
-
-
-#ifndef HAVE_LIBUSB_STRERROR
-const char *
-libusb_strerror(enum libusb_error err)
-{
- switch (err)
- {
- case LIBUSB_SUCCESS:
- return "Success";
-#define MAP(_name, _desc) \
- case LIBUSB_ERROR_##_name: \
- return _desc " (ERROR_" #_name ")"
- MAP(IO,
- "Input/output error");
- MAP(INVALID_PARAM,
- "Invalid parameter");
- MAP(ACCESS,
- "Access denied (insufficient permissions)");
- MAP(NO_DEVICE,
- "No such device (it may have been disconnected)");
- MAP(NOT_FOUND,
- "Entity not found");
- MAP(BUSY,
- "Resource busy");
- MAP(TIMEOUT,
- "Operation timed out");
- MAP(OVERFLOW,
- "Overflow");
- MAP(PIPE,
- "Pipe error");
- MAP(INTERRUPTED,
- "System call interrupted (perhaps due to signal)");
- MAP(NO_MEM,
- "Insufficient memory");
- MAP(NOT_SUPPORTED,
- "Operation not supported or unimplemented on this platform");
- MAP(OTHER, "Other error");
-#undef MAP
- default:
- return "Unknown error code";
- }
-}
-#endif
diff --git a/usbhid-dump/m4/libtool.m4 b/usbhid-dump/m4/libtool.m4
deleted file mode 100644
index 44e0ecf..0000000
--- a/usbhid-dump/m4/libtool.m4
+++ /dev/null
@@ -1,7982 +0,0 @@
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-m4_define([_LT_COPYING], [dnl
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-])
-
-# serial 57 LT_INIT
-
-
-# LT_PREREQ(VERSION)
-# ------------------
-# Complain and exit if this libtool version is less that VERSION.
-m4_defun([LT_PREREQ],
-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
- [m4_default([$3],
- [m4_fatal([Libtool version $1 or higher is required],
- 63)])],
- [$2])])
-
-
-# _LT_CHECK_BUILDDIR
-# ------------------
-# Complain if the absolute build directory name contains unusual characters
-m4_defun([_LT_CHECK_BUILDDIR],
-[case `pwd` in
- *\ * | *\ *)
- AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
-esac
-])
-
-
-# LT_INIT([OPTIONS])
-# ------------------
-AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
-AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-AC_BEFORE([$0], [LT_LANG])dnl
-AC_BEFORE([$0], [LT_OUTPUT])dnl
-AC_BEFORE([$0], [LTDL_INIT])dnl
-m4_require([_LT_CHECK_BUILDDIR])dnl
-
-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
-dnl unless we require an AC_DEFUNed macro:
-AC_REQUIRE([LTOPTIONS_VERSION])dnl
-AC_REQUIRE([LTSUGAR_VERSION])dnl
-AC_REQUIRE([LTVERSION_VERSION])dnl
-AC_REQUIRE([LTOBSOLETE_VERSION])dnl
-m4_require([_LT_PROG_LTMAIN])dnl
-
-_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
-
-dnl Parse OPTIONS
-_LT_SET_OPTIONS([$0], [$1])
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-_LT_SETUP
-
-# Only expand once:
-m4_define([LT_INIT])
-])# LT_INIT
-
-# Old names:
-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
-dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-])
-
-
-# _LT_FILEUTILS_DEFAULTS
-# ----------------------
-# It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
-m4_defun([_LT_FILEUTILS_DEFAULTS],
-[: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-])# _LT_FILEUTILS_DEFAULTS
-
-
-# _LT_SETUP
-# ---------
-m4_defun([_LT_SETUP],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
-
-_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
-dnl
-_LT_DECL([], [host_alias], [0], [The host system])dnl
-_LT_DECL([], [host], [0])dnl
-_LT_DECL([], [host_os], [0])dnl
-dnl
-_LT_DECL([], [build_alias], [0], [The build system])dnl
-_LT_DECL([], [build], [0])dnl
-_LT_DECL([], [build_os], [0])dnl
-dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-test -z "$LN_S" && LN_S="ln -s"
-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-dnl
-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
-m4_require([_LT_CMD_RELOAD])dnl
-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_WITH_SYSROOT])dnl
-
-_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-])
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-_LT_CHECK_OBJDIR
-
-m4_require([_LT_TAG_COMPILER])dnl
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- _LT_PATH_MAGIC
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-LT_SUPPORTED_TAG([CC])
-_LT_LANG_C_CONFIG
-_LT_LANG_DEFAULT_CONFIG
-_LT_CONFIG_COMMANDS
-])# _LT_SETUP
-
-
-# _LT_PREPARE_SED_QUOTE_VARS
-# --------------------------
-# Define a few sed substitution that help us do robust quoting.
-m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
-[# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-])
-
-# _LT_PROG_LTMAIN
-# ---------------
-# Note that this code is called both from `configure', and `config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-m4_defun([_LT_PROG_LTMAIN],
-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
-])# _LT_PROG_LTMAIN
-
-
-## ------------------------------------- ##
-## Accumulate code for creating libtool. ##
-## ------------------------------------- ##
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
-# label.
-
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL_INIT],
-[m4_ifval([$1],
- [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
- [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL],
-[m4_ifval([$1],
- [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
- [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# -----------------------------------------------------
-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
-[_LT_CONFIG_LIBTOOL([$1])
-_LT_CONFIG_LIBTOOL_INIT([$2])
-])
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-m4_define([_LT_FORMAT_COMMENT],
-[m4_ifval([$1], [
-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
- [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
-)])
-
-
-
-## ------------------------ ##
-## FIXME: Eliminate VARNAME ##
-## ------------------------ ##
-
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME. Any other value will be used directly.
-m4_define([_LT_DECL],
-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
- [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
- [m4_ifval([$1], [$1], [$2])])
- lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
- m4_ifval([$4],
- [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
- lt_dict_add_subkey([lt_decl_dict], [$2],
- [tagged?], [m4_ifval([$5], [yes], [no])])])
-])
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_tag_varnames],
-[_lt_decl_filter([tagged?], [yes], $@)])
-
-
-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-# ---------------------------------------------------------
-m4_define([_lt_decl_filter],
-[m4_case([$#],
- [0], [m4_fatal([$0: too few arguments: $#])],
- [1], [m4_fatal([$0: too few arguments: $#: $1])],
- [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
- [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
- [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-])
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# --------------------------------------------------
-m4_define([lt_decl_quote_varnames],
-[_lt_decl_filter([value], [1], $@)])
-
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_dquote_varnames],
-[_lt_decl_filter([value], [2], $@)])
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_varnames_tagged],
-[m4_assert([$# <= 2])dnl
-_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
- m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
-m4_define([_lt_decl_varnames_tagged],
-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_all_varnames],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_if([$2], [],
- m4_quote(lt_decl_varnames),
- m4_quote(m4_shift($@))))[]dnl
-])
-m4_define([_lt_decl_all_varnames],
-[lt_join($@, lt_decl_varnames_tagged([$1],
- lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-])
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'. VARNAME
-# must have a single quote delimited value for this to work.
-m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly. In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
- [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-m4_defun([_LT_LIBTOOL_TAGS],
-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
-])
-
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-# # Some comment about what VAR is for.
-# visible_name=$lt_internal_name
-m4_define([_LT_LIBTOOL_DECLARE],
-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
- [description])))[]dnl
-m4_pushdef([_libtool_name],
- m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
- [0], [_libtool_name=[$]$1],
- [1], [_libtool_name=$lt_[]$1],
- [2], [_libtool_name=$lt_[]$1],
- [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-])
-
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
-# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
-[m4_foreach([_lt_var],
- m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-m4_define([_LT_LIBTOOL_TAG_VARS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-
-
-# _LT_TAGVAR(VARNAME, [TAGNAME])
-# ------------------------------
-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'. Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-m4_defun([_LT_CONFIG_COMMANDS],
-[AC_PROVIDE_IFELSE([LT_OUTPUT],
- dnl If the libtool generation code has been placed in $CONFIG_LT,
- dnl instead of duplicating it all over again into config.status,
- dnl then we will have config.status run $CONFIG_LT later, so it
- dnl needs to know what name is stored there:
- [AC_CONFIG_COMMANDS([libtool],
- [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
- dnl If the libtool generation code is destined for config.status,
- dnl expand the accumulated commands and init code now:
- [AC_CONFIG_COMMANDS([libtool],
- [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
-])#_LT_CONFIG_COMMANDS
-
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
-[
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-_LT_CONFIG_STATUS_DECLARATIONS
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$[]1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_quote_varnames); do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_dquote_varnames); do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-_LT_OUTPUT_LIBTOOL_INIT
-])
-
-# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
-# ------------------------------------
-# Generate a child script FILE with all initialization necessary to
-# reuse the environment learned by the parent script, and make the
-# file executable. If COMMENT is supplied, it is inserted after the
-# `#!' sequence but before initialization text begins. After this
-# macro, additional text can be appended to FILE to form the body of
-# the child script. The macro ends with non-zero status if the
-# file could not be fully written (such as if the disk is full).
-m4_ifdef([AS_INIT_GENERATED],
-[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
-[m4_defun([_LT_GENERATED_FILE_INIT],
-[m4_require([AS_PREPARE])]dnl
-[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
-[lt_write_fail=0
-cat >$1 <<_ASEOF || lt_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-$2
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$1 <<\_ASEOF || lt_write_fail=1
-AS_SHELL_SANITIZE
-_AS_PREPARE
-exec AS_MESSAGE_FD>&1
-_ASEOF
-test $lt_write_fail = 0 && chmod +x $1[]dnl
-m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
-
-# LT_OUTPUT
-# ---------
-# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
-# tests.
-AC_DEFUN([LT_OUTPUT],
-[: ${CONFIG_LT=./config.lt}
-AC_MSG_NOTICE([creating $CONFIG_LT])
-_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
-[# Run this file to recreate a libtool stub with the current configuration.])
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-lt_cl_silent=false
-exec AS_MESSAGE_LOG_FD>>config.log
-{
- echo
- AS_BOX([Running $as_me.])
-} >&AS_MESSAGE_LOG_FD
-
-lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
-for use in further configure time tests before the real libtool is
-generated.
-
-Usage: $[0] [[OPTIONS]]
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
-
-Report bugs to <bug-libtool@gnu.org>."
-
-lt_cl_version="\
-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
-configured by $[0], generated by m4_PACKAGE_STRING.
-
-Copyright (C) 2011 Free Software Foundation, Inc.
-This config.lt script is free software; the Free Software Foundation
-gives unlimited permision to copy, distribute and modify it."
-
-while test $[#] != 0
-do
- case $[1] in
- --version | --v* | -V )
- echo "$lt_cl_version"; exit 0 ;;
- --help | --h* | -h )
- echo "$lt_cl_help"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --quiet | --q* | --silent | --s* | -q )
- lt_cl_silent=: ;;
-
- -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
-
- *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
- esac
- shift
-done
-
-if $lt_cl_silent; then
- exec AS_MESSAGE_FD>/dev/null
-fi
-_LTEOF
-
-cat >>"$CONFIG_LT" <<_LTEOF
-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AC_MSG_NOTICE([creating $ofile])
-_LT_OUTPUT_LIBTOOL_COMMANDS
-AS_EXIT(0)
-_LTEOF
-chmod +x "$CONFIG_LT"
-
-# configure is writing to config.log, but config.lt does its own redirection,
-# appending to config.log, which fails on DOS, as config.log is still kept
-# open by configure. Here we exec the FD to /dev/null, effectively closing
-# config.log, so it can be properly (re)opened and appended to by config.lt.
-lt_cl_success=:
-test "$silent" = yes &&
- lt_config_lt_args="$lt_config_lt_args --quiet"
-exec AS_MESSAGE_LOG_FD>/dev/null
-$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-exec AS_MESSAGE_LOG_FD>>config.log
-$lt_cl_success || AS_EXIT(1)
-])# LT_OUTPUT
-
-
-# _LT_CONFIG(TAG)
-# ---------------
-# If TAG is the built-in tag, create an initial libtool script with a
-# default configuration from the untagged config vars. Otherwise add code
-# to config.status for appending the configuration named by TAG from the
-# matching tagged config vars.
-m4_defun([_LT_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_CONFIG_SAVE_COMMANDS([
- m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
- m4_if(_LT_TAG, [C], [
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-_LT_COPYING
-_LT_LIBTOOL_TAGS
-
-# ### BEGIN LIBTOOL CONFIG
-_LT_LIBTOOL_CONFIG_VARS
-_LT_LIBTOOL_TAG_VARS
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
- _LT_PROG_LTMAIN
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- _LT_PROG_REPLACE_SHELLFNS
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-],
-[cat <<_LT_EOF >> "$ofile"
-
-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
-dnl in a comment (ie after a #).
-# ### BEGIN LIBTOOL TAG CONFIG: $1
-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
-# ### END LIBTOOL TAG CONFIG: $1
-_LT_EOF
-])dnl /m4_if
-],
-[m4_if([$1], [], [
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'], [])
-])dnl /_LT_CONFIG_SAVE_COMMANDS
-])# _LT_CONFIG
-
-
-# LT_SUPPORTED_TAG(TAG)
-# ---------------------
-# Trace this macro to discover what tags are supported by the libtool
-# --tag option, using:
-# autoconf --trace 'LT_SUPPORTED_TAG:$1'
-AC_DEFUN([LT_SUPPORTED_TAG], [])
-
-
-# C support is built-in for now
-m4_define([_LT_LANG_C_enabled], [])
-m4_define([_LT_TAGS], [])
-
-
-# LT_LANG(LANG)
-# -------------
-# Enable libtool support for the given language if not already enabled.
-AC_DEFUN([LT_LANG],
-[AC_BEFORE([$0], [LT_OUTPUT])dnl
-m4_case([$1],
- [C], [_LT_LANG(C)],
- [C++], [_LT_LANG(CXX)],
- [Go], [_LT_LANG(GO)],
- [Java], [_LT_LANG(GCJ)],
- [Fortran 77], [_LT_LANG(F77)],
- [Fortran], [_LT_LANG(FC)],
- [Windows Resource], [_LT_LANG(RC)],
- [m4_ifdef([_LT_LANG_]$1[_CONFIG],
- [_LT_LANG($1)],
- [m4_fatal([$0: unsupported language: "$1"])])])dnl
-])# LT_LANG
-
-
-# _LT_LANG(LANGNAME)
-# ------------------
-m4_defun([_LT_LANG],
-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
- [LT_SUPPORTED_TAG([$1])dnl
- m4_append([_LT_TAGS], [$1 ])dnl
- m4_define([_LT_LANG_]$1[_enabled], [])dnl
- _LT_LANG_$1_CONFIG($1)])dnl
-])# _LT_LANG
-
-
-m4_ifndef([AC_PROG_GO], [
-############################################################
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_GO. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-############################################################
-m4_defun([AC_PROG_GO],
-[AC_LANG_PUSH(Go)dnl
-AC_ARG_VAR([GOC], [Go compiler command])dnl
-AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
-_AC_ARG_VAR_LDFLAGS()dnl
-AC_CHECK_TOOL(GOC, gccgo)
-if test -z "$GOC"; then
- if test -n "$ac_tool_prefix"; then
- AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
- fi
-fi
-if test -z "$GOC"; then
- AC_CHECK_PROG(GOC, gccgo, gccgo, false)
-fi
-])#m4_defun
-])#m4_ifndef
-
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-m4_defun([_LT_LANG_DEFAULT_CONFIG],
-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [LT_LANG(CXX)],
- [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_F77],
- [LT_LANG(F77)],
- [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_FC],
- [LT_LANG(FC)],
- [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-
-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-dnl pulling things in needlessly.
-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [LT_LANG(GCJ)],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [LT_LANG(GCJ)],
- [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
- [LT_LANG(GCJ)],
- [m4_ifdef([AC_PROG_GCJ],
- [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
- m4_ifdef([A][M_PROG_GCJ],
- [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
- m4_ifdef([LT_PROG_GCJ],
- [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-
-AC_PROVIDE_IFELSE([AC_PROG_GO],
- [LT_LANG(GO)],
- [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
-
-AC_PROVIDE_IFELSE([LT_PROG_RC],
- [LT_LANG(RC)],
- [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-])# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros:
-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-dnl AC_DEFUN([AC_LIBTOOL_RC], [])
-
-
-# _LT_TAG_COMPILER
-# ----------------
-m4_defun([_LT_TAG_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_TAG_COMPILER
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-m4_defun([_LT_COMPILER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-m4_defun([_LT_LINKER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# -------------------------
-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
- case $host_os in
- rhapsody* | darwin*)
- AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
- AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
- AC_CHECK_TOOL([LIPO], [lipo], [:])
- AC_CHECK_TOOL([OTOOL], [otool], [:])
- AC_CHECK_TOOL([OTOOL64], [otool64], [:])
- _LT_DECL([], [DSYMUTIL], [1],
- [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
- _LT_DECL([], [NMEDIT], [1],
- [Tool to change global to local symbols on Mac OS X])
- _LT_DECL([], [LIPO], [1],
- [Tool to manipulate fat objects and archives on Mac OS X])
- _LT_DECL([], [OTOOL], [1],
- [ldd/readelf like tool for Mach-O binaries on Mac OS X])
- _LT_DECL([], [OTOOL64], [1],
- [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-
- AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
- [lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- # If there is a non-empty error log, and "single_module"
- # appears in it, assume the flag caused a linker warning
- if test -s conftest.err && $GREP single_module conftest.err; then
- cat conftest.err >&AS_MESSAGE_LOG_FD
- # Otherwise, if the output was created with a 0 exit code from
- # the compiler, it worked.
- elif test -f libconftest.dylib && test $_lt_result -eq 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&AS_MESSAGE_LOG_FD
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi])
-
- AC_CACHE_CHECK([for -exported_symbols_list linker flag],
- [lt_cv_ld_exported_symbols_list],
- [lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [lt_cv_ld_exported_symbols_list=yes],
- [lt_cv_ld_exported_symbols_list=no])
- LDFLAGS="$save_LDFLAGS"
- ])
-
- AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
- [lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
- echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
- $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
- echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
- $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -s conftest.err && $GREP force_load conftest.err; then
- cat conftest.err >&AS_MESSAGE_LOG_FD
- elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&AS_MESSAGE_LOG_FD
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
- ])
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-])
-
-
-# _LT_DARWIN_LINKER_FEATURES([TAG])
-# ---------------------------------
-# Checks for linker and compiler features on darwin
-m4_defun([_LT_DARWIN_LINKER_FEATURES],
-[
- m4_require([_LT_REQUIRED_DARWIN_CHECKS])
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_automatic, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
- [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=''
- fi
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- m4_if([$1], [CXX],
-[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
- fi
-],[])
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
-])
-
-# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
-# ----------------------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-# Store the results from the different compilers for each TAGNAME.
-# Allow to override them for all tags through lt_cv_aix_libpath.
-m4_defun([_LT_SYS_MODULE_PATH_AIX],
-[m4_require([_LT_DECL_SED])dnl
-if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
- [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
- lt_aix_libpath_sed='[
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }]'
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi],[])
- if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
- fi
- ])
- aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
-fi
-])# _LT_SYS_MODULE_PATH_AIX
-
-
-# _LT_SHELL_INIT(ARG)
-# -------------------
-m4_define([_LT_SHELL_INIT],
-[m4_divert_text([M4SH-INIT], [$1
-])])# _LT_SHELL_INIT
-
-
-
-# _LT_PROG_ECHO_BACKSLASH
-# -----------------------
-# Find how we can fake an echo command that does not interpret backslash.
-# In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script which will find a shell with a builtin
-# printf (which we can use as an echo command).
-m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-AC_MSG_CHECKING([how to print strings])
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$[]1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO "$*"
-}
-
-case "$ECHO" in
- printf*) AC_MSG_RESULT([printf]) ;;
- print*) AC_MSG_RESULT([print -r]) ;;
- *) AC_MSG_RESULT([cat]) ;;
-esac
-
-m4_ifdef([_AS_DETECT_SUGGESTED],
-[_AS_DETECT_SUGGESTED([
- test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
- ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test "X`printf %s $ECHO`" = "X$ECHO" \
- || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
-
-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
-])# _LT_PROG_ECHO_BACKSLASH
-
-
-# _LT_WITH_SYSROOT
-# ----------------
-AC_DEFUN([_LT_WITH_SYSROOT],
-[AC_MSG_CHECKING([for sysroot])
-AC_ARG_WITH([sysroot],
-[ --with-sysroot[=DIR] Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).],
-[], [with_sysroot=no])
-
-dnl lt_sysroot will always be passed unquoted. We quote it here
-dnl in case the user passed a directory name.
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- AC_MSG_RESULT([${with_sysroot}])
- AC_MSG_ERROR([The sysroot must be an absolute path.])
- ;;
-esac
-
- AC_MSG_RESULT([${lt_sysroot:-no}])
-_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-[dependent libraries, and in which our libraries should be installed.])])
-
-# _LT_ENABLE_LOCK
-# ---------------
-m4_defun([_LT_ENABLE_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
- [AS_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_LANG_PUSH(C)
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
- AC_LANG_POP])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*)
- case $host in
- i?86-*-solaris*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- sparc*-*-solaris*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
- if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
- LD="${LD-ld}_sol2"
- fi
- ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-])# _LT_ENABLE_LOCK
-
-
-# _LT_PROG_AR
-# -----------
-m4_defun([_LT_PROG_AR],
-[AC_CHECK_TOOLS(AR, [ar], false)
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
-
-AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
- [lt_cv_ar_at_file=no
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
- [echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
- AC_TRY_EVAL([lt_ar_try])
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- AC_TRY_EVAL([lt_ar_try])
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
- ])
- ])
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-_LT_DECL([], [archiver_list_spec], [1],
- [How to feed a file listing to the archiver])
-])# _LT_PROG_AR
-
-
-# _LT_CMD_OLD_ARCHIVE
-# -------------------
-m4_defun([_LT_CMD_OLD_ARCHIVE],
-[_LT_PROG_AR
-
-AC_CHECK_TOOL(STRIP, strip, :)
-test -z "$STRIP" && STRIP=:
-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-test -z "$RANLIB" && RANLIB=:
-_LT_DECL([], [RANLIB], [1],
- [Commands used to install an old-style archive])
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-_LT_DECL([], [old_postinstall_cmds], [2])
-_LT_DECL([], [old_postuninstall_cmds], [2])
-_LT_TAGDECL([], [old_archive_cmds], [2],
- [Commands used to build an old-style archive])
-_LT_DECL([], [lock_old_archive_extraction], [0],
- [Whether to use a lock for old archive extraction])
-])# _LT_CMD_OLD_ARCHIVE
-
-
-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([_LT_COMPILER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- fi
- $RM conftest*
-])
-
-if test x"[$]$2" = xyes; then
- m4_if([$5], , :, [$5])
-else
- m4_if([$6], , :, [$6])
-fi
-])# _LT_COMPILER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-
-
-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------
-# Check whether the given linker option works
-AC_DEFUN([_LT_LINKER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $3"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- else
- $2=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
- m4_if([$4], , :, [$4])
-else
- m4_if([$5], , :, [$5])
-fi
-])# _LT_LINKER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-
-
-# LT_CMD_MAX_LEN
-#---------------
-AC_DEFUN([LT_CMD_MAX_LEN],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- os2*)
- # The test takes a long time on OS/2.
- lt_cv_sys_max_cmd_len=8192
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
- AC_MSG_RESULT(none)
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-_LT_DECL([], [max_cmd_len], [0],
- [What is the maximum length of a command?])
-])# LT_CMD_MAX_LEN
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-
-
-# _LT_HEADER_DLFCN
-# ----------------
-m4_defun([_LT_HEADER_DLFCN],
-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-])# _LT_HEADER_DLFCN
-
-
-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ----------------------------------------------------------------
-m4_defun([_LT_TRY_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
- [$4]
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-[#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}]
-_LT_EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) $1 ;;
- x$lt_dlneed_uscore) $2 ;;
- x$lt_dlunknown|x*) $3 ;;
- esac
- else :
- # compilation failed
- $3
- fi
-fi
-rm -fr conftest*
-])# _LT_TRY_DLOPEN_SELF
-
-
-# LT_SYS_DLOPEN_SELF
-# ------------------
-AC_DEFUN([LT_SYS_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ])
- ;;
-
- *)
- AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
- [AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
- [AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
- [AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
- [AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
- [AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
- ])
- ])
- ])
- ])
- ])
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- AC_CACHE_CHECK([whether a program can dlopen itself],
- lt_cv_dlopen_self, [dnl
- _LT_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
- ])
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
- lt_cv_dlopen_self_static, [dnl
- _LT_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
- ])
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-_LT_DECL([dlopen_support], [enable_dlopen], [0],
- [Whether dlopen is supported])
-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
- [Whether dlopen of programs is supported])
-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
- [Whether dlopen of statically linked programs is supported])
-])# LT_SYS_DLOPEN_SELF
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-
-
-# _LT_COMPILER_C_O([TAGNAME])
-# ---------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler.
-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-m4_defun([_LT_COMPILER_C_O],
-[m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
- fi
- fi
- chmod u+w . 2>&AS_MESSAGE_LOG_FD
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-])
-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
- [Does compiler simultaneously support -c and -o options?])
-])# _LT_COMPILER_C_O
-
-
-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-# ----------------------------------
-# Check to see if we can do hard links to lock some files if needed
-m4_defun([_LT_COMPILER_FILE_LOCKS],
-[m4_require([_LT_ENABLE_LOCK])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_COMPILER_C_O([$1])
-
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- AC_MSG_CHECKING([if we can lock with hard links])
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-])# _LT_COMPILER_FILE_LOCKS
-
-
-# _LT_CHECK_OBJDIR
-# ----------------
-m4_defun([_LT_CHECK_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-_LT_DECL([], [objdir], [0],
- [The name of the directory that contains temporary libtool files])dnl
-m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
- [Define to the sub-directory in which libtool stores uninstalled libraries.])
-])# _LT_CHECK_OBJDIR
-
-
-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-# --------------------------------------
-# Check hardcoding attributes.
-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
- test -n "$_LT_TAGVAR(runpath_var, $1)" ||
- test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
- # Linking always hardcodes the temporary library directory.
- _LT_TAGVAR(hardcode_action, $1)=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_TAGVAR(hardcode_action, $1)=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- _LT_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
- test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-_LT_TAGDECL([], [hardcode_action], [0],
- [How to hardcode a shared library path into an executable])
-])# _LT_LINKER_HARDCODE_LIBPATH
-
-
-# _LT_CMD_STRIPLIB
-# ----------------
-m4_defun([_LT_CMD_STRIPLIB],
-[m4_require([_LT_DECL_EGREP])
-striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
-fi
-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-_LT_DECL([], [striplib], [1])
-])# _LT_CMD_STRIPLIB
-
-
-# _LT_SYS_DYNAMIC_LINKER([TAG])
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-m4_defun([_LT_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_OBJDUMP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-m4_if([$1],
- [], [
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[[lt_foo]]++; }
- if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[[4-9]]*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[[01]] | aix4.[[01]].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[[45]]*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[[23]].*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2.*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[[01]]* | freebsdelf3.[[01]]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[[3-9]]*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux # correct to gnu/linux during the next big refactor
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
- [lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
- LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
- [lt_cv_shlibpath_overrides_runpath=yes])])
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
- ])
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[[89]] | openbsd2.[[89]].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-_LT_DECL([], [variables_saved_for_relink], [1],
- [Variables whose values should be saved in libtool wrapper scripts and
- restored at link time])
-_LT_DECL([], [need_lib_prefix], [0],
- [Do we need the "lib" prefix for modules?])
-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
-_LT_DECL([], [version_type], [0], [Library versioning type])
-_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
-_LT_DECL([], [shlibpath_overrides_runpath], [0],
- [Is shlibpath searched before the hard-coded library search path?])
-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
-_LT_DECL([], [library_names_spec], [1],
- [[List of archive names. First name is the real one, the rest are links.
- The last name is the one that the linker finds with -lNAME]])
-_LT_DECL([], [soname_spec], [1],
- [[The coded name of the library, if different from the real name]])
-_LT_DECL([], [install_override_mode], [1],
- [Permission mode override for installation of shared libraries])
-_LT_DECL([], [postinstall_cmds], [2],
- [Command to use after installation of a shared archive])
-_LT_DECL([], [postuninstall_cmds], [2],
- [Command to use after uninstallation of a shared archive])
-_LT_DECL([], [finish_cmds], [2],
- [Commands used to finish a libtool library installation in a directory])
-_LT_DECL([], [finish_eval], [1],
- [[As "finish_cmds", except a single script fragment to be evaled but
- not shown]])
-_LT_DECL([], [hardcode_into_libs], [0],
- [Whether we should hardcode library paths into libraries])
-_LT_DECL([], [sys_lib_search_path_spec], [2],
- [Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
- [Run-time system search path for libraries])
-])# _LT_SYS_DYNAMIC_LINKER
-
-
-# _LT_PATH_TOOL_PREFIX(TOOL)
-# --------------------------
-# find a file program which can recognize shared library
-AC_DEFUN([_LT_PATH_TOOL_PREFIX],
-[m4_require([_LT_DECL_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="m4_if([$2], , $PATH, [$2])"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- AC_MSG_RESULT($MAGIC_CMD)
-else
- AC_MSG_RESULT(no)
-fi
-_LT_DECL([], [MAGIC_CMD], [0],
- [Used to examine libraries when file_magic_cmd begins with "file"])dnl
-])# _LT_PATH_TOOL_PREFIX
-
-# Old name:
-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-
-
-# _LT_PATH_MAGIC
-# --------------
-# find a file program which can recognize a shared library
-m4_defun([_LT_PATH_MAGIC],
-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
- else
- MAGIC_CMD=:
- fi
-fi
-])# _LT_PATH_MAGIC
-
-
-# LT_PATH_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([LT_PATH_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
-
-AC_ARG_WITH([gnu-ld],
- [AS_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])dnl
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by $CC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]]* | ?:[[\\/]]*)
- re_direlt='/[[^/]][[^/]]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-_LT_PATH_LD_GNU
-AC_SUBST([LD])
-
-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
-])# LT_PATH_LD
-
-# Old names:
-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_LD], [])
-dnl AC_DEFUN([AC_PROG_LD], [])
-
-
-# _LT_PATH_LD_GNU
-#- --------------
-m4_defun([_LT_PATH_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# _LT_PATH_LD_GNU
-
-
-# _LT_CMD_RELOAD
-# --------------
-# find reload flag for linker
-# -- PORTME Some linkers may need a different reload flag.
-m4_defun([_LT_CMD_RELOAD],
-[AC_CACHE_CHECK([for $LD option to reload object files],
- lt_cv_ld_reload_flag,
- [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_TAGDECL([], [reload_cmds], [2])dnl
-])# _LT_CMD_RELOAD
-
-
-# _LT_CHECK_MAGIC_METHOD
-# ----------------------
-# how to check for library dependencies
-# -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_MAGIC_METHOD],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[[45]]*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[[3-9]]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-])
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-_LT_DECL([], [deplibs_check_method], [1],
- [Method to check whether dependent libraries are shared objects])
-_LT_DECL([], [file_magic_cmd], [1],
- [Command to use when deplibs_check_method = "file_magic"])
-_LT_DECL([], [file_magic_glob], [1],
- [How to find potential files when deplibs_check_method = "file_magic"])
-_LT_DECL([], [want_nocaseglob], [1],
- [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
-])# _LT_CHECK_MAGIC_METHOD
-
-
-# LT_PATH_NM
-# ----------
-# find the pathname to a BSD- or MS-compatible name lister
-AC_DEFUN([LT_PATH_NM],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi])
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
- AC_SUBST([DUMPBIN])
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-AC_SUBST([NM])
-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
-
-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
- [lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
- cat conftest.out >&AS_MESSAGE_LOG_FD
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*])
-])# LT_PATH_NM
-
-# Old names:
-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_NM], [])
-dnl AC_DEFUN([AC_PROG_NM], [])
-
-# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-# --------------------------------
-# how to determine the name of the shared library
-# associated with a specific link library.
-# -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-m4_require([_LT_DECL_DLLTOOL])
-AC_CACHE_CHECK([how to associate runtime and link libraries],
-lt_cv_sharedlib_from_linklib_cmd,
-[lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-])
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
- [Command to associate shared and link libraries])
-])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-
-
-# _LT_PATH_MANIFEST_TOOL
-# ----------------------
-# locate the manifest tool
-m4_defun([_LT_PATH_MANIFEST_TOOL],
-[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
- [lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&AS_MESSAGE_LOG_FD
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*])
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
-])# _LT_PATH_MANIFEST_TOOL
-
-
-# LT_LIB_M
-# --------
-# check for math library
-AC_DEFUN([LT_LIB_M],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
- # These system don't have libm, or don't need it
- ;;
-*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
- ;;
-*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
- ;;
-esac
-AC_SUBST([LIBM])
-])# LT_LIB_M
-
-# Old name:
-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_CHECK_LIBM], [])
-
-
-# _LT_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------
-m4_defun([_LT_COMPILER_NO_RTTI],
-[m4_require([_LT_TAG_COMPILER])dnl
-
-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
- esac
-
- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
- lt_cv_prog_compiler_rtti_exceptions,
- [-fno-rtti -fno-exceptions], [],
- [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
- [Compiler flag to turn off builtin functions])
-])# _LT_COMPILER_NO_RTTI
-
-
-# _LT_CMD_GLOBAL_SYMBOLS
-# ----------------------
-m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[[BCDT]]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[[ABCDGISTW]]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDEGRST]]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[[BCDEGRST]]'
- ;;
-osf*)
- symcode='[[BCDEGQRST]]'
- ;;
-solaris*)
- symcode='[[BDRT]]'
- ;;
-sco3.2v5*)
- symcode='[[DT]]'
- ;;
-sysv4.2uw2*)
- symcode='[[DT]]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[[ABDT]]'
- ;;
-sysv4)
- symcode='[[DFNSTU]]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK ['"\
-" {last_section=section; section=\$ 3};"\
-" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx]"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT@&t@_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT@&t@_DLSYM_CONST
-#else
-# define LT@&t@_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT@&t@_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[[]] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- AC_MSG_RESULT(failed)
-else
- AC_MSG_RESULT(ok)
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
- [Take the output of nm and produce a listing of raw symbols and C names])
-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
- [Transform the output of nm in a proper C declaration])
-_LT_DECL([global_symbol_to_c_name_address],
- [lt_cv_sys_global_symbol_to_c_name_address], [1],
- [Transform the output of nm in a C name address pair])
-_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
- [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
- [Transform the output of nm in a C name address pair when lib prefix is needed])
-_LT_DECL([], [nm_file_list_spec], [1],
- [Specify filename containing input files for $NM])
-]) # _LT_CMD_GLOBAL_SYMBOLS
-
-
-# _LT_COMPILER_PIC([TAGNAME])
-# ---------------------------
-m4_defun([_LT_COMPILER_PIC],
-[m4_require([_LT_TAG_COMPILER])dnl
-_LT_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_TAGVAR(lt_prog_compiler_static, $1)=
-
-m4_if([$1], [CXX], [
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | os2* | pw32* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- _LT_TAGVAR(lt_prog_compiler_static, $1)=
- ;;
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
- *qnx* | *nto*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix[[4-9]]*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
- ;;
- esac
- ;;
- mingw* | cygwin* | os2* | pw32* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- fi
- ;;
- aCC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- esac
- ;;
- interix*)
- # This is c89, which is MS Visual C++ (no shared libs)
- # Anyone wants to do a port?
- ;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- ecpc* )
- # old Intel C++ for x86_64 which still supported -KPIC.
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- icpc* )
- # Intel C++, used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- cxx*)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
- # IBM XL 8.0, 9.0 on PPC and BlueGene
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd*)
- ;;
- *qnx* | *nto*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- lcc*)
- # Lucid
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- vxworks*)
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-],
-[
- if test "$GCC" = yes; then
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- _LT_TAGVAR(lt_prog_compiler_static, $1)=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
-
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
-
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
- if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
- fi
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
-
- hpux9* | hpux10* | hpux11*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC (with -KPIC) is the default.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- ccc*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All Alpha code is PIC.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
- ;;
- *Sun\ F* | *Sun*Fortran*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- *Sun\ C*)
- # Sun C 5.9
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- *Intel*\ [[CF]]*Compiler*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- *Portland\ Group*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All OSF/1 code is PIC.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- rdos*)
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- solaris*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
- *)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
- esac
- ;;
-
- sunos4*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- unicos*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
-
- uts4*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *)
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-])
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
- ;;
-esac
-
-AC_CACHE_CHECK([for $compiler option to produce PIC],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
- [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
- [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
- "" | " "*) ;;
- *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
- esac],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
- [Additional compiler flags for building library objects])
-
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
- [How to pass a linker flag through the compiler])
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
- _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
- $lt_tmp_static_flag,
- [],
- [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
- [Compiler flag to prevent dynamic linking])
-])# _LT_COMPILER_PIC
-
-
-# _LT_LINKER_SHLIBS([TAGNAME])
-# ----------------------------
-# See if the linker supports building shared libraries.
-m4_defun([_LT_LINKER_SHLIBS],
-[AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-m4_if([$1], [CXX], [
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
- case $host_os in
- aix[[4-9]]*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global defined
- # symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
- ;;
- cygwin* | mingw* | cegcc*)
- case $cc_basename in
- cl*)
- _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
- ;;
- *)
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
- ;;
- esac
- ;;
- *)
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
-], [
- runpath_var=
- _LT_TAGVAR(allow_undefined_flag, $1)=
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(archive_cmds, $1)=
- _LT_TAGVAR(archive_expsym_cmds, $1)=
- _LT_TAGVAR(compiler_needs_object, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(hardcode_automatic, $1)=no
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_TAGVAR(hardcode_minus_L, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_TAGVAR(inherit_rpath, $1)=no
- _LT_TAGVAR(link_all_deplibs, $1)=unknown
- _LT_TAGVAR(module_cmds, $1)=
- _LT_TAGVAR(module_expsym_cmds, $1)=
- _LT_TAGVAR(old_archive_from_new_cmds, $1)=
- _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
- _LT_TAGVAR(thread_safe_flag_spec, $1)=
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- _LT_TAGVAR(include_expsyms, $1)=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- _LT_TAGVAR(ld_shlibs, $1)=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
- *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[[3-9]]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)=''
- ;;
- m68k)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- interix[[3-9]]*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- tmp_sharedflag='--shared' ;;
- xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
-
- if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
- runpath_var=
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- fi
- ;;
-
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_TAGVAR(archive_cmds, $1)=''
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)=''
- ;;
- m68k)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- ;;
-
- bsdi[[45]]*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
- _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- # FIXME: Should let the user specify the lib program.
- _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
- _LT_DARWIN_LINKER_FEATURES($1)
- ;;
-
- dgux*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2.*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_direct, $1)=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- m4_if($1, [], [
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- _LT_LINKER_OPTION([if $CC understands -b],
- _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
- [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
- [lt_cv_irix_exported_symbol],
- [save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- AC_LINK_IFELSE(
- [AC_LANG_SOURCE(
- [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
- [C++], [[int foo (void) { return 0; }]],
- [Fortran 77], [[
- subroutine foo
- end]],
- [Fortran], [[
- subroutine foo
- end]])])],
- [lt_cv_irix_exported_symbol=yes],
- [lt_cv_irix_exported_symbol=no])
- LDFLAGS="$save_LDFLAGS"])
- if test "$lt_cv_irix_exported_symbol" = yes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(inherit_rpath, $1)=yes
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- newsos6)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- os2*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- else
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- solaris*)
- _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
- _LT_TAGVAR(hardcode_direct, $1)=no
- ;;
- motorola)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4.3*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- _LT_TAGVAR(ld_shlibs, $1)=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-])
-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
-
-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
-_LT_DECL([], [extract_expsyms_cmds], [2],
- [The commands to extract the exported symbol list from a shared archive])
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
- # Assume -lc should be added
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $_LT_TAGVAR(archive_cmds, $1) in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- AC_CACHE_CHECK([whether -lc should be explicitly linked in],
- [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
- [$RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
- pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
- _LT_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
- then
- lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
- ])
- _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
- ;;
- esac
- fi
- ;;
-esac
-
-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
- [Whether or not to add -lc for building shared libraries])
-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
- [enable_shared_with_static_runtimes], [0],
- [Whether or not to disallow shared libs when runtime libs are static])
-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
- [Compiler flag to allow reflexive dlopens])
-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
- [Compiler flag to generate shared objects directly from archives])
-_LT_TAGDECL([], [compiler_needs_object], [1],
- [Whether the compiler copes with passing no objects directly])
-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
- [Create an old-style archive from a shared archive])
-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
- [Create a temporary old-style archive to link instead of a shared archive])
-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-_LT_TAGDECL([], [archive_expsym_cmds], [2])
-_LT_TAGDECL([], [module_cmds], [2],
- [Commands used to build a loadable module if different from building
- a shared archive.])
-_LT_TAGDECL([], [module_expsym_cmds], [2])
-_LT_TAGDECL([], [with_gnu_ld], [1],
- [Whether we are building with GNU ld or not])
-_LT_TAGDECL([], [allow_undefined_flag], [1],
- [Flag that allows shared libraries with undefined symbols to be built])
-_LT_TAGDECL([], [no_undefined_flag], [1],
- [Flag that enforces no undefined symbols])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
- [Flag to hardcode $libdir into a binary during linking.
- This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
- [Whether we need a single "-rpath" flag with a separated argument])
-_LT_TAGDECL([], [hardcode_direct], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
- DIR into the resulting binary])
-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
- DIR into the resulting binary and the resulting library dependency is
- "absolute", i.e impossible to change by setting ${shlibpath_var} if the
- library is relocated])
-_LT_TAGDECL([], [hardcode_minus_L], [0],
- [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
- into the resulting binary])
-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
- [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
- into the resulting binary])
-_LT_TAGDECL([], [hardcode_automatic], [0],
- [Set to "yes" if building a shared library automatically hardcodes DIR
- into the library and all subsequent libraries and executables linked
- against it])
-_LT_TAGDECL([], [inherit_rpath], [0],
- [Set to yes if linker adds runtime paths of dependent libraries
- to runtime path list])
-_LT_TAGDECL([], [link_all_deplibs], [0],
- [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [always_export_symbols], [0],
- [Set to "yes" if exported symbols are required])
-_LT_TAGDECL([], [export_symbols_cmds], [2],
- [The commands to list exported symbols])
-_LT_TAGDECL([], [exclude_expsyms], [1],
- [Symbols that should not be listed in the preloaded symbols])
-_LT_TAGDECL([], [include_expsyms], [1],
- [Symbols that must always be exported])
-_LT_TAGDECL([], [prelink_cmds], [2],
- [Commands necessary for linking programs (against libraries) with templates])
-_LT_TAGDECL([], [postlink_cmds], [2],
- [Commands necessary for finishing linking programs])
-_LT_TAGDECL([], [file_list_spec], [1],
- [Specify filename containing input files])
-dnl FIXME: Not yet implemented
-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-dnl [Compiler flag to generate thread safe objects])
-])# _LT_LINKER_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_C_CONFIG],
-[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_TAG_COMPILER
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
- _LT_COMPILER_NO_RTTI($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
- LT_SYS_DLOPEN_SELF
- _LT_CMD_STRIPLIB
-
- # Report which library types will actually be built
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_CONFIG($1)
-fi
-AC_LANG_POP
-CC="$lt_save_CC"
-])# _LT_LANG_C_CONFIG
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_CXX_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-else
- _lt_caught_CXX_error=yes
-fi
-
-AC_LANG_PUSH(C++)
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(compiler_needs_object, $1)=no
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="int some_variable = 0;"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC=$CC
- lt_save_CFLAGS=$CFLAGS
- lt_save_LD=$LD
- lt_save_GCC=$GCC
- GCC=$GXX
- lt_save_with_gnu_ld=$with_gnu_ld
- lt_save_path_LD=$lt_cv_path_LD
- if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
- else
- $as_unset lt_cv_prog_gnu_ld
- fi
- if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
- else
- $as_unset lt_cv_path_LD
- fi
- test -z "${LDCXX+set}" || LD=$LDCXX
- CC=${CXX-"c++"}
- CFLAGS=$CXXFLAGS
- compiler=$CC
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
-
- if test -n "$compiler"; then
- # We don't want -fno-exception when compiling C++ code, so set the
- # no_builtin_flag separately
- if test "$GXX" = yes; then
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
- else
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
- fi
-
- if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
- LT_PATH_LD
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" |
- $GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
- else
- GXX=no
- with_gnu_ld=no
- wlarc=
- fi
-
- # PORTME: fill in a description of your system's C++ link characteristics
- AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
- _LT_TAGVAR(ld_shlibs, $1)=yes
- case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_TAGVAR(archive_cmds, $1)=''
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to
- # export.
- _LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty
- # executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared
- # libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- case $GXX,$cc_basename in
- ,cl* | no,cl*)
- # Native MSVC
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- # Don't use ranlib
- _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
- _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- func_to_tool_file "$lt_outputfile"~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # g++
- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- darwin* | rhapsody*)
- _LT_DARWIN_LINKER_FEATURES($1)
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- freebsd2.*)
- # C++ shared libraries reported to be fairly broken before
- # switch to ELF
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- freebsd-elf*)
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
-
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_TAGVAR(ld_shlibs, $1)=yes
- ;;
-
- gnu*)
- ;;
-
- haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- hpux9*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
- ;;
- *)
- if test "$GXX" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- ;;
- *)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- interix[[3-9]]*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
- fi
- fi
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(inherit_rpath, $1)=yes
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc* | ecpc* )
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- case `$CC -V` in
- *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
- _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
- _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
- $RANLIB $oldlib'
- _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
- ;;
- *) # Version 6 and above use weak symbols
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
- ;;
- xl* | mpixl* | bgxl*)
- # IBM XL 8.0 on PPC, with GNU ld
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='func_echo_all'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
-
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
-
- *nto* | *qnx*)
- _LT_TAGVAR(ld_shlibs, $1)=yes
- ;;
-
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd=func_echo_all
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- case $host in
- osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
- *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
- esac
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- case $host in
- osf3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- ;;
- *)
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
- $RM $lib.exp'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- case $host in
- osf3*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- psos*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- ;;
- esac
- _LT_TAGVAR(link_all_deplibs, $1)=yes
-
- output_verbose_link_cmd='func_echo_all'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
- # The C++ compiler must be used to create the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
- if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
- fi
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- ;;
- esac
- fi
- ;;
- esac
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
- '"$_LT_TAGVAR(old_archive_cmds, $1)"
- _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
- '"$_LT_TAGVAR(reload_cmds, $1)"
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
-
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- vxworks*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
-
- AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
- test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
- _LT_TAGVAR(GCC, $1)="$GXX"
- _LT_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_SYS_HIDDEN_LIBDEPS($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- CC=$lt_save_CC
- CFLAGS=$lt_save_CFLAGS
- LDCXX=$LD
- LD=$lt_save_LD
- GCC=$lt_save_GCC
- with_gnu_ld=$lt_save_with_gnu_ld
- lt_cv_path_LDCXX=$lt_cv_path_LD
- lt_cv_path_LD=$lt_save_path_LD
- lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
- lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
-
-AC_LANG_POP
-])# _LT_LANG_CXX_CONFIG
-
-
-# _LT_FUNC_STRIPNAME_CNF
-# ----------------------
-# func_stripname_cnf prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-#
-# This function is identical to the (non-XSI) version of func_stripname,
-# except this one can be used by m4 code that may be executed by configure,
-# rather than the libtool script.
-m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
-AC_REQUIRE([_LT_DECL_SED])
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
-func_stripname_cnf ()
-{
- case ${2} in
- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
- esac
-} # func_stripname_cnf
-])# _LT_FUNC_STRIPNAME_CNF
-
-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
-# ---------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
-# Dependencies to place before and after the object being linked:
-_LT_TAGVAR(predep_objects, $1)=
-_LT_TAGVAR(postdep_objects, $1)=
-_LT_TAGVAR(predeps, $1)=
-_LT_TAGVAR(postdeps, $1)=
-_LT_TAGVAR(compiler_lib_search_path, $1)=
-
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library. It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
-int a;
-void foo (void) { a = 0; }
-_LT_EOF
-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-_LT_EOF
-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
- subroutine foo
- implicit none
- integer*4 a
- a=0
- return
- end
-_LT_EOF
-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
- subroutine foo
- implicit none
- integer a
- a=0
- return
- end
-_LT_EOF
-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
-public class foo {
- private int a;
- public void bar (void) {
- a = 0;
- }
-};
-_LT_EOF
-], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
-package foo
-func foo() {
-}
-_LT_EOF
-])
-
-_lt_libdeps_save_CFLAGS=$CFLAGS
-case "$CC $CFLAGS " in #(
-*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
-*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
-*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
-esac
-
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- for p in `eval "$output_verbose_link_cmd"`; do
- case ${prev}${p} in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" ||
- test $p = "-R"; then
- prev=$p
- continue
- fi
-
- # Expand the sysroot to ease extracting the directories later.
- if test -z "$prev"; then
- case $p in
- -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
- -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
- -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
- esac
- fi
- case $p in
- =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
- esac
- if test "$pre_test_object_deps_done" = no; then
- case ${prev} in
- -L | -R)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
- else
- _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$_LT_TAGVAR(postdeps, $1)"; then
- _LT_TAGVAR(postdeps, $1)="${prev}${p}"
- else
- _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
- fi
- fi
- prev=
- ;;
-
- *.lto.$objext) ;; # Ignore GCC LTO objects
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
- _LT_TAGVAR(predep_objects, $1)="$p"
- else
- _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
- fi
- else
- if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
- _LT_TAGVAR(postdep_objects, $1)="$p"
- else
- _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$RM -f confest.$objext
-CFLAGS=$_lt_libdeps_save_CFLAGS
-
-# PORTME: override above test on systems where it is broken
-m4_if([$1], [CXX],
-[case $host_os in
-interix[[3-9]]*)
- # Interix 3.5 installs completely hosed .la files for C++, so rather than
- # hack all around it, let's just trust "g++" to DTRT.
- _LT_TAGVAR(predep_objects,$1)=
- _LT_TAGVAR(postdep_objects,$1)=
- _LT_TAGVAR(postdeps,$1)=
- ;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
-
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-esac
-])
-
-case " $_LT_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
- [The directories searched by this compiler when creating a shared library])
-_LT_TAGDECL([], [predep_objects], [1],
- [Dependencies to place before and after the objects being linked to
- create a shared library])
-_LT_TAGDECL([], [postdep_objects], [1])
-_LT_TAGDECL([], [predeps], [1])
-_LT_TAGDECL([], [postdeps], [1])
-_LT_TAGDECL([], [compiler_lib_search_path], [1],
- [The library search path used internally by the compiler when linking
- a shared library])
-])# _LT_SYS_HIDDEN_LIBDEPS
-
-
-# _LT_LANG_F77_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a Fortran 77 compiler are
-# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_F77_CONFIG],
-[AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test "X$F77" = "Xno"; then
- _lt_disable_F77=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the F77 compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_F77" != yes; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code="\
- program t
- end
-"
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
- lt_save_GCC=$GCC
- lt_save_CFLAGS=$CFLAGS
- CC=${F77-"f77"}
- CFLAGS=$FFLAGS
- compiler=$CC
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
- GCC=$G77
- if test -n "$compiler"; then
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_TAGVAR(GCC, $1)="$G77"
- _LT_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- GCC=$lt_save_GCC
- CC="$lt_save_CC"
- CFLAGS="$lt_save_CFLAGS"
-fi # test "$_lt_disable_F77" != yes
-
-AC_LANG_POP
-])# _LT_LANG_F77_CONFIG
-
-
-# _LT_LANG_FC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for a Fortran compiler are
-# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_FC_CONFIG],
-[AC_LANG_PUSH(Fortran)
-
-if test -z "$FC" || test "X$FC" = "Xno"; then
- _lt_disable_FC=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for fc test sources.
-ac_ext=${ac_fc_srcext-f}
-
-# Object file extension for compiled fc test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the FC compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code="\
- program t
- end
-"
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
- lt_save_GCC=$GCC
- lt_save_CFLAGS=$CFLAGS
- CC=${FC-"f95"}
- CFLAGS=$FCFLAGS
- compiler=$CC
- GCC=$ac_cv_fc_compiler_gnu
-
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
-
- if test -n "$compiler"; then
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
- _LT_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_SYS_HIDDEN_LIBDEPS($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- GCC=$lt_save_GCC
- CC=$lt_save_CC
- CFLAGS=$lt_save_CFLAGS
-fi # test "$_lt_disable_FC" != yes
-
-AC_LANG_POP
-])# _LT_LANG_FC_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_GCJ_CONFIG],
-[AC_REQUIRE([LT_PROG_GCJ])dnl
-AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GCJ-"gcj"}
-CFLAGS=$GCJFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
- _LT_COMPILER_NO_RTTI($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_GO_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Go compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_GO_CONFIG],
-[AC_REQUIRE([LT_PROG_GO])dnl
-AC_LANG_SAVE
-
-# Source file extension for Go test sources.
-ac_ext=go
-
-# Object file extension for compiled Go test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="package main; func main() { }"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='package main; func main() { }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GOC-"gccgo"}
-CFLAGS=$GOFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
-_LT_CC_BASENAME([$compiler])
-
-# Go did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
- _LT_COMPILER_NO_RTTI($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GO_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_RC_CONFIG],
-[AC_REQUIRE([LT_PROG_RC])dnl
-AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=
-CC=${RC-"windres"}
-CFLAGS=
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-if test -n "$compiler"; then
- :
- _LT_CONFIG($1)
-fi
-
-GCC=$lt_save_GCC
-AC_LANG_RESTORE
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_RC_CONFIG
-
-
-# LT_PROG_GCJ
-# -----------
-AC_DEFUN([LT_PROG_GCJ],
-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
- [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
- [AC_CHECK_TOOL(GCJ, gcj,)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
- AC_SUBST(GCJFLAGS)])])[]dnl
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
-
-
-# LT_PROG_GO
-# ----------
-AC_DEFUN([LT_PROG_GO],
-[AC_CHECK_TOOL(GOC, gccgo,)
-])
-
-
-# LT_PROG_RC
-# ----------
-AC_DEFUN([LT_PROG_RC],
-[AC_CHECK_TOOL(RC, windres,)
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_RC], [])
-
-
-# _LT_DECL_EGREP
-# --------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_EGREP],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_FGREP])dnl
-test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-_LT_DECL([], [FGREP], [1], [A literal string matcher])
-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-AC_SUBST([GREP])
-])
-
-
-# _LT_DECL_OBJDUMP
-# --------------
-# If we don't have a new enough Autoconf to choose the best objdump
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_OBJDUMP],
-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-AC_SUBST([OBJDUMP])
-])
-
-# _LT_DECL_DLLTOOL
-# ----------------
-# Ensure DLLTOOL variable is set.
-m4_defun([_LT_DECL_DLLTOOL],
-[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
-AC_SUBST([DLLTOOL])
-])
-
-# _LT_DECL_SED
-# ------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible. Prefer GNU sed if found.
-m4_defun([_LT_DECL_SED],
-[AC_PROG_SED
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
- [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-############################################################
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_SED. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-############################################################
-
-m4_defun([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_SED], [])
-
-
-# _LT_CHECK_SHELL_FEATURES
-# ------------------------
-# Find out whether the shell is Bourne or XSI compatible,
-# or has some other useful features.
-m4_defun([_LT_CHECK_SHELL_FEATURES],
-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-AC_MSG_RESULT([$xsi_shell])
-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-
-AC_MSG_CHECKING([whether the shell understands "+="])
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-AC_MSG_RESULT([$lt_shell_append])
-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
-])# _LT_CHECK_SHELL_FEATURES
-
-
-# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
-# ------------------------------------------------------
-# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
-# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
-m4_defun([_LT_PROG_FUNCTION_REPLACE],
-[dnl {
-sed -e '/^$1 ()$/,/^} # $1 /c\
-$1 ()\
-{\
-m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
-} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-])
-
-
-# _LT_PROG_REPLACE_SHELLFNS
-# -------------------------
-# Replace existing portable implementations of several shell functions with
-# equivalent extended shell implementations where those features are available..
-m4_defun([_LT_PROG_REPLACE_SHELLFNS],
-[if test x"$xsi_shell" = xyes; then
- _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac])
-
- _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
- func_basename_result="${1##*/}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
- func_basename_result="${1##*/}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- # positional parameters, so assign one to ordinary parameter first.
- func_stripname_result=${3}
- func_stripname_result=${func_stripname_result#"${1}"}
- func_stripname_result=${func_stripname_result%"${2}"}])
-
- _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
- func_split_long_opt_name=${1%%=*}
- func_split_long_opt_arg=${1#*=}])
-
- _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
- func_split_short_opt_arg=${1#??}
- func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-
- _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
- case ${1} in
- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- *) func_lo2o_result=${1} ;;
- esac])
-
- _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
-
- _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
-
- _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
-fi
-
-if test x"$lt_shell_append" = xyes; then
- _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
- func_quote_for_eval "${2}"
-dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
- eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
-fi
-])
-
-# _LT_PATH_CONVERSION_FUNCTIONS
-# -----------------------------
-# Determine which file name conversion functions should be used by
-# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
-# for certain cross-compile configurations and native mingw.
-m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_MSG_CHECKING([how to convert $build file names to $host format])
-AC_CACHE_VAL(lt_cv_to_host_file_cmd,
-[case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-])
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
-_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
- [0], [convert $build file names to $host format])dnl
-
-AC_MSG_CHECKING([how to convert $build file names to toolchain format])
-AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
-[#assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-])
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
-_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
- [0], [convert $build files to toolchain format])dnl
-])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/usbhid-dump/m4/ltoptions.m4 b/usbhid-dump/m4/ltoptions.m4
deleted file mode 100644
index 5d9acd8..0000000
--- a/usbhid-dump/m4/ltoptions.m4
+++ /dev/null
@@ -1,384 +0,0 @@
-# Helper functions for option handling. -*- Autoconf -*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 7 ltoptions.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-
-
-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-# ------------------------------------------
-m4_define([_LT_MANGLE_OPTION],
-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
-
-
-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-# ---------------------------------------
-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-# matching handler defined, dispatch to it. Other OPTION-NAMEs are
-# saved as a flag.
-m4_define([_LT_SET_OPTION],
-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
- _LT_MANGLE_DEFUN([$1], [$2]),
- [m4_warning([Unknown $1 option `$2'])])[]dnl
-])
-
-
-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-# ------------------------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-m4_define([_LT_IF_OPTION],
-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
-
-
-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-# -------------------------------------------------------
-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-# are set.
-m4_define([_LT_UNLESS_OPTIONS],
-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
- [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
- [m4_define([$0_found])])])[]dnl
-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
-])[]dnl
-])
-
-
-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-# ----------------------------------------
-# OPTION-LIST is a space-separated list of Libtool options associated
-# with MACRO-NAME. If any OPTION has a matching handler declared with
-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-# the unknown option and exit.
-m4_defun([_LT_SET_OPTIONS],
-[# Set options
-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
- [_LT_SET_OPTION([$1], _LT_Option)])
-
-m4_if([$1],[LT_INIT],[
- dnl
- dnl Simply set some default values (i.e off) if boolean options were not
- dnl specified:
- _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
- ])
- _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
- ])
- dnl
- dnl If no reference was made to various pairs of opposing options, then
- dnl we run the default mode handler for the pair. For example, if neither
- dnl `shared' nor `disable-shared' was passed, we enable building of shared
- dnl archives by default:
- _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
- _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
- _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
- _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
- [_LT_ENABLE_FAST_INSTALL])
- ])
-])# _LT_SET_OPTIONS
-
-
-## --------------------------------- ##
-## Macros to handle LT_INIT options. ##
-## --------------------------------- ##
-
-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-# -----------------------------------------
-m4_define([_LT_MANGLE_DEFUN],
-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
-
-
-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-# -----------------------------------------------
-m4_define([LT_OPTION_DEFINE],
-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
-])# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
-])
-
-AU_DEFUN([AC_LIBTOOL_DLOPEN],
-[_LT_SET_OPTION([LT_INIT], [dlopen])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
-[enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
-esac
-
-test -z "$AS" && AS=as
-_LT_DECL([], [AS], [1], [Assembler program])dnl
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
-])# win32-dll
-
-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-_LT_SET_OPTION([LT_INIT], [win32-dll])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_SHARED],
-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([shared],
- [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
-
- _LT_DECL([build_libtool_libs], [enable_shared], [0],
- [Whether or not to build shared libraries])
-])# _LT_ENABLE_SHARED
-
-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
-])
-
-AC_DEFUN([AC_DISABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], [disable-shared])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
-
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_STATIC],
-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([static],
- [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
-
- _LT_DECL([build_old_libs], [enable_static], [0],
- [Whether or not to build static libraries])
-])# _LT_ENABLE_STATIC
-
-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
-])
-
-AC_DEFUN([AC_DISABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], [disable-static])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
-
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_FAST_INSTALL],
-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([fast-install],
- [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-
-_LT_DECL([fast_install], [enable_fast_install], [0],
- [Whether or not to optimize for fast installation])dnl
-])# _LT_ENABLE_FAST_INSTALL
-
-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
-# LT_INIT options.
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
-m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
- [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [lt_p=${PACKAGE-default}
- case $withval in
- yes|no) pic_mode=$withval ;;
- *)
- pic_mode=default
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for lt_pkg in $withval; do
- IFS="$lt_save_ifs"
- if test "X$lt_pkg" = "X$lt_p"; then
- pic_mode=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
-
-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-])# _LT_WITH_PIC
-
-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
-
-# Old name:
-AU_DEFUN([AC_LIBTOOL_PICMODE],
-[_LT_SET_OPTION([LT_INIT], [pic-only])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
-
-## ----------------- ##
-## LTDL_INIT Options ##
-## ----------------- ##
-
-m4_define([_LTDL_MODE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
- [m4_define([_LTDL_MODE], [nonrecursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
- [m4_define([_LTDL_MODE], [recursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
- [m4_define([_LTDL_MODE], [subproject])])
-
-m4_define([_LTDL_TYPE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [installable],
- [m4_define([_LTDL_TYPE], [installable])])
-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
- [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/usbhid-dump/m4/ltsugar.m4 b/usbhid-dump/m4/ltsugar.m4
deleted file mode 100644
index 9000a05..0000000
--- a/usbhid-dump/m4/ltsugar.m4
+++ /dev/null
@@ -1,123 +0,0 @@
-# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltsugar.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-# versions in m4sugar had bugs.
-m4_define([lt_join],
-[m4_if([$#], [1], [],
- [$#], [2], [[$2]],
- [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
-m4_define([_lt_join],
-[m4_if([$#$2], [2], [],
- [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
-
-
-# lt_car(LIST)
-# lt_cdr(LIST)
-# ------------
-# Manipulate m4 lists.
-# These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
-m4_define([lt_car], [[$1]])
-m4_define([lt_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
- [$#], 1, [],
- [m4_dquote(m4_shift($@))])])
-m4_define([lt_unquote], $1)
-
-
-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
-# Note that neither SEPARATOR nor STRING are expanded; they are appended
-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-# than defined and empty).
-#
-# This macro is needed until we can rely on Autoconf 2.62, since earlier
-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-m4_define([lt_append],
-[m4_define([$1],
- m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
-
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-# Needed until we can rely on m4_combine added in Autoconf 2.62.
-m4_define([lt_combine],
-[m4_if(m4_eval([$# > 3]), [1],
- [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
-[[m4_foreach([_Lt_prefix], [$2],
- [m4_foreach([_Lt_suffix],
- ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
- [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-m4_define([lt_if_append_uniq],
-[m4_ifdef([$1],
- [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
- [lt_append([$1], [$2], [$3])$4],
- [$5])],
- [lt_append([$1], [$2], [$3])$4])])
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-m4_define([lt_dict_add],
-[m4_define([$1($2)], [$3])])
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-m4_define([lt_dict_add_subkey],
-[m4_define([$1($2:$3)], [$4])])
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-m4_define([lt_dict_fetch],
-[m4_ifval([$3],
- m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
- m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-m4_define([lt_if_dict_fetch],
-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
- [$5],
- [$6])])
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# --------------------------------------------------------------
-m4_define([lt_dict_filter],
-[m4_if([$5], [], [],
- [lt_join(m4_quote(m4_default([$4], [[, ]])),
- lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
- [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
-])
diff --git a/usbhid-dump/m4/ltversion.m4 b/usbhid-dump/m4/ltversion.m4
deleted file mode 100644
index 07a8602..0000000
--- a/usbhid-dump/m4/ltversion.m4
+++ /dev/null
@@ -1,23 +0,0 @@
-# ltversion.m4 -- version numbers -*- Autoconf -*-
-#
-# Copyright (C) 2004 Free Software Foundation, Inc.
-# Written by Scott James Remnant, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# @configure_input@
-
-# serial 3337 ltversion.m4
-# This file is part of GNU Libtool
-
-m4_define([LT_PACKAGE_VERSION], [2.4.2])
-m4_define([LT_PACKAGE_REVISION], [1.3337])
-
-AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.2'
-macro_revision='1.3337'
-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-_LT_DECL(, macro_revision, 0)
-])
diff --git a/usbhid-dump/m4/lt~obsolete.m4 b/usbhid-dump/m4/lt~obsolete.m4
deleted file mode 100644
index c573da9..0000000
--- a/usbhid-dump/m4/lt~obsolete.m4
+++ /dev/null
@@ -1,98 +0,0 @@
-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
-# Written by Scott James Remnant, 2004.
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 5 lt~obsolete.m4
-
-# These exist entirely to fool aclocal when bootstrapping libtool.
-#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
-# which have later been changed to m4_define as they aren't part of the
-# exported API, or moved to Autoconf or Automake where they belong.
-#
-# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-# using a macro with the same name in our local m4/libtool.m4 it'll
-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-# and doesn't know about Autoconf macros at all.)
-#
-# So we provide this file, which has a silly filename so it's always
-# included after everything else. This provides aclocal with the
-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
-#
-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-# Yes, that means every name once taken will need to remain here until
-# we give up compatibility with versions before 1.7, at which point
-# we need to keep only those names which we still refer to.
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-
-m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
-m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
-m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
-m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
-m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
-m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
-m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
-m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
-m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
-m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
-m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
-m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
-m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
-m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
-m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
-m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
-m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
-m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
-m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
-m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
-m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
-m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
diff --git a/usbhid-dump/src/.gitignore b/usbhid-dump/src/.gitignore
new file mode 100644
index 0000000..8223adc
--- /dev/null
+++ b/usbhid-dump/src/.gitignore
@@ -0,0 +1,5 @@
+/Makefile.in
+/usbhid-dump
+/.deps
+/.libs
+/Makefile
diff --git a/usbhid-dump/src/Makefile.am b/usbhid-dump/src/Makefile.am
index dbe692a..af4890a 100644
--- a/usbhid-dump/src/Makefile.am
+++ b/usbhid-dump/src/Makefile.am
@@ -1,22 +1,19 @@
-# Copyright (C) 2010 Nikolai Kondrashov
-#
-# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
+# SPDX-License-Identifier: GPL-2.0+
#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+# Copyright (C) 2010 Nikolai Kondrashov
+
+noinst_HEADERS = \
+ dev.h \
+ dev_list.h \
+ iface.h \
+ iface_list.h \
+ misc.h
bin_PROGRAMS = usbhid-dump
-usbhid_dump_SOURCES = usbhid-dump.c
-usbhid_dump_LDADD = ../lib/libuhd.la
+usbhid_dump_SOURCES = \
+ dev.c \
+ dev_list.c \
+ iface.c \
+ iface_list.c \
+ usbhid-dump.c
diff --git a/usbhid-dump/src/Makefile.in b/usbhid-dump/src/Makefile.in
deleted file mode 100644
index 1ac6daa..0000000
--- a/usbhid-dump/src/Makefile.in
+++ /dev/null
@@ -1,576 +0,0 @@
-# Makefile.in generated by automake 1.12.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2012 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) 2010 Nikolai Kondrashov
-#
-# This file is part of usbhid-dump.
-#
-# Usbhid-dump is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-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@
-bin_PROGRAMS = usbhid-dump$(EXEEXT)
-subdir = src
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/auxdir/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-PROGRAMS = $(bin_PROGRAMS)
-am_usbhid_dump_OBJECTS = usbhid-dump.$(OBJEXT)
-usbhid_dump_OBJECTS = $(am_usbhid_dump_OBJECTS)
-usbhid_dump_DEPENDENCIES = ../lib/libuhd.la
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/auxdir/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(usbhid_dump_SOURCES)
-DIST_SOURCES = $(usbhid_dump_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-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@
-LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
-LIBUSB_LIBS = @LIBUSB_LIBS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-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@
-STRIP = @STRIP@
-VERSION = @VERSION@
-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@
-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@
-usbhid_dump_SOURCES = usbhid-dump.c
-usbhid_dump_LDADD = ../lib/libuhd.la
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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
-.PRECIOUS: 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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
- fi; \
- for p in $$list; do echo "$$p $$p"; done | \
- sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p || test -f $$p1; \
- then echo "$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
- -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
- sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) files[d] = files[d] " " $$1; \
- else { print "f", $$3 "/" $$4, $$1; } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
- test -n "$$list" || exit 0; \
- echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-usbhid-dump$(EXEEXT): $(usbhid_dump_OBJECTS) $(usbhid_dump_DEPENDENCIES) $(EXTRA_usbhid_dump_DEPENDENCIES)
- @rm -f usbhid-dump$(EXEEXT)
- $(LINK) $(usbhid_dump_OBJECTS) $(usbhid_dump_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usbhid-dump.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- 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
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- 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: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- 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 $(PROGRAMS)
-installdirs:
- for dir in "$(DESTDIR)$(bindir)"; 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-binPROGRAMS clean-generic 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-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS
-
-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-binPROGRAMS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool cscopelist ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-binPROGRAMS 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 uninstall uninstall-am uninstall-binPROGRAMS
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/usbhid-dump/lib/dev.c b/usbhid-dump/src/dev.c
index d72e4c1..9d27eed 100644
--- a/usbhid-dump/lib/dev.c
+++ b/usbhid-dump/src/dev.c
@@ -1,32 +1,13 @@
-/** @file
- * @brief usbhid-dump - device
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * usbhid-dump - device
*
- * Copyright (C) 2010 Nikolai Kondrashov
- *
- * This file is part of usbhid-dump.
- *
- * Usbhid-dump is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * @author Nikolai Kondrashov <spbnick@gmail.com>
- *
- * @(#) $Id$
+ * Copyright (C) 2010 Nikolai Kondrashov <spbnick@gmail.com>
*/
#include "config.h"
-#include "uhd/dev.h"
+#include "dev.h"
#include <assert.h>
#include <stdlib.h>
diff --git a/usbhid-dump/include/uhd/dev.h b/usbhid-dump/src/dev.h
index a97462a..bd34cb6 100644
--- a/usbhid-dump/include/uhd/dev.h
+++ b/usbhid-dump/src/dev.h
@@ -1,34 +1,15 @@
-/** @file
- * @brief usbhid-dump - device
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * usbhid-dump - device
*
- * Copyright (C) 2010-2011 Nikolai Kondrashov
- *
- * This file is part of usbhid-dump.
- *
- * Usbhid-dump is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * @author Nikolai Kondrashov <spbnick@gmail.com>
- *
- * @(#) $Id$
+ * Copyright (C) 2010-2011 Nikolai Kondrashov <spbnick@gmail.com>
*/
#ifndef __UHD_DEV_H__
#define __UHD_DEV_H__
#include <stdbool.h>
-#include "uhd/libusb.h"
+#include <libusb.h>
#ifdef __cplusplus
extern "C" {
diff --git a/usbhid-dump/lib/dev_list.c b/usbhid-dump/src/dev_list.c
index 7003ad5..346193f 100644
--- a/usbhid-dump/lib/dev_list.c
+++ b/usbhid-dump/src/dev_list.c
@@ -1,33 +1,14 @@
-/** @file
- * @brief usbhid-dump - device list
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * usbhid-dump - device list
*
- * Copyright (C) 2010 Nikolai Kondrashov
- *
- * This file is part of usbhid-dump.
- *
- * Usbhid-dump is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * @author Nikolai Kondrashov <spbnick@gmail.com>
- *
- * @(#) $Id$
+ * Copyright (C) 2010 Nikolai Kondrashov <spbnick@gmail.com>
*/
#include "config.h"
-#include "uhd/misc.h"
-#include "uhd/dev_list.h"
+#include "misc.h"
+#include "dev_list.h"
#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
@@ -43,18 +24,6 @@ uhd_dev_list_valid(const uhd_dev *list)
}
-size_t
-uhd_dev_list_len(const uhd_dev *list)
-{
- size_t len = 0;
-
- UHD_DEV_LIST_FOR_EACH(list, list)
- len++;
-
- return len;
-}
-
-
void
uhd_dev_list_close(uhd_dev *list)
{
diff --git a/usbhid-dump/include/uhd/dev_list.h b/usbhid-dump/src/dev_list.h
index 434c906..06a2cb8 100644
--- a/usbhid-dump/include/uhd/dev_list.h
+++ b/usbhid-dump/src/dev_list.h
@@ -1,34 +1,16 @@
-/** @file
- * @brief usbhid-dump - device list
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * usbhid-dump - device list
*
- * Copyright (C) 2010-2011 Nikolai Kondrashov
- *
- * This file is part of usbhid-dump.
- *
- * Usbhid-dump is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * @author Nikolai Kondrashov <spbnick@gmail.com>
- *
- * @(#) $Id$
+ * Copyright (C) 2010-2011 Nikolai Kondrashov <spbnick@gmail.com>
*/
#ifndef __UHD_DEV_LIST_H__
#define __UHD_DEV_LIST_H__
#include <stddef.h>
-#include "uhd/dev.h"
+#include <stdint.h>
+#include "dev.h"
#ifdef __cplusplus
extern "C" {
@@ -44,28 +26,6 @@ extern "C" {
extern bool uhd_dev_list_valid(const uhd_dev *list);
/**
- * Check if a device list is empty.
- *
- * @param list Device list to check.
- *
- * @return True if the device list is empty, false otherwise.
- */
-static inline bool
-uhd_dev_list_empty(const uhd_dev *list)
-{
- return list == NULL;
-}
-
-/**
- * Calculate length of a device list.
- *
- * @param list The list to calculate length of.
- *
- * @return The list length.
- */
-extern size_t uhd_dev_list_len(const uhd_dev *list);
-
-/**
* Close every device in a device list.
*
* @param list The device list to close.
diff --git a/usbhid-dump/lib/iface.c b/usbhid-dump/src/iface.c
index 7209188..fced67a 100644
--- a/usbhid-dump/lib/iface.c
+++ b/usbhid-dump/src/iface.c
@@ -1,32 +1,13 @@
-/** @file
- * @brief usbhid-dump - interface
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * usbhid-dump - interface
*
- * Copyright (C) 2010 Nikolai Kondrashov
- *
- * This file is part of usbhid-dump.
- *
- * Usbhid-dump is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * @author Nikolai Kondrashov <spbnick@gmail.com>
- *
- * @(#) $Id$
+ * Copyright (C) 2010 Nikolai Kondrashov <spbnick@gmail.com>
*/
#include "config.h"
-#include "uhd/iface.h"
+#include "iface.h"
#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
@@ -45,7 +26,8 @@ uhd_iface *
uhd_iface_new(const uhd_dev *dev,
uint8_t number,
uint8_t int_in_ep_addr,
- uint16_t int_in_ep_maxp)
+ uint16_t int_in_ep_maxp,
+ uint16_t rd_len)
{
uhd_iface *iface;
libusb_device *lusb_dev;
@@ -60,6 +42,7 @@ uhd_iface_new(const uhd_dev *dev,
iface->number = number;
iface->int_in_ep_addr = int_in_ep_addr;
iface->int_in_ep_maxp = int_in_ep_maxp;
+ iface->rd_len = rd_len;
iface->detached = false;
iface->claimed = false;
iface->submitted = false;
@@ -71,6 +54,7 @@ uhd_iface_new(const uhd_dev *dev,
libusb_get_bus_number(lusb_dev),
libusb_get_device_address(lusb_dev),
number);
+ (void)rc;
assert(rc == (sizeof(iface->addr_str) - 1));
assert(uhd_iface_valid(iface));
diff --git a/usbhid-dump/include/uhd/iface.h b/usbhid-dump/src/iface.h
index d6bd67d..f467214 100644
--- a/usbhid-dump/include/uhd/iface.h
+++ b/usbhid-dump/src/iface.h
@@ -1,33 +1,15 @@
-/** @file
- * @brief usbhid-dump - interface
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * usbhid-dump - interface
*
- * Copyright (C) 2010 Nikolai Kondrashov
- *
- * This file is part of usbhid-dump.
- *
- * Usbhid-dump is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * @author Nikolai Kondrashov <spbnick@gmail.com>
- *
- * @(#) $Id$
+ * Copyright (C) 2010 Nikolai Kondrashov <spbnick@gmail.com>
*/
#ifndef __UHD_IFACE_H__
#define __UHD_IFACE_H__
-#include "uhd/dev.h"
+#include <stdint.h>
+#include "dev.h"
#ifdef __cplusplus
extern "C" {
@@ -44,6 +26,7 @@ struct uhd_iface {
uint8_t int_in_ep_addr; /**< Interrupt IN EP address */
uint16_t int_in_ep_maxp; /**< Interrupt IN EP maximum
packet size */
+ uint16_t rd_len; /**< Report descriptor length */
bool detached; /**< True if the interface was
detached from the kernel
driver, false otherwise */
@@ -76,13 +59,15 @@ extern bool uhd_iface_valid(const uhd_iface *iface);
* @param number Interface number.
* @param int_in_ep_addr Interrupt in endpoint address.
* @param int_in_ep_maxp Interrupt in endpoint maximum packet size.
+ * @param rd_len Report descriptor length.
*
* @return New interface or NULL, if failed to allocate.
*/
extern uhd_iface *uhd_iface_new(const uhd_dev *dev,
uint8_t number,
uint8_t int_in_ep_addr,
- uint16_t int_in_ep_maxp);
+ uint16_t int_in_ep_maxp,
+ uint16_t rd_len);
/**
* Free an interface.
diff --git a/usbhid-dump/lib/iface_list.c b/usbhid-dump/src/iface_list.c
index 1b028b1..85ee7a5 100644
--- a/usbhid-dump/lib/iface_list.c
+++ b/usbhid-dump/src/iface_list.c
@@ -1,32 +1,14 @@
-/** @file
- * @brief usbhid-dump - interface list
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * usbhid-dump - interface list
*
- * Copyright (C) 2010 Nikolai Kondrashov
- *
- * This file is part of usbhid-dump.
- *
- * Usbhid-dump is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * @author Nikolai Kondrashov <spbnick@gmail.com>
- *
- * @(#) $Id$
+ * Copyright (C) 2010 Nikolai Kondrashov <spbnick@gmail.com>
*/
#include "config.h"
-#include "uhd/iface_list.h"
+#include "iface_list.h"
+#include "misc.h"
#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
@@ -76,6 +58,10 @@ uhd_iface_list_new(uhd_dev *dev_list,
uhd_dev *dev;
struct libusb_config_descriptor *config = NULL;
const struct libusb_interface *lusb_iface;
+ const struct libusb_interface_descriptor *iface_desc;
+ const uhd_hid_descriptor *hid_desc;
+ const uhd_hid_descriptor_extra *hid_desc_extra;
+ uint16_t rd_len;
const struct libusb_endpoint_descriptor *ep_list;
uint8_t ep_num;
const struct libusb_endpoint_descriptor *ep;
@@ -101,14 +87,51 @@ uhd_iface_list_new(uhd_dev *dev_list,
lusb_iface - config->interface < config->bNumInterfaces;
lusb_iface++)
{
- /* Skip interfaces with altsettings and non-HID interfaces */
- if (lusb_iface->num_altsetting != 1 ||
- lusb_iface->altsetting->bInterfaceClass != LIBUSB_CLASS_HID)
+ /* Skip interfaces with altsettings */
+ if (lusb_iface->num_altsetting != 1)
+ continue;
+
+ iface_desc = lusb_iface->altsetting;
+
+ /* Skip non-HID interfaces */
+ if (iface_desc->bInterfaceClass != LIBUSB_CLASS_HID)
continue;
+ /*
+ * Try to retrieve report descriptor length
+ */
+ rd_len = UHD_MAX_DESCRIPTOR_SIZE;
+ /* If interface descriptor has space for a HID descriptor */
+ if (iface_desc->extra_length >= (int)sizeof(uhd_hid_descriptor))
+ {
+ hid_desc = (const uhd_hid_descriptor *)iface_desc->extra;
+ /* If this is truly a HID class descriptor */
+ if (hid_desc->bDescriptorType == LIBUSB_DT_HID)
+ {
+ /* For each extra HID descriptor entry */
+ for (hid_desc_extra = hid_desc->extra;
+ hid_desc_extra <
+ hid_desc->extra + hid_desc->bNumDescriptors &&
+ (uint8_t *)hid_desc_extra <
+ (uint8_t *)hid_desc + hid_desc->bLength &&
+ (unsigned char *)hid_desc_extra <
+ iface_desc->extra +
+ iface_desc->extra_length;
+ hid_desc_extra++) {
+ /* If this is a report descriptor entry */
+ if (hid_desc_extra->bDescriptorType ==
+ LIBUSB_DT_REPORT)
+ {
+ rd_len = hid_desc_extra->wDescriptorLength;
+ break;
+ }
+ }
+ }
+ }
+
/* Retrieve endpoint list */
- ep_list = lusb_iface->altsetting->endpoint;
- ep_num = lusb_iface->altsetting->bNumEndpoints;
+ ep_list = iface_desc->endpoint;
+ ep_num = iface_desc->bNumEndpoints;
/* For each endpoint */
for (ep = ep_list; (ep - ep_list) < ep_num; ep++)
@@ -123,8 +146,9 @@ uhd_iface_list_new(uhd_dev *dev_list,
/* Create the interface */
iface = uhd_iface_new(
dev,
- lusb_iface->altsetting->bInterfaceNumber,
- ep->bEndpointAddress, ep->wMaxPacketSize);
+ iface_desc->bInterfaceNumber,
+ ep->bEndpointAddress, ep->wMaxPacketSize,
+ rd_len);
if (iface == NULL)
{
err = LIBUSB_ERROR_NO_MEM;
diff --git a/usbhid-dump/include/uhd/iface_list.h b/usbhid-dump/src/iface_list.h
index 17ad778..b439b2a 100644
--- a/usbhid-dump/include/uhd/iface_list.h
+++ b/usbhid-dump/src/iface_list.h
@@ -1,34 +1,16 @@
-/** @file
- * @brief usbhid-dump - interface list
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * usbhid-dump - interface list
*
- * Copyright (C) 2010 Nikolai Kondrashov
- *
- * This file is part of usbhid-dump.
- *
- * Usbhid-dump is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * @author Nikolai Kondrashov <spbnick@gmail.com>
- *
- * @(#) $Id$
+ * Copyright (C) 2010 Nikolai Kondrashov <spbnick@gmail.com>
*/
#ifndef __UHD_IFACE_LIST_H__
#define __UHD_IFACE_LIST_H__
-#include "uhd/dev_list.h"
-#include "uhd/iface.h"
+#include <stdint.h>
+#include "dev_list.h"
+#include "iface.h"
#ifdef __cplusplus
extern "C" {
diff --git a/usbhid-dump/src/misc.h b/usbhid-dump/src/misc.h
new file mode 100644
index 0000000..bb623b0
--- /dev/null
+++ b/usbhid-dump/src/misc.h
@@ -0,0 +1,70 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * usbhid-dump - miscellaneous declarations
+ *
+ * Copyright (C) 2010 Nikolai Kondrashov <spbnick@gmail.com>
+ */
+
+#ifndef __UHD_MISC_H__
+#define __UHD_MISC_H__
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#pragma pack(1)
+
+/** HID extra descriptor record */
+typedef struct uhd_hid_descriptor_extra uhd_hid_descriptor_extra;
+
+struct uhd_hid_descriptor_extra {
+ uint8_t bDescriptorType;
+ uint16_t wDescriptorLength;
+};
+
+/** HID class-specific descriptor */
+typedef struct uhd_hid_descriptor uhd_hid_descriptor;
+
+struct uhd_hid_descriptor {
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint16_t bcdHID;
+ uint8_t bCountryCode;
+ uint8_t bNumDescriptors;
+ uhd_hid_descriptor_extra extra[1];
+};
+
+#pragma pack()
+
+/**
+ * Maximum descriptor size.
+ *
+ * @note 4096 here is maximum control buffer length.
+ */
+#define UHD_MAX_DESCRIPTOR_SIZE 4096
+
+/** Generic USB I/O timeout, ms */
+#define UHD_IO_TIMEOUT 1000
+
+/** Wildcard bus number */
+#define UHD_BUS_NUM_ANY 0
+
+/** Wildcard device address */
+#define UHD_DEV_ADDR_ANY 0
+
+/** Wildcard vendor ID */
+#define UHD_VID_ANY 0
+
+/** Wildcard product ID */
+#define UHD_PID_ANY 0
+
+/** Wildcard interface number */
+#define UHD_IFACE_NUM_ANY UINT8_MAX
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __UHD_MISC_H__ */
diff --git a/usbhid-dump/src/usbhid-dump.c b/usbhid-dump/src/usbhid-dump.c
index 56a2956..45da1ed 100644
--- a/usbhid-dump/src/usbhid-dump.c
+++ b/usbhid-dump/src/usbhid-dump.c
@@ -1,33 +1,15 @@
-/** @file
- * @brief usbhid-dump - entry point *
- * Copyright (C) 2010-2011 Nikolai Kondrashov
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * usbhid-dump - entry point *
*
- * This file is part of usbhid-dump.
- *
- * Usbhid-dump is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Usbhid-dump 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 usbhid-dump; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * @author Nikolai Kondrashov <spbnick@gmail.com>
- *
- * @(#) $Id$
+ * Copyright (C) 2010-2011 Nikolai Kondrashov <spbnick@gmail.com>
*/
#include "config.h"
-#include "uhd/iface_list.h"
-#include "uhd/libusb.h"
-#include "uhd/misc.h"
+#include "iface_list.h"
+#include "misc.h"
+#include <libusb.h>
#include <assert.h>
#include <stdbool.h>
@@ -40,6 +22,7 @@
#include <unistd.h>
#include <getopt.h>
#include <stdio.h>
+#include <stdint.h>
/* Define LIBUSB_CALL for libusb <= 1.0.8 */
#ifndef LIBUSB_CALL
@@ -178,12 +161,20 @@ dump_iface_list_descriptor(const uhd_iface *list)
UHD_IFACE_LIST_FOR_EACH(iface, list)
{
+ if (iface->rd_len > sizeof(buf))
+ {
+ err = LIBUSB_ERROR_NO_MEM;
+ LIBUSB_IFACE_FAILURE(iface, "report descriptor too long: %hu",
+ iface->rd_len);
+ return false;
+ }
+
rc = libusb_control_transfer(iface->dev->handle,
/* See HID spec, 7.1.1 */
0x81,
LIBUSB_REQUEST_GET_DESCRIPTOR,
(LIBUSB_DT_REPORT << 8), iface->number,
- buf, sizeof(buf), UHD_IO_TIMEOUT);
+ buf, iface->rd_len, UHD_IO_TIMEOUT);
if (rc < 0)
{
err = rc;
@@ -517,8 +508,12 @@ run(bool dump_descriptor,
/* Create libusb context */
LIBUSB_GUARD(libusb_init(&ctx), "create libusb context");
- /* Set libusb debug level */
- libusb_set_debug(ctx, 3);
+ /* Set libusb debug level to informational only */
+#if HAVE_LIBUSB_SET_OPTION
+ libusb_set_option(ctx, LIBUSB_OPTION_LOG_LEVEL, LIBUSB_LOG_LEVEL_INFO);
+#else
+ libusb_set_debug(ctx, LIBUSB_LOG_LEVEL_INFO);
+#endif
/* Open device list */
LIBUSB_GUARD(uhd_dev_list_open(ctx, bus_num, dev_addr,
@@ -922,7 +917,7 @@ main(int argc, char **argv)
/*
* Extract program invocation name
*/
- name = rindex(argv[0], '/');
+ name = strrchr(argv[0], '/');
if (name == NULL)
name = argv[0];
else
diff --git a/usbmisc.c b/usbmisc.c
index d5e7a31..ba0591f 100644
--- a/usbmisc.c
+++ b/usbmisc.c
@@ -1,24 +1,10 @@
-/*****************************************************************************/
+// SPDX-License-Identifier: GPL-2.0+
/*
- * usbmisc.c -- Misc USB routines
- *
- * Copyright (C) 2003 Aurelien Jarno (aurelien@aurel32.net)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
+ * Misc USB routines
*
+ * Copyright (C) 2003 Aurelien Jarno (aurelien@aurel32.net)
*/
-/*****************************************************************************/
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -56,14 +42,14 @@ static int readlink_recursive(const char *path, char *buf, size_t bufsize)
if (ret > 0) {
buf[ret] = 0;
if (*buf != '/') {
- strncpy(temp, path, sizeof(temp));
+ strncpy(temp, path, sizeof(temp) - 1);
ptemp = temp + strlen(temp);
while (*ptemp != '/' && ptemp != temp)
ptemp--;
ptemp++;
- strncpy(ptemp, buf, bufsize + temp - ptemp);
+ strncpy(ptemp, buf, bufsize + temp - ptemp - 1);
} else
- strncpy(temp, buf, sizeof(temp));
+ strncpy(temp, buf, sizeof(temp) - 1);
return readlink_recursive(temp, buf, bufsize);
} else {
strncpy(buf, path, bufsize);
@@ -156,7 +142,7 @@ libusb_device *get_usb_device(libusb_context *ctx, const char *path)
}
static char *get_dev_string_ascii(libusb_device_handle *dev, size_t size,
- u_int8_t id)
+ uint8_t id)
{
char *buf = malloc(size);
int ret = libusb_get_string_descriptor_ascii(dev, id,
@@ -172,7 +158,7 @@ static char *get_dev_string_ascii(libusb_device_handle *dev, size_t size,
}
#if defined(HAVE_NL_LANGINFO) && defined(HAVE_ICONV)
-static u_int16_t get_any_langid(libusb_device_handle *dev)
+static uint16_t get_any_langid(libusb_device_handle *dev)
{
unsigned char buf[4];
int ret = libusb_get_string_descriptor(dev, 0, 0, buf, sizeof buf);
@@ -210,12 +196,12 @@ static char *usb_string_to_native(char * str, size_t len)
}
#endif
-char *get_dev_string(libusb_device_handle *dev, u_int8_t id)
+char *get_dev_string(libusb_device_handle *dev, uint8_t id)
{
#if defined(HAVE_NL_LANGINFO) && defined(HAVE_ICONV)
int ret;
char *buf, unicode_buf[254];
- u_int16_t langid;
+ uint16_t langid;
#endif
if (!dev || !id) return strdup("");
@@ -224,11 +210,20 @@ char *get_dev_string(libusb_device_handle *dev, u_int8_t id)
langid = get_any_langid(dev);
if (!langid) return strdup("(error)");
+ /*
+ * Some devices lie about their string size, so initialize
+ * the buffer with all 0 to account for that.
+ */
+ memset(unicode_buf, 0x00, sizeof(unicode_buf));
+
ret = libusb_get_string_descriptor(dev, id, langid,
(unsigned char *) unicode_buf,
sizeof unicode_buf);
if (ret < 2) return strdup("(error)");
+ if ((unsigned char)unicode_buf[0] < 2 || unicode_buf[1] != LIBUSB_DT_STRING)
+ return strdup("(error)");
+
buf = usb_string_to_native(unicode_buf + 2,
((unsigned char) unicode_buf[0] - 2) / 2);
diff --git a/usbmisc.h b/usbmisc.h
index 4e7f827..0826746 100644
--- a/usbmisc.h
+++ b/usbmisc.h
@@ -1,23 +1,10 @@
-/*****************************************************************************/
+// SPDX-License-Identifier: GPL-2.0+
/*
- * usbmisc.h -- Misc USB routines
- *
- * Copyright (C) 2003 Aurelien Jarno (aurelien@aurel32.net)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * Misc USB routines
*
+ * Copyright (C) 2003 Aurelien Jarno (aurelien@aurel32.net)
*/
-/*****************************************************************************/
-
#ifndef _USBMISC_H
#define _USBMISC_H
@@ -27,7 +14,7 @@
extern libusb_device *get_usb_device(libusb_context *ctx, const char *path);
-extern char *get_dev_string(libusb_device_handle *dev, u_int8_t id);
+extern char *get_dev_string(libusb_device_handle *dev, uint8_t id);
/* ---------------------------------------------------------------------- */
#endif /* _USBMISC_H */
diff --git a/usbreset.c b/usbreset.c
new file mode 100644
index 0000000..a4f1f98
--- /dev/null
+++ b/usbreset.c
@@ -0,0 +1,191 @@
+// SPDX-License-Identifier: GPL-2.0
+/* usbreset -- send a USB port reset to a USB device */
+/* Copyright (c) 2009-2016 Alan Stern */
+/* To build: gcc -o usbreset usbreset.c */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <string.h>
+#include <ctype.h>
+#include <limits.h>
+#include <dirent.h>
+#include <sys/ioctl.h>
+
+#include <linux/usbdevice_fs.h>
+
+
+/* static char *usbfs = NULL; */
+
+struct usbentry {
+ int bus_num;
+ int dev_num;
+ int vendor_id;
+ int product_id;
+ char vendor_name[128];
+ char product_name[128];
+};
+
+static char *sysfs_attr(const char *dev, const char *attr)
+{
+ int fd, len = 0;
+ char path[PATH_MAX];
+ static char buf[129];
+
+ memset(buf, 0, sizeof(buf));
+ snprintf(path, sizeof(path) - 1, "/sys/bus/usb/devices/%s/%s", dev, attr);
+
+ fd = open(path, O_RDONLY);
+ if (fd >= 0) {
+ len = read(fd, buf, sizeof(buf) - 1);
+ close(fd);
+ }
+
+ while (--len > 0 && isspace(buf[len]))
+ buf[len] = 0;
+
+ return (len >= 0) ? buf : NULL;
+}
+
+static struct usbentry *parse_devlist(DIR *d)
+{
+ char *attr;
+ struct dirent *e;
+ static struct usbentry dev;
+
+ do {
+ e = readdir(d);
+
+ if (!e)
+ return NULL;
+ } while (!isdigit(e->d_name[0]) || strchr(e->d_name, ':'));
+
+ memset(&dev, 0, sizeof(dev));
+
+ attr = sysfs_attr(e->d_name, "busnum");
+ if (attr)
+ dev.bus_num = strtoul(attr, NULL, 10);
+
+ attr = sysfs_attr(e->d_name, "devnum");
+ if (attr)
+ dev.dev_num = strtoul(attr, NULL, 10);
+
+ attr = sysfs_attr(e->d_name, "idVendor");
+ if (attr)
+ dev.vendor_id = strtoul(attr, NULL, 16);
+
+ attr = sysfs_attr(e->d_name, "idProduct");
+ if (attr)
+ dev.product_id = strtoul(attr, NULL, 16);
+
+ attr = sysfs_attr(e->d_name, "manufacturer");
+ if (attr)
+ strcpy(dev.vendor_name, attr);
+
+ attr = sysfs_attr(e->d_name, "product");
+ if (attr)
+ strcpy(dev.product_name, attr);
+
+ if (dev.bus_num && dev.dev_num && dev.vendor_id && dev.product_id)
+ return &dev;
+
+ return NULL;
+}
+
+static void list_devices(void)
+{
+ DIR *devs = opendir("/sys/bus/usb/devices");
+ struct usbentry *dev;
+
+ if (!devs)
+ return;
+
+ while ((dev = parse_devlist(devs)) != NULL)
+ printf(" Number %03d/%03d ID %04x:%04x %s\n",
+ dev->bus_num, dev->dev_num,
+ dev->vendor_id, dev->product_id,
+ dev->product_name);
+
+ closedir(devs);
+}
+
+static struct usbentry *find_device(int *bus, int *dev, int *vid, int *pid,
+ const char *product)
+{
+ DIR *devs = opendir("/sys/bus/usb/devices");
+
+ struct usbentry *e, *match = NULL;
+
+ if (!devs)
+ return NULL;
+
+ while ((e = parse_devlist(devs)) != NULL)
+ if ((bus && (e->bus_num == *bus) && (e->dev_num == *dev)) ||
+ (vid && (e->vendor_id == *vid) && (e->product_id == *pid)) ||
+ (product && !strcasecmp(e->product_name, product))) {
+ match = e;
+ break;
+ }
+
+ closedir(devs);
+
+ return match;
+}
+
+static void reset_device(struct usbentry *dev)
+{
+ int fd;
+ char path[PATH_MAX];
+
+ snprintf(path, sizeof(path) - 1, "/dev/bus/usb/%03d/%03d",
+ dev->bus_num, dev->dev_num);
+
+ printf("Resetting %s ... ", dev->product_name);
+
+ fd = open(path, O_WRONLY);
+ if (fd > -1) {
+ if (ioctl(fd, USBDEVFS_RESET, 0) < 0)
+ printf("failed [%s]\n", strerror(errno));
+ else
+ printf("ok\n");
+
+ close(fd);
+ } else {
+ printf("can't open [%s]\n", strerror(errno));
+ }
+}
+
+
+int main(int argc, char **argv)
+{
+ int id1, id2;
+ struct usbentry *dev;
+
+ if ((argc == 2) && (sscanf(argv[1], "%3d/%3d", &id1, &id2) == 2))
+ dev = find_device(&id1, &id2, NULL, NULL, NULL);
+ else if ((argc == 2) && (sscanf(argv[1], "%4x:%4x", &id1, &id2) == 2))
+ dev = find_device(NULL, NULL, &id1, &id2, NULL);
+ else if ((argc == 2) && strlen(argv[1]) < 128)
+ dev = find_device(NULL, NULL, NULL, NULL, argv[1]);
+ else {
+ printf("Usage:\n"
+ " usbreset PPPP:VVVV - reset by product and vendor id\n"
+ " usbreset BBB/DDD - reset by bus and device number\n"
+ " usbreset \"Product\" - reset by product name\n\n"
+ "Devices:\n");
+ list_devices();
+ return 1;
+ }
+
+ if (!dev) {
+ fprintf(stderr, "No such device found\n");
+ return 1;
+ }
+
+ reset_device(dev);
+ return 0;
+}
diff --git a/usbutils.pc.in b/usbutils.pc.in
deleted file mode 100644
index 855c37b..0000000
--- a/usbutils.pc.in
+++ /dev/null
@@ -1,5 +0,0 @@
-Name: usbutils
-Description: USB device database
-Version: @VERSION@
-
-usbids=@usbids@
diff --git a/usbutils.spdx b/usbutils.spdx
new file mode 100644
index 0000000..e1429a0
--- /dev/null
+++ b/usbutils.spdx
@@ -0,0 +1,389 @@
+SPDXVersion: SPDX-2.1
+DataLicense: CC0-1.0
+SPDXID: SPDXRef-DOCUMENT
+DocumentName: usbutils
+DocumentNamespace: http://spdx.org/spdxdocs/spdx-v2.1-3dce0911-c062-4475-b4d3-6f01e4e74c63
+Creator: Person: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Creator: Organization: Linux Foundation
+Creator: Tool: reuse-0.3.4
+Created: 2019-05-07T14:34:06Z
+CreatorComment: <text>This document was created automatically using available reuse information consistent with the REUSE Initiative.</text>
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-7445606fbf8f3683cd42bdc54b05d7a0bc2dfc44
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-dea01dd89a3b602828e630677fde5d77c06441c8
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-d5b4de16d947214ec306bd57bed1bd23a939b5f9
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-9f621eb5fd3bcb2fa5c7bd228c9b1ad42edc46c8
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-152c3993c79ed609cfec1b4276c2eb31f4d518b3
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-87db583be5c13c1f7b3c958b10e03d67b6a2ca06
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-7b5d245d23c26fe4b0b395d0c0c1a91d2e68e16d
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-311ad8c899f518cdbe5ab94754d182f09d6ed6fc
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-b5afcfeafd17ff89556dcde7e7d1baefc4b36c76
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-e736d76d2b41789dff55067923064015cedce1ae
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-d76c453f0eb741d665569f48cd3df8d69535edad
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-9d45eba6476202ac65ec45c3ba12118d12f2ef84
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-01f9f98ab7d1aacab858a82f2243dfbc6ec781ff
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-6c17d1dd6beb0ac4e8dbdc1d3d89d077d1ed091f
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-de5d0aaef5920a283d740908c6e021d40fe12de0
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-f17f27205281653e3e67d0509a122b1861090085
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-6c3981b5733e947489b6d6359cea90114e5edbca
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-25ba0c97baff0f8a9d08ad328942a324acdc6523
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-3063d6bd093390b22c258c36bc7d09aa42baf7f5
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-e375f2da25f0471168cc6c97a8ac35c43eb9e951
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-d1f43f45055e4f55af9904a21c03f3ac2e23f780
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-c648c84097681019e5f1446c635b85ff2a486198
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-727e654f9158303b2dddb5c435ccffb7df627d09
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-534c09b61b58cbfef5a383f5be6864051db5bd1a
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-e7c1d0ffd0ba8ea407f4fcb7ee3717c2460456b8
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-0ccb2a5e2004a47c238a1ad5f97a8b6b140f6609
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-5edef310d5d94ad7293749401bc114eda84bdf27
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-3bb3d8ca023b0861c7f6dfcc04e06f2c37fe1bb7
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-d75a77accdc47f63ea09d5e541fb17c075259791
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-f8ffd668553b011c77c049c23596f4ac16b2442b
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-c0d6c4c7b3ffddbebd269646cb37316dd18ce702
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-c8becd4c81cfd2a2dec5bf5f98096f24dcea48e9
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-a8e3a2d9873b55c84b0cb046855447674b65146e
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-d073c8d1cdb5b1f1c923af71a80f3317b21e62ed
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-6b2a3e275cae2f8322ff624e013951d8e7d23b83
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-a66285338b82121f7347923b8ca006b160125d01
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-3055f9d157f6ce27aef346c81bdf132fdd5bc2f8
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-7c44a8e2ff7c7482515cc94e0244db0c747da71d
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-a5f2edbd8b8b3304dea21ffd974c0bc9bd772af5
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-d57b0b3be1ce716faee2d4c80c5f9a91ba8f1ecc
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-e8ec4dd62c7540c8cb45b05a895c168bcc13048b
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-73de39af2d0e901f694232da4801eb2c8a66d20b
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-6454de685ba7cf12cfc0804a23c0bd7bdfa0bfd7
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-9ffeec08dbf2185c660fc69f401c6754cc250aff
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-4cb440034519ea41c61d5a741cf167faa947a5d5
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-f0c5c70d49864d35245e4b1a630182e33fb993ca
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-acc196920bb7c53a8e1932c42e4ae88bdfbba913
+Relationship: SPDXRef-DOCUMENT describes SPDXRef-306a1cc131ed293066f5657c413a396b70065483
+
+FileName: ./.gitmodules
+SPDXID: SPDXRef-7445606fbf8f3683cd42bdc54b05d7a0bc2dfc44
+FileChecksum: SHA1: 1560d4ed9c29045a03ed4a1c660e15ffcf71b6d4
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (c) 2010 Nikolai Kondrashov <spbnick@gmail.com></text>
+
+FileName: ./.travis.yml
+SPDXID: SPDXRef-dea01dd89a3b602828e630677fde5d77c06441c8
+FileChecksum: SHA1: 7fe7e4ddb26f40832ddc33adf2733f6ddf8685b4
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0
+FileCopyrightText: <text>Copyright 2016 Stephan Linz <linz@li-pro.net></text>
+
+FileName: ./Makefile.am
+SPDXID: SPDXRef-d5b4de16d947214ec306bd57bed1bd23a939b5f9
+FileChecksum: SHA1: 84919942280a428df15bd5f4f65845c549db5d38
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (c) 2004 Thomas Sailer <sailer@ife.ee.ethz.ch></text>
+FileCopyrightText: <text>Copyright (c) 2005-2006 David Brownell <dbrownell@users.sourceforge.net></text>
+FileCopyrightText: <text>Copyright (c) 2009 Greg Kroah-Hartman <gregkh@suse.de></text>
+FileCopyrightText: <text>Copyright (c) 2009 Kay Sievers <kay.sievers@vrfy.org></text>
+
+FileName: ./NEWS
+SPDXID: SPDXRef-9f621eb5fd3bcb2fa5c7bd228c9b1ad42edc46c8
+FileChecksum: SHA1: a923f5c8b36aaf5c10f370d9d3e1d7f943537f32
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0
+FileCopyrightText: <text>Copyright (c) 2018 Greg Kroah-Hartman <gregkh@linuxfoundation.org></text>
+
+FileName: ./README.md
+SPDXID: SPDXRef-8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d
+FileChecksum: SHA1: 9ba7826a2617f4d769be0db957c6386d98377ca5
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (c) 2018 Greg Kroah-Hartman <gregkh@linuxfoundation.org></text>
+
+FileName: ./autogen.sh
+SPDXID: SPDXRef-152c3993c79ed609cfec1b4276c2eb31f4d518b3
+FileChecksum: SHA1: 03131c461ea90b53e3813f7895da75116c04f426
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0
+FileCopyrightText: <text>Copyright (c) 2009,2010 Greg Kroah-Hartman <gregkh@suse.de></text>
+
+FileName: ./configure.ac
+SPDXID: SPDXRef-87db583be5c13c1f7b3c958b10e03d67b6a2ca06
+FileChecksum: SHA1: 2c197c30cd709184f2206aef192b8396f1d821c0
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0
+FileCopyrightText: <text>Copyright (c) 2009 Kay Sievers <kay.sievers@vrfy.org></text>
+
+FileName: ./desc-defs.c
+SPDXID: SPDXRef-7b5d245d23c26fe4b0b395d0c0c1a91d2e68e16d
+FileChecksum: SHA1: c43d7e28f9771eadf192ce905edb558e749ab6ee
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (C) 2017-2018 Michael Drake <michael.drake@codethink.co.uk></text>
+
+FileName: ./desc-defs.h
+SPDXID: SPDXRef-311ad8c899f518cdbe5ab94754d182f09d6ed6fc
+FileChecksum: SHA1: a6d2a727b0ebfd808f87c3d83914ee72ec512771
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (C) 2017-2018 Michael Drake <michael.drake@codethink.co.uk></text>
+
+FileName: ./desc-dump.c
+SPDXID: SPDXRef-b5afcfeafd17ff89556dcde7e7d1baefc4b36c76
+FileChecksum: SHA1: d438bcf3e91ee4543d5947fdcd61f5acc80300df
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (C) 2017-2018 Michael Drake <michael.drake@codethink.co.uk></text>
+
+FileName: ./desc-dump.h
+SPDXID: SPDXRef-e736d76d2b41789dff55067923064015cedce1ae
+FileChecksum: SHA1: 4d409e266e6c978ab2ee65232789bd345817a3cb
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (C) 2017 Michael Drake <michael.drake@codethink.co.uk></text>
+
+FileName: ./list.h
+SPDXID: SPDXRef-d76c453f0eb741d665569f48cd3df8d69535edad
+FileChecksum: SHA1: ca31cb6d90c4bc81730910f6f48105c04dddb669
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0
+FileCopyrightText: <text>Copyright (c) 2004 Thomas Sailer <sailer@ife.ee.ethz.ch></text>
+
+FileName: ./lsusb-t.c
+SPDXID: SPDXRef-9d45eba6476202ac65ec45c3ba12118d12f2ef84
+FileChecksum: SHA1: bb56e91e0dd2d18055c0767a3490ed02c66fc3c4
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0
+FileCopyrightText: <text>Copyright (c) 2009 Greg Kroah-Hartman <gregkh@suse.de></text>
+
+FileName: ./lsusb.8.in
+SPDXID: SPDXRef-01f9f98ab7d1aacab858a82f2243dfbc6ec781ff
+FileChecksum: SHA1: 727a5577d2c35d55746ae85adbd727d17e089d2b
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0
+FileCopyrightText: <text>Copyright (c) 1999 Thomas Sailer <sailer@ife.ee.ethz.ch></text>
+
+FileName: ./lsusb.c
+SPDXID: SPDXRef-6c17d1dd6beb0ac4e8dbdc1d3d89d077d1ed091f
+FileChecksum: SHA1: 841e8f6f87fd0753db262e43dddebaf482116134
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (C) 1999-2001, 2003 Thomas Sailer (t.sailer@alumni.ethz.ch)</text>
+FileCopyrightText: <text>Copyright (C) 2003-2005 David Brownell</text>
+
+FileName: ./lsusb.h
+SPDXID: SPDXRef-de5d0aaef5920a283d740908c6e021d40fe12de0
+FileChecksum: SHA1: bd89c35ab2ed97c92cd60a3eb4be99ea4bc28309
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright 2011 (c) Greg Kroah-Hartman <gregkh@suse.de></text>
+
+FileName: ./lsusb.py.in
+SPDXID: SPDXRef-f17f27205281653e3e67d0509a122b1861090085
+FileChecksum: SHA1: 401591c4b0403cf1030816476313ff8b829e5620
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0 OR GPL-3.0
+FileCopyrightText: <text>Copyright (c) 2009 Kurt Garloff <garloff@suse.de></text>
+FileCopyrightText: <text>Copyright (c) 2013,2018 Kurt Garloff <kurt@garloff.de></text>
+
+FileName: ./names.c
+SPDXID: SPDXRef-6c3981b5733e947489b6d6359cea90114e5edbca
+FileChecksum: SHA1: bcbe9067297192b836daac36a1f5a7b70817230b
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (C) 1999, 2000 Thomas Sailer (sailer@ife.ee.ethz.ch)</text>
+FileCopyrightText: <text>Copyright (C) 2013 Tom Gundersen (teg@jklm.no)</text>
+
+FileName: ./names.h
+SPDXID: SPDXRef-25ba0c97baff0f8a9d08ad328942a324acdc6523
+FileChecksum: SHA1: 16462ddfaa18aad582a87586b681bbc147d434c0
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (C) 1999, 2000 Thomas Sailer (sailer@ife.ee.ethz.ch)</text>
+
+FileName: ./travis-autogen.sh
+SPDXID: SPDXRef-3063d6bd093390b22c258c36bc7d09aa42baf7f5
+FileChecksum: SHA1: edf024eb036c8f7df5defd1b3eedfbcd9b048bf6
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0
+FileCopyrightText: <text>Copyright 2016 Stephan Linz <linz@li-pro.net></text>
+
+FileName: ./usb-devices
+SPDXID: SPDXRef-e375f2da25f0471168cc6c97a8ac35c43eb9e951
+FileChecksum: SHA1: 54d31d0a3e445e4cde36b56fd87b516ea876935a
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (c) 2009 Frans Pop <elendil@planet.nl></text>
+FileCopyrightText: <text>Copyright (c) 2009 Greg Kroah-Hartman <greg@kroah.com></text>
+FileCopyrightText: <text>Copyright (c) 2009 Randy Dunlap <rdunlap@xenotime.net></text>
+
+FileName: ./usb-devices.1.in
+SPDXID: SPDXRef-d1f43f45055e4f55af9904a21c03f3ac2e23f780
+FileChecksum: SHA1: ec56b9e8c52cff364db5cca7215ac659dcecbd35
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0
+FileCopyrightText: <text>Copyright (c) 2004 Frans Pop <elendil@planet.nl></text>
+FileCopyrightText: <text>Copyright (c) 2004 Greg Kroah-Hartman <greg@kroah.com></text>
+FileCopyrightText: <text>Copyright (c) 2004 Randy Dunlap <rdunlap@xenotime.net></text>
+
+FileName: ./usb-spec.h
+SPDXID: SPDXRef-c648c84097681019e5f1446c635b85ff2a486198
+FileChecksum: SHA1: f789c1ccfb9bee2a5acb0d65f876032a1c6d1ed4
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (C) 2013 Tom Gundersen <teg@jklm.no></text>
+
+FileName: ./usbhid-dump/Makefile.am
+SPDXID: SPDXRef-727e654f9158303b2dddb5c435ccffb7df627d09
+FileChecksum: SHA1: 3535cca0ba7bac1531b77d715fcd5567aa1ca60a
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2009-2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/NEWS
+SPDXID: SPDXRef-534c09b61b58cbfef5a383f5be6864051db5bd1a
+FileChecksum: SHA1: 66a51fa38cb3f71d7514d982c104ebcb120a89f5
+LicenseConcluded: NOASSERTION
+FileCopyrightText: NONE
+
+FileName: ./usbhid-dump/README.md
+SPDXID: SPDXRef-e7c1d0ffd0ba8ea407f4fcb7ee3717c2460456b8
+FileChecksum: SHA1: 783567bddef5cfee242810cec17a2dd1da8d2a9a
+LicenseConcluded: NOASSERTION
+FileCopyrightText: NONE
+
+FileName: ./usbhid-dump/bootstrap
+SPDXID: SPDXRef-0ccb2a5e2004a47c238a1ad5f97a8b6b140f6609
+FileChecksum: SHA1: f7d3d115a6f2d188281beb8e486659d859521409
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (c) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/configure.ac
+SPDXID: SPDXRef-5edef310d5d94ad7293749401bc114eda84bdf27
+FileChecksum: SHA1: 7af6e3e59af5f9d421f19d880dd11efd045e27cf
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010-2011 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/doc/Makefile.am
+SPDXID: SPDXRef-3bb3d8ca023b0861c7f6dfcc04e06f2c37fe1bb7
+FileChecksum: SHA1: 9be240875c99a8abc4703dee8d184e28f84a1cb9
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/doc/usbhid-dump.8
+SPDXID: SPDXRef-d75a77accdc47f63ea09d5e541fb17c075259791
+FileChecksum: SHA1: 366ab4785a54650ddcfb4f8663ff5b9630fe4e62
+LicenseConcluded: NOASSERTION
+FileCopyrightText: NONE
+
+FileName: ./usbhid-dump/include/Makefile.am
+SPDXID: SPDXRef-f8ffd668553b011c77c049c23596f4ac16b2442b
+FileChecksum: SHA1: ef95fac01183b533f4391eab74594c44b459137c
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/include/uhd/Makefile.am
+SPDXID: SPDXRef-c0d6c4c7b3ffddbebd269646cb37316dd18ce702
+FileChecksum: SHA1: 2a0e7d6af768255ec307a4dbb579d542e77d7e41
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/include/uhd/dev.h
+SPDXID: SPDXRef-c8becd4c81cfd2a2dec5bf5f98096f24dcea48e9
+FileChecksum: SHA1: 715b1e0ae2eff0104a379a92f6ea0f117c992c97
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010-2011 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/include/uhd/dev_list.h
+SPDXID: SPDXRef-a8e3a2d9873b55c84b0cb046855447674b65146e
+FileChecksum: SHA1: 529334bc310028933bed64be6ae6e54dd3ebf3a5
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010-2011 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/include/uhd/iface.h
+SPDXID: SPDXRef-d073c8d1cdb5b1f1c923af71a80f3317b21e62ed
+FileChecksum: SHA1: da7f40ed9dfdc03048af1512fa96f1e166bf1ba7
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/include/uhd/iface_list.h
+SPDXID: SPDXRef-6b2a3e275cae2f8322ff624e013951d8e7d23b83
+FileChecksum: SHA1: 7407f60437e35af297f429863a28344fef62dc42
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/include/uhd/libusb.h
+SPDXID: SPDXRef-a66285338b82121f7347923b8ca006b160125d01
+FileChecksum: SHA1: 29b0e137d8d9ebc27534d6d62a9a778759eefb0d
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010-2011 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/include/uhd/misc.h
+SPDXID: SPDXRef-3055f9d157f6ce27aef346c81bdf132fdd5bc2f8
+FileChecksum: SHA1: 5d77ac9550fdf8eb747288791847ac8dc49043ac
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/lib/Makefile.am
+SPDXID: SPDXRef-7c44a8e2ff7c7482515cc94e0244db0c747da71d
+FileChecksum: SHA1: edaa1c6500e6144af33a259d4334d95130aa5d13
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2009-2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/lib/dev.c
+SPDXID: SPDXRef-a5f2edbd8b8b3304dea21ffd974c0bc9bd772af5
+FileChecksum: SHA1: 0a03aec4473b8bf11917d6d6955eb1a81e687aca
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/lib/dev_list.c
+SPDXID: SPDXRef-d57b0b3be1ce716faee2d4c80c5f9a91ba8f1ecc
+FileChecksum: SHA1: 2fc4fd5b6c8fcfde7a563b56cf0ba639cdad679b
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/lib/iface.c
+SPDXID: SPDXRef-e8ec4dd62c7540c8cb45b05a895c168bcc13048b
+FileChecksum: SHA1: b3c828cceeaea8d20fd440f6f7e5225d5ec26146
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/lib/iface_list.c
+SPDXID: SPDXRef-73de39af2d0e901f694232da4801eb2c8a66d20b
+FileChecksum: SHA1: 26fbfbadf28b0a4a6219873464594ddd4d95f145
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/lib/libusb.c
+SPDXID: SPDXRef-6454de685ba7cf12cfc0804a23c0bd7bdfa0bfd7
+FileChecksum: SHA1: 58f7d1c78541bfd310e46e24435540a0ec83d3c4
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/src/Makefile.am
+SPDXID: SPDXRef-9ffeec08dbf2185c660fc69f401c6754cc250aff
+FileChecksum: SHA1: 0a472632a048aa27df19971060f70541d39998df
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010 Nikolai Kondrashov</text>
+
+FileName: ./usbhid-dump/src/usbhid-dump.c
+SPDXID: SPDXRef-4cb440034519ea41c61d5a741cf167faa947a5d5
+FileChecksum: SHA1: 8a5219d3b7811565d99731460fd92241380732d2
+LicenseConcluded: NOASSERTION
+FileCopyrightText: <text>Copyright (C) 2010-2011 Nikolai Kondrashov</text>
+
+FileName: ./usbmisc.c
+SPDXID: SPDXRef-f0c5c70d49864d35245e4b1a630182e33fb993ca
+FileChecksum: SHA1: a1e319aef4a713d7b97bb2a715b399788e8eea06
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (C) 2003 Aurelien Jarno (aurelien@aurel32.net)</text>
+
+FileName: ./usbmisc.h
+SPDXID: SPDXRef-acc196920bb7c53a8e1932c42e4ae88bdfbba913
+FileChecksum: SHA1: 7ea70c8fa97a896ce84284a958110112665204d8
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0+
+FileCopyrightText: <text>Copyright (C) 2003 Aurelien Jarno (aurelien@aurel32.net)</text>
+
+FileName: ./usbreset.c
+SPDXID: SPDXRef-306a1cc131ed293066f5657c413a396b70065483
+FileChecksum: SHA1: 24202404fd630a999d70da1b21eaac09ce79021e
+LicenseConcluded: NOASSERTION
+LicenseInfoInFile: GPL-2.0
+FileCopyrightText: <text>Copyright (c) 2009-2016 Alan Stern</text>