diff options
Diffstat (limited to 'gl/m4/malloc.m4')
| -rw-r--r-- | gl/m4/malloc.m4 | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gl/m4/malloc.m4 b/gl/m4/malloc.m4 new file mode 100644 index 00000000..764f2a9f --- /dev/null +++ b/gl/m4/malloc.m4 | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | # malloc.m4 serial 8 | ||
| 2 | dnl Copyright (C) 2007 Free Software Foundation, Inc. | ||
| 3 | dnl This file is free software; the Free Software Foundation | ||
| 4 | dnl gives unlimited permission to copy and/or distribute it, | ||
| 5 | dnl with or without modifications, as long as this notice is preserved. | ||
| 6 | |||
| 7 | # gl_FUNC_MALLOC_POSIX | ||
| 8 | # -------------------- | ||
| 9 | # Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it | ||
| 10 | # fails), and replace malloc if it is not. | ||
| 11 | AC_DEFUN([gl_FUNC_MALLOC_POSIX], | ||
| 12 | [ | ||
| 13 | AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) | ||
| 14 | if test $gl_cv_func_malloc_posix = yes; then | ||
| 15 | HAVE_MALLOC_POSIX=1 | ||
| 16 | AC_DEFINE([HAVE_MALLOC_POSIX], 1, | ||
| 17 | [Define if the 'malloc' function is POSIX compliant.]) | ||
| 18 | else | ||
| 19 | AC_LIBOBJ([malloc]) | ||
| 20 | HAVE_MALLOC_POSIX=0 | ||
| 21 | fi | ||
| 22 | AC_SUBST([HAVE_MALLOC_POSIX]) | ||
| 23 | ]) | ||
| 24 | |||
| 25 | # Test whether malloc, realloc, calloc are POSIX compliant, | ||
| 26 | # Set gl_cv_func_malloc_posix to yes or no accordingly. | ||
| 27 | AC_DEFUN([gl_CHECK_MALLOC_POSIX], | ||
| 28 | [ | ||
| 29 | AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], | ||
| 30 | [gl_cv_func_malloc_posix], | ||
| 31 | [ | ||
| 32 | dnl It is too dangerous to try to allocate a large amount of memory: | ||
| 33 | dnl some systems go to their knees when you do that. So assume that | ||
| 34 | dnl all Unix implementations of the function are POSIX compliant. | ||
| 35 | AC_TRY_COMPILE([], | ||
| 36 | [#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ | ||
| 37 | choke me | ||
| 38 | #endif | ||
| 39 | ], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no]) | ||
| 40 | ]) | ||
| 41 | ]) | ||
