# Check for hash_set extension. This is modified from # http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_ext_hash_set.html AC_DEFUN([AC_CXX_HAVE_STD_EXT_HASH_SET], [AC_CACHE_CHECK([whether the compiler has defining template class std::hash_set], ac_cv_cxx_have_std_ext_hash_set, [AC_REQUIRE([AC_CXX_NAMESPACES]) AC_LANG_PUSH([C++]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #ifdef HAVE_NAMESPACES using namespace std; #endif]], [[hash_set t; ]])],[ac_cv_cxx_have_std_ext_hash_set=yes],[ac_cv_cxx_have_std_ext_hash_set=no]) AC_LANG_POP([C++])]) if test "$ac_cv_cxx_have_std_ext_hash_set" = yes then AC_DEFINE(HAVE_STD_EXT_HASH_SET,1,[Have hash_set in std namespace]) else AC_DEFINE(HAVE_STD_EXT_HASH_SET,0,[Does not have hash_set in std namespace]) fi ]) AC_DEFUN([AC_CXX_HAVE_GNU_EXT_HASH_SET], [AC_CACHE_CHECK( [whether the compiler has defining template class __gnu_cxx::hash_set], ac_cv_cxx_have_gnu_ext_hash_set, [AC_REQUIRE([AC_CXX_NAMESPACES]) AC_LANG_PUSH([C++]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #ifdef HAVE_NAMESPACES using namespace __gnu_cxx; #endif]], [[hash_set t; ]])],[ac_cv_cxx_have_gnu_ext_hash_set=yes],[ac_cv_cxx_have_gnu_ext_hash_set=no]) AC_LANG_POP([C++])]) if test "$ac_cv_cxx_have_gnu_ext_hash_set" = yes then AC_DEFINE(HAVE_GNU_EXT_HASH_SET,1,[Have hash_set in gnu namespace]) else AC_DEFINE(HAVE_GNU_EXT_HASH_SET,0,[Does not have hash_set in gnu namespace]) fi ]) AC_DEFUN([AC_CXX_HAVE_GLOBAL_HASH_SET], [AC_CACHE_CHECK([whether the compiler has defining template class ::hash_set], ac_cv_cxx_have_global_hash_set, [AC_REQUIRE([AC_CXX_NAMESPACES]) AC_LANG_PUSH([C++]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[hash_set t; return 0;]])],[ac_cv_cxx_have_global_hash_set=yes],[ac_cv_cxx_have_global_hash_set=no]) AC_LANG_POP([C++])]) if test "$ac_cv_cxx_have_global_hash_set" = yes then AC_DEFINE(HAVE_GLOBAL_HASH_SET,1,[Have hash_set in global namespace]) else AC_DEFINE(HAVE_GLOBAL_HASH_SET,0,[Does not have hash_set in global namespace]) fi ]) AC_DEFUN([AC_CXX_HAVE_HASH_SET], [AC_CXX_HAVE_STD_EXT_HASH_SET AC_CXX_HAVE_GNU_EXT_HASH_SET AC_CXX_HAVE_GLOBAL_HASH_SET])