| Index: build/build_config.h | 
| diff --git a/build/build_config.h b/build/build_config.h | 
| index a672380b15765967db320068b237156ac82fb632..090641907bdb49f4906159472962b7493e225943 100644 | 
| --- a/build/build_config.h | 
| +++ b/build/build_config.h | 
| @@ -49,6 +49,8 @@ | 
| #endif | 
| #elif defined(_WIN32) | 
| #define OS_WIN 1 | 
| +#elif defined(__Fuchsia__) | 
| +#define OS_FUCHSIA 1 | 
| #elif defined(__FreeBSD__) | 
| #define OS_FREEBSD 1 | 
| #elif defined(__NetBSD__) | 
| @@ -77,10 +79,10 @@ | 
|  | 
| // For access to standard POSIXish features, use OS_POSIX instead of a | 
| // more specific macro. | 
| -#if defined(OS_AIX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ | 
| -    defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_NACL) ||   \ | 
| -    defined(OS_NETBSD) || defined(OS_OPENBSD) || defined(OS_QNX) ||  \ | 
| -    defined(OS_SOLARIS) | 
| +#if defined(OS_AIX) || defined(OS_ANDROID) || defined(OS_FREEBSD) ||  \ | 
| +    defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_MACOSX) || \ | 
| +    defined(OS_NACL) || defined(OS_NETBSD) || defined(OS_OPENBSD) ||  \ | 
| +    defined(OS_QNX) || defined(OS_SOLARIS) | 
| #define OS_POSIX 1 | 
| #endif | 
|  | 
| @@ -165,12 +167,10 @@ | 
| // Type detection for wchar_t. | 
| #if defined(OS_WIN) | 
| #define WCHAR_T_IS_UTF16 | 
| -#elif defined(OS_POSIX) && defined(COMPILER_GCC) && \ | 
| -    defined(__WCHAR_MAX__) && \ | 
| +#elif defined(OS_POSIX) && defined(COMPILER_GCC) && defined(__WCHAR_MAX__) && \ | 
| (__WCHAR_MAX__ == 0x7fffffff || __WCHAR_MAX__ == 0xffffffff) | 
| #define WCHAR_T_IS_UTF32 | 
| -#elif defined(OS_POSIX) && defined(COMPILER_GCC) && \ | 
| -    defined(__WCHAR_MAX__) && \ | 
| +#elif defined(OS_POSIX) && defined(COMPILER_GCC) && defined(__WCHAR_MAX__) && \ | 
| (__WCHAR_MAX__ == 0x7fff || __WCHAR_MAX__ == 0xffff) | 
| // On Posix, we'll detect short wchar_t, but projects aren't guaranteed to | 
| // compile in this mode (in particular, Chrome doesn't). This is intended for | 
|  |