usb 1.7.2-prebuild

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/.github/workflows/prebuild.yml +62 -0
  2. package/.gitmodules +3 -0
  3. package/LICENSE +7 -0
  4. package/Readme.md +339 -0
  5. package/binding.gyp +90 -0
  6. package/libusb/.gitattributes +11 -0
  7. package/libusb/.private/README.txt +5 -0
  8. package/libusb/.private/bd.cmd +89 -0
  9. package/libusb/.private/bm.sh +54 -0
  10. package/libusb/.private/bwince.cmd +57 -0
  11. package/libusb/.private/post-rewrite.sh +28 -0
  12. package/libusb/.private/pre-commit.sh +42 -0
  13. package/libusb/.private/wbs.txt +61 -0
  14. package/libusb/.private/wbs_wince.txt +42 -0
  15. package/libusb/AUTHORS +78 -0
  16. package/libusb/COPYING +504 -0
  17. package/libusb/ChangeLog +211 -0
  18. package/libusb/INSTALL +234 -0
  19. package/libusb/INSTALL_WIN.txt +73 -0
  20. package/libusb/Makefile.am +28 -0
  21. package/libusb/NEWS +2 -0
  22. package/libusb/PORTING +94 -0
  23. package/libusb/README +28 -0
  24. package/libusb/README.git +41 -0
  25. package/libusb/TODO +2 -0
  26. package/libusb/Xcode/common.xcconfig +49 -0
  27. package/libusb/Xcode/debug.xcconfig +29 -0
  28. package/libusb/Xcode/libusb.xcconfig +21 -0
  29. package/libusb/Xcode/libusb.xcodeproj/project.pbxproj +1 -0
  30. package/libusb/Xcode/libusb_debug.xcconfig +21 -0
  31. package/libusb/Xcode/libusb_release.xcconfig +21 -0
  32. package/libusb/Xcode/release.xcconfig +30 -0
  33. package/libusb/android/README +114 -0
  34. package/libusb/android/jni/Android.mk +23 -0
  35. package/libusb/android/jni/Application.mk +24 -0
  36. package/libusb/android/jni/examples.mk +134 -0
  37. package/libusb/android/jni/libusb.mk +54 -0
  38. package/libusb/android/jni/tests.mk +56 -0
  39. package/libusb/autogen.sh +8 -0
  40. package/libusb/bootstrap.sh +19 -0
  41. package/libusb/configure.ac +304 -0
  42. package/libusb/doc/Makefile.am +9 -0
  43. package/libusb/doc/doxygen.cfg.in +1288 -0
  44. package/libusb/doc/libusb.png +0 -0
  45. package/libusb/examples/Makefile.am +19 -0
  46. package/libusb/examples/dpfp.c +506 -0
  47. package/libusb/examples/dpfp_threaded.c +544 -0
  48. package/libusb/examples/ezusb.c +831 -0
  49. package/libusb/examples/ezusb.h +120 -0
  50. package/libusb/examples/fxload.c +287 -0
  51. package/libusb/examples/getopt/getopt.c +1060 -0
  52. package/libusb/examples/getopt/getopt.h +180 -0
  53. package/libusb/examples/getopt/getopt1.c +188 -0
  54. package/libusb/examples/hotplugtest.c +104 -0
  55. package/libusb/examples/listdevs.c +71 -0
  56. package/libusb/examples/sam3u_benchmark.c +193 -0
  57. package/libusb/examples/xusb.c +1129 -0
  58. package/libusb/libusb/Makefile.am +75 -0
  59. package/libusb/libusb/core.c +2342 -0
  60. package/libusb/libusb/descriptor.c +1199 -0
  61. package/libusb/libusb/hotplug.c +327 -0
  62. package/libusb/libusb/hotplug.h +82 -0
  63. package/libusb/libusb/io.c +2631 -0
  64. package/libusb/libusb/libusb-1.0.def +166 -0
  65. package/libusb/libusb/libusb-1.0.rc +61 -0
  66. package/libusb/libusb/libusb.h +1998 -0
  67. package/libusb/libusb/libusbi.h +1040 -0
  68. package/libusb/libusb/os/darwin_usb.c +2009 -0
  69. package/libusb/libusb/os/darwin_usb.h +162 -0
  70. package/libusb/libusb/os/linux_netlink.c +369 -0
  71. package/libusb/libusb/os/linux_udev.c +307 -0
  72. package/libusb/libusb/os/linux_usbfs.c +2695 -0
  73. package/libusb/libusb/os/linux_usbfs.h +192 -0
  74. package/libusb/libusb/os/netbsd_usb.c +738 -0
  75. package/libusb/libusb/os/openbsd_usb.c +832 -0
  76. package/libusb/libusb/os/poll_posix.c +51 -0
  77. package/libusb/libusb/os/poll_posix.h +11 -0
  78. package/libusb/libusb/os/poll_windows.c +796 -0
  79. package/libusb/libusb/os/poll_windows.h +131 -0
  80. package/libusb/libusb/os/threads_posix.c +82 -0
  81. package/libusb/libusb/os/threads_posix.h +50 -0
  82. package/libusb/libusb/os/threads_windows.c +212 -0
  83. package/libusb/libusb/os/threads_windows.h +87 -0
  84. package/libusb/libusb/os/wince_usb.c +1032 -0
  85. package/libusb/libusb/os/wince_usb.h +131 -0
  86. package/libusb/libusb/os/windows_common.h +108 -0
  87. package/libusb/libusb/os/windows_usb.c +5347 -0
  88. package/libusb/libusb/os/windows_usb.h +971 -0
  89. package/libusb/libusb/strerror.c +199 -0
  90. package/libusb/libusb/sync.c +307 -0
  91. package/libusb/libusb/version.h +18 -0
  92. package/libusb/libusb/version_nano.h +1 -0
  93. package/libusb/libusb-1.0.pc.in +11 -0
  94. package/libusb/msvc/config.h +50 -0
  95. package/libusb/msvc/ddk_build.cmd +175 -0
  96. package/libusb/msvc/errno.h +102 -0
  97. package/libusb/msvc/fxload_2010.vcxproj +170 -0
  98. package/libusb/msvc/fxload_2010.vcxproj.filters +25 -0
  99. package/libusb/msvc/fxload_2012.vcxproj +174 -0
  100. package/libusb/msvc/fxload_2012.vcxproj.filters +25 -0
  101. package/libusb/msvc/fxload_2013.vcxproj +174 -0
  102. package/libusb/msvc/fxload_sources +23 -0
  103. package/libusb/msvc/getopt_2005.vcproj +288 -0
  104. package/libusb/msvc/getopt_2010.vcxproj +131 -0
  105. package/libusb/msvc/getopt_2010.vcxproj.filters +26 -0
  106. package/libusb/msvc/getopt_2012.vcxproj +136 -0
  107. package/libusb/msvc/getopt_2012.vcxproj.filters +26 -0
  108. package/libusb/msvc/getopt_2013.vcxproj +136 -0
  109. package/libusb/msvc/getopt_sources +20 -0
  110. package/libusb/msvc/hotplugtest_2010.vcxproj +163 -0
  111. package/libusb/msvc/hotplugtest_2010.vcxproj.filters +14 -0
  112. package/libusb/msvc/hotplugtest_2012.vcxproj +167 -0
  113. package/libusb/msvc/hotplugtest_2012.vcxproj.filters +14 -0
  114. package/libusb/msvc/hotplugtest_2013.vcxproj +167 -0
  115. package/libusb/msvc/hotplugtest_sources +20 -0
  116. package/libusb/msvc/inttypes.h +295 -0
  117. package/libusb/msvc/libusb.dsw +71 -0
  118. package/libusb/msvc/libusb_2005.sln +95 -0
  119. package/libusb/msvc/libusb_2010.sln +94 -0
  120. package/libusb/msvc/libusb_2012.sln +94 -0
  121. package/libusb/msvc/libusb_2013.sln +100 -0
  122. package/libusb/msvc/libusb_2015.sln +100 -0
  123. package/libusb/msvc/libusb_dll.dsp +194 -0
  124. package/libusb/msvc/libusb_dll_2005.vcproj +436 -0
  125. package/libusb/msvc/libusb_dll_2010.vcxproj +170 -0
  126. package/libusb/msvc/libusb_dll_2010.vcxproj.filters +81 -0
  127. package/libusb/msvc/libusb_dll_2012.vcxproj +175 -0
  128. package/libusb/msvc/libusb_dll_2012.vcxproj.filters +84 -0
  129. package/libusb/msvc/libusb_dll_2013.vcxproj +175 -0
  130. package/libusb/msvc/libusb_dll_wince.vcproj +1243 -0
  131. package/libusb/msvc/libusb_sources +38 -0
  132. package/libusb/msvc/libusb_static.dsp +174 -0
  133. package/libusb/msvc/libusb_static_2005.vcproj +362 -0
  134. package/libusb/msvc/libusb_static_2010.vcxproj +156 -0
  135. package/libusb/msvc/libusb_static_2010.vcxproj.filters +74 -0
  136. package/libusb/msvc/libusb_static_2012.vcxproj +160 -0
  137. package/libusb/msvc/libusb_static_2012.vcxproj.filters +74 -0
  138. package/libusb/msvc/libusb_static_2013.vcxproj +160 -0
  139. package/libusb/msvc/libusb_static_wince.vcproj +1185 -0
  140. package/libusb/msvc/libusb_wince.sln +246 -0
  141. package/libusb/msvc/listdevs.dsp +103 -0
  142. package/libusb/msvc/listdevs_2005.vcproj +360 -0
  143. package/libusb/msvc/listdevs_2010.vcxproj +165 -0
  144. package/libusb/msvc/listdevs_2010.vcxproj.filters +14 -0
  145. package/libusb/msvc/listdevs_2012.vcxproj +169 -0
  146. package/libusb/msvc/listdevs_2012.vcxproj.filters +14 -0
  147. package/libusb/msvc/listdevs_2013.vcxproj +169 -0
  148. package/libusb/msvc/listdevs_sources +19 -0
  149. package/libusb/msvc/listdevs_wince.vcproj +1120 -0
  150. package/libusb/msvc/missing.c +80 -0
  151. package/libusb/msvc/missing.h +32 -0
  152. package/libusb/msvc/stdint.h +256 -0
  153. package/libusb/msvc/stress_2005.vcproj +390 -0
  154. package/libusb/msvc/stress_2010.vcxproj +167 -0
  155. package/libusb/msvc/stress_2010.vcxproj.filters +25 -0
  156. package/libusb/msvc/stress_2012.vcxproj +171 -0
  157. package/libusb/msvc/stress_2012.vcxproj.filters +25 -0
  158. package/libusb/msvc/stress_2013.vcxproj +171 -0
  159. package/libusb/msvc/stress_wince.vcproj +1128 -0
  160. package/libusb/msvc/xusb.dsp +102 -0
  161. package/libusb/msvc/xusb_2005.vcproj +344 -0
  162. package/libusb/msvc/xusb_2010.vcxproj +163 -0
  163. package/libusb/msvc/xusb_2010.vcxproj.filters +14 -0
  164. package/libusb/msvc/xusb_2012.vcxproj +167 -0
  165. package/libusb/msvc/xusb_2012.vcxproj.filters +14 -0
  166. package/libusb/msvc/xusb_2013.vcxproj +167 -0
  167. package/libusb/msvc/xusb_sources +20 -0
  168. package/libusb/msvc/xusb_wince.vcproj +1120 -0
  169. package/libusb/tests/Makefile.am +6 -0
  170. package/libusb/tests/libusb_testlib.h +107 -0
  171. package/libusb/tests/stress.c +160 -0
  172. package/libusb/tests/testlib.c +281 -0
  173. package/libusb.gypi +136 -0
  174. package/libusb_config/config.h +1 -0
  175. package/package.json +69 -0
  176. package/src/device.cc +412 -0
  177. package/src/helpers.h +64 -0
  178. package/src/node_usb.cc +319 -0
  179. package/src/node_usb.h +120 -0
  180. package/src/transfer.cc +148 -0
  181. package/src/uv_async_queue.h +33 -0
  182. package/test/usb.coffee +191 -0
  183. package/usb.js +524 -0
@@ -0,0 +1,41 @@
1
+ Notes related to git compilation:
2
+ --------------------------------
3
+
4
+ If you retrieved the libusb repository from git and are using a gcc based
5
+ toolchain, be mindful that you should have the autotools installed (autoconf,
6
+ automake) and will need to run either ./autogen.sh or ./bootstrap.sh to produce
7
+ the configure file.
8
+
9
+ The difference between autogen.sh and bootstrap.sh is that the former invokes
10
+ configure with a default set of options, and will therefore generate a Makefile,
11
+ whereas the latter does not invoke configure at all. If using autogen.sh, note
12
+ that you can also append options, that will be passed as is to configure.
13
+
14
+ OS X-specific notes:
15
+ -------------------
16
+
17
+ Starting with Xcode 4.3, neither Xcode.app nor the Xcode 'command line tools'
18
+ includes autotools and so running either autogen.sh or bootstrap.sh will result
19
+ in the message:
20
+
21
+ libtoolize or glibtoolize was not found! Please install libtool.
22
+
23
+ To proceed, you must find and install it from somewhere.
24
+
25
+ Alternatively, you can use the Xcode project at Xcode/libusb.xcodeproj.
26
+
27
+ Notes related to submitting new developments:
28
+ --------------------------------------------
29
+
30
+ If you submit a new development to libusb (eg: new backend), that is unlikely
31
+ to fit in a couple of small patches, we would kindly suggest that you create a
32
+ public account on github, if you don't have one already, and then fork a new
33
+ libusb repository under this account from https://github.com/libusb/libusb.
34
+
35
+ Then you can create a git branch for your work, that we will be able to better
36
+ reference and test.
37
+
38
+ We also suggest that, if you are planning to bring in a large development, you
39
+ try to involve the libusb community early by letting the mailing list know, as
40
+ you may find that other people might be eager to help you out.
41
+ See http://mailing-list.libusb.info for details on how to join the mailing list.
package/libusb/TODO ADDED
@@ -0,0 +1,2 @@
1
+ Please see the libusb roadmap by visiting:
2
+ https://github.com/libusb/libusb/issues/milestones?direction=asc&sort=due_date
@@ -0,0 +1,49 @@
1
+ //
2
+ // libusb Xcode configuration file
3
+ // Copyright © 2012 Pete Batard <pete@akeo.ie>
4
+ // For more information, please visit: <http://libusb.info>
5
+ //
6
+ // This library is free software; you can redistribute it and/or
7
+ // modify it under the terms of the GNU Lesser General Public
8
+ // License as published by the Free Software Foundation; either
9
+ // version 2.1 of the License, or (at your option) any later version.
10
+ //
11
+ // This library is distributed in the hope that it will be useful,
12
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ // Lesser General Public License for more details.
15
+ //
16
+ // You should have received a copy of the GNU Lesser General Public
17
+ // License along with this library; if not, write to the Free Software
18
+ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
+
20
+ // libusb does not follow C99 strict aliasing rules, so disable it.
21
+ GCC_STRICT_ALIASING = NO
22
+
23
+ // Use C99 dialect.
24
+ GCC_C_LANGUAGE_STANDARD = c99
25
+
26
+ // Compiler warnings.
27
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES
28
+ GCC_WARN_ABOUT_RETURN_TYPE = YES
29
+ GCC_WARN_UNINITIALIZED_AUTOS = YES
30
+ GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES
31
+ GCC_WARN_SHADOW = YES
32
+ GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
33
+ GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
34
+ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
35
+ GCC_WARN_ABOUT_MISSING_NEWLINE = YES
36
+ GCC_WARN_UNKNOWN_PRAGMAS = YES
37
+ GCC_WARN_UNUSED_FUNCTION = YES
38
+ GCC_WARN_UNUSED_LABEL = YES
39
+ GCC_WARN_UNUSED_VARIABLE = YES
40
+ CLANG_WARN_EMPTY_BODY = YES
41
+ CLANG_WARN_CONSTANT_CONVERSION = YES
42
+ CLANG_WARN_ENUM_CONVERSION = YES
43
+ CLANG_WARN_INT_CONVERSION = YES
44
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES
45
+ CLANG_WARN_BOOL_CONVERSION = YES
46
+
47
+ // Static analyzer warnings.
48
+ CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES
49
+ CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES
@@ -0,0 +1,29 @@
1
+ //
2
+ // libusb Xcode configuration file
3
+ // Copyright © 2012 Pete Batard <pete@akeo.ie>
4
+ // For more information, please visit: <http://libusb.info>
5
+ //
6
+ // This library is free software; you can redistribute it and/or
7
+ // modify it under the terms of the GNU Lesser General Public
8
+ // License as published by the Free Software Foundation; either
9
+ // version 2.1 of the License, or (at your option) any later version.
10
+ //
11
+ // This library is distributed in the hope that it will be useful,
12
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ // Lesser General Public License for more details.
15
+ //
16
+ // You should have received a copy of the GNU Lesser General Public
17
+ // License along with this library; if not, write to the Free Software
18
+ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
+
20
+ #include "common.xcconfig"
21
+
22
+ // Embed debug symbols in binary itself.
23
+ DEBUG_INFORMATION_FORMAT = dwarf
24
+
25
+ // No optimizations in debug.
26
+ GCC_OPTIMIZATION_LEVEL = 0
27
+
28
+ //
29
+ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) DEBUG=1
@@ -0,0 +1,21 @@
1
+ //
2
+ // libusb Xcode configuration file
3
+ // Copyright © 2012 Pete Batard <pete@akeo.ie>
4
+ // For more information, please visit: <http://libusb.info>
5
+ //
6
+ // This library is free software; you can redistribute it and/or
7
+ // modify it under the terms of the GNU Lesser General Public
8
+ // License as published by the Free Software Foundation; either
9
+ // version 2.1 of the License, or (at your option) any later version.
10
+ //
11
+ // This library is distributed in the hope that it will be useful,
12
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ // Lesser General Public License for more details.
15
+ //
16
+ // You should have received a copy of the GNU Lesser General Public
17
+ // License along with this library; if not, write to the Free Software
18
+ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
+
20
+ PRODUCT_NAME = libusb-1.0.0
21
+ LD_DYLIB_INSTALL_NAME = @rpath/libusb-1.0.0.dylib
@@ -0,0 +1 @@
1
+ // !$*UTF8*$!
@@ -0,0 +1,21 @@
1
+ //
2
+ // libusb Xcode configuration file
3
+ // Copyright © 2012 Pete Batard <pete@akeo.ie>
4
+ // For more information, please visit: <http://libusb.info>
5
+ //
6
+ // This library is free software; you can redistribute it and/or
7
+ // modify it under the terms of the GNU Lesser General Public
8
+ // License as published by the Free Software Foundation; either
9
+ // version 2.1 of the License, or (at your option) any later version.
10
+ //
11
+ // This library is distributed in the hope that it will be useful,
12
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ // Lesser General Public License for more details.
15
+ //
16
+ // You should have received a copy of the GNU Lesser General Public
17
+ // License along with this library; if not, write to the Free Software
18
+ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
+
20
+ #include "debug.xcconfig"
21
+ #include "libusb.xcconfig"
@@ -0,0 +1,21 @@
1
+ //
2
+ // libusb Xcode configuration file
3
+ // Copyright © 2012 Pete Batard <pete@akeo.ie>
4
+ // For more information, please visit: <http://libusb.info>
5
+ //
6
+ // This library is free software; you can redistribute it and/or
7
+ // modify it under the terms of the GNU Lesser General Public
8
+ // License as published by the Free Software Foundation; either
9
+ // version 2.1 of the License, or (at your option) any later version.
10
+ //
11
+ // This library is distributed in the hope that it will be useful,
12
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ // Lesser General Public License for more details.
15
+ //
16
+ // You should have received a copy of the GNU Lesser General Public
17
+ // License along with this library; if not, write to the Free Software
18
+ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
+
20
+ #include "release.xcconfig"
21
+ #include "libusb.xcconfig"
@@ -0,0 +1,30 @@
1
+ //
2
+ // libusb Xcode configuration file
3
+ // Copyright © 2012 Pete Batard <pete@akeo.ie>
4
+ // For more information, please visit: <http://libusb.info>
5
+ //
6
+ // This library is free software; you can redistribute it and/or
7
+ // modify it under the terms of the GNU Lesser General Public
8
+ // License as published by the Free Software Foundation; either
9
+ // version 2.1 of the License, or (at your option) any later version.
10
+ //
11
+ // This library is distributed in the hope that it will be useful,
12
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ // Lesser General Public License for more details.
15
+ //
16
+ // You should have received a copy of the GNU Lesser General Public
17
+ // License along with this library; if not, write to the Free Software
18
+ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
+
20
+ #include "common.xcconfig"
21
+
22
+ // Put debug symbols in separate .dym file.
23
+ DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
24
+
25
+ // Optimizations in release.
26
+ GCC_OPTIMIZATION_LEVEL = s
27
+ LLVM_LTO = YES
28
+
29
+ // Define NDEBUG so asserts go away in release.
30
+ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) NDEBUG=1
@@ -0,0 +1,114 @@
1
+ libusb for Android
2
+ ==================
3
+
4
+ Building:
5
+ ---------
6
+
7
+ To build libusb for Android do the following:
8
+
9
+ 1. Download the latest NDK from:
10
+ http://developer.android.com/tools/sdk/ndk/index.html
11
+
12
+ 2. Extract the NDK.
13
+
14
+ 3. Open a shell and make sure there exist an NDK global variable
15
+ set to the directory where you extracted the NDK.
16
+
17
+ 4. Change directory to libusb's "android/jni"
18
+
19
+ 5. Run "$NDK/ndk-build".
20
+
21
+ The libusb library, examples and tests can then be found in:
22
+ "android/libs/$ARCH"
23
+
24
+ Where $ARCH is one of:
25
+ armeabi
26
+ armeabi-v7a
27
+ x86
28
+
29
+
30
+ Installing:
31
+ -----------
32
+
33
+ If you wish to use libusb from native code in own Android application
34
+ then you should add the following line to your Android.mk file:
35
+
36
+ include $(PATH_TO_LIBUSB_SRC)/android/jni/libusb.mk
37
+
38
+ You will then need to add the following lines to the build
39
+ configuration for each native binary which uses libusb:
40
+
41
+ LOCAL_C_INCLUDES += $(LIBUSB_ROOT_ABS)
42
+ LOCAL_SHARED_LIBRARIES += libusb1.0
43
+
44
+ The Android build system will then correctly include libusb in the
45
+ application package (APK) file, provided ndk-build is invoked before
46
+ the package is built.
47
+
48
+
49
+ For a rooted device it is possible to install libusb into the system
50
+ image of a running device:
51
+
52
+ 1. Enable ADB on the device.
53
+
54
+ 2. Connect the device to a machine running ADB.
55
+
56
+ 3. Execute the following commands on the machine
57
+ running ADB:
58
+
59
+ # Make the system partition writable
60
+ adb shell su -c "mount -o remount,rw /system"
61
+
62
+ # Install libusb
63
+ adb push obj/local/armeabi/libusb1.0.so /sdcard/
64
+ adb shell su -c "cat > /system/lib/libusb1.0.so < /sdcard/libusb1.0.so"
65
+ adb shell rm /system/lib/libusb1.0.so
66
+
67
+ # Install the samples and tests
68
+ for B in listdevs fxload xusb sam3u_benchmark hotplugtest stress
69
+ do
70
+ adb push "obj/local/armeabi/$B" /sdcard/
71
+ adb shell su -c "cat > /system/bin/$B < /sdcard/$B"
72
+ adb shell su -c "chmod 0755 /system/bin/$B"
73
+ adb shell rm "/sdcard/$B"
74
+ done
75
+
76
+ # Make the system partition read only again
77
+ adb shell su -c "mount -o remount,ro /system"
78
+
79
+ # Run listdevs to
80
+ adb shell su -c "listdevs"
81
+
82
+ 4. If your device only has a single OTG port then ADB can generally
83
+ be switched to using Wifi with the following commands when connected
84
+ via USB:
85
+
86
+ adb shell netcfg
87
+ # Note the wifi IP address of the phone
88
+ adb tcpip 5555
89
+ # Use the IP address from netcfg
90
+ adb connect 192.168.1.123:5555
91
+
92
+ Runtime Permissions:
93
+ --------------------
94
+
95
+ The default system configuration on most Android device will not allow
96
+ access to USB devices. There are several options for changing this.
97
+
98
+ If you have control of the system image then you can modify the
99
+ ueventd.rc used in the image to change the permissions on
100
+ /dev/bus/usb/*/*. If using this approach then it is advisable to
101
+ create a new Android permission to protect access to these files.
102
+ It is not advisable to give all applications read and write permissions
103
+ to these files.
104
+
105
+ For rooted devices the code using libusb could be executed as root
106
+ using the "su" command. An alternative would be to use the "su" command
107
+ to change the permissions on the appropriate /dev/bus/usb/ files.
108
+
109
+ Users have reported success in using android.hardware.usb.UsbManager
110
+ to request permission to use the UsbDevice and then opening the
111
+ device. The difficulties in this method is that there is no guarantee
112
+ that it will continue to work in the future Android versions, it
113
+ requires invoking Java APIs and running code to match each
114
+ android.hardware.usb.UsbDevice to a libusb_device.
@@ -0,0 +1,23 @@
1
+ # Android build config for libusb, examples and tests
2
+ # Copyright © 2012-2013 RealVNC Ltd. <toby.gray@realvnc.com>
3
+ #
4
+ # This library is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU Lesser General Public
6
+ # License as published by the Free Software Foundation; either
7
+ # version 2.1 of the License, or (at your option) any later version.
8
+ #
9
+ # This library is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public
15
+ # License along with this library; if not, write to the Free Software
16
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
+ #
18
+
19
+ LOCAL_PATH:= $(call my-dir)
20
+
21
+ include $(LOCAL_PATH)/libusb.mk
22
+ include $(LOCAL_PATH)/examples.mk
23
+ include $(LOCAL_PATH)/tests.mk
@@ -0,0 +1,24 @@
1
+ # Android application build config for libusb
2
+ # Copyright © 2012-2013 RealVNC Ltd. <toby.gray@realvnc.com>
3
+ #
4
+ # This library is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU Lesser General Public
6
+ # License as published by the Free Software Foundation; either
7
+ # version 2.1 of the License, or (at your option) any later version.
8
+ #
9
+ # This library is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public
15
+ # License along with this library; if not, write to the Free Software
16
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
+ #
18
+
19
+ APP_ABI := all
20
+
21
+ # Workaround for MIPS toolchain linker being unable to find liblog dependency
22
+ # of shared object in NDK versions at least up to r9.
23
+ #
24
+ APP_LDFLAGS := -llog
@@ -0,0 +1,134 @@
1
+ # Android build config for libusb examples
2
+ # Copyright © 2012-2013 RealVNC Ltd. <toby.gray@realvnc.com>
3
+ #
4
+ # This library is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU Lesser General Public
6
+ # License as published by the Free Software Foundation; either
7
+ # version 2.1 of the License, or (at your option) any later version.
8
+ #
9
+ # This library is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public
15
+ # License along with this library; if not, write to the Free Software
16
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
+ #
18
+
19
+ LOCAL_PATH:= $(call my-dir)
20
+ LIBUSB_ROOT_REL:= ../..
21
+ LIBUSB_ROOT_ABS:= $(LOCAL_PATH)/../..
22
+
23
+ # listdevs
24
+
25
+ include $(CLEAR_VARS)
26
+
27
+ LOCAL_SRC_FILES := \
28
+ $(LIBUSB_ROOT_REL)/examples/listdevs.c
29
+
30
+ LOCAL_C_INCLUDES += \
31
+ $(LIBUSB_ROOT_ABS)
32
+
33
+ LOCAL_SHARED_LIBRARIES += libusb1.0
34
+
35
+ LOCAL_MODULE:= listdevs
36
+
37
+ include $(BUILD_EXECUTABLE)
38
+
39
+ # xusb
40
+
41
+ include $(CLEAR_VARS)
42
+
43
+ LOCAL_SRC_FILES := \
44
+ $(LIBUSB_ROOT_REL)/examples/xusb.c
45
+
46
+ LOCAL_C_INCLUDES += \
47
+ $(LIBUSB_ROOT_ABS)
48
+
49
+ LOCAL_SHARED_LIBRARIES += libusb1.0
50
+
51
+ LOCAL_MODULE:= xusb
52
+
53
+ include $(BUILD_EXECUTABLE)
54
+
55
+ # hotplugtest
56
+
57
+ include $(CLEAR_VARS)
58
+
59
+ LOCAL_SRC_FILES := \
60
+ $(LIBUSB_ROOT_REL)/examples/hotplugtest.c
61
+
62
+ LOCAL_C_INCLUDES += \
63
+ $(LIBUSB_ROOT_ABS)
64
+
65
+ LOCAL_SHARED_LIBRARIES += libusb1.0
66
+
67
+ LOCAL_MODULE:= hotplugtest
68
+
69
+ include $(BUILD_EXECUTABLE)
70
+
71
+ # fxload
72
+
73
+ include $(CLEAR_VARS)
74
+
75
+ LOCAL_SRC_FILES := \
76
+ $(LIBUSB_ROOT_REL)/examples/fxload.c \
77
+ $(LIBUSB_ROOT_REL)/examples/ezusb.c
78
+
79
+ LOCAL_C_INCLUDES += \
80
+ $(LIBUSB_ROOT_ABS)
81
+
82
+ LOCAL_SHARED_LIBRARIES += libusb1.0
83
+
84
+ LOCAL_MODULE:= fxload
85
+
86
+ include $(BUILD_EXECUTABLE)
87
+
88
+ # sam3u_benchmake
89
+
90
+ include $(CLEAR_VARS)
91
+
92
+ LOCAL_SRC_FILES := \
93
+ $(LIBUSB_ROOT_REL)/examples/sam3u_benchmark.c
94
+
95
+ LOCAL_C_INCLUDES += \
96
+ $(LIBUSB_ROOT_ABS)
97
+
98
+ LOCAL_SHARED_LIBRARIES += libusb1.0
99
+
100
+ LOCAL_MODULE:= sam3u_benchmark
101
+
102
+ include $(BUILD_EXECUTABLE)
103
+
104
+ # dpfp
105
+
106
+ include $(CLEAR_VARS)
107
+
108
+ LOCAL_SRC_FILES := \
109
+ $(LIBUSB_ROOT_REL)/examples/dpfp.c
110
+
111
+ LOCAL_C_INCLUDES += \
112
+ $(LIBUSB_ROOT_ABS)
113
+
114
+ LOCAL_SHARED_LIBRARIES += libusb1.0
115
+
116
+ LOCAL_MODULE:= dpfp
117
+
118
+ include $(BUILD_EXECUTABLE)
119
+
120
+ # dpfp_threaded
121
+
122
+ include $(CLEAR_VARS)
123
+
124
+ LOCAL_SRC_FILES := \
125
+ $(LIBUSB_ROOT_REL)/examples/dpfp_threaded.c
126
+
127
+ LOCAL_C_INCLUDES += \
128
+ $(LIBUSB_ROOT_ABS)
129
+
130
+ LOCAL_SHARED_LIBRARIES += libusb1.0
131
+
132
+ LOCAL_MODULE:= dpfp_threaded
133
+
134
+ include $(BUILD_EXECUTABLE)
@@ -0,0 +1,54 @@
1
+ # Android build config for libusb
2
+ # Copyright © 2012-2013 RealVNC Ltd. <toby.gray@realvnc.com>
3
+ #
4
+ # This library is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU Lesser General Public
6
+ # License as published by the Free Software Foundation; either
7
+ # version 2.1 of the License, or (at your option) any later version.
8
+ #
9
+ # This library is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public
15
+ # License along with this library; if not, write to the Free Software
16
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
+ #
18
+
19
+ LOCAL_PATH:= $(call my-dir)
20
+ LIBUSB_ROOT_REL:= ../..
21
+ LIBUSB_ROOT_ABS:= $(LOCAL_PATH)/../..
22
+
23
+ # libusb
24
+
25
+ include $(CLEAR_VARS)
26
+
27
+ LIBUSB_ROOT_REL:= ../..
28
+ LIBUSB_ROOT_ABS:= $(LOCAL_PATH)/../..
29
+
30
+ LOCAL_SRC_FILES := \
31
+ $(LIBUSB_ROOT_REL)/libusb/core.c \
32
+ $(LIBUSB_ROOT_REL)/libusb/descriptor.c \
33
+ $(LIBUSB_ROOT_REL)/libusb/hotplug.c \
34
+ $(LIBUSB_ROOT_REL)/libusb/io.c \
35
+ $(LIBUSB_ROOT_REL)/libusb/sync.c \
36
+ $(LIBUSB_ROOT_REL)/libusb/strerror.c \
37
+ $(LIBUSB_ROOT_REL)/libusb/os/linux_usbfs.c \
38
+ $(LIBUSB_ROOT_REL)/libusb/os/poll_posix.c \
39
+ $(LIBUSB_ROOT_REL)/libusb/os/threads_posix.c \
40
+ $(LIBUSB_ROOT_REL)/libusb/os/linux_netlink.c
41
+
42
+ LOCAL_C_INCLUDES += \
43
+ $(LOCAL_PATH)/.. \
44
+ $(LIBUSB_ROOT_ABS)/libusb \
45
+ $(LIBUSB_ROOT_ABS)/libusb/os
46
+
47
+ LOCAL_EXPORT_C_INCLUDES := \
48
+ $(LIBUSB_ROOT_ABS)/libusb
49
+
50
+ LOCAL_LDLIBS := -llog
51
+
52
+ LOCAL_MODULE := libusb1.0
53
+
54
+ include $(BUILD_SHARED_LIBRARY)
@@ -0,0 +1,56 @@
1
+ # Android build config for libusb tests
2
+ # Copyright © 2012-2013 RealVNC Ltd. <toby.gray@realvnc.com>
3
+ #
4
+ # This library is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU Lesser General Public
6
+ # License as published by the Free Software Foundation; either
7
+ # version 2.1 of the License, or (at your option) any later version.
8
+ #
9
+ # This library is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public
15
+ # License along with this library; if not, write to the Free Software
16
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
+ #
18
+
19
+ LOCAL_PATH:= $(call my-dir)
20
+ LIBUSB_ROOT_REL:= ../..
21
+ LIBUSB_ROOT_ABS:= $(LOCAL_PATH)/../..
22
+
23
+ # testlib
24
+
25
+ include $(CLEAR_VARS)
26
+
27
+ LOCAL_SRC_FILES := \
28
+ $(LIBUSB_ROOT_REL)/tests/testlib.c
29
+
30
+ LOCAL_C_INCLUDES += \
31
+ $(LIBUSB_ROOT_ABS)/tests
32
+
33
+ LOCAL_EXPORT_C_INCLUDES := \
34
+ $(LIBUSB_ROOT_ABS)/tests
35
+
36
+ LOCAL_MODULE := testlib
37
+
38
+ include $(BUILD_STATIC_LIBRARY)
39
+
40
+
41
+ # stress
42
+
43
+ include $(CLEAR_VARS)
44
+
45
+ LOCAL_SRC_FILES := \
46
+ $(LIBUSB_ROOT_REL)/tests/stress.c
47
+
48
+ LOCAL_C_INCLUDES += \
49
+ $(LIBUSB_ROOT_ABS)
50
+
51
+ LOCAL_SHARED_LIBRARIES += libusb1.0
52
+ LOCAL_STATIC_LIBRARIES += testlib
53
+
54
+ LOCAL_MODULE:= stress
55
+
56
+ include $(BUILD_EXECUTABLE)
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ ./bootstrap.sh
6
+ if test -z "$NOCONFIGURE"; then
7
+ exec ./configure --enable-maintainer-mode --enable-examples-build --enable-tests-build "$@"
8
+ fi
@@ -0,0 +1,19 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # use libtoolize if available, otherwise look for glibtoolize (darwin)
6
+ if (libtoolize --version) < /dev/null > /dev/null 2>&1; then
7
+ LIBTOOLIZE=libtoolize
8
+ elif (glibtoolize --version) < /dev/null > /dev/null 2>&1; then
9
+ LIBTOOLIZE=glibtoolize
10
+ else
11
+ echo "libtoolize or glibtoolize was not found! Please install libtool." 1>&2
12
+ exit 1
13
+ fi
14
+
15
+ $LIBTOOLIZE --copy --force || exit 1
16
+ aclocal || exit 1
17
+ autoheader || exit 1
18
+ autoconf || exit 1
19
+ automake -a -c || exit 1