1 /* Modified for Chromium to support stlport and libc++ adaptively */ 2 /* config.h. Generated from config.h.in by configure. */ 3 /* config.h.in. Generated from configure.ac by autoheader. */ 4 5 /* We want to detect which header files to include for the unordered (hash) 6 collections standardized in C++11 but first introduced as part of TR1. 7 Specifically, we want to avoid including ext/ headers when using libc++ as 8 it will generate noisy build warnings. 9 10 We take a several-tier approach. First, attempt to use clang's __has_include 11 and test for libc++'s configuration header. If that isn't available, include 12 <new> which will define libc++'s version macro (if using libc++). 13 14 There are no really good alternative headers that do less work. For example, 15 ciso646 and cstdbool and commonly recommended, but they both have issues. 16 The first has side effects with MSVC, and the second does not exists on Apple 17 platforms (the system libstdc++ is too old). 18 19 This dynamic check is necessary to allow using this normally dynamically 20 generated header with Chromium's many supported build configurations. It 21 should be expanded to import the right header on other platforms as 22 desired. */ 23 24 #if defined(__has_include) 25 #if __has_include(<__config>) 26 #include <__config> 27 #else // __has_include(<__config>) 28 #include <new> 29 #endif // __has_include(<__config>) 30 #endif // defined(__has_include) 31 32 /* the name of <hash_map> */ 33 #if defined(_LIBCPP_VERSION) 34 #define HASH_MAP_CLASS unordered_map 35 #else 36 #define HASH_MAP_CLASS hash_map 37 #endif 38 39 /* the location of <unordered_map> or <hash_map> */ 40 #if defined(USE_STLPORT) 41 #define HASH_MAP_H <hash_map> 42 #elif defined(_LIBCPP_VERSION) 43 #define HASH_MAP_H <unordered_map> 44 #else 45 #define HASH_MAP_H <ext/hash_map> 46 #endif 47 48 /* the namespace of hash_map/hash_set */ 49 #if defined(USE_STLPORT) || defined(_LIBCPP_VERSION) 50 #define HASH_NAMESPACE std 51 #else 52 #define HASH_NAMESPACE __gnu_cxx 53 #endif 54 55 /* the name of <hash_set> */ 56 #if defined(_LIBCPP_VERSION) 57 #define HASH_SET_CLASS unordered_set 58 #else 59 #define HASH_SET_CLASS hash_set 60 #endif 61 62 /* the location of <unordered_set> or <hash_set> */ 63 #if defined(USE_STLPORT) 64 #define HASH_SET_H <hash_set> 65 #elif defined(_LIBCPP_VERSION) 66 #define HASH_SET_H <unordered_set> 67 #else 68 #define HASH_SET_H <ext/hash_set> 69 #endif 70 71 /* Define to 1 if you have the <dlfcn.h> header file. */ 72 #define HAVE_DLFCN_H 1 73 74 /* Define to 1 if you have the <fcntl.h> header file. */ 75 #define HAVE_FCNTL_H 1 76 77 /* Define to 1 if you have the `ftruncate' function. */ 78 #define HAVE_FTRUNCATE 1 79 80 /* define if the compiler has hash_map */ 81 #define HAVE_HASH_MAP 1 82 83 /* define if the compiler has hash_set */ 84 #define HAVE_HASH_SET 1 85 86 /* Define to 1 if you have the <inttypes.h> header file. */ 87 #define HAVE_INTTYPES_H 1 88 89 /* Define to 1 if you have the <limits.h> header file. */ 90 #define HAVE_LIMITS_H 1 91 92 /* Define to 1 if you have the <memory.h> header file. */ 93 #define HAVE_MEMORY_H 1 94 95 /* Define to 1 if you have the `memset' function. */ 96 #define HAVE_MEMSET 1 97 98 /* Define to 1 if you have the `mkdir' function. */ 99 #define HAVE_MKDIR 1 100 101 /* Define if you have POSIX threads libraries and header files. */ 102 #define HAVE_PTHREAD 1 103 104 /* Define to 1 if you have the <stdint.h> header file. */ 105 #define HAVE_STDINT_H 1 106 107 /* Define to 1 if you have the <stdlib.h> header file. */ 108 #define HAVE_STDLIB_H 1 109 110 /* Define to 1 if you have the `strchr' function. */ 111 #define HAVE_STRCHR 1 112 113 /* Define to 1 if you have the `strerror' function. */ 114 #define HAVE_STRERROR 1 115 116 /* Define to 1 if you have the <strings.h> header file. */ 117 #define HAVE_STRINGS_H 1 118 119 /* Define to 1 if you have the <string.h> header file. */ 120 #define HAVE_STRING_H 1 121 122 /* Define to 1 if you have the `strtol' function. */ 123 #define HAVE_STRTOL 1 124 125 /* Define to 1 if you have the <sys/stat.h> header file. */ 126 #define HAVE_SYS_STAT_H 1 127 128 /* Define to 1 if you have the <sys/types.h> header file. */ 129 #define HAVE_SYS_TYPES_H 1 130 131 /* Define to 1 if you have the <unistd.h> header file. */ 132 #define HAVE_UNISTD_H 1 133 134 /* Enable classes using zlib compression. */ 135 #define HAVE_ZLIB 1 136 137 /* Name of package */ 138 #define PACKAGE "protobuf" 139 140 /* Define to the address where bug reports for this package should be sent. */ 141 #define PACKAGE_BUGREPORT "protobuf (at) googlegroups.com" 142 143 /* Define to the full name of this package. */ 144 #define PACKAGE_NAME "Protocol Buffers" 145 146 /* Define to the full name and version of this package. */ 147 #define PACKAGE_STRING "Protocol Buffers 2.3.0" 148 149 /* Define to the one symbol short name of this package. */ 150 #define PACKAGE_TARNAME "protobuf" 151 152 /* Define to the version of this package. */ 153 #define PACKAGE_VERSION "2.3.0" 154 155 /* Define to necessary symbol if this constant uses a non-standard name on 156 your system. */ 157 /* #undef PTHREAD_CREATE_JOINABLE */ 158 159 /* Define to 1 if you have the ANSI C header files. */ 160 #define STDC_HEADERS 1 161 162 /* Version number of package */ 163 #define VERSION "2.3.0" 164 165 /* Define to 1 if on AIX 3. 166 System headers sometimes define this. 167 We just want to avoid a redefinition error message. */ 168 #ifndef _ALL_SOURCE 169 /* # undef _ALL_SOURCE */ 170 #endif 171 172 /* Enable GNU extensions on systems that have them. */ 173 #ifndef _GNU_SOURCE 174 # define _GNU_SOURCE 1 175 #endif 176 177 /* Define to 1 if on MINIX. */ 178 /* #undef _MINIX */ 179 180 /* Define to 2 if the system does not provide POSIX.1 features except with 181 this defined. */ 182 /* #undef _POSIX_1_SOURCE */ 183 184 /* Define to 1 if you need to in order for `stat' and other things to work. */ 185 /* #undef _POSIX_SOURCE */ 186 187 /* Enable extensions on Solaris. */ 188 #ifndef __EXTENSIONS__ 189 # define __EXTENSIONS__ 1 190 #endif 191 #ifndef _POSIX_PTHREAD_SEMANTICS 192 # define _POSIX_PTHREAD_SEMANTICS 1 193 #endif 194 #ifndef _TANDEM_SOURCE 195 # define _TANDEM_SOURCE 1 196 #endif 197