From b8327a4a48edfc9f6750e39766323e87d3ce1b09 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 8 Nov 2021 07:19:45 -0800 Subject: [PATCH] Added SDL_HIDAPI_DISABLED so it can be disabled like other SDL subsystems --- include/SDL_config.h.cmake | 1 + include/SDL_config.h.in | 1 + include/SDL_config_emscripten.h | 1 + include/SDL_config_minimal.h | 3 +++ include/SDL_config_os2.h | 4 +--- include/SDL_config_psp.h | 3 +++ include/SDL_config_winrt.h | 3 +++ include/SDL_hidapi.h | 4 ++-- src/hidapi/SDL_hidapi.c | 8 ++++---- src/hidapi/android/hid.cpp | 4 ++-- src/hidapi/ios/hid.m | 4 ++-- 11 files changed, 23 insertions(+), 13 deletions(-) diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake index 4e6337994..0bf1421c9 100644 --- a/include/SDL_config.h.cmake +++ b/include/SDL_config.h.cmake @@ -266,6 +266,7 @@ #cmakedefine SDL_FILE_DISABLED @SDL_FILE_DISABLED@ #cmakedefine SDL_JOYSTICK_DISABLED @SDL_JOYSTICK_DISABLED@ #cmakedefine SDL_HAPTIC_DISABLED @SDL_HAPTIC_DISABLED@ +#cmakedefine SDL_HIDAPI_DISABLED @SDL_HIDAPI_DISABLED@ #cmakedefine SDL_SENSOR_DISABLED @SDL_SENSOR_DISABLED@ #cmakedefine SDL_LOADSO_DISABLED @SDL_LOADSO_DISABLED@ #cmakedefine SDL_RENDER_DISABLED @SDL_RENDER_DISABLED@ diff --git a/include/SDL_config.h.in b/include/SDL_config.h.in index 51731b448..5c5cb29af 100644 --- a/include/SDL_config.h.in +++ b/include/SDL_config.h.in @@ -253,6 +253,7 @@ #undef SDL_FILE_DISABLED #undef SDL_JOYSTICK_DISABLED #undef SDL_HAPTIC_DISABLED +#undef SDL_HIDAPI_DISABLED #undef SDL_SENSOR_DISABLED #undef SDL_LOADSO_DISABLED #undef SDL_RENDER_DISABLED diff --git a/include/SDL_config_emscripten.h b/include/SDL_config_emscripten.h index 5e624d352..a57e5c608 100644 --- a/include/SDL_config_emscripten.h +++ b/include/SDL_config_emscripten.h @@ -134,6 +134,7 @@ #define SDL_CPUINFO_DISABLED 1 #define SDL_HAPTIC_DISABLED 1 +#define SDL_HIDAPI_DISABLED 1 #ifndef __EMSCRIPTEN_PTHREADS__ #define SDL_THREADS_DISABLED 1 #endif diff --git a/include/SDL_config_minimal.h b/include/SDL_config_minimal.h index fe0ced869..8d9ce16cc 100644 --- a/include/SDL_config_minimal.h +++ b/include/SDL_config_minimal.h @@ -64,6 +64,9 @@ typedef unsigned long uintptr_t; /* Enable the stub haptic driver (src/haptic/dummy/\*.c) */ #define SDL_HAPTIC_DISABLED 1 +/* Enable the stub HIDAPI */ +#define SDL_HIDAPI_DISABLED 1 + /* Enable the stub sensor driver (src/sensor/dummy/\*.c) */ #define SDL_SENSOR_DISABLED 1 diff --git a/include/SDL_config_os2.h b/include/SDL_config_os2.h index 516ab6d16..56025fed0 100644 --- a/include/SDL_config_os2.h +++ b/include/SDL_config_os2.h @@ -33,14 +33,12 @@ #define SDL_POWER_DISABLED 1 #define SDL_HAPTIC_DISABLED 1 +#define SDL_HIDAPI_DISABLED 1 #define SDL_SENSOR_DUMMY 1 #define SDL_VIDEO_DRIVER_DUMMY 1 #define SDL_VIDEO_DRIVER_OS2 1 #define SDL_JOYSTICK_OS2 1 -#define SDL_DISABLE_HIDAPI 1 -/*#undef SDL_JOYSTICK_HIDAPI */ -/*#undef SDL_JOYSTICK_VIRTUAL */ /* Enable OpenGL support */ /* #undef SDL_VIDEO_OPENGL */ diff --git a/include/SDL_config_psp.h b/include/SDL_config_psp.h index 53d4ca692..56d1ad681 100644 --- a/include/SDL_config_psp.h +++ b/include/SDL_config_psp.h @@ -158,6 +158,9 @@ /* PSP doesn't have haptic device (src/haptic/dummy/\*.c) */ #define SDL_HAPTIC_DISABLED 1 +/* PSP doesn't have HIDAPI available */ +#define SDL_HIDAPI_DISABLED 1 + /* PSP can't load shared object (src/loadso/dummy/\*.c) */ #define SDL_LOADSO_DISABLED 1 diff --git a/include/SDL_config_winrt.h b/include/SDL_config_winrt.h index c6d5c135a..2f23bafe9 100644 --- a/include/SDL_config_winrt.h +++ b/include/SDL_config_winrt.h @@ -205,6 +205,9 @@ typedef unsigned int uintptr_t; #define SDL_HAPTIC_XINPUT 1 #endif +/* WinRT doesn't have HIDAPI available */ +#define SDL_HIDAPI_DISABLED 1 + /* Enable the dummy sensor driver */ #define SDL_SENSOR_DUMMY 1 diff --git a/include/SDL_hidapi.h b/include/SDL_hidapi.h index 374eb5819..a440f9883 100644 --- a/include/SDL_hidapi.h +++ b/include/SDL_hidapi.h @@ -55,8 +55,8 @@ POSSIBILITY OF SUCH DAMAGE. * * If you would like a version of SDL without this code, you can build SDL - * with SDL_DISABLE_HIDAPI defined. You might want to do this for example on - * iOS or tvOS to avoid a dependency on the CoreBluetooth framework. + * with SDL_HIDAPI_DISABLED defined to 1. You might want to do this for example + * on iOS or tvOS to avoid a dependency on the CoreBluetooth framework. */ #ifndef SDL_hidapi_h_ diff --git a/src/hidapi/SDL_hidapi.c b/src/hidapi/SDL_hidapi.c index 70a53f299..c4466b8d9 100644 --- a/src/hidapi/SDL_hidapi.c +++ b/src/hidapi/SDL_hidapi.c @@ -33,7 +33,7 @@ #include "SDL_hidapi.h" #include "SDL_hidapi_c.h" -#ifndef SDL_DISABLE_HIDAPI +#if !SDL_HIDAPI_DISABLED /* Platform HIDAPI Implementation */ @@ -350,7 +350,7 @@ SDL_libusb_get_string_descriptor(libusb_device_handle *dev, #endif /* SDL_LIBUSB_DYNAMIC */ -#endif /* !SDL_DISABLE_HIDAPI */ +#endif /* !SDL_HIDAPI_DISABLED */ /* Shared HIDAPI Implementation */ @@ -469,7 +469,7 @@ DeleteHIDDeviceWrapper(HIDDeviceWrapper *device) return retval; \ } -#ifndef SDL_DISABLE_HIDAPI +#if !SDL_HIDAPI_DISABLED #define COPY_IF_EXISTS(var) \ if (pSrc->var != NULL) { \ @@ -506,7 +506,7 @@ CopyHIDDeviceInfo(struct SDL_hid_device_info *pSrc, struct SDL_hid_device_info * #undef COPY_IF_EXISTS #undef WCOPY_IF_EXISTS -#endif /* SDL_DISABLE_HIDAPI */ +#endif /* !SDL_HIDAPI_DISABLED */ static SDL_bool SDL_hidapi_wasinit = SDL_FALSE; diff --git a/src/hidapi/android/hid.cpp b/src/hidapi/android/hid.cpp index bed88674d..9bfb1a75f 100644 --- a/src/hidapi/android/hid.cpp +++ b/src/hidapi/android/hid.cpp @@ -22,7 +22,7 @@ // // This layer glues the hidapi API to Android's USB and BLE stack. -#ifndef SDL_DISABLE_HIDAPI +#if !SDL_HIDAPI_DISABLED #define hid_init PLATFORM_hid_init #define hid_exit PLATFORM_hid_exit @@ -1286,4 +1286,4 @@ int hid_exit(void) } -#endif /* SDL_DISABLE_HIDAPI */ +#endif /* SDL_HIDAPI_DISABLED */ diff --git a/src/hidapi/ios/hid.m b/src/hidapi/ios/hid.m index ba1aaa9e0..d8abfd374 100644 --- a/src/hidapi/ios/hid.m +++ b/src/hidapi/ios/hid.m @@ -20,7 +20,7 @@ */ #include "../../SDL_internal.h" -#ifndef SDL_DISABLE_HIDAPI +#if !SDL_HIDAPI_DISABLED #define hid_init PLATFORM_hid_init #define hid_exit PLATFORM_hid_exit @@ -961,4 +961,4 @@ HID_API_EXPORT const wchar_t* HID_API_CALL hid_error(hid_device *dev) return NULL; } -#endif /* !SDL_DISABLE_HIDAPI */ +#endif /* !SDL_HIDAPI_DISABLED */