1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/* Modified for Chromium to support stlport and libc++ adaptively */
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* config.h.  Generated from config.h.in by configure.  */
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* config.h.in.  Generated from configure.ac by autoheader.  */
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/* We want to detect which header files to include for the unordered (hash)
6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   collections standardized in C++11 but first introduced as part of TR1.
7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   Specifically, we want to avoid including ext/ headers when using libc++ as
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   it will generate noisy build warnings.
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   We take a several-tier approach. First, attempt to use clang's __has_include
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   and test for libc++'s configuration header. If that isn't available, include
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   <new> which will define libc++'s version macro (if using libc++).
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   There are no really good alternative headers that do less work. For example,
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   ciso646 and cstdbool and commonly recommended, but they both have issues.
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   The first has side effects with MSVC, and the second does not exists on Apple
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   platforms (the system libstdc++ is too old).
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   This dynamic check is necessary to allow using this normally dynamically
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   generated header with Chromium's many supported build configurations. It
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   should be expanded to import the right header on other platforms as
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)   desired. */
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#if defined(__has_include)
25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#if __has_include(<__config>)
26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include <__config>
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#else // __has_include(<__config>)
28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include <new>
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif // __has_include(<__config>)
30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif // defined(__has_include)
31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/* the name of <hash_map> */
33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#if defined(_LIBCPP_VERSION)
34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define HASH_MAP_CLASS unordered_map
35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#else
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HASH_MAP_CLASS hash_map
37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/* the location of <unordered_map> or <hash_map> */
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(USE_STLPORT)
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HASH_MAP_H <hash_map>
42cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#elif defined(_LIBCPP_VERSION)
43cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define HASH_MAP_H <unordered_map>
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HASH_MAP_H <ext/hash_map>
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* the namespace of hash_map/hash_set */
49cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#if defined(USE_STLPORT) || defined(_LIBCPP_VERSION)
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HASH_NAMESPACE std
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HASH_NAMESPACE __gnu_cxx
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* the name of <hash_set> */
56cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#if defined(_LIBCPP_VERSION)
57cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define HASH_SET_CLASS unordered_set
58cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#else
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HASH_SET_CLASS hash_set
60cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
62cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/* the location of <unordered_set> or <hash_set> */
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(USE_STLPORT)
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HASH_SET_H <hash_set>
65cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#elif defined(_LIBCPP_VERSION)
66cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define HASH_SET_H <unordered_set>
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HASH_SET_H <ext/hash_set>
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the <dlfcn.h> header file. */
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_DLFCN_H 1
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the <fcntl.h> header file. */
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_FCNTL_H 1
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the `ftruncate' function. */
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_FTRUNCATE 1
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* define if the compiler has hash_map */
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_HASH_MAP 1
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* define if the compiler has hash_set */
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_HASH_SET 1
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the <inttypes.h> header file. */
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_INTTYPES_H 1
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the <limits.h> header file. */
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_LIMITS_H 1
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the <memory.h> header file. */
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_MEMORY_H 1
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the `memset' function. */
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_MEMSET 1
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the `mkdir' function. */
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_MKDIR 1
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define if you have POSIX threads libraries and header files. */
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_PTHREAD 1
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the <stdint.h> header file. */
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_STDINT_H 1
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the <stdlib.h> header file. */
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_STDLIB_H 1
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the `strchr' function. */
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_STRCHR 1
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the `strerror' function. */
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_STRERROR 1
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the <strings.h> header file. */
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_STRINGS_H 1
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the <string.h> header file. */
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_STRING_H 1
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the `strtol' function. */
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_STRTOL 1
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the <sys/stat.h> header file. */
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_SYS_STAT_H 1
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the <sys/types.h> header file. */
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_SYS_TYPES_H 1
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the <unistd.h> header file. */
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_UNISTD_H 1
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Enable classes using zlib compression. */
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define HAVE_ZLIB 1
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Name of package */
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PACKAGE "protobuf"
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to the address where bug reports for this package should be sent. */
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PACKAGE_BUGREPORT "protobuf@googlegroups.com"
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to the full name of this package. */
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PACKAGE_NAME "Protocol Buffers"
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to the full name and version of this package. */
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PACKAGE_STRING "Protocol Buffers 2.3.0"
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to the one symbol short name of this package. */
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PACKAGE_TARNAME "protobuf"
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to the version of this package. */
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PACKAGE_VERSION "2.3.0"
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to necessary symbol if this constant uses a non-standard name on
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   your system. */
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* #undef PTHREAD_CREATE_JOINABLE */
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you have the ANSI C header files. */
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define STDC_HEADERS 1
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Version number of package */
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define VERSION "2.3.0"
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if on AIX 3.
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   System headers sometimes define this.
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   We just want to avoid a redefinition error message.  */
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _ALL_SOURCE
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* # undef _ALL_SOURCE */
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Enable GNU extensions on systems that have them.  */
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _GNU_SOURCE
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define _GNU_SOURCE 1
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if on MINIX. */
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* #undef _MINIX */
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 2 if the system does not provide POSIX.1 features except with
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   this defined. */
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* #undef _POSIX_1_SOURCE */
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Define to 1 if you need to in order for `stat' and other things to work. */
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* #undef _POSIX_SOURCE */
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Enable extensions on Solaris.  */
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __EXTENSIONS__
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define __EXTENSIONS__ 1
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _POSIX_PTHREAD_SEMANTICS
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define _POSIX_PTHREAD_SEMANTICS 1
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _TANDEM_SOURCE
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define _TANDEM_SOURCE 1
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
197