Browse Source

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

Sam Lantinga 2 years ago
parent
commit
bde808cd87
4 changed files with 20 additions and 12 deletions
  1. 8 6
      CMakeLists.txt
  2. 5 0
      src/SDL_log.c
  3. 5 5
      src/filesystem/unix/SDL_sysfilesystem.c
  4. 2 1
      src/hidapi/SDL_hidapi.c

+ 8 - 6
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("

+ 5 - 0
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
 }
 

+ 5 - 5
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>

+ 2 - 1
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>