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>