1*d874e919SchristosGNU Autoconf NEWS - User visible changes. 2*d874e919Schristos 3*d874e919Schristos* Noteworthy changes in release 2.69 (2012-04-24) [stable] 4*d874e919Schristos 5*d874e919Schristos** Autoconf now requires perl 5.6 or better (but generated configure 6*d874e919Schristos scripts continue to run without perl). 7*d874e919Schristos 8*d874e919Schristos* Noteworthy changes in release 2.68b (2012-03-01) [beta] 9*d874e919Schristos Released by Eric Blake, based on git versions 2.68.*. 10*d874e919Schristos 11*d874e919Schristos** Autoconf-generated configure scripts now unconditionally re-execute 12*d874e919Schristos themselves with $CONFIG_SHELL, if that's set in the environment. 13*d874e919Schristos 14*d874e919Schristos** The texinfo documentation no longer specifies "front-cover" or 15*d874e919Schristos "back-cover" texts, so that it may now be included in Debian's 16*d874e919Schristos "main" section. 17*d874e919Schristos 18*d874e919Schristos** Support for the Go programming language has been added. The new macro 19*d874e919Schristos AC_LANG_GO sets variables GOC and GOFLAGS. 20*d874e919Schristos 21*d874e919Schristos** AS_LITERAL_IF again treats '=' as a literal. Regression introduced in 22*d874e919Schristos 2.66. 23*d874e919Schristos 24*d874e919Schristos** The macro AS_EXECUTABLE_P, present since 2.50, is now documented. 25*d874e919Schristos 26*d874e919Schristos** Macros 27*d874e919Schristos 28*d874e919Schristos- AC_PROG_LN_S and AS_LN_S now fall back on 'cp -pR' (not 'cp -p') if 'ln -s' 29*d874e919Schristos does not work. This works better for symlinks to directories. 30*d874e919Schristos 31*d874e919Schristos- New macro AC_HEADER_CHECK_STDBOOL. 32*d874e919Schristos 33*d874e919Schristos- New and updated macros for Fortran support: 34*d874e919Schristos 35*d874e919Schristos AC_FC_CHECK_BOUNDS to enable array bounds checking 36*d874e919Schristos AC_F77_IMPLICIT_NONE and AC_FC_IMPLICIT_NONE to disable implicit integer 37*d874e919Schristos AC_FC_MODULE_EXTENSION to compute the Fortran 90 module name extension 38*d874e919Schristos AC_FC_MODULE_FLAG for the Fortran 90 module search path flag 39*d874e919Schristos AC_FC_MODULE_OUTPUT_FLAG for the Fortran 90 module output directory flag 40*d874e919Schristos AC_FC_PP_SRCEXT for preprocessed Fortran source files extensions 41*d874e919Schristos AC_FC_PP_DEFINE for the Fortran preprocessor define flag 42*d874e919Schristos 43*d874e919Schristos* Noteworthy changes in release 2.68 (2010-09-22) [stable] 44*d874e919Schristos Released by Eric Blake, based on git versions 2.67.*. 45*d874e919Schristos 46*d874e919Schristos** AC_MSG_ERROR (and AS_ERROR) can once again be followed immediately by 47*d874e919Schristos `dnl'. Regression introduced in 2.66. 48*d874e919Schristos 49*d874e919Schristos** AC_INIT again allows URLs with '?' for its BUG-REPORT argument. 50*d874e919Schristos Regression introduced in 2.66. 51*d874e919Schristos 52*d874e919Schristos** AC_REPLACE_FUNCS again allows a non-literal argument, such as a shell 53*d874e919Schristos variable that expands to a list of functions to check. Regression 54*d874e919Schristos introduced in 2.66. 55*d874e919Schristos 56*d874e919Schristos** AT_BANNER() with empty argument will cause visual separation from previous 57*d874e919Schristos test category. 58*d874e919Schristos 59*d874e919Schristos** The macros AC_PREPROC_IFELSE, AC_COMPILE_IFELSE, AC_LINK_IFELSE, and 60*d874e919Schristos AC_RUN_IFELSE now warn if the first argument failed to use 61*d874e919Schristos AC_LANG_SOURCE or AC_LANG_PROGRAM to generate the conftest file 62*d874e919Schristos contents. A new macro AC_LANG_DEFINES_PROVIDED exists if you have 63*d874e919Schristos a compelling reason why you cannot use AC_LANG_SOURCE but must 64*d874e919Schristos avoid the warning. 65*d874e919Schristos 66*d874e919Schristos** The macro m4_define_default is now documented. 67*d874e919Schristos 68*d874e919Schristos** Symlinked config.cache files are supported; configure now tries to 69*d874e919Schristos update non-symlinked cache files atomically, so that concurrent configure 70*d874e919Schristos runs do not leave behind broken cache files. It is still unspecified 71*d874e919Schristos which subset or union of results is cached though. 72*d874e919Schristos 73*d874e919Schristos** Autotest testsuites should not contain long text lines any more, and be 74*d874e919Schristos portable even when very many test groups are used. 75*d874e919Schristos 76*d874e919Schristos** AT_CHECK semantics with respect to the Autotest variable $at_status and 77*d874e919Schristos shell execution environment of the arguments are documented now. 78*d874e919Schristos 79*d874e919Schristos** AC_FC_LIBRARY_LDFLAGS now tolerates output from newer gfortran. 80*d874e919Schristos 81*d874e919Schristos** Newly obsolete macros 82*d874e919Schristos The following macros have been marked obsolete. New programs 83*d874e919Schristos should use the corresponding Gnulib modules. Gnulib not only 84*d874e919Schristos detects a larger set of portability problems with these functions, 85*d874e919Schristos but also provides complete workarounds. 86*d874e919Schristos 87*d874e919Schristos AC_FUNC_ERROR_AT_LINE AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK 88*d874e919Schristos AC_FUNC_MKTIME AC_FUNC_STRTOD 89*d874e919Schristos 90*d874e919Schristos 91*d874e919Schristos* Major changes in Autoconf 2.67 (2010-07-21) [stable] 92*d874e919Schristos Released by Eric Blake, based on git versions 2.66.*. 93*d874e919Schristos 94*d874e919Schristos** AC_CONFIG_SUBDIRS with more than one subdirectory at a time works again. 95*d874e919Schristos Regression introduced in 2.66. 96*d874e919Schristos 97*d874e919Schristos** AC_CHECK_SIZEOF of a pointer type works again. Regression introduced in 98*d874e919Schristos 2.66. 99*d874e919Schristos 100*d874e919Schristos** New macro AC_FC_LINE_LENGTH to accept long Fortran source code lines. 101*d874e919Schristos 102*d874e919Schristos** AC_PREPROC_IFELSE now keeps the preprocessed output in the conftest.i 103*d874e919Schristos file for inspection by the commands in the ACTION-IF-TRUE argument. 104*d874e919Schristos 105*d874e919Schristos** AC_INIT again allows parentheses and other characters that are literal 106*d874e919Schristos in single- or double-quoted strings, and in quoted and unquoted 107*d874e919Schristos here-documents, for its PACKAGE and VERSION arguments. Regression 108*d874e919Schristos introduced in 2.66. 109*d874e919Schristos 110*d874e919Schristos** autoreconf passes warning flags to new enough versions of aclocal. 111*d874e919Schristos 112*d874e919Schristos** Running an Autotest testsuite in parallel mode no longer triggers a 113*d874e919Schristos race condition that could cause the testsuite run to end early, 114*d874e919Schristos fixing a sporadic failure in autoconf's own testsuite. Bug present 115*d874e919Schristos since introduction of parallel tests in 2.63b. 116*d874e919Schristos 117*d874e919Schristos 118*d874e919Schristos* Major changes in Autoconf 2.66 (2010-07-02) [stable] 119*d874e919Schristos Released by Eric Blake, based on git versions 2.65.*. 120*d874e919Schristos 121*d874e919Schristos** AC_FUNC_MMAP works in C++ mode again. Regression introduced in 2.65. 122*d874e919Schristos 123*d874e919Schristos** Use of m4_divert without a named diversion now issues a syntax warning, 124*d874e919Schristos since it is seldom right to change diversions behind autoconf's back. 125*d874e919Schristos 126*d874e919Schristos** The macros AC_TYPE_INT8_T, AC_TYPE_INT16_T, AC_TYPE_INT32_T, and 127*d874e919Schristos AC_TYPE_INT64_T work again. Regression introduced in 2.65. 128*d874e919Schristos 129*d874e919Schristos** AC_PROG_INSTALL correctly uses `shtool' again. Regression introduced 130*d874e919Schristos in 2.64. 131*d874e919Schristos 132*d874e919Schristos** Autoconf should work on EBCDIC hosts. 133*d874e919Schristos 134*d874e919Schristos** AC_CHECK_DECL and AC_CHECK_DECLS accept optional function argument types 135*d874e919Schristos for overloaded C++ functions. 136*d874e919Schristos 137*d874e919Schristos** AS_SET_CATFILE accepts nonliterals in its variable name argument now. 138*d874e919Schristos 139*d874e919Schristos** Autotest testsuites accept an option --recheck to rerun tests that 140*d874e919Schristos failed or passed unexpectedly during the last non-debug testsuite run. 141*d874e919Schristos 142*d874e919Schristos** AC_ARG_ENABLE and AC_ARG_WITH now also accept `+' signs in `--enable-*' 143*d874e919Schristos and `--with-*' arguments, converting them to underscores for the variable 144*d874e919Schristos names. 145*d874e919Schristos 146*d874e919Schristos** In configure scripts, loading CONFIG_SITE no longer searches PATH, 147*d874e919Schristos and problems in loading the configuration site files are diagnosed. 148*d874e919Schristos 149*d874e919Schristos** Autotest testsuites may optionally provide colored test results. 150*d874e919Schristos 151*d874e919Schristos** The previously undocumented Autotest macros AT_ARG_OPTION and 152*d874e919Schristos AT_ARG_OPTION_ARG have seen bug fixes and are documented now. 153*d874e919Schristos AT_ARG_OPTION has been changed in that the negative of a long option 154*d874e919Schristos --OPTION is now --no-OPTION rather than --noOPTION. 155*d874e919Schristos 156*d874e919Schristos** The macro AS_LITERAL_IF is slightly more conservative; text 157*d874e919Schristos containing shell quotes are no longer treated as literals. 158*d874e919Schristos Furthermore, a new macro, AS_LITERAL_WORD_IF, adds an additional 159*d874e919Schristos level of checking that no whitespace occurs in literals. 160*d874e919Schristos 161*d874e919Schristos** The macros AS_TR_SH and AS_TR_CPP no longer expand their results. 162*d874e919Schristos 163*d874e919Schristos** The following macros are now documented: 164*d874e919Schristos AS_BOX 165*d874e919Schristos 166*d874e919Schristos** New macro AC_FC_FIXEDFORM to accept fixed-form Fortran. 167*d874e919Schristos 168*d874e919Schristos 169*d874e919Schristos* Major changes in Autoconf 2.65 (2009-11-21) [stable] 170*d874e919Schristos Released by Eric Blake, based on git versions 2.64.*. 171*d874e919Schristos 172*d874e919Schristos** Autoconf is now licensed under the General Public License version 3 173*d874e919Schristos or later (GPLv3+). As with earlier versions, the license includes 174*d874e919Schristos an exception clause so that you may release a configure script 175*d874e919Schristos generated by autoconf under the license of your own program. 176*d874e919Schristos 177*d874e919Schristos** New macros to support Objective C++. 178*d874e919Schristos AC_PROG_OBJCXX AC_PROG_OBJCXXCPP 179*d874e919Schristos 180*d874e919Schristos** The following undocumented autoconf macros, removed in Autoconf 2.64, 181*d874e919Schristos have been reinstated: 182*d874e919Schristos AH_CHECK_HEADERS 183*d874e919Schristos 184*d874e919Schristos These macros are present only for backwards compatibility purposes. 185*d874e919Schristos 186*d874e919Schristos** The macro AC_LANG_COMPILER no longer fails on embedded systems that 187*d874e919Schristos lack fopen in the C library, such as AVR or RTEMS (regression 188*d874e919Schristos introduced in 2.64). 189*d874e919Schristos 190*d874e919Schristos** The AC_FC_FREEFORM macro no longer suffers from a whitespace bug that 191*d874e919Schristos made it fail with some Fortran compilers (regression introduced in 192*d874e919Schristos 2.64). 193*d874e919Schristos 194*d874e919Schristos** The AC_TYPE_UINT64_T and AC_TYPE_INT64_T macros have been fixed to no 195*d874e919Schristos longer mistakenly select a 32-bit type on some compilers (bug present 196*d874e919Schristos since macros were introduced in 2.59c). 197*d874e919Schristos 198*d874e919Schristos** The AC_FUNC_MMAP macro has been fixed to be portable to systems like 199*d874e919Schristos Cygwin (bug present since macro was introduced in 2.0). 200*d874e919Schristos 201*d874e919Schristos** The following documented autotest macros are new: 202*d874e919Schristos AT_CHECK_EUNIT 203*d874e919Schristos 204*d874e919Schristos** The following m4sugar macros now quote their expansion: 205*d874e919Schristos m4_toupper m4_tolower 206*d874e919Schristos 207*d874e919Schristos** The following m4sugar macros are new: 208*d874e919Schristos m4_escape 209*d874e919Schristos 210*d874e919Schristos** The m4sugar macro m4_text_wrap now copes with embedded quoting without 211*d874e919Schristos requiring quadrigraphs. For uses like AC_ARG_VAR([a], [[b c]]), 212*d874e919Schristos this gives the intuitive behavior of "[b c]" in the output (2.63 213*d874e919Schristos gave the output of "[b], [c]", and 2.64 encountered a failure). 214*d874e919Schristos 215*d874e919Schristos** The `$tmp' temporary directory used in config.status is documented for 216*d874e919Schristos public use now. 217*d874e919Schristos 218*d874e919Schristos** config.status now provides a --config option to produce the configuration. 219*d874e919Schristos 220*d874e919Schristos** Many cache variables used by Autoconf's macros are now documented. 221*d874e919Schristos 222*d874e919Schristos** Configure scripts work better on DJGPP by avoiding a bug present in 223*d874e919Schristos the DJGPP port of bash 2.04 in handling 'return' in a shell 224*d874e919Schristos function (regression introduced in 2.64). 225*d874e919Schristos 226*d874e919Schristos* Major changes in Autoconf 2.64 (2009-07-26) [stable] 227*d874e919Schristos Released by Eric Blake, based on git versions 2.63b.*. 228*d874e919Schristos 229*d874e919Schristos** Autoconf now requires GNU M4 1.4.6 or later. Earlier versions of M4 230*d874e919Schristos have a bug in regular expression handling that interferes with some 231*d874e919Schristos of the speedups provided since Autoconf 2.63. GNU M4 1.4.13 or 232*d874e919Schristos later is recommended. 233*d874e919Schristos 234*d874e919Schristos** AS_IF and AS_CASE have been taught to avoid syntax errors even when 235*d874e919Schristos given arguments that expand to just whitespace. 236*d874e919Schristos 237*d874e919Schristos** The following documented autoconf macros are new: 238*d874e919Schristos AC_ERLANG_SUBST_ERTS_VER 239*d874e919Schristos 240*d874e919Schristos** The autoheader tool now understands m4 macro arguments passed to 241*d874e919Schristos AC_DEFINE and AC_DEFINE_UNQUOTED. 242*d874e919Schristos 243*d874e919Schristos** Ensure AT_CHECK can support commands that include a # given with 244*d874e919Schristos proper m4 quoting. For shell comments, this is a new feature; for 245*d874e919Schristos non-shell comments, this fixes a regression introduced in 2.63b. 246*d874e919Schristos Additionally, AT_CHECK correctly supplies shell escapes for 247*d874e919Schristos metacharacters occurring in m4 macro expansions within the expected 248*d874e919Schristos stdout and stderr parameters. 249*d874e919Schristos 250*d874e919Schristos** The macro AT_CHECK now understands the concept of hard failure. If 251*d874e919Schristos a test exits with an unexpected status 99, cleanup actions for the 252*d874e919Schristos test are inhibited and the test is treated as a failure regardless 253*d874e919Schristos of AT_XFAIL_IF. It also understands the new directives 254*d874e919Schristos ignore-nolog, stdout-nolog, and stderr-nolog. 255*d874e919Schristos 256*d874e919Schristos** The following documented autotest macros are new: 257*d874e919Schristos AT_CHECK_UNQUOTED AT_FAIL_IF AT_SKIP_IF 258*d874e919Schristos 259*d874e919Schristos** The following documented m4sugar macros are new: 260*d874e919Schristos m4_argn m4_copy_force m4_default_nblank m4_default_nblank_quoted 261*d874e919Schristos m4_ifblank m4_ifnblank m4_rename_force 262*d874e919Schristos 263*d874e919Schristos** The autoconf testsuite now exercises all Erlang macros. 264*d874e919Schristos 265*d874e919Schristos* Major changes in Autoconf 2.63b (2009-03-31) [beta] 266*d874e919Schristos Released by Eric Blake, based on git versions 2.63.*. 267*d874e919Schristos 268*d874e919Schristos** The manual is now shipped under the terms of the GNU FDL 1.3. 269*d874e919Schristos 270*d874e919Schristos** AC_REQUIRE now detects the case of an outer macro which first expands 271*d874e919Schristos then later indirectly requires the same inner macro. Previously, 272*d874e919Schristos this case led to silent out-of-order expansion (bug present since 273*d874e919Schristos 2.50); it now issues a syntax warning, and duplicates the expansion 274*d874e919Schristos of the inner macro to guarantee dependencies have been met. See 275*d874e919Schristos the manual for advice on how to refactor macros in order to avoid 276*d874e919Schristos the bug in earlier autoconf versions and avoid increased script 277*d874e919Schristos size in the current version. 278*d874e919Schristos 279*d874e919Schristos** AC_DEFUN_ONCE has improved semantics. Previously, a macro declared 280*d874e919Schristos with AC_DEFUN_ONCE warned on a second invocation; and out-of-order 281*d874e919Schristos expansion was still possible. Now, dependencies are guaranteed, 282*d874e919Schristos and subsequent invocations are a silent no-op. This makes 283*d874e919Schristos AC_DEFUN_ONCE an ideal macro for silencing AC_REQUIRE warnings. 284*d874e919Schristos 285*d874e919Schristos** The following macros are now defined with AC_DEFUN_ONCE. This means 286*d874e919Schristos a subtle change in semantics; previously, an AC_DEFUN macro could 287*d874e919Schristos expand one of these macros multiple times or surround the macro 288*d874e919Schristos inside shell conditional text to bypass the effects of these 289*d874e919Schristos macros, but now the macro will expand exactly once, and prior to 290*d874e919Schristos the start of any enclosing AC_DEFUN macro: 291*d874e919Schristos AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_CANONICAL_TARGET 292*d874e919Schristos AC_HEADER_ASSERT AC_PROG_INSTALL AC_PROG_MKDIR_P 293*d874e919Schristos AC_USE_SYSTEM_EXTENSIONS 294*d874e919Schristos 295*d874e919Schristos** AC_LANG_ERLANG works once again (regression introduced in 2.61a). 296*d874e919Schristos 297*d874e919Schristos** AC_HEADER_ASSERT is fixed so that './configure --enable-assert' no 298*d874e919Schristos longer mistakenly disables assertions. 299*d874e919Schristos 300*d874e919Schristos** AC_INIT now takes an optional fifth parameter that can be used to 301*d874e919Schristos set AC_PACKAGE_URL, a URL for the package's home page; the URL is 302*d874e919Schristos used in `configure --help' and is also available via AC_DEFINE. 303*d874e919Schristos 304*d874e919Schristos** Autotest testsuites accept an option --jobs[=N] for parallel testing. 305*d874e919Schristos This feature is still in testing, and may not work on every 306*d874e919Schristos platform, help in improving it would be appreciated. 307*d874e919Schristos 308*d874e919Schristos** Autotest testsuites do not attempt to write startup error messages 309*d874e919Schristos to the log file before that is opened (regression introduced in 2.63). 310*d874e919Schristos 311*d874e919Schristos** Configure scripts now use shell functions. This feature leads to 312*d874e919Schristos smaller configure files and faster execution. 313*d874e919Schristos 314*d874e919Schristos** Present But Cannot Be Compiled: Autoconf will now proceed with 315*d874e919Schristos the compiler's result if a header is present but cannot be compiled. 316*d874e919Schristos The warning is still printed, and you should really fix it by 317*d874e919Schristos providing a fourth parameter to AC_CHECK_HEADER/AC_CHECK_HEADERS. 318*d874e919Schristos 319*d874e919Schristos** Autoreconf added aclocal to the set of programs affected by the 320*d874e919Schristos `autoreconf -I dir' option. 321*d874e919Schristos 322*d874e919Schristos** The following documented m4sugar macros are new: 323*d874e919Schristos m4_chomp m4_chomp_all m4_cleardivert m4_curry m4_default_quoted 324*d874e919Schristos m4_esyscmd_s m4_map_args m4_map_args_pair m4_map_args_sep 325*d874e919Schristos m4_map_args_w m4_set_map m4_set_map_sep m4_stack_foreach 326*d874e919Schristos m4_stack_foreach_lifo m4_stack_foreach_sep 327*d874e919Schristos m4_stack_foreach_sep_lifo 328*d874e919Schristos 329*d874e919Schristos** The following m4sugar macros are documented now, but in some cases 330*d874e919Schristos with slightly different semantics than what the previous 331*d874e919Schristos undocumented version had: 332*d874e919Schristos m4_copy m4_dumpdefs m4_rename m4_version_prereq 333*d874e919Schristos 334*d874e919Schristos** The m4sugar macro m4_expand has been taught to handle unterminated 335*d874e919Schristos comments and shell case statements. As a result, it is used 336*d874e919Schristos internally in more places, such as AC_DEFINE and AT_CHECK. Most 337*d874e919Schristos uses of AC_DEFINE and AT_CHECK should not behave any differently; 338*d874e919Schristos however, it may be necessary to add double-quoting around 339*d874e919Schristos unbalanced `(' where single-quoting used to be sufficient. 340*d874e919Schristos 341*d874e919Schristos** The following documented m4sh macros are new: 342*d874e919Schristos AS_INIT_GENERATED AS_LINENO_PREPARE AS_ME_PREPARE AS_SET_STATUS 343*d874e919Schristos AS_VAR_APPEND AS_VAR_ARITH AS_VAR_COPY 344*d874e919Schristos 345*d874e919Schristos** The following m4sh macros are documented now, but in some cases 346*d874e919Schristos with slightly different semantics than what the previous 347*d874e919Schristos undocumented version had: 348*d874e919Schristos AS_ECHO AS_ECHO_N AS_ESCAPE AS_EXIT AS_LITERAL_IF AS_UNSET 349*d874e919Schristos AS_VAR_IF AS_VAR_POPDEF AS_VAR_PUSHDEF AS_VAR_SET AS_VAR_SET_IF 350*d874e919Schristos AS_VAR_TEST_SET AS_VERSION_COMPARE 351*d874e919Schristos 352*d874e919Schristos** The m4sh macros AS_IF and AS_CASE can now be used in shell lists. 353*d874e919Schristos The responsibility for supplying a trailing newline now belongs to 354*d874e919Schristos the call site, but since most users did not add dnl, this generally 355*d874e919Schristos results in fewer empty lines in configure. 356*d874e919Schristos 357*d874e919Schristos 358*d874e919Schristos* Major changes in Autoconf 2.63 (2008-09-09) [stable] 359*d874e919Schristos Released by Eric Blake, based on git versions 2.62.*. 360*d874e919Schristos 361*d874e919Schristos** AC_C_BIGENDIAN does not mistakenly report "universal" for some 362*d874e919Schristos bigendian hosts, a regression introduced with universal binary 363*d874e919Schristos support in 2.62. 364*d874e919Schristos 365*d874e919Schristos** AC_PATH_X now includes /lib64 and /usr/lib64 in its list of default 366*d874e919Schristos library directories. 367*d874e919Schristos 368*d874e919Schristos** AC_USE_SYSTEM_EXTENSIONS no longer conflicts with an external 369*d874e919Schristos AC_DEFINE([__EXTENSIONS__]). This fixes a regression introduced in 370*d874e919Schristos 2.62 when using macros such as AC_AIX that were made obsolete in 371*d874e919Schristos favor of the more portable AC_USE_SYSTEM_EXTENSIONS. 372*d874e919Schristos 373*d874e919Schristos** AC_CHECK_TARGET_TOOLS is usable in the non-cross-compile case. 374*d874e919Schristos 375*d874e919Schristos** Newly obsolete macros 376*d874e919Schristos The following macro has been marked obsolete, since current porting 377*d874e919Schristos targets can safely assume C89 semantics that signal handlers return 378*d874e919Schristos void. We have no current plans to remove the macro. 379*d874e919Schristos 380*d874e919Schristos AC_TYPE_SIGNAL 381*d874e919Schristos 382*d874e919Schristos** The macros m4_map and m4_map_sep now ignore any list elements 383*d874e919Schristos consisting of just empty quotes, and m4_map_sep now expands its 384*d874e919Schristos separator. This fixes a regression in 2.62 when these macros were 385*d874e919Schristos first documented, for the sake of clients expecting the semantics 386*d874e919Schristos that these macros had prior to that time. The new macros m4_mapall 387*d874e919Schristos and m4_mapall_sep, along with extra quoting of the separator, can 388*d874e919Schristos be used to get the semantics that m4_map_sep had in 2.62. 389*d874e919Schristos 390*d874e919Schristos** Clients of m4_expand, such as AS_HELP_STRING and AT_SETUP, can now 391*d874e919Schristos handle properly quoted but otherwise unbalanced parentheses (for 392*d874e919Schristos some macros, this fixes a regression in 2.62). 393*d874e919Schristos 394*d874e919Schristos** Two new quadrigraphs have been introduced: @{:@ for (, and @:}@ for ), 395*d874e919Schristos allowing the output of unbalanced parentheses in more contexts. 396*d874e919Schristos 397*d874e919Schristos** The following m4sugar macros are new: 398*d874e919Schristos m4_cleardivert m4_joinall m4_mapall m4_mapall_sep m4_reverse 399*d874e919Schristos m4_set_add m4_set_add_all m4_set_contains m4_set_contents 400*d874e919Schristos m4_set_delete m4_set_difference m4_set_dump m4_set_empty 401*d874e919Schristos m4_set_foreach m4_set_intersection m4_set_list m4_set_listc 402*d874e919Schristos m4_set_remove m4_set_size m4_set_union 403*d874e919Schristos 404*d874e919Schristos** The following m4sugar macros now accept multiple arguments, as is the 405*d874e919Schristos case with underlying m4: 406*d874e919Schristos m4_defn m4_popdef m4_undefine 407*d874e919Schristos 408*d874e919Schristos** The following m4sugar macros now guarantee linear scaling; they 409*d874e919Schristos previously had linear scaling with m4 1.6 but quadratic scaling 410*d874e919Schristos when using m4 1.4.x. All macros built on top of these also gain 411*d874e919Schristos the scaling improvements. 412*d874e919Schristos m4_bmatch m4_bpatsubsts m4_case m4_cond m4_do m4_dquote_elt 413*d874e919Schristos m4_foreach m4_join m4_list_cmp m4_map m4_map_sep m4_max 414*d874e919Schristos m4_min m4_shiftn 415*d874e919Schristos 416*d874e919Schristos** AT_KEYWORDS once again performs expansion on its argument, such that 417*d874e919Schristos AT_KEYWORDS([m4_if([$1], [], [default])]) no longer complains about 418*d874e919Schristos the possibly unexpanded m4_if [regression introduced in 2.62]. 419*d874e919Schristos 420*d874e919Schristos** Config header templates `#undef UNDEFINED /* comment */' do not lead to 421*d874e919Schristos nested comments any more; regression introduced in 2.62. 422*d874e919Schristos 423*d874e919Schristos 424*d874e919Schristos* Major changes in Autoconf 2.62 (2008-04-05) [stable] 425*d874e919Schristos Released by Eric Blake, based on git versions 2.61a.*. 426*d874e919Schristos 427*d874e919Schristos** Many optimizations have been applied to make overall execution faster. 428*d874e919Schristos 429*d874e919Schristos** Autotest now makes use of shell functions. 430*d874e919Schristos 431*d874e919Schristos** config.status now uses awk instead of sed also for config headers. 432*d874e919Schristos 433*d874e919Schristos - As a side effect, AC_DEFINE and AC_DEFINE_UNQUOTED now handle multi-line 434*d874e919Schristos values, i.e., backslash-newline combinations are handled correctly. 435*d874e919Schristos Further, for config headers, the total size of values is not limited by 436*d874e919Schristos the POSIX length limit of text lines any more, only each single line. 437*d874e919Schristos 438*d874e919Schristos** New config variable `top_build_prefix'. 439*d874e919Schristos 440*d874e919Schristos** New Autoconf macros: 441*d874e919Schristos AC_AUTOCONF_VERSION AC_OPENMP AC_PATH_PROGS_FEATURE_CHECK 442*d874e919Schristos 443*d874e919Schristos** AC_C_BIGENDIAN now supports universal binaries a la Mac OS X. 444*d874e919Schristos 445*d874e919Schristos** AC_C_RESTRICT now prefers to #define 'restrict' to a variant spelling 446*d874e919Schristos like '__restrict' if the variant spelling is available, as this is 447*d874e919Schristos more likely to work when mixing C and C++ code. 448*d874e919Schristos 449*d874e919Schristos** AC_CHECK_ALIGNOF's type argument T is now documented better: it must 450*d874e919Schristos be a string of tokens such that "T y;" is a valid member declaration 451*d874e919Schristos in a struct. 452*d874e919Schristos 453*d874e919Schristos** AC_CHECK_SIZEOF now accepts objects as well as types: the general rule 454*d874e919Schristos is that sizeof (X) works, then AC_CHECK_SIZEOF (X) should work. 455*d874e919Schristos 456*d874e919Schristos** AC_CHECK_TYPE and AC_CHECK_TYPES now work on any C type-name; formerly, 457*d874e919Schristos they did not work for function types. In C++, they now work on any 458*d874e919Schristos type-id that can be the operand of sizeof; this is similar to C, 459*d874e919Schristos except it excludes anonymous struct and union types. Formerly, 460*d874e919Schristos some (but not all) C++ types involving anonymous struct and union 461*d874e919Schristos were accepted, though this was not documented. 462*d874e919Schristos 463*d874e919Schristos** AC_CONFIG_LINKS now prefers to link against files in the build tree 464*d874e919Schristos if found, and it works to link against a file of the same name in 465*d874e919Schristos the source tree, even if both trees coincide. 466*d874e919Schristos 467*d874e919Schristos** AC_INIT no longer alters $@; regression introduced in 2.60. 468*d874e919Schristos 469*d874e919Schristos** AC_USE_SYSTEM_EXTENSIONS now defines _ALL_SOURCE for Interix platforms. 470*d874e919Schristos 471*d874e919Schristos** AS_HELP_STRING no longer underquotes its first argument; it also handles 472*d874e919Schristos the case where the first argument contains single-quoted commas. 473*d874e919Schristos For example, "AS_HELP_STRING([-a, [--arg[=foo]]], [bar])" produces: 474*d874e919Schristos " -a, --arg[=foo] bar" 475*d874e919Schristos Additionally, the macro now takes two additional arguments, 476*d874e919Schristos indent-column and wrap-column; these should not normally be needed, 477*d874e919Schristos but can be used to fine-tune how the output text is wrapped. 478*d874e919Schristos 479*d874e919Schristos** AC_PROG_INSTALL now requires an install program that can install multiple 480*d874e919Schristos files into a target directory. 481*d874e919Schristos 482*d874e919Schristos** The command 'autoconf -' now correctly processes a file from stdin. 483*d874e919Schristos 484*d874e919Schristos** 'autoreconf -m' now honors $MAKE. 485*d874e919Schristos 486*d874e919Schristos** For all of the directory arguments for 'configure', such as '--prefix' 487*d874e919Schristos or '--bindir', trailing slashes are stripped. As an example, if 488*d874e919Schristos tab completion in the user's shell appends trailing slashes, the 489*d874e919Schristos command './configure --prefix=/usr/' will still result in an 490*d874e919Schristos expanded libdir value of /usr/lib, not /usr//lib. 491*d874e919Schristos 492*d874e919Schristos** `configure --help=recursive' now works in read-only trees and from 493*d874e919Schristos unconfigured build trees. 494*d874e919Schristos 495*d874e919Schristos** If precious variables differ only in whitespace, then the cache consistency 496*d874e919Schristos check warns instead of fails, and reuses the old value. 497*d874e919Schristos 498*d874e919Schristos** AT_BANNER is now documented. 499*d874e919Schristos 500*d874e919Schristos** AT_SETUP now handles macro expansions properly when calculating line 501*d874e919Schristos length. 502*d874e919Schristos 503*d874e919Schristos** Autotest now determines $srcdir correctly. 504*d874e919Schristos 505*d874e919Schristos** Testsuites built by autotest now accept a -C/--directory=DIR option 506*d874e919Schristos to adjust the working directory prior to creating files. 507*d874e919Schristos 508*d874e919Schristos** Autoconf now requires GNU M4 1.4.5 or later. Earlier versions of M4 have 509*d874e919Schristos a bug in macro tracing that interferes with the interaction between 510*d874e919Schristos Autoconf and Automake. GNU M4 1.4.11 or later is recommended. The 511*d874e919Schristos configure search for a working M4 is improved. 512*d874e919Schristos 513*d874e919Schristos** For portability with the eventual M4 2.0, macros should no longer use 514*d874e919Schristos anything larger than $9 to refer to arguments. 515*d874e919Schristos 516*d874e919Schristos** Documentation for m4sugar is improved. 517*d874e919Schristos 518*d874e919Schristos - The following macros were previously available as undocumented 519*d874e919Schristos interfaces; the macros are now documented as stable interfaces. 520*d874e919Schristos 521*d874e919Schristos __oline__ m4_assert m4_bmatch m4_bpatsubsts m4_car m4_case 522*d874e919Schristos m4_cdr m4_default m4_divert_once m4_divert_pop m4_divert_push 523*d874e919Schristos m4_divert_text m4_do m4_errprintn m4_fatal m4_flatten 524*d874e919Schristos m4_ifndef m4_ifset m4_ifval m4_ifvaln m4_location 525*d874e919Schristos m4_n m4_shiftn m4_strip m4_warn 526*d874e919Schristos 527*d874e919Schristos - The following macros were previously available as undocumented 528*d874e919Schristos interfaces, but had bug fixes or semantic changes as part of this 529*d874e919Schristos release. Packages that relied on the undocumented behavior 530*d874e919Schristos should be analyzed to make sure they will still work with the 531*d874e919Schristos new documented behavior. 532*d874e919Schristos 533*d874e919Schristos m4_cmp m4_list_cmp m4_join m4_map m4_map_sep m4_sign 534*d874e919Schristos m4_text_box m4_text_wrap m4_version_compare 535*d874e919Schristos 536*d874e919Schristos - The m4_wrap macro used to have unspecified order, but now 537*d874e919Schristos guarantees FIFO order. m4_wrap_lifo was added to guarantee LIFO 538*d874e919Schristos order. 539*d874e919Schristos 540*d874e919Schristos - Packages using the undocumented m4sugar macro m4_PACKAGE_VERSION 541*d874e919Schristos should consider using the new AC_AUTOCONF_VERSION instead. 542*d874e919Schristos 543*d874e919Schristos - m4sugar macros that are not documented in the manual are still 544*d874e919Schristos deemed experimental, and should not be used outside of Autoconf. 545*d874e919Schristos 546*d874e919Schristos** The m4sugar macros m4_append and m4_append_uniq, first documented in 547*d874e919Schristos 2.60, have been fixed to treat both the string and the separator 548*d874e919Schristos arguments consistently with regards to quoting. Prior to this fix, 549*d874e919Schristos m4_append_uniq could mistakenly duplicate entries if the expansion 550*d874e919Schristos of the separator resulted in a different string (for example, if it 551*d874e919Schristos contained quotes, a comma, or a macro name). However, it means 552*d874e919Schristos that programs previously using 553*d874e919Schristos m4_append([name], [string], [[, ]]) 554*d874e919Schristos are now using a four-character separator instead of the intended 555*d874e919Schristos comma and space. If you need portability to earlier versions of 556*d874e919Schristos Autoconf, you can insert the following snippet after AC_INIT but 557*d874e919Schristos before any other macro expansions, to enforce the new semantics: 558*d874e919Schristos m4_pushdef([m4_append], [m4_define([$1], 559*d874e919Schristos m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) 560*d874e919Schristos Additionally, m4_append_uniq now takes optional parameters that can 561*d874e919Schristos be used to take action depending on whether anything was appended, 562*d874e919Schristos and warns if a non-empty separator occurs within the string being 563*d874e919Schristos appended, since that can lead to duplicates. 564*d874e919Schristos 565*d874e919Schristos** The following m4sugar macros are new: 566*d874e919Schristos m4_append_uniq_w m4_apply m4_combine m4_cond m4_count 567*d874e919Schristos m4_dquote_elt m4_echo m4_expand m4_ignore m4_make_list m4_max 568*d874e919Schristos m4_min m4_newline m4_shift2 m4_shift3 m4_unquote m4_wrap_lifo 569*d874e919Schristos 570*d874e919Schristos** Warnings are now generated by default when an installer invokes 571*d874e919Schristos 'configure' with an unknown --enable-* or --with-* option. 572*d874e919Schristos These warnings can be disabled with the new AC_DISABLE_OPTION_CHECKING 573*d874e919Schristos macro, or by invoking 'configure' with --disable-option-checking. 574*d874e919Schristos 575*d874e919Schristos** Existing obsolete macros 576*d874e919Schristos The documentation for the following macros is adjusted to make it 577*d874e919Schristos more clear that they have previously been marked obsolete, as their 578*d874e919Schristos functionality can be accomplished by other macros. We have no 579*d874e919Schristos current plans to remove them from Autoconf. 580*d874e919Schristos 581*d874e919Schristos AC_ENABLE AC_STRUCT_ST_BLKSIZE AC_STRUCT_ST_RDEV AC_WITH 582*d874e919Schristos 583*d874e919Schristos** Newly obsolete macros 584*d874e919Schristos The following macros have been marked obsolete, as they only 585*d874e919Schristos perform a subset of AC_USE_SYSTEM_EXTENSIONS. We have no current 586*d874e919Schristos plans to remove them. 587*d874e919Schristos 588*d874e919Schristos AC_AIX AC_GNU_SOURCE AC_ISC_POSIX AC_MINIX 589*d874e919Schristos 590*d874e919Schristos** AC_C_LONG_DOUBLE is obsolescent. 591*d874e919Schristos The documentation now says that AC_C_LONG_DOUBLE is obsolescent: it 592*d874e919Schristos tests for problems that are so old that it is no longer of 593*d874e919Schristos practical importance on current systems. New programs need not use 594*d874e919Schristos AC_C_LONG_DOUBLE. We have no current plans to remove it. 595*d874e919Schristos 596*d874e919Schristos** AC_DIAGNOSE, AC_WARNING, and AC_FATAL are obsolescent. 597*d874e919Schristos The documentation now favors the use of M4sugar macros m4_warn and 598*d874e919Schristos m4_fatal, since the naming makes it more obvious that the 599*d874e919Schristos diagnostics are associated with M4 expansion (ie. when running 600*d874e919Schristos `autoconf'), and offers less confusion with the AC_MSG_ERROR, 601*d874e919Schristos AC_MSG_FAILURE, and AC_MSG_WARN macros which manage diagnostics 602*d874e919Schristos when running `configure'. We have no current plans to remove these 603*d874e919Schristos macros. 604*d874e919Schristos 605*d874e919Schristos 606*d874e919Schristos* Major changes in Autoconf 2.61a (2006-12-11) 607*d874e919Schristos 608*d874e919Schristos** AC_FUNC_FSEEKO was broken in 2.61; it didn't make fseeko and ftello visible 609*d874e919Schristos on many platforms. This has been fixed. 610*d874e919Schristos 611*d874e919Schristos** AC_FUNC_SETVBUF_REVERSED is now obsolete. It is still defined for backward 612*d874e919Schristos compatibility but it does nothing. The macro was already 613*d874e919Schristos obsolescent, as the last systems to have the problem were those 614*d874e919Schristos based on SVR2, which became obsolete in 1987. The macro had bugs 615*d874e919Schristos on some modern systems and could no longer be maintained reliably 616*d874e919Schristos due to lack of ancient systems to test it on. 617*d874e919Schristos 618*d874e919Schristos** config.status now uses awk instead of sed for most substitutions, for speed. 619*d874e919Schristos 620*d874e919Schristos - As a side effect multi-line values of substituted variables no 621*d874e919Schristos longer have a small limit in total size, though for portability 622*d874e919Schristos each line should not exceed the POSIX length limit for text lines. 623*d874e919Schristos 624*d874e919Schristos - It is now documented that Makefile.in should not contain 625*d874e919Schristos overlapping variable occurrences, e.g., @VAR1@VAR2@. 626*d874e919Schristos Autoconf's behavior was always iffy in such cases, and the 627*d874e919Schristos awk implementation has changed the behavior. 628*d874e919Schristos 629*d874e919Schristos** Many uses of 'echo' have been rewritten so that Autoconf-generated 630*d874e919Schristos scripts have fewer problems with strings or file names containing 631*d874e919Schristos embedded special characters such as backslash or leading "-". This 632*d874e919Schristos was implemented by using `printf '%s\n' "$foo"' instead of `echo 633*d874e919Schristos "$foo"' when printf works. Due to the implementation technique 634*d874e919Schristos used, Autoconf-generated scripts now run considerably more slowly 635*d874e919Schristos on ancient implementations lacking printf. However, this should 636*d874e919Schristos not be a problem, since Autoconf-generated scripts in practice 637*d874e919Schristos invariably find a more-modern shell these days. 638*d874e919Schristos 639*d874e919Schristos 640*d874e919Schristos* Major changes in Autoconf 2.61 (2006-11-17) 641*d874e919Schristos 642*d874e919Schristos** New macros AC_C_FLEXIBLE_ARRAY_MEMBER, AC_C_VARARRAYS. 643*d874e919Schristos 644*d874e919Schristos** AC_ARG_ENABLE and AC_ARG_WITH now allow '.' in feature and package names. 645*d874e919Schristos 646*d874e919Schristos 647*d874e919Schristos* Major changes in Autoconf 2.60b (2006-10-22) 648*d874e919Schristos 649*d874e919Schristos** BIN_SH 650*d874e919Schristos Autoconf-generated shell scripts no longer export BIN_SH, due to 651*d874e919Schristos configuration hassles with this. Installers who need BIN_SH in 652*d874e919Schristos their environment should set it before invoking 'configure' and 653*d874e919Schristos 'make'. As far as we know, this affects only Unixware installations. 654*d874e919Schristos 655*d874e919Schristos** Obsolescent macros 656*d874e919Schristos The documentation now says that the following macros are obsolescent, 657*d874e919Schristos as they are superseded by Gnulib: 658*d874e919Schristos 659*d874e919Schristos AC_FUNC_FNMATCH AC_FUNC_FNMATCH_GNU AC_FUNC_GETLOADVG AC_REPLACE_FNMATCH 660*d874e919Schristos 661*d874e919Schristos New programs should use the Gnulib counterparts of these macros. 662*d874e919Schristos We have no current plans to remove them from Autoconf. 663*d874e919Schristos 664*d874e919Schristos** AC_COMPUTE_INT no longer caches or reports results. 665*d874e919Schristos 666*d874e919Schristos** AC_CHECK_DECL now also works with aggregate objects. 667*d874e919Schristos 668*d874e919Schristos** AC_USE_SYSTEM_EXTENSIONS now defines _TANDEM_SOURCE for NonStop platforms. 669*d874e919Schristos 670*d874e919Schristos** GNU M4 1.4.7 or later is now recommended. 671*d874e919Schristos 672*d874e919Schristos** m4_mkstemp 673*d874e919Schristos New M4sugar macro, which is more secure than the POSIX M4 maketemp. 674*d874e919Schristos 675*d874e919Schristos** m4_maketemp 676*d874e919Schristos Now an alias for m4_mkstemp. 677*d874e919Schristos 678*d874e919Schristos* Major changes in Autoconf 2.60a (2006-08-25) 679*d874e919Schristos 680*d874e919Schristos** GNU M4 1.4.6 or later is now recommended. 681*d874e919Schristos 682*d874e919Schristos** The check for C99 now tests for varargs macros, as documented. 683*d874e919Schristos It also tests that the preprocessor supports 64-bit integers. 684*d874e919Schristos 685*d874e919Schristos** Autoconf now uses constructs like "#ifdef HAVE_STDLIB_H" rather than 686*d874e919Schristos "#if HAVE_STDLIB_H", so that it now works with "gcc -Wundef -Werror". 687*d874e919Schristos 688*d874e919Schristos** The functionality of the undocumented _AC_COMPUTE_INT is now provided 689*d874e919Schristos by a public and documented macro, AC_COMPUTE_INT. The parameters to the 690*d874e919Schristos two macros are different, so autoupdate will not change the old private name 691*d874e919Schristos to the new one. _AC_COMPUTE_INT may be removed in a future release. 692*d874e919Schristos 693*d874e919Schristos** AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT now require 694*d874e919Schristos that long long types be at least 64 bits wide, as C99 and tradition 695*d874e919Schristos requires. Formerly, they accepted implementations of any width. 696*d874e919Schristos 697*d874e919Schristos 698*d874e919Schristos* Major changes in Autoconf 2.60 699*d874e919Schristos 700*d874e919Schristos Released 2006-06-23, by Ralf Wildenhues. 701*d874e919Schristos 702*d874e919Schristos** Autoconf no longer depends on whether m4wrap is FIFO (as Posix requires) 703*d874e919Schristos or LIFO (as in GNU M4 1.4.x). GNU M4 2.0 is expected to conform to Posix 704*d874e919Schristos here, so m4wrap/m4_wrap users should no longer depend on LIFO behavior. 705*d874e919Schristos 706*d874e919Schristos** Provide a way to turn off warnings about the changed directory variables. 707*d874e919Schristos 708*d874e919Schristos* Major changes in Autoconf 2.59d 709*d874e919Schristos 710*d874e919Schristos Released 2006-06-05, by Ralf Wildenhues. 711*d874e919Schristos 712*d874e919Schristos** GNU make now recommended for VPATH builds 713*d874e919Schristos INSTALL now suggests VPATH builds (e.g., "sh ../srcdir/configure") 714*d874e919Schristos only if you use GNU make. In practice, other 'make' implementations 715*d874e919Schristos have too many subtle incompatibilities in their support for VPATH. 716*d874e919Schristos Many packages (including Autoconf itself) are portable to other 717*d874e919Schristos 'make' implementations, but some packages are not, and recommending 718*d874e919Schristos GNU make keeps the installation instructions simpler. 719*d874e919Schristos 720*d874e919Schristos** Even more safety checks for the new Directory variables: 721*d874e919Schristos Warn about suspicious `${datarootdir}' found in config files output. 722*d874e919Schristos 723*d874e919Schristos** AC_TRY_COMMAND, AC_TRY_EVAL, ac_config_guess, ac_config_sub, ac_configure 724*d874e919Schristos These never-documented macros and variables have been marked with 725*d874e919Schristos comments saying that they may be removed in a future release, 726*d874e919Schristos because their use can lead to unintended code being executed. 727*d874e919Schristos If you need functionality that only these macros or variables 728*d874e919Schristos currently supply, please write bug-autoconf@gnu.org. 729*d874e919Schristos 730*d874e919Schristos** AC_SUBST, AC_DEFINE 731*d874e919Schristos Literal arguments to these are passed to m4_pattern_allow now. 732*d874e919Schristos 733*d874e919Schristos** AC_PROG_CC_STDC 734*d874e919Schristos Passing 'ac_cv_prog_cc_stdc=no' to 'configure' now sets ac_cv_prog_cc_c99 735*d874e919Schristos and ac_cv_prog_cc_c89 to 'no' as well, for backward compatibility with 736*d874e919Schristos obsolete K&R tests in the Automake test suite. 737*d874e919Schristos 738*d874e919Schristos** AC_PROG_CXX_C_O 739*d874e919Schristos New macro. 740*d874e919Schristos 741*d874e919Schristos** AC_PROG_MKDIR_P 742*d874e919Schristos New macro. 743*d874e919Schristos 744*d874e919Schristos** AS_MKDIR_P 745*d874e919Schristos Now more robust with special characters in file names, or when 746*d874e919Schristos multiple processes create the same directory at the same time. 747*d874e919Schristos 748*d874e919Schristos** Obsolescent macros 749*d874e919Schristos The documentation now says that the following macros are obsolescent: 750*d874e919Schristos they test for problems that are so old that they are no longer of 751*d874e919Schristos practical importance on current systems. 752*d874e919Schristos 753*d874e919Schristos AC_C_BACKSLASH_A AC_FUNC_MEMCMP AC_HEADER_DIRENT 754*d874e919Schristos AC_C_CONST AC_FUNC_SELECT_ARGTYPES AC_HEADER_STAT 755*d874e919Schristos AC_C_PROTOTYPES AC_FUNC_SETPGRP AC_HEADER_STDC 756*d874e919Schristos AC_C_STRINGIZE AC_FUNC_SETVBUF_REVERSED AC_HEADER_SYS_WAIT 757*d874e919Schristos AC_C_VOLATILE AC_FUNC_STAT AC_HEADER_TIME 758*d874e919Schristos AC_FUNC_CLOSEDIR_VOID AC_FUNC_STRFTIME AC_ISC_POSIX 759*d874e919Schristos AC_FUNC_GETPGRP AC_FUNC_UTIME_NULL AC_PROG_GCC_TRADITIONAL 760*d874e919Schristos AC_FUNC_LSTAT AC_FUNC_VPRINTF AC_STRUCT_TM 761*d874e919Schristos 762*d874e919Schristos New programs need not use these macros. We have no current plans to 763*d874e919Schristos remove them. 764*d874e919Schristos 765*d874e919Schristos** autoreconf 766*d874e919Schristos For compatibility with future Libtool 2.0, autoreconf will invoke 767*d874e919Schristos libtoolize with the option `--ltdl' now, if LT_CONFIG_LTDL_DIR is 768*d874e919Schristos used. 769*d874e919Schristos 770*d874e919Schristos* Major changes in Autoconf 2.59c 771*d874e919Schristos 772*d874e919Schristos Released 2006-04-12, by Ralf Wildenhues. 773*d874e919Schristos 774*d874e919Schristos** The configure command now redirects standard input from /dev/null, 775*d874e919Schristos to help avoid problems with subsidiary commands that might mistakenly 776*d874e919Schristos read standard input. AS_ORIGINAL_STDIN_FD points to the original 777*d874e919Schristos standard input before this redirection, if you really want configure to 778*d874e919Schristos read from standard input. 779*d874e919Schristos 780*d874e919Schristos** Directory variables adjusted to recent changes in the GNU Coding Standards. 781*d874e919Schristos The following directory variables are new: 782*d874e919Schristos 783*d874e919Schristos datarootdir read-only architecture-independent data root [PREFIX/share] 784*d874e919Schristos localedir locale-specific message catalogs [DATAROOTDIR/locale] 785*d874e919Schristos docdir documentation root [DATAROOTDIR/doc/PACKAGE] 786*d874e919Schristos htmldir html documentation [DOCDIR] 787*d874e919Schristos dvidir dvi documentation [DOCDIR] 788*d874e919Schristos pdfdir pdf documentation [DOCDIR] 789*d874e919Schristos psdir ps documentation [DOCDIR] 790*d874e919Schristos 791*d874e919Schristos The following variables have new default values: 792*d874e919Schristos 793*d874e919Schristos datadir read-only architecture-independent data [DATAROOTDIR] 794*d874e919Schristos infodir info documentation [DATAROOTDIR/info] 795*d874e919Schristos mandir man documentation [DATAROOTDIR/man] 796*d874e919Schristos 797*d874e919Schristos This means that if you use any of `@datadir@', `@infodir@', or 798*d874e919Schristos `@mandir@' in a file, you will have to ensure `${datarootdir}' is 799*d874e919Schristos defined in this file. As a temporary measure, if any of those are 800*d874e919Schristos found but no mention of `datarootdir', the substitutions will be 801*d874e919Schristos replaced with values that do not contain `${datarootdir}', and a 802*d874e919Schristos warning will be issued. 803*d874e919Schristos 804*d874e919Schristos** @top_builddir@ is now a dir name: it is always nonempty and doesn't have 805*d874e919Schristos a trailing slash. Similar change will be made to ac_top_builddir in a 806*d874e919Schristos future release; the old style value, which matches (../)*, is (and will 807*d874e919Schristos continue to be) available as ac_top_build_prefix. 808*d874e919Schristos 809*d874e919Schristos** AC_C_TYPEOF 810*d874e919Schristos New macro to check for support of 'typeof' syntax a la GNU C. 811*d874e919Schristos 812*d874e919Schristos** AC_CHECK_DECLS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS_ONCE 813*d874e919Schristos New "once-only" variants of commonly-used macros, to make 'configure' 814*d874e919Schristos smaller and faster in common cases. 815*d874e919Schristos 816*d874e919Schristos** AC_FUNC_STRTOLD 817*d874e919Schristos New macro to check for strtold with C99 semantics. 818*d874e919Schristos 819*d874e919Schristos** AC_HEADER_ASSERT 820*d874e919Schristos New macro that lets builder disable assertions at 'configure'-time. 821*d874e919Schristos 822*d874e919Schristos** AC_PATH_X 823*d874e919Schristos Now checks for X11/Xlib.h and XrmInitialize (X proper) rather than 824*d874e919Schristos X11/Intrinsic.h and XtMalloc (Xt). 825*d874e919Schristos 826*d874e919Schristos** AC_PRESERVE_HELP_ORDER 827*d874e919Schristos New macro that causes `configure' to display help strings for AC_ARG_ENABLE 828*d874e919Schristos and AC_ARG_WITH arguments in one region, in the order defined. The default 829*d874e919Schristos behavior is to group options of each classes separately. 830*d874e919Schristos 831*d874e919Schristos** AC_PROG_CC, AC_PROG_CXX 832*d874e919Schristos No longer automatically arrange to declare the 'exit' function of C, 833*d874e919Schristos when a C++ compiler is used. Standard Autoconf macros no longer use 834*d874e919Schristos 'exit', so this is no longer an issue for them. If you use C++, and 835*d874e919Schristos want to call 'exit', you'll have to arrange for its declaration 836*d874e919Schristos yourself. But we now suggest you return from 'main' instead. 837*d874e919Schristos 838*d874e919Schristos** AC_PROG_CC_C89, AC_PROG_CC_C99 839*d874e919Schristos New macros for ISO C99 support. AC_PROG_CC_C89 and AC_PROG_CC_C99 840*d874e919Schristos check for ANSI C89 and ISO C99 support respectively. 841*d874e919Schristos 842*d874e919Schristos** AC_PROG_CC_STDC 843*d874e919Schristos Has been unobsoleted, and will check if the compiler supports ISO 844*d874e919Schristos C99, falling back to ANSI C89 if not. ac_cv_prog_cc_stdc is 845*d874e919Schristos retained for backwards compatibility, assuming the value of 846*d874e919Schristos ac_cv_prog_cc_c99 or ac_cv_prog_cc_c89 (whichever is valid, in 847*d874e919Schristos that order). 848*d874e919Schristos 849*d874e919Schristos** AC_STRUCT_DIRENT_D_INO, AC_STRUCT_DIRENT_D_TYPE 850*d874e919Schristos New macros for checking commonly-used members of struct dirent. 851*d874e919Schristos 852*d874e919Schristos** AC_SUBST 853*d874e919Schristos The substituted value can now contain newlines. 854*d874e919Schristos 855*d874e919Schristos** AC_SUBST_FILE 856*d874e919Schristos The substitution now occurs only when @variable@ is on a line by itself, 857*d874e919Schristos optionally surrounded by spaces and tabs. The whole line is replaced. 858*d874e919Schristos 859*d874e919Schristos** AC_TYPE_LONG_DOUBLE, AC_TYPE_LONG_DOUBLE_WIDER 860*d874e919Schristos New macros to check for long double, and whether it is wider than double. 861*d874e919Schristos The old macro AC_C_TYPE_LONG_DOUBLE has been marked as obsolete; 862*d874e919Schristos applications should switch to the new macro. 863*d874e919Schristos 864*d874e919Schristos** AC_TYPE_INT8_T, AC_TYPE_INT16_T, AC_TYPE_INT32_T, AC_TYPE_INT64_T, 865*d874e919Schristos AC_TYPE_INTMAX_T, AC_TYPE_INTPTR_T, AC_TYPE_LONG_LONG_INT, AC_TYPE_SSIZE_T, 866*d874e919Schristos AC_TYPE_UINT8_T, AC_TYPE_UINT16_T, AC_TYPE_UINT32_T, AC_TYPE_UINT64_T, 867*d874e919Schristos AC_TYPE_UINTMAX_T, AC_TYPE_UINTPTR_T, AC_TYPE_UNSIGNED_LONG_LONG_INT 868*d874e919Schristos New macros to check for C99 and POSIX types. 869*d874e919Schristos 870*d874e919Schristos** AC_USE_SYSTEM_EXTENSIONS 871*d874e919Schristos New macro to enable extensions to Posix. 872*d874e919Schristos 873*d874e919Schristos** AH_HEADER 874*d874e919Schristos New macro which is defined to the name of the first declared config header 875*d874e919Schristos or undefined if no config headers have been declared yet. 876*d874e919Schristos 877*d874e919Schristos** AS_HELP_STRING 878*d874e919Schristos The macro correctly handles quadrigraphs now. 879*d874e919Schristos 880*d874e919Schristos** AS_BOURNE_COMPATIBLE, AS_SHELL_SANITIZE, AS_CASE 881*d874e919Schristos These macros are new or published now. 882*d874e919Schristos 883*d874e919Schristos** AT_COPYRIGHT 884*d874e919Schristos New macro for copyright notices in testsuite files. 885*d874e919Schristos 886*d874e919Schristos** ALLOCA, LIBOBJS, LTLIBOBJS 887*d874e919Schristos Object names added to these variables are now prefixed with `${LIBOBJDIR}', 888*d874e919Schristos as in `${LIBOBJDIR}alloca.o'. LIBOBJDIR is meant to be defined from 889*d874e919Schristos `Makefile.in' in case the object files lie in a different directory. 890*d874e919Schristos The LIBOBJDIR feature is experimental. 891*d874e919Schristos 892*d874e919Schristos** autoreconf 893*d874e919Schristos Supports --no-recursive now. 894*d874e919Schristos 895*d874e919Schristos** New macros to support Erlang/OTP. 896*d874e919Schristos New macros for configuring paths to Erlang tools and libraries: 897*d874e919Schristos AC_ERLANG_PATH_ERLC, AC_ERLANG_NEED_ERLC, AC_ERLANG_PATH_ERL, 898*d874e919Schristos AC_ERLANG_NEED_ERL, AC_ERLANG_CHECK_LIB, AC_ERLANG_SUBST_ROOT_DIR, 899*d874e919Schristos AC_ERLANG_SUBST_LIB_DIR. 900*d874e919Schristos 901*d874e919Schristos New macros for configuring installation of Erlang libraries: 902*d874e919Schristos AC_ERLANG_SUBST_INSTALL_LIB_DIR, AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR. 903*d874e919Schristos 904*d874e919Schristos** The manual now mentions Gnulib more prominently. 905*d874e919Schristos 906*d874e919Schristos** New macros to support Objective C. 907*d874e919Schristos AC_PROG_OBJC, AC_PROG_OBJCPP. 908*d874e919Schristos 909*d874e919Schristos* Major changes in Autoconf 2.59b 910*d874e919Schristos 911*d874e919Schristos Released 2004-08-20, by Paul Eggert. 912*d874e919Schristos 913*d874e919Schristos** AC_CHECK_ALIGNOF 914*d874e919Schristos New macro that computes the default alignment of a type. 915*d874e919Schristos 916*d874e919Schristos** AC_CHECK_TOOL, AC_PATH_TOOL, AC_CHECK_TOOLS 917*d874e919Schristos When cross-compiling, these macros will give a warning if the tool 918*d874e919Schristos is not prefixed. In the future, unprefixed cross tools will not 919*d874e919Schristos be detected; please consult the info documentation for information 920*d874e919Schristos about the reason of this change. 921*d874e919Schristos 922*d874e919Schristos** AC_CHECK_TARGET_TOOL, AC_PATH_TARGET_TOOL, AC_CHECK_TARGET_TOOLS 923*d874e919Schristos New macros that detect programs whose name is prefixed with the 924*d874e919Schristos target type, if the build type and target type are different. 925*d874e919Schristos 926*d874e919Schristos** AC_REQUIRE_AUX_FILE 927*d874e919Schristos New trace macro that declares expected auxiliary files. 928*d874e919Schristos 929*d874e919Schristos** AC_PROG_GREP 930*d874e919Schristos New macro that tests for a grep program that accepts as a long a line 931*d874e919Schristos as possible. 932*d874e919Schristos 933*d874e919Schristos** AC_PROG_EGREP, AC_PROG_FGREP 934*d874e919Schristos These macros now require AC_PROG_GREP, and try EGREP="$GREP -E" and 935*d874e919Schristos FGREP="$GREP -F" respectively if possible, or else run a path search for 936*d874e919Schristos a program that accepts as long a line as possible. 937*d874e919Schristos 938*d874e919Schristos** AC_PROG_SED 939*d874e919Schristos New macro that tests for a sed program that truncates as few characters 940*d874e919Schristos as possible. 941*d874e919Schristos 942*d874e919Schristos* Major changes in Autoconf 2.59 943*d874e919Schristos 944*d874e919Schristos Released 2003-11-04, by Akim Demaille 945*d874e919Schristos 946*d874e919Schristos** ac_abs_builddir etc. 947*d874e919Schristos Absolute file names were actually relative in 2.58. 948*d874e919Schristos 949*d874e919Schristos* Major changes in Autoconf 2.58 950*d874e919Schristos 951*d874e919Schristos Released 2003-11-04, by Akim Demaille 952*d874e919Schristos 953*d874e919Schristos** core.* 954*d874e919Schristos core.* files are no longer removed, as they may be valid user files. 955*d874e919Schristos 956*d874e919Schristos** autoreconf and auxiliary directory 957*d874e919Schristos Autoreconf creates the auxiliary directory if needed. This is 958*d874e919Schristos especially useful for initial "bootstrapping" of fresh CVS checkouts. 959*d874e919Schristos 960*d874e919Schristos** AC_CONFIG_MACRO_DIR 961*d874e919Schristos Use this macro to declare the directory for local M4 macros for aclocal. 962*d874e919Schristos 963*d874e919Schristos** AC_LIBOBJS 964*d874e919Schristos No longer includes twice the same file in LIBOBJS if invoked 965*d874e919Schristos multiple times. 966*d874e919Schristos 967*d874e919Schristos** AC_CONFIG_COMMANDS 968*d874e919Schristos The directory for its first argument is automatically created. For 969*d874e919Schristos instance, with 970*d874e919Schristos 971*d874e919Schristos AC_CONFIG_COMMANDS([src/modules.hh], [...]) 972*d874e919Schristos 973*d874e919Schristos $top_builddir/src/ is created if needed. 974*d874e919Schristos 975*d874e919Schristos** Autotest and local.at 976*d874e919Schristos The optional file local.at is always included in Autotest test suites. 977*d874e919Schristos 978*d874e919Schristos** Warnings 979*d874e919Schristos The warnings are always issued, including with cached runs. 980*d874e919Schristos This became a significant problem since aclocal and automake can 981*d874e919Schristos run autoconf behind the scene. 982*d874e919Schristos 983*d874e919Schristos** autoheader warnings 984*d874e919Schristos The warnings of autoheader can be turned off, using --warning. 985*d874e919Schristos For instance, -Wno-obsolete disables the complaints about acconfig.h 986*d874e919Schristos and other deprecated constructs. 987*d874e919Schristos 988*d874e919Schristos** New macros 989*d874e919Schristos AC_C_RESTRICT, AC_INCLUDES_DEFAULT, AC_LANG_ASSERT, AC_LANG_WERROR, 990*d874e919Schristos AS_SET_CATFILE. 991*d874e919Schristos 992*d874e919Schristos** AC_DECL_SYS_SIGLIST 993*d874e919Schristos Works again. 994*d874e919Schristos 995*d874e919Schristos** AC_FUNC_MKTIME 996*d874e919Schristos Now checks that mktime is the inverse of localtime. 997*d874e919Schristos 998*d874e919Schristos** Improve DJGPP portability 999*d874e919Schristos The Autoconf tools and configure behave better under DJGPP. 1000*d874e919Schristos 1001*d874e919Schristos** Present But Cannot Be Compiled 1002*d874e919Schristos New FAQ section dedicated to the mystic 1003*d874e919Schristos 1004*d874e919Schristos configure: WARNING: pi.h: present but cannot be compiled 1005*d874e919Schristos configure: WARNING: pi.h: check for missing prerequisite headers? 1006*d874e919Schristos configure: WARNING: pi.h: proceeding with the preprocessor's result 1007*d874e919Schristos messages. 1008*d874e919Schristos 1009*d874e919Schristos** Concurrent executions of autom4te 1010*d874e919Schristos autom4te now locks its internal files, which enables concurrent 1011*d874e919Schristos executions of autom4te, likely to happen if automake, autoconf, 1012*d874e919Schristos autoheader etc. are run simultaneously. 1013*d874e919Schristos 1014*d874e919Schristos** Libtool 1015*d874e919Schristos Use of Libtool 1.5 and higher is encouraged. Compatibility with 1016*d874e919Schristos Libtool pre-1.4 is not checked. 1017*d874e919Schristos 1018*d874e919Schristos** Autotest 1019*d874e919Schristos Testsuites no longer rerun failed tests in verbose mode; instead, 1020*d874e919Schristos failures are logged while the test is run. 1021*d874e919Schristos 1022*d874e919Schristos In addition, expected failures can be marked as such. 1023*d874e919Schristos 1024*d874e919Schristos* Major changes in Autoconf 2.57 1025*d874e919Schristos 1026*d874e919Schristos Released 2002-12-03 by Paul Eggert. 1027*d874e919Schristos 1028*d874e919SchristosBug fixes for problems with AIX linker, with freestanding C compilers, 1029*d874e919Schristoswith GNU M4 limitations, and with obsolete copies of GNU documents. 1030*d874e919Schristos 1031*d874e919SchristosThe Free Documentation License has been upgraded from 1.1 to 1.2. 1032*d874e919Schristos 1033*d874e919Schristos* Major changes in Autoconf 2.56 1034*d874e919Schristos 1035*d874e919Schristos Released 2002-11-15 by Akim Demaille. 1036*d874e919Schristos 1037*d874e919SchristosOne packaging problem fixed (config/install-sh was not executable). 1038*d874e919Schristos 1039*d874e919Schristos* Major changes in Autoconf 2.55 1040*d874e919Schristos 1041*d874e919Schristos Released 2002-11-14 by Akim Demaille. 1042*d874e919Schristos 1043*d874e919SchristosRelease tips: 1044*d874e919Schristos 1045*d874e919Schristos Have your configure.ac checked by autoscan ("autoscan"). 1046*d874e919Schristos Try the warning options ("autoreconf -fv -Wall"). 1047*d874e919Schristos 1048*d874e919Schristos** Documentation 1049*d874e919Schristos 1050*d874e919Schristos- AC_CHECK_HEADER, AC_CHECK_HEADERS 1051*d874e919Schristos More information on proper use. 1052*d874e919Schristos 1053*d874e919Schristos- Writing Test Programs 1054*d874e919Schristos 1055*d874e919Schristos This sections explains how to write good test sources to use with 1056*d874e919Schristos AC_COMPILE_IFELSE etc. It documents AC_LANG_PROGRAM and so forth. 1057*d874e919Schristos 1058*d874e919Schristos- AC_FOO_IFELSE vs. AC_TRY_FOO 1059*d874e919Schristos 1060*d874e919Schristos Explains why Autoconf moves from AC_TRY_COMPILE etc. to 1061*d874e919Schristos AC_COMPILE_IFELSE and AC_LANG_PROGRAM etc. 1062*d874e919Schristos 1063*d874e919Schristos** autoreconf 1064*d874e919Schristos 1065*d874e919Schristos- Is more robust to different Gettext installations. 1066*d874e919Schristos 1067*d874e919Schristos- Produces messages (when --verbose) to be understood by Emacs' 1068*d874e919Schristos compile mode. 1069*d874e919Schristos 1070*d874e919Schristos- Supports -W/--warnings. 1071*d874e919Schristos 1072*d874e919Schristos- -m/--make 1073*d874e919Schristos Once the GNU Build System reinstalled, run `./config.status 1074*d874e919Schristos --recheck && ./config.status && make' if possible. 1075*d874e919Schristos 1076*d874e919Schristos** autom4te 1077*d874e919Schristos 1078*d874e919Schristos- Supports --cache, and --no-cache. 1079*d874e919Schristos 1080*d874e919Schristos- ~/.autom4te.cfg makes it possible to disable the caching mechanism 1081*d874e919Schristos (autom4te.cache). See `Customizing autom4te' in the documentation. 1082*d874e919Schristos 1083*d874e919Schristos** config.status 1084*d874e919Schristos Supports --quiet. 1085*d874e919Schristos 1086*d874e919Schristos** Obsolete options 1087*d874e919Schristos 1088*d874e919Schristos Support for the obsoleted options -m, --macrodir, -l, --localdir is 1089*d874e919Schristos dropped in favor of the safer --include/--prepend-include scheme. 1090*d874e919Schristos 1091*d874e919Schristos** Macros 1092*d874e919Schristos 1093*d874e919Schristos- New macros 1094*d874e919Schristos AC_COMPILER_IFELSE, AC_FUNC_MBRTOWC, AC_HEADER_STDBOOL, 1095*d874e919Schristos AC_LANG_CONFTEST, AC_LANG_SOURCE, AC_LANG_PROGRAM, AC_LANG_CALL, 1096*d874e919Schristos AC_LANG_FUNC_TRY_LINK, AC_MSG_FAILURE, AC_PREPROC_IFELSE. 1097*d874e919Schristos 1098*d874e919Schristos- Obsoleted 1099*d874e919Schristos Obsoleted macros are kept for Autoconf backward compatibility, but 1100*d874e919Schristos should be avoided in configure.ac. Running autoupdate is advised. 1101*d874e919Schristos AC_DECL_SYS_SIGLIST. 1102*d874e919Schristos 1103*d874e919Schristos- AC_DEFINE/AC_DEFINE_UNQUOTED 1104*d874e919Schristos 1105*d874e919Schristos We have to stop using the old compatibility scheme --that tried to 1106*d874e919Schristos avoid useless backslashes-- because Libtool 1.4.3 contains a 1107*d874e919Schristos 1108*d874e919Schristos AC_DEFINE([error_t], [int], 1109*d874e919Schristos [Define to a type to use for \`error_t' if it is not 1110*d874e919Schristos otherwise available.]) 1111*d874e919Schristos 1112*d874e919Schristos We have to quote the single quotes and backslashes with \. The old 1113*d874e919Schristos compatibility scheme saw that ` was backslashed, and therefore did 1114*d874e919Schristos not quote the single quote... Failure. Hence, Autoconf 2.54 is not 1115*d874e919Schristos compatible with Libtool. Autoconf 2.55 is, but in some cases might 1116*d874e919Schristos produce more \ than wanted. 1117*d874e919Schristos 1118*d874e919Schristos Please, note that in the future the same problem will happen with 1119*d874e919Schristos AC_MSG_*: use `autoreconf -f -Wall'. 1120*d874e919Schristos 1121*d874e919Schristos** Bug Fixes 1122*d874e919Schristos 1123*d874e919Schristos- Portability of the Autoconf package to Solaris. 1124*d874e919Schristos 1125*d874e919Schristos- Spurious warnings caused by config.status. 1126*d874e919Schristos This bug is benign, but painful: on some systems (typically 1127*d874e919Schristos FreeBSD), warnings such as: 1128*d874e919Schristos 1129*d874e919Schristos config.status: creating Makefile 1130*d874e919Schristos mv: Makefile: set owner/group (was: 1357/0): Operation not permitted 1131*d874e919Schristos 1132*d874e919Schristos could be issued. This is fixed. 1133*d874e919Schristos 1134*d874e919Schristos- Parallel Builds 1135*d874e919Schristos Simultaneous executions of config.status are possible again. 1136*d874e919Schristos 1137*d874e919Schristos- Precious variables accumulation 1138*d874e919Schristos 1139*d874e919Schristos config.status could stack several copies of the precious variables 1140*d874e919Schristos assignments. 1141*d874e919Schristos 1142*d874e919Schristos 1143*d874e919Schristos** Plans for later versions 1144*d874e919Schristos 1145*d874e919Schristos- ./configure <host> 1146*d874e919Schristos 1147*d874e919Schristos The compatibility hooks with the old scheme will be completely 1148*d874e919Schristos removed. Please, advice/use `--build', `--host', and `--target' 1149*d874e919Schristos only. 1150*d874e919Schristos 1151*d874e919Schristos- AC_CHECK_HEADER, AC_CHECK_HEADERS 1152*d874e919Schristos 1153*d874e919Schristos The tests will be stricter, please make sure your invocations are 1154*d874e919Schristos valid. 1155*d874e919Schristos 1156*d874e919Schristos- shell functions 1157*d874e919Schristos 1158*d874e919Schristos Shell functions will gradually be introduced, probably starting with 1159*d874e919Schristos Autotest. If you know machines which are in use that you suspect 1160*d874e919Schristos *not* to support shell functions, please run the test suite of 1161*d874e919Schristos Autoconf 2.55 on it, and report the results to 1162*d874e919Schristos bug-autoconf@gnu.org. 1163*d874e919Schristos 1164*d874e919Schristos- AC_MSG_* 1165*d874e919Schristos 1166*d874e919Schristos Special characters in AC_MSG_* need not be quoted. Currently, 1167*d874e919Schristos Autoconf has heuristics to decide when a string is escaped, or has 1168*d874e919Schristos to be escaped. This scheme is fragile, and will be removed; the 1169*d874e919Schristos only risk is uglified messages. Please, run `autoreconf -f -Wall' 1170*d874e919Schristos to find occurrences that will be affected. 1171*d874e919Schristos 1172*d874e919Schristos* Major changes in Autoconf 2.54 1173*d874e919Schristos 1174*d874e919Schristos Released 2002-09-13 by Akim Demaille. 1175*d874e919Schristos 1176*d874e919Schristos** Executables 1177*d874e919Schristos 1178*d874e919Schristos- autoreconf no longer changes the version of the gettext/po/intl 1179*d874e919Schristos support files. It now adds the files the correspond to the 1180*d874e919Schristos AM_GNU_GETTEXT_VERSION declared in configure.ac. 1181*d874e919Schristos 1182*d874e919Schristos Warning: It now relies on the 'autopoint' program, which is part 1183*d874e919Schristos of GNU gettext 0.11.4 and newer. 1184*d874e919Schristos 1185*d874e919Schristos Please note that you need to have a GNU gettext version that 1186*d874e919Schristos corresponds at least to the AM_GNU_GETTEXT_VERSION declared 1187*d874e919Schristos in configure.ac. You can upgrade to newer GNU gettext versions, 1188*d874e919Schristos though, without needing to change configure.ac. 1189*d874e919Schristos 1190*d874e919Schristos- The -I DIR or --include=DIR option now appends DIR to the include path 1191*d874e919Schristos instead of prepending; this is for consistency with other GNU tools. 1192*d874e919Schristos The new -B DIR or --prepend-include=DIR option has the old behavior. 1193*d874e919Schristos 1194*d874e919Schristos** Macros 1195*d874e919Schristos 1196*d874e919Schristos- AC_OUTPUT 1197*d874e919Schristos Now handles all the gory details about LIBOBJS and LTLIBOBJS. 1198*d874e919Schristos Please, remove lines such as 1199*d874e919Schristos 1200*d874e919Schristos # This is necessary so that .o files in LIBOBJS are also 1201*d874e919Schristos # built via the ANSI2KNR-filtering rules. 1202*d874e919Schristos LIBOBJS=`echo $LIBOBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'` 1203*d874e919Schristos 1204*d874e919Schristos and read the `AC_LIBOBJ vs LIBOBJS' section. Do not define U in 1205*d874e919Schristos your Makefiles either. 1206*d874e919Schristos 1207*d874e919Schristos- AC_CONFIG_LINKS now makes copies if it can't make links. 1208*d874e919Schristos 1209*d874e919Schristos- AC_FUNC_FNMATCH now tests only for POSIX compatibility, reverting to 1210*d874e919Schristos Autoconf 2.13 behavior. The new macro AC_FUNC_FNMATCH_GNU also 1211*d874e919Schristos tests for GNU extensions to fnmatch, and replaces fnmatch if needed. 1212*d874e919Schristos 1213*d874e919Schristos- AC_FUNC_SETVBUF_REVERSED no longer fails when cross-compiling. 1214*d874e919Schristos 1215*d874e919Schristos- AC_PROG_CC_STDC is integrated into AC_PROG_CC. 1216*d874e919Schristos 1217*d874e919Schristos- AC_PROG_F77 default search no longer includes cf77 and cfg77. 1218*d874e919Schristos 1219*d874e919Schristos- New macros 1220*d874e919Schristos 1221*d874e919Schristos AC_C_BACKSLASH_A, AC_CONFIG_LIBOBJ_DIR, AC_GNU_SOURCE, 1222*d874e919Schristos AC_PROG_EGREP, AC_PROG_FGREP, AC_REPLACE_FNMATCH, 1223*d874e919Schristos AC_FUNC_FNMATCH_GNU, AC_FUNC_REALLOC, AC_TYPE_MBSTATE_T. 1224*d874e919Schristos 1225*d874e919Schristos- AC_FUNC_GETLOADAVG 1226*d874e919Schristos looks for getloadavg.c in the CONFIG_LIBOBJ_DIR. 1227*d874e919Schristos 1228*d874e919Schristos- AC_FUNC_MALLOC 1229*d874e919Schristos Now defines HAVE_MALLOC to 0 if `malloc' does not work, and asks 1230*d874e919Schristos for an AC_LIBOBJ replacement. 1231*d874e919Schristos 1232*d874e919Schristos** Bug fixes 1233*d874e919Schristos 1234*d874e919Schristos- Spurious complaints from `m4_bmatch' about invalid regular 1235*d874e919Schristos expressions are suppressed. 1236*d874e919Schristos 1237*d874e919Schristos- Empty top_builddirs are properly handled. 1238*d874e919Schristos 1239*d874e919Schristos- AC_CHECK_MEMBER works correctly when the member is an aggregate. 1240*d874e919Schristos 1241*d874e919Schristos- AC_PATH_PROG 1242*d874e919Schristos Now colon in the optional path arguments are properly handled. 1243*d874e919Schristos 1244*d874e919Schristos** Improved portability 1245*d874e919Schristos 1246*d874e919Schristos- Both Autoconf the package, and the scripts it produces, should run 1247*d874e919Schristos more reliably with Zsh. Bear in mind it is the default Bourne shell 1248*d874e919Schristos on Darwin. 1249*d874e919Schristos 1250*d874e919Schristos- Autoconf and the scripts it produces no longer assume the existence of 1251*d874e919Schristos the obsolescent commands egrep and fgrep. 1252*d874e919Schristos 1253*d874e919Schristos** Documentation 1254*d874e919Schristos 1255*d874e919Schristos- Limitations of Make 1256*d874e919Schristos More of them. 1257*d874e919Schristos 1258*d874e919Schristos- GNATS 1259*d874e919Schristos The GNATS base moved to 1260*d874e919Schristos http://bugs.gnu.org/cgi-bin/gnatsweb.pl?database=autoconf 1261*d874e919Schristos (It is no longer available, though.) 1262*d874e919Schristos 1263*d874e919Schristos** Misc. 1264*d874e919Schristos 1265*d874e919Schristos- config.log 1266*d874e919Schristos Now contains the list of output variables and files (AC_SUBST, 1267*d874e919Schristos AC_SUBST_FILES). 1268*d874e919Schristos 1269*d874e919Schristos* Major changes in Autoconf 2.53 1270*d874e919Schristos 1271*d874e919Schristos Released 2002-03-08 by Akim Demaille. 1272*d874e919Schristos 1273*d874e919Schristos** Requirements 1274*d874e919Schristos 1275*d874e919Schristos Perl 5.005_03 or later is required: autom4te is written in Perl and is 1276*d874e919Schristos needed by autoconf. autoheader, autoreconf, ifnames, and autoscan are 1277*d874e919Schristos rewritten in Perl. 1278*d874e919Schristos 1279*d874e919Schristos** Documentation 1280*d874e919Schristos 1281*d874e919Schristos- AC_INIT 1282*d874e919Schristos Argument requirements, output variables, defined macros. 1283*d874e919Schristos- M4sugar, M4sh, Autotest 1284*d874e919Schristos First sketch. 1285*d874e919Schristos- Double quoting macros 1286*d874e919Schristos AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and AC_TRY_RUN. 1287*d874e919Schristos- Licensing 1288*d874e919Schristos The Autoconf manual is now distributed under the terms of the GNU FDL. 1289*d874e919Schristos- Section `Hosts and Cross-Compilation' 1290*d874e919Schristos Explains the rationale for the 2.5x changes in the cross-compilation 1291*d874e919Schristos chain, and in the relationships between build, host, and target 1292*d874e919Schristos types. 1293*d874e919Schristos Emphasizes that `cross-compilation' == `--host is given'. 1294*d874e919Schristos If you are working on compilers etc., be sure to read this section. 1295*d874e919Schristos- Section `AC_LIBOBJ vs. LIBOBJS' 1296*d874e919Schristos Explains why assigning LIBOBJS directly is now an error. 1297*d874e919Schristos Details how to update the code. 1298*d874e919Schristos 1299*d874e919Schristos** configure 1300*d874e919Schristos 1301*d874e919Schristos- $LINENO 1302*d874e919Schristos Now used instead of hard coded line numbers. 1303*d874e919Schristos This eases the comparison of `configure's, and diminishes the 1304*d874e919Schristos pressure over control version archives. 1305*d874e919Schristos Automatic replacement for shells that don't support this feature. 1306*d874e919Schristos- New output variables 1307*d874e919Schristos @builddir@, @top_builddir@, @abs_srcdir@, @abs_top_srcdir@, @abs_builddir@, 1308*d874e919Schristos @abs_top_builddir@. 1309*d874e919Schristos 1310*d874e919Schristos** Emacs 1311*d874e919Schristos 1312*d874e919Schristos Autoconf and Autotest modes are provided. 1313*d874e919Schristos 1314*d874e919Schristos** Executables 1315*d874e919Schristos 1316*d874e919Schristos- autom4te 1317*d874e919Schristos New, used by the Autoconf suite to cache and speed up most processing. 1318*d874e919Schristos- --force, -f 1319*d874e919Schristos Supported by autom4te, autoconf and autoheader. 1320*d874e919Schristos- --include, -I 1321*d874e919Schristos Replaces --autoconf-dir and --localdir in autoconf, autoheader, 1322*d874e919Schristos autoupdate, and autoreconf. 1323*d874e919Schristos- autoreconf 1324*d874e919Schristos No longer passes --cygnus, --foreign, --gnits, --gnu, --include-deps: 1325*d874e919Schristos automake options are to be given via AUTOMAKE_OPTIONS. 1326*d874e919Schristos- autoreconf 1327*d874e919Schristos Runs gettextize and libtoolize when appropriate. 1328*d874e919Schristos- autoreconf 1329*d874e919Schristos --m4dir is no longer supported. 1330*d874e919Schristos- autoreconf 1331*d874e919Schristos Now runs only in the specified directories, defaulting to `.', 1332*d874e919Schristos but understands AC_CONFIG_SUBDIRS for dependent directories. 1333*d874e919Schristos Before, it used to run on all the `configure.ac' found in the 1334*d874e919Schristos current tree. 1335*d874e919Schristos Independent packages are properly updated. 1336*d874e919Schristos 1337*d874e919Schristos** Bug fixes 1338*d874e919Schristos 1339*d874e919Schristos- The top level $prefix is propagated to the AC_CONFIG_SUBDIRS configures. 1340*d874e919Schristos- AC_TRY_RUN 1341*d874e919Schristos Under the user pressure, $? is finally available. Probably a mistake. 1342*d874e919Schristos- AC_F77_LIBRARY_LDFLAGS now supports the HP/UX f90 compiler. 1343*d874e919Schristos- Precious variables accumulation 1344*d874e919Schristos config.status could stack several copies of the precious variables 1345*d874e919Schristos assignments. 1346*d874e919Schristos- AC_PATH_PROG and family. 1347*d874e919Schristos Works properly when given a literal path. 1348*d874e919Schristos- AC_FUNC_SETPGRP 1349*d874e919Schristos Somewhere since 2.13, the result had been reversed. 1350*d874e919Schristos 1351*d874e919Schristos** C Macros 1352*d874e919Schristos 1353*d874e919Schristos- AC_C_BIGENDIAN supports the cross-compiling case. 1354*d874e919Schristos- AC_C_BIGENDIAN accepts ACTION-IF-TRUE, ACTION-IF-FALSE, and 1355*d874e919Schristos ACTION-IF-UNKNOWN arguments. All are optional, and the default 1356*d874e919Schristos for ACTION-IF-TRUE is to define WORDS_BIGENDIAN like AC_C_BIGENDIAN 1357*d874e919Schristos always did. 1358*d874e919Schristos- AC_C_LONG_DOUBLE now succeeds only if `long double' has more range or 1359*d874e919Schristos precision than `double'. 1360*d874e919Schristos 1361*d874e919Schristos** Generic macros 1362*d874e919Schristos 1363*d874e919Schristos- AC_INIT 1364*d874e919Schristos It now defines the preprocessor symbols PACKAGE_NAME, 1365*d874e919Schristos PACKAGE_TARNAME, PACKAGE_VERSION, PACKAGE_STRING, and 1366*d874e919Schristos PACKAGE_BUGREPORT. 1367*d874e919Schristos 1368*d874e919Schristos- AC_INIT 1369*d874e919Schristos Admits a fourth optional parameter: the tar name. 1370*d874e919Schristos 1371*d874e919Schristos- AC_CONFIG_COMMANDS, HEADERS, FILES, LINKS. 1372*d874e919Schristos Provide the user with srcdir, ac_srcdir, ac_top_srcdir, ac_builddir, 1373*d874e919Schristos ac_top_builddir, ac_abs_srcdir, ac_abs_top_srcdir, ac_abs_builddir, 1374*d874e919Schristos ac_abs_top_builddir. 1375*d874e919Schristos 1376*d874e919Schristos- AC_CONFIG_COMMANDS, HEADERS, FILES, LINKS and AC_OUTPUT. 1377*d874e919Schristos Are much less expensive when using long lists of files. 1378*d874e919Schristos 1379*d874e919Schristos- AC_PREFIX_PROGRAM 1380*d874e919Schristos Works with shell variables, and non alphanumeric names. 1381*d874e919Schristos 1382*d874e919Schristos** Library macros 1383*d874e919Schristos 1384*d874e919Schristos- AC_FUNC_STRERROR_R now sets STRERROR_R_CHAR_P, not HAVE_WORKING_STRERROR_R, 1385*d874e919Schristos because POSIX 1003.1-200x draft 7 says strerror_r returns int, not char *. 1386*d874e919Schristos 1387*d874e919Schristos- AC_FUNC_STRTOD substitutes POW_LIB. 1388*d874e919Schristos 1389*d874e919Schristos- AC_FUNC_STRNLEN 1390*d874e919Schristos New. 1391*d874e919Schristos 1392*d874e919Schristos* Major changes in Autoconf 2.52 1393*d874e919Schristos 1394*d874e919Schristos Released 2001-07-18 by Akim Demaille. 1395*d874e919Schristos 1396*d874e919Schristos** Documentation 1397*d874e919Schristos- AC_ARG_VAR 1398*d874e919Schristos- Quadrigraphs 1399*d874e919Schristos This feature was present in autoconf 2.50 but was not documented. 1400*d874e919Schristos For example, `@<:@' is translated to `[' just before output. This 1401*d874e919Schristos is useful when writing strings that contain unbalanced quotes, or 1402*d874e919Schristos other hard-to-quote constructs. 1403*d874e919Schristos- m4_pattern_forbid, m4_pattern_allow 1404*d874e919Schristos- Tips for upgrading from 2.13. 1405*d874e919Schristos- Using autoscan to maintain a configure.ac. 1406*d874e919Schristos 1407*d874e919Schristos** Default includes 1408*d874e919Schristos- Now include stdint.h. 1409*d874e919Schristos- sys/types.h and sys/stat.h are guarded. 1410*d874e919Schristos- strings.h is included if available, and not conflicting with string.h. 1411*d874e919Schristos 1412*d874e919Schristos** Bug fixes 1413*d874e919Schristos- The test suite is more robust and presents less false failures. 1414*d874e919Schristos- Invocation of GNU M4 now robust to POSIXLY_CORRECT. 1415*d874e919Schristos- configure accepts --prefix='' again. 1416*d874e919Schristos- AC_CHECK_LIB works properly when its first argument is not a 1417*d874e919Schristos literal. 1418*d874e919Schristos- HAVE_INTTYPES_H is defined only if not conflicting with sys/types.h. 1419*d874e919Schristos- build_, host_, and target_alias are AC_SUBST as in 2.13. 1420*d874e919Schristos- AC_ARG_VAR properly propagates precious variables inherited from the 1421*d874e919Schristos environment to ./config.status. 1422*d874e919Schristos- Using --program-suffix/--program-prefix is portable. 1423*d874e919Schristos- Failures to detect the default compiler's output extension are less 1424*d874e919Schristos likely. 1425*d874e919Schristos- `config.status foo' works properly when `foo' depends on variables 1426*d874e919Schristos set in an AC_CONFIG_THING INIT-CMD. 1427*d874e919Schristos- autoheader is more robust to broken input. 1428*d874e919Schristos- Fixed Fortran name-mangling and link tests on a number of systems, 1429*d874e919Schristos e.g. NetBSD; see AC_F77_DUMMY_MAIN, below. 1430*d874e919Schristos 1431*d874e919Schristos** Generic macros 1432*d874e919Schristos- AC_CHECK_HEADER and AC_CHECK_HEADERS support a fourth argument to 1433*d874e919Schristos specify pre-includes. In this case, the headers are compiled with 1434*d874e919Schristos cc, not merely preprocessed by cpp. Therefore it is the _usability_ 1435*d874e919Schristos of a header which is checked for, not just its availability. 1436*d874e919Schristos- AC_ARG_VAR refuses to run configure when precious variables have 1437*d874e919Schristos changed. 1438*d874e919Schristos- Versions of compilers are dumped in the logs. 1439*d874e919Schristos- AC_CHECK_TYPE recognizes use of `foo_t' as a replacement type. 1440*d874e919Schristos 1441*d874e919Schristos** Specific Macros 1442*d874e919Schristos- AC_PATH_XTRA only adds -ldnet to $LIBS if it's needed to link. 1443*d874e919Schristos- AC_FUNC_WAIT3 and AC_SYS_RESTARTABLE_SYSCALLS are obsoleted. 1444*d874e919Schristos- AM_FUNC_ERROR_AT_LINE, AM_FUNC_FNMATCH, AM_FUNC_MKTIME, 1445*d874e919Schristos AM_FUNC_OBSTACK, and AM_FUNC_STRTOD are now activated. 1446*d874e919Schristos Be sure to read `Upgrading from Version 2.13' to understand why 1447*d874e919Schristos running `autoupdate' is needed. 1448*d874e919Schristos- AC_F77_DUMMY_MAIN, AC_F77_MAIN: new macros to detect whether 1449*d874e919Schristos a main-like routine is required/possible when linking C/C++ with 1450*d874e919Schristos Fortran. Users of e.g. AC_F77_WRAPPERS should be aware of these. 1451*d874e919Schristos- AC_FUNC_GETPGRG behaves better when cross-compiling. 1452*d874e919Schristos 1453*d874e919Schristos* Major changes in Autoconf 2.51 1454*d874e919SchristosThere was no release of Autoconf 2.51 since some packagers had used 1455*d874e919Schristosthis version number without permission to ship intermediary versions 1456*d874e919Schristosof 2.50. The version was skipped to avoid confusion. 1457*d874e919Schristos 1458*d874e919Schristos* Major changes in Autoconf 2.50 1459*d874e919Schristos 1460*d874e919Schristos Released 2001-05-21 by Akim Demaille. 1461*d874e919Schristos 1462*d874e919Schristos** Lots of bug fixes 1463*d874e919SchristosThere have been far too many to enumerate them here. Check out 1464*d874e919SchristosChangeLog if you really want to know more. 1465*d874e919Schristos 1466*d874e919Schristos** Improved documentation 1467*d874e919SchristosIn particular, portability issues are better covered. 1468*d874e919Schristos 1469*d874e919Schristos** Use of Automake 1470*d874e919SchristosAll the standard GNU Makefile targets are supported. The layout has 1471*d874e919Schristoschanged: m4/ holds the M4 extensions Autoconf needs for its 1472*d874e919Schristosconfiguration, doc/ contains the documentation, and tests/ contains 1473*d874e919Schristosthe test suite. 1474*d874e919Schristos 1475*d874e919Schristos** Man pages are provided 1476*d874e919SchristosFor autoconf, autoreconf, autoupdate, autoheader, autoscan, ifnames, 1477*d874e919Schristosconfig.guess, config.sub. 1478*d874e919Schristos 1479*d874e919Schristos** autoconf 1480*d874e919Schristos- --trace 1481*d874e919Schristos Provides a safe and powerful means to trace the macro uses. This 1482*d874e919Schristos provide the parsing layer for tools which need to `study' 1483*d874e919Schristos configure.in. 1484*d874e919Schristos 1485*d874e919Schristos- --warnings 1486*d874e919Schristos Specify what category of warnings should be enabled. 1487*d874e919Schristos 1488*d874e919Schristos- When recursing into subdirectories, try for configure.gnu before 1489*d874e919Schristos configure to adapt for packages not using autoconf on case-insensitive 1490*d874e919Schristos file systems. 1491*d874e919Schristos 1492*d874e919Schristos- Diagnostics 1493*d874e919Schristos More errors are now caught (circular AC_REQUIRE dependencies, 1494*d874e919Schristos AC_DEFINE in the action part of an AC_CACHE_CHECK, too many pops 1495*d874e919Schristos etc.). In addition, their location and call stack are given. 1496*d874e919Schristos 1497*d874e919Schristos** autoupdate 1498*d874e919Schristosautoupdate is much more powerful, and is able to provide the glue code 1499*d874e919Schristoswhich might be needed to move from an old macro to its newer 1500*d874e919Schristosequivalent. 1501*d874e919Schristos 1502*d874e919SchristosYou are strongly encouraged to use it to modernize both your 1503*d874e919Schristos`configure.in' and your .m4 extension files. 1504*d874e919Schristos 1505*d874e919Schristos** autoheader 1506*d874e919SchristosThe internal machinery of autoheader has completely changed. As a 1507*d874e919Schristosresult, using `acconfig.h' should be considered to be obsoleted, and 1508*d874e919Schristosyou are encouraged to get rid of it using the AH macros. 1509*d874e919Schristos 1510*d874e919Schristos** autoreconf 1511*d874e919SchristosExtensive overhaul. 1512*d874e919Schristos 1513*d874e919Schristos** Fortran 77 compilers 1514*d874e919SchristosGlobally, the support for Fortran 77 is considerably improved. 1515*d874e919Schristos 1516*d874e919SchristosSupport for automatically determining a Fortran 77 compiler's 1517*d874e919Schristosname-mangling scheme. New CPP macros F77_FUNC and F77_FUNC_ are 1518*d874e919Schristosprovided to wrap C/C++ identifiers, thus making it easier and more 1519*d874e919Schristostransparent for C/C++ to call Fortran 77 routines, and Fortran 77 to 1520*d874e919Schristoscall C/C++ routines. See the Texinfo documentation for details. 1521*d874e919Schristos 1522*d874e919Schristos** Test suite 1523*d874e919SchristosThe test suite no longer uses DejaGNU. It should be easy to submit 1524*d874e919Schristostest cases in this new framework. 1525*d874e919Schristos 1526*d874e919Schristos** configure 1527*d874e919Schristos- --help, --help=long, -hl 1528*d874e919Schristos no longer dumps useless items. 1529*d874e919Schristos- --help=short, -hs 1530*d874e919Schristos lists only specific options. 1531*d874e919Schristos- --help=recursive, -hr 1532*d874e919Schristos displays the help of all the embedded packages. 1533*d874e919Schristos- Remembers environment variables when reconfiguring. 1534*d874e919Schristos The previous scheme to set envvar before running configure was 1535*d874e919Schristos ENV=VAL ./configure 1536*d874e919Schristos what prevented configure from remembering the environment in which 1537*d874e919Schristos it was run, therefore --recheck was run in an inconsistent 1538*d874e919Schristos environment. Now, one should run 1539*d874e919Schristos ./configure ENV=VAR 1540*d874e919Schristos and then --recheck will work properly. Variables declared with 1541*d874e919Schristos AC_ARG_VAR are also preserved. 1542*d874e919Schristos- cross-compilation 1543*d874e919Schristos $build defaults to `config.guess`, $host to $build, and then $target 1544*d874e919Schristos to $host. 1545*d874e919Schristos Cross-compilation is a global status of the package, it no longer 1546*d874e919Schristos depends upon the current language. 1547*d874e919Schristos Cross compilation is enabled iff the user specified `--host'. 1548*d874e919Schristos `configure' now fails if it can't run the executables it compiles, 1549*d874e919Schristos unless cross-compilation is enabled. 1550*d874e919Schristos- Cache file 1551*d874e919Schristos The cache file is disabled by default. The new options 1552*d874e919Schristos `--config-cache', `-C' set the cache to `config.cache'. 1553*d874e919Schristos 1554*d874e919Schristos** config.status 1555*d874e919Schristos- faster 1556*d874e919Schristos Much faster on most architectures. 1557*d874e919Schristos- concurrent executions 1558*d874e919Schristos It is safe to use `make -j' with config.status. 1559*d874e919Schristos- human interface improved 1560*d874e919Schristos It is possible to invoke 1561*d874e919Schristos ./config.status foobar 1562*d874e919Schristos instead of the former form (still valid) 1563*d874e919Schristos CONFIG_COMMANDS= CONFIG_HEADERS= CONFIG_LINKS= \ 1564*d874e919Schristos CONFIG_FILES=foobar:foo.in:bar.in \ 1565*d874e919Schristos ./config.status 1566*d874e919Schristos The same holds for configuration headers and links. 1567*d874e919Schristos You can instantiate unknown files and headers: 1568*d874e919Schristos ./config.status --header foo.h:foo.h.in --file bar:baz 1569*d874e919Schristos- has a useful --help 1570*d874e919Schristos- accepts special file name "-" for stdin/stdout 1571*d874e919Schristos 1572*d874e919Schristos 1573*d874e919Schristos** Identity Macros 1574*d874e919Schristos- AC_COPYRIGHT 1575*d874e919Schristos Specify additional copyright information. 1576*d874e919Schristos 1577*d874e919Schristos- AC_INIT 1578*d874e919Schristos Now expects the identity of the package as argument. 1579*d874e919Schristos 1580*d874e919Schristos** General changes. 1581*d874e919Schristos- Uniform quotation 1582*d874e919Schristos Most macros, if not all, now strictly follow the `one quotation 1583*d874e919Schristos level' rule. This results in a more predictable expansion. 1584*d874e919Schristos 1585*d874e919Schristos- AC_REQUIRE 1586*d874e919Schristos A sly bug in the AC_REQUIRE machinery, which could produce incorrect 1587*d874e919Schristos configure scripts, was fixed by Axel Thimm. 1588*d874e919Schristos 1589*d874e919Schristos** Setup Macros 1590*d874e919Schristos- AC_ARG_VAR 1591*d874e919Schristos Document and ask for the registration of an envvar. 1592*d874e919Schristos 1593*d874e919Schristos- AC_CONFIG_SRCDIR 1594*d874e919Schristos Specifies the file which `configure' should look for when trying to 1595*d874e919Schristos find the source tree (used to be handled by AC_INIT). 1596*d874e919Schristos 1597*d874e919Schristos- AC_CONFIG_COMMANDS 1598*d874e919Schristos To add new actions to config.status. Should be used instead of 1599*d874e919Schristos AC_OUTPUT_COMMANDS. 1600*d874e919Schristos 1601*d874e919Schristos- AC_CONFIG_LINKS 1602*d874e919Schristos Replaces AC_LINK_FILES. 1603*d874e919Schristos 1604*d874e919Schristos- AC_CONFIG_HEADERS, AC_CONFIG_COMMANDS, AC_CONFIG_SUBDIRS, 1605*d874e919Schristos AC_CONFIG_LINKS, and AC_CONFIG_FILES 1606*d874e919Schristos They now obey sh: you should no longer use shell variables as 1607*d874e919Schristos argument. Instead of 1608*d874e919Schristos 1609*d874e919Schristos test "$package_foo_enabled" = yes && $my_subdirs="$my_subdirs foo" 1610*d874e919Schristos AC_CONFIG_SUBDIRS($my_subdirs) 1611*d874e919Schristos 1612*d874e919Schristos write 1613*d874e919Schristos 1614*d874e919Schristos if test "$package_foo_enabled" = yes; then 1615*d874e919Schristos AC_CONFIG_SUBDIRS(foo) 1616*d874e919Schristos fi 1617*d874e919Schristos 1618*d874e919Schristos- AC_HELP_STRING 1619*d874e919Schristos To format an Autoconf macro's help string so that it looks pretty 1620*d874e919Schristos when the user executes `configure --help'. 1621*d874e919Schristos 1622*d874e919Schristos 1623*d874e919Schristos** Generic Test Macros 1624*d874e919Schristos- AC_CHECK families 1625*d874e919Schristos The interface of the AC_CHECK families of macros (decl, header, 1626*d874e919Schristos type, member, func) is now uniform. They support the same set of 1627*d874e919Schristos default includes. 1628*d874e919Schristos 1629*d874e919Schristos- AC_CHECK_DECL, AC_CHECK_DECLS 1630*d874e919Schristos To check whether a symbol is declared. 1631*d874e919Schristos 1632*d874e919Schristos- AC_CHECK_SIZEOF, AC_C_CHAR_UNSIGNED. 1633*d874e919Schristos No longer need a cross-compilation default. 1634*d874e919Schristos 1635*d874e919Schristos- AC_CHECK_TYPE 1636*d874e919Schristos The test it performs is much more robust than previously, and makes 1637*d874e919Schristos it possible to test builtin types in addition to typedefs. 1638*d874e919Schristos It is now schizophrenic: 1639*d874e919Schristos - AC_CHECK_TYPE(TYPE, REPLACEMENT) 1640*d874e919Schristos remains for backward compatibility, but its use is discouraged. 1641*d874e919Schristos - AC_CHECK_TYPE(TYPE, IF-FOUND, IF-NOT-FOUND, INCLUDES) 1642*d874e919Schristos behaves exactly like the other AC_CHECK macros. 1643*d874e919Schristos 1644*d874e919Schristos- AC_CHECK_TYPES 1645*d874e919Schristos Checks whether given types are supported by the system. 1646*d874e919Schristos 1647*d874e919Schristos- AC_CHECK_MEMBER, AC_CHECK_MEMBERS 1648*d874e919Schristos Check for given members in aggregates (e.g., pw_gecos in struct 1649*d874e919Schristos passwd). 1650*d874e919Schristos 1651*d874e919Schristos- AC_PROG_CC_STDC 1652*d874e919Schristos Checks if the compiler supports ISO C, included when needs special 1653*d874e919Schristos options. 1654*d874e919Schristos 1655*d874e919Schristos- AC_PROG_CPP 1656*d874e919Schristos Checking whether the preprocessor indicates missing includes by the 1657*d874e919Schristos error code. stderr is checked by AC_TRY_CPP only as a fallback. 1658*d874e919Schristos 1659*d874e919Schristos- AC_LANG 1660*d874e919Schristos Takes a language as argument and replaces AC_LANG_C, 1661*d874e919Schristos AC_LANG_CPLUSPLUS and AC_LANG_FORTRAN77. 1662*d874e919Schristos 1663*d874e919Schristos- AC_LANG_PUSH, AC_LANG_POP 1664*d874e919Schristos Are preferred to AC_LANG_SAVE, AC_LANG_RESTORE. 1665*d874e919Schristos 1666*d874e919Schristos** Specific Macros 1667*d874e919Schristos- AC_FUNC_CHOWN, AC_FUNC_MALLOC, AC_FUNC_STRERROR_R, 1668*d874e919Schristos AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, AC_FUNC_STAT, AC_FUNC_LSTAT, 1669*d874e919Schristos AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD, AC_FUNC_FSEEKO. 1670*d874e919Schristos New. 1671*d874e919Schristos 1672*d874e919Schristos- AC_FUNC_GETGROUPS 1673*d874e919Schristos Sets GETGROUPS_LIBS. 1674*d874e919Schristos 1675*d874e919Schristos- AC_FUNC_GETLOADAVG 1676*d874e919Schristos Defines `HAVE_STRUCT_NLIST_N_UN_N_NAME' instead of `NLIST_NAME_UNION'. 1677*d874e919Schristos 1678*d874e919Schristos- AC_PROG_LEX 1679*d874e919Schristos Now integrates `AC_DECL_YYTEXT' which is obsoleted. 1680*d874e919Schristos 1681*d874e919Schristos- AC_SYS_LARGEFILE 1682*d874e919Schristos Arrange for large-file support. 1683*d874e919Schristos 1684*d874e919Schristos- AC_EXEEXT, AC_OBJEXT 1685*d874e919Schristos You are no longer expected to use them: their computation is 1686*d874e919Schristos performed by default. 1687*d874e919Schristos 1688*d874e919Schristos** C++ compatibility 1689*d874e919Schristos Every macro has been revisited in order to support at best CC=c++. 1690*d874e919Schristos 1691*d874e919SchristosMajor changes in Autoconf 2.14: 1692*d874e919Schristos There was no release of GNU Autoconf 2.14. 1693*d874e919Schristos 1694*d874e919SchristosMajor changes in Autoconf 2.13: 1695*d874e919Schristos 1696*d874e919Schristos Released 1999-05-01 by Ben Elliston. 1697*d874e919Schristos 1698*d874e919Schristos* Support for building on 32-bit Windows systems where the only available C or 1699*d874e919Schristos C++ compiler is the Microsoft Visual C++ command line compiler 1700*d874e919Schristos (`cl'). Additional support for building on 32-bit Windows systems which are 1701*d874e919Schristos using the Cygwin or Mingw32 environments. 1702*d874e919Schristos* Support for alternative object file and executable file extensions. 1703*d874e919Schristos On 32-bit Windows, for example, these are .obj and .exe. These are discovered 1704*d874e919Schristos using AC_OBJEXT and AC_EXEEXT, which substitute @OBJEXT@ and 1705*d874e919Schristos @EXEEXT@ in the output, respectively. 1706*d874e919Schristos* New macros: AC_CACHE_LOAD, AC_CACHE_SAVE, AC_FUNC_SELECT_ARGTYPES, 1707*d874e919Schristos AC_VALIDATE_CACHED_SYSTEM_TUPLE, AC_SEARCH_LIBS, AC_TRY_LINK_FUNC, 1708*d874e919Schristos AC_C_STRINGIZE, AC_CHECK_FILE(S), AC_PROG_F77 (and friends). 1709*d874e919Schristos* AC_DEFINE now has an optional third argument for a description to be 1710*d874e919Schristos placed in the config header input file (e.g. config.h.in). 1711*d874e919Schristos* The C++ code fragment compiled for the C++ compiler test had to be 1712*d874e919Schristos improved to include an explicit return type for main(). This was 1713*d874e919Schristos causing failures on systems using recent versions of the EGCS C++ 1714*d874e919Schristos compiler. 1715*d874e919Schristos* Fixed an important bug in AC_CHECK_TYPE that would cause a configure 1716*d874e919Schristos script to report that `sometype_t' was present when only `type_t' 1717*d874e919Schristos was defined. 1718*d874e919Schristos* Merge of the FSF version of config.guess and config.sub to modernize 1719*d874e919Schristos these scripts. Add support for a few new hosts in config.guess. 1720*d874e919Schristos Incorporate latest versions of install-sh, mkinstalldirs and 1721*d874e919Schristos texinfo.tex from the FSF. 1722*d874e919Schristos* autoreconf is capable of running automake if necessary (and 1723*d874e919Schristos applicable). 1724*d874e919Schristos* Support for Fortran 77. See the Texinfo documentation for details. 1725*d874e919Schristos* Bug fixes and workarounds for quirky bugs in vendor utilities. 1726*d874e919Schristos 1727*d874e919SchristosMajor changes in Autoconf 2.12: 1728*d874e919Schristos 1729*d874e919Schristos Released 1996-11-26 by David J. MacKenzie 1730*d874e919Schristos 1731*d874e919Schristos* AC_OUTPUT and AC_CONFIG_HEADER can create output files by 1732*d874e919Schristos concatenating multiple input files separated by colons, like so: 1733*d874e919Schristos AC_CONFIG_HEADER(config.h:conf.pre:config.h.in:conf.post) 1734*d874e919Schristos AC_OUTPUT(Makefile:Makefile.in:Makefile.rules) 1735*d874e919Schristos The arguments may be shell variables, to compute the lists on the fly. 1736*d874e919Schristos* AC_LINK_FILES and AC_CONFIG_SUBDIRS may be called multiple times. 1737*d874e919Schristos* New macro AC_OUTPUT_COMMANDS adds more commands to run in config.status. 1738*d874e919Schristos* Bug fixes. 1739*d874e919Schristos 1740*d874e919SchristosMajor changes in Autoconf 2.11: 1741*d874e919Schristos 1742*d874e919Schristos Released November 18th, 1996, by David J. MacKenzie 1743*d874e919Schristos 1744*d874e919Schristos* AC_PROG_CC and AC_PROG_CXX check whether the compiler works. 1745*d874e919Schristos They also default CFLAGS/CXXFLAGS to "-g -O2" for gcc, instead of "-g -O". 1746*d874e919Schristos* AC_REPLACE_FUNCS defines HAVE_foo if the system has the function `foo'. 1747*d874e919Schristos* AC_CONFIG_HEADER expands shell variables in its argument. 1748*d874e919Schristos* New macros: AC_FUNC_FNMATCH, AC_FUNC_SETPGRP. 1749*d874e919Schristos* The "checking..." messages and the source code for test programs that 1750*d874e919Schristos fail are saved in config.log. 1751*d874e919Schristos* Another workaround has been added for seds with small command length limits. 1752*d874e919Schristos* config.sub and config.guess recognize more system types. 1753*d874e919Schristos* Bug fixes. 1754*d874e919Schristos 1755*d874e919SchristosMajor changes in Autoconf 2.10: 1756*d874e919Schristos 1757*d874e919Schristos Released May 7th, 1996, by Roland McGrath 1758*d874e919Schristos 1759*d874e919Schristos* Bug fixes. 1760*d874e919Schristos* The cache variable names used by `AC_CHECK_LIB(LIB, FUNC, ...)' has 1761*d874e919Schristos changed: now $ac_cv_lib_LIB_FUNC, previously $ac_cv_lib_LIB. 1762*d874e919Schristos 1763*d874e919SchristosMajor changes in Autoconf 2.9: 1764*d874e919Schristos 1765*d874e919Schristos Released March 16th, 1996, by Roland McGrath 1766*d874e919Schristos 1767*d874e919Schristos* Bug fixes. 1768*d874e919Schristos 1769*d874e919SchristosMajor changes in Autoconf 2.8: 1770*d874e919Schristos 1771*d874e919Schristos Released March 8th, 1996, by Roland McGrath 1772*d874e919Schristos 1773*d874e919Schristos* Bug fixes. 1774*d874e919Schristos 1775*d874e919SchristosMajor changes in Autoconf 2.7: 1776*d874e919Schristos 1777*d874e919Schristos Released November 22nd, 1995, by David J. MacKenzie 1778*d874e919Schristos 1779*d874e919Schristos* Bug fixes. 1780*d874e919Schristos 1781*d874e919SchristosMajor changes in Autoconf 2.6: 1782*d874e919Schristos 1783*d874e919Schristos Released November 20th, 1995, by David J. MacKenzie 1784*d874e919Schristos 1785*d874e919Schristos* Bug fixes. 1786*d874e919Schristos 1787*d874e919SchristosMajor changes in Autoconf 2.5: 1788*d874e919Schristos 1789*d874e919Schristos Released November 17th, 1995, by Roland McGrath 1790*d874e919Schristos 1791*d874e919Schristos* New configure options --bindir, --libdir, --datadir, etc., with 1792*d874e919Schristos corresponding output variables. 1793*d874e919Schristos* New macro: AC_CACHE_CHECK, to make using the cache easier. 1794*d874e919Schristos* config.log contains the command being run as well as any output from it. 1795*d874e919Schristos* AC_CHECK_LIB can check for libraries with "." or "/" or "+" in their name. 1796*d874e919Schristos* AC_PROG_INSTALL doesn't cache a name for install-sh, for sharing caches. 1797*d874e919Schristos* AC_CHECK_PROG, AC_PATH_PROG, AC_CHECK_PROGS, AC_PATH_PROGS, and 1798*d874e919Schristos AC_CHECK_TOOL can search a path other than $PATH. 1799*d874e919Schristos* AC_CHECK_SIZEOF takes an optional size to use when cross-compiling. 1800*d874e919Schristos 1801*d874e919SchristosMajor changes in Autoconf 2.4: 1802*d874e919Schristos 1803*d874e919Schristos Released June 14th, 1995, by David J. MacKenzie 1804*d874e919Schristos 1805*d874e919Schristos* Fix a few bugs found by Emacs testers. 1806*d874e919Schristos 1807*d874e919SchristosMajor changes in Autoconf 2.3: 1808*d874e919Schristos 1809*d874e919Schristos Released March 27th, 1995, by David J. MacKenzie 1810*d874e919Schristos 1811*d874e919Schristos* Fix the cleanup trap in several ways. 1812*d874e919Schristos* Handle C compilers that are picky about option placement. 1813*d874e919Schristos* ifnames gets the version number from the right directory. 1814*d874e919Schristos 1815*d874e919SchristosMajor changes in Autoconf 2.2: 1816*d874e919Schristos 1817*d874e919Schristos Released March 8th, 1995, by David J. MacKenzie 1818*d874e919Schristos 1819*d874e919Schristos* The ifnames utility is much faster but requires a "new awk" interpreter. 1820*d874e919Schristos* AC_CHECK_LIB and AC_HAVE_LIBRARY check and add the new 1821*d874e919Schristos library before existing libs, not after, in case it uses them. 1822*d874e919Schristos* New macros: AC_FUNC_GETPGRP, AC_CHECK_TOOL. 1823*d874e919Schristos* Lots of bug fixes. 1824*d874e919Schristos* Many additions to the TODO file :-) 1825*d874e919Schristos 1826*d874e919SchristosMajor changes in Autoconf 2.1: 1827*d874e919Schristos 1828*d874e919Schristos Released November 4th, 1994, by David J. MacKenzie 1829*d874e919Schristos 1830*d874e919Schristos* Fix C++ problems. 1831*d874e919Schristos* More explanations in the manual. 1832*d874e919Schristos* Fix a spurious failure in the testsuite. 1833*d874e919Schristos* Clarify some warning messages. 1834*d874e919Schristos* autoreconf by default only rebuilds configure and config.h.in files 1835*d874e919Schristos that are older than any of their particular input files; there is a 1836*d874e919Schristos --force option to use after installing a new version of Autoconf. 1837*d874e919Schristos 1838*d874e919SchristosThanks to everybody who's submitted changes and additions to Autoconf! 1839*d874e919SchristosI've incorporated many of them, and am still considering others for 1840*d874e919Schristosfuture releases -- but I didn't want to postpone this release indefinitely. 1841*d874e919Schristos 1842*d874e919SchristosCaution: don't indiscriminately rebuild configure scripts with 1843*d874e919SchristosAutoconf version 2. Some configure.in files need minor adjustments to 1844*d874e919Schristoswork with it; the documentation has a chapter on upgrading. A few 1845*d874e919Schristosconfigure.in files, including those for GNU Emacs and the GNU C 1846*d874e919SchristosLibrary, need major changes because they relied on undocumented 1847*d874e919Schristosinternals of version 1. Future releases of those packages will have 1848*d874e919Schristosupdated configure.in files. 1849*d874e919Schristos 1850*d874e919SchristosIt's best to use GNU M4 1.3 (or later) with Autoconf version 2. 1851*d874e919SchristosAutoconf now makes heavy use of M4 diversions, which were implemented 1852*d874e919Schristosinefficiently in GNU M4 releases before 1.3. 1853*d874e919Schristos 1854*d874e919SchristosMajor changes in Autoconf 2.0: 1855*d874e919Schristos 1856*d874e919Schristos Released October 26th, 1994, by David J. MacKenzie 1857*d874e919Schristos 1858*d874e919Schristos** New copyright terms: 1859*d874e919Schristos* There are no restrictions on distribution or use of configure scripts. 1860*d874e919Schristos 1861*d874e919Schristos** Documentation: 1862*d874e919Schristos* Autoconf manual is reorganized to make information easier to find 1863*d874e919Schristos and has several new indexes. 1864*d874e919Schristos* INSTALL is reorganized and clearer and is now made from Texinfo source. 1865*d874e919Schristos 1866*d874e919Schristos** New utilities: 1867*d874e919Schristos* autoscan to generate a preliminary configure.in for a package by 1868*d874e919Schristos scanning its source code for commonly used nonportable functions, 1869*d874e919Schristos programs, and header files. 1870*d874e919Schristos* ifnames to list the symbols used in #if and #ifdef directives in a 1871*d874e919Schristos source tree. 1872*d874e919Schristos* autoupdate to update a configure.in to use the version 2 macro names. 1873*d874e919Schristos* autoreconf to recursively remake configure and configuration header 1874*d874e919Schristos files in a source tree. 1875*d874e919Schristos 1876*d874e919Schristos** Changed utilities: 1877*d874e919Schristos* autoheader can take pieces of acconfig.h to replace config.h.{top,bot}. 1878*d874e919Schristos* autoconf and autoheader can look for package-local definition files 1879*d874e919Schristos in an alternate directory. 1880*d874e919Schristos 1881*d874e919Schristos** New macros: 1882*d874e919Schristos* AC_CACHE_VAL to share results of tests between configure runs. 1883*d874e919Schristos* AC_DEFUN to define macros, automatically AC_PROVIDE them, and ensure 1884*d874e919Schristos that macros invoked with AC_REQUIRE don't interrupt other macros. 1885*d874e919Schristos* AC_CONFIG_AUX_DIR, AC_CANONICAL_SYSTEM, AC_CANONICAL_HOST, AC_LINK_FILES to 1886*d874e919Schristos support deciding unguessable features based on the host and target types. 1887*d874e919Schristos* AC_CONFIG_SUBDIRS to recursively configure a source tree. 1888*d874e919Schristos* AC_ARG_PROGRAM to use the options --program-prefix, 1889*d874e919Schristos --program-suffix, and --program-transform-name to change the names 1890*d874e919Schristos of programs being installed. 1891*d874e919Schristos* AC_PREFIX_DEFAULT to change the default installation prefix. 1892*d874e919Schristos* AC_TRY_COMPILE to compile a test program without linking it. 1893*d874e919Schristos* AC_CHECK_TYPE to check whether sys/types.h or stdlib.h defines a given type. 1894*d874e919Schristos* AC_CHECK_LIB to check for a particular function and library. 1895*d874e919Schristos* AC_MSG_CHECKING and AC_MSG_RESULT to print test results, on a single line, 1896*d874e919Schristos whether or not the test succeeds. They obsolete AC_CHECKING and AC_VERBOSE. 1897*d874e919Schristos* AC_SUBST_FILE to insert one file into another. 1898*d874e919Schristos* AC_FUNC_MEMCMP to check whether memcmp is 8-bit clean. 1899*d874e919Schristos* AC_FUNC_STRFTIME to find strftime even if it's in -lintl. 1900*d874e919Schristos* AC_FUNC_GETMNTENT to find getmntent even if it's in -lsun or -lseq. 1901*d874e919Schristos* AC_HEADER_SYS_WAIT to check whether sys/wait.h is POSIX.1 compatible. 1902*d874e919Schristos 1903*d874e919Schristos** Changed macros: 1904*d874e919Schristos* Many macros renamed systematically, but old names are accepted for 1905*d874e919Schristos backward compatibility. 1906*d874e919Schristos* AC_OUTPUT adds the "automatically generated" comment to 1907*d874e919Schristos non-Makefiles where it finds @configure_input@ in an input file, to 1908*d874e919Schristos support files with various comment syntaxes. 1909*d874e919Schristos* AC_OUTPUT does not replace "prefix" and "exec_prefix" in generated 1910*d874e919Schristos files when they are not enclosed in @ signs. 1911*d874e919Schristos* AC_OUTPUT allows the optional environment variable CONFIG_STATUS to 1912*d874e919Schristos override the file name "config.status". 1913*d874e919Schristos* AC_OUTPUT takes an optional argument for passing variables from 1914*d874e919Schristos configure to config.status. 1915*d874e919Schristos* AC_OUTPUT and AC_CONFIG_HEADER allow you to override the input-file names. 1916*d874e919Schristos* AC_OUTPUT automatically substitutes the values of CFLAGS, CXXFLAGS, 1917*d874e919Schristos CPPFLAGS, and LDFLAGS from the environment. 1918*d874e919Schristos* AC_PROG_CC and AC_PROG_CXX now set CFLAGS and CXXFLAGS, respectively. 1919*d874e919Schristos* AC_PROG_INSTALL looks for install-sh or install.sh in the directory 1920*d874e919Schristos specified by AC_CONFIG_AUXDIR, or srcdir or srcdir/.. or 1921*d874e919Schristos srcdir/../.. by default. 1922*d874e919Schristos* AC_DEFINE, AC_DEFINE_UNQUOTED, and AC_SUBST are more robust and smaller. 1923*d874e919Schristos* AC_DEFINE no longer prints anything, because of the new result reporting 1924*d874e919Schristos mechanism (AC_MSG_CHECKING and AC_MSG_RESULT). 1925*d874e919Schristos* AC_VERBOSE pays attention to --quiet/--silent, not --verbose. 1926*d874e919Schristos* AC_ARG_ENABLE and AC_ARG_WITH support whitespace in the arguments to 1927*d874e919Schristos --enable- and --with- options. 1928*d874e919Schristos* AC_CHECK_FUNCS and AC_CHECK_HEADERS take optional shell commands to 1929*d874e919Schristos execute on success or failure. 1930*d874e919Schristos* Checking for C functions in C++ works. 1931*d874e919Schristos 1932*d874e919Schristos** Removed macros: 1933*d874e919Schristos* AC_REMOTE_TAPE and AC_RSH removed; too specific to tar and cpio, and 1934*d874e919Schristos better maintained with them. 1935*d874e919Schristos* AC_ARG_ARRAY removed because no one was likely using it. 1936*d874e919Schristos* AC_HAVE_POUNDBANG replaced with AC_SYS_INTERPRETER, which doesn't 1937*d874e919Schristos take arguments, for consistency with all of the other specific checks. 1938*d874e919Schristos 1939*d874e919Schristos** New files: 1940*d874e919Schristos* Comes with config.sub and config.guess, and uses them optionally. 1941*d874e919Schristos* Uses config.cache to cache test results. An alternate cache file 1942*d874e919Schristos can be selected with the --cache-file=FILE option. 1943*d874e919Schristos* Uses optional shell scripts $prefix/share/config.site and 1944*d874e919Schristos $prefix/etc/config.site to perform site or system specific initializations. 1945*d874e919Schristos* configure saves compiler output to ./config.log for debugging. 1946*d874e919Schristos* New files autoconf.m4 and autoheader.m4 load the other Autoconf macros. 1947*d874e919Schristos* acsite.m4 is the new name for the system-wide aclocal.m4. 1948*d874e919Schristos* Has a DejaGnu test suite. 1949*d874e919Schristos 1950*d874e919SchristosMajor changes in Autoconf 1.11: 1951*d874e919Schristos 1952*d874e919Schristos* AC_PROG_INSTALL calls install.sh with the -c option. 1953*d874e919Schristos* AC_SET_MAKE cleans up after itself. 1954*d874e919Schristos* AC_OUTPUT sets prefix and exec_prefix if they weren't set already. 1955*d874e919Schristos* AC_OUTPUT prevents shells from looking in PATH for config.status. 1956*d874e919Schristos 1957*d874e919SchristosPlus a few other bug fixes. 1958*d874e919Schristos 1959*d874e919SchristosMajor changes in Autoconf 1.10: 1960*d874e919Schristos 1961*d874e919Schristos* autoheader uses config.h.bot if present, analogous to config.h.top. 1962*d874e919Schristos* AC_PROG_INSTALL looks for install.sh in srcdir or srcdir/.. and 1963*d874e919Schristos never uses cp. 1964*d874e919Schristos* AC_PROG_CXX looks for cxx as a C++ compiler. 1965*d874e919Schristos 1966*d874e919SchristosPlus several bugs fixed. 1967*d874e919Schristos 1968*d874e919SchristosMajor changes in Autoconf 1.9: 1969*d874e919Schristos 1970*d874e919Schristos* AC_YYTEXT_POINTER replaces AC_DECLARE_YYTEXT. 1971*d874e919Schristos* AC_SIZEOF_TYPE generates the cpp symbol name automatically, 1972*d874e919Schristos and autoheader generates entries for those names automatically. 1973*d874e919Schristos* AC_FIND_X gets the result from xmkmf correctly. 1974*d874e919Schristos* AC_FIND_X assumes no X if --without-x was given. 1975*d874e919Schristos* AC_FIND_XTRA adds libraries to the variable X_EXTRA_LIBS. 1976*d874e919Schristos* AC_PROG_INSTALL finds OSF/1 installbsd. 1977*d874e919Schristos 1978*d874e919SchristosMajor changes in Autoconf 1.8: 1979*d874e919Schristos 1980*d874e919Schristos** New macros: 1981*d874e919Schristos* New macros AC_LANG_C, AC_LANG_CPLUSPLUS, AC_LANG_SAVE, AC_LANG_RESTORE, 1982*d874e919Schristos AC_PROG_CXX, AC_PROG_CXXCPP, AC_REQUIRE_CPP 1983*d874e919Schristos for checking both C++ and C features in one configure script. 1984*d874e919Schristos* New macros AC_CHECKING, AC_VERBOSE, AC_WARN, AC_ERROR for printing messages. 1985*d874e919Schristos* New macros AC_FIND_XTRA, AC_MMAP, AC_SIZEOF_TYPE, AC_PREREQ, 1986*d874e919Schristos AC_SET_MAKE, AC_ENABLE. 1987*d874e919Schristos 1988*d874e919Schristos** Changed macros: 1989*d874e919Schristos* AC_FIND_X looks for X in more places. 1990*d874e919Schristos* AC_PROG_INSTALL defaults to install.sh instead of cp, if it's in srcdir. 1991*d874e919Schristos install.sh is distributed with Autoconf. 1992*d874e919Schristos* AC_DECLARE_YYTEXT has been removed because it can't work, pending 1993*d874e919Schristos a rewrite of quoting in AC_DEFINE. 1994*d874e919Schristos* AC_OUTPUT adds its comments in C format when substituting in C files. 1995*d874e919Schristos* AC_COMPILE_CHECK protects its ECHO-TEXT argument with double quotes. 1996*d874e919Schristos 1997*d874e919Schristos** New or changed command line options: 1998*d874e919Schristos* configure accepts --enable-FEATURE[=ARG] and --disable-FEATURE options. 1999*d874e919Schristos* configure accepts --without-PACKAGE, which sets withval=no. 2000*d874e919Schristos* configure accepts --x-includes=DIR and --x-libraries=DIR. 2001*d874e919Schristos* Giving --with-PACKAGE no argument sets withval=yes instead of withval=1. 2002*d874e919Schristos* configure accepts --help, --version, --silent/--quiet, --no-create options. 2003*d874e919Schristos* configure accepts and ignores most other Cygnus configure options, and 2004*d874e919Schristos warns about unknown options. 2005*d874e919Schristos* config.status accepts --help, --version options. 2006*d874e919Schristos 2007*d874e919Schristos** File names and other changes: 2008*d874e919Schristos* Relative srcdir values are not made absolute. 2009*d874e919Schristos* The values of @prefix@ and @exec_prefix@ and @top_srcdir@ get substituted. 2010*d874e919Schristos* Autoconf library files are installed in ${datadir}/autoconf, not ${datadir}. 2011*d874e919Schristos* autoheader optionally copies config.h.top to the beginning of config.h.in. 2012*d874e919Schristos* The example Makefile dependencies for configure et al. work better. 2013*d874e919Schristos* Namespace cleanup: all shell variables used internally by Autoconf 2014*d874e919Schristos have names beginning with `ac_'. 2015*d874e919Schristos 2016*d874e919SchristosMore big improvements are in process for future releases, but have not 2017*d874e919Schristosyet been (variously) finished, integrated, tested, or documented enough 2018*d874e919Schristosto release yet. 2019*d874e919Schristos 2020*d874e919SchristosMajor changes in Autoconf 1.7: 2021*d874e919Schristos 2022*d874e919Schristos* New macro AC_OBSOLETE. 2023*d874e919Schristos* Bugs in Makefile.in fixed. 2024*d874e919Schristos* AC_LONG_FILE_NAMES improved. 2025*d874e919Schristos 2026*d874e919SchristosMajor changes in Autoconf 1.6: 2027*d874e919Schristos 2028*d874e919Schristos* New macro AC_LONG_64_BITS. 2029*d874e919Schristos* Multiple .h files can be created. 2030*d874e919Schristos* AC_FIND_X looks for X files directly if it doesn't find xmkmf. 2031*d874e919Schristos* AC_ALLOCA defines C_ALLOCA if using alloca.c. 2032*d874e919Schristos* --with-NAME can take a value, e.g., --with-targets=sun4,hp300bsd. 2033*d874e919Schristos* Unused --no-create option to configure removed. 2034*d874e919Schristos* autoheader doesn't change the timestamp of its output file if 2035*d874e919Schristos the file didn't change. 2036*d874e919Schristos* All macros that look for libraries now use AC_HAVE_LIBRARY. 2037*d874e919Schristos* config.status checks three optional environment variables to 2038*d874e919Schristos modify its behavior. 2039*d874e919Schristos* The usual bug fixes. 2040*d874e919Schristos 2041*d874e919SchristosMajor changes in Autoconf 1.5: 2042*d874e919Schristos 2043*d874e919Schristos* New macros AC_FIND_X, AC_OFF_T, AC_STAT_MACROS_BROKEN, AC_REVISION. 2044*d874e919Schristos* autoconf and autoheader scripts have GNU standards conforming 2045*d874e919Schristos --version and --help options (they print their message and exit). 2046*d874e919Schristos* Many bug fixes. 2047*d874e919Schristos 2048*d874e919SchristosMajor changes in Autoconf 1.4: 2049*d874e919Schristos 2050*d874e919Schristos* New macros AC_HAVE_POUNDBANG, AC_TIME_WITH_SYS_TIME, AC_LONG_DOUBLE, 2051*d874e919Schristos AC_GETGROUPS_T, AC_DEFINE_UNQUOTED. 2052*d874e919Schristos* autoconf and autoheader use the M4 environment variable to determine the 2053*d874e919Schristos name of the M4 program to use. 2054*d874e919Schristos* The --macrodir option to autoconf and autoheader specifies the directory 2055*d874e919Schristos in which acspecific.m4, acgeneral.m4, etc. reside if not the default. 2056*d874e919Schristos* autoconf and autoheader can take `-' as their file names, which means to 2057*d874e919Schristos read stdin as input. 2058*d874e919Schristos* Resulting configure scripts can take a --verbose option which causes them 2059*d874e919Schristos to print the results of their tests. 2060*d874e919Schristos* AC_DEFINE quotes its second argument in such a way that spaces, magic 2061*d874e919Schristos shell characters, etc. will be preserved during various stages of 2062*d874e919Schristos expansion done by the shell. If you don't want this, use 2063*d874e919Schristos AC_DEFINE_UNQUOTED instead. 2064*d874e919Schristos* Much textual processing done with external calls to tr and sed have been 2065*d874e919Schristos internalized with builtin M4 `patsubst' and `translit' calls. 2066*d874e919Schristos* AC_OUTPUT doesn't hardwire the file names it outputs. Instead, you can 2067*d874e919Schristos set the shell variables `gen_files' and `gen_config' to the list of 2068*d874e919Schristos file names to output. 2069*d874e919Schristos* AC_DECLARE_YYTEXT does an AC_SUBST of `LEX_OUTPUT_ROOT', which may be 2070*d874e919Schristos "lex.yy" or "lexyy", depending on the system. 2071*d874e919Schristos* AC_PROGRAMS_CHECK takes an optional third arg. If given, it is used as 2072*d874e919Schristos the default value. 2073*d874e919Schristos* If AC_ALLOCA chooses alloca.c, it also defines STACK_DIRECTION. 2074*d874e919Schristos* AC_CONST works much more reliably on more systems. 2075*d874e919Schristos* Many bug fixes. 2076*d874e919Schristos 2077*d874e919SchristosMajor changes in Autoconf 1.3: 2078*d874e919Schristos 2079*d874e919Schristosconfigure no longer requires awk for packages that use a config.h. 2080*d874e919SchristosSupport handling --with-PACKAGE options. 2081*d874e919SchristosNew `autoheader' script to create `config.h.in' from `configure.in'. 2082*d874e919SchristosIgnore troublesome -lucb and -lPW when searching for alloca. 2083*d874e919SchristosRename --exec_prefix to --exec-prefix for GNU standards conformance. 2084*d874e919SchristosImprove detection of STDC library. 2085*d874e919SchristosAdd AC_HAVE_LIBRARY to check for non-default libraries. 2086*d874e919SchristosFunction checking should work with future GNU libc releases. 2087*d874e919Schristos 2088*d874e919SchristosMajor changes in Autoconf 1.2: 2089*d874e919Schristos 2090*d874e919SchristosThe --srcdir option is now usually unnecessary. 2091*d874e919SchristosAdd a file containing sample comments describing CPP macros. 2092*d874e919SchristosA comment in config.status tells which host it was configured on. 2093*d874e919SchristosSubstituted variable values can now contain commas. 2094*d874e919SchristosFix bugs in various feature checks. 2095*d874e919Schristos 2096*d874e919SchristosMajor changes in Autoconf 1.1: 2097*d874e919Schristos 2098*d874e919SchristosAdded AC_STRCOLL macro. 2099*d874e919SchristosMade AC_GETLOADAVG check for more things. 2100*d874e919SchristosAC_OUTPUT argument is now optional. 2101*d874e919SchristosVarious bug fixes. 2102*d874e919Schristos 2103*d874e919Schristos----- 2104*d874e919Schristos 2105*d874e919SchristosCopyright (C) 1993-1996, 1998-2012 Free Software Foundation, Inc. 2106*d874e919Schristos 2107*d874e919SchristosCopying and distribution of this file, with or without modification, 2108*d874e919Schristosare permitted in any medium without royalty provided the copyright 2109*d874e919Schristosnotice and this notice are preserved. This file is offered as-is, 2110*d874e919Schristoswithout warranty of any kind. 2111*d874e919Schristos 2112*d874e919SchristosLocal Variables: 2113*d874e919Schristosmode: outline 2114*d874e919SchristosEnd: 2115