|
5 | 5 | 'node_use_lttng%': 'false', |
6 | 6 | 'node_use_etw%': 'false', |
7 | 7 | 'node_use_perfctr%': 'false', |
| 8 | + 'node_use_v8_platform%': 'true', |
| 9 | + 'node_use_bundled_v8%': 'true', |
| 10 | + 'node_shared%': 'false', |
| 11 | + 'force_dynamic_crt%': 0, |
| 12 | + 'node_module_version%': 'true', |
8 | 13 | 'node_has_winsdk%': 'false', |
9 | 14 | 'node_shared_zlib%': 'false', |
10 | 15 | 'node_shared_http_parser%': 'false', |
|
93 | 98 | 'deps/v8/tools/SourceMap.js', |
94 | 99 | 'deps/v8/tools/tickprocessor-driver.js', |
95 | 100 | ], |
| 101 | + 'conditions': [ |
| 102 | + [ 'node_shared=="true"', { |
| 103 | + 'node_target_type%': 'shared_library', |
| 104 | + }, { |
| 105 | + 'node_target_type%': 'executable', |
| 106 | + }], |
| 107 | + ], |
96 | 108 | }, |
97 | 109 |
|
98 | 110 | 'targets': [ |
|
211 | 223 |
|
212 | 224 |
|
213 | 225 | 'conditions': [ |
| 226 | + [ 'node_shared=="false"', { |
| 227 | + 'msvs_settings': { |
| 228 | + 'VCManifestTool': { |
| 229 | + 'EmbedManifest': 'true', |
| 230 | + 'AdditionalManifestFiles': 'src/res/node.exe.extra.manifest' |
| 231 | + } |
| 232 | + }, |
| 233 | + }, { |
| 234 | + 'defines': [ |
| 235 | + 'NODE_SHARED_MODE', |
| 236 | + ], |
| 237 | + 'conditions': [ |
| 238 | + [ 'node_module_version!=""', { |
| 239 | + 'product_extension': 'so.<(node_module_version)', |
| 240 | + }] |
| 241 | + ], |
| 242 | + }], |
| 243 | + [ 'node_use_bundled_v8=="true"', { |
| 244 | + 'include_dirs': [ |
| 245 | + 'deps/v8' # include/v8_platform.h |
| 246 | + ], |
| 247 | + |
| 248 | + 'dependencies': [ |
| 249 | + 'deps/v8/tools/gyp/v8.gyp:v8', |
| 250 | + 'deps/v8/tools/gyp/v8.gyp:v8_libplatform' |
| 251 | + ], |
| 252 | + }], |
| 253 | + [ 'node_use_v8_platform=="true"', { |
| 254 | + 'defines': [ |
| 255 | + 'NODE_USE_V8_PLATFORM=1', |
| 256 | + ], |
| 257 | + }, { |
| 258 | + 'defines': [ |
| 259 | + 'NODE_USE_V8_PLATFORM=0', |
| 260 | + ], |
| 261 | + }], |
214 | 262 | [ 'node_enable_d8=="true"', { |
215 | 263 | 'dependencies': [ 'deps/v8/src/d8.gyp:d8' ], |
216 | 264 | }], |
|
283 | 331 | ], |
284 | 332 | }, |
285 | 333 | 'conditions': [ |
286 | | - ['OS in "linux freebsd"', { |
| 334 | + ['OS in "linux freebsd" and node_shared=="false"', { |
287 | 335 | 'ldflags': [ |
288 | 336 | '-Wl,--whole-archive,' |
289 | 337 | '<(PRODUCT_DIR)/obj.target/deps/openssl/' |
|
448 | 496 | 'NODE_PLATFORM="sunos"', |
449 | 497 | ], |
450 | 498 | }], |
451 | | - [ 'OS=="freebsd" or OS=="linux"', { |
| 499 | + [ '(OS=="freebsd" or OS=="linux") and node_shared=="false"', { |
452 | 500 | 'ldflags': [ '-Wl,-z,noexecstack', |
453 | 501 | '-Wl,--whole-archive <(V8_BASE)', |
454 | 502 | '-Wl,--no-whole-archive' ] |
|
457 | 505 | 'ldflags': [ '-Wl,-M,/usr/lib/ld/map.noexstk' ], |
458 | 506 | }], |
459 | 507 | ], |
460 | | - 'msvs_settings': { |
461 | | - 'VCManifestTool': { |
462 | | - 'EmbedManifest': 'true', |
463 | | - 'AdditionalManifestFiles': 'src/res/node.exe.extra.manifest' |
464 | | - } |
465 | | - }, |
466 | 508 | }, |
467 | 509 | # generate ETW header and resource files |
468 | 510 | { |
|
0 commit comments