Commit graph

49 commits

Author SHA1 Message Date
Scott Mansell
d2df9afda2
cmake: Fix libusb on windows 2022-05-22 00:29:46 +02:00
Shawn Hoffman
64cd4cc86f msbuild: use default Project attrs
maybe it makes the xml less scary :D
2022-04-27 15:26:43 -07:00
Shawn Hoffman
0a07c76333 update libusb submodule to latest 2022-04-22 07:07:20 -07:00
Shawn Hoffman
70507c2237 update to libusb v1.0.26
moves libusb from vendored to submodule
2022-04-17 20:01:19 -07:00
Shawn Hoffman
500a694ca8 msbuild: bundle all dolphin "core" code into single library 2021-01-27 14:29:49 -08:00
Shawn Hoffman
2f47f486af msbuild: re-enable standalone vcxproj processing 2020-08-22 16:17:50 -07:00
Shawn Hoffman
390f509bbf windows: disable C4200 directly in libusb.h 2020-08-22 16:17:50 -07:00
Shawn Hoffman
7705f7c1a3 msbuild: refactor stuff out of project files (for externals) 2020-08-22 16:17:50 -07:00
Stenzek
6fcb1c6c46 Add an ARM64 target to Visual Studio projects 2019-12-28 19:20:41 +10:00
Stenzek
dd23a1ee79 Update VS projects/solutions to VS2019 2019-11-30 13:42:52 +10:00
Léo Lam
054b1172e3 Externals/libusb: Set policy ISO_ALWAYS_START_ASAP for libusbK
In some cases, this is required to avoid eventually getting a
USBD_STATUS_BAD_START_FRAME error back from the Windows USB stack.

This makes the libusbK code match the behaviour of the Linux backend.

It appears that the libusbK backend tried to get this behaviour by
setting StartFrame to 0. However, libusbK docs state that:

"Specifing 0 for KISO_CONTEXT::StartFrame (start transfer ASAP) is
restricted to the first transaction on a newly opened or reset pipe."
2019-05-27 20:09:55 +02:00
Léo Lam
20770fe22b Externals/libusb: Bounds check the interface number 2019-05-27 20:09:55 +02:00
Léo Lam
99b340a6d0 Externals/libusb: Mask index for control transfers correctly 2019-05-27 20:09:55 +02:00
Léo Lam
8ea197357c Externals: remove unused libusb files and add them to gitignore
This prevents them from being re-added in the future whenever someone
updates libusb. Also removes the need to manually remove those files.
2019-05-27 20:09:55 +02:00
Léo Lam
1b9617c85c Externals: Update libusb to 1.0.23-rc1
Now has support for isochronous transfers in the WinUSB backend,
which may or may not work better than the UsbDk backend.
2019-05-27 20:09:55 +02:00
Tillmann Karras
97cc9894e4 Update to Visual Studio's default Windows SDK 2018-10-20 00:53:08 +01:00
Léo Lam
04e7e027e0 Remove unused solution files 2017-06-16 13:09:50 +02:00
Shawn Hoffman
ddae5058e9 msbuild: increment other version numbers to vs2017 equivalents 2017-06-03 18:20:39 -07:00
BhaaL
072c161445 upgrade to Windows SDK 10.0.15063.0
this is required for /permissive- to work, because some headers in the
Windows SDK use Microsoft extensions that are not allowed in standards mode
2017-05-28 13:37:31 +02:00
Pierre Bourdon
d592bdd4d4 Migrate to Visual Studio 2017.
Auto-generated by the IDE, I'll trust it knows what it's doing.
2017-05-25 15:58:59 -07:00
Michael Maltese
68dfff5798 CMake/Libusb: compile libusb/os/windows_usbdk.c 2017-02-10 16:24:16 -08:00
Sameeh Jubran
2571eb16ff Only use usbdk when installed
Check UsbDK availability at run time and activate UsbDk backend when
possible.

Fall back to current behavior when UsbDK not installed.

Signed-off-by: Dmitry Fleytman <dfleytma@...>
Signed-off-by: Sameeh Jubran <sameeh@...>
2017-02-10 13:12:41 +01:00
Léo Lam
56fec3d72a Switch to the usbdk backend for libusb on Windows
The usbdk backend is the only libusb backend that has official support
for isochronous transfers (which are required for Wii Speak,
microphones and cameras). And it's actively developed and maintained.
2017-02-05 11:36:49 +01:00
Florent Castelli
a7376266b3 cmake: Fix libusb on Windows and make it static 2017-01-20 17:51:29 +01:00
sephiroth99
2616192af3 Fix possible undefined reference when linking libusb from externals
When on Linux and using libusb from Externals, and with libudev
available, an "undefined reference" error message appears at link time.
This is due to a wrong define being set in CMake for libusb with
libudev. This causes the code for netlink being used instead of the
correct code for libudev support.

Fix the issue by setting the correct define so the correct libusb code
is used.
2017-01-09 22:48:59 -05:00
Léo Lam
04db41adf3 Externals: Update libusb to version 1.0.21
1.0.21 adds a usbdk backend, which may be helpful as it could be
used in the future to work around the missing isochronous transfer
support for WinUSB backends.

Here is the full changelog (from libusb).

2016-10-01: v1.0.21:
* Core: Refactor code related to transfer flags and timeout handling
* Darwin: Ignore root hub simulation devices
* Darwin: Improved support for OS X El Capitan
* Darwin: Work around devices with buggy endpoint descriptors
* Darwin: Do not use objc_registerThreadWithCollector after its deprecation
* Darwin: Use C11 atomics on 10.12+ as the OS atomics are now deprecated
* Linux: Support preallocating kernel memory for zerocopy USB
* Linux: Deal with receiving POLLERR before all transfers have completed
* Solaris: Add solaris backend
* Windows: Add Visual Studio 2015 support
* Windows: Add usbdk backend
* Prevent attempts to recursively handle events
* Fix race condition in handle_timeout()
* Allow transferred argument to be optional in bulk APIs
* Various other bug fixes and improvements
2016-11-20 18:11:42 +01:00
shuffle2
be6aeaad33 Merge pull request #4150 from Pringo/master
Externals: Update libusb to version 1.0.20
2016-10-03 14:32:26 -07:00
Michael Maltese
8bb2139224 Build vendored libUSB with CMake 2016-09-28 13:32:07 -04:00
Pringo
ca1c77bbf6 Patch libusb to compile on vs2015. 2016-08-25 19:05:03 -07:00
Pringo
4aea898d53 Externals: Update libusb to version 1.0.20 2016-08-25 18:27:40 -07:00
Shawn Hoffman
00afa2a328 Patch libusb to compile on vs2015. 2015-09-03 04:38:50 -07:00
Shawn Hoffman
aa7208e270 [windows] Update projects to vs2015. 2015-09-03 04:23:01 -07:00
Shawn Hoffman
25064fd8f4 remove win32/mixed project configurations.
remove win32 configs from all the externals, so it shouldn't happen again by accident.
2015-03-14 14:07:21 -07:00
Shawn Hoffman
f91e8e9423 make libusb vcxproj use standard dolphin template and don't compile strerror.c. 2015-02-18 13:29:39 -08:00
Shawn Hoffman
8645f33034 Revert "Externals: add Dolphin-specific patches to libusb"
This reverts commit 7a305bef86.
2015-02-18 13:23:37 -08:00
mathieui
3b0f3cb4fe Externals: Clean up some unneeded files from libusb
And add a DOLPHIN file recapitulating the changes from upstream
2015-02-12 21:58:23 +01:00
Tillmann Karras
7a305bef86 Externals: add Dolphin-specific patches to libusb 2015-02-12 01:05:22 +01:00
Tillmann Karras
4fa38f0c02 Externals: update libusb to version 1.0.19 2015-02-12 01:04:43 +01:00
Matthew Parlane
d261dfaf46 Upgrade libusb to 1.0.16 2013-09-30 18:36:54 +13:00
Matthew Parlane
fede38985e Replace OpenSSL with PolarSSL
Works on windows, not yet cmake.
2013-08-15 20:47:47 +12:00
Matthew Parlane
21fa664c2d Hopefully fix win32 build issues. 2012-12-31 03:51:34 +13:00
Matthew Parlane
c626d5aae3 Move to 1.0 libusb. 2012-12-24 08:31:50 +13:00
Matthew Parlane
d6e46dd7e2 Add new lib and header for libusb 1.0. 2012-11-19 20:55:52 +13:00
Matthew Parlane
d8b879a4ee Movd back to libusb for full support on windows 2012-11-15 01:09:25 +13:00
Matthew Parlane
586813b150 Basic HID works on windows! I had to customise HIDAPI. 2012-11-13 00:14:47 +13:00
Matthew Parlane
8ba2abc699 Fixed x64 lib. 2012-04-04 19:55:46 +12:00
Matthew Parlane
e46779e3bd Add lib files. 2012-04-04 19:55:17 +12:00
Matthew Parlane
db6e981728 Added hidapi start. x64 doesn't work... not sure why. 2012-04-04 19:54:32 +12:00
Matthew Parlane
9bf67d4bb1 Implemented /dev/usb/hid as libusb, but this will not work on mac. Code started for using hidapi instead. 2012-04-04 19:53:05 +12:00