Add libusb

This commit is contained in:
N3xoX1 2025-02-10 13:49:35 +10:30
parent cd40123a51
commit 998bd71be4
6 changed files with 184 additions and 50 deletions

3
.gitmodules vendored
View File

@ -25,3 +25,6 @@
[submodule "external/sdl"]
path = external/sdl
url = https://github.com/libsdl-org/SDL.git
[submodule "external/libusb"]
path = external/libusb
url = https://github.com/libusb/libusb.git

1
external/libusb vendored Submodule

@ -0,0 +1 @@
Subproject commit de38189e8014fa393f4d8c1d9d3fdf5e2a95899d

62
external/libusb.vcxproj vendored Normal file
View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{82a8d930-2514-48fa-b811-e5c402f2ab4a}</ProjectGuid>
<RootNamespace>libusb</RootNamespace>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(SolutionDir)property_sheets\platform.$(Configuration).props" />
</ImportGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(SolutionDir)external\libusb\libusb;$(SolutionDir)external\libusb\msvc\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="libusb\libusb\core.c" />
<ClCompile Include="libusb\libusb\descriptor.c" />
<ClCompile Include="libusb\libusb\hotplug.c" />
<ClCompile Include="libusb\libusb\io.c" />
<ClCompile Include="libusb\libusb\os\events_windows.c" />
<ClCompile Include="libusb\libusb\os\threads_windows.c" />
<ClCompile Include="libusb\libusb\os\windows_common.c" />
<ClCompile Include="libusb\libusb\os\windows_usbdk.c" />
<ClCompile Include="libusb\libusb\os\windows_winusb.c" />
<ClCompile Include="libusb\libusb\strerror.c" />
<ClCompile Include="libusb\libusb\sync.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="libusb\libusb\libusb.h" />
<ClInclude Include="libusb\libusb\libusbi.h" />
<ClInclude Include="libusb\libusb\os\darwin_usb.h" />
<ClInclude Include="libusb\libusb\os\events_posix.h" />
<ClInclude Include="libusb\libusb\os\events_windows.h" />
<ClInclude Include="libusb\libusb\os\haiku_usb.h" />
<ClInclude Include="libusb\libusb\os\haiku_usb_raw.h" />
<ClInclude Include="libusb\libusb\os\linux_usbfs.h" />
<ClInclude Include="libusb\libusb\os\sunos_usb.h" />
<ClInclude Include="libusb\libusb\os\threads_posix.h" />
<ClInclude Include="libusb\libusb\os\threads_windows.h" />
<ClInclude Include="libusb\libusb\os\windows_common.h" />
<ClInclude Include="libusb\libusb\os\windows_usbdk.h" />
<ClInclude Include="libusb\libusb\os\windows_winusb.h" />
<ClInclude Include="libusb\libusb\version.h" />
<ClInclude Include="libusb\libusb\version_nano.h" />
</ItemGroup>
</Project>

108
external/libusb.vcxproj.filters vendored Normal file
View File

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Source Files\os">
<UniqueIdentifier>{afe2d53d-f2ee-4602-bb0f-28fa32853253}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\os">
<UniqueIdentifier>{c01251de-46bc-4e2b-a7f7-744f5b84943d}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="libusb\libusb\core.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="libusb\libusb\descriptor.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="libusb\libusb\hotplug.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="libusb\libusb\io.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="libusb\libusb\strerror.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="libusb\libusb\sync.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="libusb\libusb\os\events_windows.c">
<Filter>Source Files\os</Filter>
</ClCompile>
<ClCompile Include="libusb\libusb\os\threads_windows.c">
<Filter>Source Files\os</Filter>
</ClCompile>
<ClCompile Include="libusb\libusb\os\windows_common.c">
<Filter>Source Files\os</Filter>
</ClCompile>
<ClCompile Include="libusb\libusb\os\windows_usbdk.c">
<Filter>Source Files\os</Filter>
</ClCompile>
<ClCompile Include="libusb\libusb\os\windows_winusb.c">
<Filter>Source Files\os</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="libusb\libusb\libusb.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\libusbi.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\version.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\version_nano.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\os\darwin_usb.h">
<Filter>Header Files\os</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\os\events_posix.h">
<Filter>Header Files\os</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\os\events_windows.h">
<Filter>Header Files\os</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\os\haiku_usb.h">
<Filter>Header Files\os</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\os\haiku_usb_raw.h">
<Filter>Header Files\os</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\os\linux_usbfs.h">
<Filter>Header Files\os</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\os\sunos_usb.h">
<Filter>Header Files\os</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\os\threads_posix.h">
<Filter>Header Files\os</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\os\threads_windows.h">
<Filter>Header Files\os</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\os\windows_common.h">
<Filter>Header Files\os</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\os\windows_usbdk.h">
<Filter>Header Files\os</Filter>
</ClInclude>
<ClInclude Include="libusb\libusb\os\windows_winusb.h">
<Filter>Header Files\os</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -48,110 +48,66 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zydis", "..\nxemu-private\e
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sdl", "external\sdl.vcxproj", "{C44840A5-59BC-4CA0-85C2-B51F0BA6E3BD}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libusb", "external\libusb.vcxproj", "{82A8D930-2514-48FA-B811-E5C402F2AB4A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C8659F5A-3AFA-4BF0-9409-3B9819E17714}.Debug|x64.ActiveCfg = Debug|x64
{C8659F5A-3AFA-4BF0-9409-3B9819E17714}.Debug|x64.Build.0 = Debug|x64
{C8659F5A-3AFA-4BF0-9409-3B9819E17714}.Debug|x86.ActiveCfg = Debug|x64
{C8659F5A-3AFA-4BF0-9409-3B9819E17714}.Debug|x86.Build.0 = Debug|x64
{C8659F5A-3AFA-4BF0-9409-3B9819E17714}.Release|x64.ActiveCfg = Release|x64
{C8659F5A-3AFA-4BF0-9409-3B9819E17714}.Release|x64.Build.0 = Release|x64
{C8659F5A-3AFA-4BF0-9409-3B9819E17714}.Release|x86.ActiveCfg = Release|x64
{C8659F5A-3AFA-4BF0-9409-3B9819E17714}.Release|x86.Build.0 = Release|x64
{1F4A3DC8-4CCA-485E-B120-FEB2B5A15023}.Debug|x64.ActiveCfg = Debug|x64
{1F4A3DC8-4CCA-485E-B120-FEB2B5A15023}.Debug|x64.Build.0 = Debug|x64
{1F4A3DC8-4CCA-485E-B120-FEB2B5A15023}.Debug|x86.ActiveCfg = Debug|x64
{1F4A3DC8-4CCA-485E-B120-FEB2B5A15023}.Debug|x86.Build.0 = Debug|x64
{1F4A3DC8-4CCA-485E-B120-FEB2B5A15023}.Release|x64.ActiveCfg = Release|x64
{1F4A3DC8-4CCA-485E-B120-FEB2B5A15023}.Release|x64.Build.0 = Release|x64
{1F4A3DC8-4CCA-485E-B120-FEB2B5A15023}.Release|x86.ActiveCfg = Release|x64
{1F4A3DC8-4CCA-485E-B120-FEB2B5A15023}.Release|x86.Build.0 = Release|x64
{CF365EDD-C903-47B1-AAAE-A483D3C0D274}.Debug|x64.ActiveCfg = Debug|x64
{CF365EDD-C903-47B1-AAAE-A483D3C0D274}.Debug|x64.Build.0 = Debug|x64
{CF365EDD-C903-47B1-AAAE-A483D3C0D274}.Debug|x86.ActiveCfg = Debug|x64
{CF365EDD-C903-47B1-AAAE-A483D3C0D274}.Debug|x86.Build.0 = Debug|x64
{CF365EDD-C903-47B1-AAAE-A483D3C0D274}.Release|x64.ActiveCfg = Release|x64
{CF365EDD-C903-47B1-AAAE-A483D3C0D274}.Release|x64.Build.0 = Release|x64
{CF365EDD-C903-47B1-AAAE-A483D3C0D274}.Release|x86.ActiveCfg = Release|x64
{CF365EDD-C903-47B1-AAAE-A483D3C0D274}.Release|x86.Build.0 = Release|x64
{D442FBFE-1018-4056-A0AE-CBCB6BF9DD90}.Debug|x64.ActiveCfg = Debug|x64
{D442FBFE-1018-4056-A0AE-CBCB6BF9DD90}.Debug|x64.Build.0 = Debug|x64
{D442FBFE-1018-4056-A0AE-CBCB6BF9DD90}.Debug|x86.ActiveCfg = Debug|x64
{D442FBFE-1018-4056-A0AE-CBCB6BF9DD90}.Debug|x86.Build.0 = Debug|x64
{D442FBFE-1018-4056-A0AE-CBCB6BF9DD90}.Release|x64.ActiveCfg = Release|x64
{D442FBFE-1018-4056-A0AE-CBCB6BF9DD90}.Release|x64.Build.0 = Release|x64
{D442FBFE-1018-4056-A0AE-CBCB6BF9DD90}.Release|x86.ActiveCfg = Release|x64
{D442FBFE-1018-4056-A0AE-CBCB6BF9DD90}.Release|x86.Build.0 = Release|x64
{EC81BE93-8316-4DB6-8A26-B13FB5B13848}.Debug|x64.ActiveCfg = Debug|x64
{EC81BE93-8316-4DB6-8A26-B13FB5B13848}.Debug|x64.Build.0 = Debug|x64
{EC81BE93-8316-4DB6-8A26-B13FB5B13848}.Debug|x86.ActiveCfg = Debug|x64
{EC81BE93-8316-4DB6-8A26-B13FB5B13848}.Debug|x86.Build.0 = Debug|x64
{EC81BE93-8316-4DB6-8A26-B13FB5B13848}.Release|x64.ActiveCfg = Release|x64
{EC81BE93-8316-4DB6-8A26-B13FB5B13848}.Release|x64.Build.0 = Release|x64
{EC81BE93-8316-4DB6-8A26-B13FB5B13848}.Release|x86.ActiveCfg = Release|x64
{EC81BE93-8316-4DB6-8A26-B13FB5B13848}.Release|x86.Build.0 = Release|x64
{148184C3-456B-409C-8112-2FC35DE07D92}.Debug|x64.ActiveCfg = Debug|x64
{148184C3-456B-409C-8112-2FC35DE07D92}.Debug|x64.Build.0 = Debug|x64
{148184C3-456B-409C-8112-2FC35DE07D92}.Debug|x86.ActiveCfg = Debug|x64
{148184C3-456B-409C-8112-2FC35DE07D92}.Debug|x86.Build.0 = Debug|x64
{148184C3-456B-409C-8112-2FC35DE07D92}.Release|x64.ActiveCfg = Release|x64
{148184C3-456B-409C-8112-2FC35DE07D92}.Release|x64.Build.0 = Release|x64
{148184C3-456B-409C-8112-2FC35DE07D92}.Release|x86.ActiveCfg = Release|x64
{148184C3-456B-409C-8112-2FC35DE07D92}.Release|x86.Build.0 = Release|x64
{686302AD-7653-43FF-A120-44E8D45B7371}.Debug|x64.ActiveCfg = Debug|x64
{686302AD-7653-43FF-A120-44E8D45B7371}.Debug|x64.Build.0 = Debug|x64
{686302AD-7653-43FF-A120-44E8D45B7371}.Debug|x86.ActiveCfg = Debug|x64
{686302AD-7653-43FF-A120-44E8D45B7371}.Debug|x86.Build.0 = Debug|x64
{686302AD-7653-43FF-A120-44E8D45B7371}.Release|x64.ActiveCfg = Release|x64
{686302AD-7653-43FF-A120-44E8D45B7371}.Release|x64.Build.0 = Release|x64
{686302AD-7653-43FF-A120-44E8D45B7371}.Release|x86.ActiveCfg = Release|x64
{686302AD-7653-43FF-A120-44E8D45B7371}.Release|x86.Build.0 = Release|x64
{F119CF47-F0E6-4152-A9BD-07B20BD0B540}.Debug|x64.ActiveCfg = Debug|x64
{F119CF47-F0E6-4152-A9BD-07B20BD0B540}.Debug|x64.Build.0 = Debug|x64
{F119CF47-F0E6-4152-A9BD-07B20BD0B540}.Debug|x86.ActiveCfg = Debug|x64
{F119CF47-F0E6-4152-A9BD-07B20BD0B540}.Debug|x86.Build.0 = Debug|x64
{F119CF47-F0E6-4152-A9BD-07B20BD0B540}.Release|x64.ActiveCfg = Release|x64
{F119CF47-F0E6-4152-A9BD-07B20BD0B540}.Release|x64.Build.0 = Release|x64
{F119CF47-F0E6-4152-A9BD-07B20BD0B540}.Release|x86.ActiveCfg = Release|x64
{F119CF47-F0E6-4152-A9BD-07B20BD0B540}.Release|x86.Build.0 = Release|x64
{A059B52A-FB13-4060-AC89-128570938D5D}.Debug|x64.ActiveCfg = Debug|x64
{A059B52A-FB13-4060-AC89-128570938D5D}.Debug|x64.Build.0 = Debug|x64
{A059B52A-FB13-4060-AC89-128570938D5D}.Debug|x86.ActiveCfg = Debug|Win32
{A059B52A-FB13-4060-AC89-128570938D5D}.Debug|x86.Build.0 = Debug|Win32
{A059B52A-FB13-4060-AC89-128570938D5D}.Release|x64.ActiveCfg = Release|x64
{A059B52A-FB13-4060-AC89-128570938D5D}.Release|x64.Build.0 = Release|x64
{A059B52A-FB13-4060-AC89-128570938D5D}.Release|x86.ActiveCfg = Release|Win32
{A059B52A-FB13-4060-AC89-128570938D5D}.Release|x86.Build.0 = Release|Win32
{D58BDFC6-1F1E-4C55-9296-1C2411B0FDA7}.Debug|x64.ActiveCfg = Debug|x64
{D58BDFC6-1F1E-4C55-9296-1C2411B0FDA7}.Debug|x64.Build.0 = Debug|x64
{D58BDFC6-1F1E-4C55-9296-1C2411B0FDA7}.Debug|x86.ActiveCfg = Debug|Win32
{D58BDFC6-1F1E-4C55-9296-1C2411B0FDA7}.Debug|x86.Build.0 = Debug|Win32
{D58BDFC6-1F1E-4C55-9296-1C2411B0FDA7}.Release|x64.ActiveCfg = Release|x64
{D58BDFC6-1F1E-4C55-9296-1C2411B0FDA7}.Release|x64.Build.0 = Release|x64
{D58BDFC6-1F1E-4C55-9296-1C2411B0FDA7}.Release|x86.ActiveCfg = Release|Win32
{D58BDFC6-1F1E-4C55-9296-1C2411B0FDA7}.Release|x86.Build.0 = Release|Win32
{9DEC236B-F924-4166-A1B1-002F3BF8F0EC}.Debug|x64.ActiveCfg = Debug|x64
{9DEC236B-F924-4166-A1B1-002F3BF8F0EC}.Debug|x64.Build.0 = Debug|x64
{9DEC236B-F924-4166-A1B1-002F3BF8F0EC}.Debug|x86.ActiveCfg = Debug|Win32
{9DEC236B-F924-4166-A1B1-002F3BF8F0EC}.Debug|x86.Build.0 = Debug|Win32
{9DEC236B-F924-4166-A1B1-002F3BF8F0EC}.Release|x64.ActiveCfg = Release|x64
{9DEC236B-F924-4166-A1B1-002F3BF8F0EC}.Release|x64.Build.0 = Release|x64
{9DEC236B-F924-4166-A1B1-002F3BF8F0EC}.Release|x86.ActiveCfg = Release|Win32
{9DEC236B-F924-4166-A1B1-002F3BF8F0EC}.Release|x86.Build.0 = Release|Win32
{C44840A5-59BC-4CA0-85C2-B51F0BA6E3BD}.Debug|x64.ActiveCfg = Debug|x64
{C44840A5-59BC-4CA0-85C2-B51F0BA6E3BD}.Debug|x64.Build.0 = Debug|x64
{C44840A5-59BC-4CA0-85C2-B51F0BA6E3BD}.Debug|x86.ActiveCfg = Debug|x64
{C44840A5-59BC-4CA0-85C2-B51F0BA6E3BD}.Debug|x86.Build.0 = Debug|x64
{C44840A5-59BC-4CA0-85C2-B51F0BA6E3BD}.Release|x64.ActiveCfg = Release|x64
{C44840A5-59BC-4CA0-85C2-B51F0BA6E3BD}.Release|x64.Build.0 = Release|x64
{C44840A5-59BC-4CA0-85C2-B51F0BA6E3BD}.Release|x86.ActiveCfg = Release|x64
{C44840A5-59BC-4CA0-85C2-B51F0BA6E3BD}.Release|x86.Build.0 = Release|x64
{82A8D930-2514-48FA-B811-E5C402F2AB4A}.Debug|x64.ActiveCfg = Debug|x64
{82A8D930-2514-48FA-B811-E5C402F2AB4A}.Debug|x64.Build.0 = Debug|x64
{82A8D930-2514-48FA-B811-E5C402F2AB4A}.Release|x64.ActiveCfg = Release|x64
{82A8D930-2514-48FA-B811-E5C402F2AB4A}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -162,6 +118,7 @@ Global
{D58BDFC6-1F1E-4C55-9296-1C2411B0FDA7} = {29EE6611-75A5-4A1D-A994-33A5EBB4F765}
{9DEC236B-F924-4166-A1B1-002F3BF8F0EC} = {29EE6611-75A5-4A1D-A994-33A5EBB4F765}
{C44840A5-59BC-4CA0-85C2-B51F0BA6E3BD} = {29EE6611-75A5-4A1D-A994-33A5EBB4F765}
{82A8D930-2514-48FA-B811-E5C402F2AB4A} = {29EE6611-75A5-4A1D-A994-33A5EBB4F765}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {AF860836-279D-4187-9FAF-4E2D4B9C59CF}

View File

@ -766,6 +766,9 @@
<ProjectReference Include="..\..\external\fmt.vcxproj">
<Project>{d58bdfc6-1f1e-4c55-9296-1c2411b0fda7}</Project>
</ProjectReference>
<ProjectReference Include="..\..\external\libusb.vcxproj">
<Project>{82a8d930-2514-48fa-b811-e5c402f2ab4a}</Project>
</ProjectReference>
<ProjectReference Include="..\..\external\sdl.vcxproj">
<Project>{c44840a5-59bc-4ca0-85c2-b51f0ba6e3bd}</Project>
</ProjectReference>