Commit Graph

716 Commits

Author SHA1 Message Date
Akim Demaille
b2c5b8a278 Provide a macro to canonicalize a configuration name.
Suggested by Ralf Corsepius.

*  acgeneral.m4 (AC_CANONICALIZE): New macro.
(_AC_CANONICAL_THING): Use it.
2000-05-03 09:53:55 +00:00
Akim Demaille
27aaac5d86 Don't double quote in AC_MSG_*.
* acgeneral.m4 (_AC_SH_QUOTE): Don't double quote.  Escape the
double quotes too.
(_AC_ECHO_UNQUOTED): Don't double quote :).
(_AC_ECHO, _AC_ECHO_N): Quote the call to _AC_SH_QUOTE.

The autoheader chain needs to be adjusted.

* acgeneral.m4 (AH_VERBATIM): Just pass two arguments to AH_OUTPUT
instead of trying to build what `autoheader' needs: let it handle
the format by itself.
* autoheader.m4: Adjust.
s,tmp/config.h,tmp/config.hin.

The adjustment revealed that `autoconf --trace' is not robust to
single quotes in its argument.

* autoconf.sh: Fix this issue.
Rename the escape `$*' as `$%'.  Implement `$@'.
* doc/autoconf.texi: Adjust.
2000-05-03 08:53:06 +00:00
Akim Demaille
2df476bb0c mawk suffers a severe performance loss when using `sub' with a
changing value.  On the `configure' script of the fileutils:
mawk '{ sub (/foo/, foo++) }'                  -> 14s.
mawk '{ if ($0 ~ /foo/) sub (/foo/, foo++) }'  -> 0.03s.
mawk '{ sub (/foo/, foo) }'                    -> 0.03s.

* autoconf.sh (task script, AWK script): Run `sub (__oline__,
oline)' only in the lines that match `__oline__'.
Suggested by Paul Eggert.
2000-04-28 09:46:55 +00:00
Akim Demaille
87108bf282 * autoconf.sh (options handling::-W*): Strip two leading chars, not
just one.
2000-04-28 09:07:21 +00:00
Akim Demaille
04149796fa * acspecific.m4 (AC_FUNC_MKTIME): Use AC_SUBST. 2000-04-20 11:49:53 +00:00
Akim Demaille
cc748d17e8 Provide a fine grained control over autoconf's warnings.
* acgeneral.m4 (AC_WARNING_IFELSE, _AC_DIAGNOSE, AC_DIAGNOSE):
New macros.
(AC_DEFUN_ONCE, AC_OBSOLETE, AC_BEFORE, AU_DEFUN, AC_PREREQ,
AC_WARNING, AC_FATAL, AC_TRY_RUN): Use AC_DIAGNOSE.
* autoconf.sh: Provide support for `--warnings', `-W'.
* doc/autoconf.texi (Invoking autoconf): Adjust.
(Reporting Messages): New section.
2000-04-13 08:25:11 +00:00
Akim Demaille
afd63112d9 * acgeneral.m4 (_AC_INIT_HELP): Move --srcdir in the first
section.
Document --help=short and recursive.
Split the `Directory' section into `Installation directories' for
--prefix and --exec-prefix, and all the others into `Fine tuning
of the installation directories'.
In the latter, don't repeat `in DIR', the user understands, and it
comes out better.
Default for --exec-prefix is PREFIX.
Reported by Kathryn Hargreaves.
Move --host before --build.
Fix a test on `$ac_init_help' which was not updated.
2000-04-12 11:50:57 +00:00
Akim Demaille
be342dbf70 Have `make check' succeed with CC=g++.
* tests/atspecific.m4 (AT_TEST_MACRO): Don't check `env-after' if
the file does not exist, which may happen when a `configure' exits
brutally.
* tests/semantics.m4 (AC_CHECK_MEMBERS, AC_CHECK_TYPES): ANSI C++
forbids members named like their hosting struct, so don't do it.
2000-04-11 12:07:45 +00:00
Akim Demaille
63d0122eb0 * autoscan.pl: Reindent using 2 spaces, not 4.
Use `#' to denote Autoconf comments, not `dnl'.
Put a few `' here and there to avoid misfontification and
misindentation.
Use your base name when reporting errors.
(parse_args::usage): Use $0, use the same order as the other
executables.
(parse_args): Don't dump `--help' on cmd line errors.
2000-04-11 12:06:12 +00:00
Akim Demaille
99a3fef759 * acgeneral.m4 (AC_PROVIDE_IF): Rename as...
(AC_PROVIDE_IFELSE): this.  Change all callers.
Spread the use of AC_PROVIDE_IFELSE, no macro should know how
AC_PROVIDE names its internal variables.
2000-04-11 12:02:34 +00:00
Akim Demaille
1e6abf4e36 * acgeneral.m4: Simplify all the foo="$bar"' into foo=$bar'.
* acspecific.m4: Likewise.
* aclang.m4: Likewise.
2000-04-11 12:00:13 +00:00
Akim Demaille
2b22ca58e0 Move obsolete macros' definitions out of the way.
* doc/autoconf.texi (Old Macro Names): Rename as...
(Old Macros): this.  Change the @table enumeration into a list of
@defmac.
(AC_CHECKING, AC_CHECK_TYPE, AC_COMPILE_CHECK, AC_C_CROSS,
AC_DYNIX_SEQ, AC_HAVE_LIBRARY, AC_IRIX_SUN, AC_LINK_FILES,
AC_OUTPUT, AC_OUTPUT_COMMANDS, AC_SCO_INTL, AC_VERBOSE,
AC_XENIX_DIR): Move their descriptions into here.
Kill a few TeX warnings.
2000-04-11 11:53:26 +00:00
Akim Demaille
c77aec0c9c * acgeneral.m4 (AC_MSG_ERROR_UNQUOTED): Remove.
(AC_MSG_RESULT, AC_MSG_RESULT_UNQUOTED): Output to the log too.
(AC_CHECKING, AC_VERBOSE): AU_ define.
2000-04-11 10:13:05 +00:00
Akim Demaille
f629b02938 * acgeneral.m4: s/1>&/>&/g.
(AC_FD_LOG): New macro, replaces...
(AC_FD_CC): this.  Provide an AU definition.
(_AC_ECHO_UNQUOTED, _AC_ECHO_N): Use m4_default.
2000-04-11 09:21:29 +00:00
Akim Demaille
2f491b084e At the end of `./configure', save the cache values, and the CPP
values.

* acgeneral.m4 (_AC_CACHE_DUMP): New macro.
(AC_CACHE_SAVE, AC_OUTPUT): Use it.
(AC_OUTPUT): Dump confdefs.h into config.log.
(_AC_INIT_PREPARE::config.log): Name the package being configured
if you can.
2000-04-05 08:53:19 +00:00
Akim Demaille
5ae14bc8c0 Disable caching by default, so as not to cause problems when
newbies accidentally use a stale cache file.

* acgeneral.m4 (_AC_INIT_PARSE_ARGS): Set cache_file to /dev/null
to disable caching by default.
(_AC_INIT_HELP): Adjust the --help message.
(AC_CACHE_LOAD, AC_CACHE_SAVE): Don't print "loading/updating
/dev/null" messages.
* autoconf.texi: Note that caching is disabled, how to enable it,
and that `./config.cache' is the traditional name of the cache file.
* install.texi: Likewise.
2000-04-05 07:42:06 +00:00
Akim Demaille
f1e4ffce26 * acgeneral.m4 (_AC_INIT_PARSE_ARGS): If any option waiting for a
directory receives a relative path, die (bindir, sbindir,
libexecdir, datadir, sysconfdir, sharedstatedir, localstatedir,
libdir, includedir, oldincludedir, infodir, mandir, exec_prefix,
prefix).  Fixes Autoconf 42.
2000-04-03 16:16:09 +00:00
Akim Demaille
d3019a7877 * doc/autoconf.texi (Canonicalizing): Officially recognize
AC_CANONICAL_TARGET and AC_CANONICAL_BUILD.
2000-04-03 12:05:02 +00:00
Akim Demaille
61de8c0fb7 * doc/autoconf.texi (Writing configure.in): Explain what Autoconf
is.  Explain how to use the quotation scheme used in Autoconf.
(Quoting): Update.  Do not advocate changequote.
2000-04-03 11:59:27 +00:00
Akim Demaille
dad0204a71 Fix F77 name-mangling macros to work with cached values (so
they don't break the second time you run configure).

* aclang.m4 (AC_F77_NAME_MANGLING): Extract f77_case,
f77_underscore from cache variable.
(AC_F77_WRAPPERS): Get rid of ac_cv_f77_wrappers, it's useless.
Simplify the nested case-esac into a single one.
Simplify the documentation strings of CPP symbols.
2000-04-03 08:47:05 +00:00
Akim Demaille
c4a462d301 * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Fix the accumulation in
CONFIG_HEADERS.
2000-03-31 15:47:30 +00:00
Akim Demaille
e727a08732 * autoheader.sh: Catch up with the `mktemp -d' changes in
autoconf.sh.
* autoupdate.sh: Likewise.
2000-03-31 08:20:09 +00:00
Akim Demaille
8d6f0a7c05 * aclang.m4 (AC_F77_LIBRARY_LDFLAGS): bug fix in F77 test program
(missing whitespace--F77 requires program statements to start in
column 7).
2000-03-31 08:06:38 +00:00
Akim Demaille
af8eb3314f Rewrite the autoheader chain on top of `autoconf --trace'.
* autoheader.m4: Dispatch the prototypes next to there AC_
siblings.
(AH_TEMPLATE, AH_VERBATIM): Move to...
* acgeneral.m4: here.
(AH_OUTPUT): New macro.
* autoheader.sh: Run `autoconf --trace' instead of `m4 autoheader.m4'.
* autoheader.m4: Remove.
* Makefile.am: Adjust.
* tests/tools.m4 (AH_DEFUN): Remove, no longer makes sense.
* tests/actests.m4 (autoheader::AC_TATOOINE): Remove, was used by
the test above.
2000-03-29 16:48:00 +00:00
Akim Demaille
8e30614b9a silent.m4 depends upon the current quotation in m4, which changes
if `-i' is used or not.

* autoconf.sh (trace::silent.m4): Removed.
(trace::run_m4_trace): Pass -Derrprint.
2000-03-29 16:18:52 +00:00
Akim Demaille
15fc2d9ecb Use `mktemp -d' when possible to create securely a tmp work dir.
* autoconf.sh: Use it when possible to create the dir $tmp.
Stop using variables for tmp files, use their names in $tmp.
[install]: Use the new features of autoconf --trace.
2000-03-29 11:09:59 +00:00
Akim Demaille
d56fbd245e Probably all the versions of bash up to 2.04 fail on
fnmatch ("/tmp", "[/\\]")
The backslash must not be last.

* acgeneral.m4 (_AC_INIT_HELP, AC_PATH_PROG, _AC_OUTPUT_FILES,
_AC_OUTPUT_LINKS, _AC_OUTPUT_SUBDIRS): Always make `\' be the
first character in all the `[]' of `case' patterns.
2000-03-28 14:48:56 +00:00
Akim Demaille
bdce732f0c * acgeneral.m4 (_AC_CHECK_TOOL_PREFIX): Rename back as
AC_CHECK_TOOL_PREFIX since some packages rely on it.
2000-03-27 15:47:35 +00:00
Akim Demaille
b23061fafb Move all the language dependent macros into aclang.m4.
* aclang.m4: New file.
* autoconf.m4: Include it.
* autoheader.m4: Likewise.
* autoupdate.m4: Likewise.
* Makefile.am: Adjust.
* test/Makefile.am: Likewise.
* acgeneral.m4 (AC_LANG_CASE,AC_LANG_SAVE, _AC_LANG_DISPATCH,
AC_LANG, _AC_LANG_CURRENT, AC_LANG_SOURCE, AC_LANG_PROGRAM,
AC_LANG_CALL, AC_LANG(C), AC_LANG_SOURCE(C), AC_LANG_PROGRAM(C),
AC_LANG_CALL(C), AC_LANG(C++), AC_LANG_SOURCE(C++),
AC_LANG_PROGRAM(C++), AC_LANG_CALL(C++), AC_LANG(FORTRAN77),
AC_LANG_SOURCE(FORTRAN77), AC_LANG_PROGRAM(FORTRAN77),
AC_LANG_CALL(FORTRAN77): Move to...
* aclang.m4: here.
* acspecific.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77,
AC_PROG_CC_WORKS, AC_PROG_CXX_WORKS, AC_PROG_F77_WORKS,
AC_PROG_CC_GNU, AC_PROG_CXX_GNU, AC_PROG_F77_GNU, AC_PROG_CC_G,
AC_PROG_CXX_G, AC_PROG_F77_G, AC_PROG_GCC_TRADITIONAL,
AC_PROG_CC_C_O, AC_PROG_F77_C_O, AC_PROG_CC_STDC, AC_PROG_CPP,
AC_PROG_CXXCPP, AC_REQUIRE_CPP, AC_PROG_LEX, AC_TYPE_MODE_T,
AC_C_CROSS, AC_C_CHAR_UNSIGNED, AC_C_LONG_DOUBLE, AC_C_BIGENDIAN,
AC_C_INLINE, AC_C_CONST, AC_C_VOLATILE, AC_C_STRINGIZE,
AC_C_PROTOTYPES, AC_F77_LIBRARY_LDFLAGS, AC_F77_NAME_MANGLING,
AC_F77_WRAPPERS): Move to...
* aclang.m4: here.
2000-03-27 12:26:33 +00:00
Akim Demaille
9a26587828 * autoconf.sh (trace): Let translate_awk do the whole translation
from `$trace' to the m4 program.
2000-03-27 12:19:01 +00:00
Akim Demaille
cb7e0312f4 * acgeneral.m4 (AC_PACKAGE): Also define AC_PACKAGE_STRING.
Use it here and there.
2000-03-27 12:03:56 +00:00
Akim Demaille
bb84983e28 * acgeneral.m4 (_AC_INIT_HELP, _AC_OUTPUT_SUBDIRS): Fix the DOS
absolute path pattern: s/?:[[/\]]/?:[[/\]]*/.
2000-03-27 11:44:22 +00:00
Akim Demaille
d25da990fe * acgeneral.m4 (_AC_CANONICAL_TARGET, _AC_CANONICAL_BUILD): Rename
as (AC_CANONICAL_TARGET, AC_CANONICAL_BUILD), although internal,
too much foreign code depends upon them.
2000-03-25 09:24:16 +00:00
Akim Demaille
4b6a9f36ba * autoconf.sh (translate_awk): `> "/dev/stderr"' is not portable
to systems without a real /dev/stderr in the file system or if not
using one of the three free awks.  Use
print message | "cat >&2"
...
END { close("cat >&2") }
From Aharon Robbins.
2000-03-25 09:17:40 +00:00
Akim Demaille
f684a9be3d * autoheader.sh (checking completeness): Be ready to recognize
patterns with a value, and spaces between `#' and the directive, e.g.
# define FOO FIXME:
Reported by John Fortin.
2000-03-25 09:16:53 +00:00
Akim Demaille
d1291b2ea1 * acgeneral.m4 (AC_RUN_IFELSE): New macro.
(AC_TRY_RUN_NATIVE): Remove.
(AC_TRY_RUN): Use AC_RUN_IFELSE, not AC_TRY_RUN_NATIVE.
2000-03-25 09:12:59 +00:00
Akim Demaille
773e9ed0a3 * acgeneral.m4 (AC_CHECK_LIB): Ah ah! I recognized you, even
masked: you are AC_TRY_LINK_FUNC.
Fix quotation.
(AC_SEARCH_LIBS): Use AC_SHELL_IFELSE.
2000-03-25 09:07:37 +00:00
Akim Demaille
fd92d2bd3c * tests/semantics.m4 (AC_TRY_LINK_FUNC, AC_CHECK_LIB): New tests. 2000-03-25 09:06:24 +00:00
Akim Demaille
587da45d65 * acgeneral.m4 (AC_LANG_CALL, AC_LANG_CALL(C), AC_LANG_CALL(C++),
AC_LANG_CALL(FORTRAN77)): New macros.
(AC_TRY_LINK_FUNC): Use it.
(AC_TRY_CPP): Argument was output twice.
(AC_COMPILE_IFELSE, AC_LINK_IFELSE): Output $3 only if needed.
2000-03-25 09:05:22 +00:00
Akim Demaille
2662940380 * acgeneral.m4 (AC_TRY_COMPILER): Use AC_LINK_IFELSE.
(AC_TRY_LINK_FUNC, AC_CHECK_LIB, AC_CHECK_FUNC): Don't check that
the current language is C++ to output `extern "C"': the CPP
condition is enough.
2000-03-25 09:04:13 +00:00
Akim Demaille
6e08327ec7 * acgeneral.m4 (AC_LINK_IFELSE, AC_COMPILE_IFELSE): New macros.
(AC_TRY_LINK, AC_TRY_COMPILE): Use them.
(AC_CHECK_MEMBER, AC_COMPILE_CHECK, AC_CHECK_DECL,
_AC_CHECK_TYPE_NEW): Adjust.
* acspecific.m4 (AC_DECL_YYTEXT, AC_PATH_XTRA): Adjust.
2000-03-25 09:00:53 +00:00
Akim Demaille
94663d40de * acspecific.m4 (AC_F77_NAME_MANGLING): Need to use
AC_F77_LIBRARY_LDFLAGS when linking C and Fortran code.
2000-03-24 09:03:56 +00:00
Akim Demaille
df11184013 * acgeneral.m4 (AC_LANG_PROGRAM, AC_LANG_PROGRAM(C),
AC_LANG_PROGRAM(C++), AC_LANG_PROGRAM(FORTRAN77)): New macros.
(AC_TRY_COMPILE, AC_TRY_LINK): Use them.
2000-03-23 18:15:28 +00:00
Akim Demaille
ac5feaa002 * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Support --help={long, short,
recursive}.
(_AC_INIT_HELP): Propagate --help=recursive to CONFIG_SUBDIRS.
Code stolen from...
(AC_OUTPUT_SUBDIRS): s/ac_config_dir/ac_subdir/g.
2000-03-23 18:10:42 +00:00
Akim Demaille
eb99e78fb6 * libm4.m4 (m4_do): New macro. 2000-03-23 16:14:57 +00:00
Akim Demaille
89265d33a4 Typos in ChangeLog 2000-03-23 16:11:19 +00:00
Akim Demaille
5e090cb748 Provide a language independent means to generate language specific
programs.

* acgeneral.m4 (_AC_LANG_DISPATCH): New macro.
(AC_LANG): Use it.
(AC_LANG_SOURCE, AC_LANG_SOURCE(C), AC_LANG_SOURCE(C++),
AC_LANG_SOURCE(FORTRAN77)): New macros.
(AC_TRY_COMPILER, AC_EGREP_CPP, AC_TRY_RUN_NATIVE): Use
AC_LANG_SOURCE.
2000-03-21 12:41:22 +00:00
Akim Demaille
e77251e421 Fix a bug: some macros (e.g., AC_REVISION, AC_COPYRIGHT etc.) can
be used before AC_INIT, but they do require it.  But then, the
argument of the explicit AC_INIT call is lost.

* acgeneral.m4 (AC_CONFIG_SRCDIR): New macro.
(_AC_INIT_SRCDIR): Adjust.
(_AC_INIT): Pass your argument to AC_CONFIG_SRCDIR.
2000-03-21 12:33:37 +00:00
Akim Demaille
700c767833 * tests/semantics.m4 (AC_PATH_PROG, AC_PATH_PROGS): New tests. 2000-03-21 12:22:27 +00:00
Akim Demaille
2200cf61c9 Start the language support overhaul: Introduce AC_LANG().
* acgeneral.m4 (AC_LANG): Renamed as _AC_LANG_CURRENT.
(AC_LANG, AC_LANG(C), AC_LANG(C++), AC_LANG(FORTRAN77)): New
macros.
(AC_LANG_C, AC_LANG_CPLUSPLUS, AC_LANG_FORTRAN): AU_DEFUN'ed.
Adjust all callers.
* acspecific.m4 (AC_F77_NAME_MANGLING): Remove the exceeding
AC_LANG_RESTORE.
* tests/Makefile.am (FILTER_MACROS): Add AC_LANG.
2000-03-21 12:15:54 +00:00
Akim Demaille
1a1ee72ec1 Speed ups.
* libm4.m4 (m4_append, m4_list_append): Use m4_define, not define.
On my machine the former implementation takes 4mn 40s to run the
test suite.  Using m4_define leads to 4mn 15s.
* acgeneral.m4 (_AC_SUBST): Use AC_EXPAND_ONCE (which uses
m4_define, not define).  4mn.
(_AC_DIVERT): Don't use m4_case.  Starting from those 4mn, if you
just move NORMAL* first in m4_case, the test suite is run in 3mn.
If instead of using m4, you use an `associative array' plus a
wrapper (current implementation), it falls to 2mn.
2000-03-21 12:09:31 +00:00
Akim Demaille
41f6c57a3e * tests/tools.m4 (autoconf --trace): New test. 2000-03-21 12:08:24 +00:00
Akim Demaille
424aa5a02f * autoconf.sh (task trace): Pipe the output of the first m4 into
the second one, instead of saving to a tmp file, so that we can
trace endless configure.in expansion.
2000-03-21 12:06:30 +00:00
Akim Demaille
6a80cc62e0 Uniform idioms.
* acgeneral.m4 (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS,
_AC_OUTPUT_LINKS, _AC_OUTPUT_COMMANDS): Prefer
for i in : $is; do test $i = : && continue
over
for i in .. $is; do if test $i != ..; then
2000-03-21 12:03:55 +00:00
Akim Demaille
a420def412 * acgeneral.m4 (_AC_INIT_PREPARE, _AC_INIT_PARSE_ARGS): Move more
initializations to...
(_AC_INIT_DEFAULTS): here.
2000-03-21 11:13:50 +00:00
Akim Demaille
bb03a37786 Give a means to compute `srcdir' earlier in configure.
* acgeneral.m4 (_AC_INIT_SRCDIR): New macro, pulled out from...
(_AC_INIT_PREPARE): No longer compute `srcdir'.
(_AC_INIT): Use _AC_INIT_SRCDIR.
(AC_INIT): Don't forget to pass the argument to _AC_INIT.
2000-03-21 10:01:40 +00:00
Akim Demaille
cfc55ad76f * acgeneral.m4 (AC_OUTPUT_SUBDIRS): Rename as _AC_OUTPUT_SUBDIRS.
No argument, use AC_LIST_SUBDIRS.
Adjust callers.
2000-03-21 09:20:40 +00:00
Akim Demaille
197b270708 * acgeneral.m4 (AC_ARG_ENABLE, AC_ARG_WITH): Double quote the head
of the help snippet.
2000-03-21 09:18:31 +00:00
Akim Demaille
264330cef7 Give an identity to `configure' scripts.
* acgeneral.m4 (AC_PACKAGE): New macro.
(_AC_COPYRIGHT_SEPARATOR): Remove.
(AC_COPYRIGHT): Adjust.
(_AC_INIT_HELP, _AC_INIT_VERSION): Name the package you configure
when you want.
(_AC_INIT): Adjust.
* configure.in (AC_PACKAGE): Add.
2000-03-21 09:07:15 +00:00
Jim Meyering
25a01c40c0 . 2000-03-20 11:16:58 +00:00
Jim Meyering
9785f1af92 . 2000-03-20 11:07:49 +00:00
Akim Demaille
28fadd7df1 * acgeneral.m4: Formatting changes. 2000-03-20 10:35:53 +00:00
Akim Demaille
e140e3ce82 Don't rely on RS = "0" to swallow the whole input as a single
record, this is not portable: mawk and nawk understand it as RS =
"".  gawk understands it as expected.

* autoconf.sh (translate_awk::BEGIN): No longer change RS.
(translate_awk::body): Move to the END.
Instead, accumulate the input in `request'.
2000-03-20 10:30:54 +00:00
Akim Demaille
ded9870204 * doc/autoconf.texi (Testing Values and Files): Be a subsection of
`Portable Shell Programming'.
(Shell Substitutions, Limitations of Usual Tools): New subsections.
2000-03-20 10:10:06 +00:00
Akim Demaille
affebc0e90 Use a single tool to reformat the raw `configure' script output by
m4.
Suggested by Paul Eggert.

* autoconf.sh: Stop playing with 2 seds and an AWK to finalize
`configure', a single AWK program is enough.
2000-03-20 10:06:36 +00:00
Akim Demaille
421c31c674 Add details to a ChangeLog entry 2000-03-17 10:24:06 +00:00
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
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
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
Akim Demaille
025fe08770 Don't dump AC_ARG_PROGRAM help messages if not used.
* acgeneral.m4 (_AC_INIT_HELP): Don't.
(AC_ARG_PROGRAM): Do.
2000-03-08 11:11:37 +00:00
Akim Demaille
304c21e672 Don't dump X help messages when `configure' does not check for X.
* acgeneral.m4 (_AC_INIT_HELP): Don't dump X help messages.
* acspecific.m4 (AC_PATH_X): Do it.
2000-03-08 11:09:59 +00:00
Akim Demaille
2f71ba0c0b No longer rely on /bin/sh to compose the optional parts of
`configure --help'.

* acgeneral.m4 (AC_DIVERSION_HELP_BEGIN, AC_DIVERSION_HELP_ENABLE,
AC_DIVERSION_HELP_WITH, AC_DIVERSION_HELP_VAR,
AC_DIVERSION_HELP_END): New diversion numbers.
(AC_EXPAND_ONCE): New macro.
(AC_PROVIDE_IF): New macro.
(AC_BEFORE, AC_REQUIRE): Use it.
(AC_REQUIRE): Don't use indir.
(_AC_ARG_ENABLE_HELP_PROLOGUE, _AC_ARG_WITH_HELP_PROLOGUE,
_AC_ARG_VAR_HELP_PROLOGUE): New macros.
(AC_ARG_ENABLE, AC_ARG_WITH, AC_ARG_VAR): Expand once the
_HELP_PROLOGUE macro which corresponds.
(_AC_INIT_HELP): Adjust to AC_DIVERSION_HELP_BEGIN and
AC_DIVERSION_HELP_END.
(_AC_INIT_NOTICE, _AC_INIT_HELP): Remove the sh code which handled
the optional help strings.
2000-03-08 11:08:29 +00:00
Akim Demaille
7dcca0f6f3 AC_OUTPUT_COMMANDS no longer uses a diversion.
* acgeneral.m4 (AC_DIVERSION_CMDS): Removed.
(_AC_OUTPUT_CONFIG_STATUS): Don't undivert it.
2000-03-08 11:05:26 +00:00
Akim Demaille
d7d95f9a4f * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Fix quoted/non quoted here
document problems.
2000-03-08 11:04:55 +00:00
Akim Demaille
65e039bdf9 * acgeneral.m4 (AC_INIT_BINSH, AC_INIT_NOTICE, AC_INIT_PREPARE):
Rename as...
(_AC_INIT_BINSH, _AC_INIT_NOTICE, _AC_INIT_PREPARE): this.
All callers adjusted.
2000-03-08 11:03:59 +00:00
Akim Demaille
a19a55bf7c * acgeneral.m4 (AC_INIT_PARSE_ARGS): Rename as...
(_AC_INIT_PARSE_ARGS): this.
Move the display of help and version strings to...
(_AC_INIT_HELP, _AC_INIT_VERSION): here.
(AC_INIT): Adjust.  Also, fix quotation.
2000-03-08 11:03:33 +00:00
Akim Demaille
b0cf240330 Some tests are failing with srcdir != builddir, because they can't
find config.guess, install-sh etc.
Reported by Erez Zadok.

* tests/atspecific.m4 (AT_TEST_MACRO): Set AC_CONFIG_AUX_DIR to
top_srcdir in configure.in, and pass the value of top_srcdir to
configure.
2000-03-08 11:02:30 +00:00
Akim Demaille
b8e6467748 * acgeneral.m4 (AC_ARG_ENABLE, AC_ARG_WITH, AC_PATH_PROG,
AC_PATH_PROGS, AC_PATH_TOOL, AC_CHECK_TOOL, AC_PREFIX_PROGRAM,
AC_EGREP_CPP, AC_TRY_LINK, AC_COMPILE_CHECK, AC_TRY_RUN_NATIVE):
Use ifval instead of ifelse.
2000-03-08 11:00:10 +00:00
Akim Demaille
9a9e3dacd2 Support absolute DOS-style paths.
Any character before the colon is accepted because network drives
can be assigned characters outside the [a-zA-Z] range. DOS-style
relative paths (?:foo/bar) are also considered absolute for
Autoconf's purposes since the path '../?:foo/bar' is invalid.

* acgeneral.m4 (AC_OUTPUT_FILES): Treat DOS-style paths (?:*') as
absolute.
(AC_OUTPUT_SUBDIRS): Likewise.
(AC_PATH_PROG): Make pattern for matching DOS-style paths the same
as that used in AC_OUTPUT_FILES and AC_OUTPUT_SUBDIRS.
2000-03-07 14:24:49 +00:00
Akim Demaille
3fd820a5b5 * tests/atspecific.m4 (m4_match): Remove, no longer used. 2000-03-06 08:48:48 +00:00
Jim Meyering
401b65c7a1 . 2000-03-04 08:46:54 +00:00
Akim Demaille
c33696519a Move the quadrigraphs out of the user name space.
* acgeneral.m4: 's/@BKL@/@<:@/g', 's/@BKR@/@:>@/g',
's/@DLR@/@S|@/g', 's/@PND@/@%:@/g'.
* acspecific.m4: Likewise.
* autoconf.sh: Likewise.
2000-03-03 14:25:03 +00:00
Akim Demaille
2585dd7c36 * acgeneral.m4 (_AC_WHICH_A): New macro.
(AC_CHECK_PROG): Use it.  Use ifval.
(AC_CHECK_PROGS): Use ifval.  Fix the quoting.
* tests/semantics.m4: Test AC_CHECK_PROG.
* tests/Makefile.am (EGREP_EXCLUDE): Add /AC_CHECK_PROGS?/.
2000-03-03 14:15:41 +00:00
Akim Demaille
f765eb228e * autoscan.pl (parse_args): Add support for -m <macrodir>. 2000-03-02 18:25:34 +00:00
Akim Demaille
ab07ba8e08 The whole family supports -V = --version.
* acgeneral.m4 (AC_INIT_PARSE_ARGS): Report and support -V.
* autoconf.sh: Likewise.
* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* autoheader.sh: Likewise.
* autoscan.pl: Likewise.
* ifnames.sh: Likewise.
In addition, don't dump --help on invalid options.
* doc/autoconf.texi: Adjusted.
* doc/install.texi: Likewise.
2000-03-02 18:17:26 +00:00
Akim Demaille
df786bcc63 * libm4.m4 (m4_noquote): New macro. 2000-03-02 17:11:31 +00:00
Akim Demaille
d98e77231b * acspecific.m4 (AC_PATH_X_DIRECT): Moved all the shell variable
into the ac_ name space.
Reported by Nicolas Joly.
2000-03-02 17:03:30 +00:00
Akim Demaille
9a04f64347 * acspecific.m4: Move some macros to a better place. 2000-03-02 16:48:06 +00:00
Akim Demaille
c86888e32d Internal macros are named `_AC_'.
* acgeneral.m4 (AC_CANONICAL_TARGET, AC_CANONICAL_BUILD,
AC_CANONICAL_THING, AC_CHECK_TOOL_PREFIX, AC_CONFIG_UNIQUE):
Prepend `_' to their names.
* acspecific.m4 (AC_CHECK_HEADER_DIRENT, AC_CHECK_HEADERS_DIRENT,
AC_PATH_X_XMKMF, AC_PATH_X_DIRECT): Prepend `_' to their names.
* doc/autoconf.texi (Macro Names): Adjusted.
2000-03-02 16:36:16 +00:00
Akim Demaille
3f31064d8d * acgeneral.m4: Formatting changes.
* acspecific.m4: Likewise.
2000-03-02 16:27:51 +00:00
Akim Demaille
20ae75a97b Fixed typos in ChangeLog :-(. 2000-03-01 17:06:40 +00:00
Akim Demaille
7a628f5092 The empty regexp cannot be portably used in egrep's alternation.
For instance with Digital Unix v5.0:
   > echo "foo"  | egrep -e "^(|foo|bar)$"
   > echo "|foo" | egrep -e "^(|foo|bar)$"
   |foo
   > echo "|bar" | egrep -e "^(|foo|bar)$"
   > echo "bar"  | egrep -e "^(|foo|bar)$"
   bar
Reported by Nicolas Joly.

* src/actest.m4 (AC_ENV_SAVE): s/(|EXTRA_|PRE_)/(EXTRA_|PRE_)?/.
2000-03-01 17:01:29 +00:00
Akim Demaille
f59041e9ac Fixed a mistake in ChangeLog, and moved a few more addresses from acspecific to THANKS. 2000-03-01 15:54:37 +00:00
Akim Demaille
c3a47ec7ad * acspecific.m4: Removed a few addresses, the correspondence is...
* THANKS: here.
2000-03-01 12:29:26 +00:00
Akim Demaille
93cabdd478 * acspecific.m4 (AC_PATH_XTRA): On LynxOS 3.0.1/i386,
gethostbyname(), getservbyname(), and inet_addr() are in -lbsd.
2000-03-01 12:25:02 +00:00
Akim Demaille
e603fedec3 * tests/actest.m4 (AC_ENV_SAVE): Use multiple -e instead of
multiple egrep.
2000-03-01 11:28:02 +00:00
Akim Demaille
4fb0d16f0a Fixed typo in a date in ChangeLog 2000-03-01 10:12:19 +00:00
Akim Demaille
23ec81a13c * config.guess: Updated for master repository.
* config.sub: Likewise.
2000-03-01 10:11:19 +00:00
Akim Demaille
2b72cac902 Test suite: instead of using a full list of the AC macros and an
AT macro with selects which are the AC macros to test, just
produce the list of the AC macros we want to test.

* tests/atspecific.m4 (TEST_MACRO): Removed.
* tests/Makefile.am (EGREP_EXCLUDE): New variable, performing the
selection TEST_MACRO used to do.
(macros.m4): Use it.  Use AT_TEST_MACRO, not TEST_MACRO.  Check
also AU macros.
2000-03-01 08:22:40 +00:00
Akim Demaille
769efbef82 * doc/autoconf.texi: Tune the use of quotes, add missing
@noindents, remove dead FIXME:s, promote #if ! over #ifndef,
simplify duplicated text.
2000-03-01 08:20:29 +00:00
Akim Demaille
42174dc725 * doc/autoconf.texi (Configuration Commands): Document
AC_CONFIG_COMMANDS_PRE and _POST.


* doc/autoconf.texi (Configuration Commands): Document
AC_CONFIG_COMMANDS_PRE and _POST.
2000-03-01 08:18:47 +00:00
Akim Demaille
6b6d1788b1 Test suite: more debugging information.
* tests/atspecific.m4 (AT_TEST_MACRO): When verbose, report the
content of config.log.
2000-02-29 08:51:42 +00:00
Akim Demaille
c8c4a421d7 * Makefile.am (MAKEINFO): Removed.
(INSTALL.txt): Call $(MAKEINFO) with --no-split.
Reported by Nicolas Joly.
2000-02-29 08:49:17 +00:00
Akim Demaille
73ca7985ed Fixed a few English mistakes in ChangeLog. 2000-02-28 14:41:46 +00:00
Akim Demaille
7eca4d830d Fixed typo in ChangeLog. 2000-02-28 14:35:11 +00:00
Akim Demaille
256a3c55e2 * doc/Makefile.am (MAKEINFO): s/makefino/@MAKEINFO@/.
* missing: chmod +x.
2000-02-28 10:20:50 +00:00
Akim Demaille
1ce240fbef * tests/Makefile.am (testsuite): Use $(M4), not m4.
From Patrick Tullmann.
2000-02-28 08:54:23 +00:00
Akim Demaille
0115a2d77d Moved email addresses of contributors from ChangeLog to THANKS. 2000-02-28 08:49:34 +00:00
Akim Demaille
b6cf2777dd * src/acgeneral.texi (AC_INIT_NOTICE): Include inttypes.h in the
ac_includes_default.
* doc/autoconf.texi (Default Includes): Adjust.
2000-02-25 17:49:29 +00:00
Akim Demaille
ab73229498 2000-02-25 Akim Demaille <akim@epita.fr>
* doc/autoconf.texi (Default Includes):

	Export the knowledge on disabling echo's trailing new line.

	* acspecific.m4 (AC_PROG_ECHO_N): Renamed as...
	(_AC_PROG_ECHO): this.
	Set ECHO_N, ECHO_C, ECHO_T instead of ac_n, ac_c and ac_t.
	All dependencies changed.
	* doc/autoconf.texi (Preset Output Variables): Document ECHO_C,
	ECHO_N and ECHO_T.
	* m4/atconfig.m4 (fp_PROG_ECHO): Removed.
	(AT_CONFIG): Don't use it.
2000-02-25 13:19:35 +00:00
Akim Demaille
4cab1fd7fe * autoconf.sh (AC_ACLOCALDIR): Use (aclocal) 2>/dev/null, not
`aclocal 2>/dev/null` if you want no complains for missing
aclocal.
From Nicolas Joly.
2000-02-24 18:25:03 +00:00
Akim Demaille
90accfe318 * configure.in (HELP2MAN): Specify the third argument of
AM_MISSING_PROG.  Fixes autoconf/116.
2000-02-22 08:46:29 +00:00
Akim Demaille
54c26866f9 * tests/tools.m4 (syntax.sh): The logic of the previous patch was
twisted.  Fix it so that it performs what claims the entry below.
From Nicolas Joly.
2000-02-21 12:57:47 +00:00
Akim Demaille
7690cdf6d1 * tests/tools.m4 (syntax.sh): Exit 1 if you managed to kill the
child, since it means `/bin/sh -n' went loopy.
2000-02-21 09:18:01 +00:00
Akim Demaille
c34897ff86 Some `diff' refuse to diff with /dev/null, such as Tru64's.
Reported by Nicolas Joly.

* tests/atgeneral.m4 (empty): New dummy file.
Changed various `diff /dev/null' as `diff empty'.
2000-02-18 13:44:17 +00:00
Akim Demaille
4ca3c004b0 * tests/atspecific.m4 (TEST_MACRO): Don't run AC_PATH_TOOL and
AC_PATH_PROG.
2000-02-18 10:22:29 +00:00
Akim Demaille
1a31555694 * tests/atgeneral.m4 (at_diff): Don't use `cmp -s', on DOS it
makes the difference between Unix and DOS EOL. `diff' does not.
Reported by Eli Zaretski.
Also, be ready to use a diff that does not support `-u'.
2000-02-18 10:01:25 +00:00
Akim Demaille
0cf60eb2d2 * tests/tools.m4 (Syntax of the scripts): Be robust to shells that
never return on some `/bin/sh -n foo.sh'.
Reported by Nicolas Joly.
2000-02-18 09:25:46 +00:00
Akim Demaille
28f9bc5c0d Move the documentation into doc/.
Some CVS tricks were used so that history is kept in both the top
directory, and in doc/.

* doc/Makefile.am: New file.
* Makefile.am: Adjusted.
* configure.in: Adjusted.
* autoconf.texi: Moved from here to...
* doc/autoconf.texi: here.
* make-stdts.texi: Likewise.
* install.texi: Likewise.
* texinfo.tex: Likewise.
2000-02-17 10:57:00 +00:00
Akim Demaille
c6d671566e * tests/actest.m4 (AC_ENV_SAVE): Added ALLOCA. 2000-02-17 09:50:51 +00:00
Akim Demaille
f3d6e8968d * tests/semantics.m4 (AC_CHECK_TYPES): `addr, addr' is not
portable sed: use `addr,addr'.
2000-02-17 09:38:08 +00:00
Akim Demaille
98c9da45a3 Fix the `missing dummy.in' reported by the test suite.
Reported by Erez Zadok.

* tests/torture.m4 (config.status under extreme conditions):
Reorganized.  Because files required by this test were created
outside the pair AT_SETUP/AT_CLEANUP, when the test fails and
autotest extracts this test, the `debug' script does not contain
the files it needs.  Now AT_SETUP/AT_CLEANUP encloses the full
auto contained section.
2000-02-17 09:31:34 +00:00
Akim Demaille
c67e931be3 * tests/actest.m4 (AC_ENV_SAVE): X_EXTRA_LIBS can be changed by
AC_PATH_EXTRA.
Reported by Erez Zadok.
2000-02-17 09:27:58 +00:00
Akim Demaille
7e4260dccb Define HAVE_DECL_FOO both to 1 if found and 0 otherwise.
* acgeneral.m4 (AC_CHECK_DECLS): Define HAVE_DECL_FOO to 1 instead
of NEED_FOO_DECL if found.  Define to 0 if not found.
* autoheader.m4 (AC_CHECK_DECLS): Template HAVE_DECL_FOO.
* tests/semantics.m4 (AC_CHECK_DECLS): Adjusted.
* doc/autoconf.texi (Generic Declarations): Adjusted.
2000-02-15 09:33:59 +00:00
Akim Demaille
de931b4d30 * doc/autoconf.texi (Generic Structures):
s/AC_FATAL/AC_MSG_ERROR.
2000-02-15 09:16:48 +00:00
Akim Demaille
86b8b0de15 autoreconf had a silly syntax error, test it and fix it.
Reported by Franc,ois Pinard and Rainer Orth.

* autoreconf.sh: Removed spurious `;;'.
Formatting changes.
* tests/tools.m4 (Syntax of the scripts): Run `sh -n' on all the
shell scripts.
2000-02-15 09:15:22 +00:00
Akim Demaille
7920aff8d2 * autoconf.sh (options handling): --v* of --version was shadowing
--verbose.
2000-02-15 09:10:23 +00:00
Akim Demaille
728bc59408 * tests/torture.m4: Nuke the trailing space in defs. 2000-02-15 09:03:36 +00:00
Akim Demaille
037acbb765 * tests/atspecific.m4: Really added to the CVS repository. 2000-02-11 09:01:24 +00:00
Akim Demaille
920939e349 Don't use `cat -s' to single out new-lines, it is not portable.
Also remove trailing blanks.

* tests/Makefile.am (testsuite): Use sed instead of cat.
* tests/torture.m4: No longer check for a trailing space.
* autoconf.sh: Likewise.
2000-02-11 08:59:52 +00:00
Akim Demaille
18bcad9b51 * tests/actest.m4 (AC_ENV_SAVE): OpenBSD-2.3's /bin/sh defines an
envvar SECONDS which does change with time.
KMEM_GROUP is set by AC_FUNC_GETLOADAVG.
Reported by Volker Borchert.
2000-02-10 16:57:55 +00:00
Akim Demaille
97bf777083 * tests/Makefile.am (macros.m4): Better regex to build `macro'.
Depend upon acgeneral.m4.
2000-02-10 16:30:17 +00:00
Akim Demaille
81b33dc801 * autoheader.sh: Remove the duplicate trap code. 2000-02-10 16:27:35 +00:00
Akim Demaille
8cb64f7ca8 * acgeneral.m4 (AC_OUTPUT): When dispatching your arguments, use
ifval, not ifset!
Dispatch actions to AC_CONFIG_COMMANDS not AC_OUTPUT_COMMANDS, to
avoid unneeded warnings for obsolete use of AC_OUTPUT_COMMANDS.
2000-02-10 16:25:47 +00:00
Akim Demaille
65766c32aa * acgeneral.m4 (AC_VERBOSE): This is a tab, not spaces. 2000-02-10 16:21:42 +00:00
Akim Demaille
28b439235b Changequote busters II.
They're back to save the world.

* acspecific.m4 (AC_PROG_CC_C_O, AC_PROG_F77_C_O,
AC_PROG_MAKE_SET, AC_TYPE_GETGROUPS, AC_FUNC_GETLOADAVG,
AC_FUNC_MKTIME, AC_STRUCT_TIMEZONE, AC_F77_LIBRARY_LDFLAGS): Blast
that jelly o' changequote.  Set the quotes free.
2000-02-10 13:14:58 +00:00
Akim Demaille
a9628b9e93 Interrupting autoheader left temp files.
From Jim Meyering.

* autoheader.sh (usage): The usage is to use $0 here.
(ah_base): Be in TMPDIR.
Install the `trap' before creating the first tmp file.
Also trap on 0.
2000-02-10 13:12:04 +00:00
Akim Demaille
0ab00d61fd * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): This is a routine of
`configure', not `config.status', hence use `conftest' for tmp
files, not `$ac_cs_root'.
Removed forgotten developer comment.
Double quoting the whole body is nicer than just the part that
needs to be.
2000-02-10 13:08:33 +00:00
Akim Demaille
a3b3fe8516 * tests/torture.m4: Also check the value of @DEFS@ when no
CONFIG_HEADER is used.
2000-02-10 10:41:52 +00:00
Akim Demaille
fda88556f2 Changequote-busters!
From Dan Ackroyd.

* acgeneral.m4 (AC_INIT_PARSE_ARGS, AC_INIT_PREPARE,
AC_CACHE_SAVE, AC_PREFIX_PROGRAM, AC_OUTPUT,
_AC_OUTPUT_CONFIG_STATUS, AC_OUTPUT_MAKE_DEFS, AC_OUTPUT_FILES,
_AC_OUTPUT_HEADERS, AC_OUTPUT_LINKS, AC_OUTPUT_SUBDIRS): Quit
playing with changequotes, @BKL@ and Co.!  Just quote properly.
2000-02-10 10:40:19 +00:00
Akim Demaille
08de8c9f93 Honor properly the `#define' config.h.in templates.
Test it.

* acgeneral.m4 (AC_OUTPUT_HEADERS): Renamed as...
(_AC_OUTPUT_HEADERS): this.  All callers changed.
Don't mess with changequote, just quote properly.
Bug 1.  Because of the `#' in `ac_dA', the quotes <<>> were not
removed, and therefore the sed script contained `<<define>>'
instead of `define'.  Now that the block is properly quoted, there
is no need to quote `define'.
Bug 2.  Once a `#define' substitution performed, we were branching
to the top of the sed script (`t top').  This resulted in an
endless substitution of `#define foo 1' to `#define foo 1'.
Branching is not enough: you also have to fetch the next input
line, i.e., use `t' instead of `t t' in ac_dD, and don't output
`: top' in `config.defines'.
Though it was correct for `#undef' templates, just apply the same
transformation to `ac_uD' and `config.undefs'.
Bug 3.  Don't try to preserve what was behind the value in the
template, since on
	#define NAME "bar baz"
it leads to
	#define NAME 1 baz"
Now `ac_dB' catches everything behind the NAME (making sure there
is at least a space) and `ac_dC' only outputs a space.
* tests/torture.m4: Check that various forms of `#define' header
templates are properly handled.
2000-02-10 10:38:59 +00:00
Akim Demaille
14930dcc79 Avoid calling `rm' without arguments.
* acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): It is smarter to use a
quoted here doc to output the section providing defaults for
CONFIG_*.
Don't rm the CONFIG_FILES here but in..
(AC_OUTPUT_FILES) [test -n "$CONFIG_FILES"]: here.
Hm, actually, no, just don't remove them at all, let the newly
created files replace the old ones, exactly as in
AC_OUTPUT_HEADERS.
From Graham Jenkins.
2000-02-10 10:37:03 +00:00
Akim Demaille
529087d2d7 * acgeneral.m4 (AC_LIST_MEMBER_OF): s/ac_$exists/$ac_exists/! 2000-02-10 10:36:13 +00:00
Akim Demaille
0eecbaadac * acgeneral.m4: Formatting changes.
* acspecific.m4: Likewise.
2000-02-10 10:35:18 +00:00
Akim Demaille
2d177917ef * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Don't
: ${FOO="$foo"}
but
  : ${FOO=$foo}
Since Ultrix will also assign the quotes to FOO.
Reported by Harlan Stenn.
2000-02-10 10:25:23 +00:00
Akim Demaille
c7bd04fb16 Keep `AC_CHECK_TYPE' backward compatibility and provide a proper
`AC_CHECK_TYPE',
Based on ideas from Paul Eggert and Alexandre Oliva.

* acgeneral.m4 (AC_CHECK_TYPE_INTERNAL): Renamed as
(_AC_CHECK_TYPE_NEW): this.
(AC_CHECK_TYPES): Adjusted.
(AC_CHECK_TYPE): Renamed as
(_AC_CHECK_TYPE_OLD): This.  Adjusted to _AC_CHECK_TYPE_NEW.
No longer support extra includes, stick to 2.13's interface.
(_AC_CHECK_TYPE_BUILTIN_P): New macro.
(AC_CHECK_TYPE): New macro.
* autoheader.m4 (autoheader::AC_CHECK_TYPE): Renamed as...
(autoheader::_AC_CHECK_TYPE_OLD): this.
* tests/atspecific.m4 (TEST_MACRO): Skip /^_AC_/ macros.
* tests/semantics.m4: Test the choices of AC_CHECK_TYPE (wrt _NEW
or _OLD implemenation).
* doc/autoconf.texi (Generic Types): Reorganized.  Explain
everything about AC_CHECK_TYPE and Co.
2000-02-10 10:24:10 +00:00
Akim Demaille
2f752e0e19 * libm4.m4 (near m4_split): Remove the buggy additional
changequote.
Quote properly `m4_split' when registering it.
2000-02-10 09:46:57 +00:00
Akim Demaille
dc6fcad969 The AU-glue code for AC_LINK_FILES was not fully compatible: in
AC_LINK_FILES($from, $to)
`$from' and `$to' can be lists, hence `AC_CONFIG_LINKS($to:$from)'
is wrong.
Reported by H.J. Lu.

* acgeneral.m4 (AC_LINK_FILES): Replace the m4-glue code from
AC_LINK_FILES to AC_CONFIG_LINKS, with sh-glue code.
Give a detailed update message.
(_AC_LINK_FILES_CNT): New variable.  Initialize.
* tests/tools.m4 (autoupdate): No longer exercise `autoupdate'
with AC_LINK_FILES.
2000-02-10 09:45:25 +00:00
Akim Demaille
3dbe69988a * acspecific.m4 (AC_PROG_SED): Removed. 2000-02-10 09:42:36 +00:00
Akim Demaille
d6ef78697d AC_CHECK_FILES has never worked properly.
* acgeneral.m4 (AC_CHECK_FILE): Use AC_CACHE_CHECK.
* autoheader.m4 (AC_CHECK_FILES): AH-define.
* tests/semantics.m4: Test AC_CHECK_FILES.
* tests/atspecific.m4 (TEST_MACRO): Don't.
2000-02-10 09:40:55 +00:00
Akim Demaille
abe94c7473 No longer use a diversion to store the sed program implementing
AC_SUBST.

* acgeneral.m4 (_AC_SUBST): New macro.
(_AC_SUBST_SED_PROGRAM): Initialize.
(AC_SUBST): Use _AC_SUBST.
(AC_SUBST_FILE): Likewise.
(AC_DIVERSION_SED): Removed.  Renumber the AC_DIVERSIONs.
(AC_OUTPUT_FILES): Instead on undiverting AC_DIVERSION_SED, output
_AC_SUBST_SED_PROGRAM.
2000-02-10 09:40:09 +00:00
Akim Demaille
fe71f613f1 Standardize the error messages in the options handling of
`configure' and `config.status'.

* acgeneral.m4 (AC_OUTPUT_CONFIG_STATUS): Renamed as...
(_AC_OUTPUT_CONFIG_STATUS): this.
Change the error messages from
  value: invalid feature name
to
  invalid feature: value
Invite the user to try --help for invalid options.
(AC_INIT_PARSE_ARGS): Likewise.
2000-02-10 09:37:37 +00:00
Akim Demaille
8bf7d7ef60 * acgeneral.m4 (AC_OUTPUT_COMMANDS_COMMANDS): Renamed as...
(_AC_OUTPUT_COMMANDS): This.  All callers changed.
Disable the verbose message until Automake uses the new features
of `config.status'.
Reported by Jim Meyering.
2000-02-10 09:35:00 +00:00
Akim Demaille
c4e67f0abd Clean up a few changequotes.
* acgeneral.m4 (AC_INIT_PARSE_ARGS): Instead of using changequote
to protect a few `[ ]', double quote the constant sections.
2000-02-10 08:52:56 +00:00
Akim Demaille
c979e7622f Restore AC_HAVE_LIBRARY.
* acgeneral.m4 (AC_HAVE_LIBRARY): AU_DEFUNed in terms of
AC_CHECK_LIB.
* doc/autoconf.texi (Libraries): Document.
2000-02-10 08:42:26 +00:00