|
@@ -1,108 +0,0 @@
|
|
|
-From 0d314c4a04ef1b86a1ea66107b2d1a8d1bcd93b9 Mon Sep 17 00:00:00 2001
|
|
|
-From: Simon Ser <contact@emersion.fr>
|
|
|
-Date: Mon, 10 Jan 2022 14:51:55 +0100
|
|
|
-Subject: [PATCH] build: don't rely on implicit GNU extensions
|
|
|
-
|
|
|
-Currently libwayland assumes GNU extensions will be available, but
|
|
|
-doesn't define the C standard to use. Instead, let's unconditionally
|
|
|
-enable POSIX extensions, and enable GNU extensions on a case-by-case
|
|
|
-basis as needed.
|
|
|
-
|
|
|
-Signed-off-by: Simon Ser <contact@emersion.fr>
|
|
|
-Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
|
|
|
-[james.hilliard1@gmail.com: backport from upstream commit
|
|
|
-0d314c4a04ef1b86a1ea66107b2d1a8d1bcd93b9]
|
|
|
----
|
|
|
- cursor/xcursor.c | 1 +
|
|
|
- meson.build | 10 ++++++++--
|
|
|
- tests/display-test.c | 1 +
|
|
|
- tests/event-loop-test.c | 1 +
|
|
|
- tests/fixed-test.c | 1 +
|
|
|
- 5 files changed, 12 insertions(+), 2 deletions(-)
|
|
|
-
|
|
|
-diff --git a/cursor/xcursor.c b/cursor/xcursor.c
|
|
|
-index 0506680..188be7c 100644
|
|
|
---- a/cursor/xcursor.c
|
|
|
-+++ b/cursor/xcursor.c
|
|
|
-@@ -23,6 +23,7 @@
|
|
|
- * SOFTWARE.
|
|
|
- */
|
|
|
-
|
|
|
-+#define _GNU_SOURCE
|
|
|
- #include "xcursor.h"
|
|
|
- #include <stdio.h>
|
|
|
- #include <stdlib.h>
|
|
|
-diff --git a/meson.build b/meson.build
|
|
|
-index 07bbd29..cab267e 100644
|
|
|
---- a/meson.build
|
|
|
-+++ b/meson.build
|
|
|
-@@ -14,6 +14,12 @@ config_h = configuration_data()
|
|
|
- config_h.set_quoted('PACKAGE', meson.project_name())
|
|
|
- config_h.set_quoted('PACKAGE_VERSION', meson.project_version())
|
|
|
-
|
|
|
-+cc_args = []
|
|
|
-+if host_machine.system() != 'freebsd'
|
|
|
-+ cc_args += ['-D_POSIX_C_SOURCE=200809L']
|
|
|
-+endif
|
|
|
-+add_project_arguments(cc_args, language: 'c')
|
|
|
-+
|
|
|
- compiler_flags = [
|
|
|
- '-Wno-unused-parameter',
|
|
|
- '-Wstrict-prototypes',
|
|
|
-@@ -79,7 +85,7 @@ if get_option('libraries')
|
|
|
- ]
|
|
|
-
|
|
|
- foreach d: decls
|
|
|
-- if not cc.has_header_symbol(d['header'], d['symbol'], dependencies: epoll_dep)
|
|
|
-+ if not cc.has_header_symbol(d['header'], d['symbol'], dependencies: epoll_dep, args: cc_args)
|
|
|
- error('@0@ is needed to compile Wayland libraries'.format(d['symbol']))
|
|
|
- endif
|
|
|
- endforeach
|
|
|
-@@ -87,7 +93,7 @@ if get_option('libraries')
|
|
|
- rt_dep = []
|
|
|
- if not cc.has_function('clock_gettime', prefix: '#include <time.h>')
|
|
|
- rt_dep = cc.find_library('rt')
|
|
|
-- if not cc.has_function('clock_gettime', prefix: '#include <time.h>', dependencies: rt_dep)
|
|
|
-+ if not cc.has_function('clock_gettime', prefix: '#include <time.h>', dependencies: rt_dep, args: cc_args)
|
|
|
- error('clock_gettime not found')
|
|
|
- endif
|
|
|
- endif
|
|
|
-diff --git a/tests/display-test.c b/tests/display-test.c
|
|
|
-index 763adc9..a6f410d 100644
|
|
|
---- a/tests/display-test.c
|
|
|
-+++ b/tests/display-test.c
|
|
|
-@@ -24,6 +24,7 @@
|
|
|
- * SOFTWARE.
|
|
|
- */
|
|
|
-
|
|
|
-+#define _GNU_SOURCE
|
|
|
- #include <stdbool.h>
|
|
|
- #include <stdio.h>
|
|
|
- #include <stdlib.h>
|
|
|
-diff --git a/tests/event-loop-test.c b/tests/event-loop-test.c
|
|
|
-index 9d43c91..a51ba8f 100644
|
|
|
---- a/tests/event-loop-test.c
|
|
|
-+++ b/tests/event-loop-test.c
|
|
|
-@@ -24,6 +24,7 @@
|
|
|
- * SOFTWARE.
|
|
|
- */
|
|
|
-
|
|
|
-+#define _GNU_SOURCE
|
|
|
- #include <stdlib.h>
|
|
|
- #include <stdint.h>
|
|
|
- #include <assert.h>
|
|
|
-diff --git a/tests/fixed-test.c b/tests/fixed-test.c
|
|
|
-index 47a4dae..0b58797 100644
|
|
|
---- a/tests/fixed-test.c
|
|
|
-+++ b/tests/fixed-test.c
|
|
|
-@@ -23,6 +23,7 @@
|
|
|
- * SOFTWARE.
|
|
|
- */
|
|
|
-
|
|
|
-+#define _GNU_SOURCE
|
|
|
- #include <stdlib.h>
|
|
|
- #include <stdio.h>
|
|
|
- #include <assert.h>
|
|
|
---
|
|
|
-2.25.1
|
|
|
-
|