File: autoconf.info, Node: Obsolete Macros, Next: Autoconf 1, Prev: autoupdate Invocation, Up: Obsolete Constructs 18.4 Obsolete Macros ==================== Several macros are obsoleted in Autoconf, for various reasons (typically they failed to quote properly, couldn't be extended for more recent issues, etc.). They are still supported, but deprecated: their use should be avoided. During the jump from Autoconf version 1 to version 2, most of the macros were renamed to use a more uniform and descriptive naming scheme, but their signature did not change. *Note Macro Names::, for a description of the new naming scheme. Below, if there is just the mapping from old names to new names for these macros, the reader is invited to refer to the definition of the new macro for the signature and the description. -- Macro: AC_AIX This macro is a platform-specific subset of ‘AC_USE_SYSTEM_EXTENSIONS’ (*note AC_USE_SYSTEM_EXTENSIONS::). -- Macro: AC_ALLOCA Replaced by ‘AC_FUNC_ALLOCA’ (*note AC_FUNC_ALLOCA::). -- Macro: AC_ARG_ARRAY Removed because of limited usefulness. -- Macro: AC_C_CROSS This macro is obsolete; it does nothing. -- Macro: AC_C_LONG_DOUBLE If the C compiler supports a working ‘long double’ type with more range or precision than the ‘double’ type, define ‘HAVE_LONG_DOUBLE’. You should use ‘AC_TYPE_LONG_DOUBLE’ or ‘AC_TYPE_LONG_DOUBLE_WIDER’ instead. *Note Particular Types::. -- Macro: AC_CANONICAL_SYSTEM Determine the system type and set output variables to the names of the canonical system types. *Note Canonicalizing::, for details about the variables this macro sets. The user is encouraged to use either ‘AC_CANONICAL_BUILD’, or ‘AC_CANONICAL_HOST’, or ‘AC_CANONICAL_TARGET’, depending on the needs. Using ‘AC_CANONICAL_TARGET’ is enough to run the two other macros (*note Canonicalizing::). -- Macro: AC_CHAR_UNSIGNED Replaced by ‘AC_C_CHAR_UNSIGNED’ (*note AC_C_CHAR_UNSIGNED::). -- Macro: AC_CHECK_TYPE (TYPE, DEFAULT) Autoconf, up to 2.13, used to provide this version of ‘AC_CHECK_TYPE’, deprecated because of its flaws. First, although it is a member of the ‘CHECK’ clan, it does more than just checking. Secondly, missing types are defined using ‘#define’, not ‘typedef’, and this can lead to problems in the case of pointer types. This use of ‘AC_CHECK_TYPE’ is obsolete and discouraged; see *note Generic Types::, for the description of the current macro. If the type TYPE is not defined, define it to be the C (or C++) builtin type DEFAULT, e.g., ‘short int’ or ‘unsigned int’. This macro is equivalent to: AC_CHECK_TYPE([TYPE], [], [AC_DEFINE_UNQUOTED([TYPE], [DEFAULT], [Define to 'DEFAULT' ifdoes not define.])]) In order to keep backward compatibility, the two versions of ‘AC_CHECK_TYPE’ are implemented, selected using these heuristics: 1. If there are three or four arguments, the modern version is used. 2. If the second argument appears to be a C or C++ type, then the obsolete version is used. This happens if the argument is a C or C++ _builtin_ type or a C identifier ending in ‘_t’, optionally followed by one of ‘[(* ’ and then by a string of zero or more characters taken from the set ‘[]()* _a-zA-Z0-9’. 3. If the second argument is spelled with the alphabet of valid C and C++ types, the user is warned and the modern version is used. 4. Otherwise, the modern version is used. You are encouraged either to use a valid builtin type, or to use the equivalent modern code (see above), or better yet, to use ‘AC_CHECK_TYPES’ together with #ifndef HAVE_LOFF_T typedef loff_t off_t; #endif -- Macro: AC_CHECKING (FEATURE-DESCRIPTION) Same as AC_MSG_NOTICE([checking FEATURE-DESCRIPTION...] *Note AC_MSG_NOTICE::. -- Macro: AC_COMPILE_CHECK (ECHO-TEXT, INCLUDES, FUNCTION-BODY, ACTION-IF-TRUE, [ACTION-IF-FALSE]) This is an obsolete version of ‘AC_TRY_COMPILE’ itself replaced by ‘AC_COMPILE_IFELSE’ (*note Running the Compiler::), with the addition that it prints ‘checking for ECHO-TEXT’ to the standard output first, if ECHO-TEXT is non-empty. Use ‘AC_MSG_CHECKING’ and ‘AC_MSG_RESULT’ instead to print messages (*note Printing Messages::). -- Macro: AC_CONST Replaced by ‘AC_C_CONST’ (*note AC_C_CONST::). -- Macro: AC_CROSS_CHECK Same as ‘AC_C_CROSS’, which is obsolete too, and does nothing ‘:-)’. -- Macro: AC_CYGWIN Check for the Cygwin environment in which case the shell variable ‘CYGWIN’ is set to ‘yes’. Don't use this macro, the dignified means to check the nature of the host is using ‘AC_CANONICAL_HOST’ (*note Canonicalizing::). As a matter of fact this macro is defined as: AC_REQUIRE([AC_CANONICAL_HOST])[]dnl case $host_os in *cygwin* ) CYGWIN=yes;; * ) CYGWIN=no;; esac Beware that the variable ‘CYGWIN’ has a special meaning when running Cygwin, and should not be changed. That's yet another reason not to use this macro. -- Macro: AC_DECL_SYS_SIGLIST Same as: AC_CHECK_DECLS([sys_siglist], [], [], [#include /* NetBSD declares sys_siglist in unistd.h. */ #ifdef HAVE_UNISTD_H # include #endif ]) *Note AC_CHECK_DECLS::. -- Macro: AC_DECL_YYTEXT Does nothing, now integrated in ‘AC_PROG_LEX’ (*note AC_PROG_LEX::). -- Macro: AC_DIAGNOSE (CATEGORY, MESSAGE) Replaced by ‘m4_warn’ (*note m4_warn::). -- Macro: AC_DIR_HEADER Like calling ‘AC_FUNC_CLOSEDIR_VOID’ (*note AC_FUNC_CLOSEDIR_VOID::) and ‘AC_HEADER_DIRENT’ (*note AC_HEADER_DIRENT::), but defines a different set of C preprocessor macros to indicate which header file is found: Header Old Symbol New Symbol ‘dirent.h’ ‘DIRENT’ ‘HAVE_DIRENT_H’ ‘sys/ndir.h’ ‘SYSNDIR’ ‘HAVE_SYS_NDIR_H’ ‘sys/dir.h’ ‘SYSDIR’ ‘HAVE_SYS_DIR_H’ ‘ndir.h’ ‘NDIR’ ‘HAVE_NDIR_H’ -- Macro: AC_DYNIX_SEQ If on DYNIX/ptx, add ‘-lseq’ to output variable ‘LIBS’. This macro used to be defined as AC_CHECK_LIB([seq], [getmntent], [LIBS="-lseq $LIBS"]) now it is just ‘AC_FUNC_GETMNTENT’ (*note AC_FUNC_GETMNTENT::). -- Macro: AC_EXEEXT Defined the output variable ‘EXEEXT’ based on the output of the compiler, which is now done automatically. Typically set to empty string if Posix and ‘.exe’ if a DOS variant. -- Macro: AC_EMXOS2 Similar to ‘AC_CYGWIN’ but checks for the EMX environment on OS/2 and sets ‘EMXOS2’. Don't use this macro, the dignified means to check the nature of the host is using ‘AC_CANONICAL_HOST’ (*note Canonicalizing::). -- Macro: AC_ENABLE (FEATURE, ACTION-IF-GIVEN, [ACTION-IF-NOT-GIVEN]) This is an obsolete version of ‘AC_ARG_ENABLE’ that does not support providing a help string (*note AC_ARG_ENABLE::). -- Macro: AC_ERROR Replaced by ‘AC_MSG_ERROR’ (*note AC_MSG_ERROR::). -- Macro: AC_FATAL (MESSAGE) Replaced by ‘m4_fatal’ (*note m4_fatal::). -- Macro: AC_FIND_X Replaced by ‘AC_PATH_X’ (*note AC_PATH_X::). -- Macro: AC_FIND_XTRA Replaced by ‘AC_PATH_XTRA’ (*note AC_PATH_XTRA::). -- Macro: AC_FOREACH Replaced by ‘m4_foreach_w’ (*note m4_foreach_w::). -- Macro: AC_FUNC_CHECK Replaced by ‘AC_CHECK_FUNC’ (*note AC_CHECK_FUNC::). -- Macro: AC_FUNC_SETVBUF_REVERSED Do nothing. Formerly, this macro checked whether ‘setvbuf’ takes the buffering type as its second argument and the buffer pointer as the third, instead of the other way around, and defined ‘SETVBUF_REVERSED’. However, the last systems to have the problem were those based on SVR2, which became obsolete in 1987, and the macro is no longer needed. -- Macro: AC_FUNC_WAIT3 If ‘wait3’ is found and fills in the contents of its third argument (a ‘struct rusage *’), which HP-UX does not do, define ‘HAVE_WAIT3’. These days portable programs should use ‘waitpid’, not ‘wait3’, as ‘wait3’ has been removed from Posix. -- Macro: AC_GCC_TRADITIONAL Replaced by ‘AC_PROG_GCC_TRADITIONAL’ (*note AC_PROG_GCC_TRADITIONAL::), which is itself obsolete. -- Macro: AC_GETGROUPS_T Replaced by ‘AC_TYPE_GETGROUPS’ (*note AC_TYPE_GETGROUPS::). -- Macro: AC_GETLOADAVG Replaced by ‘AC_FUNC_GETLOADAVG’ (*note AC_FUNC_GETLOADAVG::). -- Macro: AC_GNU_SOURCE This macro is a platform-specific subset of ‘AC_USE_SYSTEM_EXTENSIONS’ (*note AC_USE_SYSTEM_EXTENSIONS::). -- Macro: AC_HAVE_FUNCS Replaced by ‘AC_CHECK_FUNCS’ (*note AC_CHECK_FUNCS::). -- Macro: AC_HAVE_HEADERS Replaced by ‘AC_CHECK_HEADERS’ (*note AC_CHECK_HEADERS::). -- Macro: AC_HAVE_LIBRARY (LIBRARY, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [OTHER-LIBRARIES]) This macro is equivalent to calling ‘AC_CHECK_LIB’ with a FUNCTION argument of ‘main’. In addition, LIBRARY can be written as any of ‘foo’, ‘-lfoo’, or ‘libfoo.a’. In all of those cases, the compiler is passed ‘-lfoo’. However, LIBRARY cannot be a shell variable; it must be a literal name. *Note AC_CHECK_LIB::. -- Macro: AC_HAVE_POUNDBANG Replaced by ‘AC_SYS_INTERPRETER’ (*note AC_SYS_INTERPRETER::). -- Macro: AC_HEADER_CHECK Replaced by ‘AC_CHECK_HEADER’ (*note AC_CHECK_HEADER::). -- Macro: AC_HEADER_EGREP Replaced by ‘AC_EGREP_HEADER’ (*note AC_EGREP_HEADER::). -- Macro: AC_HEADER_TIME This macro used to check whether it was possible to include ‘time.h’ and ‘sys/time.h’ in the same source file, defining ‘TIME_WITH_SYS_TIME’ if so. Nowadays, it is equivalent to ‘AC_CHECK_HEADERS([sys/time.h])’, although it does still define ‘TIME_WITH_SYS_TIME’ for compatibility's sake. ‘time.h’ is universally present, and the systems on which ‘sys/time.h’ conflicted with ‘time.h’ are obsolete. -- Macro: AC_HELP_STRING Replaced by ‘AS_HELP_STRING’ (*note AS_HELP_STRING::). -- Macro: AC_INIT (UNIQUE-FILE-IN-SOURCE-DIR) Formerly ‘AC_INIT’ used to have a single argument, and was equivalent to: AC_INIT AC_CONFIG_SRCDIR(UNIQUE-FILE-IN-SOURCE-DIR) See *note AC_INIT:: and *note AC_CONFIG_SRCDIR::. -- Macro: AC_INLINE Replaced by ‘AC_C_INLINE’ (*note AC_C_INLINE::). -- Macro: AC_INT_16_BITS If the C type ‘int’ is 16 bits wide, define ‘INT_16_BITS’. Use ‘AC_CHECK_SIZEOF(int)’ instead (*note AC_CHECK_SIZEOF::). -- Macro: AC_IRIX_SUN If on IRIX (Silicon Graphics Unix), add ‘-lsun’ to output ‘LIBS’. If you were using it to get ‘getmntent’, use ‘AC_FUNC_GETMNTENT’ instead. If you used it for the NIS versions of the password and group functions, use ‘AC_CHECK_LIB(sun, getpwnam)’. Up to Autoconf 2.13, it used to be AC_CHECK_LIB([sun], [getmntent], [LIBS="-lsun $LIBS"]) now it is defined as AC_FUNC_GETMNTENT AC_CHECK_LIB([sun], [getpwnam]) See *note AC_FUNC_GETMNTENT:: and *note AC_CHECK_LIB::. -- Macro: AC_ISC_POSIX This macro adds ‘-lcposix’ to output variable ‘LIBS’ if necessary for Posix facilities. Sun dropped support for the obsolete INTERACTIVE Systems Corporation Unix on 2006-07-23. New programs need not use this macro. It is implemented as ‘AC_SEARCH_LIBS([strerror], [cposix])’ (*note AC_SEARCH_LIBS::). -- Macro: AC_LANG_C Same as ‘AC_LANG([C])’ (*note AC_LANG::). -- Macro: AC_LANG_CPLUSPLUS Same as ‘AC_LANG([C++])’ (*note AC_LANG::). -- Macro: AC_LANG_FORTRAN77 Same as ‘AC_LANG([Fortran 77])’ (*note AC_LANG::). -- Macro: AC_LANG_RESTORE Select the LANGUAGE that is saved on the top of the stack, as set by ‘AC_LANG_SAVE’, remove it from the stack, and call ‘AC_LANG(LANGUAGE)’. *Note Language Choice::, for the preferred way to change languages. -- Macro: AC_LANG_SAVE Remember the current language (as set by ‘AC_LANG’) on a stack. The current language does not change. ‘AC_LANG_PUSH’ is preferred (*note AC_LANG_PUSH::). -- Macro: AC_LINK_FILES (SOURCE..., DEST...) This is an obsolete version of ‘AC_CONFIG_LINKS’ (*note AC_CONFIG_LINKS::. An updated version of: AC_LINK_FILES(config/$machine.h config/$obj_format.h, host.h object.h) is: AC_CONFIG_LINKS([host.h:config/$machine.h object.h:config/$obj_format.h]) -- Macro: AC_LN_S Replaced by ‘AC_PROG_LN_S’ (*note AC_PROG_LN_S::). -- Macro: AC_LONG_64_BITS Define ‘LONG_64_BITS’ if the C type ‘long int’ is 64 bits wide. Use the generic macro ‘AC_CHECK_SIZEOF([long int])’ instead (*note AC_CHECK_SIZEOF::). -- Macro: AC_LONG_DOUBLE If the C compiler supports a working ‘long double’ type with more range or precision than the ‘double’ type, define ‘HAVE_LONG_DOUBLE’. You should use ‘AC_TYPE_LONG_DOUBLE’ or ‘AC_TYPE_LONG_DOUBLE_WIDER’ instead. *Note Particular Types::. -- Macro: AC_LONG_FILE_NAMES Replaced by AC_SYS_LONG_FILE_NAMES *Note AC_SYS_LONG_FILE_NAMES::. -- Macro: AC_MAJOR_HEADER Replaced by ‘AC_HEADER_MAJOR’ (*note AC_HEADER_MAJOR::). -- Macro: AC_MEMORY_H Used to define ‘NEED_MEMORY_H’ if the ‘mem’ functions were defined in ‘memory.h’. Today it is equivalent to ‘AC_CHECK_HEADERS([memory.h])’ (*note AC_CHECK_HEADERS::). Adjust your code to get the ‘mem’ functions from ‘string.h’ instead. -- Macro: AC_MINGW32 Similar to ‘AC_CYGWIN’ but checks for the MinGW compiler environment and sets ‘MINGW32’. Don't use this macro, the dignified means to check the nature of the host is using ‘AC_CANONICAL_HOST’ (*note Canonicalizing::). -- Macro: AC_MINIX This macro is a platform-specific subset of ‘AC_USE_SYSTEM_EXTENSIONS’ (*note AC_USE_SYSTEM_EXTENSIONS::). -- Macro: AC_MINUS_C_MINUS_O Replaced by ‘AC_PROG_CC_C_O’ (*note AC_PROG_CC_C_O::). -- Macro: AC_MMAP Replaced by ‘AC_FUNC_MMAP’ (*note AC_FUNC_MMAP::). -- Macro: AC_MODE_T Replaced by ‘AC_TYPE_MODE_T’ (*note AC_TYPE_MODE_T::). -- Macro: AC_OBJEXT Defined the output variable ‘OBJEXT’ based on the output of the compiler, after .c files have been excluded. Typically set to ‘o’ if Posix, ‘obj’ if a DOS variant. Now the compiler checking macros handle this automatically. -- Macro: AC_OBSOLETE (THIS-MACRO-NAME, [SUGGESTION]) Make M4 print a message to the standard error output warning that THIS-MACRO-NAME is obsolete, and giving the file and line number where it was called. THIS-MACRO-NAME should be the name of the macro that is calling ‘AC_OBSOLETE’. If SUGGESTION is given, it is printed at the end of the warning message; for example, it can be a suggestion for what to use instead of THIS-MACRO-NAME. For instance AC_OBSOLETE([$0], [; use AC_CHECK_HEADERS(unistd.h) instead])dnl You are encouraged to use ‘AU_DEFUN’ instead, since it gives better services to the user (*note AU_DEFUN::). -- Macro: AC_OFF_T Replaced by ‘AC_TYPE_OFF_T’ (*note AC_TYPE_OFF_T::). -- Macro: AC_OUTPUT ([FILE]..., [EXTRA-CMDS], [INIT-CMDS]) The use of ‘AC_OUTPUT’ with arguments is deprecated. This obsoleted interface is equivalent to: AC_CONFIG_FILES(FILE...) AC_CONFIG_COMMANDS([default], EXTRA-CMDS, INIT-CMDS) AC_OUTPUT See *note AC_CONFIG_FILES::, *note AC_CONFIG_COMMANDS::, and *note AC_OUTPUT::. -- Macro: AC_OUTPUT_COMMANDS (EXTRA-CMDS, [INIT-CMDS]) Specify additional shell commands to run at the end of ‘config.status’, and shell commands to initialize any variables from ‘configure’. This macro may be called multiple times. It is obsolete, replaced by ‘AC_CONFIG_COMMANDS’ (*note AC_CONFIG_COMMANDS::). Here is an unrealistic example: fubar=27 AC_OUTPUT_COMMANDS([echo this is extra $fubar, and so on.], [fubar=$fubar]) AC_OUTPUT_COMMANDS([echo this is another, extra, bit], [echo init bit]) Aside from the fact that ‘AC_CONFIG_COMMANDS’ requires an additional key, an important difference is that ‘AC_OUTPUT_COMMANDS’ is quoting its arguments twice, unlike ‘AC_CONFIG_COMMANDS’. This means that ‘AC_CONFIG_COMMANDS’ can safely be given macro calls as arguments: AC_CONFIG_COMMANDS(foo, [my_FOO()]) Conversely, where one level of quoting was enough for literal strings with ‘AC_OUTPUT_COMMANDS’, you need two with ‘AC_CONFIG_COMMANDS’. The following lines are equivalent: AC_OUTPUT_COMMANDS([echo "Square brackets: []"]) AC_CONFIG_COMMANDS([default], [[echo "Square brackets: []"]]) -- Macro: AC_PID_T Replaced by ‘AC_TYPE_PID_T’ (*note AC_TYPE_PID_T::). -- Macro: AC_PREFIX Replaced by ‘AC_PREFIX_PROGRAM’ (*note AC_PREFIX_PROGRAM::). -- Macro: AC_PROG_CC_C89 Now done by ‘AC_PROG_CC’ (*note AC_PROG_CC::). -- Macro: AC_PROG_CC_C99 Now done by ‘AC_PROG_CC’ (*note AC_PROG_CC::). -- Macro: AC_PROG_CC_STDC Now done by ‘AC_PROG_CC’ (*note AC_PROG_CC::). -- Macro: AC_PROG_GCC_TRADITIONAL Used to put GCC into "traditional" (pre-ISO C) compilation mode, on systems with headers that did not work correctly with a standard-compliant compiler. GCC has not supported traditional compilation in many years, and all of the systems that required this are long obsolete themselves. This macro is now a compatibility synonym for ‘AC_PROG_CC’ (*note AC_PROG_CC::). -- Macro: AC_PROGRAMS_CHECK Replaced by ‘AC_CHECK_PROGS’ (*note AC_CHECK_PROGS::). -- Macro: AC_PROGRAMS_PATH Replaced by ‘AC_PATH_PROGS’ (*note AC_PATH_PROGS::). -- Macro: AC_PROGRAM_CHECK Replaced by ‘AC_CHECK_PROG’ (*note AC_CHECK_PROG::). -- Macro: AC_PROGRAM_EGREP Replaced by ‘AC_EGREP_CPP’ (*note AC_EGREP_CPP::). -- Macro: AC_PROGRAM_PATH Replaced by ‘AC_PATH_PROG’ (*note AC_PATH_PROG::). -- Macro: AC_REMOTE_TAPE Removed because of limited usefulness. -- Macro: AC_RESTARTABLE_SYSCALLS This macro was renamed ‘AC_SYS_RESTARTABLE_SYSCALLS’. However, these days portable programs should use ‘sigaction’ with ‘SA_RESTART’ if they want restartable system calls. They should not rely on ‘HAVE_RESTARTABLE_SYSCALLS’, since nowadays whether a system call is restartable is a dynamic issue, not a configuration-time issue. -- Macro: AC_RETSIGTYPE Replaced by ‘AC_TYPE_SIGNAL’ (*note AC_TYPE_SIGNAL::), which itself is obsolete. -- Macro: AC_RSH Removed because of limited usefulness. -- Macro: AC_SCO_INTL If on SCO Unix, add ‘-lintl’ to output variable ‘LIBS’. This macro used to do this: AC_CHECK_LIB([intl], [strftime], [LIBS="-lintl $LIBS"]) Now it just calls ‘AC_FUNC_STRFTIME’ instead (*note AC_FUNC_STRFTIME::). -- Macro: AC_SETVBUF_REVERSED Replaced by AC_FUNC_SETVBUF_REVERSED *Note AC_FUNC_SETVBUF_REVERSED::. -- Macro: AC_SET_MAKE Replaced by ‘AC_PROG_MAKE_SET’ (*note AC_PROG_MAKE_SET::). -- Macro: AC_SIZEOF_TYPE Replaced by ‘AC_CHECK_SIZEOF’ (*note AC_CHECK_SIZEOF::). -- Macro: AC_SIZE_T Replaced by ‘AC_TYPE_SIZE_T’ (*note AC_TYPE_SIZE_T::). -- Macro: AC_STAT_MACROS_BROKEN Replaced by ‘AC_HEADER_STAT’ (*note AC_HEADER_STAT::). -- Macro: AC_STDC_HEADERS Replaced by ‘AC_HEADER_STDC’ (*note AC_HEADER_STDC::), which is itself obsolete. Nowadays it is safe to assume the facilities of C89 exist. -- Macro: AC_STRCOLL Replaced by ‘AC_FUNC_STRCOLL’ (*note AC_FUNC_STRCOLL::). -- Macro: AC_STRUCT_ST_BLKSIZE If ‘struct stat’ contains an ‘st_blksize’ member, define ‘HAVE_STRUCT_STAT_ST_BLKSIZE’. The former name, ‘HAVE_ST_BLKSIZE’ is to be avoided, as its support will cease in the future. This macro is obsoleted, and should be replaced by AC_CHECK_MEMBERS([struct stat.st_blksize]) *Note AC_CHECK_MEMBERS::. -- Macro: AC_STRUCT_ST_RDEV If ‘struct stat’ contains an ‘st_rdev’ member, define ‘HAVE_STRUCT_STAT_ST_RDEV’. The former name for this macro, ‘HAVE_ST_RDEV’, is to be avoided as it will cease to be supported in the future. Actually, even the new macro is obsolete and should be replaced by: AC_CHECK_MEMBERS([struct stat.st_rdev]) *Note AC_CHECK_MEMBERS::. -- Macro: AC_ST_BLKSIZE Replaced by ‘AC_CHECK_MEMBERS’ (*note AC_CHECK_MEMBERS::). -- Macro: AC_ST_BLOCKS Replaced by ‘AC_STRUCT_ST_BLOCKS’ (*note AC_STRUCT_ST_BLOCKS::). -- Macro: AC_ST_RDEV Replaced by ‘AC_CHECK_MEMBERS’ (*note AC_CHECK_MEMBERS::). -- Macro: AC_SYS_RESTARTABLE_SYSCALLS If the system automatically restarts a system call that is interrupted by a signal, define ‘HAVE_RESTARTABLE_SYSCALLS’. This macro does not check whether system calls are restarted in general--it checks whether a signal handler installed with ‘signal’ (but not ‘sigaction’) causes system calls to be restarted. It does not check whether system calls can be restarted when interrupted by signals that have no handler. These days portable programs should use ‘sigaction’ with ‘SA_RESTART’ if they want restartable system calls. They should not rely on ‘HAVE_RESTARTABLE_SYSCALLS’, since nowadays whether a system call is restartable is a dynamic issue, not a configuration-time issue. -- Macro: AC_SYS_SIGLIST_DECLARED This macro was renamed ‘AC_DECL_SYS_SIGLIST’. However, even that name is obsolete, as the same functionality is now achieved via ‘AC_CHECK_DECLS’ (*note AC_CHECK_DECLS::). -- Macro: AC_TEST_CPP This macro was renamed ‘AC_TRY_CPP’, which in turn was replaced by ‘AC_PREPROC_IFELSE’ (*note AC_PREPROC_IFELSE::). -- Macro: AC_TEST_PROGRAM This macro was renamed ‘AC_TRY_RUN’, which in turn was replaced by ‘AC_RUN_IFELSE’ (*note AC_RUN_IFELSE::). -- Macro: AC_TIMEZONE Replaced by ‘AC_STRUCT_TIMEZONE’ (*note AC_STRUCT_TIMEZONE::). -- Macro: AC_TIME_WITH_SYS_TIME Replaced by ‘AC_HEADER_TIME’ (*note AC_HEADER_TIME::), which is itself obsolete; nowadays one need only do ‘AC_CHECK_HEADERS([sys/time.h])’. -- Macro: AC_TRY_COMPILE (INCLUDES, FUNCTION-BODY, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) Same as: AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[INCLUDES]], [[FUNCTION-BODY]])], [ACTION-IF-TRUE], [ACTION-IF-FALSE]) *Note Running the Compiler::. This macro double quotes both INCLUDES and FUNCTION-BODY. For C and C++, INCLUDES is any ‘#include’ statements needed by the code in FUNCTION-BODY (INCLUDES is ignored if the currently selected language is Fortran or Fortran 77). The compiler and compilation flags are determined by the current language (*note Language Choice::). -- Macro: AC_TRY_CPP (INPUT, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) Same as: AC_PREPROC_IFELSE( [AC_LANG_SOURCE([[INPUT]])], [ACTION-IF-TRUE], [ACTION-IF-FALSE]) *Note Running the Preprocessor::. This macro double quotes the INPUT. -- Macro: AC_TRY_LINK (INCLUDES, FUNCTION-BODY, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) Same as: AC_LINK_IFELSE( [AC_LANG_PROGRAM([[INCLUDES]], [[FUNCTION-BODY]])], [ACTION-IF-TRUE], [ACTION-IF-FALSE]) *Note Running the Linker::. This macro double quotes both INCLUDES and FUNCTION-BODY. Depending on the current language (*note Language Choice::), create a test program to see whether a function whose body consists of FUNCTION-BODY can be compiled and linked. If the file compiles and links successfully, run shell commands ACTION-IF-FOUND, otherwise run ACTION-IF-NOT-FOUND. This macro double quotes both INCLUDES and FUNCTION-BODY. For C and C++, INCLUDES is any ‘#include’ statements needed by the code in FUNCTION-BODY (INCLUDES is ignored if the currently selected language is Fortran or Fortran 77). The compiler and compilation flags are determined by the current language (*note Language Choice::), and in addition ‘LDFLAGS’ and ‘LIBS’ are used for linking. -- Macro: AC_TRY_LINK_FUNC (FUNCTION, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) This macro is equivalent to AC_LINK_IFELSE([AC_LANG_CALL([], [FUNCTION])], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) *Note Running the Linker::. -- Macro: AC_TRY_RUN (PROGRAM, [ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-CROSS-COMPILING = AC_MSG_FAILURE]) Same as: AC_RUN_IFELSE( [AC_LANG_SOURCE([[PROGRAM]])], [ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-CROSS-COMPILING]) *Note Runtime::. -- Macro: AC_TYPE_SIGNAL If ‘signal.h’ declares ‘signal’ as returning a pointer to a function returning ‘void’, define ‘RETSIGTYPE’ to be ‘void’; otherwise, define it to be ‘int’. These days, it is portable to assume C89, and that signal handlers return ‘void’, without needing to use this macro or ‘RETSIGTYPE’. -- Macro: AC_UID_T Replaced by ‘AC_TYPE_UID_T’ (*note AC_TYPE_UID_T::). -- Macro: AC_UNISTD_H Same as ‘AC_CHECK_HEADERS([unistd.h])’ (*note AC_CHECK_HEADERS::), which is one of the tests done as a side effect by ‘AC_INCLUDES_DEFAULT’ (*note Default Includes::), so usually unnecessary to write explicitly. -- Macro: AC_USG Define ‘USG’ if the BSD string functions (‘bcopy’, ‘bzero’, ‘index’, ‘rindex’, etc) are _not_ defined in ‘strings.h’. Modern code should assume ‘string.h’ exists and should use the standard C string functions (‘memmove’, ‘memset’, ‘strchr’, ‘strrchr’, etc) unconditionally. ‘strings.h’ may be the only header that declares ‘strcasecmp’, ‘strncasecmp’, and ‘ffs’. ‘AC_INCLUDES_DEFAULT’ checks for it (*note Default Includes::); test ‘HAVE_STRINGS_H’. -- Macro: AC_UTIME_NULL Replaced by ‘AC_FUNC_UTIME_NULL’ (*note AC_FUNC_UTIME_NULL::). -- Macro: AC_VALIDATE_CACHED_SYSTEM_TUPLE ([CMD]) If the cache file is inconsistent with the current host, target and build system types, it used to execute CMD or print a default error message. This is now handled by default. -- Macro: AC_VERBOSE (RESULT-DESCRIPTION) Replaced by ‘AC_MSG_RESULT’ (*note AC_MSG_RESULT::). -- Macro: AC_VFORK Replaced by ‘AC_FUNC_FORK’ (*note AC_FUNC_FORK::). -- Macro: AC_VPRINTF Replaced by ‘AC_FUNC_VPRINTF’ (*note AC_FUNC_VPRINTF::). -- Macro: AC_WAIT3 This macro was renamed ‘AC_FUNC_WAIT3’. However, these days portable programs should use ‘waitpid’, not ‘wait3’, as ‘wait3’ has been removed from Posix. -- Macro: AC_WARN Replaced by ‘AC_MSG_WARN’ (*note AC_MSG_WARN::). -- Macro: AC_WARNING (MESSAGE) Replaced by ‘m4_warn’ (*note m4_warn::). -- Macro: AC_WITH (PACKAGE, ACTION-IF-GIVEN, [ACTION-IF-NOT-GIVEN]) This is an obsolete version of ‘AC_ARG_WITH’ that does not support providing a help string (*note AC_ARG_WITH::). -- Macro: AC_WORDS_BIGENDIAN Replaced by ‘AC_C_BIGENDIAN’ (*note AC_C_BIGENDIAN::). -- Macro: AC_XENIX_DIR This macro used to add ‘-lx’ to output variable ‘LIBS’ if on Xenix. Also, if ‘dirent.h’ is being checked for, added ‘-ldir’ to ‘LIBS’. Now it is merely an alias of ‘AC_HEADER_DIRENT’ instead, plus some code to detect whether running XENIX on which you should not depend: AC_MSG_CHECKING([for Xenix]) AC_EGREP_CPP([yes], [#if defined M_XENIX && !defined M_UNIX yes #endif], [AC_MSG_RESULT([yes]); XENIX=yes], [AC_MSG_RESULT([no]); XENIX=]) Don't use this macro, the dignified means to check the nature of the host is using ‘AC_CANONICAL_HOST’ (*note Canonicalizing::). -- Macro: AC_YYTEXT_POINTER This macro was renamed ‘AC_DECL_YYTEXT’, which in turn was integrated into ‘AC_PROG_LEX’ (*note AC_PROG_LEX::).