* 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.
* aclang.m4 (AC_PROG_F77): Add two compilers,
lf95 (Lahey/Fujitsu Fortran) and pgf77 (Portland Group Fortran)
(_AC_PROG_F77_G): Some Fortran compilers produce stdout/stderr
output even if no errors occur - check exit status rather than
output.
* 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.
* 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.
Akim Demaille [Fri, 30 Jun 2000 13:34:37 +0000 (13:34 +0000)]
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.
Akim Demaille [Mon, 26 Jun 2000 10:51:17 +0000 (10:51 +0000)]
* autoreconf.sh (automake, aclocal): New variables. Import
$AUTOMAKE and $ACLOCAL.
Pass --verbose to the tools.
Avoid using plenty of variables, just append to existing
variables.
* doc/autoconf.texi: List options in the order --help, --version,
--verbose, --debug, and then specific options.
Akim Demaille [Mon, 26 Jun 2000 10:34:24 +0000 (10:34 +0000)]
* doc/autoconf.texi: Various Texinfo adjustments.
(Specifying Names): When describing the system triplets, use the
same names as the shell variables.
(System Type Variables): Delete, merge its content into...
(Canonicalizing): here.
Clarify the difference between the `foo_target' and `foo'
variables.
Akim Demaille [Mon, 26 Jun 2000 10:20:36 +0000 (10:20 +0000)]
* 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.
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.
Akim Demaille [Mon, 26 Jun 2000 09:03:15 +0000 (09:03 +0000)]
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'.
Akim Demaille [Mon, 19 Jun 2000 10:18:31 +0000 (10:18 +0000)]
* 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.
Akim Demaille [Fri, 16 Jun 2000 17:40:44 +0000 (17:40 +0000)]
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.
Akim Demaille [Thu, 15 Jun 2000 11:33:04 +0000 (11:33 +0000)]
* autoconf.sh (option handling): Give a more understandable
message when an option is missing its argument.
* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* autoheader.sh: Likewise.
Akim Demaille [Tue, 13 Jun 2000 09:31:55 +0000 (09:31 +0000)]
* doc/autoconf.texi (Caching Results): Bigger warning about the
extremely frequent action-in-commands bug.
Move the documentation of AC_CACHE_SAVE and AC_CACHE_LOAD...
(Cache Files): in here.
Akim Demaille [Fri, 9 Jun 2000 13:48:33 +0000 (13:48 +0000)]
* 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.
Akim Demaille [Fri, 9 Jun 2000 11:14:05 +0000 (11:14 +0000)]
* aclang.m4 (AC_F77_LIBRARY_LDFLAGS): Don't require AC_CYGWIN.
(AC_F77_NAME_MANGLING): Removed useless comment.
(_AC_PROG_F77_GNU): Use `.f' not `.fpp' which is not properly
processed by Abysoft's Fortran compiler.
Akim Demaille [Fri, 9 Jun 2000 10:02:19 +0000 (10:02 +0000)]
`autoconf --trace' dies on filenames with `:'.
Reported by Mark Elbrecht.
* autoconf.sh <trace> (trace2m4.sed): Use `..*' instead of
`[^:][^:]*' to catch file names. The rest of regex is probably
precise enough to avoid incorrect parsing.
Akim Demaille [Wed, 7 Jun 2000 11:57:11 +0000 (11:57 +0000)]
`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.
Akim Demaille [Wed, 7 Jun 2000 07:16:15 +0000 (07:16 +0000)]
* aclang.m4 (AC_F77_LIBRARY_LDFLAGS): Fix problem on Cray due to
confusion from the link command getting echoed in quotes. In the
future, a more general fix for quoted arguments with spaces might
be better.
Akim Demaille [Wed, 7 Jun 2000 07:02:26 +0000 (07:02 +0000)]
Hard (code) X.
* acspecific.m4 (_AC_PATH_X_DIRECT): Hard code `X11/Intrinsic.h'
instead of using `ac_x_direct_test_include', likewise for `Xt' and
`ac_x_direct_test_lib', `XtMalloc' and
`ac_x_direct_test_function'.
Akim Demaille [Wed, 7 Jun 2000 07:00:07 +0000 (07:00 +0000)]
* acspecific.m4 (AC_PATH_X): Use AC_DIVERT.
Use `no', not `NO' for ac_x_includes and ac_x_libraries.
Adjust dependencies.
(_AC_PATH_X_DIRECT): Introduce ac_x_header_dirs to factor the list
of places where headers and libs might be.
(AC_PATH_XTRA): Don't quote the argument of `case'.
Akim Demaille [Mon, 5 Jun 2000 10:00:41 +0000 (10:00 +0000)]
* aclang.m4 (AC_C_CHAR_UNSIGNED): Use the new compiler-test
technology so that we can do the test via compilations only. Also
use (char) -1 instead of (char) 255 to check if char is unsigned.
Akim Demaille [Fri, 26 May 2000 18:09:43 +0000 (18:09 +0000)]
* autoreconf.sh (autoconf, autoheader): Be more conscientious when
looking for the executable.
* autoupdate.sh: Likewise.
* autoheader.sh: Likewise.
Suggested by Alexandre Oliva.
Akim Demaille [Fri, 26 May 2000 17:45:10 +0000 (17:45 +0000)]
Thanks to --program-transform-name, `autoconf' might be install as
`yo-man-i-am-the-all-mighty-AVt0c0nF-eh-eh'. But when
`yo-man-i-am-the-all-mighty-AVt0h3Ad3R-eh-eh' and the other tools
want to trace, they might stupidly invoke the program named
`autoconf' instead. Pfff, stupid scripts :)
* Makefile.am (editsh): Transfer the names of the install
`autoconf' and `autoheader'.
* autoconf.sh: Add a missing period at the end of the comment
# Parse command line
Make sure to have a ChangeLog much longer than the patch.
* autoheader.sh: Use the right `autoconf'.
* autoupdate.sh: Likewise.
* autoreconf.sh: Likewise, and for `autoheader' too.
Simplify the handling of localdir and AC_MACRODIR.
* ifnames.sh: Formatting changes.
Akim Demaille [Fri, 26 May 2000 17:27:24 +0000 (17:27 +0000)]
Currently, AC_PROG_LN_S incorrectly reports yes with DJGPP. This
is because the DJGPP `ln' emulates soft links for executables by
generating a stub that in turn calls the real program. This
feature also works with nonexistent files like in the Unix
spec. So `ln -s X conftestdata' will generate `conftestdata.exe'
which will attempt to call 'X.exe'. But this feature only works
for executables. Fix it.
* acspecific.m4 (AC_PROG_LN_S): Create a sample file and use it to
test `ln -s'.
Akim Demaille [Fri, 26 May 2000 17:12:01 +0000 (17:12 +0000)]
Fix the archive: some parts of the following patches were missing:
- CC < aCC
- unquote the argument of case
- AC_FUNC_STRERROR_R
- AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
- typos in autoconf.texi
Akim Demaille [Fri, 26 May 2000 15:59:19 +0000 (15:59 +0000)]
* acspecific.m4 (AC_FUNC_STRERROR_R): New, from `strerror_r.m4',
serial 2, by Jim Meyering.
(AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New, from
`lstat-slash.m4', serial 1, by Jim Meyering.
* acfunctions: Adjust.
Akim Demaille [Fri, 26 May 2000 14:34:21 +0000 (14:34 +0000)]
Merge `Upgrading' and `Obsolete Constructs' together.
* doc/autoconf.texi (Obsolete Constructs): Move right after
`Recreation a Configuration.
(Invoking autoupdate): Be a subsection of
`Obsolete Constructs'.
(Upgrading): Demote from chapter to section.
Be a section of `Obsolete Constructs'.
Rename as `Autoconf 1'.
Akim Demaille [Fri, 26 May 2000 11:33:54 +0000 (11:33 +0000)]
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.
Akim Demaille [Fri, 26 May 2000 08:32:45 +0000 (08:32 +0000)]
* doc/autoconf.texi (Limitations of Usual Tools, Limitations of
Builtins): Integrate comments from Paul Eggert and Jim Meyering.
Add the sed limitation discovered by Philippe De Muyter.
Typo from Pavel Roskin.
Akim Demaille [Thu, 25 May 2000 07:49:39 +0000 (07:49 +0000)]
* 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.
Akim Demaille [Wed, 24 May 2000 15:46:12 +0000 (15:46 +0000)]
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.
Akim Demaille [Wed, 24 May 2000 14:39:24 +0000 (14:39 +0000)]
The night of the living dead...
* acspecific.m4 (AC_XENIX_DIR, AC_DYNIX_SEQ, AC_IRIX_SUN,
AC_SCO_INTL): Wake up a few zombies.
* doc/autoconf.texi: Adjust.
* tests/aclocal.m4 (AC_ENV_SAVE): Likewise.
Akim Demaille [Wed, 24 May 2000 14:22:39 +0000 (14:22 +0000)]
* 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.
Akim Demaille [Wed, 24 May 2000 13:14:13 +0000 (13:14 +0000)]
* acspecific.m4 (AC_FUNC_VFORK): Quote properly.
(AC_FUNC_STRFTIME, AC_FUNC_VFORK, AC_FUNC_VPRINTF): Don't use
AC_DEFINE, just use the AC_CHECK_*S macro.
Akim Demaille [Wed, 24 May 2000 13:00:34 +0000 (13:00 +0000)]
* 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.
Akim Demaille [Wed, 24 May 2000 12:18:35 +0000 (12:18 +0000)]
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'.