1# alloca.m4 serial 9 2dnl Copyright (C) 2002-2004, 2006, 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 7AC_DEFUN([gl_FUNC_ALLOCA], 8[ 9 dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. 10 AC_REQUIRE([AC_PROG_CPP]) 11 AC_REQUIRE([AC_PROG_EGREP]) 12 13 AC_REQUIRE([AC_FUNC_ALLOCA]) 14 if test $ac_cv_func_alloca_works = no; then 15 gl_PREREQ_ALLOCA 16 fi 17 18 # Define an additional variable used in the Makefile substitution. 19 if test $ac_cv_working_alloca_h = yes; then 20 AC_CACHE_CHECK([for alloca as a compiler built-in], [gl_cv_rpl_alloca], [ 21 AC_EGREP_CPP([Need own alloca], [ 22#if defined __GNUC__ || defined _AIX || defined _MSC_VER 23 Need own alloca 24#endif 25 ], [gl_cv_rpl_alloca=yes], [gl_cv_rpl_alloca=no]) 26 ]) 27 if test $gl_cv_rpl_alloca = yes; then 28 dnl OK, alloca can be implemented through a compiler built-in. 29 AC_DEFINE([HAVE_ALLOCA], [1], 30 [Define to 1 if you have 'alloca' after including <alloca.h>, 31 a header that may be supplied by this distribution.]) 32 ALLOCA_H=alloca.h 33 else 34 dnl alloca exists as a library function, i.e. it is slow and probably 35 dnl a memory leak. Don't define HAVE_ALLOCA in this case. 36 ALLOCA_H= 37 fi 38 else 39 ALLOCA_H=alloca.h 40 fi 41 AC_SUBST([ALLOCA_H]) 42]) 43 44# Prerequisites of lib/alloca.c. 45# STACK_DIRECTION is already handled by AC_FUNC_ALLOCA. 46AC_DEFUN([gl_PREREQ_ALLOCA], [:]) 47