suite.
** Man pages are provided
-For autoconf, autoreconf, autoupdate, autoheader, autoscan and ifnames.
+For autoconf, autoreconf, autoupdate, autoheader, autoscan, ifnames,
+config.guess, config.sub.
** autoconf
- --trace
Takes a language as argument and replaces AC_LANG_C,
AC_LANG_CPLUSPLUS and AC_LANG_FORTRAN77.
+- AC_LANG_PUSH, AC_LANG_POP
+ Are preferred to AC_LANG_SAVE, AC_LANG_RESTORE.
** Specific Macros
- AC_FUNC_CHOWN, AC_FUNC_MALLOC, AC_FUNC_STRERROR_R,
- AC_SYS_LARGEFILE
Arrange for large-file support.
+- AC_EXEEXT, AC_OBJEXT
+ You are no longer expected to use them: their computation is
+ performed by default.
+
** C++ compatibility
Every macro has been revisited in order to support at best CC=c++.
\f
* Autoconf 2.50
-** AC_EXEEXT, AC_OBJEXT
-We need a good implementation. As much as possible, they should not
-depend upon AC_EMXOS2 etc.
-
** --target & AC_ARG_PROGRAM
Shouldn't *any* `program' be installed as `$target_alias-program' even
if AC_ARG_PROGRAM is not called? That would be much more predictable.
** Document
Automake, Libtool.
-** Pentateuch
-Heck, there is nothing after `Deuteronomy'! We're stuck, but we
-_must_ update the `history' section. Can't go to `New testament', we
-might hurt feelings? In addition, it means that the Messiah has come,
-which might be slightly presumptuous :). Still, someone fluent in
-English should write it.
-
-** Character intervals
-For safety, we should check that configure scripts do not depend upon
-char intervals. Introducing ac_A_Z etc. might make it more
-convenient.
-
** AC_CHECK_TOOL...
Write a test that checks that it honors the values set by the user.
-** Forbidden patterns
-Chose a means to declare patterns to catch, means to escape the
-control, and document it.
+* Autoconf 2.51
** AC_CHECK_FUNCS and AC_TRY_LINK_FUNC
I have still not understood what's the difference between the two
AC_LANG_FUNC_LINK_TRY (which names seem to be inappropriate).
Wouldn't one be enough?
-* Autoconf 2.51 or so
+** autom4te
+Eve it out of autoconf. Install support for Autotest, M4sugar, and
+M4sh. Give a means to trace at the same time as we produce the
+output. autoconf shall use this feature to make autoheader obsolete,
+and to produce some kind of input file for automake which should no
+longer *ever* try to parse Autoconf files.
+
+** Autotest
+Document it.
+
+* Autoconf 2.51 or later
+
+** Libtool
+Define once for all the hooks they need, any redefinition of
+AC_PROG_CC etc. is way too dangerous and too limiting. The GCC team
+certainly has requirements too.
+
+** Pentateuch
+Heck, there is nothing after `Deuteronomy'! We're stuck, but we
+_must_ update the `history' section. Can't go to `New testament', we
+might hurt feelings? In addition, it means that the Messiah has come,
+which might be slightly presumptuous :). Still, someone fluent in
+English should write it.
** AC_FUNC_GETLOADAVG
We must find a solution for this macro which needs to find
Should be: AC_PROG_CC_ISO? Or even more specific for the ISO version?
Should include more tests (e.g., AC_C_CONST etc.)?
-** AC_INIT(PACKAGE)
-Decide with the Automake team whether they prefer that AC_PACKAGE_NAME
-etc. be a macro, or a shell variable ac_package_name. Had we used
-AC_PACKAGE anywhere in configure.in, we would have had to use an
-shvar. Also, think of the capitalization! For instance this package
-is named `Autoconf', but the tarball is `autoconf-'. What of the
-space? Do we need another user input for the name of the tarball?
-
** AC_SYS_INTERPRETER
Defines $interpval. This is not a standard name. Do we want to keep
this? Clarify our policy on those names.
-** AC_PROVIDE
-I think it is the epilogue that should provide, not the prologue. Not
-clear: there are risks of circular dependencies :(. In fact the
-relationship AC_BEFORE should be given outside the macro themselves.
-
** autoupdate
We should probably install the files which do not depend upon the
user, just the Autoconf library files. But conversely autoupdate must
you get:
@example
-/tmp % ace -Wcross
+$ autoconf -Wcross
configure.ac:8: warning: AC_TRY_RUN called without default \
to allow cross compiling
-/tmp % ace -Wcross,error
+$ autoconf -Wcross,error
configure.ac:8: error: AC_TRY_RUN called without default \
to allow cross compiling
acgeneral.m4:3044: AC_TRY_RUN is expanded from...
@example
@group
-% autoconf -t AC_SUBST
+$ autoconf -t AC_SUBST
configure.ac:2:AC_SUBST:ECHO_C
configure.ac:2:AC_SUBST:ECHO_N
configure.ac:2:AC_SUBST:ECHO_T
@example
@group
-% cat configure.ac
+$ cat configure.ac
AC_DEFINE(This, is, [an
[example]])
-% autoconf -t 'AC_DEFINE:@@: $@@
+$ autoconf -t 'AC_DEFINE:@@: $@@
*: $*
-%: $%'
+$: $%'
@@: [This],[is],[an
[example]]
*: This,is,an
[example]
-%: This:is:an [example]
+$: This:is:an [example]
@end group
@end example
@example
@group
-% autoconf -t 'AC_SUBST:ac_subst@{"$1"@} = "$f:$l";'
+$ autoconf -t 'AC_SUBST:ac_subst@{"$1"@} = "$f:$l";'
ac_subst@{"ECHO_C"@} = "configure.ac:2";
ac_subst@{"ECHO_N"@} = "configure.ac:2";
ac_subst@{"ECHO_T"@} = "configure.ac:2";
@example
@group
-% autoconf -t 'AM_MISSING_PROG:$@{|:::::|@}*'
+$ autoconf -t 'AM_MISSING_PROG:$@{|:::::|@}*'
ACLOCAL|:::::|aclocal|:::::|$missing_dir
AUTOCONF|:::::|autoconf|:::::|$missing_dir
AUTOMAKE|:::::|automake|:::::|$missing_dir
running:
@example
-% /bin/sh
$ unset foo
$ foo=$@{foo='@}'@}
$ echo $foo
that the trap receives:
@example
-% cat trap.sh
+$ cat trap.sh
trap 'echo $?' 0
(exit 42); exit 0
-% zsh trap.sh
+$ zsh trap.sh
42
-% bash trap.sh
+$ bash trap.sh
0
@end example