ec59397680fc28992716ce0b4e67c0d309e35c77
[gnulib.git] / m4 / malloc.m4
1 #serial 1
2
3 dnl From Jim Meyering.
4 dnl Determine whether malloc accepts 0 as its argument.
5 dnl If it doesn't, arrange to use the replacement function.
6 dnl
7 dnl If you use this macro in a package, you should
8 dnl add the following two lines to acconfig.h:
9 dnl  /* Define to rpl_malloc if the replacement function should be used.  */
10 dnl  #undef malloc
11 dnl
12
13 AC_DEFUN(jm_FUNC_MALLOC,
14 [
15  AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc,
16   [AC_TRY_RUN([
17     char *malloc ();
18     int
19     main ()
20     {
21       exit (malloc (0) ? 0 : 1);
22     }
23           ],
24          jm_cv_func_working_malloc=yes,
25          jm_cv_func_working_malloc=no,
26          dnl When crosscompiling, assume malloc is broken.
27          jm_cv_func_working_malloc=no)
28   ])
29   if test $jm_cv_func_working_malloc = no; then
30     LIBOBJS="$LIBOBJS malloc.o"
31     AC_DEFINE_UNQUOTED(malloc, rpl_malloc)
32   fi
33 ])