diff options
author | Simon Ser <contact@emersion.fr> | 2022-01-10 14:51:55 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2022-01-10 15:08:46 +0100 |
commit | 0d314c4a04ef1b86a1ea66107b2d1a8d1bcd93b9 (patch) | |
tree | f45fae05026f0cfeaf4ae715f22fc6ccf9d7e905 /meson.build | |
parent | 65616e946b547bc2b20ca004662447fbadf990e3 (diff) | |
download | wayland-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.build | 10 |
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 |