mirror of
git://git.sv.gnu.org/autoconf
synced 2025-02-11 13:51:04 +08:00
Add and document AS_INIT_GENERATED.
* lib/m4sugar/m4sh.m4 (AS_INIT_GENERATED): New. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Use it. * doc/autoconf.texi (Initialization macros): Document it.
This commit is contained in:
parent
0ba284a888
commit
45f473304f
@ -1,3 +1,10 @@
|
||||
2008-10-13 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
Add and document AS_INIT_GENERATED.
|
||||
* lib/m4sugar/m4sh.m4 (AS_INIT_GENERATED): New.
|
||||
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Use it.
|
||||
* doc/autoconf.texi (Initialization macros): Document it.
|
||||
|
||||
2008-10-13 Eric Blake <ebb9@byu.net>
|
||||
|
||||
Use consistent shell function style.
|
||||
|
@ -11943,6 +11943,41 @@ generated from, and code to sanitize the environment for the rest of the
|
||||
script. Finally, it changes the current diversion to @code{BODY}.
|
||||
@end defmac
|
||||
|
||||
@defmac AS_INIT_GENERATED
|
||||
@asindex{INIT_GENERATED}
|
||||
Initialize the M4sh environment. This macro emits again all the
|
||||
code that is generated by @code{AS_INIT}, including the expansion of
|
||||
@code{AS_BOURNE_COMPATIBLE} and @code{AS_SHELL_SANITIZE}. It is meant
|
||||
to be used in a quoted here document when generating other shell scripts.
|
||||
|
||||
Note that @code{AS_INIT_GENERATED} does not emit the entire prolog.
|
||||
In particular, a line containing @code{#!$SHELL} must have already been
|
||||
emitted to the child script; you should not use @code{#!/bin/sh}, or the
|
||||
child script will not use the more modern shell that the parent script
|
||||
might have detected. Currently, the suggested idiom for writing a M4sh
|
||||
shell script from within another script is:
|
||||
|
||||
@example
|
||||
m4_rename([AS_MESSAGE_LOG_FD], [save_AS_MESSAGE_LOG_FD])dnl
|
||||
cat > "@var{file}" <<__EOF__
|
||||
#! $SHELL
|
||||
# Generated by $as_me.
|
||||
# ...
|
||||
|
||||
SHELL=\$@{CONFIG_SHELL-$SHELL@}
|
||||
__EOF__
|
||||
|
||||
cat >>"@var{file}" <<\__EOF__
|
||||
AS_INIT_GENERATED
|
||||
# ...
|
||||
__EOF__
|
||||
m4_rename([save_AS_MESSAGE_LOG_FD], [AS_MESSAGE_LOG_FD])dnl
|
||||
@end example
|
||||
|
||||
This, however, may change in the future as the M4sh interface is
|
||||
stabilized further.
|
||||
@end defmac
|
||||
|
||||
@defmac AS_LINENO_PREPARE
|
||||
@asindex{LINENO_PREPARE}
|
||||
@evindex LINENO
|
||||
|
@ -1332,11 +1332,7 @@ SHELL=\${CONFIG_SHELL-$SHELL}
|
||||
_ACEOF
|
||||
|
||||
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
AS_SHELL_SANITIZE
|
||||
dnl Watch out, this is directly the initializations, do not use
|
||||
dnl AS_PREPARE, otherwise you'd get it output in the initialization
|
||||
dnl of configure, not config.status.
|
||||
_AS_PREPARE
|
||||
AS_INIT_GENERATED
|
||||
exec AS_MESSAGE_FD>&1
|
||||
|
||||
# Save the log message, to keep $[0] and so on meaningful, and to
|
||||
|
@ -1695,6 +1695,17 @@ m4_define([AS_VAR_POPDEF],
|
||||
## ----------------- ##
|
||||
|
||||
|
||||
# AS_INIT_GENERATED
|
||||
# -----------------
|
||||
# Emit m4sh initialization code in a suitable form for a quoted
|
||||
# here document. Does not emit the `#!' sequence, which should be
|
||||
# generated with `#! $SHELL'; see the manual or autoconf/status.m4
|
||||
# for more detail.
|
||||
m4_defun([AS_INIT_GENERATED],
|
||||
[m4_require([AS_PREPARE])dnl
|
||||
AS_SHELL_SANITIZE
|
||||
_AS_PREPARE])
|
||||
|
||||
# AS_INIT
|
||||
# -------
|
||||
# Initialize m4sh.
|
||||
|
Loading…
Reference in New Issue
Block a user