Blame m4/00gnulib.m4

Packit Service fdd496
# 00gnulib.m4 serial 3
Packit Service fdd496
dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
Packit Service fdd496
dnl This file is free software; the Free Software Foundation
Packit Service fdd496
dnl gives unlimited permission to copy and/or distribute it,
Packit Service fdd496
dnl with or without modifications, as long as this notice is preserved.
Packit Service fdd496
Packit Service fdd496
dnl This file must be named something that sorts before all other
Packit Service fdd496
dnl gnulib-provided .m4 files.  It is needed until such time as we can
Packit Service fdd496
dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE and
Packit Service fdd496
dnl m4_divert semantics.
Packit Service fdd496
Packit Service fdd496
# Until autoconf 2.63, handling of the diversion stack required m4_init
Packit Service fdd496
# to be called first; but this does not happen with aclocal.  Wrapping
Packit Service fdd496
# the entire execution in another layer of the diversion stack fixes this.
Packit Service fdd496
# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4
Packit Service fdd496
# for whether it was FIFO or LIFO; in order to properly balance with
Packit Service fdd496
# m4_init, we need to undo our push just before anything wrapped within
Packit Service fdd496
# the m4_init body.  The way to ensure this is to wrap both sides of
Packit Service fdd496
# m4_init with a one-shot macro that does the pop at the right time.
Packit Service fdd496
m4_ifndef([_m4_divert_diversion],
Packit Service fdd496
[m4_divert_push([KILL])
Packit Service fdd496
m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])])
Packit Service fdd496
m4_define([m4_init],
Packit Service fdd496
  [gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])])
Packit Service fdd496
Packit Service fdd496
Packit Service fdd496
# AC_DEFUN_ONCE([NAME], VALUE)
Packit Service fdd496
# ----------------------------
Packit Service fdd496
# Define NAME to expand to VALUE on the first use (whether by direct
Packit Service fdd496
# expansion, or by AC_REQUIRE), and to nothing on all subsequent uses.
Packit Service fdd496
# Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier.  This
Packit Service fdd496
# definition is slower than the version in Autoconf 2.64, because it
Packit Service fdd496
# can only use interfaces that existed since 2.59; but it achieves the
Packit Service fdd496
# same effect.  Quoting is necessary to avoid confusing Automake.
Packit Service fdd496
m4_version_prereq([2.63.263], [],
Packit Service fdd496
[m4_define([AC][_DEFUN_ONCE],
Packit Service fdd496
  [AC][_DEFUN([$1],
Packit Service fdd496
    [AC_REQUIRE([_gl_DEFUN_ONCE([$1])],
Packit Service fdd496
      [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl
Packit Service fdd496
[AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])])
Packit Service fdd496
Packit Service fdd496
# gl_00GNULIB
Packit Service fdd496
# -----------
Packit Service fdd496
# Witness macro that this file has been included.  Needed to force
Packit Service fdd496
# Automake to include this file prior to all other gnulib .m4 files.
Packit Service fdd496
AC_DEFUN([gl_00GNULIB])