From 842093bb843ae6c719c2b1cf32eb749cab9e46ca Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Thu, 15 Feb 2024 15:34:49 +0100 Subject: Define _POSIX_C_SOURCE globally Stop trying to maintain a per-file _POSIX_C_SOURCE. Instead, require POSIX.1-2008 globally. A lot of core source files depend on that already. Some care must be taken on a few select files where we need a bit more than POSIX. Some files need XSI extensions (_XOPEN_SOURCE) and some files need BSD extensions (_DEFAULT_SOURCE). In both cases, these feature test macros imply _POSIX_C_SOURCE. Make sure to not define both these macros and _POSIX_C_SOURCE explicitly to avoid POSIX requirement conflicts (e.g. _POSIX_C_SOURCE says POSIX.1-2001 but _XOPEN_SOURCE says POSIX.1-2008). Additionally, there is one special case in render/vulkan/vulkan.c. That file needs major()/minor(), and these are system-specific. On FreeBSD, _POSIX_C_SOURCE hides system-specific symbols so we need to make sure it's not defined for this file. On Linux, we can explicitly include and ensure that apart from symbols defined there the file only uses POSIX toys. --- render/allocator/allocator.c | 1 - render/allocator/drm_dumb.c | 1 - render/allocator/gbm.c | 1 - render/dmabuf.c | 1 - render/egl.c | 1 - render/gles2/pass.c | 1 - render/gles2/pixel_format.c | 1 - render/gles2/renderer.c | 1 - render/gles2/texture.c | 1 - render/vulkan/renderer.c | 1 - render/vulkan/texture.c | 1 - render/vulkan/vulkan.c | 4 ++-- render/wlr_renderer.c | 1 - 13 files changed, 2 insertions(+), 14 deletions(-) (limited to 'render') diff --git a/render/allocator/allocator.c b/render/allocator/allocator.c index e0620a1b..639b52be 100644 --- a/render/allocator/allocator.c +++ b/render/allocator/allocator.c @@ -1,4 +1,3 @@ -#define _POSIX_C_SOURCE 200809L #include #include #include diff --git a/render/allocator/drm_dumb.c b/render/allocator/drm_dumb.c index 6de44f40..eb4ce99f 100644 --- a/render/allocator/drm_dumb.c +++ b/render/allocator/drm_dumb.c @@ -1,4 +1,3 @@ -#define _POSIX_C_SOURCE 200809L #include #include diff --git a/render/allocator/gbm.c b/render/allocator/gbm.c index 25ddbbae..baa0fb6e 100644 --- a/render/allocator/gbm.c +++ b/render/allocator/gbm.c @@ -1,4 +1,3 @@ -#define _POSIX_C_SOURCE 200809L #include #include #include diff --git a/render/dmabuf.c b/render/dmabuf.c index b0b8ef41..7096dbc0 100644 --- a/render/dmabuf.c +++ b/render/dmabuf.c @@ -1,4 +1,3 @@ -#define _POSIX_C_SOURCE 200809L #include #include #include diff --git a/render/egl.c b/render/egl.c index 162634be..ac991295 100644 --- a/render/egl.c +++ b/render/egl.c @@ -1,4 +1,3 @@ -#define _POSIX_C_SOURCE 200809L #include #include #include diff --git a/render/gles2/pass.c b/render/gles2/pass.c index 4c9f9e28..9177b0a1 100644 --- a/render/gles2/pass.c +++ b/render/gles2/pass.c @@ -1,4 +1,3 @@ -#define _POSIX_C_SOURCE 199309L #include #include #include diff --git a/render/gles2/pixel_format.c b/render/gles2/pixel_format.c index fdf091f1..5cdf8c99 100644 --- a/render/gles2/pixel_format.c +++ b/render/gles2/pixel_format.c @@ -1,4 +1,3 @@ -#define _POSIX_C_SOURCE 199309L #include #include #include diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c index a71423c0..e095f469 100644 --- a/render/gles2/renderer.c +++ b/render/gles2/renderer.c @@ -1,4 +1,3 @@ -#define _POSIX_C_SOURCE 199309L #include #include #include diff --git a/render/gles2/texture.c b/render/gles2/texture.c index d326da9d..d66e9c16 100644 --- a/render/gles2/texture.c +++ b/render/gles2/texture.c @@ -1,4 +1,3 @@ -#define _POSIX_C_SOURCE 199309L #include #include #include diff --git a/render/vulkan/renderer.c b/render/vulkan/renderer.c index 05486a0f..d433f495 100644 --- a/render/vulkan/renderer.c +++ b/render/vulkan/renderer.c @@ -1,4 +1,3 @@ -#define _POSIX_C_SOURCE 200809L #include #include #include diff --git a/render/vulkan/texture.c b/render/vulkan/texture.c index a3fede04..51372b5f 100644 --- a/render/vulkan/texture.c +++ b/render/vulkan/texture.c @@ -1,4 +1,3 @@ -#define _POSIX_C_SOURCE 200809L #include #include #include diff --git a/render/vulkan/vulkan.c b/render/vulkan/vulkan.c index 8e9d9288..54bfa77a 100644 --- a/render/vulkan/vulkan.c +++ b/render/vulkan/vulkan.c @@ -1,5 +1,5 @@ -#if !defined(__FreeBSD__) -#define _POSIX_C_SOURCE 200809L +#if defined(__FreeBSD__) +#undef _POSIX_C_SOURCE #endif #include #include diff --git a/render/wlr_renderer.c b/render/wlr_renderer.c index 0ddb364e..513fecbd 100644 --- a/render/wlr_renderer.c +++ b/render/wlr_renderer.c @@ -1,4 +1,3 @@ -#define _POSIX_C_SOURCE 200809L #include #include #include -- cgit v1.2.3