Akim Demaille [Wed, 23 Oct 2002 07:27:03 +0000 (07:27 +0000)]
* lib/autoconf/headers.m4 (AC_HEADER_STDBOOL): Also look for the
type _Bool.
Fix a typo.
* doc/autoconf.texi (Particular Headers): Adjust according to Paul
Eggert's recommandations.
Akim Demaille [Tue, 22 Oct 2002 11:14:44 +0000 (11:14 +0000)]
* tests/foreign.at (Libtool): Don't check autoconf's stderr: there
are a few warnings.
* lib/autoconf/autoheader.m4 (AH_VERBATIM, _AH_VERBATIM_OLD):
Quote for Perl '' strings, not "".
* bin/autoheader.in: Invoke autoconf to get '' strings, not ""
strings.
Akim Demaille [Tue, 22 Oct 2002 08:20:19 +0000 (08:20 +0000)]
* lib/m4sugar/m4sh.m4 (_AS_QUOTE): The warning about quoted
characters is a syntax warning now.
(_AS_QUOTE): Accept $2 as list of characters to quote.
* lib/autoconf/autoheader.m4 (AH_VERBATIM, _AH_VERBATIM_OLD):
Quote for Perl, not sh.
* bin/autoheader.in: When $debug, report the file which is
`do'ne.
* tests/tools.at (autom4te, autoheader): Exercise @bar, not merely
`@', to tickle Perl's lists.
Reported by Carlos Velasco.
Akim Demaille [Fri, 18 Oct 2002 15:20:46 +0000 (15:20 +0000)]
* bin/autom4te.in (handle_m4): Pass --fatal-warning to m4, so that
missing included files _are_ errors.
Thanks to Alexandre Duret-Lutz.
* tests/tools.at (autom4te cache): Adjust.
* tests/atspecific.m4 (AT_CHECK_AUTOM4TE): New.
(AT_CHECK_M4SUGAR): Use it.
* tests/m4sugar.at (m4_warn, m4_require: circular dependencies):
Adjust.
* tests/tools.at (autom4te): Now it does exit 1.
Akim Demaille [Thu, 17 Oct 2002 10:34:09 +0000 (10:34 +0000)]
* lib/autoconf/general.m4 (AC_CACHE_SAVE): Don't use cmp.
Fixes the `AC_ARG_VAR' test failures.
* lib/autoconf/status.m4 (_AC_OUTPUT_FILES): Don't use cmp.
* lib/freeze.mk (check-forbidden-patterns): New.
* lib/autoconf/Makefile.am, lib/autotest/Makefile.am
* lib/m4sugar/Makefile.am (check-local): Use it to catch `cmp'.
* doc/autoconf.texi (Limitations of Usual Tools): HP-UX' cmp and
/dev/null.
Reported months ago by H. Merijn Brand.
Akim Demaille [Wed, 16 Oct 2002 17:06:57 +0000 (17:06 +0000)]
Because of caching, some files that no longer exist and are no
longer required can still cause errors.
Reported by Alexandre Duret-Lutz.
* bin/autom4te.in (&parse_args): Do not prepend `--reload-state'
to frozen files in @ARGV, as @ARGV must remain being a list of
files. Rather, at M4 call sites, use this...
(&files_to_options): New function.
(&freeze): Use &error.
(&up_to_date): If a file that was included according to the cache
is no longer there, then the output is out dated.
(&main): Don't even check whether a file is up to date is anyway
--force is given.
* tests/tools.at (autom4te cache): New.
Akim Demaille [Wed, 16 Oct 2002 06:38:50 +0000 (06:38 +0000)]
* bin/autoconf.as: Kill dead options.
* bin/autoupdate.in (&parse_args): Kill old options.
* bin/autoreconf.in (&parse_args): Remove dead options.
Factor some code.
(&autoreconf): Report the directories we enter *and leave*, so
that error messages can be easily located, and use GNU Make
format, so that Emacs' compile mode understands us.
* lib/Autom4te/General.pm (&update_file): Use `verbose' to report
if some file was changed instead of `print'.
* bin/autoheader.in: Suggest AC_DEFINE with 3 args when needed.
(&parse_args): Remove the dead options.
* tests/atspecific.m4 (AT_CHECK_AUTOHEADER): Adjust to the new
autoheader's quiet mode.
(AT_CHECK_AUTOUPDATE): Likewise.
* tests/tools.at (autoupdate): Adjust.
* tests/semantics.at (AC_C_BIGENDIAN): Likewise.
Akim Demaille [Fri, 11 Oct 2002 09:29:20 +0000 (09:29 +0000)]
* bin/autoreconf.in (&autoreconf): Run autopoint before the first
aclocal invocation, as Gettext macros might not be visible to
aclocal.
Instead of blindly running autopoint, scan configure.ac (not the
traces) for AM_GNU_GETTEXT_VERSION uses, as autopoint does.
Reported by Paul D. Smith.
Paul Eggert [Tue, 8 Oct 2002 23:06:02 +0000 (23:06 +0000)]
Work around problems found when POSIXLY_CORRECT=1 is set.
None of this seems to have anything to do with POSIX, really,
but it's how Perl getopt works.
* bin/autom4te.in (parse_args): Configure GetOpt with
"permute", too.
* doc/autoconf.texi (Invoking autom4te):
--warning -> --warnings.
* lib/autom4te.in: --warning -> --warnings.
* tests/torture.at (Configuring subdirectories): Be robust to
users who use config.site to require for a cache: in this case,
the two last configure runs, using two different sets of
arguments, trigger a legitimate error.
* bin/Makefile.am (ETAGS_SH, ETAGS_PERL): Update: ifnames and
autoheader are Perl programs.
(autoconf, autoheader, autoreconf, autoupdate, ifnames, autoscan)
(autom4te): Specify that the sources are in the $srcdir.
* doc/autoconf.texi (Installation Directory Variables): Adjust.
* lib/autoconf/autoscan.m4: New file.
* lib/autoconf/autoconf.m4: Include it.
* lib/autoconf/functions.m4: Use AN_FUNCTION for all the functions
that were listed in the original autoscan.list.
* lib/autoconf/headers.m4: Similarly with headers.
* lib/freeze.mk (autoconf_m4f_dependencies): Add autoscan.m4.
(.m4.m4f): Don't pass --prepend-include, since that's done by
tests/autom4te itself.
* lib/autoscan/Makefile.am: Include freeze.mk.
(autoscan.list): New target --this file is no longer a source.
(autoscan.pre): New file.
* bin/autoscan.in (@kinds): Make them singular.
Adjust all uses.
(&init_tables): When --debug, report the list of rules to ease
tracking changes in autoscan.list.
* lib/autoscan/autoscan.list (function): Strip comments, sort.
* lib/autoscan/functions, lib/autoscan/headers,
* lib/autoscan/identifiers, lib/autoscan/makevars,
* lib/autoscan/programs: Make the `kind' explicit, i.e., each
`functions' line is now prefixed with `function:'.
* bin/autoscan.in (&init_tables): Adjust.
From now on, autoscan files must always map a macro name to a
word: there is no `default' macro for autoscan.
* bin/autoscan.in (&init_tables): Reject entries with no macro at
all.
* lib/autoscan/functions, lib/autoscan/headers: Make the macro
explicit.
* bin/autoscan.in (%c_keywords): Remove.
(&used): Keep only track of the words we might be interested in.
(&output_kind): It is no longer needed to look for non active
checks.
* lib/autoconf/functions.m4 (AC_FUNC_MBRTOWC): New, stolen from
jm_FUNC_MBRTOWC, by Paul Eggert, from the Coreutils 4.5.1.
* lib/autoscan/functions: Adjust.
* doc/autoconf.texi (Particular Functions): Adjust.
* doc/autoconf.texi (Limitations of Usual Tools): Some about mv
from /tmp.
Thanks to Bill Moseley and Paul Eggert.
* lib/m4sugar/m4sh.m4 (AS_TMPDIR): $2 is the directory into which
the tmpdir must be created.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Have the tmp
dir be in the build tree, instead of $TMPDIR.
Single suffix rules and seperated dependencies are not portable.
* doc/autoconf.texi (Installation Directory Variables): Update.
(Limitations of Make): Some about `Single Suffix Rules and
Separated Dependencies'.
* bin/Makefile.am (autoconf, autoheader, autoreconf, autoupdate)
(ifnames, autoscan, autom4te): Un-factor into several rules.
Paul Eggert [Wed, 25 Sep 2002 00:25:34 +0000 (00:25 +0000)]
Fix a portability bug reported by Alexandre Duret-Lutz: Solaris 8
make handles suffix-rules differently from GNU make.
* bin/Makefile.am (SUFFIXES, .in): Remove.
(autoconf autoheader autoreconf autoupdate ifnames autoscan autom4te):
Move the body of the old .in rule here.
* bin/autoreconf.in: Don't use Cwd::chdir, since in its internals
(chdir_init) might hang when stat'ing mounted directories.
Reported by Vance Shipley.
* doc/autoconf.texi (Defining Symbols): Present two different
prototypes for AC_DEFINE and AC_DEFINE_UNQUOTED to emphasize the
difference between 1 argument calls, and 2-3 argument calls.
Paul Eggert [Wed, 11 Sep 2002 19:04:26 +0000 (19:04 +0000)]
* doc/autoconf.texi (Defining Symbols): Explain that
AC_DEFINE(var) defaults to 1, but AC_DEFINE(var,,description) does
not; and the AC_DEFINE(var) case is obsolescent.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE): Keep the
`duplicates', since the algorithm was too naive and could keep
`--prefix=1 --prefix=2 --prefix=1' as `--prefix=1 --prefix=2', and
keep `--prefix foo --prefix bar' as `--prefix foo bar'.
Reported by Ralf Corsepius.
* tests/torture.at (Configuring subdirectories): Exercise these
cases.
* lib/autoconf/functions.m4 (AC_FUNC_GETLOADAVG): Use $srcdir when
looking for a replacement file.
* lib/autoconf/general.m4 (AC_CHECK_DECLS): Check that the
directory is relative.
* doc/autoconf.texi (Generic Functions): Clarify the replacement
directory definition.
Reported by Andreas Schwab and Jim Meyering.
* bin/Makefile.am (autoconf, autoheader, autoreconf, autoupdate)
(ifnames, autoscan, autom4te): Since we don't only depend on
configure.ac variables (such as VERSION etc.), but also on prefix
and so forth, depend on Makefile, not configure.ac.
Reported by Alexandre Duret-Lutz.
* doc/autoconf.texi (Installation Directory Variables): Adjust.
* lib/Autom4te/General.pm (&update_file): s/die/error/.
Reported by Raja R. Harinath.
* bin/autoheader.in, bin/autoreconf.in, bin/autoscan.in,
* bin/autoupdate.in: Use error instead of die.
Paul Eggert [Mon, 2 Sep 2002 06:44:58 +0000 (06:44 +0000)]
* tests/mktests.sh (ac_exclude_egrep, au_exclude_egrep): Use
ordinary shell concatenation rather than echo+tr+sed command that
runs afoul of a long-line-related sed bug in Solaris 8.
Paul Eggert [Mon, 2 Sep 2002 06:44:27 +0000 (06:44 +0000)]
(ac_exclude_egrep, au_exclude_egrep): Use ordinary shell concatenation
rather than echo+tr+sed command that runs afoul of a long-line-related
sed bug in Solaris 8.