]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Use the preprocessor to detect whether hash_map is available.
authorPeter Powell <petpow@saberuk.com>
Fri, 4 Jan 2013 18:22:29 +0000 (18:22 +0000)
committerPeter Powell <petpow@saberuk.com>
Mon, 28 Jan 2013 21:38:03 +0000 (21:38 +0000)
configure
include/hash_map.h

index 8f9f203505f6a4bbab2e26c1172f54cb89d60938..cd5cf425880e41141855418ef547788b835a1f75 100755 (executable)
--- a/configure
+++ b/configure
@@ -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";
                }
index 6be2da6ca016dc29d540a32b27e3ae8cc4819522..1b43f0118e4c68b24bdcd9d005f80c0b8703a4d3 100644 (file)
 
 #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 */