Commit Graph

1633 Commits

Author SHA1 Message Date
Akim Demaille
aac61512e0 In Autoconf 2.13, although AC_OUTPUT_COMMANDS did double quote its
arguments, AC_OUTPUT arguments 2 and 3 were not!  Currently,
AC_OUTPUT over quotes too: stop that.
Reported by Martin Buchholz.

* doc/autoconf.texi (Output): Don't expand on the ternary
AC_OUTPUT.
* acgeneral.m4 (AC_OUTPUT): Don't over quote $2 and $3.
2000-03-17 10:07:56 +00:00
Akim Demaille
ab542b1f77 * acspecific.m4 (AC_SYS_LONG_FILE_NAMES): Security fixes: create
the temp files in a private temporary directory, not directly in
TMPDIR.
2000-03-17 08:40:27 +00:00
Akim Demaille
75b5d70be3 Install the IFS we need once for all.
* acgeneral.m4 (_AC_INIT_PREPARE_ENVIRONMENT): New macro.
Handle the NLS envvars, and IFS.
(_AC_INIT_PREPARE): Use it, no longer set the NLS envvars.
(_AC_WHICH_A, AC_PATH_PROG): Rely on the default IFS.
* acspecific.m4 (AC_PROG_INSTALL, AC_FUNC_SELECT_ARGTYPES):
Likewise.
2000-03-17 08:37:50 +00:00
Akim Demaille
5b50a54f8f * acgeneral.m4 (AC_TRY_CPP, AC_EGREP_CPP, AC_TRY_COMPILE,
AC_TRY_LINK, AC_TRY_RUN_NATIVE): Simplify the removal of the
contest files: don't remove them before running the actions, just
remove them at the end of the macro.
2000-03-17 08:31:49 +00:00
Akim Demaille
6522e14a8f * acspecific.m4 (AC_FUNC_SELECT_ARGTYPES): Use
: ${foo='some words'}
not
  : ${foo=some words}
since this is not portable: Digital Unix v5.0: `bad substitution'.
From Nicolas Joly.
2000-03-16 18:12:58 +00:00
Akim Demaille
7da2f6d008 * libm4.m4 (m4_assert, m4_shiftn): New macros.
(m4_case,m4_match): Rewrite to use m4_shiftn (for readability reasons).
(m4_for): Add the STEP argument and some argument-verifying asserts.
(m4_split): Correct spaces to tabulator in regexp.
2000-03-16 15:17:26 +00:00
Akim Demaille
cbccb222a2 Revamp AC_FUNC_SELECT_ARGTYPES.
* acspecific.m4 (AC_FUNC_SELECT_ARGTYPES): Use a single cache
variable instead of three.
Use AC_CACHE_CHECK.
Shorten the name of the var loops, they are no longer cached.
Include sys/types.h unconditionally.
`select' returns an int, fixes Autoconf/46.
Don't display parens in the user messages.
2000-03-15 09:55:21 +00:00
Akim Demaille
dab489eba6 * autoheader.sh: Use run_m4f, not run_m4. 2000-03-14 09:34:42 +00:00
Akim Demaille
583ed252d7 Typos in ChangeLog. 2000-03-14 09:32:11 +00:00
Akim Demaille
134cd844f3 * tests/actest.m4 (AC_ENV_SAVE): Don't consider RANDOM and LINENO
which some shells update.
2000-03-14 08:59:11 +00:00
Akim Demaille
92cd322dc1 * acgeneral.m4 (AC_ARG_ENABLE, AC_ARG_WITH): No use for @%:@ here,
no need to over quote $1 in the comments.
2000-03-14 08:47:48 +00:00
Akim Demaille
9da44165aa * acgeneral.m4: Replace some ifelse with ifval or m4_default, or
even nothing when not needed.
* acspecific.m4: Likewise.
2000-03-14 08:41:15 +00:00
Akim Demaille
324a1d71da * acgeneral.m4 (_AC_INIT_PREPARE): Insert the Autoconf version in
config.log, and the command line which ran configure.
Kill a couple of useless quote around dollars.
2000-03-14 08:37:27 +00:00
Akim Demaille
073f2c710a * acgeneral.m4 (_AC_INIT_PREPARE): Kill a changequote in the
building of `ac_configure_args'.
2000-03-14 08:34:21 +00:00
Akim Demaille
89bcb6496e * acgeneral.m4 (AC_DIVERT): Rename _AC_DIVERT.
(AC_DIVERT): New macro.
Spread its use where better than a pair of AC_DIVERT_PUSH/POP.
2000-03-14 08:33:21 +00:00
Akim Demaille
870e58847d * acgeneral.m4 (_AC_INIT_BINSH): Remove, useless now that...
(AC_REVISION): Require AC_INIT, not _AC_INIT_BINSH.
(AC_INIT): Do what _AC_INIT_BINSH used to.
Don't require _AC_INIT_VERSION, just call it.
Rename as _AC_INIT.
(AC_INIT): New macro, single expansion wrapper around _AC_INIT.
(_AC_COPYRIGHT_SEPARATOR): New.
(AC_COPYRIGHT): Use it.
Require AC_INIT, not _AC_INIT_VERSION.
* doc/autoconf.texi (Versions): Promote as first section of
`Setup'.
Rename as `Notices'.
Document AC_COPYRIGHT.
Don't give false reasons for placing AC_REVISION before AC_INIT,
the place no longer matters.
2000-03-14 08:32:35 +00:00
Akim Demaille
af8421f6c5 * autoconf.sh (trace_m4::smash): Double quote, we don't want the
result to be evaluated.
2000-03-14 08:30:41 +00:00
Akim Demaille
22e43e84f4 * acgeneral.m4: s/@%:@line __oline__/#line __oline__/g. __oline__
is not a macro, so there is just no use in avoiding `#'.
2000-03-14 08:28:20 +00:00
Akim Demaille
00121046aa * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): When there were no
CONFIG_FILES, we had to expand _AC_OUTPUT_FILES into the KILL
diversion, because it is AC_OUTPUT_FILES which undiverted the
AC_SUBST sed script at its proper place, otherwise it would have
been undiverted at the end of `configure', leading to an sh syntax
error.
Now that we no longer use a diversion, we don't need to call
AC_OUTPUT_FILES if useless.
(AC_OUTPUT_FILES): Rename as _AC_OUTPUT_FILES.
(AC_OUTPUT_LINKS): Rename as _AC_OUTPUT_LINKS.
2000-03-14 08:27:19 +00:00
Akim Demaille
970d30e4c6 Formatting changes. 2000-03-14 08:21:48 +00:00
Akim Demaille
a892defcb3 AC_ARG_PROGRAM must not be expanded twice, which is likely since
Automake calls it, and usually users do too.  If it happens,
`--program-prefix=g' actually prepend two (or more) `g'.

* acgeneral.m4 (AC_DEFUN_ONCE): New macro.
(AC_ARG_PROGRAM): AC_DEFUNed_ONCE.  Or is it AC_DEFUN_ONCE'd? :).
No longer AC_EXPAND_ONCE the help string, the macro itself is
expanded at most once.
Rename the here-doc tag EOF_SED as EOF.
2000-03-14 08:20:25 +00:00
Akim Demaille
fca3f1b6f3 Get rid of the ICMDS diversion.
* acgeneral.m4 (AC_DIVERT): Remove ICMDS.
(_AC_OUTPUT_COMMANDS_INIT): New growing string.
(_AC_CONFIG_COMMANDS_INIT, _AC_OUTPUT_CONFIG_STATUS): Adjust.
2000-03-14 08:19:53 +00:00
Akim Demaille
bd53adc4fc Typo in ChangeLog. 2000-03-14 08:14:41 +00:00
Akim Demaille
72807cc237 * autoheader.sh: Use run_m4f, not run_m4.
* autoheader.sh (syms):
2000-03-14 08:11:55 +00:00
Akim Demaille
29df07981f Introduce AC_SUBST(VAR, VAL).
* acgeneral.m4 (_AC_INIT_PARSE_ARGS): Stop global double quoting,
failed experiment.
Merge all the var=val AC_SUBST(var) into AC_SUBST(var, val).
(AC_SUBST): Implement support for 2nd arg.
* doc/autoconf.texi (Setting Output Variables): Adjust.
2000-03-14 08:09:32 +00:00
Akim Demaille
6b95f3a59e Simplify the diversions naming system.
Suggested by Alexandre Oliva and Lars J. Aas

* libm4.m4 (ifndef): New macro.
* acgeneral.m4 (AC_DIVERT): New macro, maps a diversion name to
its value.  The diversions now have a short name, e.g., `NOTICE',
instead of the former macros which had long names, e.g.,
`AC_DIVERSION_NOTICE'.
(AC_DIVERT_PUSH): Adjust.
(AC_DIVERT_POP): Use ifndef.
(AC_DIVERSION_CURRENT): Rename as `AC_DIVERT_DIVERSION' to stay
within the `AC_DIVERT' name domain.
Adjust all callers.
* acspecific.m4: Adjust all callers.
2000-03-13 17:52:26 +00:00
Akim Demaille
3e6fee0e3b * doc/autoconf.texi (Invoking autoconf): Update documentation of
`autoconf --trace'.
2000-03-13 17:39:23 +00:00
Akim Demaille
b07221dd0f Typos in ChangeLog. 2000-03-13 17:32:10 +00:00
Akim Demaille
5c521a0948 * autoconf.sh (tmpbase): New var. Adjust trap code and other tmp
file names.
(translate_awk::BEGIN): Set RS to "0" so that the whole file be a
single record.
(translate_awk::trans): Convert from array to function.
(translate_awk::error): New function.
(translate_awk::main action): Implement support for ${sep}@ and
${sep}*.  Use trans() and error().
(translate_awk): Don't put space before user functions call, it is
not portable.
Remove trailing `;', this is not C :).
(task trace): Quote `$traces' when you eval it, to protect the
white spaces.
Propagate `translate_awk' failures to `autoconf.sh'.
Translate the quadrigraphs.
2000-03-13 17:30:32 +00:00
Akim Demaille
5e6f17e1f2 Trap on 0 is not executed when `exit' is called without argument.
* autoheader.sh (trap 1 2 13 15): s/exit/exit $?/.
* autoconf.sh: Likewise.
Remove translate_awk too.
* autoupdate.sh: Likewise.
Handle `--debug'.
2000-03-13 17:28:06 +00:00
Akim Demaille
c1c5314017 More uniform style is scripts.
* autoheader.sh: s/-eq/=/.
Uniform ordering of variable initializations, option handling.
Don't use quotes where useless (foo=$1, not foo="$1").
Propagate `run_m4' and `run_m4f'.
Use `$0' in --help.
* autoconf.sh: Likewise.
* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* ifnames.sh: Likewise.
* autoupdate.m4: Small bug: at the end `dnl' is disabled, so use
`m4_dnl'.
2000-03-13 17:26:21 +00:00
Akim Demaille
bc37b8f562 Typos in ChangeLog. 2000-03-13 15:31:26 +00:00
Akim Demaille
ebd8a5488d `autoconf --trace': faster.
* autoconf.sh (initialization): New var, new option.
(option loop): When you need an arg, make sure there is one.
(run_m4f): New var, which content is that of the former...
(run_m4): Don't use m4 frozen state files.
Change all callers.
Don't pass AC_LOCALDIR, not documented, and unused.
(task trace): Honor `--verbose' and `--initialization'.
(globally): Send `--verbose' messages in stderr.
Fix random typos.
2000-03-13 15:28:55 +00:00
Akim Demaille
2b2d05addd * acspecific.m4 (AC_PROG_BINSH): Removed. 2000-03-13 15:25:36 +00:00
Akim Demaille
68f71528ef Start revamping `autoconf --trace'.
* autoconf.sh (debug): New var, new option.
Adjust the trap code.
(task trace): Instead of decoding `m4 --trace' with sed, decode it
with m4 itself.
($silent_m4): New file, which disables m4's `errprint'.
($trace_m4): New file.  Logistic for the m4 which is in charge of
decoding the traces of the first.
($translate_awk): Transform a user trace request into $trace_m4
code.
2000-03-13 15:18:20 +00:00
Akim Demaille
64655cb862 Fix typos in ChangeLog. 2000-03-10 16:10:34 +00:00
Akim Demaille
702e183cf6 Multiple `-e' to egrep are not portable. On IRIX 6.5 and Solaris
2.5.1 only the last one is honored:
  > echo "foonbar" | egrep -e 'foo' -e 'bar'
  bar
  > echo "foonbar" | egrep -e 'bar' -e 'foo'
  foo
Reported by Nicolas Joly.
An alternative would have to use `sed', unfortunately alternation
is not portable.

* tests/actest.m4 (join): New macro.
(AC_ENV_SAVE): Join the egrep patterns into a single big one.
* tests/Makefile.am (EGREP_EXCLUDE): Rename as FILTER_MACROS.
Join the egrep patterns into a single big one.
2000-03-10 15:22:13 +00:00
Jim Meyering
034c57f2b4 *** empty log message *** 2000-03-10 11:32:52 +00:00
Jim Meyering
cad1316125 (_AC_CHECK_TOOL_PREFIX): Correct typos in definition:
add `_' prefix to make the function name match comments and existing
uses.  Remove leading prefix from _AC_CANONICAL_HOST.
2000-03-10 11:32:08 +00:00
Akim Demaille
47f8108881 * acspecific.m4 (AC_SYS_RESTARTABLE_SYSCALLS): Added some missing
headers if they exist (needed for some missing prototypes) and
corrects the signal handler prototype/definition.  The signal
handler prototype is now prepended with an `extern "C"' for C++
compilers since some platforms explicitly require an `extern "C"'
signal handler.
2000-03-09 15:44:40 +00:00
Akim Demaille
74eb7e6a10 * autoheader.m4 (autoheader::AC_CHECK_HEADERS_DIRENT): Renamed as
(autoheader::_AC_CHECK_HEADERS_DIRENT): to cope with the new name
of the autoconf:: macro.
Fixes autoconf/119, reported by Raja R Harinath.
2000-03-08 18:38:53 +00:00
Akim Demaille
e7ebd18602 * acgeneral.m4 (AC_PATH_PROG, AC_OUTPUT_FILES, AC_OUTPUT_SUBDIRS):
Fix quotation problems in DOS path handling.
2000-03-08 17:32:40 +00:00
Akim Demaille
9c2aba3427 Fix a typo in ChangeLog.
Regenerate configure
2000-03-08 16:58:54 +00:00
Akim Demaille
f206e89cb3 * acspecific.m4 (AC_FUNC_MMAP, AC_FUNC_ALLOCA): Make them C++
safe: include the right headers, cast the allocations etc.
2000-03-08 16:44:55 +00:00
Akim Demaille
fa98a48d2f The argument of AC_COPYRIGHT should be plain text, not an sh
comment.

* libm4.m4 (m4_quote): s/$@/$*/.
* acgeneral.m4 (AC_COPYRIGHT): Prepend `# ' to the lines that goes
on the top of `configure'.  Actually, prepend `@%:@ ' so that
there are as many evaluations on both sides.
(_AC_INIT_VERSION): No longer strip `# '.
2000-03-08 16:13:32 +00:00
Akim Demaille
0fa2ad4e0c * tests/Makefile.am (all-local): Remove. It wastes time to have
testsuite rebuilt each time an ac*.m4 file changes.  It is enough
to build it for each `make check'.
2000-03-08 16:12:09 +00:00
Akim Demaille
2e59cf5180 Provide a means to specify more Copyright information in
`configure'.  And after all, it suits to `configure --version' too.

* acgeneral.m4 (AC_DIVERSION_DEFAULTS, AC_DIVERSION_INIT_PREPARE):
New diversion numbers.
(AC_DIVERSION_INIT): Renamed as...
(AC_DIVERSION_INIT_PARSE_ARGS): this.
(AC_DIVERT_POP): Instead of going into wild endless loops when
there are more pops than pushes, die with dignity.
(AC_COPYRIGHT): New macro.
(_AC_INIT_NOTICE): Move definition of `ac_includes_default' from
here...
(_AC_INIT_PREPARE): to here.
(_AC_INIT_NOTICE): Remove.
(AC_INIT): Use it to install Autoconf's Copyright.
(_AC_INIT_DEFAULTS): New macro.
(AC_INIT): Use it.
(AC_PREFIX_DEFAULTS): Dump in AC_DIVERSION_DEFAULTS.
(_AC_INIT_PARSE_ARGS): Dump in AC_DIVERSION_INIT_PREPARE.
2000-03-08 13:22:42 +00:00
Akim Demaille
e91ec0e779 Leave a diversion exclusively for Copyright notices.
* acgeneral.m4 (AC_DIVERSION_DEFAULTS): New diversion number.
(_AC_INIT_NOTICE): Move definition of `ac_includes_default' from
here...
(_AC_INIT_PREPARE): to here.
(_AC_INIT_NOTICE): Play with your diversion yourself, don't let
(AC_INIT): do it for you.
(_AC_INIT_DEFAULTS): New macro.
(AC_INIT): Use it.
2000-03-08 11:15:14 +00:00
Akim Demaille
44cedcba06 We don't need _AC_ARG_*_HELP_PROLOGUE.
* acgeneral.m4 (AC_EXPAND_ONCE): AC_PROVIDE yourself, in case
there is no AC_DEFUN associated with the text to expand.
(_AC_ARG_ENABLE_HELP_PROLOGUE, _AC_ARG_WITH_HELP_PROLOGUE,
_AC_ARG_VAR_HELP_PROLOGUE): Remove, instead...
(AC_ARG_ENABLE, AC_ARG_WITH, AC_ARG_VAR): do it yourself.
2000-03-08 11:14:09 +00:00
Akim Demaille
0f81aa0974 * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Fix copy n' paste typos in
`--with-*', `--without-*' and `*' decoding.
Reported by Raja R Harinath.
Fixes autoconf/119.
2000-03-08 11:13:31 +00:00