meson: link with -lrt if needed for clock_gettime
authorLoïc Yhuel <loic.yhuel@softathome.com>
Thu, 2 Apr 2020 16:25:54 +0000 (18:25 +0200)
committerLoïc Yhuel <loic.yhuel@softathome.com>
Wed, 23 Dec 2020 14:37:58 +0000 (15:37 +0100)
This is already done in autotools, and fixes the build with glibc < 2.17.

Signed-off-by: Loïc Yhuel <loic.yhuel@softathome.com>
meson.build
src/meson.build
tests/meson.build

index 8d7b4a9..fb0d01d 100644 (file)
@@ -56,6 +56,14 @@ if get_option('libraries')
                        error('@0@ is needed to compile Wayland libraries'.format(d['symbol']))
                endif
        endforeach
+
+       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)
+                       error('clock_gettime not found')
+               endif
+       endif
 endif
 
 scanner_deps = [ dependency('expat') ]
index 2d1485c..d91c503 100644 (file)
@@ -77,7 +77,7 @@ if get_option('libraries')
                        'connection.c',
                        'wayland-os.c'
                ],
-               dependencies: [ ffi_dep, ]
+               dependencies: [ ffi_dep, rt_dep ]
        )
 
        wayland_private_dep = declare_dependency(
@@ -155,7 +155,8 @@ if get_option('libraries')
                        wayland_private_dep,
                        wayland_util_dep,
                        mathlib_dep,
-                       threads_dep
+                       threads_dep,
+                       rt_dep
                ],
                include_directories: root_inc,
                install: true
index 224f48d..a32ac50 100644 (file)
@@ -54,7 +54,7 @@ benchmark(
        executable(
                'fixed-benchmark',
                'fixed-benchmark.c',
-               dependencies: test_runner_dep
+               dependencies: [ test_runner_dep, rt_dep ]
        )
 )