Commit Graph

663 Commits

Author SHA1 Message Date
Paul Eggert
0ee621917a Fix Posix-conformance bugs re use of { command in sed scripts,
and improve the sed-related documentation a bit.
* doc/autoconf.texi (Installation Directory Variables): Use
our own style advice re 's,a,b,' versus 's|a|b|'.  Use "Sed"
rather than "sed" when talking about Sed in general.
(Particular Programs): Likewise.
(Coding Style): y is like s with respect to / and ,.
(Limitations of Usual Tools): Document the weird restrictions
that Posix has about { }.  Use better quoting.
* lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE, _AC_OUTPUT_HEADER):
Rewrite to conform to Posix rules about { } in sed scripts.
* lib/m4sugar/m4sh.m4 (AS_DIRNAME_SED, AS_BASENAME_SED): Likewise.
* tests/foreign.at (Libtool): Likewise.
* tests/semantics.at (AC_CHECK_PROG & AC_CHECK_PROGS):
Use our own style advice re 's,a,b,' versus 's|a|b|'.
2006-01-05 21:43:44 +00:00
Stepan Kasal
e40a8b0dad typos 2005-12-09 09:54:11 +00:00
Stepan Kasal
06175379d3 Prevent problems with the testsuite running too fast. 2005-09-27 16:08:10 +00:00
Stepan Kasal
8e555fe7d0 Fix AC_SEARCH_LIBS. 2005-09-06 15:34:06 +00:00
Paul Eggert
7753b867c0 Regenerate. 2005-08-25 21:33:19 +00:00
Stepan Kasal
9ab43905c2 (AT_INIT): Process multiple --keywords correctly. 2005-08-23 08:57:24 +00:00
Stepan Kasal
fd9faf6c08 Updated copyright years. 2005-08-16 08:18:04 +00:00
Stepan Kasal
92b7f67a87 Updated FSF address. 2005-08-16 08:17:46 +00:00
Noah Misch
362c41181c * tests/autoscan.at (autoscan): New file.
* tests/suite.at: Use it.
* tests/Makefile.am (TESTSUITE_HAND_AT): Add it.
Reported against Libtool by Gideon Go <gideon.go@gmail.com>.

* tests/autotest.at (Keywords): Test keywords combinations.
2005-08-15 23:47:57 +00:00
Paul Eggert
4e0329a533 Rewrite substantial part of lib/autoconf/status.m4.
The main change is that CONFIG_FILES, CONFIG_HEADERS, CONFIG_LINKS,
and CONFIG_COMMANDS are not processed in four separate loops.
Instead, there is one main loop.  This alows that the common code
is expanded only once, thus config.status (and configure) is smaller.

The registration mechnism in AC_CONFIG_FILES and cousins also changed;
the AC_LIST_FILES and cousins macros are no longer used.

* lib/autoconf/status.m4 (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS,
_AC_OUTPUT_LINKS, _AC_OUTPUT_COMMANDS): Renamed to ...
(_AC_OUTPUT_FILE, _AC_OUTPUT_HEADER, _AC_OUTPUT_LINK,
_AC_OUTPUT_COMMAND): ..., respectively.  These macros no longer
contains the initialization, nor the for loop, nor the associated
commands; all these go to ...
(_AC_OUTPUT_MAIN_LOOP): ... this new macro, called from
_AC_OUTPUT_CONFIG_STATUS.
(_AC_CONFIG_SPLIT, _AC_CONFIG_SPLIT_SOURCE_DEST, _AC_CONFIG_SPLIT_FILE_IN):
Nuked; the code was merged into _AC_OUTPUT_MAIN_LOOP.
(_AC_OUTPUT_FILE): The creation of the sed script ...
(AC_OUTPUT): ... and the setup of ac_vpsub goes to ...
(_AC_OUTPUT_FILES_PREPARE): ... a new macro, also called from
_AC_OUTPUT_MAIN_LOOP.
(_AC_CONFIG_FILES, _AC_CONFIG_HEADERS, _AC_CONFIG_LINKS,
_AC_CONFIG_COMMANDS): Use ...
(_AC_CONFIG_FOOS): ... this new macro, which uses these ...
(_AC_CONFIG_REGISTER, _AC_CONFIG_REGISTER_DEST): ... new macros.
(_AC_CONFIG_FILE, _AC_CONFIG_HEADER, _AC_CONFIG_LINK,
_AC_CONFIG_COMMAND, _AC_CONFIG_DEPENDENCIES): No longer needed.
(_AC_CONFIG_DEPENDENCY): Update, it uses these ...
(_AC_CONFIG_DEPENDENCY_DEFAULT, _AC_FILE_DEPENDENCY_TRACE_COLON):
... new macros.
(_AC_CONFIG_UNIQUE): Update.
(AC_LIST_FILES, AC_LIST_HEADERS, AC_LIST_LINKS, AC_LIST_COMMANDS):
Replaced by this ...
(_AC_LIST_TAGS): ... new common macro.
(AC_LIST_FILE_COMMANDS, AC_LIST_HEADER_COMMANDS, AC_LIST_LINK_COMMANDS,
AC_LIST_COMMAND_COMMANDS): Replaced by this ...
(_AC_LIST_TAG_COMMANDS): ... new common macro.
(_AC_CONFIG_COMMANDS_INIT): Moved top to the `registration' section;
this didn't belong to the `config commands' section.
(_AC_OUTPUT_COMMANDS_INIT): Don't initialize, m4_ifdef is our friend.
(AC_CONFIG_COMMANDS_PRE, AC_OUTPUT_COMMANDS_PRE,
AC_CONFIG_COMMANDS_POST): Moved to a new section, these didn't belong
to the `config commands' section either.
(AC_CONFIG_SUBDIRS): Don't touch diversion DEFAULTS.
(_AC_LIST_SUBDIRS): Don't initialize, m4_ifdef is our friend.

... and many changes to the comments nearby.

* lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): At the end of the day,
set ac_subdirs_all='_AC_LIST_SUBDIRS'.
* tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS):
AC_CONFIG_COMMANDS(command:input,...) is no longer allowed.
(#define header templates): The comment at the top of the generated
header now includes the name(s) of the source file(s).

Several unrelated small changes:

* lib/autoconf/general.m4 (AC_CACHE_VAL): Be didactic, quote the first
parameter to AC_DIAGNOSE.
* lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS): Likewise.
(_AC_LINK_FILES_CNT): Don't AU_DEFUN this; it causes confusing messages
with autoupdate; use m4_define_default inside AU_DEFUNed AC_LINK_FILES.
(AC_OUTPUT): In the compatibility code, use m4_ifvaln, to be consistent
with AU::AC_OUTPUT.
(AU::AC_OUTPUT): Don't double-quote $2 and $3, the compatibility code
in AC_OUTPUT doesn't double-quote it either.
* tests/tools.at (autoupdate): AU::AC_OUTPUT no longer double-quotes the
parameters.
2005-07-25 18:10:25 +00:00
Paul Eggert
dfa60397fa * tests/local.at (AT_CONFIG_CMP): Ignore lines like "LIBS=''" too.
This is a corrected version of yesterday's patch.
2005-07-07 23:56:25 +00:00
Stepan Kasal
c88f05df3b Revert the previous change. 2005-07-07 10:44:46 +00:00
Paul Eggert
365a2aa58f Regenerate. 2005-07-06 21:40:24 +00:00
Paul Eggert
7d9430d8b1 * NEWS: New macro AC_C_TYPEOF.
* doc/autoconf.texi (C Compiler): Document AC_C_TYPEOF.
* lib/autoconf/c.m4 (AC_C_TYPEOF): New macro.
* tests/c.at (C keywords): Test AC_C_TYPEOF.
2005-07-06 21:39:30 +00:00
Paul Eggert
f18ce65fb6 * tests/base.at (Input/Output): Ignore 'loading site script' chatter. 2005-07-06 17:01:52 +00:00
Paul Eggert
77a8d274c5 * tests/local.at (AT_CONFIG_CMP): Ignore lines like "LIBS=''" too. 2005-07-06 16:52:32 +00:00
Paul Eggert
b32180b5b6 * tests/local.at (AT_CHECK_ENV): Simplify regexp slightly. 2005-06-24 00:47:18 +00:00
Paul Eggert
124c037f3d Regenerate. 2005-06-23 20:11:18 +00:00
Stepan Kasal
91ac8c668f fix AT_CONFIG_CMP 2005-06-22 12:13:59 +00:00
Paul Eggert
9e1a1f1400 * lib/m4sugar/m4sh.m4 (_AS_VERSION_COMPARE_PREPARE): New macro.
(AS_VERSION_COMPARE): New macro.  The API is taken from CVS,
but the implementation is entirely different and is designed
to be compatible with glibc strverscmp.
* tests/m4sh.at (AS_VERSION_COMPARE): New test.
2005-06-16 21:03:47 +00:00
Paul Eggert
96fb6afe33 Regenerate. 2005-06-10 17:19:20 +00:00
Stepan Kasal
3971ae76a7 a mistake: builddir, not srcdir 2005-06-03 13:47:56 +00:00
Stepan Kasal
f906445c01 Make sure autotest.m4f is up-to-date before using it. 2005-06-03 13:42:15 +00:00
Stepan Kasal
8491ef1eaa * tests/Makefile.am (check_SCRIPTS): Set to $(wrappers).
(DISTCLEANFILES): Remove $(check_SCRIPTS).
2005-06-03 13:16:39 +00:00
Paul Eggert
4157a11dd9 * lib/autoconf/status.m4 (_AC_OUTPUT_FILES): Output variables may
now contain newlines, and substituted files must be referenced on
a line alone; the sed scripts to substitute them are now very
different.
(_AC_SED_CMD_LIMIT): Added; single place to store limit on how many
commands can be put in a sed script portably.
* doc/autoconf.texi (Setting Output Variables): Document above
changes.  (Particular Header Checks) <AC_HEADER_STDBOOL>: Give exaple
use of multiline substitution.
* tests/torture.at: No longer expect substitution of newline to fail.
2005-06-01 06:54:45 +00:00
Paul Eggert
04dee24a8a Regenerate. 2005-06-01 06:36:25 +00:00
Paul Eggert
f003e6431a * tests/local.at: Don't attempt to check for negated character
classes in shell scripts.  The test was too brittle.
2005-05-25 18:35:05 +00:00
Stepan Kasal
0a2545966e Use expr where possible. 2005-05-17 09:29:05 +00:00
Paul Eggert
681d17dce2 Update FSF postal mail address. 2005-05-14 07:00:38 +00:00
Paul Eggert
f5b265430a Fix C++ related problems reported by Werner Lemberg.
* doc/autoconf.texi (C++ Compiler): Mention .cpp extension.
* lib/autoconf/c.m4 (AC_LANG(C++)): Set ac_ext to .cpp, not .cc.
* lib/autoconf/types.m4 (AC_TYPE_SIGNAL): Simplify test, to
avoid problems with C++ and throw.
* tests/compile.at: .cpp, not .cc.
2005-05-06 05:34:43 +00:00
Paul Eggert
a85268ce38 Prepend LIBOBJDIR, as per 2005-05-02 change. 2005-05-06 05:28:48 +00:00
Paul Eggert
392b17e203 Regenerate. 2005-03-23 01:04:17 +00:00
Paul Eggert
789f0bf6ff * NEWS: The configure command now warns you if you attempt to use
a directory whose name contains a special character like space,
newline, or "\".
* doc/autoconf.texi (Installation Directory Variables): Allow
"," in file names.  Do not use \@; it's not a portable regexp.
* bin/Makefile.am (edit): Likewise.
* lib/Makefile.am (edit): Likewise.
* tests/Makefile.am (edit): Likewise.
* tests/semantics.at: Likewise.
* tests/torture.at: Likewise.
* lib/autoconf/general.m4 (AC_ARG_PROGRAM): Likewise.
* lib/autoconf/status.m4 (_AC_SRCDIRS): Likewise.
* doc/autoconf.texi (File System Conventions): Warn about
unportable file names.
* lib/autoconf/general.m4 (_AC_INIT_DIRCHECK): New macro.
(AC_INIT): Use it.
(_AC_INIT_SRCDIR): Use ac_pwd rather than invoking pwd.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Propagate
ac_pwd, and quote srcdir.
* lib/autotest/general.m4 (AT_INIT): Quote file name args.
2005-03-23 01:01:58 +00:00
Paul Eggert
10cd1172b4 Regenerate. 2005-02-23 23:26:05 +00:00
Paul Eggert
29373c6512 * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Redirect stdin from
/dev/null, as "configure" shouldn't read stdin, and this insulates
us from problems (e.g., when testing for "cl").  Also, do this
redirection before invoking "hostname" or "uname", and keep the
original input stream available via...
(AS_ORIGINAL_STDIN_FD): ... this new macro.
(_AC_PREPROC_IFELSE, _AC_COMPILE_IFELSE, _AC_LINK_IFELSE): Don't
bother with "</dev/null" since it's now done at the top of
'configure'.
* lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CXX): Likewise.
* lib/autoconf/fortran.m4 (_AC_PROG_FC): Likewise.
* lib/autoconf/programs.m4 (_AC_PATH_PROG_FLAVOR_GNU): Likewise.
* doc/autoconf.texi (File Descriptor Macros): New section.
(Printing Messages): Mention it.
* tests/base.at (Input/Output): New test.
2005-02-23 23:24:49 +00:00
Paul Eggert
ecfe7cb80e * tests/foreign.at (Libtool): Don't overquote AT_SETUP arg.
* tests/m4sh.at (AS_DIRNAME, AS_BASENAME, AS_MKDIR_P, AS_HELP_STRING):
Likewise.
* tests/semantics.at (AC_C_BIGENDIAN, AC_PATH_PROG & AC_PATH_PROGS):
Likewise.
2005-02-05 08:28:35 +00:00
Paul Eggert
c28abf84de * lib/autoconf/general.m4 (_AC_INIT_COPYRIGHT): Update for 2005.
(AC_COPYRIGHT): Factor header comment portion out and move into...
* lib/m4sugar/m4sh.m4 (AS_COPYRIGHT): This.
* lib/autotest/general.at (AT_COPYRIGHT): New macro.
(AT_INIT): Add Autotest copyright notice.  Display copyright notices in
--version output.
* tests/local.at: Add Autoconf test suite copyright notice.
* doc/autoconf.texi (Writing testsuite.at): Document AT_COPYRIGHT.
* NEWS: Mention AT_COPYRIGHT.
2005-02-05 07:58:43 +00:00
Paul Eggert
5a95c56ff9 * tests/autotest.at (Empty test suite): New test.
* tests/torture.at (Substitute and define special characters)
(Substitute a 2000-byte string, Define to a 2000-byte string)
(Substitute a newline, Define a newline): New tests.
2005-02-05 07:34:54 +00:00
Paul Eggert
19ead6fec4 (AT_CMP): Use diff directly on input files rather than copying them. 2005-02-05 06:51:45 +00:00
Paul Eggert
dfd2fc858f * tests/local.at (AT_CMP): New macro.
(AT_DATA_AUTOCONF): Do not call AC_PROG_GREP.
(AC_SAVE_STATE): Move environment grep...
(AT_CHECK_ENV): to here.  Filter out `'$''.  Use AT_CMP.
(AT_CONFIG_CMP): New macro.
(AT_CHECK_MACRO): Run `configure' twice with cache and compare results.
* tests/c.at (Extensions): Do not exit early.
* tests/atlocal.in: Inherit $GREP.
2005-02-05 05:45:14 +00:00
Paul Eggert
341d9d604c * lib/m4sugar/m4sugar.m4 (m4_re_string, m4_re_word): Revert 2002-03-04.
* tests/local.at (AT_CHECK_M4SUGAR): Add `m4sugar' to keywords.
(AT_CHECK_ENV): Ignore LTLIBOBJS, FC variables, EGREP, FGREP, and SED.
* tests/m4sugar.at (AT_CHECK_M4SUGAR_TEXT, AT_CHECK_M4RE): New macros.
(Standard regular expressions): New test.
(m4_warn, m4_require: circular dependencies, m4_text_wrap): Strip
excess test name quoting.
* tests/semantics.at (AC_CHECK_HEADERS_OLD, AC_CHECK_HEADERS_NEW): Pass
CPPFLAGS to `configure' instead of setting it in `configure'.
2005-02-05 04:55:08 +00:00
Paul Eggert
5ed6babbee Regenerate. 2005-02-01 00:59:56 +00:00
Paul Eggert
b5b8b59870 Simplify the implementation of m4_require (a.k.a. AC_REQUIRE).
Update the long comment explaining it.

m4_require no longer writes an ``is required by'' line to the
execution stack.  It contains only one bit of non-redundant
information: that the macro was required, not called.  And even
this bit is useless in most situations: have you ever met a macro
which both calls and requires the same macro?

* lib/m4sugar/m4sugar.m4 (_m4_defun_pro): Don't push a diversion...
(_m4_defun_pro_outer): ... only via this macro, for the outermost
  macro.
(_m4_defun_epi, _m4_defun_epi_outer): Complementarily.
(m4_expansion_stack_pop): Remove the misplaced comment.
(m4_require): Don't put the ``is required by'' line to the
  execution stack; slightly improve the out-of-a-defun error message.
(_m4_divert_grow): New macro, counter for the temporary diversions.
(_m4_require_call): Use it.
* tests/m4sugar.at (m4_require): Expect output without the
  ``is required by'' messages.
2005-01-31 23:52:49 +00:00
Paul Eggert
8afb8f8e62 * lib/autoconf/lang.m4 (_AC_COMPILER_OBJEXT): Avoid subshells when this is safe.
* lib/autoconf/programs.m4 (AC_PROG_EGREP, AC_PROG_FGREP): Likewise.
* lib/autoconf/specific.m4 (AC_SYS_LONG_FILE_NAMES): Likewise.
* lib/autotest/general.m4 (AT_INIT): Likewise.
* lib/m4sugar/m4sh.m4 (_AS_LINENO_WORKS): Likewise.
* tests/mktests.sh: Likewise.
2005-01-28 21:21:32 +00:00
Paul Eggert
2dd25db670 Regenerate. 2005-01-03 07:42:44 +00:00
Paul Eggert
1deaf6b0b8 Update copyright date to 2005. 2005-01-03 07:40:10 +00:00
Paul Eggert
8660164d69 * bin/autoreconf.in (autoreconf_current_directory): AM_INIT_AUTOMAKE
signals that the package uses Automake; a `Makefile.am' is typical but
not essential.  Reported by Magnus Therning.
* tests/torture.at (autoreconf.): New banner.
(autoreconf and non-AC configure): Rename to `Non-Autoconf
AC_CONFIG_SUBDIRS'.
(autoreconf an empty directory): Rename to `Empty directory'.
(Unusual Automake input files): New test.
2005-01-02 17:15:40 +00:00
Paul Eggert
778ced2bda * lib/autotest/general.m4 (AT_CAPTURE_FILE): New macro.
(AT_SETUP): Clear AT_capture_files.
(_AT_CHECK): On failure, log each of AT_capture_files.  Fix comment.
(AT_KEYWORDS): Fix comment typo.
* tests/autotest.at (AT_CHECK_AT): Use AT_CAPTURE_FILE.
* tests/local.at (AT_CHECK_CONFIGURE): Use AT_CAPTURE_FILE.
* doc/autoconf.texi (Writing testsuite.at): Document AT_CAPTURE_FILE.
2005-01-01 08:12:12 +00:00
Paul Eggert
5a5aef27e9 Regenerate. 2004-12-20 04:12:52 +00:00
Paul Eggert
5e33dfcf9a (installcheck-local): Use $(bindir).
(check-local, installcheck-local): Pass TESTSUITEFLAGS.
2004-12-20 04:09:13 +00:00