SDL: Fixed some warnings when building on Linux with -DSDL_LIBC=OFF

From bde808cd87a465c9b384e7f669fb5a3c6218eefb Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sat, 26 Nov 2022 05:18:26 -0800
Subject: [PATCH] Fixed some warnings when building on Linux with
 -DSDL_LIBC=OFF

---
 CMakeLists.txt                          | 14 ++++++++------
 src/SDL_log.c                           |  5 +++++
 src/filesystem/unix/SDL_sysfilesystem.c | 10 +++++-----
 src/hidapi/SDL_hidapi.c                 |  3 ++-
 4 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index bd9a1f84f22d..d1a96350d6b2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1470,12 +1470,14 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU)
     file(GLOB CORE_UNIX_SOURCES ${SDL3_SOURCE_DIR}/src/core/unix/*.c)
     list(APPEND SOURCE_FILES ${CORE_UNIX_SOURCES})
 
-    check_c_source_compiles("
-        #include <linux/input.h>
-        #ifndef EVIOCGNAME
-        #error EVIOCGNAME() ioctl not available
-        #endif
-        int main(int argc, char** argv) { return 0; }" HAVE_INPUT_EVENTS)
+    if (HAVE_LINUX_INPUT_H)
+        check_c_source_compiles("
+            #include <linux/input.h>
+            #ifndef EVIOCGNAME
+            #error EVIOCGNAME() ioctl not available
+            #endif
+            int main(int argc, char** argv) { return 0; }" HAVE_INPUT_EVENTS)
+    endif()
 
     if(LINUX)
       check_c_source_compiles("
diff --git a/src/SDL_log.c b/src/SDL_log.c
index 9a407fd72cb6..bdd0cd30ad20 100644
--- a/src/SDL_log.c
+++ b/src/SDL_log.c
@@ -496,6 +496,11 @@ SDL_LogOutput(void *userdata, int category, SDL_LogPriority priority,
 #if HAVE_STDIO_H && \
     !(defined(__APPLE__) && (defined(SDL_VIDEO_DRIVER_COCOA) || defined(SDL_VIDEO_DRIVER_UIKIT)))
     fprintf(stderr, "%s: %s\n", SDL_priority_prefixes[priority], message);
+#else
+    /* We won't print anything, but reference the priority prefix anyway
+       to avoid a compiler warning.
+     */
+    (void)SDL_priority_prefixes[priority];
 #endif
 }
 
diff --git a/src/filesystem/unix/SDL_sysfilesystem.c b/src/filesystem/unix/SDL_sysfilesystem.c
index f128eb09fc14..16d4f0a64004 100644
--- a/src/filesystem/unix/SDL_sysfilesystem.c
+++ b/src/filesystem/unix/SDL_sysfilesystem.c
@@ -25,14 +25,14 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 /* System dependent filesystem routines                                */
 
-#include <errno.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
 #include <sys/stat.h>
 #include <sys/types.h>
-#include <limits.h>
+#include <errno.h>
 #include <fcntl.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
 
 #if defined(__FREEBSD__) || defined(__OPENBSD__)
 #include <sys/sysctl.h>
diff --git a/src/hidapi/SDL_hidapi.c b/src/hidapi/SDL_hidapi.c
index 5e8483c6472f..5357bfcdb6a0 100644
--- a/src/hidapi/SDL_hidapi.c
+++ b/src/hidapi/SDL_hidapi.c
@@ -63,7 +63,8 @@
 
 #ifdef HAVE_INOTIFY
 #include <unistd.h>  /* just in case we didn't use that SDL_USE_LIBUDEV block... */
-#include <errno.h>              /* errno, strerror */
+#include <string.h>             /* strerror */
+#include <errno.h>              /* errno */
 #include <fcntl.h>
 #include <limits.h>             /* For the definition of NAME_MAX */
 #include <sys/inotify.h>