[Mesa-dev] [PATCH] threads, configure.ac, meson.build: define and use HAVE_TIMESPEC_GET

Nicolai Hähnle nicolai.haehnle at amd.com
Wed Nov 15 12:19:03 UTC 2017


Well, looks like the Scons build *also* needs to be adjusted... I'll try 
my luck with a v2 later.

On 15.11.2017 12:54, Nicolai Hähnle wrote:
> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
> 
> Cc: Jon Turney <jon.turney at dronecode.org.uk>
> Cc: Rob Herring <robh at kernel.org>
> Cc: Alexander von Gluck IV <kallisti5 at unixzen.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103674
> Fixes: f1a364878431 ("threads: update for late C11 changes")
> ---
>   configure.ac                | 1 +
>   include/c11/threads_posix.h | 2 +-
>   meson.build                 | 2 +-
>   3 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 411c4f6b3e0..a7ae920ab9c 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -841,20 +841,21 @@ if test "x$enable_asm" = xyes; then
>           AC_MSG_RESULT([no, platform not supported])
>           ;;
>       esac
>   fi
>   
>   AC_HEADER_MAJOR
>   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([[
>       #define _GNU_SOURCE
>       #include <stdlib.h>
>       #include <locale.h>
>       #ifdef HAVE_XLOCALE_H
>       #include <xlocale.h>
>       #endif
>       int main() {
> diff --git a/include/c11/threads_posix.h b/include/c11/threads_posix.h
> index 2d7ac1326de..45cb6075e6e 100644
> --- a/include/c11/threads_posix.h
> +++ b/include/c11/threads_posix.h
> @@ -375,21 +375,21 @@ tss_get(tss_t key)
>   // 7.25.6.4
>   static inline int
>   tss_set(tss_t key, void *val)
>   {
>       return (pthread_setspecific(key, val) == 0) ? thrd_success : thrd_error;
>   }
>   
>   
>   /*-------------------- 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)
>   {
>       if (!ts) return 0;
>       if (base == TIME_UTC) {
>           clock_gettime(CLOCK_REALTIME, ts);
>           return base;
>       }
>       return 0;
>   }
> diff --git a/meson.build b/meson.build
> index 1c4200705f3..7fdc3c280e6 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -571,21 +571,21 @@ if cc.has_header_symbol('sys/sysmacros.h', 'major')
>   elif cc.has_header_symbol('sys/mkdev.h', 'major')
>     pre_args += '-DMAJOR_IN_MKDEV'
>   endif
>   
>   foreach h : ['xlocale.h', 'sys/sysctl.h', 'linux/futex.h']
>     if cc.has_header(h)
>       pre_args += '-DHAVE_ at 0@'.format(h.to_upper().underscorify())
>     endif
>   endforeach
>   
> -foreach f : ['strtof', 'mkostemp', 'posix_memalign']
> +foreach f : ['strtof', 'mkostemp', 'posix_memalign', 'timespec_get']
>     if cc.has_function(f)
>       pre_args += '-DHAVE_ at 0@'.format(f.to_upper())
>     endif
>   endforeach
>   
>   # strtod locale support
>   if cc.links('''
>       #define _GNU_SOURCE
>       #include <stdlib.h>
>       #include <locale.h>
> 



More information about the mesa-dev mailing list