stdlib: Provide struct random_data.
authorSimon Josefsson <simon@josefsson.org>
Sun, 26 Oct 2008 10:04:17 +0000 (11:04 +0100)
committerSimon Josefsson <simon@josefsson.org>
Sun, 26 Oct 2008 10:04:17 +0000 (11:04 +0100)
* 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
lib/stdlib.in.h
m4/stdlib_h.m4
modules/stdlib

index d8cc5c3c58c218fa1fa6e0a1915feaf4dcd381ec..eb48f2ef4b437c9985222429bb0b1b8aad48a93f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-10-26  Simon Josefsson  <simon@josefsson.org>
+
+       * 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  <simon@josefsson.org>
 
        * doc/gnulib.texi (@copying): Use GFDLv1.2+.
index 8d0add62c45d9192d613bad5c0530928bd1832e5..f6ebe253c8775b8b5bd4fee65dfd2e09f103ffb1 100644 (file)
 # include <sys/loadavg.h>
 #endif
 
-#if @GNULIB_RANDOM_R@
+#if @GNULIB_RANDOM_R@ || !@HAVE_STRUCT_RANDOM_DATA@
 # include <stdint.h>
 #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.  */
 
 
index 3702d166de6038d5c2595b6589ee3cec215dd462..1574af0df6459021b0b644c1b6d035ad9ebd4e47 100644 (file)
@@ -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 <stdlib.h>]])
 ])
 
 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])
index 715feeab797611e8f9538294ea91e2b13d6b72e3..edd9e4540aeb789ed8a83cfe1b1bc0657621a351 100644 (file)
@@ -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' \