Imported Upstream version 2.99.9 (LGPL3)
[platform/upstream/libsigc++.git] / aclocal.m4
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
14 m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
15 m4_ifndef([AC_AUTOCONF_VERSION],
16   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
17 m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
18 [m4_warning([this file was generated for autoconf 2.69.
19 You have another version of autoconf.  It may work, but is not guaranteed to.
20 If you have problems, you may need to regenerate the build system entirely.
21 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
22
23 dnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
24 dnl serial 11 (pkg-config-0.29.1)
25 dnl
26 dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
27 dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
28 dnl
29 dnl This program is free software; you can redistribute it and/or modify
30 dnl it under the terms of the GNU General Public License as published by
31 dnl the Free Software Foundation; either version 2 of the License, or
32 dnl (at your option) any later version.
33 dnl
34 dnl This program is distributed in the hope that it will be useful, but
35 dnl WITHOUT ANY WARRANTY; without even the implied warranty of
36 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
37 dnl General Public License for more details.
38 dnl
39 dnl You should have received a copy of the GNU General Public License
40 dnl along with this program; if not, write to the Free Software
41 dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
42 dnl 02111-1307, USA.
43 dnl
44 dnl As a special exception to the GNU General Public License, if you
45 dnl distribute this file as part of a program that contains a
46 dnl configuration script generated by Autoconf, you may include it under
47 dnl the same distribution terms that you use for the rest of that
48 dnl program.
49
50 dnl PKG_PREREQ(MIN-VERSION)
51 dnl -----------------------
52 dnl Since: 0.29
53 dnl
54 dnl Verify that the version of the pkg-config macros are at least
55 dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
56 dnl installed version of pkg-config, this checks the developer's version
57 dnl of pkg.m4 when generating configure.
58 dnl
59 dnl To ensure that this macro is defined, also add:
60 dnl m4_ifndef([PKG_PREREQ],
61 dnl     [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
62 dnl
63 dnl See the "Since" comment for each macro you use to see what version
64 dnl of the macros you require.
65 m4_defun([PKG_PREREQ],
66 [m4_define([PKG_MACROS_VERSION], [0.29.1])
67 m4_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
71 dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
72 dnl ----------------------------------
73 dnl Since: 0.16
74 dnl
75 dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
76 dnl first found in the path. Checks that the version of pkg-config found
77 dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
78 dnl used since that's the first version where most current features of
79 dnl pkg-config existed.
80 AC_DEFUN([PKG_PROG_PKG_CONFIG],
81 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
82 m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
83 m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
84 AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
85 AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
86 AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
87
88 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
89         AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
90 fi
91 if 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
100 fi[]dnl
101 ])dnl PKG_PROG_PKG_CONFIG
102
103 dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
104 dnl -------------------------------------------------------------------
105 dnl Since: 0.18
106 dnl
107 dnl Check to see whether a particular set of modules exists. Similar to
108 dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
109 dnl
110 dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
111 dnl only at the first occurence in configure.ac, so if the first place
112 dnl it's called might be skipped (such as if it is within an "if", you
113 dnl have to call PKG_CHECK_EXISTS manually
114 AC_DEFUN([PKG_CHECK_EXISTS],
115 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
116 if test -n "$PKG_CONFIG" && \
117     AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
118   m4_default([$2], [:])
119 m4_ifvaln([$3], [else
120   $3])dnl
121 fi])
122
123 dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
124 dnl ---------------------------------------------
125 dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
126 dnl pkg_failed based on the result.
127 m4_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
137 fi[]dnl
138 ])dnl _PKG_CONFIG
139
140 dnl _PKG_SHORT_ERRORS_SUPPORTED
141 dnl ---------------------------
142 dnl Internal check to see if pkg-config supports short errors.
143 AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
144 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])
145 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
146         _pkg_short_errors_supported=yes
147 else
148         _pkg_short_errors_supported=no
149 fi[]dnl
150 ])dnl _PKG_SHORT_ERRORS_SUPPORTED
151
152
153 dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
154 dnl   [ACTION-IF-NOT-FOUND])
155 dnl --------------------------------------------------------------
156 dnl Since: 0.4.0
157 dnl
158 dnl Note that if there is a possibility the first call to
159 dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
160 dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
161 AC_DEFUN([PKG_CHECK_MODULES],
162 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
163 AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
164 AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
165
166 pkg_failed=no
167 AC_MSG_CHECKING([for $1])
168
169 _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
170 _PKG_CONFIG([$1][_LIBS], [libs], [$2])
171
172 m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
173 and $1[]_LIBS to avoid the need to call pkg-config.
174 See the pkg-config man page for more details.])
175
176 if 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
192 Consider adjusting the PKG_CONFIG_PATH environment variable if you
193 installed software in a non-standard prefix.
194
195 _PKG_TEXT])[]dnl
196         ])
197 elif 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
201 is in your PATH or set the PKG_CONFIG environment variable to the full
202 path to pkg-config.
203
204 _PKG_TEXT
205
206 To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
207         ])
208 else
209         $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
210         $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
211         AC_MSG_RESULT([yes])
212         $3
213 fi[]dnl
214 ])dnl PKG_CHECK_MODULES
215
216
217 dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
218 dnl   [ACTION-IF-NOT-FOUND])
219 dnl ---------------------------------------------------------------------
220 dnl Since: 0.29
221 dnl
222 dnl Checks for existence of MODULES and gathers its build flags with
223 dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
224 dnl and VARIABLE-PREFIX_LIBS from --libs.
225 dnl
226 dnl Note that if there is a possibility the first call to
227 dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
228 dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
229 dnl configure.ac.
230 AC_DEFUN([PKG_CHECK_MODULES_STATIC],
231 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
232 _save_PKG_CONFIG=$PKG_CONFIG
233 PKG_CONFIG="$PKG_CONFIG --static"
234 PKG_CHECK_MODULES($@)
235 PKG_CONFIG=$_save_PKG_CONFIG[]dnl
236 ])dnl PKG_CHECK_MODULES_STATIC
237
238
239 dnl PKG_INSTALLDIR([DIRECTORY])
240 dnl -------------------------
241 dnl Since: 0.27
242 dnl
243 dnl Substitutes the variable pkgconfigdir as the location where a module
244 dnl should install pkg-config .pc files. By default the directory is
245 dnl $libdir/pkgconfig, but the default can be changed by passing
246 dnl DIRECTORY. The user can override through the --with-pkgconfigdir
247 dnl parameter.
248 AC_DEFUN([PKG_INSTALLDIR],
249 [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
250 m4_pushdef([pkg_description],
251     [pkg-config installation directory @<:@]pkg_default[@:>@])
252 AC_ARG_WITH([pkgconfigdir],
253     [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
254     [with_pkgconfigdir=]pkg_default)
255 AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
256 m4_popdef([pkg_default])
257 m4_popdef([pkg_description])
258 ])dnl PKG_INSTALLDIR
259
260
261 dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
262 dnl --------------------------------
263 dnl Since: 0.27
264 dnl
265 dnl Substitutes the variable noarch_pkgconfigdir as the location where a
266 dnl module should install arch-independent pkg-config .pc files. By
267 dnl default the directory is $datadir/pkgconfig, but the default can be
268 dnl changed by passing DIRECTORY. The user can override through the
269 dnl --with-noarch-pkgconfigdir parameter.
270 AC_DEFUN([PKG_NOARCH_INSTALLDIR],
271 [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
272 m4_pushdef([pkg_description],
273     [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
274 AC_ARG_WITH([noarch-pkgconfigdir],
275     [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
276     [with_noarch_pkgconfigdir=]pkg_default)
277 AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
278 m4_popdef([pkg_default])
279 m4_popdef([pkg_description])
280 ])dnl PKG_NOARCH_INSTALLDIR
281
282
283 dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
284 dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
285 dnl -------------------------------------------
286 dnl Since: 0.28
287 dnl
288 dnl Retrieves the value of the pkg-config variable for the given module.
289 AC_DEFUN([PKG_CHECK_VAR],
290 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
291 AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
292
293 _PKG_CONFIG([$1], [variable="][$3]["], [$2])
294 AS_VAR_COPY([$1], [pkg_cv_][$1])
295
296 AS_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
345 dnl  This macro is based on the code from the MM_AX_CXX_COMPILE_STDCXX_11 macro
346 dnl  (serial version number 13).
347
348 AC_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
434 dnl  Test body for checking C++11 support
435
436 m4_define([_MM_AX_CXX_COMPILE_STDCXX_testbody_11],
437   _MM_AX_CXX_COMPILE_STDCXX_testbody_new_in_11
438 )
439
440
441 dnl  Test body for checking C++14 support
442
443 m4_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
449 dnl  Tests for new features in C++11
450
451 m4_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
466 namespace 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
738 dnl  Tests for new features in C++14
739
740 m4_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
755 namespace 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
864 AC_DEFUN([_MM_PRE_INIT], [m4_pattern_forbid([^_?MM_])])
865
866 m4_define([_MM_PREREQ],
867 [dnl
868 m4_if(m4_quote(m4_version_compare([$2], [$3])), [-1],
869       [m4_fatal([$4 requires $1 $3 (version $2 is installed)])])[]dnl
870 ])
871
872 AC_DEFUN([MM_PREREQ],
873 [dnl
874 m4_assert([$# >= 1])[]dnl
875 AC_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
882 m4_define([_MM_PROG_GCC_VISIBILITY_CHECK],
883 [dnl
884 AC_PROVIDE([$0])[]dnl
885 AC_CACHE_CHECK([for GCC symbol visibility options],
886                [mm_cv_gcc_visibility_cxxflags],
887 [dnl
888 mm_save_CXXFLAGS=$CXXFLAGS
889 CXXFLAGS="$CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
890 dnl
891 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
892 #pragma GCC visibility push(default)
893 namespace Mm { void __attribute__((__visibility__("hidden"))) mmfunc(); }
894 void 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])
899 dnl
900 CXXFLAGS=$mm_save_CXXFLAGS])[]dnl
901 ])
902
903 AC_DEFUN([MM_PROG_GCC_VISIBILITY],
904 [dnl
905 m4_assert([$# >= 1])[]dnl
906 AC_LANG_ASSERT([C++])[]dnl
907 AC_REQUIRE([_MM_PRE_INIT])[]dnl
908 AC_REQUIRE([_MM_PROG_GCC_VISIBILITY_CHECK])[]dnl
909 AS_IF([test "x$mm_cv_gcc_visibility_cxxflags" != xnone],
910       [$1=$mm_cv_gcc_visibility_cxxflags], [$1=])
911 AC_SUBST([$1])[]dnl
912 ])
913
914 m4_define([_MM_ARG_DISABLE_DEPRECATED_API_OPTION],
915 [dnl
916 AC_PROVIDE([$0])[]dnl
917 AC_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
922 AS_IF([test "x$mm_enable_deprecated_api" = xno],
923       [AC_MSG_WARN([[Deprecated API will not be built, breaking compatibility.
924 Do not use this option for distribution packages.]])],
925       [AC_MSG_NOTICE([[Deprecated API will be built, for backwards-compatibility.]])])
926 AM_CONDITIONAL([DISABLE_DEPRECATED_API], [test "x$mm_enable_deprecated_api" = xno])[]dnl
927 ])
928
929 m4_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
935 AC_DEFUN([MM_ARG_DISABLE_DEPRECATED_API],
936 [dnl
937 AC_REQUIRE([_MM_PRE_INIT])[]dnl
938 AC_REQUIRE([_MM_ARG_DISABLE_DEPRECATED_API_OPTION])[]dnl
939 AS_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
947 m4_define([_MM_CONFIG_DOCTOOL_DIR],
948 [dnl
949 AC_PROVIDE([$0])[]dnl
950 AC_REQUIRE([PKG_PROG_PKG_CONFIG])[]dnl
951 dnl
952 AC_MSG_CHECKING([location of documentation utilities])
953 AS_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
958 The required module mm-common-util could not be found on this system.  If you
959 are running a binary distribution and the mm-common package is installed,
960 make sure that any separate development package for mm-common is installed
961 as well.  If you built mm-common yourself, it may be necessary to adjust
962 the PKG_CONFIG_PATH environment variable for pkg-config to find it.
963 ]])])
964 ])
965 AC_MSG_RESULT([$MMDOCTOOLDIR])[]dnl
966 ])
967
968 AC_DEFUN([MM_CONFIG_DOCTOOL_DIR],
969 [dnl
970 AC_REQUIRE([_MM_PRE_INIT])[]dnl
971 AC_REQUIRE([MM_CHECK_GNU_MAKE])[]dnl
972 m4_ifval([$1], [MMDOCTOOLDIR='[$]{top_srcdir}/$1'], [AC_REQUIRE([_MM_CONFIG_DOCTOOL_DIR])])
973 AM_CONDITIONAL([DIST_DOCTOOLS], [test 'x$1' != 'x'])dnl
974 AC_SUBST([MMDOCTOOLDIR])[]dnl
975 ])
976
977 m4_define([_MM_ARG_ENABLE_DOCUMENTATION],
978 [dnl
979 AC_PROVIDE([$0])[]dnl
980 dnl
981 AC_ARG_VAR([DOT], [path to dot utility])[]dnl
982 AC_ARG_VAR([DOXYGEN], [path to Doxygen utility])[]dnl
983 AC_ARG_VAR([XSLTPROC], [path to xsltproc utility])[]dnl
984 dnl
985 AC_PATH_PROG([DOT], [dot], [dot])
986 AC_PATH_PROG([DOXYGEN], [doxygen], [doxygen])
987 AC_PATH_PROG([XSLTPROC], [xsltproc], [xsltproc])
988 dnl
989 AC_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])
994 AS_IF([test "x$ENABLE_DOCUMENTATION" != xno],
995 [
996   mm_err=
997   AS_IF([test "x$MMDOCTOOLDIR" = x], [mm_err='dnl
998 The mm-common-util module is available, but the installation of mm-common on this
999 machine is missing the shared documentation utilities of the GNOME C++
1000 bindings.  It may be necessary to upgrade to a more recent release of
1001 mm-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
1009 not 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 ])
1015 AM_CONDITIONAL([ENABLE_DOCUMENTATION], [test "x$ENABLE_DOCUMENTATION" = xyes])
1016 AC_SUBST([DOXYGEN_TAGFILES], [[]])
1017 AC_SUBST([DOCINSTALL_FLAGS], [[]])[]dnl
1018 ])
1019
1020 AC_DEFUN([MM_ARG_ENABLE_DOCUMENTATION],
1021 [dnl
1022 AC_BEFORE([$0], [MM_ARG_WITH_TAGFILE_DOC])[]dnl
1023 AC_REQUIRE([_MM_PRE_INIT])[]dnl
1024 AC_REQUIRE([MM_CONFIG_DOCTOOL_DIR])[]dnl
1025 AC_REQUIRE([MM_PATH_PERL])[]dnl
1026 AC_REQUIRE([_MM_ARG_ENABLE_DOCUMENTATION])[]dnl
1027 ])
1028
1029 m4_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
1035 m4_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
1055 m4_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
1095 AC_DEFUN([MM_ARG_WITH_TAGFILE_DOC],
1096 [dnl
1097 m4_assert([$# >= 1])[]dnl
1098 m4_ifval([$2], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])])[]dnl
1099 AC_REQUIRE([MM_CONFIG_DOCTOOL_DIR])[]dnl
1100 AC_REQUIRE([_MM_ARG_ENABLE_DOCUMENTATION])[]dnl
1101 dnl
1102 AS_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
1110 m4_define([_MM_INIT_MODULE_VERSION],
1111 [dnl
1112 m4_ifval([$3],
1113 [AC_SUBST([$2][_MAJOR_VERSION], [$3])
1114 AC_DEFINE([$2][_MAJOR_VERSION], [$3], [Major version number of $1.])
1115 ])[]dnl
1116 m4_ifval([$4],
1117 [AC_SUBST([$2][_MINOR_VERSION], [$4])
1118 AC_DEFINE([$2][_MINOR_VERSION], [$4], [Minor version number of $1.])
1119 ])[]dnl
1120 m4_ifval([$5],
1121 [AC_SUBST([$2][_MICRO_VERSION], [$5])
1122 AC_DEFINE([$2][_MICRO_VERSION], [$5], [Micro version number of $1.])
1123 ])[]dnl
1124 ])
1125
1126 m4_define([_MM_INIT_MODULE_SUBST],
1127 [dnl
1128 AC_SUBST([$5][_MODULE_NAME], ['$1'])
1129 AC_SUBST([$5][_VERSION], ['$2'])
1130 m4_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
1136 m4_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
1140 AC_DEFUN([MM_INIT_MODULE],
1141 [dnl
1142 m4_assert([$# >= 1])[]dnl
1143 AC_REQUIRE([_MM_PRE_INIT])[]dnl
1144 AC_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
1154 m4_define([_MM_CHECK_GNU_MAKE],
1155 [dnl
1156 AC_PROVIDE([$0])[]dnl
1157 AC_MSG_CHECKING([whether [$]{MAKE-make} supports GNU make features])
1158 cat >conftest.make <<'_MMEOF'
1159 override reverse = [$](2)[$](subst ,, )[$](1)
1160 override result := [$](word 2,[$](call reverse,success,failure))
1161 all: ; test '[$](result)' = success
1162 .PHONY: all
1163 _MMEOF
1164 AS_IF([[$]{MAKE-make} -f conftest.make >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD],
1165       [mm_gnu_make=yes], [mm_gnu_make=no])
1166 rm -f conftest.make
1167 AC_MSG_RESULT([$mm_gnu_make])
1168 AS_IF([test "x$mm_gnu_make" != xyes],
1169       [AC_MSG_FAILURE([[The GNU make program is required to build $PACKAGE_NAME.]])])[]dnl
1170 ])
1171
1172 AC_DEFUN([MM_CHECK_GNU_MAKE],
1173 [dnl
1174 AC_REQUIRE([_MM_PRE_INIT])[]dnl
1175 AC_REQUIRE([_MM_CHECK_GNU_MAKE])[]dnl
1176 ])
1177
1178 m4_define([_MM_PATH_PERL],
1179 [dnl
1180 AC_PROVIDE([$0])[]dnl
1181 AC_ARG_VAR([PERL], [path to Perl interpreter])[]dnl
1182 AC_PATH_PROG([PERL], [perl], [perl])[]dnl
1183 ])
1184
1185 AC_DEFUN([MM_PATH_PERL],
1186 [dnl
1187 AC_REQUIRE([_MM_PRE_INIT])[]dnl
1188 AC_REQUIRE([_MM_PATH_PERL])[]dnl
1189 ])
1190
1191 m4_define([_MM_CHECK_PERL],
1192 [dnl
1193 AS_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
1198 AC_DEFUN([MM_CHECK_PERL],
1199 [dnl
1200 AC_REQUIRE([_MM_PRE_INIT])[]dnl
1201 AC_REQUIRE([_MM_PATH_PERL])[]dnl
1202 _MM_CHECK_PERL(m4_ifval([$1], [[$1]], [[5.6.0]]), [$2], [$3])[]dnl
1203 ])
1204
1205 AC_DEFUN([MM_PKG_CONFIG_SUBST],
1206 [dnl
1207 m4_assert([$# >= 2])[]dnl
1208 AC_REQUIRE([_MM_PRE_INIT])[]dnl
1209 AC_REQUIRE([PKG_PROG_PKG_CONFIG])[]dnl
1210 AC_MSG_CHECKING([for $1])
1211 dnl
1212 AS_IF([test -z "[$]{$1+set}"],
1213       [$1=`$PKG_CONFIG $2 2>&AS_MESSAGE_LOG_FD`
1214        AS_IF([test "[$]?" -eq 0], [$3], [$4])])
1215 dnl
1216 AC_MSG_RESULT([[$]$1])
1217 AC_SUBST([$1])[]dnl
1218 ])
1219
1220
1221 #serial 20091103
1222
1223 m4_define([_MM_ARG_ENABLE_WARNINGS_OPTION],
1224 [dnl
1225 AC_PROVIDE([$0])[]dnl
1226 AC_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
1233 AC_DEFUN([MM_ARG_ENABLE_WARNINGS],
1234 [dnl
1235 m4_assert([$# >= 3])[]dnl
1236 AC_REQUIRE([_MM_PRE_INIT])[]dnl
1237 AC_REQUIRE([_MM_ARG_ENABLE_WARNINGS_OPTION])[]dnl
1238 dnl
1239 AS_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++]])])
1243 dnl
1244 AC_MSG_CHECKING([which $mm_lang compiler warning flags to use])
1245 m4_ifval([$4], [mm_deprecation_flags=
1246 ])mm_tested_flags=
1247 dnl
1248 AS_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"])
1257 dnl
1258 AS_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([[
1263 int 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 ])
1283 mm_all_flags=m4_ifval([$4], [$mm_deprecation_flags])$mm_tested_flags
1284 AC_SUBST([$1], [$mm_all_flags])
1285 dnl
1286 test "x$mm_all_flags" != x || mm_all_flags=none
1287 AC_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.)
1301 AC_DEFUN([AM_AUTOMAKE_VERSION],
1302 [am__api_version='1.15'
1303 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
1304 dnl require some minimum version.  Point them to the right macro.
1305 m4_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.
1314 m4_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.
1320 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
1321 [AM_AUTOMAKE_VERSION([1.15])dnl
1322 m4_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
1372 AC_DEFUN([AM_AUX_DIR_EXPAND],
1373 [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
1374 # Expand $ac_aux_dir to an absolute path.
1375 am_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.
1389 AC_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
1393 AC_SUBST([$1_TRUE])dnl
1394 AC_SUBST([$1_FALSE])dnl
1395 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
1396 _AM_SUBST_NOTMAKE([$1_FALSE])dnl
1397 m4_define([_AM_COND_VALUE_$1], [$2])dnl
1398 if $2; then
1399   $1_TRUE=
1400   $1_FALSE='#'
1401 else
1402   $1_TRUE='#'
1403   $1_FALSE=
1404 fi
1405 AC_CONFIG_COMMANDS_PRE(
1406 [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
1407   AC_MSG_ERROR([[conditional "$1" was never defined.
1408 Usually this means the macro was only invoked conditionally.]])
1409 fi])])
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.
1435 AC_DEFUN([_AM_DEPENDENCIES],
1436 [AC_REQUIRE([AM_SET_DEPDIR])dnl
1437 AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
1438 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
1439 AC_REQUIRE([AM_DEP_TRACK])dnl
1440
1441 m4_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
1449 AC_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
1557 else
1558   am_cv_$1_dependencies_compiler_type=none
1559 fi
1560 ])
1561 AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
1562 AM_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.
1572 AC_DEFUN([AM_SET_DEPDIR],
1573 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
1574 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
1575 ])
1576
1577
1578 # AM_DEP_TRACK
1579 # ------------
1580 AC_DEFUN([AM_DEP_TRACK],
1581 [AC_ARG_ENABLE([dependency-tracking], [dnl
1582 AS_HELP_STRING(
1583   [--enable-dependency-tracking],
1584   [do not reject slow dependency extractors])
1585 AS_HELP_STRING(
1586   [--disable-dependency-tracking],
1587   [speeds up one-time build])])
1588 if test "x$enable_dependency_tracking" != xno; then
1589   am_depcomp="$ac_aux_dir/depcomp"
1590   AMDEPBACKSLASH='\'
1591   am__nodep='_no'
1592 fi
1593 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
1594 AC_SUBST([AMDEPBACKSLASH])dnl
1595 _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
1596 AC_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 # ------------------------------
1611 AC_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.
1670 AC_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
1687 dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
1688 m4_define([AC_PROG_CC],
1689 m4_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.
1704 AC_DEFUN([AM_INIT_AUTOMAKE],
1705 [AC_PREREQ([2.65])dnl
1706 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
1707 dnl the ones we care about.
1708 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
1709 AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
1710 AC_REQUIRE([AC_PROG_INSTALL])dnl
1711 if 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
1719 fi
1720
1721 # test whether we have cygpath
1722 if 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
1728 fi
1729 AC_SUBST([CYGPATH_W])
1730
1731 # Define the identity of the package.
1732 dnl Distinguish between old-style and new-style calls.
1733 m4_ifval([$2],
1734 [AC_DIAGNOSE([obsolete],
1735              [$0: two- and three-arguments forms are deprecated.])
1736 m4_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
1740 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
1741 m4_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.
1753 AC_REQUIRE([AM_SANITY_CHECK])dnl
1754 AC_REQUIRE([AC_ARG_PROGRAM])dnl
1755 AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
1756 AM_MISSING_PROG([AUTOCONF], [autoconf])
1757 AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
1758 AM_MISSING_PROG([AUTOHEADER], [autoheader])
1759 AM_MISSING_PROG([MAKEINFO], [makeinfo])
1760 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
1761 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
1762 AC_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>
1767 AC_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.
1770 AC_REQUIRE([AC_PROG_AWK])dnl
1771 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
1772 AC_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
1781 AC_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
1785 AC_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
1789 AC_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 ])
1794 AC_REQUIRE([AM_SILENT_RULES])dnl
1795 dnl The testsuite driver may need to know about EXEEXT, so add the
1796 dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
1797 dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
1798 AC_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.
1810 if rm -f && rm -fr && rm -rf; then : OK; else
1811   cat >&2 <<'END'
1812 Oops!
1813
1814 Your 'rm' program seems unable to run without file operands specified
1815 on the command line, even when the '-f' option is present.  This is contrary
1816 to the behaviour of most rm programs out there, and not conforming with
1817 the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
1818
1819 Please tell bug-automake@gnu.org about your system, including the value
1820 of your $PATH and any error possibly output before this message.  This
1821 can help us improve future automake versions.
1822
1823 END
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'
1830 Aborting the configuration process, to ensure you take notice of the issue.
1831
1832 You can download and install GNU coreutils to get an 'rm' implementation
1833 that behaves properly: <http://www.gnu.org/software/coreutils/>.
1834
1835 If you want to complete the configuration process using your problematic
1836 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
1837 to "yes", and re-run configure.
1838
1839 END
1840     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
1841   fi
1842 fi
1843 dnl The trailing newline in this macro's definition is deliberate, for
1844 dnl backward compatibility and to allow trailing 'dnl'-style comments
1845 dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
1846 ])
1847
1848 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
1849 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
1850 dnl mangled by Autoconf and run in a shell conditional statement.
1851 m4_define([_AC_COMPILER_EXEEXT],
1852 m4_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.
1861 AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
1862 [# Compute $1's index in $config_headers.
1863 _am_arg=$1
1864 _am_stamp_count=1
1865 for _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
1872 done
1873 echo "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.
1884 AC_DEFUN([AM_PROG_INSTALL_SH],
1885 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
1886 if 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
1893 fi
1894 AC_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.
1904 AC_DEFUN([AM_SET_LEADING_DOT],
1905 [rm -rf .tst 2>/dev/null
1906 mkdir .tst 2>/dev/null
1907 if test -d .tst; then
1908   am__leading_dot=.
1909 else
1910   am__leading_dot=_
1911 fi
1912 rmdir .tst 2>/dev/null
1913 AC_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.
1930 AC_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])])
1936 AC_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.
1962 AC_DEFUN([AM_MAKE_INCLUDE],
1963 [am_make=${MAKE-make}
1964 cat > confinc << 'END'
1965 am__doit:
1966         @echo this is the am__doit target
1967 .PHONY: am__doit
1968 END
1969 # If we don't find an include directive, just comment out the code.
1970 AC_MSG_CHECKING([for style of include used by $am_make])
1971 am__include="#"
1972 am__quote=
1973 _am_result=none
1974 # First try GNU make style include.
1975 echo "include confinc" > confmf
1976 # Ignore all kinds of additional output from 'make'.
1977 case `$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   ;;
1983 esac
1984 # Now try BSD make style include.
1985 if 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
1994 fi
1995 AC_SUBST([am__include])
1996 AC_SUBST([am__quote])
1997 AC_MSG_RESULT([$_am_result])
1998 rm -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 # ------------------------------
2011 AC_DEFUN([AM_MISSING_PROG],
2012 [AC_REQUIRE([AM_MISSING_HAS_RUN])
2013 $1=${$1-"${am_missing_run}$2"}
2014 AC_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.
2020 AC_DEFUN([AM_MISSING_HAS_RUN],
2021 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
2022 AC_REQUIRE_AUX_FILE([missing])dnl
2023 if 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
2030 fi
2031 # Use eval to expand $SHELL
2032 if eval "$MISSING --is-lightweight"; then
2033   am_missing_run="$MISSING "
2034 else
2035   am_missing_run=
2036   AC_MSG_WARN(['missing' script is too old or missing])
2037 fi
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 # -----------------------
2050 AC_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.
2056 AC_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.
2062 AC_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.
2068 AC_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.
2081 AC_DEFUN([_AM_PROG_CC_C_O],
2082 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
2083 AC_REQUIRE_AUX_FILE([compile])dnl
2084 AC_LANG_PUSH([C])dnl
2085 AC_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])
2105 if 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"
2112 fi
2113 AC_LANG_POP([C])])
2114
2115 # For backward compatibility.
2116 AC_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.)
2128 AC_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 # ---------------
2145 AC_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.
2149 am_lf='
2150 '
2151 case `pwd` in
2152   *[[\\\"\#\$\&\'\`$am_lf]]*)
2153     AC_MSG_ERROR([unsafe absolute working directory name]);;
2154 esac
2155 case $srcdir in
2156   *[[\\\"\#\$\&\'\`$am_lf\ \    ]]*)
2157     AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
2158 esac
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).
2165 if (
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    )
2193 then
2194    # Ok.
2195    :
2196 else
2197    AC_MSG_ERROR([newly created file is older than distributed files!
2198 Check your system clock])
2199 fi
2200 AC_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.
2203 am_sleep_pid=
2204 if grep 'slept: no' conftest.file >/dev/null 2>&1; then
2205   ( sleep 1 ) &
2206   am_sleep_pid=$!
2207 fi
2208 AC_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])])
2215 rm -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).
2228 AC_DEFUN([AM_SILENT_RULES],
2229 [AC_ARG_ENABLE([silent-rules], [dnl
2230 AS_HELP_STRING(
2231   [--enable-silent-rules],
2232   [less verbose build output (undo: "make V=1")])
2233 AS_HELP_STRING(
2234   [--disable-silent-rules],
2235   [verbose build output (undo: "make V=0")])dnl
2236 ])
2237 case $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]);;
2241 esac
2242 dnl
2243 dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
2244 dnl do not support nested variable expansions.
2245 dnl See automake bug#9928 and bug#10237.
2246 am_make=${MAKE-make}
2247 AC_CACHE_CHECK([whether $am_make supports nested variables],
2248    [am_cv_make_support_nested_variables],
2249    [if AS_ECHO([['TRUE=$(BAR$(V))
2250 BAR0=false
2251 BAR1=true
2252 V=1
2253 am__doit:
2254         @$(TRUE)
2255 .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
2256   am_cv_make_support_nested_variables=yes
2257 else
2258   am_cv_make_support_nested_variables=no
2259 fi])
2260 if 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)'
2264 else
2265   AM_V=$AM_DEFAULT_VERBOSITY
2266   AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
2267 fi
2268 AC_SUBST([AM_V])dnl
2269 AM_SUBST_NOTMAKE([AM_V])dnl
2270 AC_SUBST([AM_DEFAULT_V])dnl
2271 AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
2272 AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
2273 AM_BACKSLASH='\'
2274 AC_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).
2293 AC_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.
2299 dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
2300 if test "$cross_compiling" != no; then
2301   AC_CHECK_TOOL([STRIP], [strip], :)
2302 fi
2303 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
2304 AC_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.
2316 AC_DEFUN([_AM_SUBST_NOTMAKE])
2317
2318 # AM_SUBST_NOTMAKE(VARIABLE)
2319 # --------------------------
2320 # Public sister of _AM_SUBST_NOTMAKE.
2321 AC_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 #
2345 AC_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 ...
2348 AC_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
2353 m4_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
2452 AC_SUBST([am__tar])
2453 AC_SUBST([am__untar])
2454 ]) # _AM_PROG_TAR
2455
2456 m4_include([build/ax_boost_base.m4])
2457 m4_include([build/ax_boost_system.m4])
2458 m4_include([build/ax_boost_timer.m4])
2459 m4_include([build/libtool.m4])
2460 m4_include([build/ltoptions.m4])
2461 m4_include([build/ltsugar.m4])
2462 m4_include([build/ltversion.m4])
2463 m4_include([build/lt~obsolete.m4])