Go to file
Jim Meyering 68fac90c09 AC_FUNC_ALLOCA: fix a misplaced (now fatal) closing "fi"
"autoconf quoting is a pain"
* lib/autoconf/functions.m4 (AC_FUNC_ALLOCA): Its AC_CACHE_CHECK
contains an if/else block, but the closing "fi" lay just after its ")".
Before, this error didn't trigger any failure because the if/else code was
in the "else" block of AC_CACHE_CHECK's AS_IF invocation and AS_IF was also
implemented using an if..fi block. So the ostensibly-"outer" "fi" provided
by AS_IF matched the inner "if/else", and that stray-after-end "fi" served
to close the AS_IF block. However, when AS_IF switched from if..fi to
case..esac, this became a nesting error: no matching "fi".
Initially-harmless error introduced by v2.69-52-gfd29dbd7 in 2012.
Error exposed by v2.72a-30-gc8d6d6eb.
* tests/mktests.pl (scan_m4_files): Do not elide direct test
of AC_FUNC_ALLOCA.

FTR, here's the list of macros whose direct tests were being suppressed:
AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_CANONICAL_TARGET
AC_CHECK_INCLUDES_DEFAULT AC_DISABLE_OPTION_CHECKING
AC_ERLANG_NEED_ERL AC_ERLANG_NEED_ERLC AC_ERLANG_SUBST_ERTS_VER
AC_ERLANG_SUBST_INSTALL_LIB_DIR AC_ERLANG_SUBST_LIB_DIR AC_F77_DUMMY_MAIN
AC_F77_LIBRARY_LDFLAGS AC_FC_DUMMY_MAIN AC_FC_LIBRARY_LDFLAGS
AC_FUNC_ALLOCA AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK AC_GNU_SOURCE
AC_HEADER_DIRENT AC_HEADER_SYS_WAIT AC_PATH_X AC_PROG_CPP AC_PROG_CXX
AC_PROG_CXXCPP AC_PROG_F77 AC_PROG_FC AC_PROG_GO AC_PROG_GREP
AC_PROG_OBJC AC_PROG_OBJCPP AC_PROG_OBJCXX AC_PROG_OBJCXXCPP
AC_STRUCT_TM AC_TYPE_GETGROUPS AC_TYPE_LONG_LONG_INT AC_TYPE_MBSTATE_T
AC_TYPE_PID_T AC_TYPE_SIZE_T AC_TYPE_UID_T AC_TYPE_UNSIGNED_LONG_LONG_INT
AC_USE_SYSTEM_EXTENSIONS
2022-06-27 21:39:24 -07:00
bin make update-copyright 2022-05-19 13:57:38 -07:00
build-aux make update-copyright 2022-05-19 13:57:38 -07:00
doc Improve regex documentation 2022-06-22 00:35:59 -05:00
lib AC_FUNC_ALLOCA: fix a misplaced (now fatal) closing "fi" 2022-06-27 21:39:24 -07:00
m4 make update-copyright 2022-05-19 13:57:38 -07:00
man make update-copyright 2022-05-19 13:57:38 -07:00
tests AC_FUNC_ALLOCA: fix a misplaced (now fatal) closing "fi" 2022-06-27 21:39:24 -07:00
.gitattributes maint: don't sync elisp-comp or missing from gnulib 2012-06-27 16:59:21 -06:00
.gitignore Update .gitignore for move of version.m4. 2021-10-03 18:15:20 -04:00
.prev-version trunk post-release administrivia 2021-01-28 17:54:10 -05:00
.x-update-copyright make update-copyright 2021-01-28 15:19:21 -05:00
AUTHORS make update-copyright 2022-05-19 13:57:38 -07:00
bootstrap make update-copyright 2022-05-19 13:57:38 -07:00
BUGS make update-copyright 2022-05-19 13:57:38 -07:00
cfg.mk make update-copyright 2022-05-19 13:57:38 -07:00
ChangeLog.0 Prefer HTTPS to FTP and HTTP 2017-09-16 17:48:51 -07:00
ChangeLog.1 Prefer HTTPS to FTP and HTTP 2017-09-16 17:48:51 -07:00
ChangeLog.2 Prefer HTTPS to FTP and HTTP 2017-09-16 17:48:51 -07:00
ChangeLog.3 maint: update URLs 2017-09-23 12:49:23 -07:00
configure.ac make update-copyright 2022-05-19 13:57:38 -07:00
COPYING Update links in COPYING, COPYINGv3, and COPYING.EXCEPTION. 2020-07-10 16:43:22 -04:00
COPYING.EXCEPTION Update links in COPYING, COPYINGv3, and COPYING.EXCEPTION. 2020-07-10 16:43:22 -04:00
COPYINGv3 Update links in COPYING, COPYINGv3, and COPYING.EXCEPTION. 2020-07-10 16:43:22 -04:00
GNUmakefile make fetch 2021-01-28 15:21:49 -05:00
HACKING make update-copyright 2022-05-19 13:57:38 -07:00
maint.mk make fetch 2021-01-28 15:21:49 -05:00
Makefile.am make update-copyright 2022-05-19 13:57:38 -07:00
NEWS make update-copyright 2022-05-19 13:57:38 -07:00
README make update-copyright 2022-05-19 13:57:38 -07:00
README-alpha make update-copyright 2022-05-19 13:57:38 -07:00
README-hacking make update-copyright 2022-05-19 13:57:38 -07:00
THANKS make update-copyright 2022-05-19 13:57:38 -07:00
TODO make update-copyright 2022-05-19 13:57:38 -07:00

-*- text -*-

Autoconf

Autoconf is an extensible package of M4 macros that produce shell
scripts to automatically configure software source code packages.
These scripts can adapt the packages to many kinds of UNIX-like
systems without manual user intervention.  Autoconf creates a
configuration script for a package from a template file that lists the
operating system features that the package can use, in the form of M4
macro calls.

Producing configuration scripts using Autoconf requires GNU M4 and
Perl.  You should install GNU M4 (version 1.4.6 or later is required;
1.4.14 or later is recommended) and Perl (5.006 or later) before
configuring Autoconf, so that Autoconf's configure script can find
them.  The configuration scripts produced by Autoconf are
self-contained, so their users do not need to have Autoconf (or GNU
M4, Perl, etc.).

You can get GNU M4 here:

https://ftp.gnu.org/gnu/m4/

The file INSTALL should be distributed with packages that use
Autoconf-generated configure scripts and Makefiles that conform to the
GNU coding standards.  The package's README can just give an overview
of the package, where to report bugs, and a pointer to INSTALL for
instructions on compilation and installation.  This removes the need
to maintain many similar sets of installation instructions.

Be sure to read BUGS and INSTALL.

Mail suggestions to autoconf@gnu.org, report bugs to
bug-autoconf@gnu.org, and submit patches to autoconf-patches@gnu.org.
All changes can be tracked at the read-only autoconf-commit@gnu.org.
Always include the Autoconf version number, which you can get by
running 'autoconf --version'.  Archives of bug-autoconf@gnu.org can be
found in <https://lists.gnu.org/archive/html/bug-autoconf/>, and
similarly for the other mailing lists.

Licensing
=========
Autoconf is released under the General Public License version 3 (GPLv3+).
Additionally, Autoconf includes a licensing exception in some of its
source files; see the respective copyright notices for how your
project is impacted by including scripts generated by Autoconf, and the
COPYING.EXCEPTION file for the exception in terms of the Additional
Permissions as described in section 7 of GPLv3.

For more licensing information, see
<https://www.gnu.org/licenses/gpl-faq.html> and
<https://www.gnu.org/licenses/exceptions.html>.

For any copyright year range specified as YYYY-ZZZZ in this package
note that the range specifies every single year in that closed interval.

GNU Project notice
==================
Autoconf is part of the GNU Operating System, developed by the GNU Project.

If you are the author of an awesome program and want to join us in
writing Free (libre) Software, please consider making it an official
GNU program and become a GNU Maintainer.  Instructions on how to do
this are here:
  https://www.gnu.org/help/evaluation

Don't have a program to contribute?  Look at all the other ways to help:
  https://www.gnu.org/help/help.html

And to learn more about Free (libre) Software in general, please read
and share this page:
  https://gnu.org/philosophy/free-sw.html

We are looking forward to hacking with you!

-----

Copyright (C) 1992-1994, 1998, 2000-2017, 2020-2022 Free Software
Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.  This file is offered as-is,
without warranty of any kind.