1# generated automatically by aclocal 1.15 -*- Autoconf -*-
2
3# Copyright (C) 1996-2014 Free Software Foundation, Inc.
4
5# This file is free software; the Free Software Foundation
6# gives unlimited permission to copy and/or distribute it,
7# with or without modifications, as long as this notice is preserved.
8
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12# PARTICULAR PURPOSE.
13
14m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
15m4_ifndef([AC_AUTOCONF_VERSION],
16  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
17m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
18[m4_warning([this file was generated for autoconf 2.69.
19You have another version of autoconf.  It may work, but is not guaranteed to.
20If you have problems, you may need to regenerate the build system entirely.
21To do so, use the procedure documented by the package, typically 'autoreconf'.])])
22
23dnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
24dnl serial 11 (pkg-config-0.29.1)
25dnl
26dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
27dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
28dnl
29dnl This program is free software; you can redistribute it and/or modify
30dnl it under the terms of the GNU General Public License as published by
31dnl the Free Software Foundation; either version 2 of the License, or
32dnl (at your option) any later version.
33dnl
34dnl This program is distributed in the hope that it will be useful, but
35dnl WITHOUT ANY WARRANTY; without even the implied warranty of
36dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
37dnl General Public License for more details.
38dnl
39dnl You should have received a copy of the GNU General Public License
40dnl along with this program; if not, write to the Free Software
41dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
42dnl 02111-1307, USA.
43dnl
44dnl As a special exception to the GNU General Public License, if you
45dnl distribute this file as part of a program that contains a
46dnl configuration script generated by Autoconf, you may include it under
47dnl the same distribution terms that you use for the rest of that
48dnl program.
49
50dnl PKG_PREREQ(MIN-VERSION)
51dnl -----------------------
52dnl Since: 0.29
53dnl
54dnl Verify that the version of the pkg-config macros are at least
55dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
56dnl installed version of pkg-config, this checks the developer's version
57dnl of pkg.m4 when generating configure.
58dnl
59dnl To ensure that this macro is defined, also add:
60dnl m4_ifndef([PKG_PREREQ],
61dnl     [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
62dnl
63dnl See the "Since" comment for each macro you use to see what version
64dnl of the macros you require.
65m4_defun([PKG_PREREQ],
66[m4_define([PKG_MACROS_VERSION], [0.29.1])
67m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
68    [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
69])dnl PKG_PREREQ
70
71dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
72dnl ----------------------------------
73dnl Since: 0.16
74dnl
75dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
76dnl first found in the path. Checks that the version of pkg-config found
77dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
78dnl used since that's the first version where most current features of
79dnl pkg-config existed.
80AC_DEFUN([PKG_PROG_PKG_CONFIG],
81[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
82m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
83m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
84AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
85AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
86AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
87
88if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
89	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
90fi
91if test -n "$PKG_CONFIG"; then
92	_pkg_min_version=m4_default([$1], [0.9.0])
93	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
94	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
95		AC_MSG_RESULT([yes])
96	else
97		AC_MSG_RESULT([no])
98		PKG_CONFIG=""
99	fi
100fi[]dnl
101])dnl PKG_PROG_PKG_CONFIG
102
103dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
104dnl -------------------------------------------------------------------
105dnl Since: 0.18
106dnl
107dnl Check to see whether a particular set of modules exists. Similar to
108dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
109dnl
110dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
111dnl only at the first occurence in configure.ac, so if the first place
112dnl it's called might be skipped (such as if it is within an "if", you
113dnl have to call PKG_CHECK_EXISTS manually
114AC_DEFUN([PKG_CHECK_EXISTS],
115[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
116if test -n "$PKG_CONFIG" && \
117    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
118  m4_default([$2], [:])
119m4_ifvaln([$3], [else
120  $3])dnl
121fi])
122
123dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
124dnl ---------------------------------------------
125dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
126dnl pkg_failed based on the result.
127m4_define([_PKG_CONFIG],
128[if test -n "$$1"; then
129    pkg_cv_[]$1="$$1"
130 elif test -n "$PKG_CONFIG"; then
131    PKG_CHECK_EXISTS([$3],
132                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
133		      test "x$?" != "x0" && pkg_failed=yes ],
134		     [pkg_failed=yes])
135 else
136    pkg_failed=untried
137fi[]dnl
138])dnl _PKG_CONFIG
139
140dnl _PKG_SHORT_ERRORS_SUPPORTED
141dnl ---------------------------
142dnl Internal check to see if pkg-config supports short errors.
143AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
144[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
145if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
146        _pkg_short_errors_supported=yes
147else
148        _pkg_short_errors_supported=no
149fi[]dnl
150])dnl _PKG_SHORT_ERRORS_SUPPORTED
151
152
153dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
154dnl   [ACTION-IF-NOT-FOUND])
155dnl --------------------------------------------------------------
156dnl Since: 0.4.0
157dnl
158dnl Note that if there is a possibility the first call to
159dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
160dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
161AC_DEFUN([PKG_CHECK_MODULES],
162[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
163AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
164AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
165
166pkg_failed=no
167AC_MSG_CHECKING([for $1])
168
169_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
170_PKG_CONFIG([$1][_LIBS], [libs], [$2])
171
172m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
173and $1[]_LIBS to avoid the need to call pkg-config.
174See the pkg-config man page for more details.])
175
176if test $pkg_failed = yes; then
177   	AC_MSG_RESULT([no])
178        _PKG_SHORT_ERRORS_SUPPORTED
179        if test $_pkg_short_errors_supported = yes; then
180	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
181        else
182	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
183        fi
184	# Put the nasty error message in config.log where it belongs
185	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
186
187	m4_default([$4], [AC_MSG_ERROR(
188[Package requirements ($2) were not met:
189
190$$1_PKG_ERRORS
191
192Consider adjusting the PKG_CONFIG_PATH environment variable if you
193installed software in a non-standard prefix.
194
195_PKG_TEXT])[]dnl
196        ])
197elif test $pkg_failed = untried; then
198     	AC_MSG_RESULT([no])
199	m4_default([$4], [AC_MSG_FAILURE(
200[The pkg-config script could not be found or is too old.  Make sure it
201is in your PATH or set the PKG_CONFIG environment variable to the full
202path to pkg-config.
203
204_PKG_TEXT
205
206To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
207        ])
208else
209	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
210	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
211        AC_MSG_RESULT([yes])
212	$3
213fi[]dnl
214])dnl PKG_CHECK_MODULES
215
216
217dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
218dnl   [ACTION-IF-NOT-FOUND])
219dnl ---------------------------------------------------------------------
220dnl Since: 0.29
221dnl
222dnl Checks for existence of MODULES and gathers its build flags with
223dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
224dnl and VARIABLE-PREFIX_LIBS from --libs.
225dnl
226dnl Note that if there is a possibility the first call to
227dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
228dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
229dnl configure.ac.
230AC_DEFUN([PKG_CHECK_MODULES_STATIC],
231[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
232_save_PKG_CONFIG=$PKG_CONFIG
233PKG_CONFIG="$PKG_CONFIG --static"
234PKG_CHECK_MODULES($@)
235PKG_CONFIG=$_save_PKG_CONFIG[]dnl
236])dnl PKG_CHECK_MODULES_STATIC
237
238
239dnl PKG_INSTALLDIR([DIRECTORY])
240dnl -------------------------
241dnl Since: 0.27
242dnl
243dnl Substitutes the variable pkgconfigdir as the location where a module
244dnl should install pkg-config .pc files. By default the directory is
245dnl $libdir/pkgconfig, but the default can be changed by passing
246dnl DIRECTORY. The user can override through the --with-pkgconfigdir
247dnl parameter.
248AC_DEFUN([PKG_INSTALLDIR],
249[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
250m4_pushdef([pkg_description],
251    [pkg-config installation directory @<:@]pkg_default[@:>@])
252AC_ARG_WITH([pkgconfigdir],
253    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
254    [with_pkgconfigdir=]pkg_default)
255AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
256m4_popdef([pkg_default])
257m4_popdef([pkg_description])
258])dnl PKG_INSTALLDIR
259
260
261dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
262dnl --------------------------------
263dnl Since: 0.27
264dnl
265dnl Substitutes the variable noarch_pkgconfigdir as the location where a
266dnl module should install arch-independent pkg-config .pc files. By
267dnl default the directory is $datadir/pkgconfig, but the default can be
268dnl changed by passing DIRECTORY. The user can override through the
269dnl --with-noarch-pkgconfigdir parameter.
270AC_DEFUN([PKG_NOARCH_INSTALLDIR],
271[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
272m4_pushdef([pkg_description],
273    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
274AC_ARG_WITH([noarch-pkgconfigdir],
275    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
276    [with_noarch_pkgconfigdir=]pkg_default)
277AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
278m4_popdef([pkg_default])
279m4_popdef([pkg_description])
280])dnl PKG_NOARCH_INSTALLDIR
281
282
283dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
284dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
285dnl -------------------------------------------
286dnl Since: 0.28
287dnl
288dnl Retrieves the value of the pkg-config variable for the given module.
289AC_DEFUN([PKG_CHECK_VAR],
290[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
291AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
292
293_PKG_CONFIG([$1], [variable="][$3]["], [$2])
294AS_VAR_COPY([$1], [pkg_cv_][$1])
295
296AS_VAR_IF([$1], [""], [$5], [$4])dnl
297])dnl PKG_CHECK_VAR
298
299# ===========================================================================
300#   http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
301# ===========================================================================
302#
303# SYNOPSIS
304#
305#   MM_AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
306#
307# DESCRIPTION
308#
309#   Check for baseline language coverage in the compiler for the specified
310#   version of the C++ standard.  If necessary, add switches to CXXFLAGS to
311#   enable support.  VERSION may be '11' (for the C++11 standard) or '14'
312#   (for the C++14 standard).
313#
314#   The second argument, if specified, indicates whether you insist on an
315#   extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
316#   -std=c++11).  If neither is specified, you get whatever works, with
317#   preference for an extended mode.
318#
319#   The third argument, if specified 'mandatory' or if left unspecified,
320#   indicates that baseline support for the specified C++ standard is
321#   required and that the macro should error out if no mode with that
322#   support is found.  If specified 'optional', then configuration proceeds
323#   regardless, after defining HAVE_CXX${VERSION} if and only if a
324#   supporting mode is found.
325#
326# LICENSE
327#
328#   Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
329#   Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
330#   Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
331#   Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
332#   Copyright (c) 2015 Paul Norman <penorman@mac.com>
333#   Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
334#
335#   Copying and distribution of this file, with or without modification, are
336#   permitted in any medium without royalty provided the copyright notice
337#   and this notice are preserved.  This file is offered as-is, without any
338#   warranty.
339
340# Copied from ax_cxx_compile_stdcxx.m4 and added MM_ prefix to avoid
341# possible conflict with AX_CXX_COMPILE_STDCXX in other modules.
342
343#serial 1
344
345dnl  This macro is based on the code from the MM_AX_CXX_COMPILE_STDCXX_11 macro
346dnl  (serial version number 13).
347
348AC_DEFUN([MM_AX_CXX_COMPILE_STDCXX], [dnl
349  m4_if([$1], [11], [],
350        [$1], [14], [],
351        [$1], [17], [m4_fatal([support for C++17 not yet implemented in MM_AX_CXX_COMPILE_STDCXX])],
352        [m4_fatal([invalid first argument `$1' to MM_AX_CXX_COMPILE_STDCXX])])dnl
353  m4_if([$2], [], [],
354        [$2], [ext], [],
355        [$2], [noext], [],
356        [m4_fatal([invalid second argument `$2' to MM_AX_CXX_COMPILE_STDCXX])])dnl
357  m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
358        [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
359        [$3], [optional], [ax_cxx_compile_cxx$1_required=false],
360        [m4_fatal([invalid third argument `$3' to MM_AX_CXX_COMPILE_STDCXX])])
361  AC_LANG_PUSH([C++])dnl
362  ac_success=no
363  AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
364  ax_cv_cxx_compile_cxx$1,
365  [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_MM_AX_CXX_COMPILE_STDCXX_testbody_$1])],
366    [ax_cv_cxx_compile_cxx$1=yes],
367    [ax_cv_cxx_compile_cxx$1=no])])
368  if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
369    ac_success=yes
370  fi
371
372  m4_if([$2], [noext], [], [dnl
373  if test x$ac_success = xno; then
374    for switch in -std=gnu++$1 -std=gnu++0x; do
375      cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
376      AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
377                     $cachevar,
378        [ac_save_CXXFLAGS="$CXXFLAGS"
379         CXXFLAGS="$CXXFLAGS $switch"
380         AC_COMPILE_IFELSE([AC_LANG_SOURCE([_MM_AX_CXX_COMPILE_STDCXX_testbody_$1])],
381          [eval $cachevar=yes],
382          [eval $cachevar=no])
383         CXXFLAGS="$ac_save_CXXFLAGS"])
384      if eval test x\$$cachevar = xyes; then
385        CXXFLAGS="$CXXFLAGS $switch"
386        ac_success=yes
387        break
388      fi
389    done
390  fi])
391
392  m4_if([$2], [ext], [], [dnl
393  if test x$ac_success = xno; then
394    dnl HP's aCC needs +std=c++11 according to:
395    dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
396    dnl Cray's crayCC needs "-h std=c++11"
397    for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do
398      cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
399      AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
400                     $cachevar,
401        [ac_save_CXXFLAGS="$CXXFLAGS"
402         CXXFLAGS="$CXXFLAGS $switch"
403         AC_COMPILE_IFELSE([AC_LANG_SOURCE([_MM_AX_CXX_COMPILE_STDCXX_testbody_$1])],
404          [eval $cachevar=yes],
405          [eval $cachevar=no])
406         CXXFLAGS="$ac_save_CXXFLAGS"])
407      if eval test x\$$cachevar = xyes; then
408        CXXFLAGS="$CXXFLAGS $switch"
409        ac_success=yes
410        break
411      fi
412    done
413  fi])
414  AC_LANG_POP([C++])
415  if test x$ax_cxx_compile_cxx$1_required = xtrue; then
416    if test x$ac_success = xno; then
417      AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
418    fi
419  else
420    if test x$ac_success = xno; then
421      HAVE_CXX$1=0
422      AC_MSG_NOTICE([No compiler with C++$1 support was found])
423    else
424      HAVE_CXX$1=1
425      AC_DEFINE(HAVE_CXX$1,1,
426                [define if the compiler supports basic C++$1 syntax])
427    fi
428
429    AC_SUBST(HAVE_CXX$1)
430  fi
431])
432
433
434dnl  Test body for checking C++11 support
435
436m4_define([_MM_AX_CXX_COMPILE_STDCXX_testbody_11],
437  _MM_AX_CXX_COMPILE_STDCXX_testbody_new_in_11
438)
439
440
441dnl  Test body for checking C++14 support
442
443m4_define([_MM_AX_CXX_COMPILE_STDCXX_testbody_14],
444  _MM_AX_CXX_COMPILE_STDCXX_testbody_new_in_11
445  _MM_AX_CXX_COMPILE_STDCXX_testbody_new_in_14
446)
447
448
449dnl  Tests for new features in C++11
450
451m4_define([_MM_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
452
453// If the compiler admits that it is not ready for C++11, why torture it?
454// Hopefully, this will speed up the test.
455
456#ifndef __cplusplus
457
458#error "This is not a C++ compiler"
459
460#elif __cplusplus < 201103L
461
462#error "This is not a C++11 compiler"
463
464#else
465
466namespace cxx11
467{
468
469  namespace test_static_assert
470  {
471
472    template <typename T>
473    struct check
474    {
475      static_assert(sizeof(int) <= sizeof(T), "not big enough");
476    };
477
478  }
479
480  namespace test_final_override
481  {
482
483    struct Base
484    {
485      virtual void f() {}
486    };
487
488    struct Derived : public Base
489    {
490      virtual void f() override {}
491    };
492
493  }
494
495  namespace test_double_right_angle_brackets
496  {
497
498    template < typename T >
499    struct check {};
500
501    typedef check<void> single_type;
502    typedef check<check<void>> double_type;
503    typedef check<check<check<void>>> triple_type;
504    typedef check<check<check<check<void>>>> quadruple_type;
505
506  }
507
508  namespace test_decltype
509  {
510
511    int
512    f()
513    {
514      int a = 1;
515      decltype(a) b = 2;
516      return a + b;
517    }
518
519  }
520
521  namespace test_type_deduction
522  {
523
524    template < typename T1, typename T2 >
525    struct is_same
526    {
527      static const bool value = false;
528    };
529
530    template < typename T >
531    struct is_same<T, T>
532    {
533      static const bool value = true;
534    };
535
536    template < typename T1, typename T2 >
537    auto
538    add(T1 a1, T2 a2) -> decltype(a1 + a2)
539    {
540      return a1 + a2;
541    }
542
543    int
544    test(const int c, volatile int v)
545    {
546      static_assert(is_same<int, decltype(0)>::value == true, "");
547      static_assert(is_same<int, decltype(c)>::value == false, "");
548      static_assert(is_same<int, decltype(v)>::value == false, "");
549      auto ac = c;
550      auto av = v;
551      auto sumi = ac + av + 'x';
552      auto sumf = ac + av + 1.0;
553      static_assert(is_same<int, decltype(ac)>::value == true, "");
554      static_assert(is_same<int, decltype(av)>::value == true, "");
555      static_assert(is_same<int, decltype(sumi)>::value == true, "");
556      static_assert(is_same<int, decltype(sumf)>::value == false, "");
557      static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
558      return (sumf > 0.0) ? sumi : add(c, v);
559    }
560
561  }
562
563  namespace test_noexcept
564  {
565
566    int f() { return 0; }
567    int g() noexcept { return 0; }
568
569    static_assert(noexcept(f()) == false, "");
570    static_assert(noexcept(g()) == true, "");
571
572  }
573
574  namespace test_constexpr
575  {
576
577    template < typename CharT >
578    unsigned long constexpr
579    strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
580    {
581      return *s ? strlen_c_r(s + 1, acc + 1) : acc;
582    }
583
584    template < typename CharT >
585    unsigned long constexpr
586    strlen_c(const CharT *const s) noexcept
587    {
588      return strlen_c_r(s, 0UL);
589    }
590
591    static_assert(strlen_c("") == 0UL, "");
592    static_assert(strlen_c("1") == 1UL, "");
593    static_assert(strlen_c("example") == 7UL, "");
594    static_assert(strlen_c("another\0example") == 7UL, "");
595
596  }
597
598  namespace test_rvalue_references
599  {
600
601    template < int N >
602    struct answer
603    {
604      static constexpr int value = N;
605    };
606
607    answer<1> f(int&)       { return answer<1>(); }
608    answer<2> f(const int&) { return answer<2>(); }
609    answer<3> f(int&&)      { return answer<3>(); }
610
611    void
612    test()
613    {
614      int i = 0;
615      const int c = 0;
616      static_assert(decltype(f(i))::value == 1, "");
617      static_assert(decltype(f(c))::value == 2, "");
618      static_assert(decltype(f(0))::value == 3, "");
619    }
620
621  }
622
623  namespace test_uniform_initialization
624  {
625
626    struct test
627    {
628      static const int zero {};
629      static const int one {1};
630    };
631
632    static_assert(test::zero == 0, "");
633    static_assert(test::one == 1, "");
634
635  }
636
637  namespace test_lambdas
638  {
639
640    void
641    test1()
642    {
643      auto lambda1 = [](){};
644      auto lambda2 = lambda1;
645      lambda1();
646      lambda2();
647    }
648
649    int
650    test2()
651    {
652      auto a = [](int i, int j){ return i + j; }(1, 2);
653      auto b = []() -> int { return '0'; }();
654      auto c = [=](){ return a + b; }();
655      auto d = [&](){ return c; }();
656      auto e = [a, &b](int x) mutable {
657        const auto identity = [](int y){ return y; };
658        for (auto i = 0; i < a; ++i)
659          a += b--;
660        return x + identity(a + b);
661      }(0);
662      return a + b + c + d + e;
663    }
664
665    int
666    test3()
667    {
668      const auto nullary = [](){ return 0; };
669      const auto unary = [](int x){ return x; };
670      using nullary_t = decltype(nullary);
671      using unary_t = decltype(unary);
672      const auto higher1st = [](nullary_t f){ return f(); };
673      const auto higher2nd = [unary](nullary_t f1){
674        return [unary, f1](unary_t f2){ return f2(unary(f1())); };
675      };
676      return higher1st(nullary) + higher2nd(nullary)(unary);
677    }
678
679  }
680
681  namespace test_variadic_templates
682  {
683
684    template <int...>
685    struct sum;
686
687    template <int N0, int... N1toN>
688    struct sum<N0, N1toN...>
689    {
690      static constexpr auto value = N0 + sum<N1toN...>::value;
691    };
692
693    template <>
694    struct sum<>
695    {
696      static constexpr auto value = 0;
697    };
698
699    static_assert(sum<>::value == 0, "");
700    static_assert(sum<1>::value == 1, "");
701    static_assert(sum<23>::value == 23, "");
702    static_assert(sum<1, 2>::value == 3, "");
703    static_assert(sum<5, 5, 11>::value == 21, "");
704    static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
705
706  }
707
708  // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
709  // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
710  // because of this.
711  namespace test_template_alias_sfinae
712  {
713
714    struct foo {};
715
716    template<typename T>
717    using member = typename T::member_type;
718
719    template<typename T>
720    void func(...) {}
721
722    template<typename T>
723    void func(member<T>*) {}
724
725    void test();
726
727    void test() { func<foo>(0); }
728
729  }
730
731}  // namespace cxx11
732
733#endif  // __cplusplus >= 201103L
734
735]])
736
737
738dnl  Tests for new features in C++14
739
740m4_define([_MM_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
741
742// If the compiler admits that it is not ready for C++14, why torture it?
743// Hopefully, this will speed up the test.
744
745#ifndef __cplusplus
746
747#error "This is not a C++ compiler"
748
749#elif __cplusplus < 201402L
750
751#error "This is not a C++14 compiler"
752
753#else
754
755namespace cxx14
756{
757
758  namespace test_polymorphic_lambdas
759  {
760
761    int
762    test()
763    {
764      const auto lambda = [](auto&&... args){
765        const auto istiny = [](auto x){
766          return (sizeof(x) == 1UL) ? 1 : 0;
767        };
768        const int aretiny[] = { istiny(args)... };
769        return aretiny[0];
770      };
771      return lambda(1, 1L, 1.0f, '1');
772    }
773
774  }
775
776  namespace test_binary_literals
777  {
778
779    constexpr auto ivii = 0b0000000000101010;
780    static_assert(ivii == 42, "wrong value");
781
782  }
783
784  namespace test_generalized_constexpr
785  {
786
787    template < typename CharT >
788    constexpr unsigned long
789    strlen_c(const CharT *const s) noexcept
790    {
791      auto length = 0UL;
792      for (auto p = s; *p; ++p)
793        ++length;
794      return length;
795    }
796
797    static_assert(strlen_c("") == 0UL, "");
798    static_assert(strlen_c("x") == 1UL, "");
799    static_assert(strlen_c("test") == 4UL, "");
800    static_assert(strlen_c("another\0test") == 7UL, "");
801
802  }
803
804  namespace test_lambda_init_capture
805  {
806
807    int
808    test()
809    {
810      auto x = 0;
811      const auto lambda1 = [a = x](int b){ return a + b; };
812      const auto lambda2 = [a = lambda1(x)](){ return a; };
813      return lambda2();
814    }
815
816  }
817
818  namespace test_digit_seperators
819  {
820
821    constexpr auto ten_million = 100'000'000;
822    static_assert(ten_million == 100000000, "");
823
824  }
825
826  namespace test_return_type_deduction
827  {
828
829    auto f(int& x) { return x; }
830    decltype(auto) g(int& x) { return x; }
831
832    template < typename T1, typename T2 >
833    struct is_same
834    {
835      static constexpr auto value = false;
836    };
837
838    template < typename T >
839    struct is_same<T, T>
840    {
841      static constexpr auto value = true;
842    };
843
844    int
845    test()
846    {
847      auto x = 0;
848      static_assert(is_same<int, decltype(f(x))>::value, "");
849      static_assert(is_same<int&, decltype(g(x))>::value, "");
850      return x;
851    }
852
853  }
854
855}  // namespace cxx14
856
857#endif  // __cplusplus >= 201402L
858
859]])
860
861
862#serial 20090814
863
864AC_DEFUN([_MM_PRE_INIT], [m4_pattern_forbid([^_?MM_])])
865
866m4_define([_MM_PREREQ],
867[dnl
868m4_if(m4_quote(m4_version_compare([$2], [$3])), [-1],
869      [m4_fatal([$4 requires $1 $3 (version $2 is installed)])])[]dnl
870])
871
872AC_DEFUN([MM_PREREQ],
873[dnl
874m4_assert([$# >= 1])[]dnl
875AC_REQUIRE([_MM_PRE_INIT])[]dnl
876_MM_PREREQ([mm-common], [0.9.10], [$1], m4_defn([AC_PACKAGE_NAME]))[]dnl
877])
878
879
880#serial 20091224
881
882m4_define([_MM_PROG_GCC_VISIBILITY_CHECK],
883[dnl
884AC_PROVIDE([$0])[]dnl
885AC_CACHE_CHECK([for GCC symbol visibility options],
886               [mm_cv_gcc_visibility_cxxflags],
887[dnl
888mm_save_CXXFLAGS=$CXXFLAGS
889CXXFLAGS="$CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
890dnl
891AC_LINK_IFELSE([AC_LANG_PROGRAM([[
892#pragma GCC visibility push(default)
893namespace Mm { void __attribute__((__visibility__("hidden"))) mmfunc(); }
894void Mm::mmfunc() {}
895#pragma GCC visibility pop
896]], [[Mm::mmfunc();]])],
897[mm_cv_gcc_visibility_cxxflags='-fvisibility=hidden -fvisibility-inlines-hidden'],
898[mm_cv_gcc_visibility_cxxflags=none])
899dnl
900CXXFLAGS=$mm_save_CXXFLAGS])[]dnl
901])
902
903AC_DEFUN([MM_PROG_GCC_VISIBILITY],
904[dnl
905m4_assert([$# >= 1])[]dnl
906AC_LANG_ASSERT([C++])[]dnl
907AC_REQUIRE([_MM_PRE_INIT])[]dnl
908AC_REQUIRE([_MM_PROG_GCC_VISIBILITY_CHECK])[]dnl
909AS_IF([test "x$mm_cv_gcc_visibility_cxxflags" != xnone],
910      [$1=$mm_cv_gcc_visibility_cxxflags], [$1=])
911AC_SUBST([$1])[]dnl
912])
913
914m4_define([_MM_ARG_DISABLE_DEPRECATED_API_OPTION],
915[dnl
916AC_PROVIDE([$0])[]dnl
917AC_ARG_ENABLE([deprecated-api],
918              [AS_HELP_STRING([--disable-deprecated-api],
919                              [omit deprecated API from the library])],
920              [mm_enable_deprecated_api=$enableval],
921              [mm_enable_deprecated_api=yes])[]dnl
922AS_IF([test "x$mm_enable_deprecated_api" = xno],
923      [AC_MSG_WARN([[Deprecated API will not be built, breaking compatibility.
924Do not use this option for distribution packages.]])],
925      [AC_MSG_NOTICE([[Deprecated API will be built, for backwards-compatibility.]])])
926AM_CONDITIONAL([DISABLE_DEPRECATED_API], [test "x$mm_enable_deprecated_api" = xno])[]dnl
927])
928
929m4_define([_MM_ARG_DISABLE_DEPRECATED_API_DEFINE],
930[m4_foreach_w([mm_prefix], [$1],
931[AC_DEFINE(m4_defn([mm_prefix])[_DISABLE_DEPRECATED], [1],
932           [Define to omit deprecated API from the library.])
933])])
934
935AC_DEFUN([MM_ARG_DISABLE_DEPRECATED_API],
936[dnl
937AC_REQUIRE([_MM_PRE_INIT])[]dnl
938AC_REQUIRE([_MM_ARG_DISABLE_DEPRECATED_API_OPTION])[]dnl
939AS_IF([test "x$mm_enable_deprecated_api" = xno],
940      [_MM_ARG_DISABLE_DEPRECATED_API_DEFINE(
941        m4_ifval([$1], [[$1]], [AS_TR_CPP(m4_defn([AC_PACKAGE_TARNAME]))]))])[]dnl
942])
943
944
945#serial 20110327
946
947m4_define([_MM_CONFIG_DOCTOOL_DIR],
948[dnl
949AC_PROVIDE([$0])[]dnl
950AC_REQUIRE([PKG_PROG_PKG_CONFIG])[]dnl
951dnl
952AC_MSG_CHECKING([location of documentation utilities])
953AS_IF([test "x$MMDOCTOOLDIR" = x],
954[
955  MMDOCTOOLDIR=`$PKG_CONFIG --variable=doctooldir mm-common-util 2>&AS_MESSAGE_LOG_FD`
956  AS_IF([test "[$]?" -ne 0],
957        [AC_MSG_ERROR([[not found
958The required module mm-common-util could not be found on this system.  If you
959are running a binary distribution and the mm-common package is installed,
960make sure that any separate development package for mm-common is installed
961as well.  If you built mm-common yourself, it may be necessary to adjust
962the PKG_CONFIG_PATH environment variable for pkg-config to find it.
963]])])
964])
965AC_MSG_RESULT([$MMDOCTOOLDIR])[]dnl
966])
967
968AC_DEFUN([MM_CONFIG_DOCTOOL_DIR],
969[dnl
970AC_REQUIRE([_MM_PRE_INIT])[]dnl
971AC_REQUIRE([MM_CHECK_GNU_MAKE])[]dnl
972m4_ifval([$1], [MMDOCTOOLDIR='[$]{top_srcdir}/$1'], [AC_REQUIRE([_MM_CONFIG_DOCTOOL_DIR])])
973AM_CONDITIONAL([DIST_DOCTOOLS], [test 'x$1' != 'x'])dnl
974AC_SUBST([MMDOCTOOLDIR])[]dnl
975])
976
977m4_define([_MM_ARG_ENABLE_DOCUMENTATION],
978[dnl
979AC_PROVIDE([$0])[]dnl
980dnl
981AC_ARG_VAR([DOT], [path to dot utility])[]dnl
982AC_ARG_VAR([DOXYGEN], [path to Doxygen utility])[]dnl
983AC_ARG_VAR([XSLTPROC], [path to xsltproc utility])[]dnl
984dnl
985AC_PATH_PROG([DOT], [dot], [dot])
986AC_PATH_PROG([DOXYGEN], [doxygen], [doxygen])
987AC_PATH_PROG([XSLTPROC], [xsltproc], [xsltproc])
988dnl
989AC_ARG_ENABLE([documentation],
990              [AS_HELP_STRING([--disable-documentation],
991                              [do not build or install the documentation])],
992              [ENABLE_DOCUMENTATION=$enableval],
993              [ENABLE_DOCUMENTATION=auto])
994AS_IF([test "x$ENABLE_DOCUMENTATION" != xno],
995[
996  mm_err=
997  AS_IF([test "x$MMDOCTOOLDIR" = x], [mm_err='dnl
998The mm-common-util module is available, but the installation of mm-common on this
999machine is missing the shared documentation utilities of the GNOME C++
1000bindings.  It may be necessary to upgrade to a more recent release of
1001mm-common in order to build '$PACKAGE_NAME' and install the documentation.'],
1002        [test "x$PERL" = xperl], [mm_err='Perl is required for installing the documentation.'],
1003        [test "x$USE_MAINTAINER_MODE" != xno],
1004  [
1005    test "x$DOT" != xdot || mm_err=' dot'
1006    test "x$DOXYGEN" != xdoxygen || mm_err="$mm_err doxygen"
1007    test "x$XSLTPROC" != xxsltproc || mm_err="$mm_err xsltproc"
1008    test -z "$mm_err" || mm_err='The documentation cannot be generated because
1009not all of the required tools are available:'$mm_err
1010  ])
1011  AS_IF([test -z "$mm_err"], [ENABLE_DOCUMENTATION=yes],
1012        [test "x$ENABLE_DOCUMENTATION" = xyes], [AC_MSG_FAILURE([[$mm_err]])],
1013        [ENABLE_DOCUMENTATION=no; AC_MSG_WARN([[$mm_err]])])
1014])
1015AM_CONDITIONAL([ENABLE_DOCUMENTATION], [test "x$ENABLE_DOCUMENTATION" = xyes])
1016AC_SUBST([DOXYGEN_TAGFILES], [[]])
1017AC_SUBST([DOCINSTALL_FLAGS], [[]])[]dnl
1018])
1019
1020AC_DEFUN([MM_ARG_ENABLE_DOCUMENTATION],
1021[dnl
1022AC_BEFORE([$0], [MM_ARG_WITH_TAGFILE_DOC])[]dnl
1023AC_REQUIRE([_MM_PRE_INIT])[]dnl
1024AC_REQUIRE([MM_CONFIG_DOCTOOL_DIR])[]dnl
1025AC_REQUIRE([MM_PATH_PERL])[]dnl
1026AC_REQUIRE([_MM_ARG_ENABLE_DOCUMENTATION])[]dnl
1027])
1028
1029m4_define([_MM_TR_URI],
1030[dnl
1031[`expr "X$1" : 'X\(.*[^\\/]\)[\\/]*' 2>&]AS_MESSAGE_LOG_FD[ |]dnl
1032[ sed 's|[\\]|/|g;s| |%20|g;s|^/|file:///|;s|^.:/|file:///&|' 2>&]AS_MESSAGE_LOG_FD[`]dnl
1033])
1034
1035m4_define([_MM_ARG_WITH_TAGFILE_DOC],
1036[dnl
1037  AC_MSG_CHECKING([for $1 documentation])
1038  AC_ARG_WITH([$1-doc],
1039              [AS_HELP_STRING([[--with-$1-doc=[TAGFILE@]HTMLREFDIR]],
1040                              [Link to external $1 documentation]m4_ifval([$4], [[ [auto]]]))],
1041  [
1042    mm_htmlrefdir=`[expr "X@$withval" : '.*@\(.*\)' 2>&]AS_MESSAGE_LOG_FD`
1043    mm_tagname=`[expr "X/$withval" : '[^@]*[\\/]\([^\\/@]*\)@' 2>&]AS_MESSAGE_LOG_FD`
1044    mm_tagpath=`[expr "X$withval" : 'X\([^@]*\)@' 2>&]AS_MESSAGE_LOG_FD`
1045    test "x$mm_tagname" != x || mm_tagname="$3"
1046    test "x$mm_tagpath" != x || mm_tagpath=$mm_tagname[]dnl
1047  ], [
1048    mm_htmlrefdir=
1049    mm_tagname="$3"
1050    mm_tagpath=$mm_tagname[]dnl
1051  ])
1052  # Prepend working direcory if the tag file path starts with ./ or ../
1053  AS_CASE([$mm_tagpath], [[.[\\/]*|..[\\/]*]], [mm_tagpath=`pwd`/$mm_tagpath])
1054
1055m4_ifval([$4], [dnl
1056  # If no local directory was specified, get the default from the .pc file
1057  AS_IF([test "x$mm_htmlrefdir" = x],
1058  [
1059    mm_htmlrefdir=`$PKG_CONFIG --variable=htmlrefdir "$4" 2>&AS_MESSAGE_LOG_FD`dnl
1060  ])
1061  # If the user specified a Web URL, allow it to override the public location
1062  AS_CASE([$mm_htmlrefdir], [[http://*|https://*]], [mm_htmlrefpub=$mm_htmlrefdir],
1063  [
1064    mm_htmlrefpub=`$PKG_CONFIG --variable=htmlrefpub "$4" 2>&AS_MESSAGE_LOG_FD`
1065    test "x$mm_htmlrefpub" != x || mm_htmlrefpub=$mm_htmlrefdir
1066    test "x$mm_htmlrefdir" != x || mm_htmlrefdir=$mm_htmlrefpub
1067  ])
1068  # The user-supplied tag-file name takes precedence if it includes the path
1069  AS_CASE([$mm_tagpath], [[*[\\/]*]],,
1070  [
1071    mm_doxytagfile=`$PKG_CONFIG --variable=doxytagfile "$4" 2>&AS_MESSAGE_LOG_FD`
1072    test "x$mm_doxytagfile" = x || mm_tagpath=$mm_doxytagfile
1073  ])
1074  # Remove trailing slashes and translate to URI
1075  mm_htmlrefpub=_MM_TR_URI([$mm_htmlrefpub])
1076])[]dnl
1077  mm_htmlrefdir=_MM_TR_URI([$mm_htmlrefdir])
1078
1079  AC_MSG_RESULT([$mm_tagpath@$mm_htmlrefdir])
1080
1081  AS_IF([test "x$USE_MAINTAINER_MODE" != xno && test ! -f "$mm_tagpath"],
1082        [AC_MSG_WARN([Doxygen tag file $3 not found])])
1083  AS_IF([test "x$mm_htmlrefdir" = x],
1084        [AC_MSG_WARN([Location of external $1 documentation not set])],
1085        [AS_IF([test "x$DOCINSTALL_FLAGS" = x],
1086               [DOCINSTALL_FLAGS="-l '$mm_tagname@$mm_htmlrefdir/'"],
1087               [DOCINSTALL_FLAGS="$DOCINSTALL_FLAGS -l '$mm_tagname@$mm_htmlrefdir/'"])])
1088
1089  AS_IF([test "x$mm_$2" = x], [mm_val=$mm_tagpath], [mm_val="$mm_tagpath=$mm_$2"])
1090  AS_IF([test "x$DOXYGEN_TAGFILES" = x],
1091        [DOXYGEN_TAGFILES=[\]"$mm_val[\]"],
1092        [DOXYGEN_TAGFILES="$DOXYGEN_TAGFILES "[\]"$mm_val[\]"])[]dnl
1093])
1094
1095AC_DEFUN([MM_ARG_WITH_TAGFILE_DOC],
1096[dnl
1097m4_assert([$# >= 1])[]dnl
1098m4_ifval([$2], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])])[]dnl
1099AC_REQUIRE([MM_CONFIG_DOCTOOL_DIR])[]dnl
1100AC_REQUIRE([_MM_ARG_ENABLE_DOCUMENTATION])[]dnl
1101dnl
1102AS_IF([test "x$ENABLE_DOCUMENTATION" != xno],
1103      [_MM_ARG_WITH_TAGFILE_DOC(m4_quote(m4_bpatsubst([$1], [[+]*\([-+][0123456789]\|[._]\).*$])),
1104                                [htmlref]m4_ifval([$2], [[pub]], [[dir]]), [$1], [$2])])[]dnl
1105])
1106
1107
1108#serial 20091228
1109
1110m4_define([_MM_INIT_MODULE_VERSION],
1111[dnl
1112m4_ifval([$3],
1113[AC_SUBST([$2][_MAJOR_VERSION], [$3])
1114AC_DEFINE([$2][_MAJOR_VERSION], [$3], [Major version number of $1.])
1115])[]dnl
1116m4_ifval([$4],
1117[AC_SUBST([$2][_MINOR_VERSION], [$4])
1118AC_DEFINE([$2][_MINOR_VERSION], [$4], [Minor version number of $1.])
1119])[]dnl
1120m4_ifval([$5],
1121[AC_SUBST([$2][_MICRO_VERSION], [$5])
1122AC_DEFINE([$2][_MICRO_VERSION], [$5], [Micro version number of $1.])
1123])[]dnl
1124])
1125
1126m4_define([_MM_INIT_MODULE_SUBST],
1127[dnl
1128AC_SUBST([$5][_MODULE_NAME], ['$1'])
1129AC_SUBST([$5][_VERSION], ['$2'])
1130m4_ifval([$4],
1131[AC_SUBST([$5][_API_VERSION], ['$4'])
1132])[]dnl
1133_MM_INIT_MODULE_VERSION([$3], [$5], m4_bpatsubst([$2], [[^0123456789]+], [,]))[]dnl
1134])
1135
1136m4_define([_MM_INIT_MODULE_BASENAME],
1137          [_MM_INIT_MODULE_SUBST([$1], [$2], [$3], [$4],
1138                                 m4_quote(AS_TR_CPP(m4_quote(m4_translit([$3], [+], [X])))))])
1139
1140AC_DEFUN([MM_INIT_MODULE],
1141[dnl
1142m4_assert([$# >= 1])[]dnl
1143AC_REQUIRE([_MM_PRE_INIT])[]dnl
1144AC_REQUIRE([MM_CHECK_GNU_MAKE])[]dnl
1145_MM_INIT_MODULE_BASENAME([$1],
1146                 m4_quote(m4_ifval([$2], [$2], m4_defn([AC_PACKAGE_VERSION]))),
1147                 m4_quote(m4_bpatsubst([$1], [[-.0123456789]+$])),
1148                 m4_quote(m4_bregexp([$1], [-?\([.0123456789]+\)$], [\1])))[]dnl
1149])
1150
1151
1152#serial 20090822
1153
1154m4_define([_MM_CHECK_GNU_MAKE],
1155[dnl
1156AC_PROVIDE([$0])[]dnl
1157AC_MSG_CHECKING([whether [$]{MAKE-make} supports GNU make features])
1158cat >conftest.make <<'_MMEOF'
1159override reverse = [$](2)[$](subst ,, )[$](1)
1160override result := [$](word 2,[$](call reverse,success,failure))
1161all: ; test '[$](result)' = success
1162.PHONY: all
1163_MMEOF
1164AS_IF([[$]{MAKE-make} -f conftest.make >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD],
1165      [mm_gnu_make=yes], [mm_gnu_make=no])
1166rm -f conftest.make
1167AC_MSG_RESULT([$mm_gnu_make])
1168AS_IF([test "x$mm_gnu_make" != xyes],
1169      [AC_MSG_FAILURE([[The GNU make program is required to build $PACKAGE_NAME.]])])[]dnl
1170])
1171
1172AC_DEFUN([MM_CHECK_GNU_MAKE],
1173[dnl
1174AC_REQUIRE([_MM_PRE_INIT])[]dnl
1175AC_REQUIRE([_MM_CHECK_GNU_MAKE])[]dnl
1176])
1177
1178m4_define([_MM_PATH_PERL],
1179[dnl
1180AC_PROVIDE([$0])[]dnl
1181AC_ARG_VAR([PERL], [path to Perl interpreter])[]dnl
1182AC_PATH_PROG([PERL], [perl], [perl])[]dnl
1183])
1184
1185AC_DEFUN([MM_PATH_PERL],
1186[dnl
1187AC_REQUIRE([_MM_PRE_INIT])[]dnl
1188AC_REQUIRE([_MM_PATH_PERL])[]dnl
1189])
1190
1191m4_define([_MM_CHECK_PERL],
1192[dnl
1193AS_IF([$PERL -e "require v$1; exit 0;" >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD],
1194      [$2], m4_ifval([$2$3], [[$3]],
1195            [[AC_MSG_FAILURE([[At least Perl ]$1[ is required to build $PACKAGE_NAME.]])]]))[]dnl
1196])
1197
1198AC_DEFUN([MM_CHECK_PERL],
1199[dnl
1200AC_REQUIRE([_MM_PRE_INIT])[]dnl
1201AC_REQUIRE([_MM_PATH_PERL])[]dnl
1202_MM_CHECK_PERL(m4_ifval([$1], [[$1]], [[5.6.0]]), [$2], [$3])[]dnl
1203])
1204
1205AC_DEFUN([MM_PKG_CONFIG_SUBST],
1206[dnl
1207m4_assert([$# >= 2])[]dnl
1208AC_REQUIRE([_MM_PRE_INIT])[]dnl
1209AC_REQUIRE([PKG_PROG_PKG_CONFIG])[]dnl
1210AC_MSG_CHECKING([for $1])
1211dnl
1212AS_IF([test -z "[$]{$1+set}"],
1213      [$1=`$PKG_CONFIG $2 2>&AS_MESSAGE_LOG_FD`
1214       AS_IF([test "[$]?" -eq 0], [$3], [$4])])
1215dnl
1216AC_MSG_RESULT([[$]$1])
1217AC_SUBST([$1])[]dnl
1218])
1219
1220
1221#serial 20091103
1222
1223m4_define([_MM_ARG_ENABLE_WARNINGS_OPTION],
1224[dnl
1225AC_PROVIDE([$0])[]dnl
1226AC_ARG_ENABLE([warnings],
1227              [AS_HELP_STRING([[--enable-warnings[=min|max|fatal|no]]],
1228                              [set compiler pedantry level [default=min]])],
1229              [mm_enable_warnings=$enableval],
1230              [mm_enable_warnings=min])[]dnl
1231])
1232
1233AC_DEFUN([MM_ARG_ENABLE_WARNINGS],
1234[dnl
1235m4_assert([$# >= 3])[]dnl
1236AC_REQUIRE([_MM_PRE_INIT])[]dnl
1237AC_REQUIRE([_MM_ARG_ENABLE_WARNINGS_OPTION])[]dnl
1238dnl
1239AS_CASE([$ac_compile],
1240        [[*'$CXXFLAGS '*]], [mm_lang='C++' mm_cc=$CXX mm_conftest="conftest.[$]{ac_ext-cc}"],
1241        [[*'$CFLAGS '*]],   [mm_lang=C mm_cc=$CC mm_conftest="conftest.[$]{ac_ext-c}"],
1242        [AC_MSG_ERROR([[current language is neither C nor C++]])])
1243dnl
1244AC_MSG_CHECKING([which $mm_lang compiler warning flags to use])
1245m4_ifval([$4], [mm_deprecation_flags=
1246])mm_tested_flags=
1247dnl
1248AS_CASE([$mm_enable_warnings],
1249        [no],    [mm_warning_flags=],
1250        [max],   [mm_warning_flags="$3"],
1251        [fatal], [mm_warning_flags="$3 -Werror"[]m4_ifval([$4], [
1252         for mm_prefix in $4
1253         do
1254           mm_deprecation_flags="$mm_deprecation_flags-D[$]{mm_prefix}_DISABLE_DEPRECATED "
1255         done])],
1256        [mm_warning_flags="$2"])
1257dnl
1258AS_IF([test "x$mm_warning_flags" != x],
1259[
1260  # Keep in mind that the dummy source must be devoid of any
1261  # problems that might cause diagnostics.
1262  AC_LANG_CONFTEST([AC_LANG_SOURCE([[
1263int main(int argc, char** argv) { return !argv ? 0 : argc; }
1264]])])
1265  for mm_flag in $mm_warning_flags
1266  do
1267    # Test whether the compiler accepts the flag.  Look at standard output,
1268    # since GCC only shows a warning message if an option is not supported.
1269    mm_cc_out=`$mm_cc $mm_tested_flags $mm_flag -c "$mm_conftest" 2>&1 || echo failed`
1270    rm -f "conftest.[$]{OBJEXT-o}"
1271
1272    AS_IF([test "x$mm_cc_out" = x],
1273          [AS_IF([test "x$mm_tested_flags" = x],
1274                 [mm_tested_flags=$mm_flag],
1275                 [mm_tested_flags="$mm_tested_flags $mm_flag"])],
1276[cat <<_MMEOF >&AS_MESSAGE_LOG_FD
1277$mm_cc: $mm_cc_out
1278_MMEOF
1279])
1280  done
1281  rm -f "$mm_conftest"
1282])
1283mm_all_flags=m4_ifval([$4], [$mm_deprecation_flags])$mm_tested_flags
1284AC_SUBST([$1], [$mm_all_flags])
1285dnl
1286test "x$mm_all_flags" != x || mm_all_flags=none
1287AC_MSG_RESULT([$mm_all_flags])[]dnl
1288])
1289
1290# Copyright (C) 2002-2014 Free Software Foundation, Inc.
1291#
1292# This file is free software; the Free Software Foundation
1293# gives unlimited permission to copy and/or distribute it,
1294# with or without modifications, as long as this notice is preserved.
1295
1296# AM_AUTOMAKE_VERSION(VERSION)
1297# ----------------------------
1298# Automake X.Y traces this macro to ensure aclocal.m4 has been
1299# generated from the m4 files accompanying Automake X.Y.
1300# (This private macro should not be called outside this file.)
1301AC_DEFUN([AM_AUTOMAKE_VERSION],
1302[am__api_version='1.15'
1303dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
1304dnl require some minimum version.  Point them to the right macro.
1305m4_if([$1], [1.15], [],
1306      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
1307])
1308
1309# _AM_AUTOCONF_VERSION(VERSION)
1310# -----------------------------
1311# aclocal traces this macro to find the Autoconf version.
1312# This is a private macro too.  Using m4_define simplifies
1313# the logic in aclocal, which can simply ignore this definition.
1314m4_define([_AM_AUTOCONF_VERSION], [])
1315
1316# AM_SET_CURRENT_AUTOMAKE_VERSION
1317# -------------------------------
1318# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
1319# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
1320AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
1321[AM_AUTOMAKE_VERSION([1.15])dnl
1322m4_ifndef([AC_AUTOCONF_VERSION],
1323  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
1324_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
1325
1326# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
1327
1328# Copyright (C) 2001-2014 Free Software Foundation, Inc.
1329#
1330# This file is free software; the Free Software Foundation
1331# gives unlimited permission to copy and/or distribute it,
1332# with or without modifications, as long as this notice is preserved.
1333
1334# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
1335# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
1336# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
1337#
1338# Of course, Automake must honor this variable whenever it calls a
1339# tool from the auxiliary directory.  The problem is that $srcdir (and
1340# therefore $ac_aux_dir as well) can be either absolute or relative,
1341# depending on how configure is run.  This is pretty annoying, since
1342# it makes $ac_aux_dir quite unusable in subdirectories: in the top
1343# source directory, any form will work fine, but in subdirectories a
1344# relative path needs to be adjusted first.
1345#
1346# $ac_aux_dir/missing
1347#    fails when called from a subdirectory if $ac_aux_dir is relative
1348# $top_srcdir/$ac_aux_dir/missing
1349#    fails if $ac_aux_dir is absolute,
1350#    fails when called from a subdirectory in a VPATH build with
1351#          a relative $ac_aux_dir
1352#
1353# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
1354# are both prefixed by $srcdir.  In an in-source build this is usually
1355# harmless because $srcdir is '.', but things will broke when you
1356# start a VPATH build or use an absolute $srcdir.
1357#
1358# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
1359# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
1360#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
1361# and then we would define $MISSING as
1362#   MISSING="\${SHELL} $am_aux_dir/missing"
1363# This will work as long as MISSING is not called from configure, because
1364# unfortunately $(top_srcdir) has no meaning in configure.
1365# However there are other variables, like CC, which are often used in
1366# configure, and could therefore not use this "fixed" $ac_aux_dir.
1367#
1368# Another solution, used here, is to always expand $ac_aux_dir to an
1369# absolute PATH.  The drawback is that using absolute paths prevent a
1370# configured tree to be moved without reconfiguration.
1371
1372AC_DEFUN([AM_AUX_DIR_EXPAND],
1373[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
1374# Expand $ac_aux_dir to an absolute path.
1375am_aux_dir=`cd "$ac_aux_dir" && pwd`
1376])
1377
1378# AM_CONDITIONAL                                            -*- Autoconf -*-
1379
1380# Copyright (C) 1997-2014 Free Software Foundation, Inc.
1381#
1382# This file is free software; the Free Software Foundation
1383# gives unlimited permission to copy and/or distribute it,
1384# with or without modifications, as long as this notice is preserved.
1385
1386# AM_CONDITIONAL(NAME, SHELL-CONDITION)
1387# -------------------------------------
1388# Define a conditional.
1389AC_DEFUN([AM_CONDITIONAL],
1390[AC_PREREQ([2.52])dnl
1391 m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
1392       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
1393AC_SUBST([$1_TRUE])dnl
1394AC_SUBST([$1_FALSE])dnl
1395_AM_SUBST_NOTMAKE([$1_TRUE])dnl
1396_AM_SUBST_NOTMAKE([$1_FALSE])dnl
1397m4_define([_AM_COND_VALUE_$1], [$2])dnl
1398if $2; then
1399  $1_TRUE=
1400  $1_FALSE='#'
1401else
1402  $1_TRUE='#'
1403  $1_FALSE=
1404fi
1405AC_CONFIG_COMMANDS_PRE(
1406[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
1407  AC_MSG_ERROR([[conditional "$1" was never defined.
1408Usually this means the macro was only invoked conditionally.]])
1409fi])])
1410
1411# Copyright (C) 1999-2014 Free Software Foundation, Inc.
1412#
1413# This file is free software; the Free Software Foundation
1414# gives unlimited permission to copy and/or distribute it,
1415# with or without modifications, as long as this notice is preserved.
1416
1417
1418# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
1419# written in clear, in which case automake, when reading aclocal.m4,
1420# will think it sees a *use*, and therefore will trigger all it's
1421# C support machinery.  Also note that it means that autoscan, seeing
1422# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
1423
1424
1425# _AM_DEPENDENCIES(NAME)
1426# ----------------------
1427# See how the compiler implements dependency checking.
1428# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
1429# We try a few techniques and use that to set a single cache variable.
1430#
1431# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
1432# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
1433# dependency, and given that the user is not expected to run this macro,
1434# just rely on AC_PROG_CC.
1435AC_DEFUN([_AM_DEPENDENCIES],
1436[AC_REQUIRE([AM_SET_DEPDIR])dnl
1437AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
1438AC_REQUIRE([AM_MAKE_INCLUDE])dnl
1439AC_REQUIRE([AM_DEP_TRACK])dnl
1440
1441m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
1442      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
1443      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
1444      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
1445      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
1446      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
1447                    [depcc="$$1"   am_compiler_list=])
1448
1449AC_CACHE_CHECK([dependency style of $depcc],
1450               [am_cv_$1_dependencies_compiler_type],
1451[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
1452  # We make a subdir and do the tests there.  Otherwise we can end up
1453  # making bogus files that we don't know about and never remove.  For
1454  # instance it was reported that on HP-UX the gcc test will end up
1455  # making a dummy file named 'D' -- because '-MD' means "put the output
1456  # in D".
1457  rm -rf conftest.dir
1458  mkdir conftest.dir
1459  # Copy depcomp to subdir because otherwise we won't find it if we're
1460  # using a relative directory.
1461  cp "$am_depcomp" conftest.dir
1462  cd conftest.dir
1463  # We will build objects and dependencies in a subdirectory because
1464  # it helps to detect inapplicable dependency modes.  For instance
1465  # both Tru64's cc and ICC support -MD to output dependencies as a
1466  # side effect of compilation, but ICC will put the dependencies in
1467  # the current directory while Tru64 will put them in the object
1468  # directory.
1469  mkdir sub
1470
1471  am_cv_$1_dependencies_compiler_type=none
1472  if test "$am_compiler_list" = ""; then
1473     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
1474  fi
1475  am__universal=false
1476  m4_case([$1], [CC],
1477    [case " $depcc " in #(
1478     *\ -arch\ *\ -arch\ *) am__universal=true ;;
1479     esac],
1480    [CXX],
1481    [case " $depcc " in #(
1482     *\ -arch\ *\ -arch\ *) am__universal=true ;;
1483     esac])
1484
1485  for depmode in $am_compiler_list; do
1486    # Setup a source with many dependencies, because some compilers
1487    # like to wrap large dependency lists on column 80 (with \), and
1488    # we should not choose a depcomp mode which is confused by this.
1489    #
1490    # We need to recreate these files for each test, as the compiler may
1491    # overwrite some of them when testing with obscure command lines.
1492    # This happens at least with the AIX C compiler.
1493    : > sub/conftest.c
1494    for i in 1 2 3 4 5 6; do
1495      echo '#include "conftst'$i'.h"' >> sub/conftest.c
1496      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
1497      # Solaris 10 /bin/sh.
1498      echo '/* dummy */' > sub/conftst$i.h
1499    done
1500    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
1501
1502    # We check with '-c' and '-o' for the sake of the "dashmstdout"
1503    # mode.  It turns out that the SunPro C++ compiler does not properly
1504    # handle '-M -o', and we need to detect this.  Also, some Intel
1505    # versions had trouble with output in subdirs.
1506    am__obj=sub/conftest.${OBJEXT-o}
1507    am__minus_obj="-o $am__obj"
1508    case $depmode in
1509    gcc)
1510      # This depmode causes a compiler race in universal mode.
1511      test "$am__universal" = false || continue
1512      ;;
1513    nosideeffect)
1514      # After this tag, mechanisms are not by side-effect, so they'll
1515      # only be used when explicitly requested.
1516      if test "x$enable_dependency_tracking" = xyes; then
1517	continue
1518      else
1519	break
1520      fi
1521      ;;
1522    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
1523      # This compiler won't grok '-c -o', but also, the minuso test has
1524      # not run yet.  These depmodes are late enough in the game, and
1525      # so weak that their functioning should not be impacted.
1526      am__obj=conftest.${OBJEXT-o}
1527      am__minus_obj=
1528      ;;
1529    none) break ;;
1530    esac
1531    if depmode=$depmode \
1532       source=sub/conftest.c object=$am__obj \
1533       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
1534       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
1535         >/dev/null 2>conftest.err &&
1536       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
1537       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
1538       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
1539       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
1540      # icc doesn't choke on unknown options, it will just issue warnings
1541      # or remarks (even with -Werror).  So we grep stderr for any message
1542      # that says an option was ignored or not supported.
1543      # When given -MP, icc 7.0 and 7.1 complain thusly:
1544      #   icc: Command line warning: ignoring option '-M'; no argument required
1545      # The diagnosis changed in icc 8.0:
1546      #   icc: Command line remark: option '-MP' not supported
1547      if (grep 'ignoring option' conftest.err ||
1548          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
1549        am_cv_$1_dependencies_compiler_type=$depmode
1550        break
1551      fi
1552    fi
1553  done
1554
1555  cd ..
1556  rm -rf conftest.dir
1557else
1558  am_cv_$1_dependencies_compiler_type=none
1559fi
1560])
1561AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
1562AM_CONDITIONAL([am__fastdep$1], [
1563  test "x$enable_dependency_tracking" != xno \
1564  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
1565])
1566
1567
1568# AM_SET_DEPDIR
1569# -------------
1570# Choose a directory name for dependency files.
1571# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
1572AC_DEFUN([AM_SET_DEPDIR],
1573[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
1574AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
1575])
1576
1577
1578# AM_DEP_TRACK
1579# ------------
1580AC_DEFUN([AM_DEP_TRACK],
1581[AC_ARG_ENABLE([dependency-tracking], [dnl
1582AS_HELP_STRING(
1583  [--enable-dependency-tracking],
1584  [do not reject slow dependency extractors])
1585AS_HELP_STRING(
1586  [--disable-dependency-tracking],
1587  [speeds up one-time build])])
1588if test "x$enable_dependency_tracking" != xno; then
1589  am_depcomp="$ac_aux_dir/depcomp"
1590  AMDEPBACKSLASH='\'
1591  am__nodep='_no'
1592fi
1593AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
1594AC_SUBST([AMDEPBACKSLASH])dnl
1595_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
1596AC_SUBST([am__nodep])dnl
1597_AM_SUBST_NOTMAKE([am__nodep])dnl
1598])
1599
1600# Generate code to set up dependency tracking.              -*- Autoconf -*-
1601
1602# Copyright (C) 1999-2014 Free Software Foundation, Inc.
1603#
1604# This file is free software; the Free Software Foundation
1605# gives unlimited permission to copy and/or distribute it,
1606# with or without modifications, as long as this notice is preserved.
1607
1608
1609# _AM_OUTPUT_DEPENDENCY_COMMANDS
1610# ------------------------------
1611AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
1612[{
1613  # Older Autoconf quotes --file arguments for eval, but not when files
1614  # are listed without --file.  Let's play safe and only enable the eval
1615  # if we detect the quoting.
1616  case $CONFIG_FILES in
1617  *\'*) eval set x "$CONFIG_FILES" ;;
1618  *)   set x $CONFIG_FILES ;;
1619  esac
1620  shift
1621  for mf
1622  do
1623    # Strip MF so we end up with the name of the file.
1624    mf=`echo "$mf" | sed -e 's/:.*$//'`
1625    # Check whether this is an Automake generated Makefile or not.
1626    # We used to match only the files named 'Makefile.in', but
1627    # some people rename them; so instead we look at the file content.
1628    # Grep'ing the first line is not enough: some people post-process
1629    # each Makefile.in and add a new line on top of each file to say so.
1630    # Grep'ing the whole file is not good either: AIX grep has a line
1631    # limit of 2048, but all sed's we know have understand at least 4000.
1632    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
1633      dirpart=`AS_DIRNAME("$mf")`
1634    else
1635      continue
1636    fi
1637    # Extract the definition of DEPDIR, am__include, and am__quote
1638    # from the Makefile without running 'make'.
1639    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
1640    test -z "$DEPDIR" && continue
1641    am__include=`sed -n 's/^am__include = //p' < "$mf"`
1642    test -z "$am__include" && continue
1643    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
1644    # Find all dependency output files, they are included files with
1645    # $(DEPDIR) in their names.  We invoke sed twice because it is the
1646    # simplest approach to changing $(DEPDIR) to its actual value in the
1647    # expansion.
1648    for file in `sed -n "
1649      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
1650	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
1651      # Make sure the directory exists.
1652      test -f "$dirpart/$file" && continue
1653      fdir=`AS_DIRNAME(["$file"])`
1654      AS_MKDIR_P([$dirpart/$fdir])
1655      # echo "creating $dirpart/$file"
1656      echo '# dummy' > "$dirpart/$file"
1657    done
1658  done
1659}
1660])# _AM_OUTPUT_DEPENDENCY_COMMANDS
1661
1662
1663# AM_OUTPUT_DEPENDENCY_COMMANDS
1664# -----------------------------
1665# This macro should only be invoked once -- use via AC_REQUIRE.
1666#
1667# This code is only required when automatic dependency tracking
1668# is enabled.  FIXME.  This creates each '.P' file that we will
1669# need in order to bootstrap the dependency handling code.
1670AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
1671[AC_CONFIG_COMMANDS([depfiles],
1672     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
1673     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
1674])
1675
1676# Do all the work for Automake.                             -*- Autoconf -*-
1677
1678# Copyright (C) 1996-2014 Free Software Foundation, Inc.
1679#
1680# This file is free software; the Free Software Foundation
1681# gives unlimited permission to copy and/or distribute it,
1682# with or without modifications, as long as this notice is preserved.
1683
1684# This macro actually does too much.  Some checks are only needed if
1685# your package does certain things.  But this isn't really a big deal.
1686
1687dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
1688m4_define([AC_PROG_CC],
1689m4_defn([AC_PROG_CC])
1690[_AM_PROG_CC_C_O
1691])
1692
1693# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
1694# AM_INIT_AUTOMAKE([OPTIONS])
1695# -----------------------------------------------
1696# The call with PACKAGE and VERSION arguments is the old style
1697# call (pre autoconf-2.50), which is being phased out.  PACKAGE
1698# and VERSION should now be passed to AC_INIT and removed from
1699# the call to AM_INIT_AUTOMAKE.
1700# We support both call styles for the transition.  After
1701# the next Automake release, Autoconf can make the AC_INIT
1702# arguments mandatory, and then we can depend on a new Autoconf
1703# release and drop the old call support.
1704AC_DEFUN([AM_INIT_AUTOMAKE],
1705[AC_PREREQ([2.65])dnl
1706dnl Autoconf wants to disallow AM_ names.  We explicitly allow
1707dnl the ones we care about.
1708m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
1709AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
1710AC_REQUIRE([AC_PROG_INSTALL])dnl
1711if test "`cd $srcdir && pwd`" != "`pwd`"; then
1712  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
1713  # is not polluted with repeated "-I."
1714  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
1715  # test to see if srcdir already configured
1716  if test -f $srcdir/config.status; then
1717    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
1718  fi
1719fi
1720
1721# test whether we have cygpath
1722if test -z "$CYGPATH_W"; then
1723  if (cygpath --version) >/dev/null 2>/dev/null; then
1724    CYGPATH_W='cygpath -w'
1725  else
1726    CYGPATH_W=echo
1727  fi
1728fi
1729AC_SUBST([CYGPATH_W])
1730
1731# Define the identity of the package.
1732dnl Distinguish between old-style and new-style calls.
1733m4_ifval([$2],
1734[AC_DIAGNOSE([obsolete],
1735             [$0: two- and three-arguments forms are deprecated.])
1736m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
1737 AC_SUBST([PACKAGE], [$1])dnl
1738 AC_SUBST([VERSION], [$2])],
1739[_AM_SET_OPTIONS([$1])dnl
1740dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
1741m4_if(
1742  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
1743  [ok:ok],,
1744  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
1745 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
1746 AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
1747
1748_AM_IF_OPTION([no-define],,
1749[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
1750 AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
1751
1752# Some tools Automake needs.
1753AC_REQUIRE([AM_SANITY_CHECK])dnl
1754AC_REQUIRE([AC_ARG_PROGRAM])dnl
1755AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
1756AM_MISSING_PROG([AUTOCONF], [autoconf])
1757AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
1758AM_MISSING_PROG([AUTOHEADER], [autoheader])
1759AM_MISSING_PROG([MAKEINFO], [makeinfo])
1760AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
1761AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
1762AC_REQUIRE([AC_PROG_MKDIR_P])dnl
1763# For better backward compatibility.  To be removed once Automake 1.9.x
1764# dies out for good.  For more background, see:
1765# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
1766# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
1767AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
1768# We need awk for the "check" target (and possibly the TAP driver).  The
1769# system "awk" is bad on some platforms.
1770AC_REQUIRE([AC_PROG_AWK])dnl
1771AC_REQUIRE([AC_PROG_MAKE_SET])dnl
1772AC_REQUIRE([AM_SET_LEADING_DOT])dnl
1773_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
1774	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
1775			     [_AM_PROG_TAR([v7])])])
1776_AM_IF_OPTION([no-dependencies],,
1777[AC_PROVIDE_IFELSE([AC_PROG_CC],
1778		  [_AM_DEPENDENCIES([CC])],
1779		  [m4_define([AC_PROG_CC],
1780			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
1781AC_PROVIDE_IFELSE([AC_PROG_CXX],
1782		  [_AM_DEPENDENCIES([CXX])],
1783		  [m4_define([AC_PROG_CXX],
1784			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
1785AC_PROVIDE_IFELSE([AC_PROG_OBJC],
1786		  [_AM_DEPENDENCIES([OBJC])],
1787		  [m4_define([AC_PROG_OBJC],
1788			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
1789AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
1790		  [_AM_DEPENDENCIES([OBJCXX])],
1791		  [m4_define([AC_PROG_OBJCXX],
1792			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
1793])
1794AC_REQUIRE([AM_SILENT_RULES])dnl
1795dnl The testsuite driver may need to know about EXEEXT, so add the
1796dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
1797dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
1798AC_CONFIG_COMMANDS_PRE(dnl
1799[m4_provide_if([_AM_COMPILER_EXEEXT],
1800  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
1801
1802# POSIX will say in a future version that running "rm -f" with no argument
1803# is OK; and we want to be able to make that assumption in our Makefile
1804# recipes.  So use an aggressive probe to check that the usage we want is
1805# actually supported "in the wild" to an acceptable degree.
1806# See automake bug#10828.
1807# To make any issue more visible, cause the running configure to be aborted
1808# by default if the 'rm' program in use doesn't match our expectations; the
1809# user can still override this though.
1810if rm -f && rm -fr && rm -rf; then : OK; else
1811  cat >&2 <<'END'
1812Oops!
1813
1814Your 'rm' program seems unable to run without file operands specified
1815on the command line, even when the '-f' option is present.  This is contrary
1816to the behaviour of most rm programs out there, and not conforming with
1817the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
1818
1819Please tell bug-automake@gnu.org about your system, including the value
1820of your $PATH and any error possibly output before this message.  This
1821can help us improve future automake versions.
1822
1823END
1824  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
1825    echo 'Configuration will proceed anyway, since you have set the' >&2
1826    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
1827    echo >&2
1828  else
1829    cat >&2 <<'END'
1830Aborting the configuration process, to ensure you take notice of the issue.
1831
1832You can download and install GNU coreutils to get an 'rm' implementation
1833that behaves properly: <http://www.gnu.org/software/coreutils/>.
1834
1835If you want to complete the configuration process using your problematic
1836'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
1837to "yes", and re-run configure.
1838
1839END
1840    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
1841  fi
1842fi
1843dnl The trailing newline in this macro's definition is deliberate, for
1844dnl backward compatibility and to allow trailing 'dnl'-style comments
1845dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
1846])
1847
1848dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
1849dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
1850dnl mangled by Autoconf and run in a shell conditional statement.
1851m4_define([_AC_COMPILER_EXEEXT],
1852m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
1853
1854# When config.status generates a header, we must update the stamp-h file.
1855# This file resides in the same directory as the config header
1856# that is generated.  The stamp files are numbered to have different names.
1857
1858# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
1859# loop where config.status creates the headers, so we can generate
1860# our stamp files there.
1861AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
1862[# Compute $1's index in $config_headers.
1863_am_arg=$1
1864_am_stamp_count=1
1865for _am_header in $config_headers :; do
1866  case $_am_header in
1867    $_am_arg | $_am_arg:* )
1868      break ;;
1869    * )
1870      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
1871  esac
1872done
1873echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
1874
1875# Copyright (C) 2001-2014 Free Software Foundation, Inc.
1876#
1877# This file is free software; the Free Software Foundation
1878# gives unlimited permission to copy and/or distribute it,
1879# with or without modifications, as long as this notice is preserved.
1880
1881# AM_PROG_INSTALL_SH
1882# ------------------
1883# Define $install_sh.
1884AC_DEFUN([AM_PROG_INSTALL_SH],
1885[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
1886if test x"${install_sh+set}" != xset; then
1887  case $am_aux_dir in
1888  *\ * | *\	*)
1889    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
1890  *)
1891    install_sh="\${SHELL} $am_aux_dir/install-sh"
1892  esac
1893fi
1894AC_SUBST([install_sh])])
1895
1896# Copyright (C) 2003-2014 Free Software Foundation, Inc.
1897#
1898# This file is free software; the Free Software Foundation
1899# gives unlimited permission to copy and/or distribute it,
1900# with or without modifications, as long as this notice is preserved.
1901
1902# Check whether the underlying file-system supports filenames
1903# with a leading dot.  For instance MS-DOS doesn't.
1904AC_DEFUN([AM_SET_LEADING_DOT],
1905[rm -rf .tst 2>/dev/null
1906mkdir .tst 2>/dev/null
1907if test -d .tst; then
1908  am__leading_dot=.
1909else
1910  am__leading_dot=_
1911fi
1912rmdir .tst 2>/dev/null
1913AC_SUBST([am__leading_dot])])
1914
1915# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
1916# From Jim Meyering
1917
1918# Copyright (C) 1996-2014 Free Software Foundation, Inc.
1919#
1920# This file is free software; the Free Software Foundation
1921# gives unlimited permission to copy and/or distribute it,
1922# with or without modifications, as long as this notice is preserved.
1923
1924# AM_MAINTAINER_MODE([DEFAULT-MODE])
1925# ----------------------------------
1926# Control maintainer-specific portions of Makefiles.
1927# Default is to disable them, unless 'enable' is passed literally.
1928# For symmetry, 'disable' may be passed as well.  Anyway, the user
1929# can override the default with the --enable/--disable switch.
1930AC_DEFUN([AM_MAINTAINER_MODE],
1931[m4_case(m4_default([$1], [disable]),
1932       [enable], [m4_define([am_maintainer_other], [disable])],
1933       [disable], [m4_define([am_maintainer_other], [enable])],
1934       [m4_define([am_maintainer_other], [enable])
1935        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
1936AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
1937  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
1938  AC_ARG_ENABLE([maintainer-mode],
1939    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
1940      am_maintainer_other[ make rules and dependencies not useful
1941      (and sometimes confusing) to the casual installer])],
1942    [USE_MAINTAINER_MODE=$enableval],
1943    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
1944  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
1945  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
1946  MAINT=$MAINTAINER_MODE_TRUE
1947  AC_SUBST([MAINT])dnl
1948]
1949)
1950
1951# Check to see how 'make' treats includes.	            -*- Autoconf -*-
1952
1953# Copyright (C) 2001-2014 Free Software Foundation, Inc.
1954#
1955# This file is free software; the Free Software Foundation
1956# gives unlimited permission to copy and/or distribute it,
1957# with or without modifications, as long as this notice is preserved.
1958
1959# AM_MAKE_INCLUDE()
1960# -----------------
1961# Check to see how make treats includes.
1962AC_DEFUN([AM_MAKE_INCLUDE],
1963[am_make=${MAKE-make}
1964cat > confinc << 'END'
1965am__doit:
1966	@echo this is the am__doit target
1967.PHONY: am__doit
1968END
1969# If we don't find an include directive, just comment out the code.
1970AC_MSG_CHECKING([for style of include used by $am_make])
1971am__include="#"
1972am__quote=
1973_am_result=none
1974# First try GNU make style include.
1975echo "include confinc" > confmf
1976# Ignore all kinds of additional output from 'make'.
1977case `$am_make -s -f confmf 2> /dev/null` in #(
1978*the\ am__doit\ target*)
1979  am__include=include
1980  am__quote=
1981  _am_result=GNU
1982  ;;
1983esac
1984# Now try BSD make style include.
1985if test "$am__include" = "#"; then
1986   echo '.include "confinc"' > confmf
1987   case `$am_make -s -f confmf 2> /dev/null` in #(
1988   *the\ am__doit\ target*)
1989     am__include=.include
1990     am__quote="\""
1991     _am_result=BSD
1992     ;;
1993   esac
1994fi
1995AC_SUBST([am__include])
1996AC_SUBST([am__quote])
1997AC_MSG_RESULT([$_am_result])
1998rm -f confinc confmf
1999])
2000
2001# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
2002
2003# Copyright (C) 1997-2014 Free Software Foundation, Inc.
2004#
2005# This file is free software; the Free Software Foundation
2006# gives unlimited permission to copy and/or distribute it,
2007# with or without modifications, as long as this notice is preserved.
2008
2009# AM_MISSING_PROG(NAME, PROGRAM)
2010# ------------------------------
2011AC_DEFUN([AM_MISSING_PROG],
2012[AC_REQUIRE([AM_MISSING_HAS_RUN])
2013$1=${$1-"${am_missing_run}$2"}
2014AC_SUBST($1)])
2015
2016# AM_MISSING_HAS_RUN
2017# ------------------
2018# Define MISSING if not defined so far and test if it is modern enough.
2019# If it is, set am_missing_run to use it, otherwise, to nothing.
2020AC_DEFUN([AM_MISSING_HAS_RUN],
2021[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
2022AC_REQUIRE_AUX_FILE([missing])dnl
2023if test x"${MISSING+set}" != xset; then
2024  case $am_aux_dir in
2025  *\ * | *\	*)
2026    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
2027  *)
2028    MISSING="\${SHELL} $am_aux_dir/missing" ;;
2029  esac
2030fi
2031# Use eval to expand $SHELL
2032if eval "$MISSING --is-lightweight"; then
2033  am_missing_run="$MISSING "
2034else
2035  am_missing_run=
2036  AC_MSG_WARN(['missing' script is too old or missing])
2037fi
2038])
2039
2040# Helper functions for option handling.                     -*- Autoconf -*-
2041
2042# Copyright (C) 2001-2014 Free Software Foundation, Inc.
2043#
2044# This file is free software; the Free Software Foundation
2045# gives unlimited permission to copy and/or distribute it,
2046# with or without modifications, as long as this notice is preserved.
2047
2048# _AM_MANGLE_OPTION(NAME)
2049# -----------------------
2050AC_DEFUN([_AM_MANGLE_OPTION],
2051[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
2052
2053# _AM_SET_OPTION(NAME)
2054# --------------------
2055# Set option NAME.  Presently that only means defining a flag for this option.
2056AC_DEFUN([_AM_SET_OPTION],
2057[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
2058
2059# _AM_SET_OPTIONS(OPTIONS)
2060# ------------------------
2061# OPTIONS is a space-separated list of Automake options.
2062AC_DEFUN([_AM_SET_OPTIONS],
2063[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
2064
2065# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
2066# -------------------------------------------
2067# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
2068AC_DEFUN([_AM_IF_OPTION],
2069[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
2070
2071# Copyright (C) 1999-2014 Free Software Foundation, Inc.
2072#
2073# This file is free software; the Free Software Foundation
2074# gives unlimited permission to copy and/or distribute it,
2075# with or without modifications, as long as this notice is preserved.
2076
2077# _AM_PROG_CC_C_O
2078# ---------------
2079# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
2080# to automatically call this.
2081AC_DEFUN([_AM_PROG_CC_C_O],
2082[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
2083AC_REQUIRE_AUX_FILE([compile])dnl
2084AC_LANG_PUSH([C])dnl
2085AC_CACHE_CHECK(
2086  [whether $CC understands -c and -o together],
2087  [am_cv_prog_cc_c_o],
2088  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
2089  # Make sure it works both with $CC and with simple cc.
2090  # Following AC_PROG_CC_C_O, we do the test twice because some
2091  # compilers refuse to overwrite an existing .o file with -o,
2092  # though they will create one.
2093  am_cv_prog_cc_c_o=yes
2094  for am_i in 1 2; do
2095    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
2096         && test -f conftest2.$ac_objext; then
2097      : OK
2098    else
2099      am_cv_prog_cc_c_o=no
2100      break
2101    fi
2102  done
2103  rm -f core conftest*
2104  unset am_i])
2105if test "$am_cv_prog_cc_c_o" != yes; then
2106   # Losing compiler, so override with the script.
2107   # FIXME: It is wrong to rewrite CC.
2108   # But if we don't then we get into trouble of one sort or another.
2109   # A longer-term fix would be to have automake use am__CC in this case,
2110   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
2111   CC="$am_aux_dir/compile $CC"
2112fi
2113AC_LANG_POP([C])])
2114
2115# For backward compatibility.
2116AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
2117
2118# Copyright (C) 2001-2014 Free Software Foundation, Inc.
2119#
2120# This file is free software; the Free Software Foundation
2121# gives unlimited permission to copy and/or distribute it,
2122# with or without modifications, as long as this notice is preserved.
2123
2124# AM_RUN_LOG(COMMAND)
2125# -------------------
2126# Run COMMAND, save the exit status in ac_status, and log it.
2127# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
2128AC_DEFUN([AM_RUN_LOG],
2129[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
2130   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
2131   ac_status=$?
2132   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2133   (exit $ac_status); }])
2134
2135# Check to make sure that the build environment is sane.    -*- Autoconf -*-
2136
2137# Copyright (C) 1996-2014 Free Software Foundation, Inc.
2138#
2139# This file is free software; the Free Software Foundation
2140# gives unlimited permission to copy and/or distribute it,
2141# with or without modifications, as long as this notice is preserved.
2142
2143# AM_SANITY_CHECK
2144# ---------------
2145AC_DEFUN([AM_SANITY_CHECK],
2146[AC_MSG_CHECKING([whether build environment is sane])
2147# Reject unsafe characters in $srcdir or the absolute working directory
2148# name.  Accept space and tab only in the latter.
2149am_lf='
2150'
2151case `pwd` in
2152  *[[\\\"\#\$\&\'\`$am_lf]]*)
2153    AC_MSG_ERROR([unsafe absolute working directory name]);;
2154esac
2155case $srcdir in
2156  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
2157    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
2158esac
2159
2160# Do 'set' in a subshell so we don't clobber the current shell's
2161# arguments.  Must try -L first in case configure is actually a
2162# symlink; some systems play weird games with the mod time of symlinks
2163# (eg FreeBSD returns the mod time of the symlink's containing
2164# directory).
2165if (
2166   am_has_slept=no
2167   for am_try in 1 2; do
2168     echo "timestamp, slept: $am_has_slept" > conftest.file
2169     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
2170     if test "$[*]" = "X"; then
2171	# -L didn't work.
2172	set X `ls -t "$srcdir/configure" conftest.file`
2173     fi
2174     if test "$[*]" != "X $srcdir/configure conftest.file" \
2175	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
2176
2177	# If neither matched, then we have a broken ls.  This can happen
2178	# if, for instance, CONFIG_SHELL is bash and it inherits a
2179	# broken ls alias from the environment.  This has actually
2180	# happened.  Such a system could not be considered "sane".
2181	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
2182  alias in your environment])
2183     fi
2184     if test "$[2]" = conftest.file || test $am_try -eq 2; then
2185       break
2186     fi
2187     # Just in case.
2188     sleep 1
2189     am_has_slept=yes
2190   done
2191   test "$[2]" = conftest.file
2192   )
2193then
2194   # Ok.
2195   :
2196else
2197   AC_MSG_ERROR([newly created file is older than distributed files!
2198Check your system clock])
2199fi
2200AC_MSG_RESULT([yes])
2201# If we didn't sleep, we still need to ensure time stamps of config.status and
2202# generated files are strictly newer.
2203am_sleep_pid=
2204if grep 'slept: no' conftest.file >/dev/null 2>&1; then
2205  ( sleep 1 ) &
2206  am_sleep_pid=$!
2207fi
2208AC_CONFIG_COMMANDS_PRE(
2209  [AC_MSG_CHECKING([that generated files are newer than configure])
2210   if test -n "$am_sleep_pid"; then
2211     # Hide warnings about reused PIDs.
2212     wait $am_sleep_pid 2>/dev/null
2213   fi
2214   AC_MSG_RESULT([done])])
2215rm -f conftest.file
2216])
2217
2218# Copyright (C) 2009-2014 Free Software Foundation, Inc.
2219#
2220# This file is free software; the Free Software Foundation
2221# gives unlimited permission to copy and/or distribute it,
2222# with or without modifications, as long as this notice is preserved.
2223
2224# AM_SILENT_RULES([DEFAULT])
2225# --------------------------
2226# Enable less verbose build rules; with the default set to DEFAULT
2227# ("yes" being less verbose, "no" or empty being verbose).
2228AC_DEFUN([AM_SILENT_RULES],
2229[AC_ARG_ENABLE([silent-rules], [dnl
2230AS_HELP_STRING(
2231  [--enable-silent-rules],
2232  [less verbose build output (undo: "make V=1")])
2233AS_HELP_STRING(
2234  [--disable-silent-rules],
2235  [verbose build output (undo: "make V=0")])dnl
2236])
2237case $enable_silent_rules in @%:@ (((
2238  yes) AM_DEFAULT_VERBOSITY=0;;
2239   no) AM_DEFAULT_VERBOSITY=1;;
2240    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
2241esac
2242dnl
2243dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
2244dnl do not support nested variable expansions.
2245dnl See automake bug#9928 and bug#10237.
2246am_make=${MAKE-make}
2247AC_CACHE_CHECK([whether $am_make supports nested variables],
2248   [am_cv_make_support_nested_variables],
2249   [if AS_ECHO([['TRUE=$(BAR$(V))
2250BAR0=false
2251BAR1=true
2252V=1
2253am__doit:
2254	@$(TRUE)
2255.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
2256  am_cv_make_support_nested_variables=yes
2257else
2258  am_cv_make_support_nested_variables=no
2259fi])
2260if test $am_cv_make_support_nested_variables = yes; then
2261  dnl Using '$V' instead of '$(V)' breaks IRIX make.
2262  AM_V='$(V)'
2263  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
2264else
2265  AM_V=$AM_DEFAULT_VERBOSITY
2266  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
2267fi
2268AC_SUBST([AM_V])dnl
2269AM_SUBST_NOTMAKE([AM_V])dnl
2270AC_SUBST([AM_DEFAULT_V])dnl
2271AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
2272AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
2273AM_BACKSLASH='\'
2274AC_SUBST([AM_BACKSLASH])dnl
2275_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
2276])
2277
2278# Copyright (C) 2001-2014 Free Software Foundation, Inc.
2279#
2280# This file is free software; the Free Software Foundation
2281# gives unlimited permission to copy and/or distribute it,
2282# with or without modifications, as long as this notice is preserved.
2283
2284# AM_PROG_INSTALL_STRIP
2285# ---------------------
2286# One issue with vendor 'install' (even GNU) is that you can't
2287# specify the program used to strip binaries.  This is especially
2288# annoying in cross-compiling environments, where the build's strip
2289# is unlikely to handle the host's binaries.
2290# Fortunately install-sh will honor a STRIPPROG variable, so we
2291# always use install-sh in "make install-strip", and initialize
2292# STRIPPROG with the value of the STRIP variable (set by the user).
2293AC_DEFUN([AM_PROG_INSTALL_STRIP],
2294[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
2295# Installed binaries are usually stripped using 'strip' when the user
2296# run "make install-strip".  However 'strip' might not be the right
2297# tool to use in cross-compilation environments, therefore Automake
2298# will honor the 'STRIP' environment variable to overrule this program.
2299dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
2300if test "$cross_compiling" != no; then
2301  AC_CHECK_TOOL([STRIP], [strip], :)
2302fi
2303INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
2304AC_SUBST([INSTALL_STRIP_PROGRAM])])
2305
2306# Copyright (C) 2006-2014 Free Software Foundation, Inc.
2307#
2308# This file is free software; the Free Software Foundation
2309# gives unlimited permission to copy and/or distribute it,
2310# with or without modifications, as long as this notice is preserved.
2311
2312# _AM_SUBST_NOTMAKE(VARIABLE)
2313# ---------------------------
2314# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
2315# This macro is traced by Automake.
2316AC_DEFUN([_AM_SUBST_NOTMAKE])
2317
2318# AM_SUBST_NOTMAKE(VARIABLE)
2319# --------------------------
2320# Public sister of _AM_SUBST_NOTMAKE.
2321AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
2322
2323# Check how to create a tarball.                            -*- Autoconf -*-
2324
2325# Copyright (C) 2004-2014 Free Software Foundation, Inc.
2326#
2327# This file is free software; the Free Software Foundation
2328# gives unlimited permission to copy and/or distribute it,
2329# with or without modifications, as long as this notice is preserved.
2330
2331# _AM_PROG_TAR(FORMAT)
2332# --------------------
2333# Check how to create a tarball in format FORMAT.
2334# FORMAT should be one of 'v7', 'ustar', or 'pax'.
2335#
2336# Substitute a variable $(am__tar) that is a command
2337# writing to stdout a FORMAT-tarball containing the directory
2338# $tardir.
2339#     tardir=directory && $(am__tar) > result.tar
2340#
2341# Substitute a variable $(am__untar) that extract such
2342# a tarball read from stdin.
2343#     $(am__untar) < result.tar
2344#
2345AC_DEFUN([_AM_PROG_TAR],
2346[# Always define AMTAR for backward compatibility.  Yes, it's still used
2347# in the wild :-(  We should find a proper way to deprecate it ...
2348AC_SUBST([AMTAR], ['$${TAR-tar}'])
2349
2350# We'll loop over all known methods to create a tar archive until one works.
2351_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
2352
2353m4_if([$1], [v7],
2354  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
2355
2356  [m4_case([$1],
2357    [ustar],
2358     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
2359      # There is notably a 21 bits limit for the UID and the GID.  In fact,
2360      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
2361      # and bug#13588).
2362      am_max_uid=2097151 # 2^21 - 1
2363      am_max_gid=$am_max_uid
2364      # The $UID and $GID variables are not portable, so we need to resort
2365      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
2366      # below are definitely unexpected, so allow the users to see them
2367      # (that is, avoid stderr redirection).
2368      am_uid=`id -u || echo unknown`
2369      am_gid=`id -g || echo unknown`
2370      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
2371      if test $am_uid -le $am_max_uid; then
2372         AC_MSG_RESULT([yes])
2373      else
2374         AC_MSG_RESULT([no])
2375         _am_tools=none
2376      fi
2377      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
2378      if test $am_gid -le $am_max_gid; then
2379         AC_MSG_RESULT([yes])
2380      else
2381        AC_MSG_RESULT([no])
2382        _am_tools=none
2383      fi],
2384
2385  [pax],
2386    [],
2387
2388  [m4_fatal([Unknown tar format])])
2389
2390  AC_MSG_CHECKING([how to create a $1 tar archive])
2391
2392  # Go ahead even if we have the value already cached.  We do so because we
2393  # need to set the values for the 'am__tar' and 'am__untar' variables.
2394  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
2395
2396  for _am_tool in $_am_tools; do
2397    case $_am_tool in
2398    gnutar)
2399      for _am_tar in tar gnutar gtar; do
2400        AM_RUN_LOG([$_am_tar --version]) && break
2401      done
2402      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
2403      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
2404      am__untar="$_am_tar -xf -"
2405      ;;
2406    plaintar)
2407      # Must skip GNU tar: if it does not support --format= it doesn't create
2408      # ustar tarball either.
2409      (tar --version) >/dev/null 2>&1 && continue
2410      am__tar='tar chf - "$$tardir"'
2411      am__tar_='tar chf - "$tardir"'
2412      am__untar='tar xf -'
2413      ;;
2414    pax)
2415      am__tar='pax -L -x $1 -w "$$tardir"'
2416      am__tar_='pax -L -x $1 -w "$tardir"'
2417      am__untar='pax -r'
2418      ;;
2419    cpio)
2420      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
2421      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
2422      am__untar='cpio -i -H $1 -d'
2423      ;;
2424    none)
2425      am__tar=false
2426      am__tar_=false
2427      am__untar=false
2428      ;;
2429    esac
2430
2431    # If the value was cached, stop now.  We just wanted to have am__tar
2432    # and am__untar set.
2433    test -n "${am_cv_prog_tar_$1}" && break
2434
2435    # tar/untar a dummy directory, and stop if the command works.
2436    rm -rf conftest.dir
2437    mkdir conftest.dir
2438    echo GrepMe > conftest.dir/file
2439    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
2440    rm -rf conftest.dir
2441    if test -s conftest.tar; then
2442      AM_RUN_LOG([$am__untar <conftest.tar])
2443      AM_RUN_LOG([cat conftest.dir/file])
2444      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
2445    fi
2446  done
2447  rm -rf conftest.dir
2448
2449  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
2450  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
2451
2452AC_SUBST([am__tar])
2453AC_SUBST([am__untar])
2454]) # _AM_PROG_TAR
2455
2456m4_include([build/libtool.m4])
2457m4_include([build/ltoptions.m4])
2458m4_include([build/ltsugar.m4])
2459m4_include([build/ltversion.m4])
2460m4_include([build/lt~obsolete.m4])
2461