OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This file adds defines about the platform we're currently building on. | 5 // This file adds defines about the platform we're currently building on. |
6 // Operating System: | 6 // Operating System: |
7 // OS_WIN / OS_MACOSX / OS_LINUX / OS_POSIX (MACOSX or LINUX) / OS_NACL | 7 // OS_WIN / OS_MACOSX / OS_LINUX / OS_POSIX (MACOSX or LINUX) / |
| 8 // OS_NACL (NACL_SFI or NACL_NONSFI) / OS_NACL_SFI / OS_NACL_NONSFI |
8 // Compiler: | 9 // Compiler: |
9 // COMPILER_MSVC / COMPILER_GCC | 10 // COMPILER_MSVC / COMPILER_GCC |
10 // Processor: | 11 // Processor: |
11 // ARCH_CPU_X86 / ARCH_CPU_X86_64 / ARCH_CPU_X86_FAMILY (X86 or X86_64) | 12 // ARCH_CPU_X86 / ARCH_CPU_X86_64 / ARCH_CPU_X86_FAMILY (X86 or X86_64) |
12 // ARCH_CPU_32_BITS / ARCH_CPU_64_BITS | 13 // ARCH_CPU_32_BITS / ARCH_CPU_64_BITS |
13 | 14 |
14 #ifndef BUILD_BUILD_CONFIG_H_ | 15 #ifndef BUILD_BUILD_CONFIG_H_ |
15 #define BUILD_BUILD_CONFIG_H_ | 16 #define BUILD_BUILD_CONFIG_H_ |
16 | 17 |
17 // A set of macros to use for platform detection. | 18 // A set of macros to use for platform detection. |
18 #if defined(__native_client__) | 19 #if defined(__native_client__) |
19 // __native_client__ must be first, so that other OS_ defines are not set. | 20 // __native_client__ must be first, so that other OS_ defines are not set. |
20 #define OS_NACL 1 | 21 #define OS_NACL 1 |
| 22 // OS_NACL comes in two sandboxing technology flavors, SFI or Non-SFI. |
| 23 // PNaCl toolchain defines __native_client_nonsfi__ macro in Non-SFI build |
| 24 // mode, while it does not in SFI build mode. |
| 25 #if defined(__native_client_nonsfi__) |
| 26 #define OS_NACL_NONSFI |
| 27 #else |
| 28 #define OS_NACL_SFI |
| 29 #endif |
21 #elif defined(ANDROID) | 30 #elif defined(ANDROID) |
22 #define OS_ANDROID 1 | 31 #define OS_ANDROID 1 |
23 #elif defined(__APPLE__) | 32 #elif defined(__APPLE__) |
24 // only include TargetConditions after testing ANDROID as some android builds | 33 // only include TargetConditions after testing ANDROID as some android builds |
25 // on mac don't have this header available and it's not needed unless the target | 34 // on mac don't have this header available and it's not needed unless the target |
26 // is really mac/ios. | 35 // is really mac/ios. |
27 #include <TargetConditionals.h> | 36 #include <TargetConditionals.h> |
28 #define OS_MACOSX 1 | 37 #define OS_MACOSX 1 |
29 #if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE | 38 #if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE |
30 #define OS_IOS 1 | 39 #define OS_IOS 1 |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 #if defined(OS_ANDROID) | 159 #if defined(OS_ANDROID) |
151 // The compiler thinks std::string::const_iterator and "const char*" are | 160 // The compiler thinks std::string::const_iterator and "const char*" are |
152 // equivalent types. | 161 // equivalent types. |
153 #define STD_STRING_ITERATOR_IS_CHAR_POINTER | 162 #define STD_STRING_ITERATOR_IS_CHAR_POINTER |
154 // The compiler thinks base::string16::const_iterator and "char16*" are | 163 // The compiler thinks base::string16::const_iterator and "char16*" are |
155 // equivalent types. | 164 // equivalent types. |
156 #define BASE_STRING16_ITERATOR_IS_CHAR16_POINTER | 165 #define BASE_STRING16_ITERATOR_IS_CHAR16_POINTER |
157 #endif | 166 #endif |
158 | 167 |
159 #endif // BUILD_BUILD_CONFIG_H_ | 168 #endif // BUILD_BUILD_CONFIG_H_ |
OLD | NEW |