mirror of
https://https.git.savannah.gnu.org/git/autoconf.git
synced 2026-01-26 15:03:22 +00:00
The shell variables $as_echo and $as_echo_n and the substitution variables @ECHO_C@, @ECHO_N@, and @ECHO_T@ are implementation details of the old implementation of AS_ECHO and AS_ECHO_N (2.69-era; before the switch to use ‘printf’). We continue to provide them for compatibility with various third-party macros and Makefiles that used them, even though, as far as I can tell, they were never documented. (Someone made ECHO_C etc. substitution variables on purpose, though.) For $as_echo and $as_echo_n, we can tell precisely when they are needed, because all uses are exposed to M4 macro expansion. Therefore, emit the necessary support code on first use and not from AS_INIT. As a side effect this means the -Wobsolete warning only appears on the first use of each, which IMHO is polite. For @ECHO_C@, @ECHO_N@, and @ECHO_T@, we have no way of knowing whether a substitution variable is used, but we *do* know that substitution variables are exclusively a configure.ac thing, so their support code can be moved to general.m4 and emitted from AC_INIT rather than from AS_INIT. (It’s faintly possible that someone decided to use $ECHO_C in an Autotest script but considering how rare it is for people to use Autotest at all, or any other non-Autoconf application of M4sh, I think we can worry about that when we hear about it.) * lib/m4sugar/m4sh.m4 (_AS_ECHO_N_PREPARE): Removed. (AS_PREPARE, _AS_PREPARE): Don’t use _AS_ECHO_N_PREPARE. (_as_echo_var_prepare, _as_echo_n_var_prepare): New macros which emit the -Wobsolete warning and the support code for $as_echo and $as_echo_n respectively. (as_echo, as_echo_n): Move to bottom of the block that sets up the current implementation of AS_ECHO. Invoke _as_echo_var_prepare and _as_echo_n_var_prepare, respectively, on first use. * lib/autoconf/general.m4 (_AC_INIT_ECHO_N): New internal macro, contains the probe code that used to be in _AS_ECHO_N_PREPARE. AC_SUBSTs ECHO_C, ECHO_N, and ECHO_T. (AC_INIT): Don’t AC_SUBST ECHO_C, ECHO_N, and ECHO_T here. Invoke _AC_INIT_ECHO_N.
-*- 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.8 or later is required; 1.4.16 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-2024 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.
Description
Languages
Roff
42.6%
M4
29.8%
TeX
12%
Perl
9.3%
Makefile
3.5%
Other
2.7%