libusb 0.3.4 → 0.4.0
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Gemfile +1 -0
- data/History.md +10 -0
- data/README.md +19 -6
- data/Rakefile +1 -1
- data/ext/extconf.rb +17 -1
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/AUTHORS +18 -6
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/COPYING +0 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/ChangeLog +58 -1
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/INSTALL +0 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/Makefile.am +6 -1
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/Makefile.in +248 -174
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/NEWS +2 -2
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/PORTING +0 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/README +2 -1
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/TODO +0 -0
- data/ext/libusbx-1.0.17/Xcode/common.xcconfig +40 -0
- data/ext/libusbx-1.0.17/Xcode/config.h +28 -0
- data/ext/libusbx-1.0.17/Xcode/debug.xcconfig +29 -0
- data/ext/libusbx-1.0.17/Xcode/libusbx.xcconfig +21 -0
- data/ext/libusbx-1.0.17/Xcode/libusbx.xcodeproj/project.pbxproj +864 -0
- data/ext/libusbx-1.0.17/Xcode/libusbx_debug.xcconfig +21 -0
- data/ext/libusbx-1.0.17/Xcode/libusbx_release.xcconfig +21 -0
- data/ext/libusbx-1.0.17/Xcode/release.xcconfig +29 -0
- data/ext/libusbx-1.0.17/aclocal.m4 +1112 -0
- data/ext/libusbx-1.0.17/android/README +114 -0
- data/ext/libusbx-1.0.17/android/config.h +90 -0
- data/ext/libusbx-1.0.17/android/jni/Android.mk +23 -0
- data/ext/libusbx-1.0.17/android/jni/Application.mk +19 -0
- data/ext/libusbx-1.0.17/android/jni/examples.mk +134 -0
- data/ext/libusbx-1.0.17/android/jni/libusb.mk +54 -0
- data/ext/libusbx-1.0.17/android/jni/tests.mk +56 -0
- data/ext/libusbx-1.0.17/compile +347 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/config.guess +164 -130
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/config.h.in +37 -1
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/config.sub +174 -89
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/configure +723 -302
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/configure.ac +71 -20
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/depcomp +345 -185
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/doc/Makefile.am +0 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/doc/Makefile.in +95 -32
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/doc/doxygen.cfg.in +1 -1
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/examples/Makefile.am +5 -4
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/examples/Makefile.in +208 -104
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/examples/dpfp.c +1 -1
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/examples/dpfp_threaded.c +1 -1
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/examples/ezusb.c +188 -8
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/examples/ezusb.h +18 -5
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/examples/fxload.c +90 -64
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/examples/getopt/getopt.c +0 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/examples/getopt/getopt.h +0 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/examples/getopt/getopt1.c +0 -0
- data/ext/libusbx-1.0.17/examples/hotplugtest.c +97 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/examples/listdevs.c +12 -4
- data/ext/libusbx-1.0.17/examples/sam3u_benchmark.c +193 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/examples/xusb.c +106 -49
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/install-sh +21 -14
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb-1.0.pc.in +1 -1
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/Makefile.am +29 -10
- data/ext/libusbx-1.0.17/libusb/Makefile.in +914 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/core.c +378 -87
- data/ext/libusbx-1.0.17/libusb/descriptor.c +1199 -0
- data/ext/libusbx-1.0.17/libusb/hotplug.c +322 -0
- data/ext/libusbx-1.0.17/libusb/hotplug.h +82 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/io.c +182 -62
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/libusb-1.0.def +32 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/libusb-1.0.rc +2 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/libusb.h +481 -32
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/libusbi.h +135 -38
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/darwin_usb.c +591 -496
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/darwin_usb.h +39 -46
- data/ext/libusbx-1.0.17/libusb/os/linux_netlink.c +345 -0
- data/ext/libusbx-1.0.17/libusb/os/linux_udev.c +306 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/linux_usbfs.c +653 -617
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/linux_usbfs.h +32 -0
- data/ext/{libusbx-1.0.14/libusb/os/openbsd_usb.c → libusbx-1.0.17/libusb/os/netbsd_usb.c} +70 -63
- data/ext/libusbx-1.0.17/libusb/os/openbsd_usb.c +823 -0
- data/ext/libusbx-1.0.17/libusb/os/poll_posix.c +51 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/poll_posix.h +2 -1
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/poll_windows.c +85 -106
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/poll_windows.h +14 -3
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/threads_posix.c +3 -1
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/threads_posix.h +0 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/threads_windows.c +6 -5
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/threads_windows.h +0 -0
- data/ext/libusbx-1.0.17/libusb/os/wince_usb.c +1026 -0
- data/ext/libusbx-1.0.17/libusb/os/wince_usb.h +131 -0
- data/ext/libusbx-1.0.17/libusb/os/windows_common.h +108 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/windows_usb.c +92 -57
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/os/windows_usb.h +2 -63
- data/ext/libusbx-1.0.17/libusb/strerror.c +184 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/sync.c +24 -38
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/libusb/version.h +1 -1
- data/ext/libusbx-1.0.17/libusb/version_nano.h +1 -0
- data/ext/{libusbx-1.0.14 → libusbx-1.0.17}/ltmain.sh +60 -41
- data/ext/{libusbx-1.0.14/aclocal.m4 → libusbx-1.0.17/m4/libtool.m4} +229 -1723
- data/ext/libusbx-1.0.17/m4/ltoptions.m4 +384 -0
- data/ext/libusbx-1.0.17/m4/ltsugar.m4 +123 -0
- data/ext/libusbx-1.0.17/m4/ltversion.m4 +23 -0
- data/ext/libusbx-1.0.17/m4/lt~obsolete.m4 +98 -0
- data/ext/libusbx-1.0.17/missing +215 -0
- data/ext/libusbx-1.0.17/tests/Makefile.am +6 -0
- data/ext/libusbx-1.0.17/tests/Makefile.in +583 -0
- data/ext/libusbx-1.0.17/tests/libusbx_testlib.h +107 -0
- data/ext/libusbx-1.0.17/tests/stress.c +160 -0
- data/ext/libusbx-1.0.17/tests/testlib.c +276 -0
- data/lib/libusb.rb +4 -0
- data/lib/libusb/call.rb +43 -1
- data/lib/libusb/constants.rb +5 -0
- data/lib/libusb/context.rb +100 -0
- data/lib/libusb/dev_handle.rb +27 -0
- data/lib/libusb/device.rb +10 -4
- data/lib/libusb/version_gem.rb +1 -1
- data/test/test_libusb_capability.rb +2 -2
- data/test/test_libusb_compat.rb +2 -2
- data/test/test_libusb_compat_mass_storage.rb +2 -2
- data/test/test_libusb_descriptors.rb +4 -2
- data/test/test_libusb_event_machine.rb +2 -2
- data/test/test_libusb_gc.rb +2 -2
- data/test/test_libusb_hotplug.rb +115 -0
- data/test/test_libusb_iso_transfer.rb +3 -3
- data/test/test_libusb_mass_storage.rb +6 -16
- data/test/test_libusb_mass_storage2.rb +26 -3
- data/test/test_libusb_structs.rb +2 -2
- data/test/test_libusb_threads.rb +2 -2
- data/test/test_libusb_version.rb +2 -2
- metadata +127 -68
- metadata.gz.sig +0 -0
- data/ext/libusbx-1.0.14/THANKS +0 -7
- data/ext/libusbx-1.0.14/compile +0 -143
- data/ext/libusbx-1.0.14/libusb/Makefile.in +0 -721
- data/ext/libusbx-1.0.14/libusb/descriptor.c +0 -731
- data/ext/libusbx-1.0.14/libusb/version_nano.h +0 -1
- data/ext/libusbx-1.0.14/missing +0 -376
@@ -22,6 +22,8 @@
|
|
22
22
|
|
23
23
|
#pragma once
|
24
24
|
|
25
|
+
#include "windows_common.h"
|
26
|
+
|
25
27
|
#if defined(_MSC_VER)
|
26
28
|
// disable /W4 MSVC warnings that are benign
|
27
29
|
#pragma warning(disable:4127) // conditional expression is constant
|
@@ -30,17 +32,6 @@
|
|
30
32
|
#pragma warning(disable:4201) // nameless struct/union
|
31
33
|
#endif
|
32
34
|
|
33
|
-
// Windows API default is uppercase - ugh!
|
34
|
-
#if !defined(bool)
|
35
|
-
#define bool BOOL
|
36
|
-
#endif
|
37
|
-
#if !defined(true)
|
38
|
-
#define true TRUE
|
39
|
-
#endif
|
40
|
-
#if !defined(false)
|
41
|
-
#define false FALSE
|
42
|
-
#endif
|
43
|
-
|
44
35
|
// Missing from MSVC6 setupapi.h
|
45
36
|
#if !defined(SPDRP_ADDRESS)
|
46
37
|
#define SPDRP_ADDRESS 28
|
@@ -57,24 +48,6 @@ extern char *_strdup(const char *strSource);
|
|
57
48
|
// _beginthreadex is MSVCRT => unavailable for cygwin. Fallback to using CreateThread
|
58
49
|
#define _beginthreadex(a, b, c, d, e, f) CreateThread(a, b, (LPTHREAD_START_ROUTINE)c, d, e, f)
|
59
50
|
#endif
|
60
|
-
#define safe_free(p) do {if (p != NULL) {free((void*)p); p = NULL;}} while(0)
|
61
|
-
#define safe_closehandle(h) do {if (h != INVALID_HANDLE_VALUE) {CloseHandle(h); h = INVALID_HANDLE_VALUE;}} while(0)
|
62
|
-
#define safe_min(a, b) min((size_t)(a), (size_t)(b))
|
63
|
-
#define safe_strcp(dst, dst_max, src, count) do {memcpy(dst, src, safe_min(count, dst_max)); \
|
64
|
-
((char*)dst)[safe_min(count, dst_max)-1] = 0;} while(0)
|
65
|
-
#define safe_strcpy(dst, dst_max, src) safe_strcp(dst, dst_max, src, safe_strlen(src)+1)
|
66
|
-
#define safe_strncat(dst, dst_max, src, count) strncat(dst, src, safe_min(count, dst_max - safe_strlen(dst) - 1))
|
67
|
-
#define safe_strcat(dst, dst_max, src) safe_strncat(dst, dst_max, src, safe_strlen(src)+1)
|
68
|
-
#define safe_strcmp(str1, str2) strcmp(((str1==NULL)?"<NULL>":str1), ((str2==NULL)?"<NULL>":str2))
|
69
|
-
#define safe_stricmp(str1, str2) _stricmp(((str1==NULL)?"<NULL>":str1), ((str2==NULL)?"<NULL>":str2))
|
70
|
-
#define safe_strncmp(str1, str2, count) strncmp(((str1==NULL)?"<NULL>":str1), ((str2==NULL)?"<NULL>":str2), count)
|
71
|
-
#define safe_strlen(str) ((str==NULL)?0:strlen(str))
|
72
|
-
#define safe_sprintf _snprintf
|
73
|
-
#define safe_unref_device(dev) do {if (dev != NULL) {libusb_unref_device(dev); dev = NULL;}} while(0)
|
74
|
-
#define wchar_to_utf8_ms(wstr, str, strlen) WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, strlen, NULL, NULL)
|
75
|
-
#ifndef ARRAYSIZE
|
76
|
-
#define ARRAYSIZE(A) (sizeof(A)/sizeof((A)[0]))
|
77
|
-
#endif
|
78
51
|
|
79
52
|
#define MAX_CTRL_BUFFER_LENGTH 4096
|
80
53
|
#define MAX_USB_DEVICES 256
|
@@ -84,9 +57,6 @@ extern char *_strdup(const char *strSource);
|
|
84
57
|
#define MAX_GUID_STRING_LENGTH 40
|
85
58
|
#define MAX_PATH_LENGTH 128
|
86
59
|
#define MAX_KEY_LENGTH 256
|
87
|
-
#define MAX_TIMER_SEMAPHORES 128
|
88
|
-
#define TIMER_REQUEST_RETRY_MS 100
|
89
|
-
#define ERR_BUFFER_SIZE 256
|
90
60
|
#define LIST_SEPARATOR ';'
|
91
61
|
#define HTAB_SIZE 1021
|
92
62
|
|
@@ -332,37 +302,6 @@ struct driver_lookup {
|
|
332
302
|
const char* designation; // internal designation (for debug output)
|
333
303
|
};
|
334
304
|
|
335
|
-
/*
|
336
|
-
* API macros - from libusb-win32 1.x
|
337
|
-
*/
|
338
|
-
#define DLL_DECLARE_PREFIXNAME(api, ret, prefixname, name, args) \
|
339
|
-
typedef ret (api * __dll_##name##_t)args; \
|
340
|
-
static __dll_##name##_t prefixname = NULL
|
341
|
-
|
342
|
-
#define DLL_LOAD_PREFIXNAME(dll, prefixname, name, ret_on_failure) \
|
343
|
-
do { \
|
344
|
-
HMODULE h = GetModuleHandleA(#dll); \
|
345
|
-
if (!h) \
|
346
|
-
h = LoadLibraryA(#dll); \
|
347
|
-
if (!h) { \
|
348
|
-
if (ret_on_failure) { return LIBUSB_ERROR_NOT_FOUND; } \
|
349
|
-
else { break; } \
|
350
|
-
} \
|
351
|
-
prefixname = (__dll_##name##_t)GetProcAddress(h, #name); \
|
352
|
-
if (prefixname) break; \
|
353
|
-
prefixname = (__dll_##name##_t)GetProcAddress(h, #name "A"); \
|
354
|
-
if (prefixname) break; \
|
355
|
-
prefixname = (__dll_##name##_t)GetProcAddress(h, #name "W"); \
|
356
|
-
if (prefixname) break; \
|
357
|
-
if(ret_on_failure) \
|
358
|
-
return LIBUSB_ERROR_NOT_FOUND; \
|
359
|
-
} while(0)
|
360
|
-
|
361
|
-
#define DLL_DECLARE(api, ret, name, args) DLL_DECLARE_PREFIXNAME(api, ret, name, name, args)
|
362
|
-
#define DLL_LOAD(dll, name, ret_on_failure) DLL_LOAD_PREFIXNAME(dll, name, name, ret_on_failure)
|
363
|
-
#define DLL_DECLARE_PREFIXED(api, ret, prefix, name, args) DLL_DECLARE_PREFIXNAME(api, ret, prefix##name, name, args)
|
364
|
-
#define DLL_LOAD_PREFIXED(dll, prefix, name, ret_on_failure) DLL_LOAD_PREFIXNAME(dll, prefix##name, name, ret_on_failure)
|
365
|
-
|
366
305
|
/* OLE32 dependency */
|
367
306
|
DLL_DECLARE_PREFIXED(WINAPI, HRESULT, p, CLSIDFromString, (LPCOLESTR, LPCLSID));
|
368
307
|
|
@@ -0,0 +1,184 @@
|
|
1
|
+
/*
|
2
|
+
* libusb strerror code
|
3
|
+
* Copyright © 2013 Hans de Goede <hdegoede@redhat.com>
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
|
+
*/
|
19
|
+
#include "config.h"
|
20
|
+
|
21
|
+
#include <locale.h>
|
22
|
+
#include <stdlib.h>
|
23
|
+
#include <string.h>
|
24
|
+
|
25
|
+
#include "libusb.h"
|
26
|
+
#include "libusbi.h"
|
27
|
+
|
28
|
+
#if defined(_MSC_VER)
|
29
|
+
#define strncasecmp _strnicmp
|
30
|
+
#endif
|
31
|
+
|
32
|
+
static size_t usbi_locale = 0;
|
33
|
+
|
34
|
+
/** \ingroup misc
|
35
|
+
* How to add a new \ref libusb_strerror() translation:
|
36
|
+
* <ol>
|
37
|
+
* <li> Download the latest \c strerror.c from:<br>
|
38
|
+
* https://raw.github.com/libusbx/libusbx/master/libusb/sterror.c </li>
|
39
|
+
* <li> Open the file in an UTF-8 capable editor </li>
|
40
|
+
* <li> Add the 2 letter <a href="http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1</a>
|
41
|
+
* code for your locale at the end of \c usbi_locale_supported[]<br>
|
42
|
+
* Eg. for Chinese, you would add "zh" so that:
|
43
|
+
* \code... usbi_locale_supported[] = { "en", "nl", "fr" };\endcode
|
44
|
+
* becomes:
|
45
|
+
* \code... usbi_locale_supported[] = { "en", "nl", "fr", "zh" };\endcode </li>
|
46
|
+
* <li> Copy the <tt>{ / * English (en) * / ... }</tt> section and add it at the end of \c usbi_localized_errors<br>
|
47
|
+
* Eg. for Chinese, the last section of \c usbi_localized_errors could look like:
|
48
|
+
* \code
|
49
|
+
* }, { / * Chinese (zh) * /
|
50
|
+
* "Success",
|
51
|
+
* ...
|
52
|
+
* "Other error",
|
53
|
+
* }
|
54
|
+
* };\endcode </li>
|
55
|
+
* <li> Translate each of the English messages from the section you copied into your language </li>
|
56
|
+
* <li> Save the file (in UTF-8 format) and send it to \c libusbx-devel\@lists.sourceforge.net </li>
|
57
|
+
* </ol>
|
58
|
+
*/
|
59
|
+
|
60
|
+
static const char* usbi_locale_supported[] = { "en", "nl", "fr" };
|
61
|
+
static const char* usbi_localized_errors[ARRAYSIZE(usbi_locale_supported)][LIBUSB_ERROR_COUNT] = {
|
62
|
+
{ /* English (en) */
|
63
|
+
"Success",
|
64
|
+
"Input/Output Error",
|
65
|
+
"Invalid parameter",
|
66
|
+
"Access denied (insufficient permissions)",
|
67
|
+
"No such device (it may have been disconnected)",
|
68
|
+
"Entity not found",
|
69
|
+
"Resource busy",
|
70
|
+
"Operation timed out",
|
71
|
+
"Overflow",
|
72
|
+
"Pipe error",
|
73
|
+
"System call interrupted (perhaps due to signal)",
|
74
|
+
"Insufficient memory",
|
75
|
+
"Operation not supported or unimplemented on this platform",
|
76
|
+
"Other error",
|
77
|
+
}, { /* Dutch (nl) */
|
78
|
+
"Gelukt",
|
79
|
+
"Invoer-/uitvoerfout",
|
80
|
+
"Ongeldig argument",
|
81
|
+
"Toegang geweigerd (onvoldoende toegangsrechten)",
|
82
|
+
"Apparaat bestaat niet (verbinding met apparaat verbroken?)",
|
83
|
+
"Niet gevonden",
|
84
|
+
"Apparaat of hulpbron is bezig",
|
85
|
+
"Bewerking verlopen",
|
86
|
+
"Waarde is te groot",
|
87
|
+
"Gebroken pijp",
|
88
|
+
"Onderbroken systeemaanroep",
|
89
|
+
"Onvoldoende geheugen beschikbaar",
|
90
|
+
"Bewerking wordt niet ondersteund",
|
91
|
+
"Andere fout",
|
92
|
+
}, { /* French (fr) */
|
93
|
+
"Succès",
|
94
|
+
"Erreur d'entrée/sortie",
|
95
|
+
"Paramètre invalide",
|
96
|
+
"Accès refusé (permissions insuffisantes)",
|
97
|
+
"Périphérique introuvable (peut-être déconnecté)",
|
98
|
+
"Elément introuvable",
|
99
|
+
"Resource déjà occupée",
|
100
|
+
"Operation expirée",
|
101
|
+
"Débordement",
|
102
|
+
"Erreur de pipe",
|
103
|
+
"Appel système abandonné (peut-être à cause d’un signal)",
|
104
|
+
"Mémoire insuffisante",
|
105
|
+
"Opération non supportée or non implémentée sur cette plateforme",
|
106
|
+
"Autre erreur"
|
107
|
+
}
|
108
|
+
};
|
109
|
+
|
110
|
+
/** \ingroup misc
|
111
|
+
* Set the language, and only the language, not the encoding! used for
|
112
|
+
* translatable libusb messages.
|
113
|
+
*
|
114
|
+
* This takes a locale string in the default setlocale format: lang[-region]
|
115
|
+
* or lang[_country_region][.codeset]. Only the lang part of the string is
|
116
|
+
* used, and only 2 letter ISO 639-1 codes are accepted for it, such as "de".
|
117
|
+
* The optional region, country_region or codeset parts are ignored. This
|
118
|
+
* means that functions which return translatable strings will NOT honor the
|
119
|
+
* specified encoding.
|
120
|
+
* All strings returned are encoded as UTF-8 strings.
|
121
|
+
*
|
122
|
+
* If libusb_setlocale() is not called, all messages will be in English.
|
123
|
+
*
|
124
|
+
* The following functions return translatable strings: libusb_strerror().
|
125
|
+
* Note that the libusb log messages controlled through libusb_set_debug()
|
126
|
+
* are not translated, they are always in English.
|
127
|
+
*
|
128
|
+
* For POSIX UTF-8 environments if you want libusb to follow the standard
|
129
|
+
* locale settings, call libusb_setlocale(setlocale(LC_MESSAGES, NULL)),
|
130
|
+
* after your app has done its locale setup.
|
131
|
+
*
|
132
|
+
* \param locale locale-string in the form of lang[_country_region][.codeset]
|
133
|
+
* or lang[-region], where lang is a 2 letter ISO 639-1 code
|
134
|
+
* \returns LIBUSB_SUCCESS on success
|
135
|
+
* \returns LIBUSB_ERROR_INVALID_PARAM if the locale doesn't meet the requirements
|
136
|
+
* \returns LIBUSB_ERROR_NOT_FOUND if the requested language is not supported
|
137
|
+
* \returns a LIBUSB_ERROR code on other errors
|
138
|
+
*/
|
139
|
+
|
140
|
+
int API_EXPORTED libusb_setlocale(const char *locale)
|
141
|
+
{
|
142
|
+
size_t i;
|
143
|
+
|
144
|
+
if ( (locale == NULL) || (strlen(locale) < 2)
|
145
|
+
|| ((strlen(locale) > 2) && (locale[2] != '-') && (locale[2] != '_') && (locale[2] != '.')) )
|
146
|
+
return LIBUSB_ERROR_INVALID_PARAM;
|
147
|
+
|
148
|
+
for (i=0; i<ARRAYSIZE(usbi_locale_supported); i++) {
|
149
|
+
if (strncasecmp(usbi_locale_supported[i], locale, 2) == 0)
|
150
|
+
break;
|
151
|
+
}
|
152
|
+
if (i >= ARRAYSIZE(usbi_locale_supported)) {
|
153
|
+
return LIBUSB_ERROR_NOT_FOUND;
|
154
|
+
}
|
155
|
+
|
156
|
+
usbi_locale = i;
|
157
|
+
|
158
|
+
return LIBUSB_SUCCESS;
|
159
|
+
}
|
160
|
+
|
161
|
+
/** \ingroup misc
|
162
|
+
* Returns a constant string with a short description of the given error code,
|
163
|
+
* this description is intended for displaying to the end user and will be in
|
164
|
+
* the language set by libusb_setlocale().
|
165
|
+
*
|
166
|
+
* The returned string is encoded in UTF-8.
|
167
|
+
*
|
168
|
+
* The messages always start with a capital letter and end without any dot.
|
169
|
+
* The caller must not free() the returned string.
|
170
|
+
*
|
171
|
+
* \param errcode the error code whose description is desired
|
172
|
+
* \returns a short description of the error code in UTF-8 encoding
|
173
|
+
*/
|
174
|
+
DEFAULT_VISIBILITY const char* LIBUSB_CALL libusb_strerror(enum libusb_error errcode)
|
175
|
+
{
|
176
|
+
int errcode_index = -errcode;
|
177
|
+
|
178
|
+
if ((errcode_index < 0) || (errcode_index >= LIBUSB_ERROR_COUNT)) {
|
179
|
+
/* "Other Error", which should always be our last message, is returned */
|
180
|
+
errcode_index = LIBUSB_ERROR_COUNT - 1;
|
181
|
+
}
|
182
|
+
|
183
|
+
return usbi_localized_errors[usbi_locale][errcode_index];
|
184
|
+
}
|
@@ -17,7 +17,7 @@
|
|
17
17
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
18
|
*/
|
19
19
|
|
20
|
-
#include
|
20
|
+
#include "config.h"
|
21
21
|
#include <errno.h>
|
22
22
|
#include <stdint.h>
|
23
23
|
#include <stdlib.h>
|
@@ -33,7 +33,7 @@
|
|
33
33
|
* may wish to consider using the \ref asyncio "asynchronous I/O API" instead.
|
34
34
|
*/
|
35
35
|
|
36
|
-
static void LIBUSB_CALL
|
36
|
+
static void LIBUSB_CALL sync_transfer_cb(struct libusb_transfer *transfer)
|
37
37
|
{
|
38
38
|
int *completed = transfer->user_data;
|
39
39
|
*completed = 1;
|
@@ -41,6 +41,24 @@ static void LIBUSB_CALL ctrl_transfer_cb(struct libusb_transfer *transfer)
|
|
41
41
|
/* caller interprets result and frees transfer */
|
42
42
|
}
|
43
43
|
|
44
|
+
static void sync_transfer_wait_for_completion(struct libusb_transfer *transfer)
|
45
|
+
{
|
46
|
+
int r, *completed = transfer->user_data;
|
47
|
+
struct libusb_context *ctx = HANDLE_CTX(transfer->dev_handle);
|
48
|
+
|
49
|
+
while (!*completed) {
|
50
|
+
r = libusb_handle_events_completed(ctx, completed);
|
51
|
+
if (r < 0) {
|
52
|
+
if (r == LIBUSB_ERROR_INTERRUPTED)
|
53
|
+
continue;
|
54
|
+
usbi_err(ctx, "libusb_handle_events failed: %s, cancelling transfer and retrying",
|
55
|
+
libusb_error_name(r));
|
56
|
+
libusb_cancel_transfer(transfer);
|
57
|
+
continue;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
44
62
|
/** \ingroup syncio
|
45
63
|
* Perform a USB control transfer.
|
46
64
|
*
|
@@ -93,7 +111,7 @@ int API_EXPORTED libusb_control_transfer(libusb_device_handle *dev_handle,
|
|
93
111
|
memcpy(buffer + LIBUSB_CONTROL_SETUP_SIZE, data, wLength);
|
94
112
|
|
95
113
|
libusb_fill_control_transfer(transfer, dev_handle, buffer,
|
96
|
-
|
114
|
+
sync_transfer_cb, &completed, timeout);
|
97
115
|
transfer->flags = LIBUSB_TRANSFER_FREE_BUFFER;
|
98
116
|
r = libusb_submit_transfer(transfer);
|
99
117
|
if (r < 0) {
|
@@ -101,19 +119,7 @@ int API_EXPORTED libusb_control_transfer(libusb_device_handle *dev_handle,
|
|
101
119
|
return r;
|
102
120
|
}
|
103
121
|
|
104
|
-
|
105
|
-
r = libusb_handle_events_completed(HANDLE_CTX(dev_handle), &completed);
|
106
|
-
if (r < 0) {
|
107
|
-
if (r == LIBUSB_ERROR_INTERRUPTED)
|
108
|
-
continue;
|
109
|
-
libusb_cancel_transfer(transfer);
|
110
|
-
while (!completed)
|
111
|
-
if (libusb_handle_events_completed(HANDLE_CTX(dev_handle), &completed) < 0)
|
112
|
-
break;
|
113
|
-
libusb_free_transfer(transfer);
|
114
|
-
return r;
|
115
|
-
}
|
116
|
-
}
|
122
|
+
sync_transfer_wait_for_completion(transfer);
|
117
123
|
|
118
124
|
if ((bmRequestType & LIBUSB_ENDPOINT_DIR_MASK) == LIBUSB_ENDPOINT_IN)
|
119
125
|
memcpy(data, libusb_control_transfer_get_data(transfer),
|
@@ -149,14 +155,6 @@ int API_EXPORTED libusb_control_transfer(libusb_device_handle *dev_handle,
|
|
149
155
|
return r;
|
150
156
|
}
|
151
157
|
|
152
|
-
static void LIBUSB_CALL bulk_transfer_cb(struct libusb_transfer *transfer)
|
153
|
-
{
|
154
|
-
int *completed = transfer->user_data;
|
155
|
-
*completed = 1;
|
156
|
-
usbi_dbg("actual_length=%d", transfer->actual_length);
|
157
|
-
/* caller interprets results and frees transfer */
|
158
|
-
}
|
159
|
-
|
160
158
|
static int do_sync_bulk_transfer(struct libusb_device_handle *dev_handle,
|
161
159
|
unsigned char endpoint, unsigned char *buffer, int length,
|
162
160
|
int *transferred, unsigned int timeout, unsigned char type)
|
@@ -169,7 +167,7 @@ static int do_sync_bulk_transfer(struct libusb_device_handle *dev_handle,
|
|
169
167
|
return LIBUSB_ERROR_NO_MEM;
|
170
168
|
|
171
169
|
libusb_fill_bulk_transfer(transfer, dev_handle, endpoint, buffer, length,
|
172
|
-
|
170
|
+
sync_transfer_cb, &completed, timeout);
|
173
171
|
transfer->type = type;
|
174
172
|
|
175
173
|
r = libusb_submit_transfer(transfer);
|
@@ -178,19 +176,7 @@ static int do_sync_bulk_transfer(struct libusb_device_handle *dev_handle,
|
|
178
176
|
return r;
|
179
177
|
}
|
180
178
|
|
181
|
-
|
182
|
-
r = libusb_handle_events_completed(HANDLE_CTX(dev_handle), &completed);
|
183
|
-
if (r < 0) {
|
184
|
-
if (r == LIBUSB_ERROR_INTERRUPTED)
|
185
|
-
continue;
|
186
|
-
libusb_cancel_transfer(transfer);
|
187
|
-
while (!completed)
|
188
|
-
if (libusb_handle_events_completed(HANDLE_CTX(dev_handle), &completed) < 0)
|
189
|
-
break;
|
190
|
-
libusb_free_transfer(transfer);
|
191
|
-
return r;
|
192
|
-
}
|
193
|
-
}
|
179
|
+
sync_transfer_wait_for_completion(transfer);
|
194
180
|
|
195
181
|
*transferred = transfer->actual_length;
|
196
182
|
switch (transfer->status) {
|
@@ -0,0 +1 @@
|
|
1
|
+
#define LIBUSB_NANO 10830
|
@@ -1,9 +1,9 @@
|
|
1
1
|
|
2
|
-
# libtool (GNU libtool) 2.4
|
2
|
+
# libtool (GNU libtool) 2.4.2
|
3
3
|
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
4
4
|
|
5
5
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
|
6
|
-
# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
6
|
+
# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
|
7
7
|
# This is free software; see the source for copying conditions. There is NO
|
8
8
|
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
9
9
|
|
@@ -41,6 +41,7 @@
|
|
41
41
|
# --quiet, --silent don't print informational messages
|
42
42
|
# --no-quiet, --no-silent
|
43
43
|
# print informational messages (default)
|
44
|
+
# --no-warn don't display warning messages
|
44
45
|
# --tag=TAG use configuration variables from tag TAG
|
45
46
|
# -v, --verbose print more informational messages than default
|
46
47
|
# --no-verbose don't print the extra informational messages
|
@@ -69,7 +70,7 @@
|
|
69
70
|
# compiler: $LTCC
|
70
71
|
# compiler flags: $LTCFLAGS
|
71
72
|
# linker: $LD (gnu? $with_gnu_ld)
|
72
|
-
# $progname: (GNU libtool) 2.4
|
73
|
+
# $progname: (GNU libtool) 2.4.2
|
73
74
|
# automake: $automake_version
|
74
75
|
# autoconf: $autoconf_version
|
75
76
|
#
|
@@ -79,9 +80,9 @@
|
|
79
80
|
|
80
81
|
PROGRAM=libtool
|
81
82
|
PACKAGE=libtool
|
82
|
-
VERSION=2.4
|
83
|
+
VERSION=2.4.2
|
83
84
|
TIMESTAMP=""
|
84
|
-
package_revision=1.
|
85
|
+
package_revision=1.3337
|
85
86
|
|
86
87
|
# Be Bourne compatible
|
87
88
|
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
|
@@ -136,15 +137,10 @@ progpath="$0"
|
|
136
137
|
|
137
138
|
: ${CP="cp -f"}
|
138
139
|
test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
|
139
|
-
: ${EGREP="grep -E"}
|
140
|
-
: ${FGREP="grep -F"}
|
141
|
-
: ${GREP="grep"}
|
142
|
-
: ${LN_S="ln -s"}
|
143
140
|
: ${MAKE="make"}
|
144
141
|
: ${MKDIR="mkdir"}
|
145
142
|
: ${MV="mv -f"}
|
146
143
|
: ${RM="rm -f"}
|
147
|
-
: ${SED="sed"}
|
148
144
|
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
|
149
145
|
: ${Xsed="$SED -e 1s/^X//"}
|
150
146
|
|
@@ -387,7 +383,7 @@ case $progpath in
|
|
387
383
|
;;
|
388
384
|
*)
|
389
385
|
save_IFS="$IFS"
|
390
|
-
IFS
|
386
|
+
IFS=${PATH_SEPARATOR-:}
|
391
387
|
for progdir in $PATH; do
|
392
388
|
IFS="$save_IFS"
|
393
389
|
test -x "$progdir/$progname" && break
|
@@ -771,8 +767,8 @@ func_help ()
|
|
771
767
|
s*\$LTCFLAGS*'"$LTCFLAGS"'*
|
772
768
|
s*\$LD*'"$LD"'*
|
773
769
|
s/\$with_gnu_ld/'"$with_gnu_ld"'/
|
774
|
-
s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
|
775
|
-
s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
|
770
|
+
s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
|
771
|
+
s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
|
776
772
|
p
|
777
773
|
d
|
778
774
|
}
|
@@ -1052,6 +1048,7 @@ opt_finish=false
|
|
1052
1048
|
opt_help=false
|
1053
1049
|
opt_help_all=false
|
1054
1050
|
opt_silent=:
|
1051
|
+
opt_warning=:
|
1055
1052
|
opt_verbose=:
|
1056
1053
|
opt_silent=false
|
1057
1054
|
opt_verbose=false
|
@@ -1118,6 +1115,10 @@ esac
|
|
1118
1115
|
;;
|
1119
1116
|
--no-silent|--no-quiet)
|
1120
1117
|
opt_silent=false
|
1118
|
+
func_append preserve_args " $opt"
|
1119
|
+
;;
|
1120
|
+
--no-warning|--no-warn)
|
1121
|
+
opt_warning=false
|
1121
1122
|
func_append preserve_args " $opt"
|
1122
1123
|
;;
|
1123
1124
|
--no-verbose)
|
@@ -2059,7 +2060,7 @@ func_mode_compile ()
|
|
2059
2060
|
*.[cCFSifmso] | \
|
2060
2061
|
*.ada | *.adb | *.ads | *.asm | \
|
2061
2062
|
*.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
|
2062
|
-
*.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
|
2063
|
+
*.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
|
2063
2064
|
func_xform "$libobj"
|
2064
2065
|
libobj=$func_xform_result
|
2065
2066
|
;;
|
@@ -3201,11 +3202,13 @@ func_mode_install ()
|
|
3201
3202
|
|
3202
3203
|
# Set up the ranlib parameters.
|
3203
3204
|
oldlib="$destdir/$name"
|
3205
|
+
func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
|
3206
|
+
tool_oldlib=$func_to_tool_file_result
|
3204
3207
|
|
3205
3208
|
func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
|
3206
3209
|
|
3207
3210
|
if test -n "$stripme" && test -n "$old_striplib"; then
|
3208
|
-
func_show_eval "$old_striplib $
|
3211
|
+
func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
|
3209
3212
|
fi
|
3210
3213
|
|
3211
3214
|
# Do each command in the postinstall commands.
|
@@ -3470,7 +3473,7 @@ static const void *lt_preloaded_setup() {
|
|
3470
3473
|
# linked before any other PIC object. But we must not use
|
3471
3474
|
# pic_flag when linking with -static. The problem exists in
|
3472
3475
|
# FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
|
3473
|
-
*-*-freebsd2
|
3476
|
+
*-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
|
3474
3477
|
pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
|
3475
3478
|
*-*-hpux*)
|
3476
3479
|
pic_flag_for_symtable=" $pic_flag" ;;
|
@@ -3982,14 +3985,17 @@ func_exec_program_core ()
|
|
3982
3985
|
# launches target application with the remaining arguments.
|
3983
3986
|
func_exec_program ()
|
3984
3987
|
{
|
3985
|
-
|
3986
|
-
|
3987
|
-
|
3988
|
-
|
3989
|
-
|
3990
|
-
|
3991
|
-
|
3992
|
-
|
3988
|
+
case \" \$* \" in
|
3989
|
+
*\\ --lt-*)
|
3990
|
+
for lt_wr_arg
|
3991
|
+
do
|
3992
|
+
case \$lt_wr_arg in
|
3993
|
+
--lt-*) ;;
|
3994
|
+
*) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
|
3995
|
+
esac
|
3996
|
+
shift
|
3997
|
+
done ;;
|
3998
|
+
esac
|
3993
3999
|
func_exec_program_core \${1+\"\$@\"}
|
3994
4000
|
}
|
3995
4001
|
|
@@ -5057,9 +5063,15 @@ void lt_dump_script (FILE* f)
|
|
5057
5063
|
{
|
5058
5064
|
EOF
|
5059
5065
|
func_emit_wrapper yes |
|
5060
|
-
|
5061
|
-
|
5062
|
-
|
5066
|
+
$SED -n -e '
|
5067
|
+
s/^\(.\{79\}\)\(..*\)/\1\
|
5068
|
+
\2/
|
5069
|
+
h
|
5070
|
+
s/\([\\"]\)/\\\1/g
|
5071
|
+
s/$/\\n/
|
5072
|
+
s/\([^\n]*\).*/ fputs ("\1", f);/p
|
5073
|
+
g
|
5074
|
+
D'
|
5063
5075
|
cat <<"EOF"
|
5064
5076
|
}
|
5065
5077
|
EOF
|
@@ -5643,7 +5655,8 @@ func_mode_link ()
|
|
5643
5655
|
continue
|
5644
5656
|
;;
|
5645
5657
|
|
5646
|
-
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe
|
5658
|
+
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
|
5659
|
+
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
|
5647
5660
|
func_append compiler_flags " $arg"
|
5648
5661
|
func_append compile_command " $arg"
|
5649
5662
|
func_append finalize_command " $arg"
|
@@ -6147,7 +6160,8 @@ func_mode_link ()
|
|
6147
6160
|
lib=
|
6148
6161
|
found=no
|
6149
6162
|
case $deplib in
|
6150
|
-
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe
|
6163
|
+
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
|
6164
|
+
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
|
6151
6165
|
if test "$linkmode,$pass" = "prog,link"; then
|
6152
6166
|
compile_deplibs="$deplib $compile_deplibs"
|
6153
6167
|
finalize_deplibs="$deplib $finalize_deplibs"
|
@@ -6499,7 +6513,7 @@ func_mode_link ()
|
|
6499
6513
|
# Find the relevant object directory and library name.
|
6500
6514
|
if test "X$installed" = Xyes; then
|
6501
6515
|
if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
|
6502
|
-
|
6516
|
+
func_warning "library \`$lib' was moved."
|
6503
6517
|
dir="$ladir"
|
6504
6518
|
absdir="$abs_ladir"
|
6505
6519
|
libdir="$abs_ladir"
|
@@ -6831,7 +6845,7 @@ func_mode_link ()
|
|
6831
6845
|
test "$hardcode_direct_absolute" = no; then
|
6832
6846
|
add="$dir/$linklib"
|
6833
6847
|
elif test "$hardcode_minus_L" = yes; then
|
6834
|
-
add_dir="-L$
|
6848
|
+
add_dir="-L$absdir"
|
6835
6849
|
# Try looking first in the location we're being installed to.
|
6836
6850
|
if test -n "$inst_prefix_dir"; then
|
6837
6851
|
case $libdir in
|
@@ -7066,8 +7080,8 @@ func_mode_link ()
|
|
7066
7080
|
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
|
7067
7081
|
test -z "$libdir" && \
|
7068
7082
|
func_fatal_error "\`$deplib' is not a valid libtool archive"
|
7069
|
-
|
7070
|
-
|
7083
|
+
test "$absdir" != "$libdir" && \
|
7084
|
+
func_warning "\`$deplib' seems to be moved"
|
7071
7085
|
|
7072
7086
|
path="-L$absdir"
|
7073
7087
|
fi
|
@@ -7316,6 +7330,7 @@ func_mode_link ()
|
|
7316
7330
|
# which has an extra 1 added just for fun
|
7317
7331
|
#
|
7318
7332
|
case $version_type in
|
7333
|
+
# correct linux to gnu/linux during the next big refactor
|
7319
7334
|
darwin|linux|osf|windows|none)
|
7320
7335
|
func_arith $number_major + $number_minor
|
7321
7336
|
current=$func_arith_result
|
@@ -7432,7 +7447,7 @@ func_mode_link ()
|
|
7432
7447
|
versuffix="$major.$revision"
|
7433
7448
|
;;
|
7434
7449
|
|
7435
|
-
linux)
|
7450
|
+
linux) # correct to gnu/linux during the next big refactor
|
7436
7451
|
func_arith $current - $age
|
7437
7452
|
major=.$func_arith_result
|
7438
7453
|
versuffix="$major.$age.$revision"
|
@@ -8020,6 +8035,11 @@ EOF
|
|
8020
8035
|
|
8021
8036
|
# Test again, we may have decided not to build it any more
|
8022
8037
|
if test "$build_libtool_libs" = yes; then
|
8038
|
+
# Remove ${wl} instances when linking with ld.
|
8039
|
+
# FIXME: should test the right _cmds variable.
|
8040
|
+
case $archive_cmds in
|
8041
|
+
*\$LD\ *) wl= ;;
|
8042
|
+
esac
|
8023
8043
|
if test "$hardcode_into_libs" = yes; then
|
8024
8044
|
# Hardcode the library paths
|
8025
8045
|
hardcode_libdirs=
|
@@ -8050,7 +8070,7 @@ EOF
|
|
8050
8070
|
elif test -n "$runpath_var"; then
|
8051
8071
|
case "$perm_rpath " in
|
8052
8072
|
*" $libdir "*) ;;
|
8053
|
-
*)
|
8073
|
+
*) func_append perm_rpath " $libdir" ;;
|
8054
8074
|
esac
|
8055
8075
|
fi
|
8056
8076
|
done
|
@@ -8058,11 +8078,7 @@ EOF
|
|
8058
8078
|
if test -n "$hardcode_libdir_separator" &&
|
8059
8079
|
test -n "$hardcode_libdirs"; then
|
8060
8080
|
libdir="$hardcode_libdirs"
|
8061
|
-
|
8062
|
-
eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
|
8063
|
-
else
|
8064
|
-
eval dep_rpath=\"$hardcode_libdir_flag_spec\"
|
8065
|
-
fi
|
8081
|
+
eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
|
8066
8082
|
fi
|
8067
8083
|
if test -n "$runpath_var" && test -n "$perm_rpath"; then
|
8068
8084
|
# We should set the runpath_var.
|
@@ -9152,6 +9168,8 @@ EOF
|
|
9152
9168
|
esac
|
9153
9169
|
done
|
9154
9170
|
fi
|
9171
|
+
func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
|
9172
|
+
tool_oldlib=$func_to_tool_file_result
|
9155
9173
|
eval cmds=\"$old_archive_cmds\"
|
9156
9174
|
|
9157
9175
|
func_len " $cmds"
|
@@ -9261,7 +9279,8 @@ EOF
|
|
9261
9279
|
*.la)
|
9262
9280
|
func_basename "$deplib"
|
9263
9281
|
name="$func_basename_result"
|
9264
|
-
|
9282
|
+
func_resolve_sysroot "$deplib"
|
9283
|
+
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
|
9265
9284
|
test -z "$libdir" && \
|
9266
9285
|
func_fatal_error "\`$deplib' is not a valid libtool archive"
|
9267
9286
|
func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
|