autoconf: Work with M4 1.6 change to FIFO m4wrap.

https://github.com/libsdl-org/autoconf/commit/56d42fa71c1c66e1eaffbafbf414c48c3a0cc405

From 56d42fa71c1c66e1eaffbafbf414c48c3a0cc405 Mon Sep 17 00:00:00 2001
From: Eric Blake <[EMAIL REDACTED]>
Date: Mon, 24 Mar 2008 13:54:06 -0600
Subject: [PATCH] Work with M4 1.6 change to FIFO m4wrap.

* configure.ac (m4_wrap): Allow bootstrapping with autoconf 2.59.
* lib/m4sugar/m4sugar.m4 (m4_wrap): Force LIFO m4_wrap behavior
for 2.59 (2.60 already handles FIFO behavior).
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
---
 ChangeLog              |  8 ++++++++
 configure.ac           | 10 +++++++++-
 lib/m4sugar/m4sugar.m4 |  9 ++++++++-
 3 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index fa71c426..bfcdb9f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-03-24  Eric Blake  <ebb9@byu.net>
+
+	Work with M4 1.6 change to FIFO m4wrap.
+	* configure.ac (m4_wrap): Allow bootstrapping with autoconf 2.59.
+	* lib/m4sugar/m4sugar.m4 (m4_wrap): Force LIFO m4_wrap behavior
+	for 2.59 (2.60 already handles FIFO behavior).
+	Reported by Ralf Wildenhues.
+
 2003-11-06  Akim Demaille  <akim@epita.fr>
 
 	Version 2.59.
diff --git a/configure.ac b/configure.ac
index e0892816..f4935cae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 #                                                       -*- Autoconf -*-
 # Process this file with autoconf to produce a configure script.
 
-# Copyright (C) 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2002, 2003
+# Copyright (C) 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2008
 # Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -22,6 +22,14 @@
 # We need AC_CONFIG_TESTDIR.
 AC_PREREQ([2.57])
 
+# M4 1.6 and newer have FIFO m4wrap, as mandated by POSIX, but we want
+# LIFO m4_wrap.
+m4_define([m4_wrap],
+[m4_ifdef([_$0_text],
+  [m4_define([_$0_text], [$1]m4_defn([_$0_text]))],
+  [m4_define([_$0_text], [$1])m4_builtin([m4wrap],
+    [m4_default(m4_defn([_$0_text])m4_undefine([_$0_text]))])])])
+
 AC_INIT([GNU Autoconf], [2.59], [bug-autoconf@gnu.org])
 AC_SUBST([PACKAGE_NAME])dnl
 AC_CONFIG_SRCDIR([ChangeLog])
diff --git a/lib/m4sugar/m4sugar.m4 b/lib/m4sugar/m4sugar.m4
index 02c417d5..00c24785 100644
--- a/lib/m4sugar/m4sugar.m4
+++ b/lib/m4sugar/m4sugar.m4
@@ -3,7 +3,7 @@ divert(-1)#                                                  -*- Autoconf -*-
 # Base M4 layer.
 # Requires GNU M4.
 #
-# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation,
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2008 Free Software Foundation,
 # Inc.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -1748,6 +1748,13 @@ m4_if(m4_sysval, [0], [],
 ## 13. Setting M4sugar up.  ##
 ## ------------------------ ##
 
+# M4 1.6 and newer have FIFO m4wrap, as mandated by POSIX, but we want
+# LIFO m4_wrap.
+m4_define([m4_wrap],
+[m4_ifdef([_$0_text],
+  [m4_define([_$0_text], [$1]m4_defn([_$0_text]))],
+  [m4_define([_$0_text], [$1])m4_builtin([m4wrap],
+    [m4_default(m4_defn([_$0_text])m4_undefine([_$0_text]))])])])
 
 # m4_init
 # -------