X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Frandom_r.m4;h=f8f863d302e41c06da4a1909c277dbc14326b5f5;hb=0874a5828bbb4784e9c9d54243b3c978e8e54ece;hp=8dd24f0dd3311e9402dcd1bca6c4b6a92ed0928d;hpb=d60f3b0c6b0f93a601acd1cfd3923f94ca05abb0;p=gnulib.git diff --git a/m4/random_r.m4 b/m4/random_r.m4 index 8dd24f0dd..f8f863d30 100644 --- a/m4/random_r.m4 +++ b/m4/random_r.m4 @@ -1,5 +1,5 @@ -# serial 1 -dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. +# serial 5 +dnl Copyright (C) 2008-2012 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,12 +7,34 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_RANDOM_R], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - AC_CHECK_FUNCS([random_r]) - if test $ac_cv_func_random_r = no; then - HAVE_RANDOM_R=0 - AC_LIBOBJ([random_r]) - gl_PREREQ_RANDOM_R + AC_REQUIRE([AC_CANONICAL_HOST]) + + AC_CHECK_HEADERS([random.h], [], [], [AC_INCLUDES_DEFAULT]) + if test $ac_cv_header_random_h = no; then + HAVE_RANDOM_H=0 fi + + AC_CHECK_TYPES([struct random_data], + [], [HAVE_STRUCT_RANDOM_DATA=0], + [[#include + #if HAVE_RANDOM_H + # include + #endif + ]]) + + dnl On AIX and OSF/1, these functions exist, but with different declarations. + dnl Override them all. + case "$host_os" in + aix* | osf*) + REPLACE_RANDOM_R=1 + ;; + *) + AC_CHECK_FUNCS([random_r]) + if test $ac_cv_func_random_r = no; then + HAVE_RANDOM_R=0 + fi + ;; + esac ]) # Prerequisites of lib/random_r.c.