diff options
author | Enrico M. Crisostomo <enrico.m.crisostomo@gmail.com> | 2014-02-24 16:31:42 +0100 |
---|---|---|
committer | Peter Simons <simons@cryp.to> | 2014-02-24 16:32:30 +0100 |
commit | 64f6c0ab0b15b97946c4f89f357077bc32dee284 (patch) | |
tree | 541f267fe10fbdf10adf2ae89aeaab1e70eafd17 | |
parent | aabb61b6c0e677ed0739ae15496817f6f7e8e33b (diff) | |
download | autoconf-archive-64f6c0ab0b15b97946c4f89f357077bc32dee284.tar.gz |
AX_CXX_HAVE_BIT_AND: initial version
-rw-r--r-- | m4/ax_cxx_have_bit_and.m4 | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/m4/ax_cxx_have_bit_and.m4 b/m4/ax_cxx_have_bit_and.m4 new file mode 100644 index 0000000..d569e73 --- /dev/null +++ b/m4/ax_cxx_have_bit_and.m4 @@ -0,0 +1,53 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_cxx_have_bit_and.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_HAVE_BIT_AND() +# +# DESCRIPTION +# +# This macros checks if std::bit_and, added in C++11, is defined in the +# <functional> header. +# +# If it is, define the ax_cv_cxx_have_bit_and environment variable to +# "yes" and define HAVE_CXX_BIT_AND. +# +# 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_BIT_AND], + [AC_CACHE_CHECK( + [for std::bit_and in functional], + ax_cv_cxx_have_bit_and, + [AC_REQUIRE([AX_CXX_NAMESPACES]) + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [ + [#include <functional>] + [using std::bit_and;] + ], + [] + )], + [ax_cv_cxx_have_bit_and=yes], + [ax_cv_cxx_have_bit_and=no] + ) + AC_LANG_POP([C++])]) + if test x"$ax_cv_cxx_have_bit_and" = "xyes" + then + AC_DEFINE(HAVE_CXX_BIT_AND, + 1, + [Define if functional defines the std::bit_and class.]) + fi + ]) |