Akim Demaille [Tue, 5 Oct 1999 09:41:02 +0000 (09:41 +0000)]
1999-10-05 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
Shell meta characters in an argument causes the configure script
to freak out and generate a config.status file that contains
syntax errors.
Bug triggered by ./configure --with-foobar=\''`"$'.
* acgeneral.m4 (AC_INIT_PARSE_ARGS): Quote single quotes that end
up between single quotes. Protect arguments of echo with double
quotes.
(AC_INIT_PREPARE): Likewise.
(AC_PATH_PROG): Protect argument of test.
(AC_OUTPUT): Quote meta characters in ac_configure_args.
Akim Demaille [Tue, 5 Oct 1999 09:03:05 +0000 (09:03 +0000)]
1999-10-05 Akim Demaille <akim@epita.fr>
The sed quoting script depends on the shape of the commands used
by AC_SUBST. The latter was changed, but not the former.
Bug triggered with FOO='%\c' AC_SUBST(FOO).
* acgeneral.m4 (AC_OUTPUT_FILES): Fix the sed quoting script.
Akim Demaille [Tue, 5 Oct 1999 08:48:23 +0000 (08:48 +0000)]
1999-10-05 Akim Demaille <akim@epita.fr>
When you rely on the `t' flag of sed for the immediately
preceding substitution, use a combination of `: foo; t foo'.
Additionally, work around a bug in IRIX sed.
Suggested by Ken Pizzini.
* acgeneral.m4 (AC_OUTPUT_HEADER): Added a label and a test in the
sed code of `$ac_cs_root.hdr'.
Akim Demaille [Tue, 5 Oct 1999 08:10:15 +0000 (08:10 +0000)]
1999-10-05 Akim Demaille <akim@epita.fr>
Handle arbitrary version numbers.
Reported by H.J. Lu.
* acgeneral.m4 (m4_split): Support a second optional argument: a
regexp to specify where to split.
(m4_compare): New macro, compares arbitrary long m4 lists of
integers.
(AC_PREREQ_SPLIT, AC_PREREQ_CANON, AC_PREREQ_COMPARE): Removed,
replaced by more generic macros.
(AC_PREREQ): Reimplemented, using m4_compare and m4_split.
Akim Demaille [Mon, 4 Oct 1999 08:19:57 +0000 (08:19 +0000)]
1999-10-01 Akim Demaille <akim@epita.fr>
Make the handling of the configuration links (AC_LINK_FILES)
exactly the same as that of configurations files (AC_OUTPUT_FILES)
and headers (AC_CONFIG_HEADERS). As a result, it is sane to run
./config.status src/libmy_lib
or
CONFIG_LINKS=src/lib_mylib:lib/lib_mylib ./config.status
* acgeneral.m4 (AC_LINK_FILES): Use AC_FATAL to diagnose bad
number of argument.
Obsoleted (but implemented) in favor of AC_CONFIG_LINKS.
* acgeneral.m4 (AC_CONFIG_LINKS): New macro. Takes space
separated list of DEST:SOURCES arguments.
* acgeneral.m4: Rename each occurence of AC_LIST_HEADER as
AC_LIST_HEADERS for consistency.
* acgeneral.m4 (AC_OUTPUT, config.status prologue): Move the
definition of config_files and config_headers to the top.
Add the definition of config_links.
Change the help message to use the aforementioned variables.
* acgeneral.m4 (AC_OUTPUT_LINKS): Adapted to the new scheme of
AC_LIST_LINKS.
Akim Demaille [Mon, 4 Oct 1999 08:19:04 +0000 (08:19 +0000)]
1999-10-01 Akim Demaille <akim@epita.fr>
Moving most of the task of creating config.h.in from sh to m4.
Getting rid of acconfig.h by supply a major new family of macros:
AH_* which make it possible to insert arbitrary text into
config.h.in.
* autoheader.m4: Major rewrite: introduction of a set of macros
AH_ that produce code into config.h.in. There are two sets of
macros: generic macros, or specialized, documented below. The
basic idea is that an AC_FOO macro which needs an entry in
config.h.in should have a sibling AH_FOO which expands into that
entry. In a near future, these macros will be moved next to their
siblings.
* autoheader.m4 (End section): Bind AC_ macros to their
AH_siblings.
* autoheader.sh: Remove the sections in charge of SYMS, TYPES,
FUNCS, HEADERS, LIBS and DECLS: autoheader.m4 is now in charge of
these.
* autoheader.sh (options): Added -d, --debug, which does not
remove the temporary files.
* autoheader.sh: Instead of redirecting stdout to the output
stream, always output to a temporary file. This allows to change
slightly the consistency check: before autoheader would check that
each non documented AC_DEFINE is templated in an acconfig. Now it
just checks whether the template is in the output file.
* acconfig.h: Completely emptied, the remaining templates
(_ALL_SOURCE, __CHAR_UNSIGNED__, F77_FUNC, F77_FUNC_,
HAVE_STRINGIZE, and STACK_DIRECTION) are now either associated to
their AC_DEFINE, or to one of the new AH_ macros.
* acgeneral.m4: Reordering of the m4 macros which are not specific
to Autoconf.
* acgeneral.m4 (AC_HAVE_LIB): Promoted from obsolete to hasbeen.
* acgeneral.m4 (AC_TR_CPP): Fixed quoting problem, and missing ^
in patsubst.
(AC_TR_SH): Fixed quoting problem.
Akim Demaille [Fri, 1 Oct 1999 12:34:27 +0000 (12:34 +0000)]
Merged the trunk
(tag: trunk-pre-merge-trunk-into-experimental-1999-10-01)
into the experimental branch
(tag:experimental-pre-merge-trunk-into-experimental-1999-10-01).
Result is tagged
experimental-post-merge-trunk-into-experimental-1999-10-01.
* acgeneral.m4 (AC_HASBEEN): New macro. Same as AC_OBSOLETE, but
dies.
* acspecific.m4 (AC_UNISTD_H, AC_USG, AC_MEMORY_H, AC_INT_16_BITS,
AC_LONG_64_BITS): Promoted from obsolete to hasbeen.
* autoheader.m4 (AC_DEFINE_UNQUOTED): Define via AC_DEFINE, so
that we program things only once.
(AC_DEFINE): Use AC_WRAP and _AC_SH_QUOTE. It is now safe to have
backquotes and extra spaces in the third argument, without
yielding a bad result.
* autoheader.m4: Instead of a huge `eval', use a temporary file.
(option handling): Added --debug, to keep the temporary files.
Fixed a couple of missing quotes.
* acgeneral.m4 (AC_NEED_DECL): When $4 is given, don't provide
defaults headers.
Change the message from `have' to `need'.
Change the actions for `if-(not-)found' to `if-(not-)needed.
Remove trailing parentheses.
* acgeneral.m4 (AC_NEED_DECLS): Change the actions for
`if-(not-)found' to `if-(not-)needed.
Define NEED_DECL_foo, instead of NEED_foo_DECL.
* acgeneral.m4 (AC_OUTPUT): Divert AC_OUTPUT_FILE to
AC_DIVERSION_KILL if there are no CONFIG_FILES.
(AC_OUTPUT, ac_cs_usage): Output the list of files to instanciate
only if there are.
* acgeneral.m4 (AC_WRAP): Rewritten.
(AC_HELP_STRING): Wrapper of AC_WRAP.
* acgeneral.m4 (_AC_SH_QUOTE): Rewritten. Don't try to handle
both backslashed and non backslashed backquotes in a single
string: consider that either all the backquotes are quoted, or
none.
1999-09-26 Akim Demaille <akim@epita.fr>
* acgeneral.m4 (AC_PATH_PROG): Use a single case statement for
Unix and DOS absolute paths.
* acgeneral.m4 (AC_CHECK_SIZEOF): Fix a typo.
Allow a third default argument: extra headers.
* autoconf.texi (C Compiler Characteristics): Document.
* acgeneral.m4 (AC_CHECK_TYPE): Convert to the AC_VAR_* family.
Allow a third optional argument: extra includes.
* autoconf.texi (Generic Typedefs): Documents.
1999-09-25 Akim Demaille <akim@epita.fr>
* acgeneral.m4 (AC_OUTPUT, handling of options): Make it possible
to specify the files to configure on the command line instead of
via envvars. Document it.
1999-09-25 Akim Demaille <akim@epita.fr>
* acgeneral.m4: Rename the occurences of the variable `confstat'
as `ac_cs_root'. The previous name was breaking the naming
scheme.
1999-09-23 Pavel Roskin <pavel_roskin@geocities.com>
Avoid that comments from aclocal.m4 show up in configure when
using AC_REVISION.
* acgeneral.m4: New diversion levels AC_DIVERSION_KILL and
AC_DIVERSION_BINSH introduced. Use AC_DIVERSION_KILL as the
initial value for AC_DIVERSION_CURRENT.
(AC_INIT_BINSH): Set AC_DIVERSION_BINSH explicitly
(AC_REVISION): Likewise.
(AC_INIT): Set AC_DIVERSION_NOTICE when calling AC_INIT_NOTICE.
1999-09-22 Akim Demaille <akim@epita.fr>
* install.texi: Give emore details on envvar handling.
* acgeneral.m4 (AC_HELP_STRING): Add a third argument to tune the
width of the first column.
(AC_INIT_NOTICE): Initialize ac_arg_enable_help, ac_arg_with_help,
and ac_arg_var_help.
* acgeneral.m4 (AC_INIT_PARSE_ARGS): Remove the handling of
--env-var=. After debate, the solution chosen to specify envvars
to configure is a` la make: ./configure VAR=VAL.
(AC_INIT_PARSE_ARGS, --help): Output ac_arg_enable_help,
ac_arg_with_help, and ac_arg_var_help.
* acgeneral.m4 (AC_ARG_VAR): New macro, to register and document
influent envvars.
* acspecific.m4 (AC_PROG_CC): Document CFLAGS.
This is mainly to test AC_ARG_VAR. Var to document are to be
defined.
* acgeneral.m4 (AC_CHECK_HEADER): Use AC_VAR_*.
(AC_CHECK_HEADERS): Adapted.
* acgeneral.m4 (AC_TR): Remove, it is useless.
(AC_TR_CPP): Updated version of formerly AC_TR_DEFINE, based on
the model of AC_TR_SH.
All callers changed.
* autoconf.sh (Checking for Bugs): Remove the indirection that
made the `sort -u' useless.
1999-09-21 Akim Demaille <akim@epita.fr>
* autoconf.sh (Last sed cmd): Change also @PND@ to `#', since this
is also a symbol very hard to quote in m4.
* acgeneral.m4 (AC_CHECK_LIB): Use AC_VAR_*.
* acgeneral.m4: Use `m4_BUILTIN' instead of indirection via
`builtin'.
1999-09-21 Akim Demaille <akim@epita.fr>
* autoconf.texi (Particular Structures): Move documentation of
AC_HEADER_STAT and AC_HEADER_TIME from here...
(Particular Headers): to here.
(Declarations): New section.
(Particular Headers): Move doc of AC_DECL_SYS_SIGLIST from here...
(Particular Declarations): to here.
1999-09-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* acgeneral.m4 (AC_CHECK_FUNC_DECL, AC_CHECK_FUNC_DECLS): New
macros.
* autoheader.m4: Add support for AC_CHECK_FUNC_DECLS.
* autoheader.sh: Likewise.
1999-09-21 Akim Demaille <akim@epita.fr>
* acgeneral.m4 (AC_SHELL_IFELSE): New macro.
(AC_VAR_IF_SET): Use it.
(AC_CHECK_FUNC): Likewise.
* Makefile.in (${srcdir}/configure): Use autoconf.sh to build
Autoconf's configure. Before the building was performed running
m4 at hand, but much was not done (e.g., __oline__,
@BKL@... expansion)
* acgeneral.m4 (AC_OUTPUT): Change the root of filenames of
config.status from $conftest to $confstat.
The previous patch to make config.status reentrant was wrong,
because it changed some `conftest' that are used by configure into
`$conftest', while it was for config.status only. To avoid
another confusion like this, all the filenames of config.status
should be `$confstat*', and those of configure should be
`conftest*'.
(AC_OUTPUT): Rename the uses of `ac_file' for the sed fragments as
`ac_sed_frag'.
* acgeneral.m4 (AC_OUTPUT): This macro used to open the here
documents that configure uses to generate config.status, included
that of the submacros. Now, it no longer handles the here
documents for its subroutines (it was far to hard to track).
(AC_OUTPUT_FILES): Open and close your here documents to
$CONFIG_STATUS.
(AC_OUTPUT_HEADER): Likewise.
(AC_OUTPUT_LINKS): Likewise.
* acgeneral.m4 (AC_OUTPUT_FILES): Move $ac_vpsub and $extrasub
from the AC_SUBST substitutions (i.e., that of @SHELL@ etc.) to
the specific section (that of @srcdir@ etc.).
Now the ``general substitution'' section is absolutely uniform.
* acgeneral.m4 (AC_SUBST): Change sed call from `s%@from@%to%g'
into `s%@from@%to%;t t'.
(AC_SUBST_FILE): Likewise.
(AC_OUTPUT_FILES): Optimize the sed scripts by branching if there
are no `@' on the line. Impressive speed up.
* acgeneral.m4 (AC_CHECK_FILE): Use ifset.
(AC_CHECK_FUNC): Updated to use AC_VAR_*, and AC_CACHE_CHECK.
(AC_CHECK_SIZEOF): Likewise.
(AC_CACHE_CHECK): Use AC_MSG_RESULT_UNQUOTED.
(AC_MSG_RESULT_UNQUOTED): New macro.
* acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): Don't assume LF is 012,
use `echo` followed by a non-blank, within quotes.
* autoheader.sh (syms): Likewise.
* configure: Rebuilt.
Reported by Christian Krone <krischan@sql.de>
* acgeneral.m4 (AC_HELP_STRING): Rewrite in m4. Have m4 work, and
give a break to sh.
(_AC_FOREACH): Be careful not to evaluate the arguments. A loop
over *quoted* macro names should loop over the macro names, not
upon their expansion.
(_AC_COMMATIZE): Also swallow end of lines.
* autoconf.texi (Pretty Help Strings): Updated to reflect the
changes.
1999-09-13 Akim Demaille <akim@epita.fr>
* acgeneral.m4 (ifset): New helpy tiny macro.
(AC_OUTPUT): Improved --help of config.status.
(AC_OUTPUT): Remove inconditionaly all the files to be updated.
(AC_OUTPUT): Use pid to define the temporary file names in order
to allow parallel builds.
* autoconf.sh: Substitute also /@BKL@/[/ /@BKR@/]/ /@DLR@/$/ so
that these characters are more easily accessible from m4 without
turning changequote juggling into a nightmare.
* acgeneral.m4 (AC_WRAP): New macro, for word wrapping.
* autoconf.texi: Update the direntry for more modern Texinfos.
Add pointer to configure and config.status.
Remove the dots from the menus: horizontal space is precious.
(Invoking config.status): More traditional presentation of the options.
* acgeneral.m4 (AC_ACVERSION): Bump to 2.14.1 to differenciate the
experimental branch from the main trunk.
* acgeneral.m4 (AC_FOREACH_COMMA): New macro, to perform m4 loops
on m4 lists (i.e., list='(item_1, item_2, ..., item_n)').
(AC_FOREACH): New macro, to perform m4 loops on shell lists (i.e.,
list='item_1 item_2 ... item_n').
* acgeneral.m4 (AC_DEFUN): Now accept two other optionnal
parameters: the name of the macro which is specialized here, and
the name of the first argument. For instance `AC_CHECK_FNMATCH'
should be declared as specializing `AC_CHECK_FUNC' for `fnmatch'
as first argument.
* acgeneral.m4 (AC_CHECK_FILES): Use AC_FOREACH for looping,
instead of the shell's loop.
* acgeneral.m4 (AC_TR): In addition to transliteration, provide a
mean to specify the valid destination alphabet and a default
character for aliens characters. This is in order to remove
characters such as `+:-' etc. that may appear in file names,
but are not valid for shell variables or #defines.
(AC_TR_DEFINE): New macro, maps anything to a valid uppercase
#define rhs.
(AC_TR_UPCASE_NAME): Replaced by AC_TR_DEFINE. All callers
changed.
(AC_TR_UPCASE_FILE): Likewise.
* acgeneral.m4 (AC_TR_SH): Don't use the generic AC_TR: there is a
difficult problem of quoting between m4 and sh. Use the variable
$ac_tr_sh to work around this difficulty.
(AC_VAR_TEST_SET): New macro, which tests if a variable is set.
(AC_VAR_IF_SET): New `ifelse' macro.
(AC_CACHE_VAL): Use AC_VAR_IF_SET.
(AC_INIT_NOTICE): Define $ac_tr_sh.
* acgeneral.m4 (AC_CHECK_FILE): Converted to use AC_TR and AC_VAR
families.
* acgeneral.m4: Fixed the regular expressions: `$' shall not be
portably in a sed \(\) group.
(Particular Programs): Document new optional argument to AC_PROG_CC,
AC_PROG_CXX and AC_PROG_F77. Document additions to the Fortran 77
compiler search list.
(AC_PROG_CC): Remove uname test for win32/Cygwin, and just test for `cl'
as a last resort.
(AC_PROG_F77): Add more Fortran 77 compilers to the search list.
Contributed by Steven G. Johnson <stevenj@alum.mit.edu>.
(AC_PROG_CC): Likewise.
(AC_PROG_CXX): Likewise.
(AC_PROG_F77): Add an optional first argument which gives the user an
opportunity to specify an alternative search list for the compiler.
(AC_F77_LIBRARY_LDFLAGS): New implementation, to make maintenance
easier.
Grep the initial output so that we don't start parsing "-l" and "-L" too
early. From Christopher Lee <chrislee@ri.cmu.edu>
Add, and use throughout Autoconf, the following useful m4 macros
contributed by Akim Demaille <demaille@inf.enst.fr>:
AC_TR
AC_TR_UPCASE_NAME
AC_TR_UPCASE_FILE
AC_TR_SH
_AC_SH_QUOTE
_AC_MESSAGE
AC_WARNING
AC_FATAL
AC_VAR_IF_INDIR
(AC_PREFIX_PROGRAM): Use macros of the AC_TR_ family.
(AC_HAVE_LIBRARY): Likewise.
(AC_CHECK_FUNCS): Likewise.
(AC_CHECK_FILES): Likewise.
(AC_CHECK_SIZEOF): Likewise.
(AC_TR): New macro which performs transliteration by m4 when possible,
or by `tr' at configure time.
(AC_TR_UPCASE_NAME): New macro, transliteration 'a-z' to 'A-Z'.
(AC_TR_UPCASE_FILE): New macro, transliteration 'a-z./-' to 'A-Z___'.
(AC_TR_SH): New macro, transliteration to valid sh var name.
(_AC_SH_QUOTE): New macro which protects non protected backquotes
against shell expansion.
(AC_MSG_CHECKING): Use it.
(AC_CHECKING): Use it.
(AC_MSG_RESULT): Use it.
(AC_VERBOSE): Use it.
(AC_MSG_WARN): Use it.
(AC_MSG_ERROR): Use it.
(_AC_MESSAGE): New macro to report message at m4 time.
(AC_WARNING): New macro to report warnings at m4 runtime.
(AC_FATAL): New macro, to report fatal error at m4 runtime.
(AC_VAR_IF_INDIR): New macro.
(AC_VAR_SET): Likewise.
(AC_VAR_GET): Likewise.
{f77-name-mangling} (AC_OUTPUT_MAKE_DEFS): Change sed regexps to
recognize CPP macros that take arguments. Reported, and based on a
patch, by Steven G. Johnson <stevenj@alum.mit.edu>.
(AC_OUTPUT_HEADER): Likewise.
{f77-name-mangling} (AC_F77_WRAPPERS): New macro to define the F77_FUNC
and F77_FUNC_ CPP macros to properly mangle the names of C identifiers
so that they match the name mangling scheme used by the Fortran 77
compiler.
(AC_F77_NAME_MANGLING): New macro to test for the name mangling scheme
used by the Fortran 77 compiler.
Ben Elliston [Sun, 16 May 1999 22:00:08 +0000 (22:00 +0000)]
1999-05-17 Ben Elliston <bje@cygnus.com>
Merge with the EGCS source tree.
* config.guess: Add detection for Interix and UWIN on Windows NT,
OpenBSD on PA-RISC and UnixWare version 7.x.
Improve usage of `tr' where sets are concerned.
Detect all HP 9000 machines.
Determine machine types more completely on older UnixWare systems.
Determine C library version on GNU/Linux for the PowerPC.
Tom Tromey [Thu, 22 Apr 1999 21:38:24 +0000 (21:38 +0000)]
1999-04-17 Paul Eggert <eggert@twinsun.com>
* autoconf.texi, acspecific.m4 (AC_FUNC_MKTIME): New macro.
taken from automake's AM_FUNC_MKTIME.
* acfunctions: mktime now belongs to AC_FUNC_MKTIME.
Ben Elliston [Sun, 11 Apr 1999 00:39:32 +0000 (00:39 +0000)]
1999-04-11 Pavel Roskin <pavel_roskin@geocities.com>
* autoheader.m4: Do not complain about using AC_TRY_RUN without a
cross-compilation action--only autoconf should do this.
Ben Elliston [Sat, 10 Apr 1999 21:10:58 +0000 (21:10 +0000)]
1999-02-10 Pavel Roskin <pavel_roskin@geocities.com>
* autoheader.m4: Do not complain about using AC_TRY_RUN without a
cross-compilation action--only autoconf should do this.
Ben Elliston [Sat, 10 Apr 1999 20:23:05 +0000 (20:23 +0000)]
1999-01-28 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* acspecific.m4 (AC_PROG_INSTALL): set INSTALL_SCRIPT to
${INSTALL} so that automake doesn't propogate install time flags
for INSTALL_PROGRAM into INSTALL_SCRIPT.
Ben Elliston [Sat, 10 Apr 1999 06:18:49 +0000 (06:18 +0000)]
1999-01-11 Akim Demaille <demaille@inf.enst.fr>
* autoreconf.sh (verbose): use either `:' or `echo'.
(aclocal_m4): Renamed from aclocal.
(aclocal_flags): New var.
Run aclocal using $aclocal_flags.
Redirect ls' stderr to /dev/null to avoid spurious messages.
Ben Elliston [Fri, 9 Apr 1999 21:44:01 +0000 (21:44 +0000)]
1999-04-10 Ben Elliston <bje@cygnus.com>
* mkinstalldirs: Add `-m' flag to specify the mode of a newly
created directory. Add command line usage and `-h', `--help'
options. Contributed by Jeff Garzik <jgarzik@pobox.com>.
Ben Elliston [Wed, 7 Apr 1999 23:59:09 +0000 (23:59 +0000)]
1999-04-08 Ben Elliston <bje@cygnus.com>
* acspecific.m4 (AC_PROG_CC): Try using the `cl' C compiler under
Cygwin. Contributed by Scott Stanton <stanton@scriptics.com>.
Ben Elliston [Mon, 5 Apr 1999 07:05:59 +0000 (07:05 +0000)]
1994-04-06 Ben Elliston <bje@cygnus.com>
* config.guess: Avoid the possibility of `ld' on GNU/Linux
systems being something other than the GNU linker (such as a
directory, in the case of GNU binutils).