ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/XmlTools2/trunk/libs/config.h
Revision: 906
Committed: Sat Feb 1 14:27:58 2014 UTC (11 years, 8 months ago) by s10k
Content type: text/x-chdr
File size: 4835 byte(s)
Log Message:

File Contents

# Content
1 #ifndef _42TinyJS_config_h__
2 #define _42TinyJS_config_h__
3
4 /*
5 * 42TinyJS
6 *
7 * A fork of TinyJS with the goal to makes a more JavaScript/ECMA compliant engine
8 *
9 * Authored By Armin Diedering <armin@diedering.de>
10 *
11 * Copyright (C) 2010-2013 ardisoft
12 *
13 *
14 * Permission is hereby granted, free of charge, to any person obtaining a copy of
15 * this software and associated documentation files (the "Software"), to deal in
16 * the Software without restriction, including without limitation the rights to
17 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
18 * of the Software, and to permit persons to whom the Software is furnished to do
19 * so, subject to the following conditions:
20
21 * The above copyright notice and this permission notice shall be included in all
22 * copies or substantial portions of the Software.
23
24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
27 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
29 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
30 * SOFTWARE.
31 */
32
33 //////////////////////////////////////////////////////////////////////////
34
35 /* POOL-ALLOCATOR
36 * ==============
37 * To speed-up new & delete 42TinyJS adds an object-pool
38 * The pool is activated by default.
39 * To deactivate this stuff define NO_POOL_ALLOCATOR
40 */
41 //#define NO_POOL_ALLOCATOR
42
43 /*
44 * for debugging-stuff you can define DEBUG_POOL_ALLOCATOR
45 * if a memory-leak detected the allocator usage is printed to stderr
46 */
47 //#define DEBUG_POOL_ALLOCATOR
48 /*
49 * with define LOG_POOL_ALLOCATOR_MEMORY_USAGE
50 * the allocator usage is always printed to stderr
51 */
52 //#define LOG_POOL_ALLOCATOR_MEMORY_USAGE
53
54 // NOTE: _DEBUG or LOG_POOL_ALLOCATOR_MEMORY_USAGE implies DEBUG_POOL_ALLOCATOR
55
56 //////////////////////////////////////////////////////////////////////////
57
58 /* REGEXP-SUPPORT
59 * ==============
60 * The RegExp-support needs boost-regex or TR1-regex
61 * To deactivate this stuff define NO_REGEXP
62 */
63 //#define NO_REGEXP
64
65 /* if NO_REGEXP not defined <regex> is included and std::regex is used
66 * you can define HAVE_BOOST_REGEX and <boost/regex.hpp> is included and boost::regex is used
67 */
68 #define HAVE_BOOST_REGEX
69
70 /* or you can define HAVE_TR1_REGEX and <tr1/regex> is included and std::tr1::regex is used
71 */
72 //#define HAVE_TR1_REGEX
73
74
75 //////////////////////////////////////////////////////////////////////////
76
77 /* LET-STUFF
78 * =========
79 * Redeclaration of LET-vars is not allowed in block-scopes.
80 * But in the root- and functions-scopes it is currently allowed
81 * In future ECMAScript versions this will be also in root-and functions-scopes forbidden
82 * To enable the future behavior define PREVENT_REDECLARATION_IN_FUNCTION_SCOPES
83 */
84 //#define PREVENT_REDECLARATION_IN_FUNCTION_SCOPES
85
86
87 //////////////////////////////////////////////////////////////////////////
88
89 /* MULTI-THREADING
90 * ===============
91 * 42TinyJS is basically thread-save.
92 * You can run different or the same JS-code simultaneously in different instances of class TinyJS.
93 * The threading-stuff is currently only needed by the pool-allocator
94 * to deactivate threading define NO_THREADING
95 * NOTE: if NO_POOL_ALLOCATOR not defined you can not run JS-code simultaneously
96 * NO_POOL_ALLOCATOR implies NO_THREADING
97 */
98
99 //#define NO_THREADING
100
101 /* on Windows the windows-threading-API is used by default.
102 * on non-Windows (WIN32 is not defined) it is tried to use the POSIX pthread-API
103 * to force the pthread-API define HAVE_PTHREAD (windows needs in this case
104 * a pthread-lib e.g http://http://sourceware.org/pthreads-win32/)
105 */
106 //#define HAVE_PTHREAD
107
108 /* you can implement your own custom thread-implementation.
109 * to prevent the using of the win- or pthread-API define HAVE_CUSTOM_THREADING_IMPL
110 */
111 //#define HAVE_CUSTOM_THREADING_IMPL
112
113 ////////////////////////////////////////////////
114 // DO NOT MAKE CHANGES OF THE FOLLOWING STUFF //
115 ////////////////////////////////////////////////
116
117 #if defined(NO_POOL_ALLOCATOR) && !defined(NO_THREADING)
118 # define NO_THREADING
119 #endif
120
121 #if !defined(NO_POOL_ALLOCATOR) && defined(NO_THREADING)
122 #pragma message("\n***********************************************************************\n\
123 * You have defined NO_THREADING and not defined NO_POOL_ALLOCATOR\n\
124 * NOTE: you can not run JS-code simultaneously in different threads\n\
125 ***********************************************************************\n")
126 #endif
127
128
129 #endif // _42TinyJS_config_h__