|
6 | 6 | 'node_use_etw%': 'false', |
7 | 7 | 'node_use_perfctr%': 'false', |
8 | 8 | 'node_no_browser_globals%': 'false', |
| 9 | + 'node_no_v8_platform%': 'false', |
| 10 | + 'node_shared%': 'false', |
9 | 11 | 'node_shared_zlib%': 'false', |
10 | 12 | 'node_shared_http_parser%': 'false', |
11 | 13 | 'node_shared_cares%': 'false', |
|
14 | 16 | 'node_shared_openssl%': 'false', |
15 | 17 | 'node_v8_options%': '', |
16 | 18 | 'node_enable_v8_vtunejit%': 'false', |
17 | | - 'node_target_type%': 'executable', |
18 | 19 | 'node_core_target_name%': 'node', |
19 | 20 | 'library_files': [ |
20 | 21 | 'lib/internal/bootstrap_node.js', |
|
99 | 100 | 'deps/v8/tools/SourceMap.js', |
100 | 101 | 'deps/v8/tools/tickprocessor-driver.js', |
101 | 102 | ], |
| 103 | + |
| 104 | + 'conditions': [ |
| 105 | + [ 'node_shared=="true"', { |
| 106 | + 'node_target_type%': 'shared_library', |
| 107 | + }, { |
| 108 | + 'node_target_type%': 'executable', |
| 109 | + }], |
| 110 | + ], |
102 | 111 | }, |
103 | 112 |
|
104 | 113 | 'targets': [ |
|
108 | 117 |
|
109 | 118 | 'dependencies': [ |
110 | 119 | 'node_js2c#host', |
111 | | - 'deps/v8/tools/gyp/v8.gyp:v8', |
112 | | - 'deps/v8/tools/gyp/v8.gyp:v8_libplatform' |
113 | 120 | ], |
114 | 121 |
|
115 | 122 | 'include_dirs': [ |
116 | 123 | 'src', |
117 | 124 | 'tools/msvs/genfiles', |
118 | 125 | 'deps/uv/src/ares', |
119 | 126 | '<(SHARED_INTERMEDIATE_DIR)', # for node_natives.h |
120 | | - 'deps/v8' # include/v8_platform.h |
121 | 127 | ], |
122 | 128 |
|
123 | 129 | 'sources': [ |
|
214 | 220 |
|
215 | 221 |
|
216 | 222 | 'conditions': [ |
| 223 | + [ 'node_shared=="false"', { |
| 224 | + 'dependencies': [ |
| 225 | + 'deps/v8/tools/gyp/v8.gyp:v8', |
| 226 | + ], |
| 227 | + |
| 228 | + 'msvs_settings': { |
| 229 | + 'VCManifestTool': { |
| 230 | + 'EmbedManifest': 'true', |
| 231 | + 'AdditionalManifestFiles': 'src/res/node.exe.extra.manifest' |
| 232 | + } |
| 233 | + }, |
| 234 | + }, { |
| 235 | + 'defines': [ |
| 236 | + 'NODE_SHARED_MODE', |
| 237 | + ], |
| 238 | + |
| 239 | + 'libraries': [ |
| 240 | + '-lv8', |
| 241 | + ], |
| 242 | + }], |
| 243 | + [ 'node_no_v8_platform=="false"', { |
| 244 | + 'include_dirs': [ |
| 245 | + 'deps/v8', # include/v8_platform.h |
| 246 | + ], |
| 247 | + |
| 248 | + 'dependencies': [ |
| 249 | + 'deps/v8/tools/gyp/v8.gyp:v8_libplatform', |
| 250 | + ], |
| 251 | + }, { |
| 252 | + 'defines': [ |
| 253 | + 'NODE_NO_V8_PLATFORM', |
| 254 | + ], |
| 255 | + }], |
217 | 256 | [ 'node_tag!=""', { |
218 | 257 | 'defines': [ 'NODE_TAG="<(node_tag)"' ], |
219 | 258 | }], |
|
242 | 281 | 'defines': [ 'NODE_HAVE_SMALL_ICU=1' ], |
243 | 282 | }]], |
244 | 283 | }], |
245 | | - [ 'node_enable_v8_vtunejit=="true" and (target_arch=="x64" or \ |
| 284 | + [ 'node_shared=="false" and \ |
| 285 | + node_enable_v8_vtunejit=="true" and (target_arch=="x64" or \ |
246 | 286 | target_arch=="ia32" or target_arch=="x32")', { |
247 | 287 | 'defines': [ 'NODE_ENABLE_VTUNE_PROFILING' ], |
248 | 288 | 'dependencies': [ |
|
370 | 410 | [ 'node_no_browser_globals=="true"', { |
371 | 411 | 'defines': [ 'NODE_NO_BROWSER_GLOBALS' ], |
372 | 412 | } ], |
373 | | - [ 'v8_postmortem_support=="true"', { |
| 413 | + [ 'node_shared=="false" and v8_postmortem_support=="true"', { |
374 | 414 | 'dependencies': [ 'deps/v8/tools/gyp/v8.gyp:postmortem-metadata' ], |
375 | 415 | 'conditions': [ |
376 | 416 | # -force_load is not applicable for the static library |
|
462 | 502 | 'ldflags': [ '-Wl,-M,/usr/lib/ld/map.noexstk' ], |
463 | 503 | }], |
464 | 504 | ], |
465 | | - 'msvs_settings': { |
466 | | - 'VCManifestTool': { |
467 | | - 'EmbedManifest': 'true', |
468 | | - 'AdditionalManifestFiles': 'src/res/node.exe.extra.manifest' |
469 | | - } |
470 | | - }, |
471 | 505 | }, |
472 | 506 | # generate ETW header and resource files |
473 | 507 | { |
|
690 | 724 | 'type': 'executable', |
691 | 725 | 'dependencies': [ |
692 | 726 | 'deps/gtest/gtest.gyp:gtest', |
693 | | - 'deps/v8/tools/gyp/v8.gyp:v8', |
694 | | - 'deps/v8/tools/gyp/v8.gyp:v8_libplatform' |
695 | 727 | ], |
| 728 | + |
| 729 | + 'conditions': [ |
| 730 | + [ 'node_shared=="false"', { |
| 731 | + 'dependencies': [ |
| 732 | + 'deps/v8/tools/gyp/v8.gyp:v8', |
| 733 | + ], |
| 734 | + }], |
| 735 | + [ 'node_no_v8_platform=="false"', { |
| 736 | + 'dependencies': [ |
| 737 | + 'deps/v8/tools/gyp/v8.gyp:v8_libplatform', |
| 738 | + ], |
| 739 | + }], |
| 740 | + ], |
| 741 | + |
696 | 742 | 'include_dirs': [ |
697 | 743 | 'src', |
698 | 744 | 'deps/v8/include' |
|
0 commit comments