Merge pull request #4584 from lioncash/libusb
externals: Track upstream libusb directly
This commit is contained in:
		
							
								
								
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							| @@ -16,6 +16,9 @@ | ||||
| [submodule "libressl"] | ||||
|     path = externals/libressl | ||||
|     url = https://github.com/citra-emu/ext-libressl-portable.git | ||||
| [submodule "libusb"] | ||||
| 	path = externals/libusb/libusb | ||||
| 	url = https://github.com/libusb/libusb.git | ||||
| [submodule "discord-rpc"] | ||||
|     path = externals/discord-rpc | ||||
|     url = https://github.com/discordapp/discord-rpc.git | ||||
| @@ -34,9 +37,6 @@ | ||||
| [submodule "xbyak"] | ||||
|     path = externals/xbyak | ||||
|     url = https://github.com/herumi/xbyak.git | ||||
| [submodule "externals/libusb"] | ||||
| 	path = externals/libusb | ||||
| 	url = https://github.com/ameerj/libusb | ||||
| [submodule "opus"] | ||||
| 	path = externals/opus/opus | ||||
| 	url = https://github.com/xiph/opus.git | ||||
|   | ||||
							
								
								
									
										1
									
								
								externals/libusb
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								externals/libusb
									
									
									
									
										vendored
									
									
								
							 Submodule externals/libusb deleted from 3406d72cda
									
								
							
							
								
								
									
										147
									
								
								externals/libusb/CMakeLists.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										147
									
								
								externals/libusb/CMakeLists.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,147 @@ | ||||
| add_library(usb STATIC EXCLUDE_FROM_ALL | ||||
|     libusb/libusb/core.c | ||||
|     libusb/libusb/core.c | ||||
|     libusb/libusb/descriptor.c | ||||
|     libusb/libusb/hotplug.c | ||||
|     libusb/libusb/io.c | ||||
|     libusb/libusb/strerror.c | ||||
|     libusb/libusb/sync.c | ||||
| ) | ||||
| set_target_properties(usb PROPERTIES VERSION 1.0.23) | ||||
| if(WIN32) | ||||
|     target_include_directories(usb | ||||
|         BEFORE | ||||
|         PUBLIC | ||||
|           libusb/libusb | ||||
|  | ||||
|         PRIVATE | ||||
|           "${CMAKE_CURRENT_BINARY_DIR}" | ||||
|     ) | ||||
|  | ||||
|     if (NOT MINGW) | ||||
|         target_include_directories(usb BEFORE PRIVATE libusb/msvc) | ||||
|     endif() | ||||
| else() | ||||
| target_include_directories(usb | ||||
|     # turns out other projects also have "config.h", so make sure the | ||||
|     # LibUSB one comes first | ||||
|     BEFORE | ||||
|  | ||||
|     PUBLIC | ||||
|       libusb/libusb | ||||
|  | ||||
|     PRIVATE | ||||
|       "${CMAKE_CURRENT_BINARY_DIR}" | ||||
| ) | ||||
| endif() | ||||
|  | ||||
| if(WIN32 OR CYGWIN) | ||||
|     target_sources(usb PRIVATE | ||||
|       libusb/libusb/os/threads_windows.c | ||||
|       libusb/libusb/os/windows_winusb.c | ||||
|       libusb/libusb/os/windows_usbdk.c | ||||
|       libusb/libusb/os/windows_nt_common.c | ||||
|     ) | ||||
|     set(OS_WINDOWS TRUE) | ||||
| elseif(APPLE) | ||||
|     target_sources(usb PRIVATE | ||||
|         libusb/libusb/os/darwin_usb.c | ||||
|     ) | ||||
|     find_library(COREFOUNDATION_LIBRARY CoreFoundation) | ||||
|     find_library(IOKIT_LIBRARY IOKit) | ||||
|     find_library(OBJC_LIBRARY objc) | ||||
|     target_link_libraries(usb PRIVATE | ||||
|         ${COREFOUNDATION_LIBRARY} | ||||
|         ${IOKIT_LIBRARY} | ||||
|         ${OBJC_LIBRARY} | ||||
|     ) | ||||
|     set(OS_DARWIN TRUE) | ||||
| elseif(ANDROID) | ||||
|     target_sources(usb PRIVATE | ||||
|         libusb/libusb/os/linux_usbfs.c | ||||
|         libusb/libusb/os/linux_netlink.c | ||||
|     ) | ||||
|     find_library(LOG_LIBRARY log) | ||||
|     target_link_libraries(usb PRIVATE ${LOG_LIBRARY}) | ||||
|     set(OS_LINUX TRUE) | ||||
| elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") | ||||
|     target_sources(usb PRIVATE | ||||
|         libusb/libusb/os/linux_usbfs.c | ||||
|     ) | ||||
|     find_package(Libudev) | ||||
|     if(LIBUDEV_FOUND) | ||||
|         target_sources(usb PRIVATE | ||||
|             libusb/libusb/os/linux_udev.c | ||||
|         ) | ||||
|         target_link_libraries(usb PRIVATE "${LIBUDEV_LIBRARIES}") | ||||
|         target_include_directories(usb PRIVATE "${LIBUDEV_INCLUDE_DIR}") | ||||
|         set(HAVE_LIBUDEV TRUE) | ||||
|         set(USE_UDEV TRUE) | ||||
|     else() | ||||
|         target_sources(usb PRIVATE | ||||
|             libusb/libusb/os/linux_netlink.c | ||||
|         ) | ||||
|     endif() | ||||
|     set(OS_LINUX TRUE) | ||||
| elseif(${CMAKE_SYSTEM_NAME} MATCHES "NetBSD") | ||||
|     target_sources(usb PRIVATE | ||||
|         libusb/libusb/os/netbsd_usb.c | ||||
|     ) | ||||
|     set(OS_NETBSD TRUE) | ||||
| elseif(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") | ||||
|     target_sources(usb PRIVATE | ||||
|         libusb/libusb/os/openbsd_usb.c | ||||
|     ) | ||||
|     set(OS_OPENBSD TRUE) | ||||
| endif() | ||||
|  | ||||
| if(UNIX) | ||||
|     target_sources(usb PRIVATE | ||||
|         libusb/libusb/os/poll_posix.c | ||||
|         libusb/libusb/os/threads_posix.c | ||||
|     ) | ||||
|     find_package(Threads REQUIRED) | ||||
|     if(THREADS_HAVE_PTHREAD_ARG) | ||||
|       target_compile_options(usb PUBLIC "-pthread") | ||||
|     endif() | ||||
|     if(CMAKE_THREAD_LIBS_INIT) | ||||
|       target_link_libraries(usb PRIVATE "${CMAKE_THREAD_LIBS_INIT}") | ||||
|     endif() | ||||
|     set(THREADS_POSIX TRUE) | ||||
| elseif(WIN32) | ||||
|     target_sources(usb PRIVATE | ||||
|         libusb/libusb/os/poll_windows.c | ||||
|         libusb/libusb/os/threads_windows.c | ||||
|     ) | ||||
| endif() | ||||
|  | ||||
| include(CheckFunctionExists) | ||||
| include(CheckIncludeFiles) | ||||
| include(CheckTypeSize) | ||||
| check_include_files(asm/types.h HAVE_ASM_TYPES_H) | ||||
| check_function_exists(gettimeofday HAVE_GETTIMEOFDAY) | ||||
| check_include_files(linux/filter.h HAVE_LINUX_FILTER_H) | ||||
| check_include_files(linux/netlink.h HAVE_LINUX_NETLINK_H) | ||||
| check_include_files(poll.h HAVE_POLL_H) | ||||
| check_include_files(signal.h HAVE_SIGNAL_H) | ||||
| check_include_files(strings.h HAVE_STRINGS_H) | ||||
| check_type_size("struct timespec" STRUCT_TIMESPEC) | ||||
| check_function_exists(syslog HAVE_SYSLOG_FUNC) | ||||
| check_include_files(syslog.h HAVE_SYSLOG_H) | ||||
| check_include_files(sys/socket.h HAVE_SYS_SOCKET_H) | ||||
| check_include_files(sys/time.h HAVE_SYS_TIME_H) | ||||
| check_include_files(sys/types.h HAVE_SYS_TYPES_H) | ||||
|  | ||||
| set(CMAKE_EXTRA_INCLUDE_FILES poll.h) | ||||
| check_type_size("nfds_t" nfds_t) | ||||
| unset(CMAKE_EXTRA_INCLUDE_FILES) | ||||
| if(HAVE_NFDS_T) | ||||
|     set(POLL_NFDS_TYPE "nfds_t") | ||||
| else() | ||||
|     set(POLL_NFDS_TYPE "unsigned int") | ||||
| endif() | ||||
|  | ||||
| check_include_files(sys/timerfd.h USBI_TIMERFD_AVAILABLE) | ||||
|  | ||||
|  | ||||
| configure_file(config.h.in config.h) | ||||
							
								
								
									
										90
									
								
								externals/libusb/config.h.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								externals/libusb/config.h.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,90 @@ | ||||
| /* Default visibility */ | ||||
| #if defined(__GNUC__) || defined(__clang__) | ||||
|   #define DEFAULT_VISIBILITY __attribute__((visibility("default"))) | ||||
| #elif defined(_MSC_VER) | ||||
|   #define DEFAULT_VISIBILITY __declspec(dllexport) | ||||
| #endif | ||||
|  | ||||
| /* Start with debug message logging enabled */ | ||||
| #undef ENABLE_DEBUG_LOGGING | ||||
|  | ||||
| /* Message logging */ | ||||
| #undef ENABLE_LOGGING | ||||
|  | ||||
| /* Define to 1 if you have the <asm/types.h> header file. */ | ||||
| #cmakedefine HAVE_ASM_TYPES_H 1 | ||||
|  | ||||
| /* Define to 1 if you have the `gettimeofday' function. */ | ||||
| #cmakedefine HAVE_GETTIMEOFDAY 1 | ||||
|  | ||||
| /* Define to 1 if you have the `udev' library (-ludev). */ | ||||
| #cmakedefine HAVE_LIBUDEV 1 | ||||
|  | ||||
| /* Define to 1 if you have the <linux/filter.h> header file. */ | ||||
| #cmakedefine HAVE_LINUX_FILTER_H 1 | ||||
|  | ||||
| /* Define to 1 if you have the <linux/netlink.h> header file. */ | ||||
| #cmakedefine HAVE_LINUX_NETLINK_H 1 | ||||
|  | ||||
| /* Define to 1 if you have the <poll.h> header file. */ | ||||
| #cmakedefine HAVE_POLL_H 1 | ||||
|  | ||||
| /* Define to 1 if you have the <signal.h> header file. */ | ||||
| #cmakedefine HAVE_SIGNAL_H 1 | ||||
|  | ||||
| /* Define to 1 if you have the <strings.h> header file. */ | ||||
| #cmakedefine HAVE_STRINGS_H 1 | ||||
|  | ||||
| /* Define to 1 if the system has the type `struct timespec'. */ | ||||
| #cmakedefine HAVE_STRUCT_TIMESPEC 1 | ||||
|  | ||||
| /* syslog() function available */ | ||||
| #cmakedefine HAVE_SYSLOG_FUNC 1 | ||||
|  | ||||
| /* Define to 1 if you have the <syslog.h> header file. */ | ||||
| #cmakedefine HAVE_SYSLOG_H 1 | ||||
|  | ||||
| /* Define to 1 if you have the <sys/socket.h> header file. */ | ||||
| #cmakedefine HAVE_SYS_SOCKET_H 1 | ||||
|  | ||||
| /* Define to 1 if you have the <sys/time.h> header file. */ | ||||
| #cmakedefine HAVE_SYS_TIME_H 1 | ||||
|  | ||||
| /* Define to 1 if you have the <sys/types.h> header file. */ | ||||
| #cmakedefine HAVE_SYS_TYPES_H 1 | ||||
|  | ||||
| /* Darwin backend */ | ||||
| #cmakedefine OS_DARWIN 1 | ||||
|  | ||||
| /* Linux backend */ | ||||
| #cmakedefine OS_LINUX 1 | ||||
|  | ||||
| /* NetBSD backend */ | ||||
| #cmakedefine OS_NETBSD 1 | ||||
|  | ||||
| /* OpenBSD backend */ | ||||
| #cmakedefine OS_OPENBSD 1 | ||||
|  | ||||
| /* Windows backend */ | ||||
| #cmakedefine OS_WINDOWS 1 | ||||
|  | ||||
| /* type of second poll() argument */ | ||||
| #define POLL_NFDS_TYPE @POLL_NFDS_TYPE@ | ||||
|  | ||||
| /* Use POSIX Threads */ | ||||
| #cmakedefine THREADS_POSIX | ||||
|  | ||||
| /* timerfd headers available */ | ||||
| #cmakedefine USBI_TIMERFD_AVAILABLE 1 | ||||
|  | ||||
| /* Enable output to system log */ | ||||
| #define USE_SYSTEM_LOGGING_FACILITY 1 | ||||
|  | ||||
| /* Use udev for device enumeration/hotplug */ | ||||
| #cmakedefine USE_UDEV 1 | ||||
|  | ||||
| /* Use GNU extensions */ | ||||
| #define _GNU_SOURCE | ||||
|  | ||||
| /* Oldest Windows version supported */ | ||||
| #define WINVER 0x0501 | ||||
							
								
								
									
										1
									
								
								externals/libusb/libusb
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								externals/libusb/libusb
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule externals/libusb/libusb added at e782eeb251
									
								
							
		Reference in New Issue
	
	Block a user