]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | /* |
2 | * Top-level include file to be used for all (internal) source files. | |
3 | * | |
4 | * Source files should not include individual header files, as they | |
5 | * have not been designed to be individually included. | |
6 | */ | |
7 | ||
8 | #ifndef DUK_INTERNAL_H_INCLUDED | |
9 | #define DUK_INTERNAL_H_INCLUDED | |
10 | ||
11 | /* | |
12 | * The 'duktape.h' header provides the public API, but also handles all | |
13 | * compiler and platform specific feature detection, Duktape feature | |
14 | * resolution, inclusion of system headers, etc. These have been merged | |
15 | * because the public API is also dependent on e.g. detecting appropriate | |
16 | * C types which is quite platform/compiler specific especially for a non-C99 | |
17 | * build. The public API is also dependent on the resolved feature set. | |
18 | * | |
19 | * Some actions taken by the merged header (such as including system headers) | |
20 | * are not appropriate for building a user application. The define | |
21 | * DUK_COMPILING_DUKTAPE allows the merged header to skip/include some | |
22 | * sections depending on what is being built. | |
23 | */ | |
24 | ||
25 | #define DUK_COMPILING_DUKTAPE | |
26 | #include "duktape.h" | |
27 | ||
28 | /* | |
29 | * User declarations, e.g. prototypes for user functions used by Duktape | |
30 | * macros. Concretely, if DUK_USE_PANIC_HANDLER is used and the macro | |
31 | * value calls a user function, it needs to be declared for Duktape | |
32 | * compilation to avoid warnings. | |
33 | */ | |
34 | ||
35 | DUK_USE_USER_DECLARE() | |
36 | ||
37 | /* | |
38 | * Duktape includes (other than duk_features.h) | |
39 | * | |
40 | * The header files expect to be included in an order which satisfies header | |
41 | * dependencies correctly (the headers themselves don't include any other | |
42 | * includes). Forward declarations are used to break circular struct/typedef | |
43 | * dependencies. | |
44 | */ | |
45 | ||
46 | #include "duk_replacements.h" | |
47 | #include "duk_jmpbuf.h" | |
11fdf7f2 | 48 | #include "duk_exception.h" |
7c673cae | 49 | #include "duk_forwdecl.h" |
11fdf7f2 | 50 | #include "duk_tval.h" /* builtins need e.g. duk_tval tag definitions */ |
7c673cae FG |
51 | #include "duk_builtins.h" /* autogenerated: strings and built-in object init data */ |
52 | ||
53 | #include "duk_util.h" | |
54 | #include "duk_strings.h" | |
55 | #include "duk_js_bytecode.h" | |
56 | #include "duk_lexer.h" | |
57 | #include "duk_js_compiler.h" | |
58 | #include "duk_regexp.h" | |
7c673cae FG |
59 | #include "duk_heaphdr.h" |
60 | #include "duk_api_internal.h" | |
61 | #include "duk_hstring.h" | |
62 | #include "duk_hobject.h" | |
63 | #include "duk_hcompiledfunction.h" | |
64 | #include "duk_hnativefunction.h" | |
65 | #include "duk_hbufferobject.h" | |
66 | #include "duk_hthread.h" | |
67 | #include "duk_hbuffer.h" | |
68 | #include "duk_heap.h" | |
69 | #include "duk_debugger.h" | |
70 | #include "duk_debug.h" | |
71 | #include "duk_error.h" | |
72 | #include "duk_unicode.h" | |
73 | #include "duk_json.h" | |
74 | #include "duk_js.h" | |
75 | #include "duk_numconv.h" | |
76 | #include "duk_bi_protos.h" | |
77 | #include "duk_selftest.h" | |
78 | ||
79 | #endif /* DUK_INTERNAL_H_INCLUDED */ |