1# malloc.m4 serial 9 2dnl Copyright (C) 2007, 2009 Free Software Foundation, Inc. 3dnl This file is free software; the Free Software Foundation 4dnl gives unlimited permission to copy and/or distribute it, 5dnl 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. 11AC_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. 27AC_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]) 42