Node:Particular Functions, Next:Generic Functions, Previous:Function Portability, Up:Library Functions
These macros check for particular C functions--whether they exist, and in some cases how they respond when given certain arguments.
| AC_FUNC_ALLOCA | Macro | 
Check how to get alloca.  Tries to get a builtin version by
checking for alloca.h or the predefined C preprocessor macros
__GNUC__ and _AIX.  If this macro finds alloca.h,
it defines HAVE_ALLOCA_H.
If those attempts fail, it looks for the function in the standard C
library.  If any of those methods succeed, it defines
 This macro does not try to get  Source files that use  /* AIX requires this to be the first thing in the file. */ #ifndef __GNUC__ # if HAVE_ALLOCA_H # include <alloca.h> # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); # endif # endif # endif #endif  | 
| AC_FUNC_CHOWN | Macro | 
If the chown function is available and works (in particular, it
should accept -1 for uid and gid), define
HAVE_CHOWN. 
 | 
| AC_FUNC_CLOSEDIR_VOID | Macro | 
If the closedir function does not return a meaningful value,
define CLOSEDIR_VOID.  Otherwise, callers ought to check its
return value for an error indicator. 
 | 
| AC_FUNC_ERROR_AT_LINE | Macro | 
If the error_at_line function is not found, require an
AC_LIBOBJ replacement of error. 
 | 
| AC_FUNC_FNMATCH | Macro | 
If the fnmatch function is available and works (unlike the one on
Solaris 2.4), define HAVE_FNMATCH. 
 | 
| AC_FUNC_FORK | Macro | 
This macro checks for the fork and vfork functions. If a
working fork is found, define HAVE_WORKING_FORK. This macro
checks whether fork is just a stub by trying to run it.
If  Since this macro defines  #if !HAVE_WORKING_VFORK # define vfork fork #endif  | 
| AC_FUNC_FSEEKO | Macro | 
If the fseeko function is available, define HAVE_FSEEKO. 
Define _LARGEFILE_SOURCE if necessary. 
 | 
| AC_FUNC_GETGROUPS | Macro | 
If the getgroups function is available and works (unlike on
Ultrix 4.3, where getgroups (0, 0) always fails), define
HAVE_GETGROUPS.  Set GETGROUPS_LIBS to any libraries
needed to get that function.  This macro runs AC_TYPE_GETGROUPS. 
 | 
| AC_FUNC_GETLOADAVG | Macro | 
Check how to get the system load averages.  If the system has the
getloadavg function, define HAVE_GETLOADAVG, and set
GETLOADAVG_LIBS to any libraries needed to get that function. 
Also add GETLOADAVG_LIBS to LIBS.
Otherwise, require an  
  | 
| AC_FUNC_GETMNTENT | Macro | 
Check for getmntent in the sun, seq, and gen
libraries, for Irix 4, PTX, and Unixware, respectively.  Then, if
getmntent is available, define HAVE_GETMNTENT. 
 | 
| AC_FUNC_GETPGRP | Macro | 
Define GETPGRP_VOID if it is an error to pass 0 to
getpgrp; this is the POSIX.1 behavior.  On older BSD
systems, you must pass 0 to getpgrp, as it takes an argument and
behaves like POSIX.1's getpgid.
#if GETPGRP_VOID pid = getpgrp (); #else pid = getpgrp (0); #endif This macro does not check whether
  | 
| AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK | Macro | 
If link is a symbolic link, then lstat should treat
link/ the same as link/..  However, many older
lstat implementations incorrectly ignore trailing slashes.
It is safe to assume that if  If   | 
| AC_FUNC_MALLOC | Macro | 
If the malloc works correctly (malloc (0) returns a valid
pointer), define HAVE_MALLOC. 
 | 
| AC_FUNC_MEMCMP | Macro | 
If the memcmp function is not available, or does not work on
8-bit data (like the one on SunOS 4.1.3), or fails when comparing 16
bytes or more and with at least one buffer not starting on a 4-byte
boundary (such as the one on NeXT x86 OpenStep), require an
AC_LIBOBJ replacement for memcmp. 
 | 
| AC_FUNC_MKTIME | Macro | 
If the mktime function is not available, or does not work
correctly, require an AC_LIBOBJ replacement for mktime. 
 | 
| AC_FUNC_MMAP | Macro | 
If the mmap function exists and works correctly, define
HAVE_MMAP.  Only checks private fixed mapping of already-mapped
memory. 
 | 
| AC_FUNC_OBSTACK | Macro | 
If the obstacks are found, define HAVE_OBSTACK, else require an
AC_LIBOBJ replacement for obstack. 
 | 
| AC_FUNC_SELECT_ARGTYPES | Macro | 
Determines the correct type to be passed for each of the
select function's arguments, and defines those types
in SELECT_TYPE_ARG1, SELECT_TYPE_ARG234, and
SELECT_TYPE_ARG5 respectively.  SELECT_TYPE_ARG1 defaults
to int, SELECT_TYPE_ARG234 defaults to int *,
and SELECT_TYPE_ARG5 defaults to struct timeval *. 
 | 
| AC_FUNC_SETPGRP | Macro | 
If setpgrp takes no argument (the POSIX.1 version), define
SETPGRP_VOID.  Otherwise, it is the BSD version, which takes
two process IDs as arguments.  This macro does not check whether
setpgrp exists at all; if you need to work in that situation,
first call AC_CHECK_FUNC for setpgrp. 
 | 
| AC_FUNC_STAT | Macro | 
| AC_FUNC_LSTAT | Macro | 
Determine whether stat or lstat have the bug that it
succeeds when given the zero-length file name argument.  The stat
and lstat from SunOS 4.1.4 and the Hurd (as of 1998-11-01) do
this.
If it does, then define   | 
| AC_FUNC_SETVBUF_REVERSED | Macro | 
If setvbuf takes the buffering type as its second argument and
the buffer pointer as the third, instead of the other way around, define
SETVBUF_REVERSED. 
 | 
| AC_FUNC_STRCOLL | Macro | 
If the strcoll function exists and works correctly, define
HAVE_STRCOLL.  This does a bit more than
AC_CHECK_FUNCS(strcoll), because some systems have incorrect
definitions of strcoll that should not be used. 
 | 
| AC_FUNC_STRTOD | Macro | 
If the strtod function does not exist or doesn't work correctly,
ask for an AC_LIBOBJ replacement of strtod.  In this case,
because strtod.c is likely to need pow, set the output
variable POW_LIB to the extra library needed. 
 | 
| AC_FUNC_STRERROR_R | Macro | 
If strerror_r is available, define HAVE_STRERROR_R, and if
it is declared, define HAVE_DECL_STRERROR_R.  If it returns a
char * message, define STRERROR_R_CHAR_P; otherwise it
returns an int error number.  The Thread-Safe Functions option of
POSIX-200X requires strerror_r to return int, but
many systems (including, for example, version 2.2.4 of the GNU C
Library) return a char * value that is not necessarily equal to
the buffer argument. 
 | 
| AC_FUNC_STRFTIME | Macro | 
Check for strftime in the intl library, for SCO UNIX. 
Then, if strftime is available, define HAVE_STRFTIME. 
 | 
| AC_FUNC_STRNLEN | Macro | 
Check for a working strnlen, and ask for its replacement.  Some
architectures are know to provide broken versions of strnlen, such
as AIX 4.3. 
 | 
| AC_FUNC_UTIME_NULL | Macro | 
If utime(file, NULL) sets file's timestamp to
the present, define HAVE_UTIME_NULL. 
 | 
| AC_FUNC_VPRINTF | Macro | 
If vprintf is found, define HAVE_VPRINTF.  Otherwise, if
_doprnt is found, define HAVE_DOPRNT.  (If vprintf
is available, you may assume that vfprintf and vsprintf
are also available.) 
 |