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