| This file (NEWS-future) lists incompatibility issues that may happen in a | |
| future Automake 2.0 release. | |
| However, the (few) current Automake maintainers have insufficient interest | |
| and energy to pursue the 2.0 release. We have not even reviewed all | |
| existing bugs. New maintainers and developers are needed! For more | |
| information about helping with Automake development: | |
| https://lists.gnu.org/archive/html/automake/2021-03/msg00018.html | |
| Therefore, there is no ETA for Automake 2.0, and it is not likely to be | |
| any time soon. So moving these future issues to a separate file seemed | |
| warranted. For more info, see the ./PLANS/ directory. | |
| * WARNING: Future backward-incompatibility! | |
| - Makefile recipes generated by Automake 2.0 will expect to use an | |
| 'rm' program that doesn't complain when called without any non-option | |
| argument if the '-f' option is given (so that commands like "rm -f" | |
| and "rm -rf" will act as a no-op, instead of raising usage errors). | |
| This behavior of 'rm' is widespread in the wild, and is required by | |
| POSIX as of 2024: | |
| <https://pubs.opengroup.org/onlinepubs/9799919799/utilities/rm.html> | |
| <https://austingroupbugs.net/view.php?id=542> | |
| Accordingly, AM_INIT_AUTOMAKE now expands some shell code that checks | |
| that the default 'rm' program in PATH satisfies this requirement, | |
| aborting the configure process if this is not the case. For the | |
| moment, it's still possible to force the configuration process to | |
| succeed even with a broken 'rm', but that will no longer be the case | |
| for Automake 2.0. | |
| - Automake 2.0 will require Autoconf 2.71 or later. Exact | |
| dependencies are unknowable at this time. | |
| - Automake 2.0 will drop support for the long-deprecated 'configure.in' | |
| name for the Autoconf input file. You are advised to start using the | |
| recommended name 'configure.ac' instead, ASAP. | |
| - The ACLOCAL_AMFLAGS special make variable will be fully deprecated in | |
| Automake 2.0: it will raise warnings in the "obsolete" category (but | |
| still no hard error of course, for compatibility with the many, many | |
| packages that still rely on that variable). You are advised to | |
| start relying on the new Automake support for AC_CONFIG_MACRO_DIRS | |
| instead (which was introduced in Automake 1.13). | |
| - Automake 2.0 will remove support for automatic dependency tracking | |
| with the SGI C/C++ compilers on IRIX. The SGI depmode has been | |
| reported broken "in the wild" already, and we don't think investing | |
| time in debugging and fixing is worthwhile, especially considering | |
| that SGI has last updated those compilers in 2006, and retired | |
| support for them in December 2013: | |
| <http://www.sgi.com/services/support/irix_mips_support.html> | |
| - Automake 2.0 will remove support for MS-DOS and Windows 95/98/ME | |
| (support for them was offered by relying on the DJGPP project). | |
| Note however that both Cygwin and MSYS/MinGW on modern Windows | |
| versions will continue to be fully supported. | |
| - Automake-provided scripts and makefile recipes might (finally!) | |
| start assuming a POSIX shell in Automake 2.0. There still is no | |
| certainty about this though: we'd first like to wait and see | |
| whether future Autoconf versions will be enhanced to guarantee | |
| that such a shell is always found and provided by the checks in | |
| ./configure. | |
| In 2020, config.guess was changed by its then-maintainer to require | |
| $(...); the ensuing bug reports and maintenance hassle | |
| (unfortunately the changes have not been reverted) are a convincing | |
| argument that we should not require a POSIX shell until Solaris 10, | |
| at least, is completely gone from the world. | |
| - Starting from Automake 2.0, third-party m4 files located in the | |
| system-wide aclocal directory, as well as in any directory listed | |
| in the ACLOCAL_PATH environment variable, will take precedence | |
| over "built-in" Automake macros. For example (assuming Automake | |
| is installed in the /usr/local hierarchy), a definition of the | |
| AM_PROG_VALAC macro found in '/usr/local/share/aclocal/my-vala.m4' | |
| should take precedence over the same-named automake-provided macro | |
| (defined in '/usr/local/share/aclocal-2.0/vala.m4'). | |
| ----- | |
| Copyright (C) 1995-2026 Free Software Foundation, Inc. | |
| This program is free software; you can redistribute it and/or modify | |
| it under the terms of the GNU General Public License as published by | |
| the Free Software Foundation; either version 2, or (at your option) | |
| any later version. | |
| This program is distributed in the hope that it will be useful, | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| GNU General Public License for more details. | |
| You should have received a copy of the GNU General Public License | |
| along with this program. If not, see <https://www.gnu.org/licenses/>. |