1
1
#ifndef SRC_NODE_API_H_
2
2
#define SRC_NODE_API_H_
3
3
4
- #ifdef BUILDING_NODE_EXTENSION
4
+ #if defined( BUILDING_NODE_EXTENSION) && !defined(NAPI_EXTERN)
5
5
#ifdef _WIN32
6
6
// Building native addon against node
7
7
#define NAPI_EXTERN __declspec (dllimport)
8
- #elif defined(__wasm32__ )
8
+ #elif defined(__wasm__ )
9
9
#define NAPI_EXTERN __attribute__ ((__import_module__(" napi" )))
10
10
#endif
11
11
#endif
@@ -17,8 +17,13 @@ struct uv_loop_s; // Forward declaration.
17
17
#ifdef _WIN32
18
18
#define NAPI_MODULE_EXPORT __declspec (dllexport)
19
19
#else
20
+ #ifdef __EMSCRIPTEN__
21
+ #define NAPI_MODULE_EXPORT \
22
+ __attribute__ ((visibility(" default" ))) __attribute__((used))
23
+ #else
20
24
#define NAPI_MODULE_EXPORT __attribute__ ((visibility(" default" )))
21
25
#endif
26
+ #endif
22
27
23
28
#if defined(__GNUC__)
24
29
#define NAPI_NO_RETURN __attribute__ ((noreturn))
@@ -49,7 +54,7 @@ typedef struct napi_module {
49
54
NAPI_MODULE_INITIALIZER_X_HELPER (base, version)
50
55
#define NAPI_MODULE_INITIALIZER_X_HELPER (base, version ) base##version
51
56
52
- #ifdef __wasm32__
57
+ #ifdef __wasm__
53
58
#define NAPI_MODULE_INITIALIZER_BASE napi_register_wasm_v
54
59
#else
55
60
#define NAPI_MODULE_INITIALIZER_BASE napi_register_module_v
@@ -143,7 +148,6 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_get_buffer_info(napi_env env,
143
148
void ** data,
144
149
size_t * length);
145
150
146
- #ifndef __wasm32__
147
151
// Methods to manage simple async operations
148
152
NAPI_EXTERN napi_status NAPI_CDECL
149
153
napi_create_async_work (napi_env env,
@@ -159,7 +163,6 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_queue_async_work(napi_env env,
159
163
napi_async_work work);
160
164
NAPI_EXTERN napi_status NAPI_CDECL napi_cancel_async_work (napi_env env,
161
165
napi_async_work work);
162
- #endif // __wasm32__
163
166
164
167
// version management
165
168
NAPI_EXTERN napi_status NAPI_CDECL
@@ -197,7 +200,6 @@ napi_close_callback_scope(napi_env env, napi_callback_scope scope);
197
200
198
201
#if NAPI_VERSION >= 4
199
202
200
- #ifndef __wasm32__
201
203
// Calling into JS from other threads
202
204
NAPI_EXTERN napi_status NAPI_CDECL
203
205
napi_create_threadsafe_function (napi_env env,
@@ -231,7 +233,6 @@ napi_unref_threadsafe_function(napi_env env, napi_threadsafe_function func);
231
233
232
234
NAPI_EXTERN napi_status NAPI_CDECL
233
235
napi_ref_threadsafe_function (napi_env env, napi_threadsafe_function func);
234
- #endif // __wasm32__
235
236
236
237
#endif // NAPI_VERSION >= 4
237
238
0 commit comments