summaryrefslogtreecommitdiff
path: root/m4/ax_cxx_have_is_placeholder.m4
diff options
context:
space:
mode:
authorEnrico M. Crisostomo <enrico.m.crisostomo@gmail.com>2014-02-24 16:31:42 +0100
committerPeter Simons <simons@cryp.to>2014-02-24 16:32:46 +0100
commite855f1141f1b12cc7fd34862f601886e29b7f935 (patch)
tree804677272b84276421c2493e1a83f844ecdf3e54 /m4/ax_cxx_have_is_placeholder.m4
parenta2a1e36ef1973cd3f23fd211a01f04acceb04259 (diff)
downloadautoconf-archive-e855f1141f1b12cc7fd34862f601886e29b7f935.tar.gz
AX_CXX_HAVE_IS_PLACEHOLDER: initial version
Diffstat (limited to 'm4/ax_cxx_have_is_placeholder.m4')
-rw-r--r--m4/ax_cxx_have_is_placeholder.m453
1 files changed, 53 insertions, 0 deletions
diff --git a/m4/ax_cxx_have_is_placeholder.m4 b/m4/ax_cxx_have_is_placeholder.m4
new file mode 100644
index 0000000..7eb3c2a
--- /dev/null
+++ b/m4/ax_cxx_have_is_placeholder.m4
@@ -0,0 +1,53 @@
+# ==============================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_cxx_have_is_placeholder.html
+# ==============================================================================
+#
+# SYNOPSIS
+#
+# AX_CXX_HAVE_IS_PLACEHOLDER()
+#
+# DESCRIPTION
+#
+# This macros checks if std::is_placeholder, added in C++11, is defined in
+# the <functional> header.
+#
+# If it is, define the ax_cv_cxx_have_is_placeholder environment variable
+# to "yes" and define HAVE_CXX_IS_PLACEHOLDER.
+#
+# NOTE: This macros depends on AX_CXX_NAMESPACES.
+#
+# LICENSE
+#
+# Copyright (c) 2014 Enrico M. Crisostomo <enrico.m.crisostomo@gmail.com>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 1
+
+AC_DEFUN([AX_CXX_HAVE_IS_PLACEHOLDER],
+ [AC_CACHE_CHECK(
+ [for std::is_placeholder in functional],
+ ax_cv_cxx_have_is_placeholder,
+ [AC_REQUIRE([AX_CXX_NAMESPACES])
+ AC_LANG_PUSH([C++])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [
+ [#include <functional>]
+ [using std::is_placeholder;]
+ ],
+ []
+ )],
+ [ax_cv_cxx_have_is_placeholder=yes],
+ [ax_cv_cxx_have_is_placeholder=no]
+ )
+ AC_LANG_POP([C++])])
+ if test x"$ax_cv_cxx_have_is_placeholder" = "xyes"
+ then
+ AC_DEFINE(HAVE_CXX_IS_PLACEHOLDER,
+ 1,
+ [Define if functional defines the std::is_placeholder class.])
+ fi
+ ])