Fixed some spelling errors.
[awesomized/libmemcached] / m4 / pandora_stl_hash.m4
index adf25611c546653bd1990670e36898d669ae2f65..26281aee672dbc9c53ddfab5b6dd2322ebbc2eca 100644 (file)
@@ -12,6 +12,8 @@
 
 AC_DEFUN([PANDORA_CXX_STL_HASH],
   [AC_MSG_CHECKING(the location of hash_map)
+   save_CXXFLAGS="${CXXFLAGS}"
+   CXXFLAGS="${AM_CXXFLAGS} ${CXXFLAGS}"
    AC_LANG_PUSH(C++)
    ac_cv_cxx_hash_map=""
    for location in "" "ext/" "tr1/" ; do
@@ -50,6 +52,38 @@ AC_DEFUN([PANDORA_CXX_STL_HASH],
       AC_MSG_RESULT()
       AC_MSG_WARN([could not find an STL hash_map])
    fi
+   AC_CACHE_CHECK(
+     [whether hash_map has rehash method],
+     [ac_cv_hash_map_has_rehash],
+     [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM([[
+#include HASH_MAP_H
+using namespace HASH_NAMESPACE;
+       ]],[[
+HASH_MAP_CLASS<int, int> test_hash;
+test_hash.rehash(100);
+          ]])],
+       [ac_cv_hash_map_has_rehash=yes],
+       [ac_cv_hash_map_has_rehash=no])])
+   AS_IF([test $ac_cv_hash_map_has_rehash = yes],[
+      AC_DEFINE(HASH_MAP_HAS_REHASH, 1, [if hash_map<> hash rehash method])
+   ])
+   AC_CACHE_CHECK(
+     [whether hash_map has resize method],
+     [ac_cv_hash_map_has_resize],
+     [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM([[
+#include HASH_MAP_H
+using namespace HASH_NAMESPACE;
+       ]],[[
+HASH_MAP_CLASS<int, int> test_hash;
+test_hash.resize(100);
+          ]])],
+       [ac_cv_hash_map_has_resize=yes],
+       [ac_cv_hash_map_has_resize=no])])
+   AS_IF([test $ac_cv_hash_map_has_resize = yes],[
+      AC_DEFINE(HASH_MAP_HAS_RESIZE, 1, [if hash_map<> hash resize method])
+   ])
    AC_CACHE_CHECK(
      [whether to redefine hash<string>],
      [ac_cv_redefine_hash_string],
@@ -71,5 +105,6 @@ if (iter != test_hash.end())
    AS_IF([test $ac_cv_redefine_hash_string = yes],[
       AC_DEFINE(REDEFINE_HASH_STRING, 1, [if hash<string> needs to be defined])
    ])
+   CXXFLAGS="${save_CXXFLAGS}"
    AC_LANG_POP()
 ])