Commit Graph

592 Commits

Author SHA1 Message Date
Akim Demaille
ae2c1ff1f7 * acgeneral.m4: (AC_RUN_IFELSE, AC_LINK_IFELSE, AC_COMPILE_IFELSE):
Don't create the source file if none is given, and in this case,
don't remove it either.
2000-08-04 09:04:56 +00:00
Akim Demaille
73632aae68 * libm4.m4 (m4_ifvanl): New macro.
* acgeneral.m4: Use it.
2000-08-04 09:04:29 +00:00
Akim Demaille
3385e2beac AC_VALIDATE_CACHED_SYSTEM_TUPLE no longer works properly since the
AC_CANONICAL_* revamping.
Reported by Peter Eisentraut.
In fact, let's just use the precious variables handling.

* acgeneral.m4 (AC_VALIDATE_CACHED_SYSTEM_TUPLE): Obsoleted.
(_AC_ARG_VAR_PRECIOUS): New macro, eved from...
(AC_ARG_VAR): this macro.  Adjust.
(_AC_INIT_PREPARE): `build_alias', `host_alias', and
`target_alias' are precious.
* doc/autoconf.texi: Adjust.
2000-08-01 12:20:14 +00:00
Akim Demaille
6e867eb5ee * acgeneral.m4 (_AC_INIT_PREPARE_ENVIRONMENT): Neutralize also
LC_COLLATE and LC_NUMERIC.
* autoconf.m4: Don't rely on character ranges with tr.
* doc/autoconf.texi (Special Shell Variables): Adjust.
2000-08-01 11:22:42 +00:00
Akim Demaille
a1dde0367f Create acfunctions.m4, in charge of the macros related to
functions.

* acgeneral.m4 (AC_CHECK_FUNC, AC_CHECK_FUNCS, AC_REPLACE_FUNCS):
Move to...
* acfunctions.m4: here, new file.
* acspecific.m4 (_AC_LIBOBJ_ALLOCA, AC_FUNC_ALLOCA, AC_FUNC_CHOWN,
AC_FUNC_CLOSEDIR_VOID, AC_FUNC_FNMATCH, AC_FUNC_GETGROUPS,
_AC_LIBOBJ_GETLOADAVG, AC_FUNC_GETLOADAVG, AC_FUNC_GETMNTENT,
AC_FUNC_GETPGRP, AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK,
AC_FUNC_MALLOC, AC_FUNC_MEMCMP, AC_FUNC_MKTIME, AC_FUNC_MMAP,
AC_FUNC_SELECT_ARGTYPES, AC_FUNC_SETPGRP, _AC_FUNC_STAT,
AC_FUNC_STAT, AC_FUNC_LSTAT, AC_FUNC_STRERROR_R, AC_FUNC_STRFTIME,
AC_FUNC_VFORK, AC_FUNC_VPRINTF, AC_FUNC_WAIT3, AC_FUNC_UTIME_NULL,
AC_FUNC_STRCOLL, AC_FUNC_SETVBUF_REVERSED): Likewise.
* Makefile.am: Adjust.

Move also the old definitions into acfunctions.m4, and adjust the
test suite.

* acgeneral.m4 (AU_ALIAS): New macro.
* acoldnames (AC_FUNC_CHECK, AC_HAVE_FUNCS, AC_ALLOCA,
AC_GETLOADAVG, AC_MMAP, AC_SETVBUF_REVERSED, AC_STRCOLL,
AC_UTIME_NULL, AC_VFORK, AC_VPRINTF, AC_WAIT3, AM_FUNC_FNMATCH,
AM_FUNC_MKTIME, fp_FUNC_FNMATCH): Move to...
* acfunctions.m4: here, using AU_ALIAS.
* acgeneral.m4 (AC_FD_CC, AC_CANONICAL_SYSTEM): Use AU_ALIAS to
define them.
* acoldnames.m4: Use AU_ALIAS instead of AU_DEFUN.
* tests/Makefile.am (MACRO_FILES): Adjust.
2000-08-01 10:13:14 +00:00
Akim Demaille
f6065212ac * acgeneral.m4 (_AC_INIT_NOTICE): Adjust so that there are no
empty lines in the header comments (should be `#' alone instead).
Reported by Didier Verna.
2000-08-01 09:12:34 +00:00
Akim Demaille
1b94825fe4 * acgeneral.m4 (AC_REVISION): Put a dot at the end of the line.
(_AC_INIT_HELP): Output the bug report address at
the end of a `configure --help' output.
(_AC_INIT_NOTICE): Ditto, but at the top of `configure'.
2000-08-01 08:17:07 +00:00
Akim Demaille
8914cfdd81 * acgeneral.m4 (_AC_INIT_PREPARE_FDS): New macro, pulled out of
(_AC_INIT_PREPARE): here, where it is called from.
* aclang.m4 (_AC_PROG_CC_G, _AC_PROG_CXX_G): Don't test -z "`foo`".
2000-07-31 09:22:47 +00:00
Akim Demaille
f261dd9c07 * acgeneral.m4 (_AC_DIVERT(INIT_PARSE_ARGS)): Rename as...
(_AC_DIVERT(PARSE_ARGS)): this.  Adjust dependencies.
(AC_ARG_WITH): Remove spurious newline.
(AC_ARG_VAR): No longer save precious variables in
ac_configure_args, rather snapshot them twice (one kept
unmodified, another one to be written to/overwritten by the cache
file).
(AC_CACHE_SAVE): Let the cache variables named `ac_cv_env_*'
be overwritten when loading the cache (i.e., don't use the
: ${foo=...} trick).
(_AC_ARG_VAR_VALIDATE): Compare the two snapshots of the precious
variables.
(_AC_INIT_PREPARE): Call it after having loaded the cache file.
2000-07-31 09:21:33 +00:00
Akim Demaille
b64f36dee1 * autoconf.sh (--warnings): Catch no-category', not nocategory'.
* autoheader.sh: Likewise.
* acgeneral.m4 (_AC_WARNING_IFELSE): Adjust.
2000-07-28 07:41:52 +00:00
Akim Demaille
80a7004bc3 * aclang.m4 (_AC_PROG_CC_GNU, _AC_PROG_CXX_GNU,
_AC_PROG_F77_GNU): Use ac_ext.  Use ACEOF instead of EOF.
(AC_LANG_CONFTEST): New macro.
(_AC_PROG_CC_G, AC_PROG_CC_C_O, _AC_PROG_CXX_G, AC_PROG_F77_C_O,
_AC_PROG_F77_V_OUTPUT): Use it.
* acgeneral.m4 (AC_TRY_CPP, AC_EGREP_CPP, AC_COMPILE_IFELSE,
AC_LINK_IFELSE, AC_RUN_IFELSE): Likewise.
2000-07-28 07:36:11 +00:00
Akim Demaille
2cd06f3117 * acgeneral.m4 (_AC_CHECK_TYPE_BUILTIN_P): Add `off_t' and
`size_t' which are often used too.
Fix a bug which prevents recognition of `bool' and `char'.
(_AC_CHECK_TYPE_MAYBE_TYPE_P): New macro.
(AC_CHECK_TYPE): Use it.
2000-07-24 06:54:53 +00:00
Akim Demaille
fcd8cd1260 autoconf -W error does not work.
* acgeneral.m4 (_AC_DIAGNOSE): use _AC_WARNING_IFELSE,
_AC_WARNING_ENABLE is dead.
2000-07-19 09:20:19 +00:00
Akim Demaille
97f86107ff Martin Wilck found a Fortran 77 compiler which always exits with
success.

* acgeneral.m4 (AC_COMPILE_IFELSE): Also check that the output
file was created and is nonempty.
2000-07-19 09:19:24 +00:00
Akim Demaille
58b54a585e The --help message should have paragraphs starting with a title,
the options, and then optionally a small paragraph.

* acgeneral.m4 (AC_DIVERT_ONCE): New macro.
(HELP_VAR_END): New diversion.
(AC_ARG_ENABLE, AC_ARG_WITH, AC_ARG_VAR): Use AC_DIVERT_ONCE.
(AC_ARG_VAR): Follow the --help style.
* acspecific.m4 (AC_PATH_X): Use AC_DIVERT_ONCE.
2000-07-19 09:08:13 +00:00
Akim Demaille
e7bcdbd35b * acgeneral.m4 (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS): Properly
handle absolute input file names.
From Alexandre Oliva.
2000-07-13 08:46:08 +00:00
Akim Demaille
9f7f09bf91 * aclang.m4 (_AC_PROG_F77_V): New macro to determine the flag that
causes the compiler to output verbose linking information.
(AC_F77_LIBRARY_LDFLAGS): Use _AC_PROG_F77_V instead of
simply "-v"
(AC_F77_LIBRARY_LDFLAGS): New algorithm to parse flags, uses
set/shift shell commands.
(AC_F77_LIBRARY_LDFLAGS): Set FLIBS at end, after determining
ac_cv_flibs.
2000-07-12 08:45:32 +00:00
Akim Demaille
13a55506ba !*^&$@ sed portability problems... The test on AC_CHECK_TYPES is
failing on RISC/OS 4.52 because of the forget-to-reset-the-flag
bug in its sed.

* acgeneral.m4 (_AC_OUTPUT_HEADERS): Work around this bug.
2000-07-11 10:12:30 +00:00
Akim Demaille
612e9ac2d5 * acspecific.m4 (AC_INT_16_BITS, AC_LONG_64_BITS): s/ac_check/ac_cv/. 2000-07-11 09:44:39 +00:00
Akim Demaille
a8d4809caa * acgeneral.m4 (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS):
Accept special filename '-' for stdin and stdout.
2000-07-10 14:44:01 +00:00
Akim Demaille
09c743e583 Stop being ridiculous :*(
* acgeneral.m4 (AC_SHELL_DIRNAME):  When using m4 the argument
is named `$1' not `$dir'.
When using m4 you ought to quote properly.
When using m4, you should check that there are not too many shell
quotes (inside the macro itself, and where it is called).
When you do this, Autoconf, hm, works better.
2000-07-10 10:52:04 +00:00
Akim Demaille
bb30dd8484 Improve --help documentation of important environment variables.
* acgeneral.m4 (_AC_INIT_HELP): Direct reader to descriptions
of useful variables at the end of the --help.
(AC_ARG_VAR): Emphasize use of environment variables to override
and/or help the configure script.  Ensure that a given variable
is only documented once in the --help.
(AC_CHECK_LIB): Call AC_ARG_VAR to document and register the
LDFLAGS variable, and...
(AC_CHECK_HEADER): do the same for the CPPFLAGS variable.
* aclang.m4 (AC_PROG_CC): Call AC_ARG_VAR to document and register
the CC and CFLAGS variables, and do the same for...
(AC_PROG_CXX): CXX and CXXFLAGS, and...
(AC_PROG_F77): F77 and FFLAGS.
2000-07-10 10:37:19 +00:00
Akim Demaille
6fdbfea975 * doc/autoconf.texi (Coding Style): Some more constraints :). 2000-07-10 10:28:50 +00:00
Akim Demaille
0ecd09aa98 AC_LIBOBJ when used by AC_REPLACE_FUNCS should not complain for
variables as argument.

* acgeneral.m4 (_AC_LIBOBJ): Same as the former AC_LIBOBJ, but
takes an additional argument: action to perform when non-literal
argument.
(AC_LIBOBJ): Use it.
(AC_REPLACE_FUNCS): Use _AC_LIBOBJ, not AC_LIBOBJ.
2000-07-10 10:26:42 +00:00
Akim Demaille
9f8a9bc593 LANGUAGE should be neutralized too.
* acgeneral.m4 (_AC_INIT_PREPARE_ENVIRONMENT): Do it.
* doc/autoconf.texi (Special Shell Variables): Mention it.
2000-07-10 10:25:39 +00:00
Akim Demaille
d899114564 Set autoconf's default warnings to `syntax'.
In fact, honor the most recent specification in the concatenation
of `syntax',$WARNINGS,<options> in that order.
Implement support for `none' and `noCATEGORY' so that the options
may override the previous choices.
Suggested by Didier Verna.

* acgeneral.m4 (_AC_WARNING_IFELSE): New macro.
(AC_WARNING_IFELSE): Use this macro to implement the new specs.
(AC_WARNING): The empty category must not be used, default to
`syntax'.
* doc/autoconf.texi (autoconf Invocation, Reporting Messages): Adjust.
* autoconf.sh: Adjust.
Use `optarg' to fetch the arguments of options.
Fix a bug in the handling of `--trace='.

* acgeneral.m4 (AC_CACHE_VAL): Typo: the macro was complaining iff
it shouldn't have.
2000-07-10 10:23:08 +00:00
Akim Demaille
4d590944bc * acgeneral.m4 (AC_DEFUNCT): Remove.
(AC_RSH, AC_UNISTD_H, AC_USG, AC_MEMORY_H, AC_DIR_HEADER,
AC_INT_16_BITS, AC_LONG_64_BITS): They're alive!...
* doc/autoconf.texi (Obsolete Macros): but not fresh.
2000-07-10 10:10:04 +00:00
Akim Demaille
d9c7337e87 * acgeneral.m4 (AC_PLAIN_SCRIPT): New macro.
* tests/base.m4 (m4_wrap, AC_REQUIRE, AC_SHELL_MKDIR_P): Use it.
* autoconf.sh: Properly handle the case where `$output' is `-'
(i.e., stdout).
Handle `-ofile', not only `-o file'.
2000-07-10 08:56:19 +00:00
Akim Demaille
282265f13f * acgeneral.m4 (AC_DIRNAME): Use an `expr' solution instead of
echo|sed.
From Paul Eggert.
* doc/autoconf.texi (Limitations of Usual Tools): Include the
words from Paul about `|' with expr(1).
2000-07-10 08:53:58 +00:00
Akim Demaille
7207ae0d7b * aclang.m4: Promote s,,, over s%%%, and sed prog' over sed -e
prog'.
* acgeneral.m4: Likewise.
* acspecific.m4: Likewise.
* doc/autoconf.texi (Limitations of Usual Tools, Coding Style):
Likewise.
2000-07-10 08:43:55 +00:00
Akim Demaille
0701d615f0 * aclang.m4 (AC_LANG(C), AC_LANG(C++), AC_LANG(Fortran 77)): Set
ac_gnu_compiler.
(_AC_PROG_CC_GNU, _AC_PROG_CXX_GNU, _AC_PROG_F77_GNU): Compute
ac_gnu_compiler.
* acgeneral.m4 (AC_LINKER_OPTION): Adjust.
2000-07-10 08:38:51 +00:00
Akim Demaille
49aca2a4b8 * acgeneral.m4 (AC_SHELL_MKDIR_P): s/ac_dir/ac_mkdir_dir/ to avoid
clashes with the numerous ac_dir loops.
Reported by Lars J. Aas.
2000-07-07 17:46:36 +00:00
Akim Demaille
6147495f68 * acgeneral.m4 (_AC_SHELL_DIRNAME): Return .', not ' when there
is no directory part.
2000-07-07 17:33:16 +00:00
Akim Demaille
a90ca1c7e6 AC_REVISION must not AC_REQUIRE AC_INIT, it leaves the diversions
in a messy state.  Don't even try to emulate AC_REQUIRE: just
introduce a diversion just for AC_REVISION, and let the magic
happen.
Fixes Autoconf PR/134, from Raja R Harinath.

* acgeneral.m4 (_AC_DIVERT(REVISION)): New diversion.
(AC_REVISION): Don't require AC_INIT, dump in your diversion.
(_AC_INIT): Delete, inline its body in...
(AC_INIT): here.
(_AC_INIT_NOTICE, _AC_INIT_COPYRIGHT): New macros so that...
(AC_INIT): be more uniform.
(AC_INIT, AC_REVISION, AC_COPYRIGHT): `define', don't AC_DEFUN.
2000-07-07 10:54:01 +00:00
Akim Demaille
b4b289240f * acgeneral.m4 (_AC_SHELL_DIRNAME): Fix quotation. 2000-07-06 16:38:31 +00:00
Akim Demaille
9800adfd91 * acgeneral.m4 (_AC_INIT_PARSE_ARGS, AC_CHECK_TOOLS): Change
warning message printed when only --host is given. Fix printing
of multiple compiler cache values, use PATH argument.
* aclang.m4 (AC_LANG_COMPILER_WORKS): Print the cross compile
status, fix problem where two results were printed at once.
2000-07-06 13:05:47 +00:00
Akim Demaille
fd5cc154fa * acgeneral.m4 (_AC_SHELL_TMPDIR): Typo. 2000-07-06 11:54:28 +00:00
Akim Demaille
5ba9d8b0b7 * acgeneral.m4 (_AC_SHELL_DIRNAME): Behave properly when the
argument is a dir with trailing slashes, and when its depth is
just one (`/tmp').
2000-07-06 11:25:26 +00:00
Akim Demaille
abea5f9fc9 * acgeneral.m4 (_AC_SHELL_DIRNAME): New macro.
(_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS, _AC_OUTPUT_LINKS):
Use _AC_SHELL_DIRNAME.
2000-07-06 08:57:37 +00:00
Akim Demaille
c50f5b336c * acgeneral.m4 (_AC_SHELL_TMPDIR): When using `mktemp -d', be sure
that the directory was created: under Ultrix 4.3 it just returns
a name, but does not create the directory.
Reported by Christian Krackowizer.
2000-07-05 16:01:57 +00:00
Akim Demaille
9f1999bf1e * acgeneral.m4 (AC_SHELL_MKDIR_P): New macro.
(_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS, _AC_OUTPUT_LINKS,
AC_PROG_INSTALL): Use AC_SHELL_MKDIR_P.
* tests/base.m4 (AC_SHELL_MKDIR_P): Test it.
2000-07-04 18:20:05 +00:00
Akim Demaille
dc6d1f912a * acgeneral.m4 (AC_CACHE_LOAD): Be ready to read the cache even
when `.' is not in the PATH.
* doc/install.texi (configure Invocation): Adjust.
2000-07-04 10:34:21 +00:00
Akim Demaille
2e1fabcd1b * acgeneral.m4 (_AC_INIT_PARSE_ARGS) <-C>: Use `./config.cache', not
`config.cache'.
* doc/install.texi (configure Invocation): Adjust.
2000-07-03 10:41:30 +00:00
Jim Meyering
188cec3470 (AC_REQUIRE): Tweak a diagnostic. 2000-06-30 13:54:14 +00:00
Akim Demaille
cb2e761b8e Re-enable the old behavior of --host and --build.
* acgeneral.m4 (build_alias): Set to host_alias if --build is not
given but --host is, and enable cross-compile auto-detection.  If
both are, and are different, enable cross compilation.
(AC_CANONICAL_HOST): Adjust help message.
(cross_compiling): Enclose in quotes when testing.
* aclang.m4 (_AC_LANG_COMPILER_WORKS): If cross_compiling is
maybe, set it to yes or no depending on the result of the
execution test.
* doc/autoconf.texi: Document the change.
* doc/install.texi: Likewise.
2000-06-30 13:34:37 +00:00
Akim Demaille
4c8b976769 * acgeneral.m4 (AC_CACHE_VAL): Swap the arguments of `regexp'.
Reported by Alexandre Oliva.
2000-06-26 10:57:46 +00:00
Akim Demaille
56dd3a5eef * acgeneral.m4 (_AC_INIT_PARSE_ARGS, _AC_OUTPUT_CONFIG_STATUS):
s/echo | sed/expr/.
2000-06-26 10:21:29 +00:00
Akim Demaille
8b3a0fbaae * acgeneral.m4 (AC_CONFIG_LINKS, AC_CONFIG_HEADERS,
AC_CONFIG_COMMANDS, AC_CONFIG_FILES): Use a shell variable instead
of an m4 variable to store what must be done, so that sh
conditionals are honored.
(_AC_OUTPUT_LINKS, _AC_OUTPUT_HEADERS,
_AC_OUTPUT_COMMANDS, _AC_OUTPUT_FILES): Adjust.
* tests/semantics.m4: Test the four AC_CONFIG sisters.
* doc/autoconf.texi (Configuration Actions): Promote the use of
literals, show it works properly with sh conditionals.
2000-06-26 10:20:36 +00:00
Akim Demaille
99f2a140ad * acgeneral.m4 (AC_CACHE_VAL): Too many people put AC_DEFINE in
the commands-to-set-it part of it.  Give them a warning.
2000-06-26 09:08:13 +00:00
Akim Demaille
370a30d643 Given better names to the diversions.
* acgeneral.m4 (_AC_DIVERT(NORMAL_2), _AC_DIVERT(NORMAL_3),
_AC_DIVERT(NORMAL_4)): Delete, unused.
(_AC_DIVERT(NORMAL_1), _AC_DIVERT(NORMAL), AC_DIVERT_DIVERSION):
Rename as _AC_DIVERT(PREPARE), _AC_DIVERT(BODY),
_AC_DIVERT_DIVERSION.
2000-06-26 09:06:50 +00:00
Akim Demaille
12e3a8ea6e The current implementation of AC_REQUIRE fails on
| AC_DEFUN([TEST1],  [REQUIRE([TEST2a])REQUIRE([TEST2b])])
| AC_DEFUN([TEST2a], [])
| AC_DEFUN([TEST2b], [REQUIRE([TEST3])])
| AC_DEFUN([TEST3],  [REQUIRE([TEST2a])])
|
| AC_INIT
| TEST1

because it produces TEST3; TEST2a; TEST2b; TEST1.
Fix this bug, implement the solution provided by Axel Thimm,
and test AC_REQUIRE.

* acgeneral.m4: Document this implementation.
(_AC_DEFUN_PRO, _AC_DEFUN_EPI, AC_REQUIRE): Be sure that macros
are emitted in the same order as they are expanded.
(AC_REQUIRE): Forbid being calling out of an AC_DEFUN'd	macro (in
particular the top level).
* tests/base.m4 (AC_REQUIRE): New test.
2000-06-26 09:06:02 +00:00
Akim Demaille
439ddf9140 A macro which is not defined with AC_DEFUN should not be
AC_REQUIRE'd, since it doesn't AC_PROVIDE itself.

* acgeneral.m4 (AC_REQUIRE): Issue a warning when after expansion,
the macro is not AC_PROVIDE'd.
2000-06-26 09:04:40 +00:00
Akim Demaille
ef0391870c Various cleanups.
* acgeneral.m4 (AC_PRO, AC_EPI): Rename as _AC_DEFUN_PRO and
_AC_DEFUN_EPI.
Adjust dependencies.
(AC_DEFUN): Remove the not-to-be-released specializing mechanism.
(AC_SPECIALIZE): Remove for the same reasons.
Adjust dependencies.
(_AC_INIT_DEFAULTS, _AC_INIT_PARSE_ARGS, _AC_INIT_VERSION,
_AC_INIT_PREPARE, _AC_CANONICAL_SPLIT, _AC_CHECK_TYPE_NEW,
_AC_CHECK_TYPE_OLD): Define via `define' instead of `AC_DEFUN':
they are not related to AC_REQUIRE in any way.
* acspecific.m4 (AC_PROG_ECHO, _AC_DECL_YYTEXT, _AC_PATH_X_XMKMF,
_AC_PATH_X_DIRECT): Define via `define' instead of `AC_DEFUN'.
2000-06-26 09:03:15 +00:00
Akim Demaille
05bf3247cc * acgeneral.m4 (AC_CHECK_TOOL): Use two variables in order to
avoid cache variable conflicts between AC_CHECK_PROG invocations.
(AC_PATH_TOOL): Fix same bugs as in 6/9/00 fixes to AC_CHECK_TOOL.
Pass correct arguments to AC_CHECK_PATH (different from
AC_CHECK_PROG).  Use AC_CHECK_PATH cache variable, not
AC_CHECK_PROG var, and use two variables for two invocations as
above.  Quote AC_CHECK_* args.
2000-06-19 10:18:31 +00:00
Akim Demaille
27ad8629e3 The test suite reveals AC_OUTPUT_MAKE_DEFS fails on RISC/OS.
* acgeneral.m4 (AC_OUTPUT_MAKE_DEFS) <confdef2opt.sed>: Reset the
t flag between each cycle.
* doc/autoconf.texi (Limitations of Usual Tools): Some about the t
flag in sed.
2000-06-16 17:40:44 +00:00
Akim Demaille
f5a508569f `./config.status -d' is buggy.
* acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Remove the `shift' in
--debug.
* doc/autoconf.texi (Limitations of Builtins): Some about shift.
2000-06-13 14:56:23 +00:00
Akim Demaille
7b3c994a37 * acgeneral.m4 (AC_CHECK_TOOL): Even if VALUE-IF-NOT-FOUND is not
specified, we should still check whether PROG-TO-CHECK-FOR
actually works before returning it when the prefixed program is
not found. Also, fixed a bug where it failed to pass the PATH
argument in the second call to AC_CHECK_PROG.
2000-06-09 13:48:33 +00:00
Akim Demaille
9f0e5a1cfc * acgeneral.m4 (AC_CHECK_TOOLS): Rewrite. 2000-06-09 13:20:32 +00:00
Akim Demaille
1740faf5e0 `foo=1 foo=2 cmd' has an undefined behavior.
* acgeneral.m4 (_AC_COMPUTE_INT_COMPILE): Do not put two shell
variable assignments in one shell command.
* doc/autoconf.texi (Shell Substitutions): Document.
2000-06-07 11:57:11 +00:00
Akim Demaille
695e246c9c * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Put the expansion of
AC_LIST_LINKS in an unquoted `here'-document.
2000-06-07 06:57:51 +00:00
Akim Demaille
92da78474f * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Move the setting
of ac_tool_prefix before the call to AC_DIVERT_POP.
2000-06-05 16:05:49 +00:00
Akim Demaille
68f49517d3 * acgeneral.m4 (AC_CHECK_TOOL_PREFIX): AU define it.
Suggested by Mo DeJong.
2000-06-05 10:04:15 +00:00
Akim Demaille
b2ec218aa8 * acgeneral.m4 (AC_CHECK_TOOLS): Don't require
AC_CHECK_TOOL_PREFIX, it's dead.
2000-05-26 15:50:04 +00:00
Akim Demaille
3601ac7706 * acgeneral.m4: Simplify all the
case "$switch" in
into
case $switch in
* acspecific.m4: Likewise.
* aclang.m4: Likewise.
2000-05-26 15:02:42 +00:00
Akim Demaille
1716e85a6a * acgeneral.m4 (AC_CHECK_TOOL_PREFIX): Remove.
Adjust dependencies.
(_AC_INIT_PARSE_ARGS): Set ac_tool_prefix.
2000-05-26 14:41:17 +00:00
Akim Demaille
ca10061659 Find a means to extract integers from the compiler.
Use this technology to compute `sizeof' even when cross-compiling.
Ideas and initial suggestion by Kaveh Ghazi.
Binary search by Bruno Haible.

* aclang.m4 (AC_LANG_BOOL_COMPILE_TRY,
AC_LANG_BOOL_COMPILE_TRY(C), AC_LANG_BOOL_COMPILE_TRY(C++),
AC_LANG_INT_SAVE, AC_LANG_INT_SAVE(C), AC_LANG_INT_SAVE(C++)): New
macros.
* acgeneral.m4 (_AC_COMPUTE_INT_COMPILE, _AC_COMPUTE_INT_RUN,
_AC_COMPUTE_INT): New.
(AC_CHECK_SIZEOF): Use them.
Check whether the type exists beforehand.
* tests/semantics.m4 (AC_CHECK_SIZEOF): Strengthen.
2000-05-26 11:33:54 +00:00
Akim Demaille
ee5618d3ca * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Don't use negated character
classes with `case'.  Use `expr' instead.
Suggested by Paul Eggert.
* doc/autoconf.texi (Limitations of Builtins): Explain expr, the
`x' trick, and negated character classes.
2000-05-25 07:49:39 +00:00
Akim Demaille
a72866dbfe * aclang.m4 (AC_LANG(C++)): Change ac_ext' from from C' to `cc'
to avoid potential ambiguities on case-insensitive shells.
2000-05-24 15:50:19 +00:00
Akim Demaille
c4dbe5c591 Have --host=sun4 automatically look for CC=sun4-cc etc.
* acgeneral.m4 (AC_CHECK_TOOLS): New.
* aclang.m4 (AC_PROG_CXX, AC_PROG_CC, AC_PROG_F77): Use new
AC_CHECK_TOOLS macro instead of AC_CHECK_PROGS so that a cross
compiler is found by default with --host.
* doc/autoconf.texi (Generic Programs, Manual Configuration):
Describe new AC_CHECK_TOOLS macro. Fix unclear working about
AC_CHECK_PROGS.
* tests/Makefile.am (FILTER_MACROS): Adjust.
2000-05-24 15:46:12 +00:00
Akim Demaille
5800da26cd * acgeneral.m4 (AC_LANG_FUNC_LINK_TRY, AC_LANG_FUNC_LINK_TRY(C),
AC_LANG_FUNC_LINK_TRY(C++)): New macros.
(AC_CHECK_FUNC): Use it, together with AC_LINK_ELSE.
2000-05-24 14:22:39 +00:00
Akim Demaille
fceaa41359 * acgeneral.m4 (_AC_WHICH_A): Replace it with...
(AC_SHELL_PATH_WALK): this.
(AC_CHECK_PROG, AC_PATH_PROG): Use it.
2000-05-24 13:07:38 +00:00
Akim Demaille
3d3d0c48fc * doc/autoconf.texi (Limitations of Builtins): Document `unset'.
(Special Shell Variables): Adjust.
(Shellology): New section.  Introduce bash and zsh.
(Special Shell Variables): Some data on NULLCMD.
(Quotation Thumb Rule): Rename as
(Quotation Rule of Thumb): this.
* acgeneral.m4 (AC_SHELL_UNSET): Remove.
(AC_SHELL_UNSETENV): Rename as...
(AC_SHELL_UNSET): this.
(_AC_INIT_PREPARE_ENVIRONMENT): Prepare bash and zsh.
Adjust to AC_SHELL_UNSET.
2000-05-24 13:00:34 +00:00
Akim Demaille
0705110354 The options --build etc. used to set `$build'. *If*
AC_CANONICAL_SYSTEM was run, then the value of `$build' given by
the user was saved into `$build_alias', and `$build' was
normalized using `config.sub'.

Now, let `--build' set `$build_alias' so that scripts with or
without `AC_CANONICAL_BUILD' have the same semantics.  This allows
to use `AC_CHECK_TOOL' without requiring `config.guess' and
`config.sub' (which was bizarre anyway).

* acgeneral.m4 (_AC_INIT_PARSE_ARGS): --build, --host and --target
set `build_alias' etc.
After the option handling, set host to $host_alias etc. for
bugward compatibility.
(AC_CANONICALIZE): Mutate into...
(_AC_CANONICAL_SPLIT): this, which does not canonicalize, it just
computes `$foo_os' etc.
(_AC_CANONICAL_THING): Remove, too confusing.
(AC_CANONICAL_BUILD): Adjust.
Do not assign any value to `build_alias', just compute `build', and
`build_{cpy, vendor, os}'.
(AC_CANONICAL_HOST, AC_CANONICAL_TARGET): Likewise.
(AC_CHECK_TOOL_PREFIX): Fire your rule when `$host_alias' is
given, not when `$host != $build'.

* acgeneral.m4 (sinclude): Fix typo.
2000-05-24 12:18:35 +00:00
Akim Demaille
bbd3b7f40c Load the additions *before* running AC_INIT.
This is important if you want to redefine AC_INIT or some of its
sub macros (eeerk!), or if you want to use user defined macros
before AC_INIT.
Suggested by Didier Verna.

* acgeneral.m4 (_AC_INIT): Don't include `acsite.m4' and
`aclocal.m4'.
* autoconf.sh (run_m4, run_m4f): Do it.
2000-05-23 09:52:05 +00:00
Akim Demaille
e511577401 Reading the ChangeLog revealed that the recent update of
AC_FUNC_GETLOADAVG introduced a bug which already happened (see
Mon Nov 11 18:02:58 1996  David J MacKenzie).

* acgeneral.m4 (AC_CHECK_LIB): Use a less tempting name:
s/ac_save_LIBS/ac_check_lib_save_LIBS/.
2000-05-22 15:31:54 +00:00
Akim Demaille
be64229cfa Add configure --config-cache', -C' as a shortcut for
`--cache-file=config.cache'.

* acgeneral.m4 (_AC_INIT_PARSE_ARGS): Let `configure' support
`--config-cache' and `-C'.
Report them in `--help'.
Fix the display of missing argument.
(_AC_OUTPUT_SUBDIRS): Adjust.
* doc/install.texi (Invoking configure): Rename the node as
(Running configure scripts): this, the name of the chapter.
(Operation Controls): Rename as...
(Invoking configure): this.
Document the new options.
* doc/autoconf.texi (direntry): Huh?  What is this `aclocal' doing
here?  Point to `Invoking configure'.
(Cache Files): No need to document the disabling of the cache.
2000-05-22 13:31:00 +00:00
Akim Demaille
b58f8c69c4 More MS-DOS support.
* acgeneral.m4 (_AC_OUTPUT_FILES): Fix the computation of
`ac_file_inputs' for `$ac_given_srcdir' containing a colon.
(AC_CHECK_MEMBERS, AC_PATH_PROG): s/ac_save_ifs/ac_save_IFS/.
2000-05-22 10:29:46 +00:00
Akim Demaille
dc8d091541 * acgeneral.m4: Quote the names being m4-defined.
* acspecific.m4: Likewise.
* aclang.m4: Likewise.
2000-05-22 08:41:36 +00:00
Akim Demaille
164b08eb76 Factor the AC_PROG_<compiler>_WORKS macros.
* acgeneral.m4 (_AC_INIT_DEFAULTS): Set `cross_compiling'.
(AC_TRY_COMPILER): Remove.
* aclang.m4 (AC_PROG_CC_WORKS, AC_PROG_CXX_WORKS,
AC_PROG_F77_WORKS): Removed.
(_AC_LANG_COMPILER_WORKS): New macro.
(AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Adjust.
2000-05-22 08:38:44 +00:00
Akim Demaille
cbb8a34d48 More than one argument to `configure' builds a broken
`config.status'.  Fix and test.

* acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Use
`$ac_configure_args' directly, no via a tmp variable.
* tests/torture.m4 (command line interface): Test with more than
one argument.
2000-05-22 08:05:40 +00:00
Akim Demaille
7c8f0f7a69 * acgeneral.m4 (AC_MSG_WARN): s/warning/WARNING/.
* autoheader.sh: Likewise.
From Franois Pinard.
2000-05-19 13:21:05 +00:00
Akim Demaille
a409fcca42 * acgeneral.m4 (AC_PACKAGE): Rename as _AC_INIT_PACKAGE.
(AC_INIT): Dispatch your arguments either to _AC_INIT_PACKAGE or
to AC_CONFIG_SRCDIR.
(AU::AC_INIT): New.
* configure.in: Adjust.
Use `#', not `dnl'.
* doc/autoconf.texi (configure.in Layout): Document the new form
of AC_INIT.
Document AC_CONFIG_SRCDIR.
(Obsolete Macros): Document the old one.
2000-05-19 13:16:06 +00:00
Akim Demaille
5db6a4b156 * acgeneral.m4: Simplify all the unjustified `[\$]foo' into
`\$foo', the quotes are needed only for `\$[1]', `\$[@]' etc.
Prefer `$$1' to `[$]$1', `$foo' to `[$]foo', `$[1]' to `[$]1' etc.
* aclang.m4: Likewise.
* acspecific.m4: Likewise.
2000-05-19 13:07:13 +00:00
Akim Demaille
8382d1d1d8 * acgeneral.m4 (AC_TRY_COMPILER): Fix quotation. 2000-05-19 12:58:15 +00:00
Akim Demaille
907e198f7f Either we cross-compile the whole package, or we don't.
Using --host enables cross-compilation.

* acgeneral.m4 (_AC_INIT_PARSE_ARGS): `--host' enables cross
compilation.
(AC_CANONICAL_BUILD): The help string should explicitly mention
cross compilation.
* aclang.m4 (AC_LANG(C), AC_LANG(C++), AC_LANG(Fortran 77)): Don't
set `cross_compiling'.
(AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Run your `WORK' partner
only if not cross-compiling.
(AC_PROG_CC_WORKS, AC_PROG_CXX_WORKS, AC_PROG_F77_WORKS):
If does not work, don't assume an implicit cross-compilation:
fail.
* doc/autoconf.texi: Adjust.
2000-05-19 12:40:45 +00:00
Akim Demaille
31dae2791f * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Prefer
case $foo in
*[^-a-zA-Z0-9_]*) AC_ACTION;;
esac
over
if echo "$foo" | grep '[^-a-zA-Z0-9_]' >/dev/null 2>&1; then
AC_ACTION
fi
2000-05-19 12:20:41 +00:00
Akim Demaille
d5c975f17b * acgeneral.m4 (AC_SPECIALIZE): Avoid a useless `indir'.
(AC_CHECK_MEMBER, AC_CHECK_MEMBERS): Fix to work properly on
`struct f.g.h'.
* acspecific.m4 (AC_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS and
AC_CHECK_MEMBERS instead of performing their task by hand.
2000-05-19 12:11:47 +00:00
Akim Demaille
2d198a1cc5 * acgeneral.m4 (AC_SHELL_UNSET, AC_SHELL_UNSETENV): New macro.
(_AC_INIT_PREPARE_ENVIRONMENT): Use AC_SHELL_UNSETENV.
Set CDPATH.  Fixes Autoconf/96.

* doc/autoconf.texi (Special Shell Variables): New node.
Document `status', `CDPATH', `LANG', `LC_ALL', `LC_MESSAGES' and
`LC_CTYPE'.
2000-05-19 11:54:04 +00:00
Akim Demaille
fd022fa126 * acgeneral.m4 (sinclude): Define, some packages (binutils) need
it.
2000-05-12 12:19:57 +00:00
Akim Demaille
269df76643 AC_CONFIG_SUBDIRS needs two lists: one, ac_subdirs_all, which
contains all the possible subdirs for `--help=recursive', and
another, `subdirs' which can be built dynamically for launching
sub configurations.

* acgeneral.m4 	(AC_CONFIG_SUBDIRS): Define `subdirs' dynamically.
Define `ac_subdirs_all' statically.
Warn if the argument is not a literal.
(AC_LIST_SUBDIRS): Rename as...
(_AC_LIST_SUBDIRS): this.
(_AC_INIT_HELP): Loop over `ac_subdirs_all', not `subdirs'.
(_AC_OUTPUT_SUBDIRS): Loop over `subdirs', not `AC_LIST_SUBDIRS'.
* doc/autoconf.texi (Subdirectories): Adjust.

* acgeneral.m4: Replace all the `test ! -d foo && bar' with
`test -d foo || bar'.

* Makefile.am (.m4.m4f): Stop hiding what you're doing.
Don't check for GNU m4, let it die.
2000-05-11 16:56:13 +00:00
Akim Demaille
05374637cf The Associated Rewriters are proud to present...
^
/   U  T  O  U  P  D  A  T  E    I I I
/===+	/           It bells, It whistles...

* autoupdate.sh: Complete rewrite.  See that file for a detailed
explanation.
* acgeneral.sh: Don't use AU_DEFINE, but AU_DEFUN.
(AC_OUTPUT_COMMANDS_CNT): Renamed as...
(_AC_OUTPUT_COMMANDS_CNT): this.
2000-05-11 14:05:52 +00:00
Akim Demaille
b93ddb3ab5 Get rid of the m4 name spaces.
* libm4.m4 (m4_changequote, m4_define, m4_defn, m4_dnl, m4_indir,
m4_popdef, m4_pushdef, m4_undefine, m4_namespace_push,
m4_namespace_pop, m4_namespace_register, m4_namespace_define,
m4_disable, m4_enable):	Removed.
All dependencies adjusted.
* libm4.m4: Remove all the name space initialization.
* acgeneral.m4: Adjust.
(AU_DEFINE): Redefine as `AC_DEFUN'.
* autoupdate.m4: Adjust.
* tests/tools.m4: Temporarily disable the `autoupdate' test.
2000-05-11 13:28:47 +00:00
Akim Demaille
c706f3273a Eradicate AC_TRY_COMPILE.
* aclang.m4 (AC_PROG_CC_STDC, AC_C_BIGENDIAN, AC_C_INLINE,
AC_C_CONST, AC_C_VOLATILE, AC_F77_NAME_MANGLING): Use
`AC_COMPILE_IFELSE'.
* acspecific.m4 (AC_DECL_SYS_SIGLIST, _AC_CHECK_HEADER_DIRENT,
AC_HEADER_SYS_WAIT, AC_HEADER_TIME, AC_TYPE_SIGNAL,
AC_FUNC_GETLOADAVG, AC_FUNC_SELECT_ARGTYPES, AC_STRUCT_TM,
AC_CYGWIN, AC_MINGW32, AC_EMXOS2): Likewise.
* tests/semantics.m4 (C keywords): Check that AC_C_CONST,
AC_C_VOLATILE, and AC_C_INLINE function properly with GCC.
2000-05-11 13:09:05 +00:00
Akim Demaille
13057a3aa3 Provide a means to track the dependencies of files created by
`configure'.

* acgeneral.m4 (AT_FILE_DEPENDENCY, _AC_CONFIG_DEPENDENCY,
_AC_CONFIG_DEPENDENCIES): New macros.
(AC_CONFIG_FILES, AC_CONFIG_HEADERS, AC_CONFIG_LINKS): Use them.
2000-05-11 08:14:18 +00:00
Akim Demaille
87c43d275c * libm4.m4 (m4_foreach): Rewritten so that it does not require
lists in between parens.
(m4_foreach_quoted): new copy of the previous `m4_foreach' which
is still used by `m4_wrap'.
* acgeneral.m4 (AC_INCLUDE, AC_INCLUDES): Removed.
(AC_FOREACH): Don't use parens with `m4_foreach'.
(AC_CHECK_MEMBER, AC_CHECK_DECLS, AC_CHECK_TYPES): Adjust the
description.
* acspecific.m4 (AC_STRUCT_TIMEZONE, AC_STRUCT_ST_BLKSIZE,
AC_STRUCT_ST_BLOCKS, AC_STRUCT_ST_RDEV): Adjust.
* autoconf.texi (AC_CHECK_MEMBER, AC_CHECK_DECLS, AC_CHECK_TYPES):
Adjust their documentation.
(AC_INCLUDE): Undocument.
* tests/semantics.m4: Adjust.
* tests/actest.m4: Rename as...
* tests/aclocal.m4: this.
* tests/atspecific.m4: No longer include actest.m4.
* tests/torture.m4: Likewise.
* tests/Makefile.am: Adjust.
2000-05-10 16:16:31 +00:00
Akim Demaille
0591c3a3ba * acgeneral.m4 (AC_LIBOBJ_DECL, AC_LIBOBJ): New macros.
(AC_REPLACE_FUNCS): Use AC_LIBOBJ.
* acspecific.m4 (AC_FUNC_MKTIME, AC_FUNC_MEMCMP,
AC_STRUCT_ST_BLOCKS): Use AC_LIBOBJ.
* doc/autoconf.texi : Adjust so that the user is not encouraged to
use LIBOBJS directly.
(Generic Functions): Document AC_LIBOBJ_DECL and AC_LIBOBJ.
2000-05-10 11:47:35 +00:00
Jim Meyering
d04507e711 (AC_SEARCH_LIBS): Remove double quotes around `no'. 2000-05-09 11:21:46 +00:00
Akim Demaille
82e6c9d866 * acgeneral.m4 (_AC_OUTPUT_FILES): Don't automatically spit
`Generated by...' in Makefiles.
Fixes Autoconf/102.
2000-05-09 11:01:20 +00:00
Akim Demaille
a0a58f7673 Let `config.status' use a private temp dir.
Suggested by Jim Meyering.

* acgeneral.m4 (_AC_SHELL_TMPDIR): New macro.
(_AC_OUTPUT_CONFIG_STATUS): Use it.
Use more quoted here docs to improve readability.
Compute `$me' and use it in the error messages.
Define `$configure' and `$configure_args' to avoid continuously
mixing the uses of `configure' and `config.status' evaluation in a
single line.
Define `$SHELL' and use it.
Simplify all the unjustified `[$]foo' into `$foo', the quotes
are needed only for `$[1]', `$[@]' etc.
Replace all the uses of `ac_cs_root' with files in the tmp dir of
`config.status'.
Remove a few `rm' covered by the removal of the `$tmp' dir.
Let `config.status' support `--debug'.
(_AC_INIT_PREPARE): Avoid the leading space in `ac_configure_args'.
* doc/autoconf.texi (Invoking config.status): Adjust.
2000-05-09 09:45:04 +00:00
Jim Meyering
6d0a7d0b49 (_AC_OUTPUT_CONFIG_STATUS): Set up traps to remove
temporaries upon exit, too, not just upon receipt of signal.
2000-05-05 14:58:44 +00:00