* doc/autoconf.texi: Normalize sh samples.

This commit is contained in:
Akim Demaille 2001-01-15 07:40:11 +00:00
parent 05ee2bf953
commit 6ca39d4f17
4 changed files with 48 additions and 47 deletions

View File

@ -1,3 +1,7 @@
2001-01-15 Akim Demaille <akim@epita.fr>
* doc/autoconf.texi: Normalize sh samples.
2001-01-15 Akim Demaille <akim@epita.fr>
* tests/atgeneral.m4 (AT_INIT): Simplify the hairy display of the

9
NEWS
View File

@ -14,7 +14,8 @@ configuration, doc/ contains the documentation, and tests/ the test
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
@ -199,6 +200,8 @@ test cases in this new frame work.
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,
@ -218,6 +221,10 @@ test cases in this new frame work.
- 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++.

57
TODO
View File

@ -9,10 +9,6 @@ these suggestions... their presence here doesn't imply my endorsement.
* 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.
@ -21,24 +17,10 @@ Ian?
** 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
@ -46,7 +28,29 @@ which requires to have two different sources: AC_LANG_CALL and
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
@ -79,23 +83,10 @@ objext and exeext.
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

View File

@ -1043,10 +1043,10 @@ OUTTER
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...
@ -1128,7 +1128,7 @@ For instance, to know the list of variables that are substituted:
@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
@ -1142,17 +1142,17 @@ The example below highlights the difference between @samp{$@@},
@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
@ -1161,7 +1161,7 @@ Much freedom is given over the @var{format}:
@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";
@ -1175,7 +1175,7 @@ structures:
@example
@group
% autoconf -t 'AM_MISSING_PROG:$@{|:::::|@}*'
$ autoconf -t 'AM_MISSING_PROG:$@{|:::::|@}*'
ACLOCAL|:::::|aclocal|:::::|$missing_dir
AUTOCONF|:::::|autoconf|:::::|$missing_dir
AUTOMAKE|:::::|automake|:::::|$missing_dir
@ -5226,7 +5226,6 @@ the affected variable was already set. This bug can be exercised by
running:
@example
% /bin/sh
$ unset foo
$ foo=$@{foo='@}'@}
$ echo $foo
@ -5830,12 +5829,12 @@ Solaris 8 @command{sh} consider that when the trap is run it is
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