https://github.com/libsdl-org/autoconf/commit/714eeee8723ac25ce5a01cb59c260fc98d0f67c9
From 714eeee8723ac25ce5a01cb59c260fc98d0f67c9 Mon Sep 17 00:00:00 2001
From: Eric Blake <[EMAIL REDACTED]>
Date: Wed, 20 Sep 2006 02:44:51 +0000
Subject: [PATCH] Avoid M4 1.6 warnings about deprecated option.
* config/m4.m4 (AC_PROG_GNU_M4): Check for m4 --debugfile support.
* bin/Makefile.am (edit): Substitute M4_DEBUGFILE.
* bin/autom4te.in (handle_m4): Favor --debugfile over misnamed
--error-output, to avoid warnings with M4 1.6.
(cherry picked from commit 8dc951191c1083fda547d74b95897fd8adb7c6b6)
---
ChangeLog | 8 ++++++++
bin/Makefile.am | 31 +++++++++++++++++--------------
bin/autom4te.in | 4 ++--
config/m4.m4 | 19 +++++++++++++++----
4 files changed, 42 insertions(+), 20 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 6b6b4807..354727a4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-09-19 Eric Blake <ebb9@byu.net>
+
+ Avoid M4 1.6 warnings about deprecated option.
+ * config/m4.m4 (AC_PROG_GNU_M4): Check for m4 --debugfile support.
+ * bin/Makefile.am (edit): Substitute M4_DEBUGFILE.
+ * bin/autom4te.in (handle_m4): Favor --debugfile over misnamed
+ --error-output, to avoid warnings with M4 1.6.
+
2007-12-12 Eric Blake <ebb9@byu.net>
Fix spurious testsuite failure with M4 1.4.11.
diff --git a/bin/Makefile.am b/bin/Makefile.am
index 378f7f98..b8675253 100644
--- a/bin/Makefile.am
+++ b/bin/Makefile.am
@@ -1,7 +1,9 @@
## Process this file with automake to create Makefile.in. -*-Makefile-*-
## Makefile for Autoconf.
-## Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+
+## Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008
+## 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
@@ -36,19 +38,20 @@ CLEANFILES = $(bin_SCRIPTS)
## ------------- ##
edit = sed \
- -e 's,@SHELL\@,$(SHELL),g' \
- -e 's,@PERL\@,$(PERL),g' \
- -e 's,@bindir\@,$(bindir),g' \
- -e 's,@datadir\@,$(pkgdatadir),g' \
- -e 's,@prefix\@,$(prefix),g' \
- -e 's,@autoconf-name\@,'`echo autoconf | sed '$(transform)'`',g' \
- -e 's,@autoheader-name\@,'`echo autoheader | sed '$(transform)'`',g' \
- -e 's,@autom4te-name\@,'`echo autom4te | sed '$(transform)'`',g' \
- -e 's,@M4\@,$(M4),g' \
- -e 's,@AWK\@,$(AWK),g' \
- -e 's,@VERSION\@,$(VERSION),g' \
- -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
- -e 's,@configure_input\@,Generated from $<; do not edit by hand.,g'
+ -e 's|@SHELL[@]|$(SHELL)|g' \
+ -e 's|@PERL[@]|$(PERL)|g' \
+ -e 's|@bindir[@]|$(bindir)|g' \
+ -e 's|@datadir[@]|$(pkgdatadir)|g' \
+ -e 's|@prefix[@]|$(prefix)|g' \
+ -e 's|@autoconf-name[@]|'`echo autoconf | sed '$(transform)'`'|g' \
+ -e 's|@autoheader-name[@]|'`echo autoheader | sed '$(transform)'`'|g' \
+ -e 's|@autom4te-name[@]|'`echo autom4te | sed '$(transform)'`'|g' \
+ -e 's|@M4[@]|$(M4)|g' \
+ -e 's|@M4_DEBUGFILE[@]|$(M4_DEBUGFILE)|g' \
+ -e 's|@AWK[@]|$(AWK)|g' \
+ -e 's|@VERSION[@]|$(VERSION)|g' \
+ -e 's|@PACKAGE_NAME[@]|$(PACKAGE_NAME)|g' \
+ -e 's|@configure_input[@]|Generated from $@.in; do not edit by hand.|g'
# autoconf is written in M4sh.
AUTOM4SH = $(top_builddir)/tests/autom4te --language M4sh --cache ''
diff --git a/bin/autom4te.in b/bin/autom4te.in
index b9386c4f..4312da29 100644
--- a/bin/autom4te.in
+++ b/bin/autom4te.in
@@ -448,7 +448,7 @@ sub handle_m4 ($@)
{
my ($req, @macro) = @_;
- # GNU m4 appends when using --error-output.
+ # GNU m4 appends when using --debugfile/--error-output.
unlink ($tcache . $req->id . "t");
# Run m4.
@@ -461,7 +461,7 @@ sub handle_m4 ($@)
. join (' --include=', '', @include)
. ' --debug=aflq'
. (!exists $ENV{'AUTOM4TE_NO_FATAL'} ? ' --fatal-warning' : '')
- . " --error-output=$tcache" . $req->id . "t"
+ . " @M4_DEBUGFILE@=$tcache" . $req->id . "t"
. join (' --trace=', '', sort @macro)
. " " . files_to_options (@ARGV)
. ' </dev/null'
diff --git a/config/m4.m4 b/config/m4.m4
index 7c9145e0..69257aa2 100644
--- a/config/m4.m4
+++ b/config/m4.m4
@@ -1,4 +1,4 @@
-# Copyright 2000 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2006, 2008 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
@@ -18,12 +18,23 @@
# AC_PROG_GNU_M4
# --------------
# Check for GNU m4, at least 1.3 (supports frozen files).
+# Also, check whether --error-output (through 1.4.x, but warns in 1.6)
+# or --debugfile (since 1.4.7) is supported, and AC_SUBST M4_DEBUGFILE.
AC_DEFUN([AC_PROG_GNU_M4],
-[AC_PATH_PROGS(M4, gm4 gnum4 m4, m4)
-AC_CACHE_CHECK(whether m4 supports frozen files, ac_cv_prog_gnu_m4,
+[AC_PATH_PROGS([M4], [gm4 gnum4 m4], [m4])
+AC_CACHE_CHECK([whether m4 supports frozen files], [ac_cv_prog_gnu_m4],
[ac_cv_prog_gnu_m4=no
if test x"$M4" != x; then
case `$M4 --help < /dev/null 2>&1` in
*reload-state*) ac_cv_prog_gnu_m4=yes ;;
esac
-fi])])
+fi])
+if test $ac_cv_prog_gnu_m4 = yes ; then
+ AC_CACHE_CHECK([how m4 supports trace files], [ac_cv_prog_gnu_m4_debugfile],
+[case `$M4 --help < /dev/null 2>&1` in
+ *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;;
+ *) ac_cv_prog_gnu_m4_debugfile=--error-output ;;
+esac])
+AC_SUBST([M4_DEBUGFILE], $ac_cv_prog_gnu_m4_debugfile)
+fi
+])