Windows build fix.
[WebKit-https.git] / WebCore / config.h
1 /*
2  * Copyright (C) 2004, 2005, 2006 Apple 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 #ifdef __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 // CURL needs winsock, so don't prevent inclusion of it
49 #if !USE(CURL)
50 #ifndef _WINSOCKAPI_
51 #define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h
52 #endif
53 #endif
54
55 #endif /* PLATFORM(WIN_OS) */
56
57 #if !PLATFORM(SYMBIAN)
58 #define IMPORT_C
59 #define EXPORT_C
60 #endif
61
62 #ifdef __cplusplus
63
64 // These undefs match up with defines in WebCorePrefix.h for Mac OS X.
65 // Helps us catch if anyone uses new or delete by accident in code and doesn't include "config.h".
66 #undef new
67 #undef delete
68 #include <wtf/FastMalloc.h>
69
70 #endif
71
72 // this breaks compilation of <QFontDatabase>, at least, so turn it off for now
73 // Also generates errors on wx on Windows, presumably because these functions
74 // are used from wx headers. 
75 #if !PLATFORM(QT) && !PLATFORM(WX)
76 #include <wtf/DisallowCType.h>
77 #endif
78
79 #if PLATFORM(GTK)
80 #define WTF_USE_NPOBJECT 1
81 #define WTF_USE_JAVASCRIPTCORE_BINDINGS 1
82 #endif
83
84 #if !COMPILER(MSVC) // can't get this to compile on Visual C++ yet
85 #define AVOID_STATIC_CONSTRUCTORS 1
86 #endif
87
88 #if PLATFORM(WIN)
89 #define WTF_USE_JAVASCRIPTCORE_BINDINGS 1
90 #define WTF_USE_NPOBJECT 1
91 #define WTF_PLATFORM_CG 1
92 #undef WTF_PLATFORM_CAIRO
93 #define WTF_USE_CFNETWORK 1
94 #undef WTF_USE_WININET
95 #define WTF_PLATFORM_CF 1
96 #define WTF_USE_PTHREADS 0
97 #endif
98
99 #if PLATFORM(MAC)
100 #define WTF_USE_JAVASCRIPTCORE_BINDINGS 1
101 #ifdef __LP64__
102 #define WTF_USE_NPOBJECT 0
103 #else
104 #define WTF_USE_NPOBJECT 1
105 #endif
106 #endif
107
108 #if PLATFORM(SYMBIAN)
109 #define WTF_USE_JAVASCRIPTCORE_BINDINGS 1
110 #define WTF_USE_NPOBJECT 1
111 #undef WIN32
112 #undef _WIN32
113 #undef AVOID_STATIC_CONSTRUCTORS
114 #define USE_SYSTEM_MALLOC 1
115 #define U_HAVE_INT8_T 0
116 #define U_HAVE_INT16_T 0
117 #define U_HAVE_INT32_T 0
118 #define U_HAVE_INT64_T 0
119 #define U_HAVE_INTTYPES_H 0
120
121 #include <stdio.h>
122 #include <snprintf.h>
123 #include <limits.h>
124 #include <wtf/MathExtras.h>
125 #endif
126
127 #if PLATFORM(CG)
128 #ifndef CGFLOAT_DEFINED
129 #ifdef __LP64__
130 typedef double CGFloat;
131 #else
132 typedef float CGFloat;
133 #endif
134 #define CGFLOAT_DEFINED 1
135 #endif
136 #endif /* PLATFORM(CG) */
137
138 #ifdef BUILDING_ON_TIGER
139 #undef ENABLE_FTPDIR
140 #define ENABLE_FTPDIR 0
141 #endif