]> git.saurik.com Git - wxWidgets.git/commitdiff
don't test for hash_{map,set} classes if we have unordered_map
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 12 Jun 2008 18:51:50 +0000 (18:51 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 12 Jun 2008 18:51:50 +0000 (18:51 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

configure
configure.in

index cca60f8bd85610c4e4d590e2626b0d7d3b15e4bb..4bd091fa517ff7cc30678384abab647b399fef57 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Id: configure.in 53976 2008-06-04 10:53:02Z SN .
+# From configure.in Id: configure.in 54169 2008-06-12 18:43:41Z VZ .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61 for wxWidgets 2.9.0.
 #
@@ -24698,9 +24698,20 @@ _ACEOF
 
     fi
 
-        { echo "$as_me:$LINENO: checking for hash_map" >&5
-echo $ECHO_N "checking for hash_map... $ECHO_C" >&6; }
-if test "${ac_cv_header_hash_map+set}" = set; then
+    if test "$wx_cv_class_gnuhashmapset" = yes; then
+         cat >>confdefs.h <<\_ACEOF
+#define HAVE_EXT_HASH_MAP 1
+_ACEOF
+
+         cat >>confdefs.h <<\_ACEOF
+#define HAVE_GNU_CXX_HASH_MAP 1
+_ACEOF
+
+    fi
+
+    { echo "$as_me:$LINENO: checking for unordered_map" >&5
+echo $ECHO_N "checking for unordered_map... $ECHO_C" >&6; }
+if test "${ac_cv_header_unordered_map+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -24712,7 +24723,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 
 
-#include <hash_map>
+#include <unordered_map>
 _ACEOF
 rm -f conftest.$ac_objext
 if { (ac_try="$ac_compile"
@@ -24731,22 +24742,22 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_header_hash_map=yes
+  ac_cv_header_unordered_map=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_cv_header_hash_map=no
+       ac_cv_header_unordered_map=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_hash_map" >&5
-echo "${ECHO_T}$ac_cv_header_hash_map" >&6; }
-if test $ac_cv_header_hash_map = yes; then
-  { echo "$as_me:$LINENO: checking for standard hash_map and hash_set" >&5
-echo $ECHO_N "checking for standard hash_map and hash_set... $ECHO_C" >&6; }
-if test "${wx_cv_class_stdhashmapset+set}" = set; then
+{ echo "$as_me:$LINENO: result: $ac_cv_header_unordered_map" >&5
+echo "${ECHO_T}$ac_cv_header_unordered_map" >&6; }
+if test $ac_cv_header_unordered_map = yes; then
+  { echo "$as_me:$LINENO: checking for unordered_map and unordered_set in std" >&5
+echo $ECHO_N "checking for unordered_map and unordered_set in std... $ECHO_C" >&6; }
+if test "${wx_cv_class_stdunorderedmapset+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -24755,13 +24766,13 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <hash_map>
-                #include <hash_set>
+#include <unordered_map>
+                #include <unordered_set>
 int
 main ()
 {
-std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
-                 std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;
+std::unordered_map<double*, char*> test1;
+                 std::unordered_set<char*> test2;
   ;
   return 0;
 }
@@ -24783,38 +24794,37 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  wx_cv_class_stdhashmapset=yes
+  wx_cv_class_stdunorderedmapset=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       wx_cv_class_stdhashmapset=no
+       wx_cv_class_stdunorderedmapset=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 fi
-{ echo "$as_me:$LINENO: result: $wx_cv_class_stdhashmapset" >&5
-echo "${ECHO_T}$wx_cv_class_stdhashmapset" >&6; }
+{ echo "$as_me:$LINENO: result: $wx_cv_class_stdunorderedmapset" >&5
+echo "${ECHO_T}$wx_cv_class_stdunorderedmapset" >&6; }
 fi
 
 
 
-    if test "$wx_cv_class_stdhashmapset" = yes; then
-        cat >>confdefs.h <<\_ACEOF
-#define HAVE_HASH_MAP 1
+    if test "$wx_cv_class_stdunorderedmapset" = yes; then
+         cat >>confdefs.h <<\_ACEOF
+#define HAVE_STD_UNORDERED_MAP 1
 _ACEOF
 
-        cat >>confdefs.h <<\_ACEOF
-#define HAVE_STD_HASH_MAP 1
+         cat >>confdefs.h <<\_ACEOF
+#define HAVE_STD_UNORDERED_SET 1
 _ACEOF
 
-    fi
-
-    { echo "$as_me:$LINENO: checking for ext/hash_map" >&5
-echo $ECHO_N "checking for ext/hash_map... $ECHO_C" >&6; }
-if test "${ac_cv_header_ext_hash_map+set}" = set; then
+    else
+        { echo "$as_me:$LINENO: checking for tr1/unordered_map" >&5
+echo $ECHO_N "checking for tr1/unordered_map... $ECHO_C" >&6; }
+if test "${ac_cv_header_tr1_unordered_map+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -24826,7 +24836,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 
 
-#include <ext/hash_map>
+#include <tr1/unordered_map>
 _ACEOF
 rm -f conftest.$ac_objext
 if { (ac_try="$ac_compile"
@@ -24845,22 +24855,22 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_header_ext_hash_map=yes
+  ac_cv_header_tr1_unordered_map=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_cv_header_ext_hash_map=no
+       ac_cv_header_tr1_unordered_map=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_ext_hash_map" >&5
-echo "${ECHO_T}$ac_cv_header_ext_hash_map" >&6; }
-if test $ac_cv_header_ext_hash_map = yes; then
-  { echo "$as_me:$LINENO: checking for GNU hash_map and hash_set" >&5
-echo $ECHO_N "checking for GNU hash_map and hash_set... $ECHO_C" >&6; }
-if test "${wx_cv_class_gnuhashmapset+set}" = set; then
+{ echo "$as_me:$LINENO: result: $ac_cv_header_tr1_unordered_map" >&5
+echo "${ECHO_T}$ac_cv_header_tr1_unordered_map" >&6; }
+if test $ac_cv_header_tr1_unordered_map = yes; then
+  { echo "$as_me:$LINENO: checking for unordered_map and unordered_set in std::tr1" >&5
+echo $ECHO_N "checking for unordered_map and unordered_set in std::tr1... $ECHO_C" >&6; }
+if test "${wx_cv_class_tr1unorderedmapset+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -24869,13 +24879,16 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <ext/hash_map>
-                #include <ext/hash_set>
+#include <tr1/unordered_map>
+                    #include <tr1/unordered_set>
 int
 main ()
 {
-__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
-                 __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;
+std::tr1::unordered_map<double*, char*> test1;
+                     std::tr1::unordered_set<char*> test2;
+            #if defined(__GNUC__) && (__GNUC__==4) && (__GNUC_MINOR__<2)
+            #error can't use unordered_{map,set} with gcc-4.[01]: http://gcc.gnu.org/PR24389
+            #endif
   ;
   return 0;
 }
@@ -24897,38 +24910,37 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  wx_cv_class_gnuhashmapset=yes
+  wx_cv_class_tr1unorderedmapset=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       wx_cv_class_gnuhashmapset=no
+       wx_cv_class_tr1unorderedmapset=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 fi
-{ echo "$as_me:$LINENO: result: $wx_cv_class_gnuhashmapset" >&5
-echo "${ECHO_T}$wx_cv_class_gnuhashmapset" >&6; }
+{ echo "$as_me:$LINENO: result: $wx_cv_class_tr1unorderedmapset" >&5
+echo "${ECHO_T}$wx_cv_class_tr1unorderedmapset" >&6; }
 fi
 
 
 
-    if test "$wx_cv_class_gnuhashmapset" = yes; then
-         cat >>confdefs.h <<\_ACEOF
-#define HAVE_EXT_HASH_MAP 1
+        if test "$wx_cv_class_tr1unorderedmapset" = yes; then
+            cat >>confdefs.h <<\_ACEOF
+#define HAVE_TR1_UNORDERED_MAP 1
 _ACEOF
 
-         cat >>confdefs.h <<\_ACEOF
-#define HAVE_GNU_CXX_HASH_MAP 1
+            cat >>confdefs.h <<\_ACEOF
+#define HAVE_TR1_UNORDERED_SET 1
 _ACEOF
 
-    fi
-
-    { echo "$as_me:$LINENO: checking for unordered_map" >&5
-echo $ECHO_N "checking for unordered_map... $ECHO_C" >&6; }
-if test "${ac_cv_header_unordered_map+set}" = set; then
+        else
+                        { echo "$as_me:$LINENO: checking for hash_map" >&5
+echo $ECHO_N "checking for hash_map... $ECHO_C" >&6; }
+if test "${ac_cv_header_hash_map+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -24940,7 +24952,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 
 
-#include <unordered_map>
+#include <hash_map>
 _ACEOF
 rm -f conftest.$ac_objext
 if { (ac_try="$ac_compile"
@@ -24959,22 +24971,22 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_header_unordered_map=yes
+  ac_cv_header_hash_map=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_cv_header_unordered_map=no
+       ac_cv_header_hash_map=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_unordered_map" >&5
-echo "${ECHO_T}$ac_cv_header_unordered_map" >&6; }
-if test $ac_cv_header_unordered_map = yes; then
-  { echo "$as_me:$LINENO: checking for unordered_map and unordered_set in std" >&5
-echo $ECHO_N "checking for unordered_map and unordered_set in std... $ECHO_C" >&6; }
-if test "${wx_cv_class_stdunorderedmapset+set}" = set; then
+{ echo "$as_me:$LINENO: result: $ac_cv_header_hash_map" >&5
+echo "${ECHO_T}$ac_cv_header_hash_map" >&6; }
+if test $ac_cv_header_hash_map = yes; then
+  { echo "$as_me:$LINENO: checking for std::hash_map and hash_set" >&5
+echo $ECHO_N "checking for std::hash_map and hash_set... $ECHO_C" >&6; }
+if test "${wx_cv_class_stdhashmapset+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -24983,13 +24995,13 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <unordered_map>
-                #include <unordered_set>
+#include <hash_map>
+                        #include <hash_set>
 int
 main ()
 {
-std::unordered_map<double*, char*> test1;
-                 std::unordered_set<char*> test2;
+std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
+                         std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;
   ;
   return 0;
 }
@@ -25011,37 +25023,38 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  wx_cv_class_stdunorderedmapset=yes
+  wx_cv_class_stdhashmapset=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       wx_cv_class_stdunorderedmapset=no
+       wx_cv_class_stdhashmapset=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 fi
-{ echo "$as_me:$LINENO: result: $wx_cv_class_stdunorderedmapset" >&5
-echo "${ECHO_T}$wx_cv_class_stdunorderedmapset" >&6; }
+{ echo "$as_me:$LINENO: result: $wx_cv_class_stdhashmapset" >&5
+echo "${ECHO_T}$wx_cv_class_stdhashmapset" >&6; }
 fi
 
 
 
-    if test "$wx_cv_class_stdunorderedmapset" = yes; then
-         cat >>confdefs.h <<\_ACEOF
-#define HAVE_STD_UNORDERED_MAP 1
+            if test "$wx_cv_class_stdhashmapset" = yes; then
+                cat >>confdefs.h <<\_ACEOF
+#define HAVE_HASH_MAP 1
 _ACEOF
 
-         cat >>confdefs.h <<\_ACEOF
-#define HAVE_STD_UNORDERED_SET 1
+                cat >>confdefs.h <<\_ACEOF
+#define HAVE_STD_HASH_MAP 1
 _ACEOF
 
-    else
-        { echo "$as_me:$LINENO: checking for tr1/unordered_map" >&5
-echo $ECHO_N "checking for tr1/unordered_map... $ECHO_C" >&6; }
-if test "${ac_cv_header_tr1_unordered_map+set}" = set; then
+            fi
+
+            { echo "$as_me:$LINENO: checking for ext/hash_map" >&5
+echo $ECHO_N "checking for ext/hash_map... $ECHO_C" >&6; }
+if test "${ac_cv_header_ext_hash_map+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -25053,7 +25066,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 
 
-#include <tr1/unordered_map>
+#include <ext/hash_map>
 _ACEOF
 rm -f conftest.$ac_objext
 if { (ac_try="$ac_compile"
@@ -25072,22 +25085,22 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_header_tr1_unordered_map=yes
+  ac_cv_header_ext_hash_map=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_cv_header_tr1_unordered_map=no
+       ac_cv_header_ext_hash_map=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_tr1_unordered_map" >&5
-echo "${ECHO_T}$ac_cv_header_tr1_unordered_map" >&6; }
-if test $ac_cv_header_tr1_unordered_map = yes; then
-  { echo "$as_me:$LINENO: checking for unordered_map and unordered_set in std::tr1" >&5
-echo $ECHO_N "checking for unordered_map and unordered_set in std::tr1... $ECHO_C" >&6; }
-if test "${wx_cv_class_tr1unorderedmapset+set}" = set; then
+{ echo "$as_me:$LINENO: result: $ac_cv_header_ext_hash_map" >&5
+echo "${ECHO_T}$ac_cv_header_ext_hash_map" >&6; }
+if test $ac_cv_header_ext_hash_map = yes; then
+  { echo "$as_me:$LINENO: checking for GNU hash_map and hash_set" >&5
+echo $ECHO_N "checking for GNU hash_map and hash_set... $ECHO_C" >&6; }
+if test "${wx_cv_class_gnuhashmapset+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -25096,16 +25109,13 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <tr1/unordered_map>
-                    #include <tr1/unordered_set>
+#include <ext/hash_map>
+                        #include <ext/hash_set>
 int
 main ()
 {
-std::tr1::unordered_map<double*, char*> test1;
-                     std::tr1::unordered_set<char*> test2;
-            #if defined(__GNUC__) && (__GNUC__==4) && (__GNUC_MINOR__<2)
-            #error can't use unordered_{map,set} with gcc-4.[01]: http://gcc.gnu.org/PR24389
-            #endif
+__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
+                         __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;
   ;
   return 0;
 }
@@ -25127,33 +25137,24 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  wx_cv_class_tr1unorderedmapset=yes
+  wx_cv_class_gnuhashmapset=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       wx_cv_class_tr1unorderedmapset=no
+       wx_cv_class_gnuhashmapset=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 fi
-{ echo "$as_me:$LINENO: result: $wx_cv_class_tr1unorderedmapset" >&5
-echo "${ECHO_T}$wx_cv_class_tr1unorderedmapset" >&6; }
+{ echo "$as_me:$LINENO: result: $wx_cv_class_gnuhashmapset" >&5
+echo "${ECHO_T}$wx_cv_class_gnuhashmapset" >&6; }
 fi
 
 
 
-        if test "$wx_cv_class_tr1unorderedmapset" = yes; then
-             cat >>confdefs.h <<\_ACEOF
-#define HAVE_TR1_UNORDERED_MAP 1
-_ACEOF
-
-             cat >>confdefs.h <<\_ACEOF
-#define HAVE_TR1_UNORDERED_SET 1
-_ACEOF
-
         fi
     fi
 fi
index 105efec4a96b2165739dd123bed0322f8730e888..f1a524559f65a1871f03f4077051ac1f906084be 100644 (file)
@@ -1914,42 +1914,6 @@ if test "$wxUSE_STL" = "yes"; then
         AC_DEFINE(HAVE_STD_STRING_COMPARE)
     fi
 
-    dnl check for hash_map and hash_set headers
-    AC_CHECK_HEADER([hash_map],
-        [AC_CACHE_CHECK([for standard hash_map and hash_set],
-            wx_cv_class_stdhashmapset,
-            [AC_TRY_COMPILE([#include <hash_map>
-                #include <hash_set>],
-                [std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
-                 std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
-                wx_cv_class_stdhashmapset=yes,
-                wx_cv_class_stdhashmapset=no)
-            ]
-        )],
-        [],
-        [ ]
-    )
-
-    if test "$wx_cv_class_stdhashmapset" = yes; then
-        AC_DEFINE(HAVE_HASH_MAP)
-        AC_DEFINE(HAVE_STD_HASH_MAP)
-    fi
-
-    AC_CHECK_HEADER([ext/hash_map],
-        [AC_CACHE_CHECK([for GNU hash_map and hash_set],
-            wx_cv_class_gnuhashmapset,
-            [AC_TRY_COMPILE([#include <ext/hash_map>
-                #include <ext/hash_set>],
-                [__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
-                 __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
-                wx_cv_class_gnuhashmapset=yes,
-                wx_cv_class_gnuhashmapset=no)
-            ]
-        )],
-        [],
-        [ ]
-    )
-
     if test "$wx_cv_class_gnuhashmapset" = yes; then
          AC_DEFINE(HAVE_EXT_HASH_MAP)
          AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)
@@ -1993,8 +1957,45 @@ if test "$wxUSE_STL" = "yes"; then
         )
 
         if test "$wx_cv_class_tr1unorderedmapset" = yes; then
-             AC_DEFINE(HAVE_TR1_UNORDERED_MAP)
-             AC_DEFINE(HAVE_TR1_UNORDERED_SET)
+            AC_DEFINE(HAVE_TR1_UNORDERED_MAP)
+            AC_DEFINE(HAVE_TR1_UNORDERED_SET)
+        else
+            dnl check for hash_map and hash_set headers
+            AC_CHECK_HEADER([hash_map],
+                [AC_CACHE_CHECK([for std::hash_map and hash_set],
+                    wx_cv_class_stdhashmapset,
+                    [AC_TRY_COMPILE([#include <hash_map>
+                        #include <hash_set>],
+                        [std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
+                         std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
+                        wx_cv_class_stdhashmapset=yes,
+                        wx_cv_class_stdhashmapset=no)
+                    ]
+                )],
+                [],
+                [ ]
+            )
+
+            if test "$wx_cv_class_stdhashmapset" = yes; then
+                AC_DEFINE(HAVE_HASH_MAP)
+                AC_DEFINE(HAVE_STD_HASH_MAP)
+            fi
+
+            AC_CHECK_HEADER([ext/hash_map],
+                [AC_CACHE_CHECK([for GNU hash_map and hash_set],
+                    wx_cv_class_gnuhashmapset,
+                    [AC_TRY_COMPILE([#include <ext/hash_map>
+                        #include <ext/hash_set>],
+                        [__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
+                         __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
+                        wx_cv_class_gnuhashmapset=yes,
+                        wx_cv_class_gnuhashmapset=no)
+                    ]
+                )],
+                [],
+                [ ]
+            )
+
         fi
     fi
 fi