On Wednesday, 2017-11-15 15:35:49 +0100, Nicolai Hähnle wrote: > From: Nicolai Hähnle <nicolai.haeh...@amd.com> > > v2: add HAVE_TIMESPEC_GET for non-Windows Scons builds > > Cc: Jon Turney <jon.tur...@dronecode.org.uk> > Cc: Rob Herring <r...@kernel.org> > Cc: Alexander von Gluck IV <kallis...@unixzen.com> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103674 > Fixes: f1a364878431 ("threads: update for late C11 changes") > --- > SConstruct | 7 +++++++ > configure.ac | 1 + > include/c11/threads_posix.h | 2 +- > meson.build | 2 +- > 4 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/SConstruct b/SConstruct > index a59a8ea210e..1ef134af27d 100644 > --- a/SConstruct > +++ b/SConstruct > @@ -122,20 +122,27 @@ if env['crosscompile'] and not env['embedded']: > Export('env') > > SConscript( > 'src/SConscript', > variant_dir = host_env['build_dir'], > duplicate = 0, # > http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html > ) > > env = target_env > > +if env['platform'] != 'windows': > + # This is quite incomplete, but it hopefully covers the platforms that > + # people actually use SCons on... > + env.Append(CPPDEFINES= [ > + 'HAVE_TIMESPEC_GET', > + ])
I'm not sure how scons is structured, but maybe you can use check_functions() from scons/gallium.py, or move it maybe? Other than that, the rest of the patch looks good to me: Reviewed-by: Eric Engestrom <eric.engest...@imgtec.com> > + > Export('env') > > ####################################################################### > # Invoke SConscripts > > # TODO: Build several variants at the same time? > # http://www.scons.org/wiki/SimultaneousVariantBuilds > > SConscript( > 'src/SConscript', > 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_@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_@0@'.format(f.to_upper()) > endif > endforeach > > # strtod locale support > if cc.links(''' > #define _GNU_SOURCE > #include <stdlib.h> > #include <locale.h> > -- > 2.11.0 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev