2006-11-27 Paul Eggert <eggert@cs.ucla.edu>
+ * lib/autoconf/c.m4 (AC_PROG_GCC_TRADITIONAL, AC_C_CONST):
+ (AC_C_VOLATILE):
+ Do not recommend via AN_FUNCTION, AN_IDENTIFIER, or AN_HEADER.
+ These macros are obsolescent and new applications shouldn't need them.
+ * lib/autoconf/functions.m4 (AC_FUNC_CLOSEDIR_VOID, AC_REPLACE_FNMATCH):
+ (AC_FUNC_GETLOADAVG, AC_FUNC_GETPGRP, AC_FUNC_MEMCMP):
+ (AC_FUNC_SELECT_ARGTYPES, AC_FUNC_SETPGRP, AC_FUNC_STAT, AC_FUNC_LSTAT):
+ (AC_FUNC_STRFTIME, AC_FUNC_SETVBUF_REVERSED, AC_FUNC_UTIME_NULL):
+ (AC_FUNC_VPRINTF): Likewise.
+ * lib/autoconf/headers.m4 (AC_HEADER_DIRENT, AC_HEADER_STAT):
+ (AC_HEADER_STDC, AC_HEADER_SYS_WAIT, AC_HEADER_TIME): Likewise.
+ * lib/autoconf/types.m4 (AC_STRUCT_TM): Likewise.
+
* doc/autoconf.texi (Setting Output Variables): Mention that
@VAR1@VAR2 has unspecified behavior. Problem reported by
Ralf Wildenhues.
# AC_PROG_GCC_TRADITIONAL
# -----------------------
-AN_FUNCTION([ioctl], [AC_PROG_GCC_TRADITIONAL])
AC_DEFUN([AC_PROG_GCC_TRADITIONAL],
[AC_REQUIRE([AC_PROG_CC])dnl
if test $ac_cv_c_compiler_gnu = yes; then
# AC_C_CONST
# ----------
-AN_IDENTIFIER([const], [AC_C_CONST])
AC_DEFUN([AC_C_CONST],
[AC_CACHE_CHECK([for an ANSI C-conforming const], ac_cv_c_const,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
# optimizations that could break the user's code. So, do not #define
# volatile away unless it is really necessary to allow the user's code
# to compile cleanly. Benign compiler failures should be tolerated.
-AN_IDENTIFIER([volatile], [AC_C_VOLATILE])
AC_DEFUN([AC_C_VOLATILE],
[AC_CACHE_CHECK([for working volatile], ac_cv_c_volatile,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
# ---------------------
# Check whether closedir returns void, and #define CLOSEDIR_VOID in
# that case.
-AN_FUNCTION([closedir], [AC_FUNC_CLOSEDIR_VOID])
AC_DEFUN([AC_FUNC_CLOSEDIR_VOID],
[AC_REQUIRE([AC_HEADER_DIRENT])dnl
AC_CACHE_CHECK([whether closedir returns void],
# AC_REPLACE_FNMATCH
# ------------------
-AN_FUNCTION([fnmatch], [AC_REPLACE_FNMATCH])
AC_DEFUN([AC_REPLACE_FNMATCH],
[_AC_FUNC_FNMATCH_IF([POSIX], [ac_cv_func_fnmatch_works],
[rm -f "$ac_config_libobj_dir/fnmatch.h"],
# AC_FUNC_GETLOADAVG
# ------------------
-AN_FUNCTION([getloadavg], [AC_FUNC_GETLOADAVG])
AC_DEFUN([AC_FUNC_GETLOADAVG],
[ac_have_func=no # yes means we've found a way to get the load average.
# AC_FUNC_GETPGRP
# ---------------
# Figure out whether getpgrp requires zero arguments.
-AN_FUNCTION([getpgrp], [AC_FUNC_GETPGRP])
AC_DEFUN([AC_FUNC_GETPGRP],
[AC_CACHE_CHECK(whether getpgrp requires zero arguments,
ac_cv_func_getpgrp_void,
# AC_FUNC_MEMCMP
# --------------
-AN_FUNCTION([memcmp], [AC_FUNC_MEMCMP])
AC_DEFUN([AC_FUNC_MEMCMP],
[AC_CACHE_CHECK([for working memcmp], ac_cv_func_memcmp_working,
[AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], [[
# Determine the correct type to be passed to each of the `select'
# function's arguments, and define those types in `SELECT_TYPE_ARG1',
# `SELECT_TYPE_ARG234', and `SELECT_TYPE_ARG5'.
-AN_FUNCTION([select], [AC_FUNC_SELECT_ARGTYPES])
AC_DEFUN([AC_FUNC_SELECT_ARGTYPES],
[AC_CHECK_HEADERS(sys/select.h sys/socket.h)
AC_CACHE_CHECK([types of arguments for select],
# AC_FUNC_SETPGRP
# ---------------
-AN_FUNCTION([setpgrp], [AC_FUNC_SETPGRP])
AC_DEFUN([AC_FUNC_SETPGRP],
[AC_CACHE_CHECK(whether setpgrp takes no argument, ac_cv_func_setpgrp_void,
[AC_RUN_IFELSE(
# AC_FUNC_STAT & AC_FUNC_LSTAT
# ----------------------------
-AN_FUNCTION([stat], [AC_FUNC_STAT])
AC_DEFUN([AC_FUNC_STAT], [_AC_FUNC_STAT(stat)])
-AN_FUNCTION([lstat], [AC_FUNC_LSTAT])
AC_DEFUN([AC_FUNC_LSTAT], [_AC_FUNC_STAT(lstat)])
# AC_FUNC_STRFTIME
# ----------------
-AN_FUNCTION([strftime], [AC_FUNC_STRFTIME])
AC_DEFUN([AC_FUNC_STRFTIME],
[AC_CHECK_FUNCS(strftime, [],
[# strftime is in -lintl on SCO UNIX.
# AC_FUNC_SETVBUF_REVERSED
# ------------------------
-AN_FUNCTION([setvbuf], [AC_FUNC_SETVBUF_REVERSED])
AC_DEFUN([AC_FUNC_SETVBUF_REVERSED],
[AC_REQUIRE([AC_C_PROTOTYPES])dnl
AC_CACHE_CHECK(whether setvbuf arguments are reversed,
# AC_FUNC_UTIME_NULL
# ------------------
-AN_FUNCTION([utime], [AC_FUNC_UTIME_NULL])
AC_DEFUN([AC_FUNC_UTIME_NULL],
[AC_CHECK_HEADERS_ONCE(utime.h)
AC_CACHE_CHECK(whether utime accepts a null argument, ac_cv_func_utime_null,
# ---------------
# Why the heck is that _doprnt does not define HAVE__DOPRNT???
# That the logical name!
-AN_FUNCTION([vfprintf], [AC_FUNC_VPRINTF])
-AN_FUNCTION([vprintf], [AC_FUNC_VPRINTF])
-AN_FUNCTION([vsprintf], [AC_FUNC_VPRINTF])
-AN_FUNCTION([_doprnt], [AC_FUNC_VPRINTF])
AC_DEFUN([AC_FUNC_VPRINTF],
[AC_CHECK_FUNCS(vprintf, []
[AC_CHECK_FUNC(_doprnt,
# AC_HEADER_DIRENT
# ----------------
-AN_HEADER([dirent.h], [AC_HEADER_DIRENT])
-AN_HEADER([ndir.h], [AC_HEADER_DIRENT])
-AN_HEADER([sys/dir.h], [AC_HEADER_DIRENT])
-AN_HEADER([sys/ndir.h], [AC_HEADER_DIRENT])
AC_DEFUN([AC_HEADER_DIRENT],
[AH_CHECK_HEADERS_DIRENT(dirent.h sys/ndir.h sys/dir.h ndir.h)
ac_header_dirent=no
# AC_HEADER_STAT
# --------------
# FIXME: Shouldn't this be named AC_HEADER_SYS_STAT?
-AN_IDENTIFIER([S_ISBLK], [AC_HEADER_STAT])
-AN_IDENTIFIER([S_ISCHR], [AC_HEADER_STAT])
-AN_IDENTIFIER([S_ISDIR], [AC_HEADER_STAT])
-AN_IDENTIFIER([S_ISFIFO], [AC_HEADER_STAT])
-AN_IDENTIFIER([S_ISLNK], [AC_HEADER_STAT])
-AN_IDENTIFIER([S_ISREG], [AC_HEADER_STAT])
-AN_IDENTIFIER([S_ISSOCK], [AC_HEADER_STAT])
AC_DEFUN([AC_HEADER_STAT],
[AC_CACHE_CHECK(whether stat file-mode macros are broken,
ac_cv_header_stat_broken,
# AC_HEADER_STDC
# --------------
-# FIXME: I find this list very strange. It comes from the original
-# autoscan list, but I don't think it is useful for the same reason
-# that we don't bind AC_PROG_CC to finding a C function calls: if the
-# user uses bcmp, then she will certainly have the `#include', and
-# therefore, we will trigger AC_HEADER_STDC elsewhere. --akim 2002-09-28
-# FIXME: Err... index and rindex are _not_ to be used... --akim 2002-09-28
-AN_FUNCTION([bcmp], [AC_HEADER_STDC])
-AN_FUNCTION([bcopy], [AC_HEADER_STDC])
-AN_FUNCTION([bzero], [AC_HEADER_STDC])
-AN_FUNCTION([index], [AC_HEADER_STDC])
-AN_FUNCTION([memchr], [AC_HEADER_STDC])
-AN_FUNCTION([memcpy], [AC_HEADER_STDC])
-AN_FUNCTION([memmove], [AC_HEADER_STDC])
-AN_FUNCTION([memset], [AC_HEADER_STDC])
-AN_FUNCTION([rindex], [AC_HEADER_STDC])
-
-AN_HEADER([float.h], [AC_HEADER_STDC])
-AN_HEADER([stdarg.h], [AC_HEADER_STDC])
-AN_HEADER([stddef.h], [AC_HEADER_STDC])
-AN_HEADER([stdlib.h], [AC_HEADER_STDC])
-AN_HEADER([string.h], [AC_HEADER_STDC])
-
AC_DEFUN([AC_HEADER_STDC],
[AC_CACHE_CHECK(for ANSI C header files, ac_cv_header_stdc,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
# AC_HEADER_SYS_WAIT
# ------------------
-AN_HEADER([sys/wait.h], [AC_HEADER_SYS_WAIT])
AC_DEFUN([AC_HEADER_SYS_WAIT],
[AC_CACHE_CHECK([for sys/wait.h that is POSIX.1 compatible],
ac_cv_header_sys_wait_h,
# AC_HEADER_TIME
# --------------
-AN_IDENTIFIER([timeval], [AC_HEADER_TIME])
AC_DEFUN([AC_HEADER_TIME],
[AC_CACHE_CHECK([whether time.h and sys/time.h may both be included],
ac_cv_header_time,
# ------------
# FIXME: This macro is badly named, it should be AC_CHECK_TYPE_STRUCT_TM.
# Or something else, but what? AC_CHECK_TYPE_STRUCT_TM_IN_SYS_TIME?
-AN_IDENTIFIER([tm], [AC_STRUCT_TM])
AC_DEFUN([AC_STRUCT_TM],
[AC_CACHE_CHECK([whether struct tm is in sys/time.h or time.h],
ac_cv_struct_tm,