Log

Author Commit Date CI Message
Ozkan Sezer 20ca1192 2020-12-24T00:26:32 testgesture.c: comment out unused drawLine()
Ozkan Sezer b064028c 2020-12-24T00:25:40 testatomic.c: fix warnings due to SDL_AtomicDecRef() use
Sylvain Becker 8e20376f 2020-12-23T22:09:01 SDL_SoftStretchLinear: use SDL_INLINE (bug 5313)
Sylvain Becker 7b8d5b7d 2020-12-23T22:02:28 SDL_SoftStretchLinear: fix implicit conversion (bug 5313)
Ozkan Sezer 15fea339 2020-12-23T23:47:10 ran gendynapi.pl after addition of SDL_SoftStretchLinear
Sylvain Becker ae8a270f 2020-12-23T21:37:40 Add SDL_SoftStretchLowerLinear() (Bug 5313)
Sylvain Becker 050ee9a4 2020-12-23T21:32:01 Split SDL_SoftStretch in Lower and Uppler functions (Bug 5313)
Manuel Alfayate Corchete 09fcc9ed 2020-12-23T16:45:23 [KMS/DRM][Vulkan] Fix small warning, thanks to Ozkan Sezer for spotting it.
Manuel Alfayate Corchete a6dc838d 2020-12-23T16:22:46 [KMS/DRM][Vulkan] Only try to create a display mode when no suitable mode is found.
Sam Lantinga 0ed4d929 2020-12-23T04:53:23 Fixed setting player LEDs for PS5 controllers over Bluetooth
Sam Lantinga 6341bb35 2020-12-22T21:51:59 Fixed controller disconnect detection for PS4 and PS5 controllers over Bluetooth
Sam Lantinga a30adae5 2020-12-22T20:58:32 Make it possible to turn on PS4 rumble effects at runtime using the hint
Sam Lantinga 390b2cf0 2020-12-22T20:53:27 Enable PS5 enhanced functionality for testgamecontroller
Sam Lantinga c93947a2 2020-12-22T20:12:03 Make it possible to turn on PS5 rumble effects at runtime using the hint
Sam Lantinga 058a0ab4 2020-12-22T14:38:32 Set the pad lights on the PS5 controller corresponding to the player index Also allow setting the player index from testgamecontroller using the number keys
Sam Lantinga 6a57072e 2020-12-22T14:10:08 Only add the touchpad and sensors to the PS5 controller if effects are enabled
Sam Lantinga 4ec776c3 2020-12-22T13:29:23 Don't switch the PS5 controller out of DirectInput mode by default
Ozkan Sezer b4b674da 2020-12-22T22:10:50 CMakeLists.txt: sync DYLIB_CURRENT_VERSION to Xcode project
Sam Lantinga 350f1b0d 2020-12-22T10:36:15 Updated SDL to version 2.0.15 for development
Manuel Alfayate Corchete 13244de5 2020-12-22T17:17:30 [Buildsystem] Only build KMSDRM support if EGL+OpenGL is detected by CMake.
Ozkan Sezer a19c008a 2020-12-22T17:10:02 use GetModuleHandleW() to retrieve kernel32.dll handle (bug #5390.) SDL_systhread.c and SDL_syslocale.c used to call LoadLibrary() without calling FreeLibrary() later. GetModuleHandleW() should always succeed because GetModuleHandleW() itself is imported from kernel32.dll and we don't need to bother releasing it.
Ozkan Sezer 9f655fe5 2020-12-22T17:03:20 regenerated configure
Ozkan Sezer 5ad56457 2020-12-22T17:01:50 acinclude/pkg.m4: update from mainstream pkgconfig tree.
Ozkan Sezer 86191351 2020-12-22T17:00:28 acinclude & sdl2.m4 updates: - acinclude/alsa.m4, esd.m4: Ran through autoupdate to replace several AC_TRY_[COMPILE|LINK|RUN] with corresponding AC_???_IFELSE , so that autoconf-2.70 doesn't warn. - sdl2.m4: Ditto. - test/acinclude.m4 (sdl2): Ditto.
Ozkan Sezer f117db51 2020-12-22T17:00:11 sdl2.m4 updates: - remove HP/UX 9 (%@#!) support - change fopen() mode from "a" to "w" in test code. - bump its serial num to 2. - test/acinclude.m4: same sdl2.m4 updates.
Ozkan Sezer 087de97b 2020-12-22T17:00:00 acinclude/esd.m4: update from mainstream esound tree, - revise for better compatibility with new autoconf, - remove HP/UX 9 (%@#!) support from it, - replace system("touch conf.esdtest") with fopen/fclose in the test code (see, e.g. glib-2.0.m4 -- sdl.m4 does the same.)
Ozkan Sezer 15abab9c 2020-12-22T16:25:00 regenerated configure
Manuel Alfayate Corchete 2fc987c2 2020-12-22T14:15:33 [Buildsystem] Add guards for not building with KMSDRM support if EGL is not available.
Sam Lantinga 05dcec0a 2020-12-21T14:43:38 Added tag release-2.0.14 for changeset 97dfa8874ea0
Sam Lantinga 4cd98160 2020-12-21T09:44:25 Fixed whitespace
Ozkan Sezer 537f824f 2020-12-21T20:40:10 test/Makefile.os2: wlib must run case-sensitively.
Manuel Alfayate Corchete 8766d604 2020-12-21T17:29:24 [Video/KMSDRM] Fix potetial access to freed structure and complete errorchecks.
Manuel Alfayate Corchete b06ef3a1 2020-12-21T01:53:11 [Video/KMSDRM] Manually re-show the cursor on window creation, if needed.
Ozkan Sezer 4198f0e5 2020-12-21T01:20:30 fix uninitialized warnings in KMSDRM_CreateCursor()
Manuel Alfayate Corchete a8dbcab1 2020-12-20T21:48:05 [Video/KMSDRM] Don't copy the cursor bitmap to the cursor GBM BO until we're showing it.
Sam Lantinga 67e9132d 2020-12-20T12:22:28 Fixed circular dependency problem when building in the test directory
Sam Lantinga ee180efd 2020-12-20T12:08:49 Fixed bug 5406 - Upstreaming DragonFlyBSD changes from DeltaPorts (patch from David Carlier)
Ozkan Sezer 22275b35 2020-12-20T21:55:02 cmake: fix building for mac (bug #5407.)
Manuel Alfayate Corchete 2756b0f3 2020-12-20T14:29:58 [Video/KMSDRM] Init and deinit mouse stuff at the same time that GBM stuff.
Ozkan Sezer e91153f2 2020-12-20T03:03:21 fix non-ARM h/w on FreeBSD builds (bug #5405, patch from David Carlier.)
Manuel Alfayate Corchete cf71e017 2020-12-19T23:32:09 [Video/KMSDRM] Remove auxiliary AMDGPU compatibility workarounds not needed anymore.
Manuel Alfayate Corchete af1f91cb 2020-12-19T20:21:07 [Video/KMSDRM] Correct typo.
Manuel Alfayate Corchete cf489556 2020-12-19T20:15:50 [Video/KMSDRM] Honor the device index in Vulkan. Add notes about the display index.
Manuel Alfayate Corchete ab3a390e 2020-12-19T17:35:04 [Video/KMSDRM] Better ATOMIC caps testing: patch by Oskan Sezer.
Manuel Alfayate Corchete 436499f3 2020-12-19T02:08:59 [Video/KMSDRM] Comment out some debug info, adjust comments for future work.
Ozkan Sezer 6b81cac4 2020-12-19T01:25:50 remove duplicated SDL_SetError after calling check_atomic_modesetting()
Manuel Alfayate Corchete 8952a613 2020-12-18T23:17:42 [Video/KMSDRM] Re-arrange display members setup.
Manuel Alfayate Corchete f60f8d5d 2020-12-18T22:53:51 [Video/KMSDRM]: Add Vulkan support to the KMSDRM backend.
Sam Lantinga cbe13d23 2020-12-18T13:10:36 Fixed controller hotplug detection when joystick thread is not enabled
Ozkan Sezer 6ac0b23d 2020-12-18T21:37:20 SDL_DirectFB_video.c: DSPF_ABGR requires directfb >= 1.5.0 -- add guard.
Sam Lantinga f0577bc9 2020-12-18T10:09:06 ControllerList: setup the ps5 default deadzone to match PS4 instead of defaulting to same a XboxOne/Switch
Sam Lantinga 5f7cd1fa 2020-12-18T10:08:59 Added hints to control whether SDL updates joystick and sensor state in the main event loop
Ozkan Sezer 6c4ab484 2020-12-18T17:50:02 SDL_kmsdrmvideo.c: check atomic modesetting in check_modesetting() .. so that KMSDRM_CreateDevice() can fail and SDL_VideoInit() would move on to next bootstrap member which is kmsdrm_legacy. hopefully fixes bug #5393.
Ozkan Sezer 5c654d0d 2020-12-18T17:00:00 tests: regenerate configure using autoconf patched for AC_PATH_X11 Specifically this patch which does not invoke _AC_PATH_X_XMKMF and _AC_PATH_X_DIRECT internal autoconf routines when cross-compiling: http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=33c3a47c04ab70a4dd54963fe433a171bc03747f Without this, CFLAGS would brokenly have system include paths like -I/usr/include/X11 when cross-compiling e.g. for windows. (And it also resulted in annoying imake crashes for my setup...)
Sam Lantinga 6bd4c717 2020-12-17T21:41:23 Fixed bug 5402 - ARM support little update proposal David Carlier No fix but mostly an update for ARM architecture.
Ozkan Sezer 10625f9d 2020-12-17T23:50:00 SDL_windowsmessagebox.c: go back to hg rev 14458 state. encountering a NULL caption in AddDialogString() is intended, i.e. AddDialogStaticIcon() sends it as NULL on purpose.
Ozkan Sezer 4d6eb305 2020-12-17T23:28:20 SDL_windowsmessagebox.c (AddDialogControl): add back NULL caption check. because AddDialogStaticIcon() sends a NULL caption -- fixes bug #5401.
Ozkan Sezer 90456670 2020-12-17T14:11:00 more "'for' loop initial declarations are only allowed in C99 mode" fixes
Ozkan Sezer ed4fcb2c 2020-12-16T03:24:10 kmsdrm_legacy build fixes: - add missing '_LEGACY' to symbol names - perform missing 2.0.14 portage - fix 'for' loop initial declarations are only allowed in C99 mode errors
Sam Lantinga f484abbd 2020-12-15T14:57:51 Added Android mapping for the Xbox One Series X controller over Bluetooth
Sam Lantinga cdd39711 2020-12-15T14:57:49 Fixed the Xbox Series X controller showing up twice on Android
Sam Lantinga 14f97734 2020-12-15T14:57:47 Fixed whitespace
Ozkan Sezer 9940e710 2020-12-16T00:10:30 Import two post-2.0.12 fixes to kmsdrm_legacy: Fix build breakage without EGL: https://hg.libsdl.org/SDL/rev/f2606fe53654e305ab9badb821d9d3afb7f92f49 Fix KMSDRM_CreateWindow segfault when starting L?VE2D engine (bug 5199) https://hg.libsdl.org/SDL/rev/d2e69a78939463d9ff9448a5f4efd1e208bb97b0
Sam Lantinga f8839289 2020-12-15T12:22:48 Potential fix for bug 5393 - KMSDRM: using atomic mode setting breaks GPU compatibility Substring I was trying the KMSDRM video backend with some very simple programs that were working ok on 2.0.12. The same code won?t work on the current dev branch and I get: DEBUG: check_modesetting: probing ?/dev/dri/card0? DEBUG: /dev/dri/card0 connector, encoder and CRTC counts are: 4 5 6 DEBUG: check_modesetting: probing ?/dev/dri/card0? DEBUG: /dev/dri/card0 connector, encoder and CRTC counts are: 4 5 6 DEBUG: KMSDRM_VideoInit() DEBUG: Opening device /dev/dri/card0 DEBUG: Opened DRM FD (3) DEBUG: no atomic modesetting support. DEBUG: Video subsystem has not been initialized INFO: Using SDL video driver: (null) DEBUG: Video subsystem has not been initialized After carefully checking, the radeon driver doesn?t support atomic modesetting. That?s not the only problem : the same happens with the amdgpu driver if we disable Display Core (kernel parameter amdgpu.dc=0, which is required to get analogue outputs working). This is a major regression in the KMSDRM driver. Using atomic mode setting is great, but having no fallback to the "standard KMS" is bad.
Ozkan Sezer c02d88dd 2020-12-15T23:01:10 configury whitespace cleanup (no actual change.)
Sam Lantinga 6cb78120 2020-12-15T00:42:17 Fixed bug 5399 - make install is broken as it depends on missing rule `build` Stephen Broadfoot I've tracked this down to the following changeset bb65ba8e039b https://hg.libsdl.org/SDL/diff/bb65ba8e039b/Makefile.in this changeset renames the rule `build` to `build/.created` but the rule `install-lib` still depends on the rule `build` This affects users who are trying to install via homebrew who are installing via source and not by the bottle as this invokes `make install` To be clear, the error I was hitting when running make install is make: *** No rule to make target `build', needed by `install-lib'. Stop.
Ozkan Sezer 716ac535 2020-12-15T01:20:00 test/acinclude.m4: rename SDL_CONFIG to SDL2_CONFIG, regenerate configure
Ozkan Sezer 637d425e 2020-12-15T00:11:10 whitespace.
Sam Lantinga e65e4fd3 2020-12-14T09:48:51 Fixed detecting the guide button on Xbox One S controllers over Bluetooth on Linux
Ethan Lee f1c7cc71 2020-12-14T12:36:04 winrt: Buildfix for older UWP SDKs
Sam Lantinga bfffa275 2020-12-14T09:23:53 Fixed bug 5397 - Fcitx input is truncated sowfelicity Split the long text input event into multiple shorten text input event.
Sam Lantinga 8795ca70 2020-12-14T09:15:47 Fixed bug 5241 - SDL on Linux needs a way to turn deadzones off pj5085 I added some printf to verify the math being done. Of the three joysticks I have, it works correctly for at least two, and seems to work correctly for the third. I say "seems to" because, for the third joystick, the values never go through the AxisCorrect function, and thus never hit my printf statements, even though they did in the version I wrote my patch against. I'm not sure what's going on there, but it at least seems to be working correctly in as much as I can tell. I note this result in particular, for an SNES Gamepad (min=0, max=255): Joystick value 0 becomes -32768 Joystick value 127 becomes 0 Joystick value 255 becomes 32767 Without the code that forces a zero point, the 127 input value would become -129, so I think you see why I added that code to turn it into zero. However, I think Kai Krakow has a point about how SDL shouldn't assume that there should be a center. Obviously in the majority of cases there actually should be a center, and the code that turns that 127 into an actual 0 is creating only a 0.2% error over 0.4% of this joystick's range. However, what if there is an axis that is some kind of special control, like a 4-position switch, and, for whatever reason, the joystick reports it as an axis with 4 possible values, 0 to 3? In that case, mutilating the two center values to the same value is much more of an error and and turns that 4-position switch into a 3-position switch. If any joystick does this with a 2-position switch, then this code would render that control entirely useless as it would report the same value with the switch in either position. Obviously the code could require that there be at least N possible values, to guess whether something is a proper axis or just some kind of switch, but the choice of N would be arbitrary and that's ugly. I guess the real problem here is that my gamepad is just kind of broken. It should be reporting a range of -1 to +1 since that's what it actually does. Also, as Kai Krakow points out, it's probably not SDL's place to fix broken hardware. I'll add that, if SDL does fix broken hardware, it should probably actually know that it's broken rather than be merely guessing that it is. So, to the extent that SDL is able to do stuff like this, perhaps it's something better left for the user to configure in some kind of config file.
Ethan Lee 169cfe5a 2020-12-14T11:52:09 winrt: EffectiveLocation still needs an ifdef, IsApiContractPresent is for runtime
Ozkan Sezer 44d4a61d 2020-12-14T08:11:40 minor cleanups to configure.ac to reduce autoconf-2.70 warnings a bit. configure output is practically unchanged. there are still lots of AC_TRY_COMPILE/AC_TRY_LINK replacements needed to really eliminate the warnings, but that's for another time.
Ozkan Sezer f8078d3d 2020-12-14T05:55:20 configure.ac: use AC_DEFINE for SDL_VIDEO_DRIVER_ANDROID
Ozkan Sezer 3c2757ff 2020-12-13T18:25:02 windows SDL_LoadObject: fix warning after commit 2ff650230d96
Ozkan Sezer 15cbddf4 2020-12-13T18:00:20 linux/SDL_threadprio.c: fix build on older systems: SCHED_RESET_ON_FORK is in kernel >= 2.6.32.
Ozkan Sezer 3b92933a 2020-12-13T17:37:50 SDL_LoadObject (windows, os/2): prevent crash if dll name is NULL.
Ozkan Sezer f674009c 2020-12-13T16:51:20 fix typo from commit 63349df2610a (fixes bug 5396)
Ozkan Sezer b6e63625 2020-12-13T15:32:24 fix bug #5395: handle old systems where inotify_init1 is not available
Sam Lantinga ee85a41a 2020-12-13T02:10:46 Fixed compile warning
Sam Lantinga 64f448b2 2020-12-13T02:01:39 libusb hid.c is already included in SDL_hidapi.c
Sam Lantinga 706f6375 2020-12-13T01:58:05 Fixed build for platforms with only libusb hidapi implementations
Sam Lantinga 80e5c689 2020-12-13T01:20:38 Fixed the PS5 controller not disconnecting when powered off
Sam Lantinga c8ee0691 2020-12-13T00:15:54 Added SDL_misc.h to the Xcode built frameworks
Sam Lantinga ce7c751c 2020-12-12T23:54:40 Document that the joystick deadzone hint defaults off
Sam Lantinga db0a2025 2020-12-12T23:48:02 Fixed bug 5241 - SDL on Linux needs a way to turn deadzones off pj5085 It occurred to me that my simple patch that comments out a few lines of code does not correctly remove the dead zone since the calculation presumably assumes the dead zone has been cut out of the range. Then, while looking into how to make it output the correct range of values, I realized SDL wasn't returning the correct range of values to begin with. This line of code was already present: printf("Values = { %d, %d, %d, %d, %d }\n", absinfo.value, absinfo.minimum, absinfo.maximum, absinfo.fuzz, absinfo.flat); For my joystick this yeilds: Values = { 0, -127, 127, 0, 15 } Then this code calculates the coefficients: In SDL1: joystick->hwdata->abs_correct[i].coef[0] = (absinfo.maximum + absinfo.minimum) / 2 - absinfo.flat; joystick->hwdata->abs_correct[i].coef[1] = (absinfo.maximum + absinfo.minimum) / 2 + absinfo.flat; t = ((absinfo.maximum - absinfo.minimum) / 2 - 2 * absinfo.flat); if ( t != 0 ) { joystick->hwdata->abs_correct[i].coef[2] = (1 << 29) / t; } else { joystick->hwdata->abs_correct[i].coef[2] = 0; } In SDL2: joystick->hwdata->abs_correct[i].coef[0] = (absinfo.maximum + absinfo.minimum) - 2 * absinfo.flat; joystick->hwdata->abs_correct[i].coef[1] = (absinfo.maximum + absinfo.minimum) + 2 * absinfo.flat; t = ((absinfo.maximum - absinfo.minimum) - 4 * absinfo.flat); if (t != 0) { joystick->hwdata->abs_correct[i].coef[2] = (1 << 28) / t; } else { joystick->hwdata->abs_correct[i].coef[2] = 0; } Neither calculates the correct coefficients for the code in the AxisCorrect function. In SDL1: if ( value > correct->coef[0] ) { if ( value < correct->coef[1] ) { return 0; } value -= correct->coef[1]; } else { value -= correct->coef[0]; } value *= correct->coef[2]; value >>= 14; In SDL2: value *= 2; if (value > correct->coef[0]) { if (value < correct->coef[1]) { return 0; } value -= correct->coef[1]; } else { value -= correct->coef[0]; } In SDL1, the calculated coefficients are coef[0]=15, coef[1]=-15 and coef[2]=5534751. So with a full-scale input of 127, it calculates an output value of 37835, which is considerably out of range. In SDL2, the calculated coefficients are coef[0]=30, coef[1]=-30, and coef[2]=1383687. So with a full-scale input of 127, it calculates the same output value of 37835. I tested it with the 3 joysticks I have, and it produces out-of-range values for all of them. Anyway, since dead zones are garbage, I just deleted all of that junk and wrote some code that takes the absinfo.minimum and absinfo.maximum values and uses them to scale the axis range to -32767 through +32767. I also made it detect when a range doesn't have an integer center point, e.g. the center of -128 to + 127 is -0.5. In such cases, if either value to the side of the center is provided, it zeros it, but it otherwise doesn't implement any kind of dead zone. This seemed important with my gamepad which provides only the values of 0, 127, and 255, since without this hack it would never be centered. Also, the previous minimum output value was -32768, but as that creates an output range that has no true center, I changed the minimum value to -32767. I tested it with the 3 joystick devices I have and it seems to create correct values for all of them.
Sam Lantinga 0ccb3afd 2020-12-12T22:33:11 Fixed polling values after SYN_DROPPED event
Sam Lantinga 9ee0e888 2020-12-12T22:11:00 Whoops, make the hint actually default to false
Sam Lantinga 13a4caf1 2020-12-12T22:08:02 Fixed bug 4286 - Joystick subsystem causes "not responding" when app is in the background Added a hint to control whether a separate thread should be used for joystick events. This is off by default because dispatching messages in other threads appears to cause problems on some versions of Windows.
Ozkan Sezer bca9decb 2020-12-12T23:28:10 fix bug #5394 - define _DARWIN_C_SOURCE only if not already defined
Ozkan Sezer 5c212cb0 2020-12-10T12:24:24 remove a few stale NULL message/title checks after commit e2b729b1756a top-level guarantees non-NULL message / title passed in messageboxdata
Ozkan Sezer f1cab8ae 2020-12-10T11:20:56 fix bug #5253: handle NULL title or message fields in SDL_MessageBoxData - SDL_video.c (SDL_ShowMessageBox): replace messageboxdata, set title or message field to "" if either of them is NULL. - SDL_video.c (SDL_ShowSimpleMessageBox): set title or message to "" if either of them is NULL for EMSCRIPTEN builds. - SDL_bmessagebox.cc: add empty string check along with NULL check for title and message fields. - SDL_windowsmessagebox.c (AddDialogString): remove NULL string check - SDL_windowsmessagebox.c (AddDialogControl): add empty string check along with the NULL check. - SDL_x11messagebox.c: revert commit 677c4cd68069 - SDL_os2messagebox.c: revert commit 2c2a489d76e7 - test/testmessage.c: Add NULL title and NULL message tests.
Sam Lantinga eec73dfd 2020-12-09T20:31:00 configure.ac (CheckJoystickMFI): changed AC_TRY_COMPILE to AC_TRY_LINK so as to discover GameController and CoreHaptics frameworks at compile time.
Sam Lantinga 797a6910 2020-12-09T20:28:51 Fixed bug 5375 - WGI: Fix HSTRING memory leak. Joel Linn TLDR; https://godbolt.org/z/43fd8G Let's deduce this from C++ reference code: https://docs.microsoft.com/en-us/cpp/cppcx/wrl/how-to-activate-and-use-a-windows-runtime-component-using-wrl?view=msvc-160 At the bottom of the page there is this snippet: ``` int wmain() { /* ... more code ... */ // Get the domain part of the URI. HString domainName; hr = uri->get_Domain(domainName.GetAddressOf()); if (FAILED(hr)) { return PrintError(__LINE__, hr); } // Print the domain name and return. wprintf_s(L"Domain name: %s\n", domainName.GetRawBuffer(nullptr)); // All smart pointers and RAII objects go out of scope here. } ``` `HString` is defined in `corewrappers.h` and the call chain for the destructor is: `~HString() -> Release() -> ::WindowsDeleteString()` QED
Sam Lantinga d3d2aee7 2020-12-09T10:39:36 Fixed the name of the PS5 hint
Sam Lantinga a77a0715 2020-12-09T07:50:15 Disabled raw input debug output
Sam Lantinga d46dd103 2020-12-09T07:49:07 Fixed typo in Vulkan load logic
Sam Lantinga 45e3521d 2020-12-09T07:32:10 Backed out changes for 5366 - cmake build doesn't detect Metal on macOS These changes introduce regressions for other build environments, so I'm backing them out until we sort out the correct fix.
Sam Lantinga bd032c1f 2020-12-09T07:26:59 Fixed bug 5221 - libusb isn't detected correctly in CMake Sven-Hendrik Haase In CMake I currently have trouble activating hidapi support as libusb-1.0 isn't ever correctly detected as it's searched for by the wrong name. configure.ac correctly does this: PKG_CHECK_MODULES([LIBUSB], [libusb-1.0], have_libusb=yes, have_libusb=no) However, sdlchecks.cmake does this: pkg_check_modules(LIBUSB libusb) but it needs to be: pkg_check_modules(LIBUSB libusb-1.0)