summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2022-01-10 14:51:55 +0100
committerSimon Ser <contact@emersion.fr>2022-01-10 15:08:46 +0100
commit0d314c4a04ef1b86a1ea66107b2d1a8d1bcd93b9 (patch)
treef45fae05026f0cfeaf4ae715f22fc6ccf9d7e905 /meson.build
parent65616e946b547bc2b20ca004662447fbadf990e3 (diff)
downloadwayland-0d314c4a04ef1b86a1ea66107b2d1a8d1bcd93b9.tar.gz
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>
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build10
1 files changed, 8 insertions, 2 deletions
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