libusb 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +8 -2
  3. data/Gemfile +2 -0
  4. data/History.md +12 -0
  5. data/README.md +25 -14
  6. data/Rakefile +64 -109
  7. data/appveyor.yml +23 -0
  8. data/ext/extconf.rb +10 -12
  9. data/ext/libusb_recipe.rb +29 -0
  10. data/lib/libusb/call.rb +14 -11
  11. data/lib/libusb/compat.rb +9 -9
  12. data/lib/libusb/context.rb +16 -1
  13. data/lib/libusb/dependencies.rb +7 -0
  14. data/lib/libusb/dev_handle.rb +13 -3
  15. data/lib/libusb/eventmachine.rb +4 -4
  16. data/lib/libusb/transfer.rb +71 -10
  17. data/lib/libusb/version_gem.rb +1 -1
  18. data/libusb.gemspec +7 -5
  19. data/ports/archives/libusb-1.0.21.tar.bz2 +0 -0
  20. data/test/test_libusb_bulk_stream_transfer.rb +1 -1
  21. data/test/test_libusb_descriptors.rb +4 -4
  22. data/test/test_libusb_event_machine.rb +7 -7
  23. data/test/test_libusb_hotplug.rb +15 -3
  24. data/test/test_libusb_iso_transfer.rb +1 -1
  25. data/test/test_libusb_mass_storage.rb +19 -19
  26. data/test/test_libusb_mass_storage2.rb +1 -1
  27. data/test/test_libusb_structs.rb +13 -0
  28. data/test/test_libusb_threads.rb +2 -2
  29. data/wireshark-usb-sniffer.png +0 -0
  30. metadata +32 -156
  31. checksums.yaml.gz.sig +0 -0
  32. data.tar.gz.sig +0 -0
  33. data/ext/libusb-1.0.20/AUTHORS +0 -89
  34. data/ext/libusb-1.0.20/COPYING +0 -504
  35. data/ext/libusb-1.0.20/ChangeLog +0 -227
  36. data/ext/libusb-1.0.20/INSTALL +0 -234
  37. data/ext/libusb-1.0.20/Makefile.am +0 -28
  38. data/ext/libusb-1.0.20/Makefile.in +0 -897
  39. data/ext/libusb-1.0.20/NEWS +0 -2
  40. data/ext/libusb-1.0.20/PORTING +0 -94
  41. data/ext/libusb-1.0.20/README +0 -29
  42. data/ext/libusb-1.0.20/TODO +0 -2
  43. data/ext/libusb-1.0.20/Xcode/common.xcconfig +0 -49
  44. data/ext/libusb-1.0.20/Xcode/config.h +0 -28
  45. data/ext/libusb-1.0.20/Xcode/debug.xcconfig +0 -29
  46. data/ext/libusb-1.0.20/Xcode/libusb.xcconfig +0 -21
  47. data/ext/libusb-1.0.20/Xcode/libusb.xcodeproj/project.pbxproj +0 -865
  48. data/ext/libusb-1.0.20/Xcode/libusb_debug.xcconfig +0 -21
  49. data/ext/libusb-1.0.20/Xcode/libusb_release.xcconfig +0 -21
  50. data/ext/libusb-1.0.20/Xcode/release.xcconfig +0 -30
  51. data/ext/libusb-1.0.20/aclocal.m4 +0 -1193
  52. data/ext/libusb-1.0.20/android/README +0 -114
  53. data/ext/libusb-1.0.20/android/config.h +0 -81
  54. data/ext/libusb-1.0.20/android/jni/Android.mk +0 -23
  55. data/ext/libusb-1.0.20/android/jni/Application.mk +0 -24
  56. data/ext/libusb-1.0.20/android/jni/examples.mk +0 -134
  57. data/ext/libusb-1.0.20/android/jni/libusb.mk +0 -54
  58. data/ext/libusb-1.0.20/android/jni/tests.mk +0 -56
  59. data/ext/libusb-1.0.20/compile +0 -347
  60. data/ext/libusb-1.0.20/config.guess +0 -1421
  61. data/ext/libusb-1.0.20/config.h.in +0 -155
  62. data/ext/libusb-1.0.20/config.sub +0 -1807
  63. data/ext/libusb-1.0.20/configure +0 -15466
  64. data/ext/libusb-1.0.20/configure.ac +0 -326
  65. data/ext/libusb-1.0.20/depcomp +0 -791
  66. data/ext/libusb-1.0.20/doc/Makefile.am +0 -9
  67. data/ext/libusb-1.0.20/doc/Makefile.in +0 -456
  68. data/ext/libusb-1.0.20/doc/doxygen.cfg.in +0 -2334
  69. data/ext/libusb-1.0.20/examples/Makefile.am +0 -19
  70. data/ext/libusb-1.0.20/examples/Makefile.in +0 -713
  71. data/ext/libusb-1.0.20/examples/dpfp.c +0 -506
  72. data/ext/libusb-1.0.20/examples/dpfp_threaded.c +0 -549
  73. data/ext/libusb-1.0.20/examples/ezusb.c +0 -831
  74. data/ext/libusb-1.0.20/examples/ezusb.h +0 -120
  75. data/ext/libusb-1.0.20/examples/fxload.c +0 -308
  76. data/ext/libusb-1.0.20/examples/getopt/getopt.c +0 -1060
  77. data/ext/libusb-1.0.20/examples/getopt/getopt.h +0 -180
  78. data/ext/libusb-1.0.20/examples/getopt/getopt1.c +0 -188
  79. data/ext/libusb-1.0.20/examples/hotplugtest.c +0 -122
  80. data/ext/libusb-1.0.20/examples/listdevs.c +0 -71
  81. data/ext/libusb-1.0.20/examples/sam3u_benchmark.c +0 -193
  82. data/ext/libusb-1.0.20/examples/xusb.c +0 -1130
  83. data/ext/libusb-1.0.20/install-sh +0 -501
  84. data/ext/libusb-1.0.20/libusb-1.0.pc.in +0 -11
  85. data/ext/libusb-1.0.20/libusb/Makefile.am +0 -90
  86. data/ext/libusb-1.0.20/libusb/Makefile.in +0 -1053
  87. data/ext/libusb-1.0.20/libusb/core.c +0 -2452
  88. data/ext/libusb-1.0.20/libusb/descriptor.c +0 -1201
  89. data/ext/libusb-1.0.20/libusb/hotplug.c +0 -344
  90. data/ext/libusb-1.0.20/libusb/hotplug.h +0 -90
  91. data/ext/libusb-1.0.20/libusb/io.c +0 -2760
  92. data/ext/libusb-1.0.20/libusb/libusb-1.0.def +0 -168
  93. data/ext/libusb-1.0.20/libusb/libusb-1.0.rc +0 -61
  94. data/ext/libusb-1.0.20/libusb/libusb.h +0 -1999
  95. data/ext/libusb-1.0.20/libusb/libusbi.h +0 -1102
  96. data/ext/libusb-1.0.20/libusb/os/darwin_usb.c +0 -1969
  97. data/ext/libusb-1.0.20/libusb/os/darwin_usb.h +0 -158
  98. data/ext/libusb-1.0.20/libusb/os/haiku/Makefile.am +0 -5
  99. data/ext/libusb-1.0.20/libusb/os/haiku/Makefile.in +0 -810
  100. data/ext/libusb-1.0.20/libusb/os/haiku/aclocal.m4 +0 -1193
  101. data/ext/libusb-1.0.20/libusb/os/haiku/compile +0 -347
  102. data/ext/libusb-1.0.20/libusb/os/haiku/config.guess +0 -1421
  103. data/ext/libusb-1.0.20/libusb/os/haiku/config.sub +0 -1807
  104. data/ext/libusb-1.0.20/libusb/os/haiku/configure +0 -17579
  105. data/ext/libusb-1.0.20/libusb/os/haiku/configure.ac +0 -8
  106. data/ext/libusb-1.0.20/libusb/os/haiku/depcomp +0 -791
  107. data/ext/libusb-1.0.20/libusb/os/haiku/haiku_pollfs.cpp +0 -378
  108. data/ext/libusb-1.0.20/libusb/os/haiku/haiku_usb.h +0 -112
  109. data/ext/libusb-1.0.20/libusb/os/haiku/haiku_usb_backend.cpp +0 -550
  110. data/ext/libusb-1.0.20/libusb/os/haiku/haiku_usb_raw.cpp +0 -255
  111. data/ext/libusb-1.0.20/libusb/os/haiku/haiku_usb_raw.h +0 -180
  112. data/ext/libusb-1.0.20/libusb/os/haiku/install-sh +0 -501
  113. data/ext/libusb-1.0.20/libusb/os/haiku/ltmain.sh +0 -9655
  114. data/ext/libusb-1.0.20/libusb/os/haiku/m4/libtool.m4 +0 -7992
  115. data/ext/libusb-1.0.20/libusb/os/haiku/m4/ltoptions.m4 +0 -384
  116. data/ext/libusb-1.0.20/libusb/os/haiku/m4/ltsugar.m4 +0 -123
  117. data/ext/libusb-1.0.20/libusb/os/haiku/m4/ltversion.m4 +0 -23
  118. data/ext/libusb-1.0.20/libusb/os/haiku/m4/lt~obsolete.m4 +0 -98
  119. data/ext/libusb-1.0.20/libusb/os/haiku/missing +0 -215
  120. data/ext/libusb-1.0.20/libusb/os/linux_netlink.c +0 -369
  121. data/ext/libusb-1.0.20/libusb/os/linux_udev.c +0 -306
  122. data/ext/libusb-1.0.20/libusb/os/linux_usbfs.c +0 -2692
  123. data/ext/libusb-1.0.20/libusb/os/linux_usbfs.h +0 -192
  124. data/ext/libusb-1.0.20/libusb/os/netbsd_usb.c +0 -674
  125. data/ext/libusb-1.0.20/libusb/os/openbsd_usb.c +0 -768
  126. data/ext/libusb-1.0.20/libusb/os/poll_posix.c +0 -53
  127. data/ext/libusb-1.0.20/libusb/os/poll_posix.h +0 -11
  128. data/ext/libusb-1.0.20/libusb/os/poll_windows.c +0 -728
  129. data/ext/libusb-1.0.20/libusb/os/poll_windows.h +0 -131
  130. data/ext/libusb-1.0.20/libusb/os/threads_posix.c +0 -82
  131. data/ext/libusb-1.0.20/libusb/os/threads_posix.h +0 -50
  132. data/ext/libusb-1.0.20/libusb/os/threads_windows.c +0 -214
  133. data/ext/libusb-1.0.20/libusb/os/threads_windows.h +0 -87
  134. data/ext/libusb-1.0.20/libusb/os/wince_usb.c +0 -869
  135. data/ext/libusb-1.0.20/libusb/os/wince_usb.h +0 -131
  136. data/ext/libusb-1.0.20/libusb/os/windows_common.h +0 -108
  137. data/ext/libusb-1.0.20/libusb/os/windows_usb.c +0 -4643
  138. data/ext/libusb-1.0.20/libusb/os/windows_usb.h +0 -973
  139. data/ext/libusb-1.0.20/libusb/strerror.c +0 -202
  140. data/ext/libusb-1.0.20/libusb/sync.c +0 -308
  141. data/ext/libusb-1.0.20/libusb/version.h +0 -18
  142. data/ext/libusb-1.0.20/libusb/version_nano.h +0 -1
  143. data/ext/libusb-1.0.20/ltmain.sh +0 -9655
  144. data/ext/libusb-1.0.20/m4/libtool.m4 +0 -7992
  145. data/ext/libusb-1.0.20/m4/ltoptions.m4 +0 -384
  146. data/ext/libusb-1.0.20/m4/ltsugar.m4 +0 -123
  147. data/ext/libusb-1.0.20/m4/ltversion.m4 +0 -23
  148. data/ext/libusb-1.0.20/m4/lt~obsolete.m4 +0 -98
  149. data/ext/libusb-1.0.20/missing +0 -215
  150. data/ext/libusb-1.0.20/tests/Makefile.am +0 -6
  151. data/ext/libusb-1.0.20/tests/Makefile.in +0 -596
  152. data/ext/libusb-1.0.20/tests/libusb_testlib.h +0 -107
  153. data/ext/libusb-1.0.20/tests/stress.c +0 -160
  154. data/ext/libusb-1.0.20/tests/testlib.c +0 -277
  155. metadata.gz.sig +0 -0
@@ -1,227 +0,0 @@
1
- For detailed information about the changes below, please see the git log or
2
- visit: http://log.libusb.info
3
-
4
- 2015-09-13: v1.0.20
5
- * Add Haiku support
6
- * Fix multiple memory and resource leaks (#16, #52, #76, #81)
7
- * Fix possible deadlock when executing transfer callback
8
- * New libusb_free_pollfds() API
9
- * Darwin: Fix devices not being detected on OS X 10.8 (#48)
10
- * Linux: Allow larger isochronous transfer submission (#23)
11
- * Windows: Fix broken builds Cygwin/MinGW builds and compiler warnings
12
- * Windows: Fix broken bus number lookup
13
- * Windows: Improve submission of control requests for composite devices
14
- * Examples: Add two-stage load support to fxload (#12)
15
- * Correctly report cancellations due to timeouts
16
- * Improve efficiency of event handling
17
- * Improve speed of transfer submission in multi-threaded environments
18
- * Various other bug fixes and improvements
19
- The (#xx) numbers are libusb issue numbers, see ie:
20
- https://github.com/libusb/libusb/issues/16
21
-
22
- 2014-05-30: v1.0.19
23
- * Add support for USB bulk streams on Linux and Mac OS X (#11)
24
- * Windows: Add AMD and Intel USB-3.0 root hub support
25
- * Windows: Fix USB 3.0 speed detection on Windows 8 or later (#10)
26
- * Added Russian translation for libusb_strerror strings
27
- * All: Various small fixes and cleanups
28
-
29
- 2014-01-25: v1.0.18
30
- * Fix multiple memory leaks
31
- * Fix a crash when HID transfers return no data on Windows
32
- * Ensure all pending events are consumed
33
- * Improve Android and ucLinux support
34
- * Multiple Windows improvements (error logging, VS2013, VIA xHCI support)
35
- * Multiple OS X improvements (broken compilation, SIGFPE, 64bit support)
36
-
37
- 2013-09-06: v1.0.17
38
- * Hotplug callbacks now always get passed a libusb_context, even if it is
39
- the default context. Previously NULL would be passed for the default context,
40
- but since the first context created is the default context, and most apps
41
- use only 1 context, this meant that apps explicitly creating a context would
42
- still get passed NULL
43
- * Android: Add .mk files to build with the Android NDK
44
- * Darwin: Add Xcode project
45
- * Darwin: Fix crash on unplug (#121)
46
- * Linux: Fix hang (deadlock) on libusb_exit
47
- * Linux: Fix libusb build failure with --disable-udev (#124)
48
- * Linux: Fix libusb_get_device_list() hang with --disable-udev (#130)
49
- * OpenBSD: Update OpenBSD backend with support for control transfers to
50
- non-ugen(4) devices and make get_configuration() no longer generate I/O.
51
- Note that using this libusb version on OpenBSD requires using
52
- OpenBSD 5.3-current or later. Users of older OpenBSD versions are advised
53
- to stay with the libusb shipped with OpenBSD (mpi)
54
- * Windows: fix libusb_dll_2010.vcxproj link errors (#129)
55
- * Various other bug fixes and improvements
56
-
57
- 2013-07-11: v1.0.16
58
- * Add hotplug support for Darwin and Linux (#9)
59
- * Add superspeed endpoint companion descriptor support (#15)
60
- * Add BOS descriptor support (#15)
61
- * Make descriptor parsing code more robust
62
- * New libusb_get_port_numbers API, this is libusb_get_port_path without
63
- the unnecessary context parameter, libusb_get_port_path is now deprecated
64
- * New libusb_strerror API (#14)
65
- * New libusb_set_auto_detach_kernel_driver API (#17)
66
- * Improve topology API docs (#95)
67
- * Logging now use a single write call per log-message, avoiding log-message
68
- "interlacing" when using multiple threads.
69
- * Android: use Android logging when building on Android (#101)
70
- * Darwin: make libusb_reset reenumerate device on descriptors change (#89)
71
- * Darwin: add support for the LIBUSB_TRANSFER_ADD_ZERO_PACKET flag (#91)
72
- * Darwin: add a device cache (#112, #114)
73
- * Examples: Add sam3u_benchmark isochronous example by Harald Welte (#109)
74
- * Many other bug fixes and improvements
75
- The (#xx) numbers are libusbx issue numbers, see ie:
76
- https://github.com/libusbx/libusbx/issues/9
77
-
78
- 2013-04-15: v1.0.15
79
- * Improve transfer cancellation and avoid short read failures on broken descriptors
80
- * Filter out 8-bit characters in libusb_get_string_descriptor_ascii()
81
- * Add WinCE support
82
- * Add library stress tests
83
- * Add Cypress FX3 firmware upload support for fxload sample
84
- * Add HID and kernel driver detach support capabilities detection
85
- * Add SuperSpeed detection on OS X
86
- * Fix bInterval value interpretation on OS X
87
- * Fix issues with autoclaim, composite HID devices, interface autoclaim and
88
- early abort in libusb_close() on Windows. Also add VS2012 solution files.
89
- * Improve fd event handling on Linux
90
- * Other bug fixes and improvements
91
-
92
- 2012-09-26: v1.0.14
93
- * Reverts the previous API change with regards to bMaxPower.
94
- If this doesn't matter to you, you are encouraged to keep using v1.0.13,
95
- as it will use the same attribute as v2.0, to be released soon.
96
- * Note that LIBUSB_API_VERSION is *decreased* to 0x010000FF and the previous
97
- guidelines with regards to concurrent use of MaxPower/bMaxPower still apply.
98
-
99
- 2012-09-20: v1.0.13
100
- * [MAJOR] Fix a typo in the API with struct libusb_config_descriptor where
101
- MaxPower was used instead of bMaxPower, as defined in the specs. If your
102
- application was accessing the MaxPower attribute, and you need to maintain
103
- compatibility with libusb or older versions, see APPENDIX A below.
104
- * Fix broken support for the 0.1 -> 1.0 libusb-compat layer
105
- * Fix unwanted cancellation of pending timeouts as well as major timeout related bugs
106
- * Fix handling of HID and composite devices on Windows
107
- * Introduce LIBUSB_API_VERSION macro
108
- * Add Cypress FX/FX2 firmware upload sample, based on fxload from
109
- http://linux-hotplug.sourceforge.net
110
- * Add libusb0 (libusb-win32) and libusbK driver support on Windows. Note that while
111
- the drivers allow it, isochronous transfers are not supported yet in libusb. Also
112
- not supported yet is the use of libusb-win32 filter drivers on composite interfaces
113
- * Add support for the new get_capabilities ioctl on Linux and avoid unnecessary
114
- splitting of bulk transfers
115
- * Improve support for newer Intel and Renesas USB 3.0 controllers on Windows
116
- * Harmonize the device number for root hubs across platforms
117
- * Other bug fixes and improvements
118
-
119
- 2012-06-15: v1.0.12
120
- * Fix a potential major regression with pthread on Linux
121
- * Fix missing thread ID from debug log output on cygwin
122
- * Fix possible crash when using longjmp and MinGW's gcc 4.6
123
- * Add topology calls: libusb_get_port_number(), libusb_get_parent() & libusb_get_port_path()
124
- * Add toggleable debug, using libusb_set_debug() or the LIBUSB_DEBUG environment variable
125
- * Define log levels in libusb.h and set timestamp origin to first libusb_init() call
126
- * All logging is now sent to to stderr (info was sent to stdout previously)
127
- * Update log messages severity and avoid polluting log output on OS-X
128
- * Add HID driver support on Windows
129
- * Enable interchangeability of MSVC and MinGW DLLs
130
- * Additional bug fixes and improvements
131
-
132
- 2012-05-08: v1.0.11
133
- * Revert removal of critical Windows event handling that was introduced in 1.0.10
134
- * Fix a possible deadlock in Windows when submitting transfers
135
- * Add timestamped logging
136
- * Add NetBSD support (experimental) and BSD libusb_get_device_speed() data
137
- * Add bootstrap.sh alongside autogen.sh (bootstrap.sh doesn't invoke configure)
138
- * Search for device nodes in /dev for Android support
139
- * Other bug fixes
140
-
141
- 2012-04-17: v1.0.10
142
- * Public release
143
- * Add libusb_get_version
144
- * Add Visual Studio 2010 project files
145
- * Some Windows code cleanup
146
- * Fix xusb sample warnings
147
-
148
- 2012-04-02: v1.0.9
149
- * First libusbx release
150
- * Add libusb_get_device_speed (all, except BSD) and libusb_error_name
151
- * Add Windows support (WinUSB driver only)
152
- * Add OpenBSD support
153
- * Add xusb sample
154
- * Tons of bug fixes
155
-
156
- 2010-05-07: v1.0.8
157
- * Bug fixes
158
-
159
- 2010-04-19: v1.0.7
160
- * Bug fixes and documentation tweaks
161
- * Add more interface class definitions
162
-
163
- 2009-11-22: v1.0.6
164
- * Bug fixes
165
- * Increase libusb_handle_events() timeout to 60s for powersaving
166
-
167
- 2009-11-15: v1.0.5
168
- * Use timerfd when available for timer management
169
- * Small fixes/updates
170
-
171
- 2009-11-06: v1.0.4 release
172
- * Bug fixes including transfer locking to fix some potential threading races
173
- * More flexibility with clock types on Linux
174
- * Use new bulk continuation tracking in Linux 2.6.32 for improved handling
175
- of short/failed transfers
176
-
177
- 2009-08-27: v1.0.3 release
178
- * Bug fixes
179
- * Add libusb_get_max_iso_packet_size()
180
-
181
- 2009-06-13: v1.0.2 release
182
- * Bug fixes
183
-
184
- 2009-05-12: v1.0.1 release
185
- * Bug fixes
186
- * Darwin backend
187
-
188
- 2008-12-13: v1.0.0 release
189
- * Bug fixes
190
-
191
- 2008-11-21: v0.9.4 release
192
- * Bug fixes
193
- * Add libusb_attach_kernel_driver()
194
-
195
- 2008-08-23: v0.9.3 release
196
- * Bug fixes
197
-
198
- 2008-07-19: v0.9.2 release
199
- * Bug fixes
200
-
201
- 2008-06-28: v0.9.1 release
202
- * Bug fixes
203
- * Introduce contexts to the API
204
- * Compatibility with new Linux kernel features
205
-
206
- 2008-05-25: v0.9.0 release
207
- * First libusb-1.0 beta release
208
-
209
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
210
-
211
- APPENDIX A - How to maintain code compatibility with versions of libusb and
212
- libusb that use MaxPower:
213
-
214
- If you must to maintain compatibility with versions of the library that aren't
215
- using the bMaxPower attribute in struct libusb_config_descriptor, the
216
- recommended way is to use the new LIBUSB_API_VERSION macro with an #ifdef.
217
- For instance, if your code was written as follows:
218
-
219
- if (dev->config[0].MaxPower < 250)
220
-
221
- Then you should modify it to have:
222
-
223
- #if defined(LIBUSB_API_VERSION) && (LIBUSB_API_VERSION >= 0x01000100)
224
- if (dev->config[0].bMaxPower < 250)
225
- #else
226
- if (dev->config[0].MaxPower < 250)
227
- #endif
@@ -1,234 +0,0 @@
1
- Installation Instructions
2
- *************************
3
-
4
- Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
5
- 2006 Free Software Foundation, Inc.
6
-
7
- This file is free documentation; the Free Software Foundation gives
8
- unlimited permission to copy, distribute and modify it.
9
-
10
- Basic Installation
11
- ==================
12
-
13
- Briefly, the shell commands `./configure; make; make install' should
14
- configure, build, and install this package. The following
15
- more-detailed instructions are generic; see the `README' file for
16
- instructions specific to this package.
17
-
18
- The `configure' shell script attempts to guess correct values for
19
- various system-dependent variables used during compilation. It uses
20
- those values to create a `Makefile' in each directory of the package.
21
- It may also create one or more `.h' files containing system-dependent
22
- definitions. Finally, it creates a shell script `config.status' that
23
- you can run in the future to recreate the current configuration, and a
24
- file `config.log' containing compiler output (useful mainly for
25
- debugging `configure').
26
-
27
- It can also use an optional file (typically called `config.cache'
28
- and enabled with `--cache-file=config.cache' or simply `-C') that saves
29
- the results of its tests to speed up reconfiguring. Caching is
30
- disabled by default to prevent problems with accidental use of stale
31
- cache files.
32
-
33
- If you need to do unusual things to compile the package, please try
34
- to figure out how `configure' could check whether to do them, and mail
35
- diffs or instructions to the address given in the `README' so they can
36
- be considered for the next release. If you are using the cache, and at
37
- some point `config.cache' contains results you don't want to keep, you
38
- may remove or edit it.
39
-
40
- The file `configure.ac' (or `configure.in') is used to create
41
- `configure' by a program called `autoconf'. You need `configure.ac' if
42
- you want to change it or regenerate `configure' using a newer version
43
- of `autoconf'.
44
-
45
- The simplest way to compile this package is:
46
-
47
- 1. `cd' to the directory containing the package's source code and type
48
- `./configure' to configure the package for your system.
49
-
50
- Running `configure' might take a while. While running, it prints
51
- some messages telling which features it is checking for.
52
-
53
- 2. Type `make' to compile the package.
54
-
55
- 3. Optionally, type `make check' to run any self-tests that come with
56
- the package.
57
-
58
- 4. Type `make install' to install the programs and any data files and
59
- documentation.
60
-
61
- 5. You can remove the program binaries and object files from the
62
- source code directory by typing `make clean'. To also remove the
63
- files that `configure' created (so you can compile the package for
64
- a different kind of computer), type `make distclean'. There is
65
- also a `make maintainer-clean' target, but that is intended mainly
66
- for the package's developers. If you use it, you may have to get
67
- all sorts of other programs in order to regenerate files that came
68
- with the distribution.
69
-
70
- Compilers and Options
71
- =====================
72
-
73
- Some systems require unusual options for compilation or linking that the
74
- `configure' script does not know about. Run `./configure --help' for
75
- details on some of the pertinent environment variables.
76
-
77
- You can give `configure' initial values for configuration parameters
78
- by setting variables in the command line or in the environment. Here
79
- is an example:
80
-
81
- ./configure CC=c99 CFLAGS=-g LIBS=-lposix
82
-
83
- *Note Defining Variables::, for more details.
84
-
85
- Compiling For Multiple Architectures
86
- ====================================
87
-
88
- You can compile the package for more than one kind of computer at the
89
- same time, by placing the object files for each architecture in their
90
- own directory. To do this, you can use GNU `make'. `cd' to the
91
- directory where you want the object files and executables to go and run
92
- the `configure' script. `configure' automatically checks for the
93
- source code in the directory that `configure' is in and in `..'.
94
-
95
- With a non-GNU `make', it is safer to compile the package for one
96
- architecture at a time in the source code directory. After you have
97
- installed the package for one architecture, use `make distclean' before
98
- reconfiguring for another architecture.
99
-
100
- Installation Names
101
- ==================
102
-
103
- By default, `make install' installs the package's commands under
104
- `/usr/local/bin', include files under `/usr/local/include', etc. You
105
- can specify an installation prefix other than `/usr/local' by giving
106
- `configure' the option `--prefix=PREFIX'.
107
-
108
- You can specify separate installation prefixes for
109
- architecture-specific files and architecture-independent files. If you
110
- pass the option `--exec-prefix=PREFIX' to `configure', the package uses
111
- PREFIX as the prefix for installing programs and libraries.
112
- Documentation and other data files still use the regular prefix.
113
-
114
- In addition, if you use an unusual directory layout you can give
115
- options like `--bindir=DIR' to specify different values for particular
116
- kinds of files. Run `configure --help' for a list of the directories
117
- you can set and what kinds of files go in them.
118
-
119
- If the package supports it, you can cause programs to be installed
120
- with an extra prefix or suffix on their names by giving `configure' the
121
- option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
122
-
123
- Optional Features
124
- =================
125
-
126
- Some packages pay attention to `--enable-FEATURE' options to
127
- `configure', where FEATURE indicates an optional part of the package.
128
- They may also pay attention to `--with-PACKAGE' options, where PACKAGE
129
- is something like `gnu-as' or `x' (for the X Window System). The
130
- `README' should mention any `--enable-' and `--with-' options that the
131
- package recognizes.
132
-
133
- For packages that use the X Window System, `configure' can usually
134
- find the X include and library files automatically, but if it doesn't,
135
- you can use the `configure' options `--x-includes=DIR' and
136
- `--x-libraries=DIR' to specify their locations.
137
-
138
- Specifying the System Type
139
- ==========================
140
-
141
- There may be some features `configure' cannot figure out automatically,
142
- but needs to determine by the type of machine the package will run on.
143
- Usually, assuming the package is built to be run on the _same_
144
- architectures, `configure' can figure that out, but if it prints a
145
- message saying it cannot guess the machine type, give it the
146
- `--build=TYPE' option. TYPE can either be a short name for the system
147
- type, such as `sun4', or a canonical name which has the form:
148
-
149
- CPU-COMPANY-SYSTEM
150
-
151
- where SYSTEM can have one of these forms:
152
-
153
- OS KERNEL-OS
154
-
155
- See the file `config.sub' for the possible values of each field. If
156
- `config.sub' isn't included in this package, then this package doesn't
157
- need to know the machine type.
158
-
159
- If you are _building_ compiler tools for cross-compiling, you should
160
- use the option `--target=TYPE' to select the type of system they will
161
- produce code for.
162
-
163
- If you want to _use_ a cross compiler, that generates code for a
164
- platform different from the build platform, you should specify the
165
- "host" platform (i.e., that on which the generated programs will
166
- eventually be run) with `--host=TYPE'.
167
-
168
- Sharing Defaults
169
- ================
170
-
171
- If you want to set default values for `configure' scripts to share, you
172
- can create a site shell script called `config.site' that gives default
173
- values for variables like `CC', `cache_file', and `prefix'.
174
- `configure' looks for `PREFIX/share/config.site' if it exists, then
175
- `PREFIX/etc/config.site' if it exists. Or, you can set the
176
- `CONFIG_SITE' environment variable to the location of the site script.
177
- A warning: not all `configure' scripts look for a site script.
178
-
179
- Defining Variables
180
- ==================
181
-
182
- Variables not defined in a site shell script can be set in the
183
- environment passed to `configure'. However, some packages may run
184
- configure again during the build, and the customized values of these
185
- variables may be lost. In order to avoid this problem, you should set
186
- them in the `configure' command line, using `VAR=value'. For example:
187
-
188
- ./configure CC=/usr/local2/bin/gcc
189
-
190
- causes the specified `gcc' to be used as the C compiler (unless it is
191
- overridden in the site shell script).
192
-
193
- Unfortunately, this technique does not work for `CONFIG_SHELL' due to
194
- an Autoconf bug. Until the bug is fixed you can use this workaround:
195
-
196
- CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
197
-
198
- `configure' Invocation
199
- ======================
200
-
201
- `configure' recognizes the following options to control how it operates.
202
-
203
- `--help'
204
- `-h'
205
- Print a summary of the options to `configure', and exit.
206
-
207
- `--version'
208
- `-V'
209
- Print the version of Autoconf used to generate the `configure'
210
- script, and exit.
211
-
212
- `--cache-file=FILE'
213
- Enable the cache: use and save the results of the tests in FILE,
214
- traditionally `config.cache'. FILE defaults to `/dev/null' to
215
- disable caching.
216
-
217
- `--config-cache'
218
- `-C'
219
- Alias for `--cache-file=config.cache'.
220
-
221
- `--quiet'
222
- `--silent'
223
- `-q'
224
- Do not print messages saying which checks are being made. To
225
- suppress all normal output, redirect it to `/dev/null' (any error
226
- messages will still be shown).
227
-
228
- `--srcdir=DIR'
229
- Look for the package's source code in directory DIR. Usually
230
- `configure' can determine that directory automatically.
231
-
232
- `configure' also accepts some other, not widely useful, options. Run
233
- `configure --help' for more details.
234
-