meson: Test for random_r()
authorMatt Turner <mattst88@gmail.com>
Thu, 25 Jul 2019 01:44:35 +0000 (18:44 -0700)
committerMatt Turner <mattst88@gmail.com>
Tue, 30 Jul 2019 18:49:09 +0000 (11:49 -0700)
It's better to test for needed functions instead of using external
knowledge about presence in this or that C library.

Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
meson.build
src/glx/glxhash.c

index 542c35d525b9844511095395d36722b0dda6f4b4..8dc431cfc5bebba565ebcf31068c97fe19cac648 100644 (file)
@@ -1029,7 +1029,7 @@ foreach h : ['xlocale.h', 'sys/sysctl.h', 'linux/futex.h', 'endian.h', 'dlfcn.h'
   endif
 endforeach
 
-foreach f : ['strtof', 'mkostemp', 'posix_memalign', 'timespec_get', 'memfd_create']
+foreach f : ['strtof', 'mkostemp', 'posix_memalign', 'timespec_get', 'memfd_create', 'random_r']
   if cc.has_function(f)
     pre_args += '-DHAVE_@0@'.format(f.to_upper())
   endif
index b76ec32345940c3020e0f5045d223f171e17e048..5a89bf99b1ce0fd5c6e655e9ae7fd42329d15ea8 100644 (file)
@@ -88,7 +88,7 @@
 
 #define HASH_ALLOC malloc
 #define HASH_FREE  free
-#ifndef __GLIBC__
+#ifndef HAVE_RANDOM_R
 #define HASH_RANDOM_DECL       char *ps, rs[256]
 #define HASH_RANDOM_INIT(seed) ps = initstate(seed, rs, sizeof(rs))
 #define HASH_RANDOM            random()