The data contained in this repository can be downloaded to your computer using one of several clients.
Please see the documentation of your version control software client for more information.
Please select the desired protocol below to get the URL.
This URL has Read-Only access.
main_repo / node.gyp @ e851fef6
History | View | Annotate | Download (15.5 KB)
1 |
{ |
---|---|
2 |
'variables': { |
3 |
'v8_use_snapshot%': 'true', |
4 |
# Turn off -Werror in V8 |
5 |
# See http://codereview.chromium.org/8159015 |
6 |
'werror': '', |
7 |
'node_use_dtrace%': 'false', |
8 |
'node_use_etw%': 'false', |
9 |
'node_use_perfctr%': 'false', |
10 |
'node_has_winsdk%': 'false', |
11 |
'node_shared_v8%': 'false', |
12 |
'node_shared_zlib%': 'false', |
13 |
'node_shared_http_parser%': 'false', |
14 |
'node_shared_cares%': 'false', |
15 |
'node_shared_libuv%': 'false', |
16 |
'node_use_openssl%': 'true', |
17 |
'node_use_systemtap%': 'false', |
18 |
'node_shared_openssl%': 'false', |
19 |
'node_use_mdb%': 'false', |
20 |
'library_files': [ |
21 |
'src/node.js', |
22 |
'lib/_debugger.js', |
23 |
'lib/_linklist.js', |
24 |
'lib/assert.js', |
25 |
'lib/buffer.js', |
26 |
'lib/child_process.js', |
27 |
'lib/console.js', |
28 |
'lib/constants.js', |
29 |
'lib/crypto.js', |
30 |
'lib/cluster.js', |
31 |
'lib/dgram.js', |
32 |
'lib/dns.js', |
33 |
'lib/domain.js', |
34 |
'lib/events.js', |
35 |
'lib/freelist.js', |
36 |
'lib/fs.js', |
37 |
'lib/http.js', |
38 |
'lib/_http_agent.js', |
39 |
'lib/_http_client.js', |
40 |
'lib/_http_common.js', |
41 |
'lib/_http_incoming.js', |
42 |
'lib/_http_outgoing.js', |
43 |
'lib/_http_server.js', |
44 |
'lib/https.js', |
45 |
'lib/module.js', |
46 |
'lib/net.js', |
47 |
'lib/os.js', |
48 |
'lib/path.js', |
49 |
'lib/punycode.js', |
50 |
'lib/querystring.js', |
51 |
'lib/readline.js', |
52 |
'lib/repl.js', |
53 |
'lib/smalloc.js', |
54 |
'lib/stream.js', |
55 |
'lib/_stream_readable.js', |
56 |
'lib/_stream_writable.js', |
57 |
'lib/_stream_duplex.js', |
58 |
'lib/_stream_transform.js', |
59 |
'lib/_stream_passthrough.js', |
60 |
'lib/string_decoder.js', |
61 |
'lib/sys.js', |
62 |
'lib/timers.js', |
63 |
'lib/tls.js', |
64 |
'lib/_tls_legacy.js', |
65 |
'lib/_tls_wrap.js', |
66 |
'lib/tty.js', |
67 |
'lib/url.js', |
68 |
'lib/util.js', |
69 |
'lib/vm.js', |
70 |
'lib/zlib.js', |
71 |
], |
72 |
}, |
73 |
|
74 |
'targets': [ |
75 |
{ |
76 |
'target_name': 'node', |
77 |
'type': 'executable', |
78 |
|
79 |
'dependencies': [ |
80 |
'node_js2c#host', |
81 |
], |
82 |
|
83 |
'include_dirs': [ |
84 |
'src', |
85 |
'tools/msvs/genfiles', |
86 |
'deps/uv/src/ares', |
87 |
'<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h |
88 |
], |
89 |
|
90 |
'sources': [ |
91 |
'src/fs_event_wrap.cc', |
92 |
'src/cares_wrap.cc', |
93 |
'src/handle_wrap.cc', |
94 |
'src/node.cc', |
95 |
'src/node_buffer.cc', |
96 |
'src/node_constants.cc', |
97 |
'src/node_extensions.cc', |
98 |
'src/node_file.cc', |
99 |
'src/node_http_parser.cc', |
100 |
'src/node_javascript.cc', |
101 |
'src/node_main.cc', |
102 |
'src/node_os.cc', |
103 |
'src/node_script.cc', |
104 |
'src/node_stat_watcher.cc', |
105 |
'src/node_watchdog.cc', |
106 |
'src/node_zlib.cc', |
107 |
'src/pipe_wrap.cc', |
108 |
'src/signal_wrap.cc', |
109 |
'src/smalloc.cc', |
110 |
'src/string_bytes.cc', |
111 |
'src/stream_wrap.cc', |
112 |
'src/tcp_wrap.cc', |
113 |
'src/timer_wrap.cc', |
114 |
'src/tty_wrap.cc', |
115 |
'src/process_wrap.cc', |
116 |
'src/udp_wrap.cc', |
117 |
'src/uv.cc', |
118 |
# headers to make for a more pleasant IDE experience |
119 |
'src/handle_wrap.h', |
120 |
'src/node.h', |
121 |
'src/node_buffer.h', |
122 |
'src/node_constants.h', |
123 |
'src/node_extensions.h', |
124 |
'src/node_file.h', |
125 |
'src/node_http_parser.h', |
126 |
'src/node_javascript.h', |
127 |
'src/node_os.h', |
128 |
'src/node_root_certs.h', |
129 |
'src/node_script.h', |
130 |
'src/node_version.h', |
131 |
'src/node_watchdog.h', |
132 |
'src/node_wrap.h', |
133 |
'src/pipe_wrap.h', |
134 |
'src/queue.h', |
135 |
'src/smalloc.h', |
136 |
'src/tty_wrap.h', |
137 |
'src/tcp_wrap.h', |
138 |
'src/udp_wrap.h', |
139 |
'src/req_wrap.h', |
140 |
'src/string_bytes.h', |
141 |
'src/stream_wrap.h', |
142 |
'src/tree.h', |
143 |
'deps/http_parser/http_parser.h', |
144 |
'<(SHARED_INTERMEDIATE_DIR)/node_natives.h', |
145 |
# javascript files to make for an even more pleasant IDE experience |
146 |
'<@(library_files)', |
147 |
# node.gyp is added to the project by default. |
148 |
'common.gypi', |
149 |
], |
150 |
|
151 |
'defines': [ |
152 |
'NODE_WANT_INTERNALS=1', |
153 |
'ARCH="<(target_arch)"', |
154 |
'PLATFORM="<(OS)"', |
155 |
'NODE_TAG="<(node_tag)"', |
156 |
], |
157 |
|
158 |
'conditions': [ |
159 |
[ 'node_use_openssl=="true"', { |
160 |
'defines': [ 'HAVE_OPENSSL=1' ], |
161 |
'sources': [ |
162 |
'src/node_crypto.cc', |
163 |
'src/node_crypto_bio.cc', |
164 |
'src/node_crypto.h', |
165 |
'src/node_crypto_bio.h', |
166 |
'src/tls_wrap.cc', |
167 |
'src/tls_wrap.h' |
168 |
], |
169 |
'conditions': [ |
170 |
[ 'node_shared_openssl=="false"', { |
171 |
'dependencies': [ './deps/openssl/openssl.gyp:openssl' ], |
172 |
}]] |
173 |
}, { |
174 |
'defines': [ 'HAVE_OPENSSL=0' ] |
175 |
}], |
176 |
[ 'node_use_dtrace=="true"', { |
177 |
'defines': [ 'HAVE_DTRACE=1' ], |
178 |
'dependencies': [ 'node_dtrace_header' ], |
179 |
'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ], |
180 |
# |
181 |
# DTrace is supported on solaris, mac, and bsd. There are three |
182 |
# object files associated with DTrace support, but they're not all |
183 |
# used all the time: |
184 |
# |
185 |
# node_dtrace.o all configurations |
186 |
# node_dtrace_ustack.o not supported on OS X |
187 |
# node_dtrace_provider.o All except OS X. "dtrace -G" is not |
188 |
# used on OS X. |
189 |
# |
190 |
# Note that node_dtrace_provider.cc and node_dtrace_ustack.cc do not |
191 |
# actually exist. They're listed here to trick GYP into linking the |
192 |
# corresponding object files into the final "node" executable. These |
193 |
# object files are generated by "dtrace -G" using custom actions |
194 |
# below, and the GYP-generated Makefiles will properly build them when |
195 |
# needed. |
196 |
# |
197 |
'sources': [ |
198 |
'src/node_dtrace.cc', |
199 |
], |
200 |
'conditions': [ [ |
201 |
'OS!="mac"', { |
202 |
'sources': [ |
203 |
'src/node_dtrace_ustack.cc', |
204 |
'src/node_dtrace_provider.cc', |
205 |
] |
206 |
} |
207 |
] ] |
208 |
} ], |
209 |
[ 'node_use_mdb=="true"', { |
210 |
'dependencies': [ 'node_mdb' ], |
211 |
'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ], |
212 |
'sources': [ |
213 |
'src/node_mdb.cc', |
214 |
], |
215 |
} ], |
216 |
[ 'node_use_systemtap=="true"', { |
217 |
'defines': [ 'HAVE_SYSTEMTAP=1', 'STAP_SDT_V1=1' ], |
218 |
'sources': [ |
219 |
'src/node_dtrace.cc', |
220 |
], |
221 |
} ], |
222 |
[ 'node_use_etw=="true"', { |
223 |
'defines': [ 'HAVE_ETW=1' ], |
224 |
'dependencies': [ 'node_etw' ], |
225 |
'sources': [ |
226 |
'src/node_win32_etw_provider.h', |
227 |
'src/node_win32_etw_provider-inl.h', |
228 |
'src/node_win32_etw_provider.cc', |
229 |
'src/node_dtrace.cc', |
230 |
'tools/msvs/genfiles/node_etw_provider.h', |
231 |
'tools/msvs/genfiles/node_etw_provider.rc', |
232 |
] |
233 |
} ], |
234 |
[ 'node_use_perfctr=="true"', { |
235 |
'defines': [ 'HAVE_PERFCTR=1' ], |
236 |
'dependencies': [ 'node_perfctr' ], |
237 |
'sources': [ |
238 |
'src/node_win32_perfctr_provider.h', |
239 |
'src/node_win32_perfctr_provider.cc', |
240 |
'src/node_counters.cc', |
241 |
'src/node_counters.h', |
242 |
'tools/msvs/genfiles/node_perfctr_provider.rc', |
243 |
] |
244 |
} ], |
245 |
[ 'v8_postmortem_support=="true"', { |
246 |
'dependencies': [ 'deps/v8/tools/gyp/v8.gyp:postmortem-metadata' ], |
247 |
}], |
248 |
[ 'node_shared_v8=="false"', { |
249 |
'sources': [ |
250 |
'deps/v8/include/v8.h', |
251 |
'deps/v8/include/v8-debug.h', |
252 |
], |
253 |
'dependencies': [ 'deps/v8/tools/gyp/v8.gyp:v8' ], |
254 |
}], |
255 |
|
256 |
[ 'node_shared_zlib=="false"', { |
257 |
'dependencies': [ 'deps/zlib/zlib.gyp:zlib' ], |
258 |
}], |
259 |
|
260 |
[ 'node_shared_http_parser=="false"', { |
261 |
'dependencies': [ 'deps/http_parser/http_parser.gyp:http_parser' ], |
262 |
}], |
263 |
|
264 |
[ 'node_shared_cares=="false"', { |
265 |
'dependencies': [ 'deps/cares/cares.gyp:cares' ], |
266 |
}], |
267 |
|
268 |
[ 'node_shared_libuv=="false"', { |
269 |
'dependencies': [ 'deps/uv/uv.gyp:libuv' ], |
270 |
}], |
271 |
|
272 |
[ 'OS=="win"', { |
273 |
'sources': [ |
274 |
'src/res/node.rc', |
275 |
], |
276 |
'defines': [ |
277 |
'FD_SETSIZE=1024', |
278 |
# we need to use node's preferred "win32" rather than gyp's preferred "win" |
279 |
'PLATFORM="win32"', |
280 |
'_UNICODE=1', |
281 |
], |
282 |
'libraries': [ '-lpsapi.lib' ] |
283 |
}, { # POSIX |
284 |
'defines': [ '__POSIX__' ], |
285 |
}], |
286 |
[ 'OS=="mac"', { |
287 |
'libraries': [ '-framework Carbon' ], |
288 |
'defines!': [ |
289 |
'PLATFORM="mac"', |
290 |
], |
291 |
'defines': [ |
292 |
# we need to use node's preferred "darwin" rather than gyp's preferred "mac" |
293 |
'PLATFORM="darwin"', |
294 |
], |
295 |
}], |
296 |
[ 'OS=="freebsd"', { |
297 |
'libraries': [ |
298 |
'-lutil', |
299 |
'-lkvm', |
300 |
], |
301 |
}], |
302 |
[ 'OS=="solaris"', { |
303 |
'libraries': [ |
304 |
'-lkstat', |
305 |
'-lumem', |
306 |
], |
307 |
'defines!': [ |
308 |
'PLATFORM="solaris"', |
309 |
], |
310 |
'defines': [ |
311 |
# we need to use node's preferred "sunos" |
312 |
# rather than gyp's preferred "solaris" |
313 |
'PLATFORM="sunos"', |
314 |
], |
315 |
}], |
316 |
], |
317 |
'msvs_settings': { |
318 |
'VCLinkerTool': { |
319 |
'SubSystem': 1, # /subsystem:console |
320 |
}, |
321 |
}, |
322 |
}, |
323 |
# generate ETW header and resource files |
324 |
{ |
325 |
'target_name': 'node_etw', |
326 |
'type': 'none', |
327 |
'conditions': [ |
328 |
[ 'node_use_etw=="true" and node_has_winsdk=="true"', { |
329 |
'actions': [ |
330 |
{ |
331 |
'action_name': 'node_etw', |
332 |
'inputs': [ 'src/res/node_etw_provider.man' ], |
333 |
'outputs': [ |
334 |
'tools/msvs/genfiles/node_etw_provider.rc', |
335 |
'tools/msvs/genfiles/node_etw_provider.h', |
336 |
'tools/msvs/genfiles/node_etw_providerTEMP.BIN', |
337 |
], |
338 |
'action': [ 'mc <@(_inputs) -h tools/msvs/genfiles -r tools/msvs/genfiles' ] |
339 |
} |
340 |
] |
341 |
} ] |
342 |
] |
343 |
}, |
344 |
# generate perf counter header and resource files |
345 |
{ |
346 |
'target_name': 'node_perfctr', |
347 |
'type': 'none', |
348 |
'conditions': [ |
349 |
[ 'node_use_perfctr=="true" and node_has_winsdk=="true"', { |
350 |
'actions': [ |
351 |
{ |
352 |
'action_name': 'node_perfctr_man', |
353 |
'inputs': [ 'src/res/node_perfctr_provider.man' ], |
354 |
'outputs': [ |
355 |
'tools/msvs/genfiles/node_perfctr_provider.h', |
356 |
'tools/msvs/genfiles/node_perfctr_provider.rc', |
357 |
'tools/msvs/genfiles/MSG00001.BIN', |
358 |
], |
359 |
'action': [ 'ctrpp <@(_inputs) ' |
360 |
'-o tools/msvs/genfiles/node_perfctr_provider.h ' |
361 |
'-rc tools/msvs/genfiles/node_perfctr_provider.rc' |
362 |
] |
363 |
}, |
364 |
], |
365 |
} ] |
366 |
] |
367 |
}, |
368 |
{ |
369 |
'target_name': 'node_js2c', |
370 |
'type': 'none', |
371 |
'toolsets': ['host'], |
372 |
'actions': [ |
373 |
{ |
374 |
'action_name': 'node_js2c', |
375 |
'inputs': [ |
376 |
'<@(library_files)', |
377 |
'./config.gypi', |
378 |
], |
379 |
'outputs': [ |
380 |
'<(SHARED_INTERMEDIATE_DIR)/node_natives.h', |
381 |
], |
382 |
'conditions': [ |
383 |
[ 'node_use_dtrace=="false"' |
384 |
' and node_use_etw=="false"' |
385 |
' and node_use_systemtap=="false"', |
386 |
{ |
387 |
'inputs': ['src/notrace_macros.py'] |
388 |
}], |
389 |
[ 'node_use_perfctr=="false"', { |
390 |
'inputs': [ 'src/perfctr_macros.py' ] |
391 |
}] |
392 |
], |
393 |
'action': [ |
394 |
'<(python)', |
395 |
'tools/js2c.py', |
396 |
'<@(_outputs)', |
397 |
'<@(_inputs)', |
398 |
], |
399 |
}, |
400 |
], |
401 |
}, # end node_js2c |
402 |
{ |
403 |
'target_name': 'node_dtrace_header', |
404 |
'type': 'none', |
405 |
'conditions': [ |
406 |
[ 'node_use_dtrace=="true" or node_use_systemtap=="true"', { |
407 |
'actions': [ |
408 |
{ |
409 |
'action_name': 'node_dtrace_header', |
410 |
'inputs': [ 'src/node_provider.d' ], |
411 |
'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.h' ], |
412 |
'action': [ 'dtrace', '-h', '-xnolibs', '-s', '<@(_inputs)', |
413 |
'-o', '<@(_outputs)' ] |
414 |
} |
415 |
] |
416 |
} ] |
417 |
] |
418 |
}, |
419 |
{ |
420 |
'target_name': 'node_mdb', |
421 |
'type': 'none', |
422 |
'conditions': [ |
423 |
[ 'node_use_mdb=="true"', |
424 |
{ |
425 |
'dependencies': [ 'deps/mdb_v8/mdb_v8.gyp:mdb_v8' ], |
426 |
'actions': [ |
427 |
{ |
428 |
'action_name': 'node_mdb', |
429 |
'inputs': [ '<(PRODUCT_DIR)/obj.target/deps/mdb_v8/mdb_v8.so' ], |
430 |
'outputs': [ '<(PRODUCT_DIR)/obj.target/node/src/node_mdb.o' ], |
431 |
'conditions': [ |
432 |
[ 'target_arch=="ia32"', { |
433 |
'action': [ 'elfwrap', '-32', '-o', '<@(_outputs)', '<@(_inputs)' ], |
434 |
} ], |
435 |
[ 'target_arch=="x64"', { |
436 |
'action': [ 'elfwrap', '-64', '-o', '<@(_outputs)', '<@(_inputs)' ], |
437 |
} ], |
438 |
], |
439 |
}, |
440 |
], |
441 |
}, |
442 |
], |
443 |
], |
444 |
}, |
445 |
{ |
446 |
'target_name': 'node_dtrace_provider', |
447 |
'type': 'none', |
448 |
'conditions': [ |
449 |
[ 'node_use_dtrace=="true" and OS!="mac"', { |
450 |
'actions': [ |
451 |
{ |
452 |
'action_name': 'node_dtrace_provider_o', |
453 |
'inputs': [ |
454 |
'<(PRODUCT_DIR)/obj.target/libuv/deps/uv/src/unix/core.o', |
455 |
'<(PRODUCT_DIR)/obj.target/node/src/node_dtrace.o', |
456 |
], |
457 |
'outputs': [ |
458 |
'<(PRODUCT_DIR)/obj.target/node/src/node_dtrace_provider.o' |
459 |
], |
460 |
'action': [ 'dtrace', '-G', '-xnolibs', '-s', 'src/node_provider.d', |
461 |
'-s', 'deps/uv/src/unix/uv-dtrace.d', '<@(_inputs)', |
462 |
'-o', '<@(_outputs)' ] |
463 |
} |
464 |
] |
465 |
} ] |
466 |
] |
467 |
}, |
468 |
{ |
469 |
'target_name': 'node_dtrace_ustack', |
470 |
'type': 'none', |
471 |
'conditions': [ |
472 |
[ 'node_use_dtrace=="true" and OS!="mac"', { |
473 |
'actions': [ |
474 |
{ |
475 |
'action_name': 'node_dtrace_ustack_constants', |
476 |
'inputs': [ |
477 |
'<(PRODUCT_DIR)/obj.target/deps/v8/tools/gyp/libv8_base.<(target_arch).a' |
478 |
], |
479 |
'outputs': [ |
480 |
'<(SHARED_INTERMEDIATE_DIR)/v8constants.h' |
481 |
], |
482 |
'action': [ |
483 |
'tools/genv8constants.py', |
484 |
'<@(_outputs)', |
485 |
'<@(_inputs)' |
486 |
] |
487 |
}, |
488 |
{ |
489 |
'action_name': 'node_dtrace_ustack', |
490 |
'inputs': [ |
491 |
'src/v8ustack.d', |
492 |
'<(SHARED_INTERMEDIATE_DIR)/v8constants.h' |
493 |
], |
494 |
'outputs': [ |
495 |
'<(PRODUCT_DIR)/obj.target/node/src/node_dtrace_ustack.o' |
496 |
], |
497 |
'conditions': [ |
498 |
[ 'target_arch=="ia32"', { |
499 |
'action': [ |
500 |
'dtrace', '-32', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc', |
501 |
'-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)', |
502 |
] |
503 |
} ], |
504 |
[ 'target_arch=="x64"', { |
505 |
'action': [ |
506 |
'dtrace', '-64', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc', |
507 |
'-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)', |
508 |
] |
509 |
} ], |
510 |
] |
511 |
} |
512 |
] |
513 |
} ], |
514 |
] |
515 |
} |
516 |
] # end targets |
517 |
} |