1# 00gnulib.m4 serial 3 2dnl Copyright (C) 2009-2019 Free Software Foundation, Inc. 3dnl This file is free software; the Free Software Foundation 4dnl gives unlimited permission to copy and/or distribute it, 5dnl with or without modifications, as long as this notice is preserved. 6 7dnl This file must be named something that sorts before all other 8dnl gnulib-provided .m4 files. It is needed until such time as we can 9dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE and 10dnl m4_divert semantics. 11 12# Until autoconf 2.63, handling of the diversion stack required m4_init 13# to be called first; but this does not happen with aclocal. Wrapping 14# the entire execution in another layer of the diversion stack fixes this. 15# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4 16# for whether it was FIFO or LIFO; in order to properly balance with 17# m4_init, we need to undo our push just before anything wrapped within 18# the m4_init body. The way to ensure this is to wrap both sides of 19# m4_init with a one-shot macro that does the pop at the right time. 20m4_ifndef([_m4_divert_diversion], 21[m4_divert_push([KILL]) 22m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])]) 23m4_define([m4_init], 24 [gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])]) 25 26 27# AC_DEFUN_ONCE([NAME], VALUE) 28# ---------------------------- 29# Define NAME to expand to VALUE on the first use (whether by direct 30# expansion, or by AC_REQUIRE), and to nothing on all subsequent uses. 31# Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier. This 32# definition is slower than the version in Autoconf 2.64, because it 33# can only use interfaces that existed since 2.59; but it achieves the 34# same effect. Quoting is necessary to avoid confusing Automake. 35m4_version_prereq([2.63.263], [], 36[m4_define([AC][_DEFUN_ONCE], 37 [AC][_DEFUN([$1], 38 [AC_REQUIRE([_gl_DEFUN_ONCE([$1])], 39 [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl 40[AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])]) 41 42# gl_00GNULIB 43# ----------- 44# Witness macro that this file has been included. Needed to force 45# Automake to include this file prior to all other gnulib .m4 files. 46AC_DEFUN([gl_00GNULIB]) 47