Generate defines for initializer function.

This commit is contained in:
Oliver Buchtala 2012-12-04 01:36:51 +01:00
commit 2c4a90a37d
2 changed files with 9 additions and 2 deletions

View file

@ -244,6 +244,10 @@ int $jswrapper(JSContextRef context, JSObjectRef function, JSObjectRef thisObjec
} }
%} %}
%fragment ("js_initializer_define", "templates") %{
#define SWIGJSC_INIT $jsname_initialize
%}
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* js_initializer: template for the module initializer function * js_initializer: template for the module initializer function
* - $jsname: module name * - $jsname: module name
@ -256,7 +260,7 @@ int $jswrapper(JSContextRef context, JSObjectRef function, JSObjectRef thisObjec
extern "C" { extern "C" {
#endif #endif
bool $jsname_initialize(JSGlobalContextRef context) { bool SWIGJSC_INIT (JSGlobalContextRef context) {
SWIG_InitializeModule(0); SWIG_InitializeModule(0);
JSObjectRef global_object = JSContextGetGlobalObject(context); JSObjectRef global_object = JSContextGetGlobalObject(context);

View file

@ -1407,6 +1407,9 @@ int JSCEmitter::dump(Node *n) {
// write the swig banner // write the swig banner
Swig_banner(f_wrap_cpp); Swig_banner(f_wrap_cpp);
Template initializer_define(getTemplate("js_initializer_define"));
initializer_define.replace(T_NAME, module).pretty_print(f_header);
SwigType_emit_type_table(f_runtime, f_wrappers); SwigType_emit_type_table(f_runtime, f_wrappers);
Printv(f_wrap_cpp, f_runtime, "\n", 0); Printv(f_wrap_cpp, f_runtime, "\n", 0);