build: configure script now checks if unordered_map (C++11) is defined
authorRamprasad Venkataraman <ramv@illinois.edu>
Tue, 19 Jun 2012 21:07:18 +0000 (16:07 -0500)
committerRamprasad Venkataraman <ramv@illinois.edu>
Thu, 28 Jun 2012 15:59:47 +0000 (10:59 -0500)
The compiler option is hardcoded for g++. However, this should not cause
any failures other than setting the corresponding macro to 0.

src/scripts/configure
src/scripts/configure.in
src/scripts/conv-autoconfig.h.in

index bf3da5d1186691d6854482bf197408452329a551..d44d968af0b9bd051aaa43156c52168de8ae74c8 100755 (executable)
@@ -2692,6 +2692,25 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
+#### check if std::unordered_map is defined #####
+cat > $t <<EOT
+#include <unordered_map>
+
+int foo()
+{
+  std::unordered_map<int,int> myhashtbl;
+  myhashtbl[0] = 42;
+  myhashtbl[1234] = 0;
+  return myhashtbl[1234];
+}
+EOT
+test_cxx "whether std::unordered_map is defined" "ok" "no" "-std=c++0x"
+
+cat >>confdefs.h <<_ACEOF
+#define CMK_HAS_STD_UNORDERED_MAP $pass
+_ACEOF
+
+
 
 #### test if we can have multiple delete like this ####
 cat > $t <<EOT
index a7724ac0e1915f36f5ef4f4282f9b3268253d670..24080f48cb169d488db566cba9ea671f26ab43d9 100644 (file)
@@ -778,6 +778,21 @@ EOT
 test_cxx "whether std::inserter is defined" "ok" "no" ""
 AC_DEFINE_UNQUOTED(CMK_HAS_STD_INSERTER, $pass, [whether std::inserter works])
 
+#### check if std::unordered_map is defined #####
+cat > $t <<EOT
+#include <unordered_map>
+
+int foo()
+{
+  std::unordered_map<int,int> myhashtbl;
+  myhashtbl[[0]] = 42;
+  myhashtbl[[1234]] = 0;
+  return myhashtbl[[1234]];
+}
+EOT
+test_cxx "whether std::unordered_map is defined" "ok" "no" "-std=c++0x"
+AC_DEFINE_UNQUOTED(CMK_HAS_STD_UNORDERED_MAP, $pass, [whether std::unordered_map works])
+
 
 #### test if we can have multiple delete like this ####
 cat > $t <<EOT
index d217925ed495c0ae3dfac5e9ad3075f0afc7ce29..661abf95483353bed57fb0491577bdc8210925f0 100644 (file)
 /* whether std::inserter works */
 #undef CMK_HAS_STD_INSERTER
 
+/* whether std::unordered_map works */
+#undef CMK_HAS_STD_UNORDERED_MAP
+
 /* whether has strings.h */
 #undef CMK_HAS_STRINGS_H