f13603a9ce80e0340cb2a88d724fa5b1a11a5f6e
[WebKit-https.git] / WebCore / config.h
1 /*
2  * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public License
15  * along with this library; see the file COPYING.LIB.  If not, write to
16  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18  *
19  */
20
21 #include <wtf/Platform.h>
22
23 #define MOBILE 0
24
25 #if __APPLE__
26 #define HAVE_FUNC_USLEEP 1
27 #endif /* __APPLE__ */
28
29 #if PLATFORM(WIN_OS)
30
31 #ifndef _WIN32_WINNT
32 #define _WIN32_WINNT 0x0500
33 #endif
34
35 #ifndef WINVER
36 #define WINVER 0x0500
37 #endif
38
39 // If we don't define these, they get defined in windef.h. 
40 // We want to use std::min and std::max
41 #ifndef max
42 #define max max
43 #endif
44 #ifndef min
45 #define min min
46 #endif
47
48 #ifndef _WINSOCKAPI_
49 #define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h
50 #endif
51
52 #endif /* PLATFORM(WIN_OS) */
53
54 #if !PLATFORM(SYMBIAN)
55 #define IMPORT_C
56 #define EXPORT_C
57 #endif
58
59 #ifdef __cplusplus
60
61 // These undefs match up with defines in WebCorePrefix.h for Mac OS X.
62 // Helps us catch if anyone uses new or delete by accident in code and doesn't include "config.h".
63 #undef new
64 #undef delete
65 #include <wtf/FastMalloc.h>
66
67 #endif
68
69 // this breaks compilation of <QFontDatabase>, at least, so turn it off for now
70 // Also generates errors on wx on Windows, presumably because these functions
71 // are used from wx headers. 
72 #if !PLATFORM(QT) && !PLATFORM(WX)
73 #include <wtf/DisallowCType.h>
74 #endif
75
76 #if !COMPILER(MSVC) // can't get this to compile on Visual C++ yet
77 #define AVOID_STATIC_CONSTRUCTORS 1
78 #endif
79
80 #if PLATFORM(WIN)
81 #define WTF_USE_JAVASCRIPTCORE_BINDINGS 1
82 #define WTF_USE_NPOBJECT 1
83 #define WTF_PLATFORM_CG 1
84 #undef WTF_PLATFORM_CAIRO
85 #define WTF_USE_CFNETWORK 1
86 #undef WTF_USE_WININET
87 #define WTF_PLATFORM_CF 1
88 #define WTF_USE_PTHREADS 1
89 #endif
90
91 #if PLATFORM(MAC)
92 #define WTF_USE_JAVASCRIPTCORE_BINDINGS 1
93 #ifdef __LP64__
94 #define WTF_USE_NPOBJECT 0
95 #else
96 #define WTF_USE_NPOBJECT 1
97 #endif
98 #endif
99
100 #if PLATFORM(SYMBIAN)
101 #define WTF_USE_JAVASCRIPTCORE_BINDINGS 1
102 #define WTF_USE_NPOBJECT 1
103 #undef WIN32
104 #undef _WIN32
105 #undef AVOID_STATIC_CONSTRUCTORS
106 #define USE_SYSTEM_MALLOC 1
107 #define U_HAVE_INT8_T 0
108 #define U_HAVE_INT16_T 0
109 #define U_HAVE_INT32_T 0
110 #define U_HAVE_INT64_T 0
111 #define U_HAVE_INTTYPES_H 0
112
113 #include <stdio.h>
114 #include <snprintf.h>
115 #include <limits.h>
116 #include <wtf/MathExtras.h>
117 #endif
118
119 #if PLATFORM(CG)
120 #ifndef CGFLOAT_DEFINED
121 #ifdef __LP64__
122 typedef double CGFloat;
123 #else
124 typedef float CGFloat;
125 #endif
126 #define CGFLOAT_DEFINED 1
127 #endif
128 #endif /* PLATFORM(CG) */
129
130 #ifdef BUILDING_ON_TIGER
131 #undef ENABLE_FTPDIR
132 #define ENABLE_FTPDIR 0
133 #endif