threads,configure.ac,meson.build: define and use HAVE_TIMESPEC_GET
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 15 Nov 2017 11:41:58 +0000 (12:41 +0100)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Thu, 16 Nov 2017 05:45:35 +0000 (06:45 +0100)
Tested with Travis and Appveyor.

v2: add HAVE_TIMESPEC_GET for non-Windows Scons builds
v3: use check_functions in Scons (Eric)

Cc: Rob Herring <robh@kernel.org>
Cc: Alexander von Gluck IV <kallisti5@unixzen.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103674
Fixes: f1a364878431 ("threads: update for late C11 changes")
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk> (v2)
configure.ac
include/c11/threads_posix.h
meson.build
scons/gallium.py

index 411c4f6b3e0c3b9fb95186070b7790d67665c724..a7ae920ab9c1609a2c30de64466d64131c56bbc5 100644 (file)
@@ -848,6 +848,7 @@ AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"])
 AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES -DHAVE_SYS_SYSCTL_H"])
 AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"])
 AC_CHECK_FUNC([mkostemp], [DEFINES="$DEFINES -DHAVE_MKOSTEMP"])
+AC_CHECK_FUNC([timespec_get], [DEFINES="$DEFINES -DHAVE_TIMESPEC_GET"])
 
 AC_MSG_CHECKING([whether strtod has locale support])
 AC_LINK_IFELSE([AC_LANG_SOURCE([[
index 2d7ac1326dec4718dd92ab1a165196b7707175ce..45cb6075e6e08a083bd1faba07d87aff206ea58b 100644 (file)
@@ -382,7 +382,7 @@ tss_set(tss_t key, void *val)
 
 /*-------------------- 7.25.7 Time functions --------------------*/
 // 7.25.6.1
-#ifdef __HAIKU__
+#ifndef HAVE_TIMESPEC_GET
 static inline int
 timespec_get(struct timespec *ts, int base)
 {
index 1c4200705f3511d1036513974b7d3f7fc40d9045..7fdc3c280e6b77d98af849012b9103b17ee1fe64 100644 (file)
@@ -578,7 +578,7 @@ foreach h : ['xlocale.h', 'sys/sysctl.h', 'linux/futex.h']
   endif
 endforeach
 
-foreach f : ['strtof', 'mkostemp', 'posix_memalign']
+foreach f : ['strtof', 'mkostemp', 'posix_memalign', 'timespec_get']
   if cc.has_function(f)
     pre_args += '-DHAVE_@0@'.format(f.to_upper())
   endif
index 94022df1808de35cff7fa7d8de15329566dfb506..ef3b2ee81ae233b8807f356b308ba5aa48880399 100755 (executable)
@@ -355,6 +355,9 @@ def generate(env):
         if check_functions(env, ['strtod_l', 'strtof_l']):
             cppdefines += ['HAVE_STRTOD_L']
 
+        if check_functions(env, ['timespec_get']):
+            cppdefines += ['HAVE_TIMESPEC_GET']
+
     if platform == 'windows':
         cppdefines += [
             'WIN32',