1* Major changes in Autoconf 2.61 (2006-11-17) 2 3** New macros AC_C_FLEXIBLE_ARRAY_MEMBER, AC_C_VARARRAYS. 4 5** AC_ARG_ENABLE and AC_ARG_WITH now allow '.' in feature and package names. 6 7* Major changes in Autoconf 2.60b (2006-10-22) 8 9** BIN_SH 10 Autoconf-generated shell scripts no longer export BIN_SH, due to 11 configuration hassles with this. Installers who need BIN_SH in 12 their environment should set it before invoking 'configure' and 13 'make'. As far as we know, this affects only Unixware installations. 14 15** Obsolescent macros 16 The documentation now says that the following macros are obsolescent, 17 as they are superseded by Gnulib: 18 19 AC_FUNC_FNMATCH AC_FUNC_FNMATCH_GNU AC_FUNC_GETLOADVG AC_REPLACE_FNMATCH 20 21 New programs should use the Gnulib counterparts of these macros. 22 We have no current plans to remove them from Autoconf. 23 24** AC_COMPUTE_INT no longer caches or reports results. 25 26** AC_CHECK_DECL now also works with aggregate objects. 27 28** AC_USE_SYSTEM_EXTENSIONS now defines _TANDEM_SOURCE for NonStop platforms. 29 30** GNU M4 1.4.7 or later is now recommended. 31 32** m4_mkstemp 33 New M4sugar macro, which is more secure than the POSIX M4 maketemp. 34 35** m4_maketemp 36 Now an alias for m4_mkstemp. 37 38* Major changes in Autoconf 2.60a (2006-08-25) 39 40** GNU M4 1.4.6 or later is now recommended. 41 42** The check for C99 now tests for varargs macros, as documented. 43 It also tests that the preprocessor supports 64-bit integers. 44 45** Autoconf now uses constructs like "#ifdef HAVE_STDLIB_H" rather than 46 "#if HAVE_STDLIB_H", so that it now works with "gcc -Wundef -Werror". 47 48** The functionality of the undocumented _AC_COMPUTE_INT is now provided 49 by a public and documented macro, AC_COMPUTE_INT. The parameters to the 50 two macros are different, so autoupdate will not change the old private name 51 to the new one. _AC_COMPUTE_INT may be removed in a future release. 52 53** AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT now require 54 that long long types be at least 64 bits wide, as C99 and tradition 55 requires. Formerly, they accepted implementations of any width. 56 57 58* Major changes in Autoconf 2.60 59 60 Released 2006-06-23, by Ralf Wildenhues. 61 62** Autoconf no longer depends on whether m4wrap is FIFO (as Posix requires) 63 or LIFO (as in GNU M4 1.4.x). GNU M4 2.0 is expected to conform to Posix 64 here, so m4wrap/m4_wrap users should no longer depend on LIFO behavior. 65 66** Provide a way to turn off warnings about the changed directory variables. 67 68* Major changes in Autoconf 2.59d 69 70 Released 2006-06-05, by Ralf Wildenhues. 71 72** GNU make now recommended for VPATH builds 73 INSTALL now suggests VPATH builds (e.g., "sh ../srcdir/configure") 74 only if you use GNU make. In practice, other 'make' implementations 75 have too many subtle incompatibilities in their support for VPATH. 76 Many packages (including Autoconf itself) are portable to other 77 'make' implementations, but some packages are not, and recommending 78 GNU make keeps the installation instructions simpler. 79 80** Even more safety checks for the new Directory variables: 81 Warn about suspicious `${datarootdir}' found in config files output. 82 83** AC_TRY_COMMAND, AC_TRY_EVAL, ac_config_guess, ac_config_sub, ac_configure 84 These never-documented macros and variables have been marked with 85 comments saying that they may be removed in a future release, 86 because their use can lead to unintended code being executed. 87 If you need functionality that only these macros or variables 88 currently supply, please write bug-autoconf@gnu.org. 89 90** AC_SUBST, AC_DEFINE 91 Literal arguments to these are passed to m4_pattern_allow now. 92 93** AC_PROG_CC_STDC 94 Passing 'ac_cv_prog_cc_stdc=no' to 'configure' now sets ac_cv_prog_cc_c99 95 and ac_cv_prog_cc_c89 to 'no' as well, for backward compatibility with 96 obsolete K&R tests in the Automake test suite. 97 98** AC_PROG_CXX_C_O 99 New macro. 100 101** AC_PROG_MKDIR_P 102 New macro. 103 104** AS_MKDIR_P 105 Now more robust with special characters in file names, or when 106 multiple processes create the same directory at the same time. 107 108** Obsolescent macros 109 The documentation now says that the following macros are obsolescent: 110 they test for problems that are so old that they are no longer of 111 practical importance on current systems. 112 113 AC_C_BACKSLASH_A AC_FUNC_MEMCMP AC_HEADER_DIRENT 114 AC_C_CONST AC_FUNC_SELECT_ARGTYPES AC_HEADER_STAT 115 AC_C_PROTOTYPES AC_FUNC_SETPGRP AC_HEADER_STDC 116 AC_C_STRINGIZE AC_FUNC_SETVBUF_REVERSED AC_HEADER_SYS_WAIT 117 AC_C_VOLATILE AC_FUNC_STAT AC_HEADER_TIME 118 AC_FUNC_CLOSEDIR_VOID AC_FUNC_STRFTIME AC_ISC_POSIX 119 AC_FUNC_GETPGRP AC_FUNC_UTIME_NULL AC_PROG_GCC_TRADITIONAL 120 AC_FUNC_LSTAT AC_FUNC_VPRINTF AC_STRUCT_TM 121 122 New programs need not use these macros. We have no current plans to 123 remove them. 124 125** autoreconf 126 For compatibility with future Libtool 2.0, autoreconf will invoke 127 libtoolize with the option `--ltdl' now, if LT_CONFIG_LTDL_DIR is 128 used. 129 130* Major changes in Autoconf 2.59c 131 132 Released 2006-04-12, by Ralf Wildenhues. 133 134** The configure command now redirects standard input from /dev/null, 135 to help avoid problems with subsidiary commands that might mistakenly 136 read standard input. AS_ORIGINAL_STDIN_FD points to the original 137 standard input before this redirection, if you really want configure to 138 read from standard input. 139 140** Directory variables adjusted to recent changes in the GNU Coding Standards. 141 The following directory variables are new: 142 143 datarootdir read-only architecture-independent data root [PREFIX/share] 144 localedir locale-specific message catalogs [DATAROOTDIR/locale] 145 docdir documentation root [DATAROOTDIR/doc/PACKAGE] 146 htmldir html documentation [DOCDIR] 147 dvidir dvi documentation [DOCDIR] 148 pdfdir pdf documentation [DOCDIR] 149 psdir ps documentation [DOCDIR] 150 151 The following variables have new default values: 152 153 datadir read-only architecture-independent data [DATAROOTDIR] 154 infodir info documentation [DATAROOTDIR/info] 155 mandir man documentation [DATAROOTDIR/man] 156 157 This means that if you use any of `@datadir@', `@infodir@', or 158 `@mandir@' in a file, you will have to ensure `${datarootdir}' is 159 defined in this file. As a temporary measure, if any of those are 160 found but no mention of `datarootdir', the substitutions will be 161 replaced with values that do not contain `${datarootdir}', and a 162 warning will be issued. 163 164** @top_builddir@ is now a dir name: it is always nonempty and doesn't have 165 a trailing slash. Similar change will be made to ac_top_builddir in a 166 future release; the old style value, which matches (../)*, is (and will 167 continue to be) available as ac_top_build_prefix. 168 169** AC_C_TYPEOF 170 New macro to check for support of 'typeof' syntax a la GNU C. 171 172** AC_CHECK_DECLS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS_ONCE 173 New "once-only" variants of commonly-used macros, to make 'configure' 174 smaller and faster in common cases. 175 176** AC_FUNC_STRTOLD 177 New macro to check for strtold with C99 semantics. 178 179** AC_HEADER_ASSERT 180 New macro that lets builder disable assertions at 'configure'-time. 181 182** AC_PATH_X 183 Now checks for X11/Xlib.h and XrmInitialize (X proper) rather than 184 X11/Intrinsic.h and XtMalloc (Xt). 185 186** AC_PRESERVE_HELP_ORDER 187 New macro that causes `configure' to display help strings for AC_ARG_ENABLE 188 and AC_ARG_WITH arguments in one region, in the order defined. The default 189 behavior is to group options of each classes separately. 190 191** AC_PROG_CC, AC_PROG_CXX 192 No longer automatically arrange to declare the 'exit' function of C, 193 when a C++ compiler is used. Standard Autoconf macros no longer use 194 'exit', so this is no longer an issue for them. If you use C++, and 195 want to call 'exit', you'll have to arrange for its declaration 196 yourself. But we now suggest you return from 'main' instead. 197 198** AC_PROG_CC_C89, AC_PROG_CC_C99 199 New macros for ISO C99 support. AC_PROG_CC_C89 and AC_PROG_CC_C99 200 check for ANSI C89 and ISO C99 support respectively. 201 202** AC_PROG_CC_STDC 203 Has been unobsoleted, and will check if the compiler supports ISO 204 C99, falling back to ANSI C89 if not. ac_cv_prog_cc_stdc is 205 retained for backwards compatibility, assuming the value of 206 ac_cv_prog_cc_c99 or ac_cv_prog_cc_c89 (whichever is valid, in 207 that order). 208 209** AC_STRUCT_DIRENT_D_INO, AC_STRUCT_DIRENT_D_TYPE 210 New macros for checking commonly-used members of struct dirent. 211 212** AC_SUBST 213 The substituted value can now contain newlines. 214 215** AC_SUBST_FILE 216 The substitution now occurs only when @variable@ is on a line by itself, 217 optionally surrounded by spaces and tabs. The whole line is replaced. 218 219** AC_TYPE_LONG_DOUBLE, AC_TYPE_LONG_DOUBLE_WIDER 220 New macros to check for long double, and whether it is wider than double. 221 The old macro AC_C_TYPE_LONG_DOUBLE has been marked as obsolete; 222 applications should switch to the new macro. 223 224** AC_TYPE_INT8_T, AC_TYPE_INT16_T, AC_TYPE_INT32_T, AC_TYPE_INT64_T, 225 AC_TYPE_INTMAX_T, AC_TYPE_INTPTR_T, AC_TYPE_LONG_LONG_INT, AC_TYPE_SSIZE_T, 226 AC_TYPE_UINT8_T, AC_TYPE_UINT16_T, AC_TYPE_UINT32_T, AC_TYPE_UINT64_T, 227 AC_TYPE_UINTMAX_T, AC_TYPE_UINTPTR_T, AC_TYPE_UNSIGNED_LONG_LONG_INT 228 New macros to check for C99 and POSIX types. 229 230** AC_USE_SYSTEM_EXTENSIONS 231 New macro to enable extensions to Posix. 232 233** AH_HEADER 234 New macro which is defined to the name of the first declared config header 235 or undefined if no config headers have been declared yet. 236 237** AS_HELP_STRING 238 The macro correctly handles quadrigraphs now. 239 240** AS_BOURNE_COMPATIBLE, AS_SHELL_SANITIZE, AS_CASE 241 These macros are new or published now. 242 243** AT_COPYRIGHT 244 New macro for copyright notices in testsuite files. 245 246** ALLOCA, LIBOBJS, LTLIBOBJS 247 Object names added to these variables are now prefixed with `${LIBOBJDIR}', 248 as in `${LIBOBJDIR}alloca.o'. LIBOBJDIR is meant to be defined from 249 `Makefile.in' in case the object files lie in a different directory. 250 The LIBOBJDIR feature is experimental. 251 252** autoreconf 253 Supports --no-recursive now. 254 255** New macros to support Erlang/OTP. 256 New macros for configuring paths to Erlang tools and libraries: 257 AC_ERLANG_PATH_ERLC, AC_ERLANG_NEED_ERLC, AC_ERLANG_PATH_ERL, 258 AC_ERLANG_NEED_ERL, AC_ERLANG_CHECK_LIB, AC_ERLANG_SUBST_ROOT_DIR, 259 AC_ERLANG_SUBST_LIB_DIR. 260 261 New macros for configuring installation of Erlang libraries: 262 AC_ERLANG_SUBST_INSTALL_LIB_DIR, AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR. 263 264** The manual now mentions Gnulib more prominently. 265 266** New macros to support Objective C. 267 AC_PROG_OBJC, AC_PROG_OBJCPP. 268 269* Major changes in Autoconf 2.59b 270 271 Released 2004-08-20, by Paul Eggert. 272 273** AC_CHECK_ALIGNOF 274 New macro that computes the default alignment of a type. 275 276** AC_CHECK_TOOL, AC_PATH_TOOL, AC_CHECK_TOOLS 277 When cross-compiling, these macros will give a warning if the tool 278 is not prefixed. In the future, unprefixed cross tools will not 279 be detected; please consult the info documentation for information 280 about the reason of this change. 281 282** AC_CHECK_TARGET_TOOL, AC_PATH_TARGET_TOOL, AC_CHECK_TARGET_TOOLS 283 New macros that detect programs whose name is prefixed with the 284 target type, if the build type and target type are different. 285 286** AC_REQUIRE_AUX_FILE 287 New trace macro that declares expected auxiliary files. 288 289** AC_PROG_GREP 290 New macro that tests for a grep program that accepts as a long a line 291 as possible. 292 293** AC_PROG_EGREP, AC_PROG_FGREP 294 These macros now require AC_PROG_GREP, and try EGREP="$GREP -E" and 295 FGREP="$GREP -F" respectively if possible, or else run a path search for 296 a program that accepts as long a line as possible. 297 298** AC_PROG_SED 299 New macro that tests for a sed program that truncates as few characters 300 as possible. 301 302* Major changes in Autoconf 2.59 303 304 Released 2003-11-04, by Akim Demaille 305 306** ac_abs_builddir etc. 307 Absolute file names were actually relative in 2.58. 308 309* Major changes in Autoconf 2.58 310 311 Released 2003-11-04, by Akim Demaille 312 313** core.* 314 core.* files are no longer removed, as they may be valid user files. 315 316** autoreconf and auxiliary directory 317 Autoreconf creates the auxiliary directory if needed. This is 318 especially useful for initial "bootstrapping" of fresh CVS checkouts. 319 320** AC_CONFIG_MACRO_DIR 321 Use this macro to declare the directory for local M4 macros for aclocal. 322 323** AC_LIBOBJS 324 No longer includes twice the same file in LIBOBJS if invoked 325 multiple times. 326 327** AC_CONFIG_COMMANDS 328 The directory for its first argument is automatically created. For 329 instance, with 330 331 AC_CONFIG_COMMANDS([src/modules.hh], [...]) 332 333 $top_builddir/src/ is created if needed. 334 335** Autotest and local.at 336 The optional file local.at is always included in Autotest test suites. 337 338** Warnings 339 The warnings are always issued, including with cached runs. 340 This became a significant problem since aclocal and automake can 341 run autoconf behind the scene. 342 343** autoheader warnings 344 The warnings of autoheader can be turned off, using --warning. 345 For instance, -Wno-obsolete disables the complaints about acconfig.h 346 and other deprecated constructs. 347 348** New macros 349 AC_C_RESTRICT, AC_INCLUDES_DEFAULT, AC_LANG_ASSERT, AC_LANG_WERROR, 350 AS_SET_CATFILE. 351 352** AC_DECL_SYS_SIGLIST 353 Works again. 354 355** AC_FUNC_MKTIME 356 Now checks that mktime is the inverse of localtime. 357 358** Improve DJGPP portability 359 The Autoconf tools and configure behave better under DJGPP. 360 361** Present But Cannot Be Compiled 362 New FAQ section dedicated to the mystic 363 364 configure: WARNING: pi.h: present but cannot be compiled 365 configure: WARNING: pi.h: check for missing prerequisite headers? 366 configure: WARNING: pi.h: proceeding with the preprocessor's result 367 messages. 368 369** Concurrent executions of autom4te 370 autom4te now locks its internal files, which enables concurrent 371 executions of autom4te, likely to happen if automake, autoconf, 372 autoheader etc. are run simultaneously. 373 374** Libtool 375 Use of Libtool 1.5 and higher is encouraged. Compatibility with 376 Libtool pre-1.4 is not checked. 377 378** Autotest 379 Testsuites no longer rerun failed tests in verbose mode; instead, 380 failures are logged while the test is run. 381 382 In addition, expected failures can be marked as such. 383 384* Major changes in Autoconf 2.57 385 386 Released 2002-12-03 by Paul Eggert. 387 388Bug fixes for problems with AIX linker, with freestanding C compilers, 389with GNU M4 limitations, and with obsolete copies of GNU documents. 390 391The Free Documentation License has been upgraded from 1.1 to 1.2. 392 393* Major changes in Autoconf 2.56 394 395 Released 2002-11-15 by Akim Demaille. 396 397One packaging problem fixed (config/install-sh was not executable). 398 399* Major changes in Autoconf 2.55 400 401 Released 2002-11-14 by Akim Demaille. 402 403Release tips: 404 405 Have your configure.ac checked by autoscan ("autoscan"). 406 Try the warning options ("autoreconf -fv -Wall"). 407 408** Documentation 409 410- AC_CHECK_HEADER, AC_CHECK_HEADERS 411 More information on proper use. 412 413- Writing Test Programs 414 415 This sections explains how to write good test sources to use with 416 AC_COMPILE_IFELSE etc. It documents AC_LANG_PROGRAM and so forth. 417 418- AC_FOO_IFELSE vs. AC_TRY_FOO 419 420 Explains why Autoconf moves from AC_TRY_COMPILE etc. to 421 AC_COMPILE_IFELSE and AC_LANG_PROGRAM etc. 422 423** autoreconf 424 425- Is more robust to different Gettext installations. 426 427- Produces messages (when --verbose) to be understood by Emacs' 428 compile mode. 429 430- Supports -W/--warnings. 431 432- -m/--make 433 Once the GNU Build System reinstalled, run `./config.status 434 --recheck && ./config.status && make' if possible. 435 436** autom4te 437 438- Supports --cache, and --no-cache. 439 440- ~/.autom4te.cfg makes it possible to disable the caching mechanism 441 (autom4te.cache). See `Customizing autom4te' in the documentation. 442 443** config.status 444 Supports --quiet. 445 446** Obsolete options 447 448 Support for the obsoleted options -m, --macrodir, -l, --localdir is 449 dropped in favor of the safer --include/--prepend-include scheme. 450 451** Macros 452 453- New macros 454 AC_COMPILER_IFELSE, AC_FUNC_MBRTOWC, AC_HEADER_STDBOOL, 455 AC_LANG_CONFTEST, AC_LANG_SOURCE, AC_LANG_PROGRAM, AC_LANG_CALL, 456 AC_LANG_FUNC_TRY_LINK, AC_MSG_FAILURE, AC_PREPROC_IFELSE. 457 458- Obsoleted 459 Obsoleted macros are kept for Autoconf backward compatibility, but 460 should be avoided in configure.ac. Running autoupdate is advised. 461 AC_DECL_SYS_SIGLIST. 462 463- AC_DEFINE/AC_DEFINE_UNQUOTED 464 465 We have to stop using the old compatibility scheme --that tried to 466 avoid useless backslashes-- because Libtool 1.4.3 contains a 467 468 AC_DEFINE([error_t], [int], 469 [Define to a type to use for \`error_t' if it is not 470 otherwise available.]) 471 472 We have to quote the single quotes and backslashes with \. The old 473 compatibility scheme saw that ` was backslashed, and therefore did 474 not quote the single quote... Failure. Hence, Autoconf 2.54 is not 475 compatible with Libtool. Autoconf 2.55 is, but in some cases might 476 produce more \ than wanted. 477 478 Please, note that in the future the same problem will happen with 479 AC_MSG_*: use `autoreconf -f -Wall'. 480 481** Bug Fixes 482 483- Portability of the Autoconf package to Solaris. 484 485- Spurious warnings caused by config.status. 486 This bug is benign, but painful: on some systems (typically 487 FreeBSD), warnings such as: 488 489 config.status: creating Makefile 490 mv: Makefile: set owner/group (was: 1357/0): Operation not permitted 491 492 could be issued. This is fixed. 493 494- Parallel Builds 495 Simultaneous executions of config.status are possible again. 496 497- Precious variables accumulation 498 499 config.status could stack several copies of the precious variables 500 assignments. 501 502 503** Plans for later versions 504 505- ./configure <host> 506 507 The compatibility hooks with the old scheme will be completely 508 removed. Please, advice/use `--build', `--host', and `--target' 509 only. 510 511- AC_CHECK_HEADER, AC_CHECK_HEADERS 512 513 The tests will be stricter, please make sure your invocations are 514 valid. 515 516- shell functions 517 518 Shell functions will gradually be introduced, probably starting with 519 Autotest. If you know machines which are in use that you suspect 520 *not* to support shell functions, please run the test suite of 521 Autoconf 2.55 on it, and report the results to 522 bug-autoconf@gnu.org. 523 524- AC_MSG_* 525 526 Special characters in AC_MSG_* need not be quoted. Currently, 527 Autoconf has heuristics to decide when a string is escaped, or has 528 to be escaped. This scheme is fragile, and will be removed; the 529 only risk is uglified messages. Please, run `autoreconf -f -Wall' 530 to find occurrences that will be affected. 531 532* Major changes in Autoconf 2.54 533 534 Released 2002-09-13 by Akim Demaille. 535 536** Executables 537 538- autoreconf no longer changes the version of the gettext/po/intl 539 support files. It now adds the files the correspond to the 540 AM_GNU_GETTEXT_VERSION declared in configure.ac. 541 542 Warning: It now relies on the 'autopoint' program, which is part 543 of GNU gettext 0.11.4 and newer. 544 545 Please note that you need to have a GNU gettext version that 546 corresponds at least to the AM_GNU_GETTEXT_VERSION declared 547 in configure.ac. You can upgrade to newer GNU gettext versions, 548 though, without needing to change configure.ac. 549 550- The -I DIR or --include=DIR option now appends DIR to the include path 551 instead of prepending; this is for consistency with other GNU tools. 552 The new -B DIR or --prepend-include=DIR option has the old behavior. 553 554** Macros 555 556- AC_OUTPUT 557 Now handles all the gory details about LIBOBJS and LTLIBOBJS. 558 Please, remove lines such as 559 560 # This is necessary so that .o files in LIBOBJS are also 561 # built via the ANSI2KNR-filtering rules. 562 LIBOBJS=`echo $LIBOBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'` 563 564 and read the `AC_LIBOBJ vs LIBOBJS' section. Do not define U in 565 your Makefiles either. 566 567- AC_CONFIG_LINKS now makes copies if it can't make links. 568 569- AC_FUNC_FNMATCH now tests only for POSIX compatibility, reverting to 570 Autoconf 2.13 behavior. The new macro AC_FUNC_FNMATCH_GNU also 571 tests for GNU extensions to fnmatch, and replaces fnmatch if needed. 572 573- AC_FUNC_SETVBUF_REVERSED no longer fails when cross-compiling. 574 575- AC_PROG_CC_STDC is integrated into AC_PROG_CC. 576 577- AC_PROG_F77 default search no longer includes cf77 and cfg77. 578 579- New macros 580 581 AC_C_BACKSLASH_A, AC_CONFIG_LIBOBJ_DIR, AC_GNU_SOURCE, 582 AC_PROG_EGREP, AC_PROG_FGREP, AC_REPLACE_FNMATCH, 583 AC_FUNC_FNMATCH_GNU, AC_FUNC_REALLOC, AC_TYPE_MBSTATE_T. 584 585- AC_FUNC_GETLOADAVG 586 looks for getloadavg.c in the CONFIG_LIBOBJ_DIR. 587 588- AC_FUNC_MALLOC 589 Now defines HAVE_MALLOC to 0 if `malloc' does not work, and asks 590 for an AC_LIBOBJ replacement. 591 592** Bug fixes 593 594- Spurious complaints from `m4_bmatch' about invalid regular 595 expressions are suppressed. 596 597- Empty top_builddirs are properly handled. 598 599- AC_CHECK_MEMBER works correctly when the member is an aggregate. 600 601- AC_PATH_PROG 602 Now colon in the optional path arguments are properly handled. 603 604** Improved portability 605 606- Both Autoconf the package, and the scripts it produces, should run 607 more reliably with Zsh. Bear in mind it is the default Bourne shell 608 on Darwin. 609 610- Autoconf and the scripts it produces no longer assume the existence of 611 the obsolescent commands egrep and fgrep. 612 613** Documentation 614 615- Limitations of Make 616 More of them. 617 618- GNATS 619 The GNATS base moved to 620 http://bugs.gnu.org/cgi-bin/gnatsweb.pl?database=autoconf 621 (It is no longer available, though.) 622 623** Misc. 624 625- config.log 626 Now contains the list of ouput variables and files (AC_SUBST, 627 AC_SUBST_FILES). 628 629* Major changes in Autoconf 2.53 630 631 Released 2002-03-08 by Akim Demaille. 632 633** Requirements 634 635 Perl 5.005_03 or later is required: autom4te is written in Perl and is 636 needed by autoconf. autoheader, autoreconf, ifnames, and autoscan are 637 rewritten in Perl. 638 639** Documentation 640 641- AC_INIT 642 Argument requirements, output variables, defined macros. 643- M4sugar, M4sh, Autotest 644 First sketch. 645- Double quoting macros 646 AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and AC_TRY_RUN. 647- Licensing 648 The Autoconf manual is now distributed under the terms of the GNU FDL. 649- Section `Hosts and Cross-Compilation' 650 Explains the rationale for the 2.5x changes in the cross-compilation 651 chain, and in the relationships between build, host, and target 652 types. 653 Emphasizes that `cross-compilation' == `--host is given'. 654 If you are working on compilers etc., be sure to read this section. 655- Section `AC_LIBOBJ vs. LIBOBJS' 656 Explains why assigning LIBOBJS directly is now an error. 657 Details how to update the code. 658 659** configure 660 661- $LINENO 662 Now used instead of hard coded line numbers. 663 This eases the comparison of `configure's, and diminishes the 664 pressure over control version archives. 665 Automatic replacement for shells that don't support this feature. 666- New output variables 667 @builddir@, @top_builddir@, @abs_srcdir@, @abs_top_srcdir@, @abs_builddir@, 668 @abs_top_builddir@. 669 670** Emacs 671 672 Autoconf and Autotest modes are provided. 673 674** Executables 675 676- autom4te 677 New, used by the Autoconf suite to cache and speed up most processing. 678- --force, -f 679 Supported by autom4te, autoconf and autoheader. 680- --include, -I 681 Replaces --autoconf-dir and --localdir in autoconf, autoheader, 682 autoupdate, and autoreconf. 683- autoreconf 684 No longer passes --cygnus, --foreign, --gnits, --gnu, --include-deps: 685 automake options are to be given via AUTOMAKE_OPTIONS. 686- autoreconf 687 Runs gettextize and libtoolize when appropriate. 688- autoreconf 689 --m4dir is no longer supported. 690- autoreconf 691 Now runs only in the specified directories, defaulting to `.', 692 but understands AC_CONFIG_SUBDIRS for dependent directories. 693 Before, it used to run on all the `configure.ac' found in the 694 current tree. 695 Independent packages are properly updated. 696 697** Bug fixes 698 699- The top level $prefix is propagated to the AC_CONFIG_SUBDIRS configures. 700- AC_TRY_RUN 701 Under the user pressure, $? is finally available. Probably a mistake. 702- AC_F77_LIBRARY_LDFLAGS now supports the HP/UX f90 compiler. 703- Precious variables accumulation 704 config.status could stack several copies of the precious variables 705 assignments. 706- AC_PATH_PROG and family. 707 Works properly when given a literal path. 708- AC_FUNC_SETPGRP 709 Somewhere since 2.13, the result had been reversed. 710 711** C Macros 712 713- AC_C_BIGENDIAN supports the cross-compiling case. 714- AC_C_BIGENDIAN accepts ACTION-IF-TRUE, ACTION-IF-FALSE, and 715 ACTION-IF-UNKNOWN arguments. All are facultative, and the default 716 for ACTION-IF-TRUE is to define WORDS_BIGENDIAN like AC_C_BIGENDIAN 717 always did. 718- AC_C_LONG_DOUBLE now succeeds only if `long double' has more range or 719 precision than `double'. 720 721** Generic macros 722 723- AC_INIT 724 It now defines the preprocessor symbols PACKAGE_NAME, 725 PACKAGE_TARNAME, PACKAGE_VERSION, PACKAGE_STRING, and 726 PACKAGE_BUGREPORT. 727 728- AC_INIT 729 Admits a fourth optional parameter: the tar name. 730 731- AC_CONFIG_COMMANDS, HEADERS, FILES, LINKS. 732 Provide the user with srcdir, ac_srcdir, ac_top_srcdir, ac_builddir, 733 ac_top_builddir, ac_abs_srcdir, ac_abs_top_srcdir, ac_abs_builddir, 734 ac_abs_top_builddir. 735 736- AC_CONFIG_COMMANDS, HEADERS, FILES, LINKS and AC_OUTPUT. 737 Are much less expensive when using long lists of files. 738 739- AC_PREFIX_PROGRAM 740 Works with shell variables, and non alphanumeric names. 741 742** Library macros 743 744- AC_FUNC_STRERROR_R now sets STRERROR_R_CHAR_P, not HAVE_WORKING_STRERROR_R, 745 because POSIX 1003.1-200x draft 7 says strerror_r returns int, not char *. 746 747- AC_FUNC_STRTOD substitutes POW_LIB. 748 749- AC_FUNC_STRNLEN 750 New. 751 752* Major changes in Autoconf 2.52 753 754 Released 2001-07-18 by Akim Demaille. 755 756** Documentation 757- AC_ARG_VAR 758- Quadrigraphs 759 This feature was present in autoconf 2.50 but was not documented. 760 For example, `@<:@' is translated to `[' just before output. This 761 is useful when writing strings that contain unbalanced quotes, or 762 other hard-to-quote constructs. 763- m4_pattern_forbid, m4_pattern_allow 764- Tips for upgrading from 2.13. 765- Using autoscan to maintain a configure.ac. 766 767** Default includes 768- Now include stdint.h. 769- sys/types.h and sys/stat.h are guarded. 770- strings.h is included if available, and not conflicting with string.h. 771 772** Bug fixes 773- The test suite is more robust and presents less false failures. 774- Invocation of GNU M4 now robust to POSIXLY_CORRECT. 775- configure accepts --prefix='' again. 776- AC_CHECK_LIB works properly when its first argument is not a 777 literal. 778- HAVE_INTTYPES_H is defined only if not conflicting with sys/types.h. 779- build_, host_, and target_alias are AC_SUBST as in 2.13. 780- AC_ARG_VAR properly propagates precious variables inherited from the 781 environment to ./config.status. 782- Using --program-suffix/--program-prefix is portable. 783- Failures to detect the default compiler's output extension are less 784 likely. 785- `config.status foo' works properly when `foo' depends on variables 786 set in an AC_CONFIG_THING INIT-CMD. 787- autoheader is more robust to broken input. 788- Fixed Fortran name-mangling and link tests on a number of systems, 789 e.g. NetBSD; see AC_F77_DUMMY_MAIN, below. 790 791** Generic macros 792- AC_CHECK_HEADER and AC_CHECK_HEADERS support a fourth argument to 793 specify pre-includes. In this case, the headers are compiled with 794 cc, not merely preprocessed by cpp. Therefore it is the _usability_ 795 of a header which is checked for, not just its availability. 796- AC_ARG_VAR refuses to run configure when precious variables have 797 changed. 798- Versions of compilers are dumped in the logs. 799- AC_CHECK_TYPE recognizes use of `foo_t' as a replacement type. 800 801** Specific Macros 802- AC_PATH_XTRA only adds -ldnet to $LIBS if it's needed to link. 803- AC_FUNC_WAIT3 and AC_SYS_RESTARTABLE_SYSCALLS are obsoleted. 804- AM_FUNC_ERROR_AT_LINE, AM_FUNC_FNMATCH, AM_FUNC_MKTIME, 805 AM_FUNC_OBSTACK, and AM_FUNC_STRTOD are now activated. 806 Be sure to read `Upgrading from Version 2.13' to understand why 807 running `autoupdate' is needed. 808- AC_F77_DUMMY_MAIN, AC_F77_MAIN: new macros to detect whether 809 a main-like routine is required/possible when linking C/C++ with 810 Fortran. Users of e.g. AC_F77_WRAPPERS should be aware of these. 811- AC_FUNC_GETPGRG behaves better when cross-compiling. 812 813* Major changes in Autoconf 2.51 814There was no release of Autoconf 2.51 since some packagers had used 815this version number without permission to ship intermediary versions 816of 2.50. The version was skipped to avoid confusion. 817 818* Major changes in Autoconf 2.50 819 820 Released 2001-05-21 by Akim Demaille. 821 822** Lots of bug fixes 823There have been far too many to enumerate them here. Check out 824ChangeLog if you really want to know more. 825 826** Improved documentation 827In particular, portability issues are better covered. 828 829** Use of Automake 830All the standard GNU Makefile targets are supported. The layout has 831changed: m4/ holds the M4 extensions Autoconf needs for its 832configuration, doc/ contains the documentation, and tests/ contains 833the test suite. 834 835** Man pages are provided 836For autoconf, autoreconf, autoupdate, autoheader, autoscan, ifnames, 837config.guess, config.sub. 838 839** autoconf 840- --trace 841 Provides a safe and powerful means to trace the macro uses. This 842 provide the parsing layer for tools which need to `study' 843 configure.in. 844 845- --warnings 846 Specify what category of warnings should be enabled. 847 848- When recursing into subdirectories, try for configure.gnu before 849 configure to adapt for packages not using autoconf on case-insensitive 850 file systems. 851 852- Diagnostics 853 More errors are now caught (circular AC_REQUIRE dependencies, 854 AC_DEFINE in the action part of an AC_CACHE_CHECK, too many pops 855 etc.). In addition, their location and call stack are given. 856 857** autoupdate 858autoupdate is much more powerful, and is able to provide the glue code 859which might be needed to move from an old macro to its newer 860equivalent. 861 862You are strongly encouraged to use it to modernize both your 863`configure.in' and your .m4 extension files. 864 865** autoheader 866The internal machinery of autoheader has completely changed. As a 867result, using `acconfig.h' should be considered to be obsoleted, and 868you are encouraged to get rid of it using the AH macros. 869 870** autoreconf 871Extensive overhaul. 872 873** Fortran 77 compilers 874Globally, the support for Fortran 77 is considerably improved. 875 876Support for automatically determining a Fortran 77 compiler's 877name-mangling scheme. New CPP macros F77_FUNC and F77_FUNC_ are 878provided to wrap C/C++ identifiers, thus making it easier and more 879transparent for C/C++ to call Fortran 77 routines, and Fortran 77 to 880call C/C++ routines. See the Texinfo documentation for details. 881 882** Test suite 883The test suite no longer uses DejaGNU. It should be easy to submit 884test cases in this new framework. 885 886** configure 887- --help, --help=long, -hl 888 no longer dumps useless items. 889- --help=short, -hs 890 lists only specific options. 891- --help=recursive, -hr 892 displays the help of all the embedded packages. 893- Remembers environment variables when reconfiguring. 894 The previous scheme to set envvar before running configure was 895 ENV=VAL ./configure 896 what prevented configure from remembering the environment in which 897 it was run, therefore --recheck was run in an inconsistent 898 environment. Now, one should run 899 ./configure ENV=VAR 900 and then --recheck will work properly. Variables declared with 901 AC_ARG_VAR are also preserved. 902- cross-compilation 903 $build defaults to `config.guess`, $host to $build, and then $target 904 to $host. 905 Cross-compilation is a global status of the package, it no longer 906 depends upon the current language. 907 Cross compilation is enabled iff the user specified `--host'. 908 `configure' now fails if it can't run the executables it compiles, 909 unless cross-compilation is enabled. 910- Cache file 911 The cache file is disabled by default. The new options 912 `--config-cache', `-C' set the cache to `config.cache'. 913 914** config.status 915- faster 916 Much faster on most architectures. 917- concurrent executions 918 It is safe to use `make -j' with config.status. 919- human interface improved 920 It is possible to invoke 921 ./config.status foobar 922 instead of the former form (still valid) 923 CONFIG_COMMANDS= CONFIG_HEADERS= CONFIG_LINKS= \ 924 CONFIG_FILES=foobar:foo.in:bar.in \ 925 ./config.status 926 The same holds for configuration headers and links. 927 You can instantiate unknown files and headers: 928 ./config.status --header foo.h:foo.h.in --file bar:baz 929- has a useful --help 930- accepts special file name "-" for stdin/stdout 931 932 933** Identity Macros 934- AC_COPYRIGHT 935 Specify additional copyright information. 936 937- AC_INIT 938 Now expects the identity of the package as argument. 939 940** General changes. 941- Uniform quotation 942 Most macros, if not all, now strictly follow the `one quotation 943 level' rule. This results in a more predictable expansion. 944 945- AC_REQUIRE 946 A sly bug in the AC_REQUIRE machinery, which could produce incorrect 947 configure scripts, was fixed by Axel Thimm. 948 949** Setup Macros 950- AC_ARG_VAR 951 Document and ask for the registration of an envvar. 952 953- AC_CONFIG_SRCDIR 954 Specifies the file which `configure' should look for when trying to 955 find the source tree (used to be handled by AC_INIT). 956 957- AC_CONFIG_COMMANDS 958 To add new actions to config.status. Should be used instead of 959 AC_OUTPUT_COMMANDS. 960 961- AC_CONFIG_LINKS 962 Replaces AC_LINK_FILES. 963 964- AC_CONFIG_HEADERS, AC_CONFIG_COMMANDS, AC_CONFIG_SUBDIRS, 965 AC_CONFIG_LINKS, and AC_CONFIG_FILES 966 They now obey sh: you should no longer use shell variables as 967 argument. Instead of 968 969 test "$package_foo_enabled" = yes && $my_subdirs="$my_subdirs foo" 970 AC_CONFIG_SUBDIRS($my_subdirs) 971 972 write 973 974 if test "$package_foo_enabled" = yes; then 975 AC_CONFIG_SUBDIRS(foo) 976 fi 977 978- AC_HELP_STRING 979 To format an Autoconf macro's help string so that it looks pretty 980 when the user executes `configure --help'. 981 982 983** Generic Test Macros 984- AC_CHECK families 985 The interface of the AC_CHECK families of macros (decl, header, 986 type, member, func) is now uniform. They support the same set of 987 default includes. 988 989- AC_CHECK_DECL, AC_CHECK_DECLS 990 To check whether a symbol is declared. 991 992- AC_CHECK_SIZEOF, AC_C_CHAR_UNSIGNED. 993 No longer need a cross-compilation default. 994 995- AC_CHECK_TYPE 996 The test it performs is much more robust than previously, and makes 997 it possible to test builtin types in addition to typedefs. 998 It is now schizophrenic: 999 - AC_CHECK_TYPE(TYPE, REPLACEMENT) 1000 remains for backward compatibility, but its use is discouraged. 1001 - AC_CHECK_TYPE(TYPE, IF-FOUND, IF-NOT-FOUND, INCLUDES) 1002 behaves exactly like the other AC_CHECK macros. 1003 1004- AC_CHECK_TYPES 1005 Checks whether given types are supported by the system. 1006 1007- AC_CHECK_MEMBER, AC_CHECK_MEMBERS 1008 Check for given members in aggregates (e.g., pw_gecos in struct 1009 passwd). 1010 1011- AC_PROG_CC_STDC 1012 Checks if the compiler supports ISO C, included when needs special 1013 options. 1014 1015- AC_PROG_CPP 1016 Checking whether the preprocessor indicates missing includes by the 1017 error code. stderr is checked by AC_TRY_CPP only as a fallback. 1018 1019- AC_LANG 1020 Takes a language as argument and replaces AC_LANG_C, 1021 AC_LANG_CPLUSPLUS and AC_LANG_FORTRAN77. 1022 1023- AC_LANG_PUSH, AC_LANG_POP 1024 Are preferred to AC_LANG_SAVE, AC_LANG_RESTORE. 1025 1026** Specific Macros 1027- AC_FUNC_CHOWN, AC_FUNC_MALLOC, AC_FUNC_STRERROR_R, 1028 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, AC_FUNC_STAT, AC_FUNC_LSTAT, 1029 AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD, AC_FUNC_FSEEKO. 1030 New. 1031 1032- AC_FUNC_GETGROUPS 1033 Sets GETGROUPS_LIBS. 1034 1035- AC_FUNC_GETLOADAVG 1036 Defines `HAVE_STRUCT_NLIST_N_UN_N_NAME' instead of `NLIST_NAME_UNION'. 1037 1038- AC_PROG_LEX 1039 Now integrates `AC_DECL_YYTEXT' which is obsoleted. 1040 1041- AC_SYS_LARGEFILE 1042 Arrange for large-file support. 1043 1044- AC_EXEEXT, AC_OBJEXT 1045 You are no longer expected to use them: their computation is 1046 performed by default. 1047 1048** C++ compatibility 1049 Every macro has been revisited in order to support at best CC=c++. 1050 1051Major changes in Autoconf 2.14: 1052 There was no release of GNU Autoconf 2.14. 1053 1054Major changes in Autoconf 2.13: 1055 1056 Released 1999-05-01 by Ben Elliston. 1057 1058* Support for building on Win32 systems where the only available C or 1059 C++ compiler is the Microsoft Visual C++ command line compiler 1060 (`cl'). Additional support for building on Win32 systems which are 1061 using the Cygwin or Mingw32 environments. 1062* Support for alternative object file and executable file extensions. 1063 On Win32, for example, these are .obj and .exe. These are discovered 1064 using AC_OBJEXT and AC_EXEEXT, which substitute @OBJEXT@ and 1065 @EXEEXT@ in the output, respectively. 1066* New macros: AC_CACHE_LOAD, AC_CACHE_SAVE, AC_FUNC_SELECT_ARGTYPES, 1067 AC_VALIDATE_CACHED_SYSTEM_TUPLE, AC_SEARCH_LIBS, AC_TRY_LINK_FUNC, 1068 AC_C_STRINGIZE, AC_CHECK_FILE(S), AC_PROG_F77 (and friends). 1069* AC_DEFINE now has an optional third argument for a description to be 1070 placed in the config header input file (e.g. config.h.in). 1071* The C++ code fragment compiled for the C++ compiler test had to be 1072 improved to include an explicit return type for main(). This was 1073 causing failures on systems using recent versions of the EGCS C++ 1074 compiler. 1075* Fixed an important bug in AC_CHECK_TYPE that would cause a configure 1076 script to report that `sometype_t' was present when only `type_t' 1077 was defined. 1078* Merge of the FSF version of config.guess and config.sub to modernize 1079 these scripts. Add support for a few new hosts in config.guess. 1080 Incorporate latest versions of install-sh, mkinstalldirs and 1081 texinfo.tex from the FSF. 1082* autoreconf is capable of running automake if necessary (and 1083 applicable). 1084* Support for Fortran 77. See the Texinfo documentation for details. 1085* Bug fixes and workarounds for quirky bugs in vendor utilities. 1086 1087Major changes in Autoconf 2.12: 1088 1089 Released 1996-11-26 by David J. MacKenzie 1090 1091* AC_OUTPUT and AC_CONFIG_HEADER can create output files by 1092 concatenating multiple input files separated by colons, like so: 1093 AC_CONFIG_HEADER(config.h:conf.pre:config.h.in:conf.post) 1094 AC_OUTPUT(Makefile:Makefile.in:Makefile.rules) 1095 The arguments may be shell variables, to compute the lists on the fly. 1096* AC_LINK_FILES and AC_CONFIG_SUBDIRS may be called multiple times. 1097* New macro AC_OUTPUT_COMMANDS adds more commands to run in config.status. 1098* Bug fixes. 1099 1100Major changes in Autoconf 2.11: 1101 1102 Released November 18th, 1996, by David J. MacKenzie 1103 1104* AC_PROG_CC and AC_PROG_CXX check whether the compiler works. 1105 They also default CFLAGS/CXXFLAGS to "-g -O2" for gcc, instead of "-g -O". 1106* AC_REPLACE_FUNCS defines HAVE_foo if the system has the function `foo'. 1107* AC_CONFIG_HEADER expands shell variables in its argument. 1108* New macros: AC_FUNC_FNMATCH, AC_FUNC_SETPGRP. 1109* The "checking..." messages and the source code for test programs that 1110 fail are saved in config.log. 1111* Another workaround has been added for seds with small command length limits. 1112* config.sub and config.guess recognize more system types. 1113* Bug fixes. 1114 1115Major changes in Autoconf 2.10: 1116 1117 Released May 7th, 1996, by Roland McGrath 1118 1119* Bug fixes. 1120* The cache variable names used by `AC_CHECK_LIB(LIB, FUNC, ...)' has 1121 changed: now $ac_cv_lib_LIB_FUNC, previously $ac_cv_lib_LIB. 1122 1123Major changes in Autoconf 2.9: 1124 1125 Released March 16th, 1996, by Roland McGrath 1126 1127* Bug fixes. 1128 1129Major changes in Autoconf 2.8: 1130 1131 Released March 8th, 1996, by Roland McGrath 1132 1133* Bug fixes. 1134 1135Major changes in Autoconf 2.7: 1136 1137 Released November 22nd, 1995, by David J. MacKenzie 1138 1139* Bug fixes. 1140 1141Major changes in Autoconf 2.6: 1142 1143 Released November 20th, 1995, by David J. MacKenzie 1144 1145* Bug fixes. 1146 1147Major changes in Autoconf 2.5: 1148 1149 Released November 17th, 1995, by Roland McGrath 1150 1151* New configure options --bindir, --libdir, --datadir, etc., with 1152 corresponding output variables. 1153* New macro: AC_CACHE_CHECK, to make using the cache easier. 1154* config.log contains the command being run as well as any output from it. 1155* AC_CHECK_LIB can check for libraries with "." or "/" or "+" in their name. 1156* AC_PROG_INSTALL doesn't cache a name for install-sh, for sharing caches. 1157* AC_CHECK_PROG, AC_PATH_PROG, AC_CHECK_PROGS, AC_PATH_PROGS, and 1158 AC_CHECK_TOOL can search a path other than $PATH. 1159* AC_CHECK_SIZEOF takes an optional size to use when cross-compiling. 1160 1161Major changes in Autoconf 2.4: 1162 1163 Released June 14th, 1995, by David J. MacKenzie 1164 1165* Fix a few bugs found by Emacs testers. 1166 1167Major changes in Autoconf 2.3: 1168 1169 Released March 27th, 1995, by David J. MacKenzie 1170 1171* Fix the cleanup trap in several ways. 1172* Handle C compilers that are picky about option placement. 1173* ifnames gets the version number from the right directory. 1174 1175Major changes in Autoconf 2.2: 1176 1177 Released March 8th, 1995, by David J. MacKenzie 1178 1179* The ifnames utility is much faster but requires a "new awk" interpreter. 1180* AC_CHECK_LIB and AC_HAVE_LIBRARY check and add the new 1181 library before existing libs, not after, in case it uses them. 1182* New macros: AC_FUNC_GETPGRP, AC_CHECK_TOOL. 1183* Lots of bug fixes. 1184* Many additions to the TODO file :-) 1185 1186Major changes in Autoconf 2.1: 1187 1188 Released November 4th, 1994, by David J. MacKenzie 1189 1190* Fix C++ problems. 1191* More explanations in the manual. 1192* Fix a spurious failure in the testsuite. 1193* Clarify some warning messages. 1194* autoreconf by default only rebuilds configure and config.h.in files 1195 that are older than any of their particular input files; there is a 1196 --force option to use after installing a new version of Autoconf. 1197 1198Thanks to everybody who's submitted changes and additions to Autoconf! 1199I've incorporated many of them, and am still considering others for 1200future releases -- but I didn't want to postpone this release indefinitely. 1201 1202Caution: don't indiscriminately rebuild configure scripts with 1203Autoconf version 2. Some configure.in files need minor adjustments to 1204work with it; the documentation has a chapter on upgrading. A few 1205configure.in files, including those for GNU Emacs and the GNU C 1206Library, need major changes because they relied on undocumented 1207internals of version 1. Future releases of those packages will have 1208updated configure.in files. 1209 1210It's best to use GNU M4 1.3 (or later) with Autoconf version 2. 1211Autoconf now makes heavy use of M4 diversions, which were implemented 1212inefficiently in GNU M4 releases before 1.3. 1213 1214Major changes in Autoconf 2.0: 1215 1216 Released October 26th, 1994, by David J. MacKenzie 1217 1218** New copyright terms: 1219* There are no restrictions on distribution or use of configure scripts. 1220 1221** Documentation: 1222* Autoconf manual is reorganized to make information easier to find 1223 and has several new indexes. 1224* INSTALL is reorganized and clearer and is now made from Texinfo source. 1225 1226** New utilities: 1227* autoscan to generate a preliminary configure.in for a package by 1228 scanning its source code for commonly used nonportable functions, 1229 programs, and header files. 1230* ifnames to list the symbols used in #if and #ifdef directives in a 1231 source tree. 1232* autoupdate to update a configure.in to use the version 2 macro names. 1233* autoreconf to recursively remake configure and configuration header 1234 files in a source tree. 1235 1236** Changed utilities: 1237* autoheader can take pieces of acconfig.h to replace config.h.{top,bot}. 1238* autoconf and autoheader can look for package-local definition files 1239 in an alternate directory. 1240 1241** New macros: 1242* AC_CACHE_VAL to share results of tests between configure runs. 1243* AC_DEFUN to define macros, automatically AC_PROVIDE them, and ensure 1244 that macros invoked with AC_REQUIRE don't interrupt other macros. 1245* AC_CONFIG_AUX_DIR, AC_CANONICAL_SYSTEM, AC_CANONICAL_HOST, AC_LINK_FILES to 1246 support deciding unguessable features based on the host and target types. 1247* AC_CONFIG_SUBDIRS to recursively configure a source tree. 1248* AC_ARG_PROGRAM to use the options --program-prefix, 1249 --program-suffix, and --program-transform-name to change the names 1250 of programs being installed. 1251* AC_PREFIX_DEFAULT to change the default installation prefix. 1252* AC_TRY_COMPILE to compile a test program without linking it. 1253* AC_CHECK_TYPE to check whether sys/types.h or stdlib.h defines a given type. 1254* AC_CHECK_LIB to check for a particular function and library. 1255* AC_MSG_CHECKING and AC_MSG_RESULT to print test results, on a single line, 1256 whether or not the test succeeds. They obsolete AC_CHECKING and AC_VERBOSE. 1257* AC_SUBST_FILE to insert one file into another. 1258* AC_FUNC_MEMCMP to check whether memcmp is 8-bit clean. 1259* AC_FUNC_STRFTIME to find strftime even if it's in -lintl. 1260* AC_FUNC_GETMNTENT to find getmntent even if it's in -lsun or -lseq. 1261* AC_HEADER_SYS_WAIT to check whether sys/wait.h is POSIX.1 compatible. 1262 1263** Changed macros: 1264* Many macros renamed systematically, but old names are accepted for 1265 backward compatibility. 1266* AC_OUTPUT adds the "automatically generated" comment to 1267 non-Makefiles where it finds @configure_input@ in an input file, to 1268 support files with various comment syntaxes. 1269* AC_OUTPUT does not replace "prefix" and "exec_prefix" in generated 1270 files when they are not enclosed in @ signs. 1271* AC_OUTPUT allows the optional environment variable CONFIG_STATUS to 1272 override the file name "config.status". 1273* AC_OUTPUT takes an optional argument for passing variables from 1274 configure to config.status. 1275* AC_OUTPUT and AC_CONFIG_HEADER allow you to override the input-file names. 1276* AC_OUTPUT automatically substitutes the values of CFLAGS, CXXFLAGS, 1277 CPPFLAGS, and LDFLAGS from the environment. 1278* AC_PROG_CC and AC_PROG_CXX now set CFLAGS and CXXFLAGS, respectively. 1279* AC_PROG_INSTALL looks for install-sh or install.sh in the directory 1280 specified by AC_CONFIG_AUXDIR, or srcdir or srcdir/.. or 1281 srcdir/../.. by default. 1282* AC_DEFINE, AC_DEFINE_UNQUOTED, and AC_SUBST are more robust and smaller. 1283* AC_DEFINE no longer prints anything, because of the new result reporting 1284 mechanism (AC_MSG_CHECKING and AC_MSG_RESULT). 1285* AC_VERBOSE pays attention to --quiet/--silent, not --verbose. 1286* AC_ARG_ENABLE and AC_ARG_WITH support whitespace in the arguments to 1287 --enable- and --with- options. 1288* AC_CHECK_FUNCS and AC_CHECK_HEADERS take optional shell commands to 1289 execute on success or failure. 1290* Checking for C functions in C++ works. 1291 1292** Removed macros: 1293* AC_REMOTE_TAPE and AC_RSH removed; too specific to tar and cpio, and 1294 better maintained with them. 1295* AC_ARG_ARRAY removed because no one was likely using it. 1296* AC_HAVE_POUNDBANG replaced with AC_SYS_INTERPRETER, which doesn't 1297 take arguments, for consistency with all of the other specific checks. 1298 1299** New files: 1300* Comes with config.sub and config.guess, and uses them optionally. 1301* Uses config.cache to cache test results. An alternate cache file 1302 can be selected with the --cache-file=FILE option. 1303* Uses optional shell scripts $prefix/share/config.site and 1304 $prefix/etc/config.site to perform site or system specific initializations. 1305* configure saves compiler output to ./config.log for debugging. 1306* New files autoconf.m4 and autoheader.m4 load the other Autoconf macros. 1307* acsite.m4 is the new name for the system-wide aclocal.m4. 1308* Has a DejaGnu test suite. 1309 1310Major changes in Autoconf 1.11: 1311 1312* AC_PROG_INSTALL calls install.sh with the -c option. 1313* AC_SET_MAKE cleans up after itself. 1314* AC_OUTPUT sets prefix and exec_prefix if they weren't set already. 1315* AC_OUTPUT prevents shells from looking in PATH for config.status. 1316 1317Plus a few other bug fixes. 1318 1319Major changes in Autoconf 1.10: 1320 1321* autoheader uses config.h.bot if present, analogous to config.h.top. 1322* AC_PROG_INSTALL looks for install.sh in srcdir or srcdir/.. and 1323 never uses cp. 1324* AC_PROG_CXX looks for cxx as a C++ compiler. 1325 1326Plus several bugs fixed. 1327 1328Major changes in Autoconf 1.9: 1329 1330* AC_YYTEXT_POINTER replaces AC_DECLARE_YYTEXT. 1331* AC_SIZEOF_TYPE generates the cpp symbol name automatically, 1332 and autoheader generates entries for those names automatically. 1333* AC_FIND_X gets the result from xmkmf correctly. 1334* AC_FIND_X assumes no X if --without-x was given. 1335* AC_FIND_XTRA adds libraries to the variable X_EXTRA_LIBS. 1336* AC_PROG_INSTALL finds OSF/1 installbsd. 1337 1338Major changes in Autoconf 1.8: 1339 1340** New macros: 1341* New macros AC_LANG_C, AC_LANG_CPLUSPLUS, AC_LANG_SAVE, AC_LANG_RESTORE, 1342 AC_PROG_CXX, AC_PROG_CXXCPP, AC_REQUIRE_CPP 1343 for checking both C++ and C features in one configure script. 1344* New macros AC_CHECKING, AC_VERBOSE, AC_WARN, AC_ERROR for printing messages. 1345* New macros AC_FIND_XTRA, AC_MMAP, AC_SIZEOF_TYPE, AC_PREREQ, 1346 AC_SET_MAKE, AC_ENABLE. 1347 1348** Changed macros: 1349* AC_FIND_X looks for X in more places. 1350* AC_PROG_INSTALL defaults to install.sh instead of cp, if it's in srcdir. 1351 install.sh is distributed with Autoconf. 1352* AC_DECLARE_YYTEXT has been removed because it can't work, pending 1353 a rewrite of quoting in AC_DEFINE. 1354* AC_OUTPUT adds its comments in C format when substituting in C files. 1355* AC_COMPILE_CHECK protects its ECHO-TEXT argument with double quotes. 1356 1357** New or changed command line options: 1358* configure accepts --enable-FEATURE[=ARG] and --disable-FEATURE options. 1359* configure accepts --without-PACKAGE, which sets withval=no. 1360* configure accepts --x-includes=DIR and --x-libraries=DIR. 1361* Giving --with-PACKAGE no argument sets withval=yes instead of withval=1. 1362* configure accepts --help, --version, --silent/--quiet, --no-create options. 1363* configure accepts and ignores most other Cygnus configure options, and 1364 warns about unknown options. 1365* config.status accepts --help, --version options. 1366 1367** File names and other changes: 1368* Relative srcdir values are not made absolute. 1369* The values of @prefix@ and @exec_prefix@ and @top_srcdir@ get substituted. 1370* Autoconf library files are installed in ${datadir}/autoconf, not ${datadir}. 1371* autoheader optionally copies config.h.top to the beginning of config.h.in. 1372* The example Makefile dependencies for configure et al. work better. 1373* Namespace cleanup: all shell variables used internally by Autoconf 1374 have names beginning with `ac_'. 1375 1376More big improvements are in process for future releases, but have not 1377yet been (variously) finished, integrated, tested, or documented enough 1378to release yet. 1379 1380Major changes in Autoconf 1.7: 1381 1382* New macro AC_OBSOLETE. 1383* Bugs in Makefile.in fixed. 1384* AC_LONG_FILE_NAMES improved. 1385 1386Major changes in Autoconf 1.6: 1387 1388* New macro AC_LONG_64_BITS. 1389* Multiple .h files can be created. 1390* AC_FIND_X looks for X files directly if it doesn't find xmkmf. 1391* AC_ALLOCA defines C_ALLOCA if using alloca.c. 1392* --with-NAME can take a value, e.g., --with-targets=sun4,hp300bsd. 1393* Unused --no-create option to configure removed. 1394* autoheader doesn't change the timestamp of its output file if 1395 the file didn't change. 1396* All macros that look for libraries now use AC_HAVE_LIBRARY. 1397* config.status checks three optional environment variables to 1398 modify its behavior. 1399* The usual bug fixes. 1400 1401Major changes in Autoconf 1.5: 1402 1403* New macros AC_FIND_X, AC_OFF_T, AC_STAT_MACROS_BROKEN, AC_REVISION. 1404* autoconf and autoheader scripts have GNU standards conforming 1405 --version and --help options (they print their message and exit). 1406* Many bug fixes. 1407 1408Major changes in Autoconf 1.4: 1409 1410* New macros AC_HAVE_POUNDBANG, AC_TIME_WITH_SYS_TIME, AC_LONG_DOUBLE, 1411 AC_GETGROUPS_T, AC_DEFINE_UNQUOTED. 1412* autoconf and autoheader use the M4 environment variable to determine the 1413 name of the M4 program to use. 1414* The --macrodir option to autoconf and autoheader specifies the directory 1415 in which acspecific.m4, acgeneral.m4, etc. reside if not the default. 1416* autoconf and autoheader can take `-' as their file names, which means to 1417 read stdin as input. 1418* Resulting configure scripts can take a --verbose option which causes them 1419 to print the results of their tests. 1420* AC_DEFINE quotes its second argument in such a way that spaces, magic 1421 shell characters, etc. will be preserved during various stages of 1422 expansion done by the shell. If you don't want this, use 1423 AC_DEFINE_UNQUOTED instead. 1424* Much textual processing done with external calls to tr and sed have been 1425 internalized with builtin M4 `patsubst' and `translit' calls. 1426* AC_OUTPUT doesn't hardwire the file names it outputs. Instead, you can 1427 set the shell variables `gen_files' and `gen_config' to the list of 1428 file names to output. 1429* AC_DECLARE_YYTEXT does an AC_SUBST of `LEX_OUTPUT_ROOT', which may be 1430 "lex.yy" or "lexyy", depending on the system. 1431* AC_PROGRAMS_CHECK takes an optional third arg. If given, it is used as 1432 the default value. 1433* If AC_ALLOCA chooses alloca.c, it also defines STACK_DIRECTION. 1434* AC_CONST works much more reliably on more systems. 1435* Many bug fixes. 1436 1437Major changes in Autoconf 1.3: 1438 1439configure no longer requires awk for packages that use a config.h. 1440Support handling --with-PACKAGE options. 1441New `autoheader' script to create `config.h.in' from `configure.in'. 1442Ignore troublesome -lucb and -lPW when searching for alloca. 1443Rename --exec_prefix to --exec-prefix for GNU standards conformance. 1444Improve detection of STDC library. 1445Add AC_HAVE_LIBRARY to check for non-default libraries. 1446Function checking should work with future GNU libc releases. 1447 1448Major changes in Autoconf 1.2: 1449 1450The --srcdir option is now usually unnecessary. 1451Add a file containing sample comments describing CPP macros. 1452A comment in config.status tells which host it was configured on. 1453Substituted variable values can now contain commas. 1454Fix bugs in various feature checks. 1455 1456Major changes in Autoconf 1.1: 1457 1458Added AC_STRCOLL macro. 1459Made AC_GETLOADAVG check for more things. 1460AC_OUTPUT argument is now optional. 1461Various bug fixes. 1462 1463----- 1464 1465Copyright (C) 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 14662003, 2004, 2005, 2006 Free Software Foundation, Inc. 1467 1468This file is part of GNU Autoconf. 1469 1470GNU Autoconf is free software; you can redistribute it and/or modify 1471it under the terms of the GNU General Public License as published by 1472the Free Software Foundation; either version 2, or (at your option) 1473any later version. 1474 1475GNU Autoconf is distributed in the hope that it will be useful, 1476but WITHOUT ANY WARRANTY; without even the implied warranty of 1477MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1478GNU General Public License for more details. 1479 1480You should have received a copy of the GNU General Public License 1481along with GNU Autoconf; see the file COPYING. If not, write to 1482the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 1483Boston, MA 02110-1301, USA. 1484 1485Local Variables: 1486mode: outline 1487End: 1488