declare smobs in alloc.c
[bpt/emacs.git] / m4 / 00gnulib.m4
CommitLineData
bada50fc 1# 00gnulib.m4 serial 3
ba318903 2dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
743c80a7
PE
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
bada50fc
PE
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
743c80a7
PE
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])