JavaScriptCore:
[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 // If we don't define these, they get defined in windef.h. 
53 // We want to use std::min and std::max
54 #define max max
55 #define min min
56
57 // Hack to match configuration of JavaScriptCore.
58 // Maybe there's a better way to do this.
59 #define USE_SYSTEM_MALLOC 1
60
61 // FIXME: Should probably just dump this eventually, but it's needed for now.
62 // We get this from some system place on OS X; probably better not to use it
63 // in WebCore code.
64 #include <assert.h>
65
66 #endif /* PLATFORM(WIN_OS) */
67
68 #if !PLATFORM(SYMBIAN)
69 #define IMPORT_C
70 #define EXPORT_C
71 #endif
72
73 #ifdef __cplusplus
74
75 // These undefs match up with defines in WebCorePrefix.h for Mac OS X.
76 // Helps us catch if anyone uses new or delete by accident in code and doesn't include "config.h".
77 #undef new
78 #undef delete
79 #include <wtf/FastMalloc.h>
80
81 #endif
82
83 #if !COMPILER(MSVC) // can't get this to compile on Visual C++ yet
84 #define AVOID_STATIC_CONSTRUCTORS 1
85 #endif
86
87 #if PLATFORM(MAC)
88 #define WTF_USE_JAVASCRIPTCORE_BINDINGS 1
89 #define WTF_USE_NPOBJECT 1
90 #endif
91
92 #if PLATFORM(SYMBIAN)
93 #define WTF_USE_JAVASCRIPTCORE_BINDINGS 1
94 #define WTF_USE_NPOBJECT 1
95 #undef XSLT_SUPPORT
96 #undef WIN32
97 #undef _WIN32
98 #undef AVOID_STATIC_CONSTRUCTORS
99 #define USE_SYSTEM_MALLOC 1
100 #define U_HAVE_INT8_T 0
101 #define U_HAVE_INT16_T 0
102 #define U_HAVE_INT32_T 0
103 #define U_HAVE_INT64_T 0
104 #define U_HAVE_INTTYPES_H 0
105
106 #include <stdio.h>
107 #include <snprintf.h>
108 #include <limits.h>
109 #include <wtf/MathExtras.h>
110 #endif