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" 48 #include "duk_exception.h" 49 #include "duk_forwdecl.h" 50 #include "duk_tval.h" /* builtins need e.g. duk_tval tag definitions */ 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" 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 */ 80