1 # Check for hash_set extension. This is modified from
2 # http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_ext_hash_set.html
3 AC_DEFUN([AC_CXX_HAVE_STD_EXT_HASH_SET],
4 [AC_CACHE_CHECK([whether the compiler has <ext/hash_set> defining template class std::hash_set],
5 ac_cv_cxx_have_std_ext_hash_set,
6 [AC_REQUIRE([AC_CXX_NAMESPACES])
8 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <ext/hash_set>
11 #endif]], [[hash_set<int> t; ]])],[ac_cv_cxx_have_std_ext_hash_set=yes],[ac_cv_cxx_have_std_ext_hash_set=no])
13 HAVE_STD_EXT_HASH_SET=0
14 if test "$ac_cv_cxx_have_std_ext_hash_set" = yes
16 HAVE_STD_EXT_HASH_SET=1
18 AC_SUBST(HAVE_STD_EXT_HASH_SET)])
20 AC_DEFUN([AC_CXX_HAVE_GNU_EXT_HASH_SET],
22 [whether the compiler has <ext/hash_set> defining template class __gnu_cxx::hash_set],
23 ac_cv_cxx_have_gnu_ext_hash_set,
24 [AC_REQUIRE([AC_CXX_NAMESPACES])
26 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <ext/hash_set>
27 #ifdef HAVE_NAMESPACES
28 using namespace __gnu_cxx;
29 #endif]], [[hash_set<int> t; ]])],[ac_cv_cxx_have_gnu_ext_hash_set=yes],[ac_cv_cxx_have_gnu_ext_hash_set=no])
31 HAVE_GNU_EXT_HASH_SET=0
32 if test "$ac_cv_cxx_have_gnu_ext_hash_set" = yes
34 HAVE_GNU_EXT_HASH_SET=1
36 AC_SUBST(HAVE_GNU_EXT_HASH_SET)])
38 AC_DEFUN([AC_CXX_HAVE_GLOBAL_HASH_SET],
39 [AC_CACHE_CHECK([whether the compiler has <hash_set> defining template class ::hash_set],
40 ac_cv_cxx_have_global_hash_set,
41 [AC_REQUIRE([AC_CXX_NAMESPACES])
43 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <hash_set>]], [[hash_set<int> t; return 0;]])],[ac_cv_cxx_have_global_hash_set=yes],[ac_cv_cxx_have_global_hash_set=no])
45 HAVE_GLOBAL_HASH_SET=0
46 if test "$ac_cv_cxx_have_global_hash_set" = yes
48 HAVE_GLOBAL_HASH_SET=1
50 AC_SUBST(HAVE_GLOBAL_HASH_SET)])
52 AC_DEFUN([AC_CXX_HAVE_HASH_SET],
53 [AC_CXX_HAVE_STD_EXT_HASH_SET
54 AC_CXX_HAVE_GNU_EXT_HASH_SET
55 AC_CXX_HAVE_GLOBAL_HASH_SET])