فهرست منبع

Reviewed GLFW compilation requirements on Linux: `_GNU_SOURCE`

Reasons to NOT define `_GNU_SOURCE`:

 - access to lots of nonstandard GNU/Linux extension functions
 - access to traditional functions which were omitted from the POSIX standard (often for good reason, such as being replaced with better alternatives, or being tied to particular legacy implementations)
 - access to low-level functions that cannot be portable, but that you sometimes need for implementing system utilities like mount, ifconfig, etc.
 - broken behavior for lots of POSIX-specified functions, where the GNU folks disagreed with the standards committee on how the functions should behave and decided to do their own thing.
Ray 3 سال پیش
والد
کامیت
7f5567eec0
3فایلهای تغییر یافته به همراه1 افزوده شده و 2 حذف شده
  1. 1 0
      src/Makefile
  2. 0 1
      src/external/glfw/src/posix_poll.c
  3. 0 1
      src/external/glfw/src/posix_poll.h

+ 1 - 0
src/Makefile

@@ -307,6 +307,7 @@ endif
 #  -Wno-missing-braces      ignore invalid warning (GCC bug 53119)
 #  -Wno-unused-value        ignore unused return values of some functions (i.e. fread())
 #  -D_DEFAULT_SOURCE        use with -std=c99 on Linux and PLATFORM_WEB, required for timespec
+#  -D_GNU_SOURCE            access to lots of nonstandard GNU/Linux extension functions
 #  -Werror=pointer-arith    catch unportable code that does direct arithmetic on void pointers
 #  -fno-strict-aliasing     jar_xm.h does shady stuff (breaks strict aliasing)
 CFLAGS = -Wall -D_GNU_SOURCE -D$(PLATFORM) -D$(GRAPHICS) -Wno-missing-braces -Werror=pointer-arith -fno-strict-aliasing $(CUSTOM_CFLAGS)

+ 0 - 1
src/external/glfw/src/posix_poll.c

@@ -29,7 +29,6 @@
 #define _GNU_SOURCE
 
 #include "internal.h"
-#include "posix_poll.h"     // @raysan5: Required for poll(), ppoll()
 
 #include <signal.h>
 #include <time.h>

+ 0 - 1
src/external/glfw/src/posix_poll.h

@@ -26,7 +26,6 @@
 // It is fine to use C99 in this file because it will not be built with VS
 //========================================================================
 
-#define _GNU_SOURCE     // @raysan5: Required for ppoll()
 #include <poll.h>
 
 GLFWbool _glfwPollPOSIX(struct pollfd* fds, nfds_t count, double* timeout);