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'.
Akim Demaille [Tue, 23 May 2000 14:50:43 +0000 (14:50 +0000)]
Modernize AC_EXEEXT and AC_OBJEXT.
Now work with other languages than C and C++.
* acspecific.m4 (AC_EXEEXT, AC_OBJEXT): Use
AC_COMPILE_IFELSE/AC_LINK_IFELSE and AC_LANG_PROGRAM instead of
ad hoc code.
Use `$ac_ext' instead of listing `.c', `.C' etc.
Use AC_CACHE_CHECK.
* doc/autoconf.texi (System Services): Adjust.
Akim Demaille [Tue, 23 May 2000 14:47:33 +0000 (14:47 +0000)]
Simplify the interface: users shouldn't need to explicitly check
for special environments.
* acspecific.m4 (AC_CYGWIN, AC_EMXOS2, AC_MINGW32): AU defined to
nothing. Replace them by...
(_AC_CYGWIN, _AC_EMXOS2, _AC_MINGW32): these, which are
automatically called by...
(AC_EXEEXT): this.
* doc/autoconf.texi (System Services, Obsolete Macros): Adjust.
Akim Demaille [Tue, 23 May 2000 14:15:27 +0000 (14:15 +0000)]
* doc/autoconf.texi (Exiting from Shell Scripts): Move contents
into...
(Limitations of Builtins): this new node.
Document limitations of `exit', `export' and `case'.
Welcome the documentation of `test' from...
(Limitations of Usual Tools): here.
Akim Demaille [Tue, 23 May 2000 09:52:05 +0000 (09:52 +0000)]
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.
Akim Demaille [Mon, 22 May 2000 15:31:54 +0000 (15:31 +0000)]
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/.
Akim Demaille [Mon, 22 May 2000 13:31:00 +0000 (13:31 +0000)]
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.
Akim Demaille [Mon, 22 May 2000 10:29:46 +0000 (10:29 +0000)]
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/.
Akim Demaille [Mon, 22 May 2000 08:46:23 +0000 (08:46 +0000)]
* acspecific.m4 (AC_FUNC_CHOWN): New macro, based on Jim
Meyering's `chown.m4' serial 4.
(AC_FUNC_GETGROUPS): New macro, based on Jim Meyering's
`getgroups.m4' serial 3.
(AC_FUNC_MEMCMP): Updated, based on Jim Meyering's `memcmp.m4'
serial 3.
(AC_FUNC_MALLOC): New macro, based on Jim Meyering's
`malloc.m4' serial 3.
(AC_FUNC_MMAP): Include `stdlib.h' when `STDC_HEADERS'.
* acfunctions: Sort.
Add `chown' and `malloc', point `getgroups' to `AC_FUNC_GETGROUPS'
instead of `AC_TYPE_GETGROUPS'.
* doc/autoconf.texi (Particular Functions): Adjust.
Akim Demaille [Mon, 22 May 2000 08:05:40 +0000 (08:05 +0000)]
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.
Akim Demaille [Fri, 19 May 2000 13:16:06 +0000 (13:16 +0000)]
* 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.
Akim Demaille [Fri, 19 May 2000 13:07:13 +0000 (13:07 +0000)]
* 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.
Akim Demaille [Fri, 19 May 2000 12:55:02 +0000 (12:55 +0000)]
* aclang.m4 (AC_PROG_CC_GNU, AC_PROG_CXX_GNU, AC_PROG_F77_GNU):
Rename as:
(_AC_PROG_CC_GNU, _AC_PROG_CXX_GNU, _AC_PROG_F77_GNU): these.
Compute the value of GCC, GXX and G77 here.
Set to `no' (instead of empty) if not the GNU compiler.
(AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Adjust.
* doc/autoconf.texi: Adjust.
Akim Demaille [Fri, 19 May 2000 12:40:45 +0000 (12:40 +0000)]
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.
Akim Demaille [Fri, 19 May 2000 12:20:41 +0000 (12:20 +0000)]
* 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
Akim Demaille [Fri, 19 May 2000 12:11:47 +0000 (12:11 +0000)]
* 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.
Akim Demaille [Fri, 12 May 2000 11:29:07 +0000 (11:29 +0000)]
* doc/autoconf.texi (Invoking config.status): Move the
documentation of the envvar CONFIG_(FILES, HEADERS, COMMANDS,
LINKS) to
(Obsolete config.status Use): here.
Akim Demaille [Thu, 11 May 2000 16:56:13 +0000 (16:56 +0000)]
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.
Akim Demaille [Thu, 11 May 2000 15:45:34 +0000 (15:45 +0000)]
The Associated Rewriters are even prouder to present...
.
|
|
/-+ / + )===( U T O U P D A T E I V
// \
=========
_//_ _\_ The ``Eiffel Tower'' Release
* autoupdate.sh: Complete rewrite. See that file for a detailed
explanation. Basically, simulate the name spaces thanks to
`autoconf --trace' and auxiliary files.
No longer use `autoupdate.m4', remove the dependencies.
Synchronize the options and `--help'.
* doc/autoconf.texi (Invoking autoupdate): Humanoupdate.
* autoupdate.m4: Delete.
* tests/Makefile.am (FILTER_MACROS): Add `AC_OUTPUT'.
Since `AC_OUTPUT' is now AU_DEFUN'd, it is extracted for testing,
while it was not before.
* tests/tools.m4 (autoupdate): Re-enable. Adjust the expected
output with the right quotation (yeah!).
Pass `-m $top_srcdir': autoupdate want the `.m4' files, not the
frozen files.
* Makefile.am (nodistpkgdataDATA): Move `acversion.m4' to
(distpkgdataDATA): here, so that all the `.m4' files are in the
source hierarchy, not split across src and build.
* acversion.m4.in: Update to today's standards.
* Makefile.am: Adjust.