0647394eca8bcd5b8ff01e57daa5fa10f4ab260f
[WebKit-https.git] / WebCore / config.h
1 /*
2  * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
3  * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public License
16  * along with this library; see the file COPYING.LIB.  If not, write to
17  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18  * Boston, MA 02111-1307, USA.
19  *
20  */
21
22 #include <wtf/Platform.h>
23
24 #define XSLT_SUPPORT 1
25 #define MOBILE 0
26
27 #if __APPLE__
28 #define HAVE_FUNC_USLEEP 1
29
30 #ifndef CGFLOAT_DEFINED
31 #ifdef __LP64__
32 typedef double CGFloat;
33 #else
34 typedef float CGFloat;
35 #endif
36 #define CGFLOAT_DEFINED 1
37 #endif
38
39 #endif /* __APPLE__ */
40
41
42 #if PLATFORM(WIN_OS)
43
44 #ifndef _WIN32_WINNT
45 #define _WIN32_WINNT 0x0500
46 #endif
47
48 #ifndef WINVER
49 #define WINVER 0x0500
50 #endif
51
52 // We need to define this in order to use the numeric limit 
53 // values provided by the C++ standard library.
54 #define NOMINMAX
55
56 // Hack to match configuration of JavaScriptCore.
57 // Maybe there's a better way to do this.
58 #define USE_SYSTEM_MALLOC 1
59
60 // FIXME: Should probably just dump this eventually, but it's needed for now.
61 // We get this from some system place on OS X; probably better not to use it
62 // in WebCore code.
63 #include <assert.h>
64
65 #endif /* PLATFORM(WIN_OS) */
66
67 #if !PLATFORM(SYMBIAN)
68 #define IMPORT_C
69 #define EXPORT_C
70 #endif
71
72 #ifdef __cplusplus
73
74 // These undefs match up with defines in WebCorePrefix.h for Mac OS X.
75 // Helps us catch if anyone uses new or delete by accident in code and doesn't include "config.h".
76 #undef new
77 #undef delete
78 #include <wtf/FastMalloc.h>
79
80 #endif
81
82 #if !COMPILER(MSVC) // can't get this to compile on Visual C++ yet
83 #define AVOID_STATIC_CONSTRUCTORS 1
84 #endif
85
86 #if PLATFORM(MAC)
87 #define WTF_USE_JAVASCRIPTCORE_BINDINGS 1
88 #define WTF_USE_NPOBJECT 1
89 #endif
90
91 #if PLATFORM(SYMBIAN)
92 #define WTF_USE_JAVASCRIPTCORE_BINDINGS 1
93 #define WTF_USE_NPOBJECT 1
94 #undef XSLT_SUPPORT
95 #undef WIN32
96 #undef _WIN32
97 #undef AVOID_STATIC_CONSTRUCTORS
98 #define USE_SYSTEM_MALLOC 1
99 #define U_HAVE_INT8_T 0
100 #define U_HAVE_INT16_T 0
101 #define U_HAVE_INT32_T 0
102 #define U_HAVE_INT64_T 0
103 #define U_HAVE_INTTYPES_H 0
104
105 #include <stdio.h>
106 #include <snprintf.h>
107 #include <limits.h>
108 #include <wtf/MathExtras.h>
109 #endif