@@ -332,15 +332,16 @@ extern "C" NODE_EXTERN void node_module_register(void* mod);
332
332
#pragma section(".CRT$XCU", read)
333
333
#define NODE_C_CTOR (fn ) \
334
334
static void __cdecl fn (void ); \
335
- __declspec (allocate(" .CRT$XCU" )) static void (__cdecl*fn ## _)(void ) = fn; \
335
+ __declspec (dllexport, allocate(" .CRT$XCU" )) \
336
+ void (__cdecl*fn ## _)(void ) = fn; \
336
337
static void __cdecl fn (void )
337
338
#else
338
339
#define NODE_C_CTOR (fn ) \
339
340
static void fn (void ) __attribute__((constructor)); \
340
341
static void fn (void )
341
342
#endif
342
343
343
- #define NODE_MODULE_X (modstr , regfunc, priv, flags ) \
344
+ #define NODE_MODULE_X (modname , regfunc, priv, flags ) \
344
345
extern " C" { \
345
346
static node::node_module _module = \
346
347
{ \
@@ -350,16 +351,16 @@ extern "C" NODE_EXTERN void node_module_register(void* mod);
350
351
__FILE__, \
351
352
(node::addon_register_func) (regfunc), \
352
353
NULL , \
353
- modstr, \
354
+ NODE_STRINGIFY (modname), \
354
355
priv, \
355
356
NULL \
356
357
}; \
357
- NODE_C_CTOR (_register) { \
358
+ NODE_C_CTOR (_register_ ## modname) { \
358
359
node_module_register (&_module); \
359
360
} \
360
361
}
361
362
362
- #define NODE_MODULE_CONTEXT_AWARE_X (modstr , regfunc, priv, flags ) \
363
+ #define NODE_MODULE_CONTEXT_AWARE_X (modname , regfunc, priv, flags ) \
363
364
extern " C" { \
364
365
static node::node_module _module = \
365
366
{ \
@@ -369,24 +370,23 @@ extern "C" NODE_EXTERN void node_module_register(void* mod);
369
370
__FILE__, \
370
371
NULL , \
371
372
(node::addon_context_register_func) (regfunc), \
372
- modstr, \
373
+ NODE_STRINGIFY (modname), \
373
374
priv, \
374
375
NULL \
375
376
}; \
376
- NODE_C_CTOR (_register) { \
377
+ NODE_C_CTOR (_register_ ## modname) { \
377
378
node_module_register (&_module); \
378
379
} \
379
380
}
380
381
381
382
#define NODE_MODULE (modname, regfunc ) \
382
- NODE_MODULE_X (NODE_STRINGIFY( modname) , regfunc, NULL , 0 )
383
+ NODE_MODULE_X (modname, regfunc, NULL , 0 )
383
384
384
385
#define NODE_MODULE_CONTEXT_AWARE (modname, regfunc ) \
385
- NODE_MODULE_CONTEXT_AWARE_X (NODE_STRINGIFY( modname) , regfunc, NULL , 0 )
386
+ NODE_MODULE_CONTEXT_AWARE_X (modname, regfunc, NULL , 0 )
386
387
387
388
#define NODE_MODULE_CONTEXT_AWARE_BUILTIN (modname, regfunc ) \
388
- NODE_MODULE_CONTEXT_AWARE_X (NODE_STRINGIFY(modname), \
389
- regfunc, NULL , NM_F_BUILTIN)
389
+ NODE_MODULE_CONTEXT_AWARE_X (modname, regfunc, NULL , NM_F_BUILTIN) \
390
390
391
391
/*
392
392
* For backward compatibility in add-on modules.
0 commit comments