From fd3784cec9020789823de5d21dac19f3061ba0fd Mon Sep 17 00:00:00 2001 From: Simon Josefsson Date: Sun, 26 Oct 2008 11:04:17 +0100 Subject: [PATCH] stdlib: Provide struct random_data. * m4/stdlib_h.m4: Check for struct random_data. Initialize and substitute HAVE_STRUCT_RANDOM_DATA. * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct random_data. * modules/stdlib (Makefile.am): Substitute HAVE_STRUCT_RANDOM_DATA. --- ChangeLog | 9 +++++++++ lib/stdlib.in.h | 15 ++++++++++++++- m4/stdlib_h.m4 | 4 +++- modules/stdlib | 1 + 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index d8cc5c3c5..eb48f2ef4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2008-10-26 Simon Josefsson + * m4/stdlib_h.m4: Check for struct random_data. Initialize and + substitute HAVE_STRUCT_RANDOM_DATA. + * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct + random_data. + * modules/stdlib (Makefile.am): Substitute + HAVE_STRUCT_RANDOM_DATA. + +2008-10-26 Simon Josefsson + * doc/gnulib.texi (@copying): Use GFDLv1.2+. * doc/gnulib-intro.texi (Copyright): Likewise. diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h index 8d0add62c..f6ebe253c 100644 --- a/lib/stdlib.in.h +++ b/lib/stdlib.in.h @@ -41,10 +41,23 @@ # include #endif -#if @GNULIB_RANDOM_R@ +#if @GNULIB_RANDOM_R@ || !@HAVE_STRUCT_RANDOM_DATA@ # include #endif +#if !@HAVE_STRUCT_RANDOM_DATA@ +struct random_data +{ + int32_t *fptr; /* Front pointer. */ + int32_t *rptr; /* Rear pointer. */ + int32_t *state; /* Array of state values. */ + int rand_type; /* Type of random number generator. */ + int rand_deg; /* Degree of random number generator. */ + int rand_sep; /* Distance between front and rear. */ + int32_t *end_ptr; /* Pointer behind state table. */ +}; +#endif + /* The definition of GL_LINK_WARNING is copied here. */ diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4 index 3702d166d..1574af0df 100644 --- a/m4/stdlib_h.m4 +++ b/m4/stdlib_h.m4 @@ -1,4 +1,4 @@ -# stdlib_h.m4 serial 11 +# stdlib_h.m4 serial 12 dnl Copyright (C) 2007, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,6 +8,7 @@ AC_DEFUN([gl_STDLIB_H], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([stdlib.h]) + AC_CHECK_TYPES([struct random_data], [], [], [[#include ]]) ]) AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], @@ -48,6 +49,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) + HAVE_STRUCT_RANDOM_DATA=0; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) diff --git a/modules/stdlib b/modules/stdlib index 715feeab7..edd9e4540 100644 --- a/modules/stdlib +++ b/modules/stdlib @@ -52,6 +52,7 @@ stdlib.h: stdlib.in.h -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ + -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ -- 2.11.0