| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights reserved. | |
| 3 * Copyright (C) 2007-2009 Torch Mobile, Inc. | |
| 4 * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved. | |
| 5 * | |
| 6 * Redistribution and use in source and binary forms, with or without | |
| 7 * modification, are permitted provided that the following conditions | |
| 8 * are met: | |
| 9 * 1. Redistributions of source code must retain the above copyright | |
| 10 * notice, this list of conditions and the following disclaimer. | |
| 11 * 2. Redistributions in binary form must reproduce the above copyright | |
| 12 * notice, this list of conditions and the following disclaimer in the | |
| 13 * documentation and/or other materials provided with the distribution. | |
| 14 * | |
| 15 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY | |
| 16 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
| 17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
| 18 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR | |
| 19 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
| 20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |
| 21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | |
| 22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | |
| 23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
| 25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 26 */ | |
| 27 | |
| 28 #ifndef WTF_Platform_h | |
| 29 #define WTF_Platform_h | |
| 30 | |
| 31 /* Include compiler specific macros */ | |
| 32 #include "wtf/Compiler.h" | |
| 33 | |
| 34 /* ==== Platform adaptation macros: these describe properties of the target envi
ronment. ==== */ | |
| 35 | |
| 36 /* HAVE() - specific system features (headers, functions or similar) that are pr
esent or not */ | |
| 37 #define HAVE(WTF_FEATURE) (defined HAVE_##WTF_FEATURE && HAVE_##WTF_FEATURE) | |
| 38 /* OS() - underlying operating system; only to be used for mandated low-level se
rvices like | |
| 39 virtual memory, not to choose a GUI toolkit */ | |
| 40 #define OS(WTF_FEATURE) (defined WTF_OS_##WTF_FEATURE && WTF_OS_##WTF_FEATURE) | |
| 41 | |
| 42 /* ==== Policy decision macros: these define policy choices for a particular por
t. ==== */ | |
| 43 | |
| 44 /* USE() - use a particular third-party library or optional OS service */ | |
| 45 #define USE(WTF_FEATURE) (defined WTF_USE_##WTF_FEATURE && WTF_USE_##WTF_FEATUR
E) | |
| 46 /* ENABLE() - turn on a specific feature of WebKit */ | |
| 47 #define ENABLE(WTF_FEATURE) (defined ENABLE_##WTF_FEATURE && ENABLE_##WTF_FEATU
RE) | |
| 48 | |
| 49 /* ==== OS() - underlying operating system; only to be used for mandated low-lev
el services like | |
| 50 virtual memory, not to choose a GUI toolkit ==== */ | |
| 51 | |
| 52 /* OS(ANDROID) - Android */ | |
| 53 #ifdef ANDROID | |
| 54 #define WTF_OS_ANDROID 1 | |
| 55 #endif | |
| 56 | |
| 57 /* OS(DARWIN) - Any Darwin-based OS, including Mac OS X and iPhone OS */ | |
| 58 #ifdef __APPLE__ | |
| 59 #define WTF_OS_DARWIN 1 | |
| 60 #endif | |
| 61 | |
| 62 /* OS(FREEBSD) - FreeBSD */ | |
| 63 #if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__
) | |
| 64 #define WTF_OS_FREEBSD 1 | |
| 65 #endif | |
| 66 | |
| 67 /* OS(HURD) - GNU/Hurd */ | |
| 68 #ifdef __GNU__ | |
| 69 #define WTF_OS_HURD 1 | |
| 70 #endif | |
| 71 | |
| 72 /* OS(LINUX) - Linux */ | |
| 73 #ifdef __linux__ | |
| 74 #define WTF_OS_LINUX 1 | |
| 75 #endif | |
| 76 | |
| 77 /* OS(NETBSD) - NetBSD */ | |
| 78 #if defined(__NetBSD__) | |
| 79 #define WTF_OS_NETBSD 1 | |
| 80 #endif | |
| 81 | |
| 82 /* OS(OPENBSD) - OpenBSD */ | |
| 83 #ifdef __OpenBSD__ | |
| 84 #define WTF_OS_OPENBSD 1 | |
| 85 #endif | |
| 86 | |
| 87 /* OS(SOLARIS) - Solaris */ | |
| 88 #if defined(sun) || defined(__sun) | |
| 89 #define WTF_OS_SOLARIS 1 | |
| 90 #endif | |
| 91 | |
| 92 /* OS(WINDOWS) - Any version of Windows */ | |
| 93 #if defined(WIN32) || defined(_WIN32) | |
| 94 #define WTF_OS_WINDOWS 1 | |
| 95 #endif | |
| 96 | |
| 97 /* OS(UNIX) - Any Unix-like system */ | |
| 98 #if OS(ANDROID) \ | |
| 99 || OS(DARWIN) \ | |
| 100 || OS(FREEBSD) \ | |
| 101 || OS(HURD) \ | |
| 102 || OS(LINUX) \ | |
| 103 || OS(NETBSD) \ | |
| 104 || OS(OPENBSD) \ | |
| 105 || OS(SOLARIS) \ | |
| 106 || defined(unix) \ | |
| 107 || defined(__unix) \ | |
| 108 || defined(__unix__) | |
| 109 #define WTF_OS_UNIX 1 | |
| 110 #endif | |
| 111 | |
| 112 /* Operating environments */ | |
| 113 | |
| 114 #if OS(ANDROID) | |
| 115 #define WTF_USE_LOW_QUALITY_IMAGE_INTERPOLATION 1 | |
| 116 #define WTF_USE_LOW_QUALITY_IMAGE_NO_JPEG_DITHERING 1 | |
| 117 #define WTF_USE_LOW_QUALITY_IMAGE_NO_JPEG_FANCY_UPSAMPLING 1 | |
| 118 #else | |
| 119 #define WTF_USE_ICCJPEG 1 | |
| 120 #define WTF_USE_QCMSLIB 1 | |
| 121 #endif | |
| 122 | |
| 123 #if OS(DARWIN) | |
| 124 #define WTF_USE_CF 1 | |
| 125 | |
| 126 /* We can't override the global operator new and delete on OS(DARWIN) because | |
| 127 * some object are allocated by WebKit and deallocated by the embedder. */ | |
| 128 #else /* !OS(DARWIN) */ | |
| 129 /* On non-OS(DARWIN), the "system malloc" is actually TCMalloc anyway, so there'
s | |
| 130 * no need to use WebKit's copy of TCMalloc. */ | |
| 131 #define WTF_USE_SYSTEM_MALLOC 1 | |
| 132 #endif /* OS(DARWIN) */ | |
| 133 | |
| 134 #if !defined(HAVE_ACCESSIBILITY) | |
| 135 #define HAVE_ACCESSIBILITY 1 | |
| 136 #endif /* !defined(HAVE_ACCESSIBILITY) */ | |
| 137 | |
| 138 #if OS(UNIX) | |
| 139 #define HAVE_MMAP 1 | |
| 140 #define HAVE_SIGNAL_H 1 | |
| 141 #define HAVE_SYS_TIME_H 1 | |
| 142 #define WTF_USE_PTHREADS 1 | |
| 143 #endif /* OS(UNIX) */ | |
| 144 | |
| 145 #if !defined(HAVE_VASPRINTF) | |
| 146 #if !COMPILER(MSVC) | |
| 147 #define HAVE_VASPRINTF 1 | |
| 148 #endif | |
| 149 #endif | |
| 150 | |
| 151 #if !OS(WINDOWS) && !OS(SOLARIS) && !OS(ANDROID) | |
| 152 #define HAVE_TM_GMTOFF 1 | |
| 153 #define HAVE_TM_ZONE 1 | |
| 154 #define HAVE_TIMEGM 1 | |
| 155 #endif | |
| 156 | |
| 157 #if OS(DARWIN) | |
| 158 #define HAVE_DISPATCH_H 1 | |
| 159 #define HAVE_PTHREAD_SETNAME_NP 1 | |
| 160 #endif /* OS(DARWIN) */ | |
| 161 | |
| 162 #endif /* WTF_Platform_h */ | |
| OLD | NEW |