diff options
author | Attila Molnar <attilamolnar@hush.com> | 2013-01-28 13:57:10 -0800 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2013-01-28 13:57:10 -0800 |
commit | 0cca0dbb8af9d9207ee99cb3e4762ee2acd1866e (patch) | |
tree | 20a538b2d41643f0bad0f771a46a0a25bbccf79f | |
parent | 2239d91ca7cfeadf18e1332b38d10434e344838f (diff) | |
parent | 2e04480f21298262daa5c6d9b0d1b24c52f00756 (diff) |
Merge pull request #414 from SaberUK/insp20+hashmap
[2.0] Use the preprocessor to detect whether hash_map is available.
-rwxr-xr-x | configure | 9 | ||||
-rw-r--r-- | include/hash_map.h | 10 |
2 files changed, 6 insertions, 13 deletions
@@ -904,15 +904,6 @@ print FILEHANDLE "#define MAXBUF " . ($config{MAXBUF}+2) . "\n"; if ($config{GCCVER} >= 3) { print FILEHANDLE "#define GCC3\n"; } - if ( - (($config{GCCVER} == 4) && ($config{GCCMINOR} >= 3)) - || - ($config{GCCVER} > 4) - || # HACK: temporary fix for non-GCC (i.e. clang) builds - ($config{CC} !~ /gcc/) - ) { - print FILEHANDLE "#define HASHMAP_DEPRECATED\n"; - } if ($config{HAS_STRLCPY} eq "true") { print FILEHANDLE "#define HAS_STRLCPY\n"; } diff --git a/include/hash_map.h b/include/hash_map.h index 6be2da6ca..1b43f0118 100644 --- a/include/hash_map.h +++ b/include/hash_map.h @@ -22,17 +22,19 @@ #ifndef INSPIRCD_HASHMAP_H #define INSPIRCD_HASHMAP_H - -#include "inspircd_config.h" - + /** Where hash_map is varies from compiler to compiler * as it is not standard unless we have tr1. + * + * TODO: in 2.2 if we drop support for libstdc++ older than 3.4.7 and GCC older + * than 4.1 this can be cleaned up massively. */ #ifndef _WIN32 - #ifdef HASHMAP_DEPRECATED + #if __GLIBCXX__ > 20060309 // GCC4+ has deprecated hash_map and uses tr1. But of course, uses a different include to MSVC. FOR FUCKS SAKE. #include <tr1/unordered_map> #define HAS_TR1_UNORDERED + #define HASHMAP_DEPRECATED #else #include <ext/hash_map> /** Oddball linux namespace for hash_map */ |