Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 350 lines (333 sloc) 9.768 kB
4f3c8b3 @ry WIP
ry authored
1 {
bea4827 @ry More progress with gyp
ry authored
2 'variables': {
bca88b2 @ry support nosnapshot in vcbuild.bat
ry authored
3 'v8_use_snapshot%': 'true',
d2ab314 @ry Turn off V8's -Werror in GYP
ry authored
4 # Turn off -Werror in V8
5 # See http://codereview.chromium.org/8159015
6 'werror': '',
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
7 'node_use_dtrace%': 'false',
a84adad @TooTallNate Default node_shared_v8 to false.
TooTallNate authored
8 'node_shared_v8%': 'false',
d03b848 @tchollingsworth build: support shared zlib
tchollingsworth authored
9 'node_shared_zlib%': 'false',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
10 'node_use_openssl%': 'true',
cb6b9eb @ry Fix windows build
ry authored
11 'node_use_system_openssl%': 'false',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
12 'library_files': [
13 'src/node.js',
14 'lib/_debugger.js',
15 'lib/_linklist.js',
16 'lib/assert.js',
17 'lib/buffer.js',
18 'lib/buffer_ieee754.js',
96e423a @ry Remove child_process_legacy
ry authored
19 'lib/child_process.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
20 'lib/console.js',
21 'lib/constants.js',
22 'lib/crypto.js',
73b4b86 @ry Add cluster.js to node.gyp
ry authored
23 'lib/cluster.js',
71cce3f @ry Remove dgram_legacy
ry authored
24 'lib/dgram.js',
58e892d @ry Remove dns_legacy
ry authored
25 'lib/dns.js',
963459d @isaacs Domain feature
isaacs authored
26 'lib/domain.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
27 'lib/events.js',
28 'lib/freelist.js',
29 'lib/fs.js',
30 'lib/http.js',
31 'lib/https.js',
32 'lib/module.js',
be0bb2d @ry Remove net_legacy timers_legacy
ry authored
33 'lib/net.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
34 'lib/os.js',
35 'lib/path.js',
36 'lib/punycode.js',
37 'lib/querystring.js',
38 'lib/readline.js',
39 'lib/repl.js',
40 'lib/stream.js',
41 'lib/string_decoder.js',
42 'lib/sys.js',
be0bb2d @ry Remove net_legacy timers_legacy
ry authored
43 'lib/timers.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
44 'lib/tls.js',
cdf5d91 @ry Remove tty_legacy
ry authored
45 'lib/tty.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
46 'lib/url.js',
47 'lib/util.js',
48 'lib/vm.js',
5b8e1da @isaacs Initial pass at zlib bindings
isaacs authored
49 'lib/zlib.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
50 ],
bea4827 @ry More progress with gyp
ry authored
51 },
52
4f3c8b3 @ry WIP
ry authored
53 'targets': [
54 {
55 'target_name': 'node',
56 'type': 'executable',
bea4827 @ry More progress with gyp
ry authored
57
4f3c8b3 @ry WIP
ry authored
58 'dependencies': [
db1bf67 @ry Move GYP file to the project root
ry authored
59 'deps/http_parser/http_parser.gyp:http_parser',
16788f4 @DrPizza Rename gyp files to produce useful solution names.
DrPizza authored
60 'deps/uv/uv.gyp:uv',
a979ab9 @ry Improve gyp build - now works kind of
ry authored
61 'node_js2c#host',
4f3c8b3 @ry WIP
ry authored
62 ],
a979ab9 @ry Improve gyp build - now works kind of
ry authored
63
64 'include_dirs': [
db1bf67 @ry Move GYP file to the project root
ry authored
65 'src',
66 'deps/uv/src/ares',
a979ab9 @ry Improve gyp build - now works kind of
ry authored
67 '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h
68 ],
69
4f3c8b3 @ry WIP
ry authored
70 'sources': [
8fe5712 fs watcher binding
Igor Zinkovsky authored
71 'src/fs_event_wrap.cc',
db1bf67 @ry Move GYP file to the project root
ry authored
72 'src/cares_wrap.cc',
73 'src/handle_wrap.cc',
74 'src/node.cc',
75 'src/node_buffer.cc',
76 'src/node_constants.cc',
77 'src/node_extensions.cc',
78 'src/node_file.cc',
79 'src/node_http_parser.cc',
80 'src/node_javascript.cc',
81 'src/node_main.cc',
82 'src/node_os.cc',
83 'src/node_script.cc',
84 'src/node_string.cc',
5b8e1da @isaacs Initial pass at zlib bindings
isaacs authored
85 'src/node_zlib.cc',
db1bf67 @ry Move GYP file to the project root
ry authored
86 'src/pipe_wrap.cc',
87 'src/stream_wrap.cc',
08032ef @bnoordhuis core: add reusable slab allocator
bnoordhuis authored
88 'src/slab_allocator.cc',
db1bf67 @ry Move GYP file to the project root
ry authored
89 'src/tcp_wrap.cc',
90 'src/timer_wrap.cc',
c1ae6ea @ry Add TTYWrap
ry authored
91 'src/tty_wrap.cc',
db1bf67 @ry Move GYP file to the project root
ry authored
92 'src/process_wrap.cc',
97b0000 @bnoordhuis build: add src/v8_typed_array.cc to gyp sources list
bnoordhuis authored
93 'src/v8_typed_array.cc',
06f750c @ry fix windows build
ry authored
94 'src/udp_wrap.cc',
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
95 # headers to make for a more pleasant IDE experience
96 'src/handle_wrap.h',
97 'src/node.h',
98 'src/node_buffer.h',
99 'src/node_constants.h',
100 'src/node_crypto.h',
101 'src/node_extensions.h',
102 'src/node_file.h',
103 'src/node_http_parser.h',
104 'src/node_javascript.h',
105 'src/node_os.h',
106 'src/node_root_certs.h',
107 'src/node_script.h',
108 'src/node_string.h',
109 'src/node_version.h',
110 'src/pipe_wrap.h',
111 'src/req_wrap.h',
08032ef @bnoordhuis core: add reusable slab allocator
bnoordhuis authored
112 'src/slab_allocator.h',
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
113 'src/stream_wrap.h',
114 'src/v8_typed_array.h',
115 'deps/http_parser/http_parser.h',
116 '<(SHARED_INTERMEDIATE_DIR)/node_natives.h',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
117 # javascript files to make for an even more pleasant IDE experience
118 '<@(library_files)',
c0c4bd4 @piscisaureus Add common.gypi to gyp output
piscisaureus authored
119 # node.gyp is added to the project by default.
120 'common.gypi',
a979ab9 @ry Improve gyp build - now works kind of
ry authored
121 ],
122
123 'defines': [
09dc577 @bnoordhuis build: move internals to separate header file
bnoordhuis authored
124 'NODE_WANT_INTERNALS=1',
a979ab9 @ry Improve gyp build - now works kind of
ry authored
125 'ARCH="<(target_arch)"',
126 'PLATFORM="<(OS)"',
4f3c8b3 @ry WIP
ry authored
127 ],
128
129 'conditions': [
a979ab9 @ry Improve gyp build - now works kind of
ry authored
130 [ 'node_use_openssl=="true"', {
71333b3 @DrPizza Modify GYP scripts for VC build
DrPizza authored
131 'defines': [ 'HAVE_OPENSSL=1' ],
db1bf67 @ry Move GYP file to the project root
ry authored
132 'sources': [ 'src/node_crypto.cc' ],
9f98698 @bnoordhuis build: configure node, v8, cares and openssl
bnoordhuis authored
133 'conditions': [
134 [ 'node_use_system_openssl=="false"', {
135 'dependencies': [ './deps/openssl/openssl.gyp:openssl' ],
136 }]]
a979ab9 @ry Improve gyp build - now works kind of
ry authored
137 }, {
138 'defines': [ 'HAVE_OPENSSL=0' ]
139 }],
140
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
141 [ 'node_use_dtrace=="true"', {
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
142 'defines': [ 'HAVE_DTRACE=1' ],
143 'dependencies': [ 'node_dtrace_header' ],
144 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ],
145 #
146 # node_dtrace_provider.cc and node_dtrace_ustack.cc do not actually
147 # exist. They're here to trick GYP into linking the corresponding
148 # object files into the final "node" executable. These files are
149 # generated by "dtrace -G" using custom actions below, and the
150 # GYP-generated Makefiles will properly build them when needed.
151 #
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
152 'sources': [
b3ddb89 @ry Don't compile in node_dtrace.cc when not supported
ry authored
153 'src/node_dtrace.cc',
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
154 'src/node_dtrace_provider.cc'
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
155 ],
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
156 'conditions': [ [
157 'target_arch=="ia32"', {
158 'sources': [ 'src/node_dtrace_ustack.cc' ]
159 }
160 ] ],
161 } ],
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
162
59ecf2c @isaacs Revert "Revert "build: support shared V8 properly""
isaacs authored
163 [ 'node_shared_v8=="true"', {
164 'sources': [
165 '<(node_shared_v8_includes)/v8.h',
166 '<(node_shared_v8_includes)/v8-debug.h',
167 ],
2d7b43f @tchollingsworth build: use else instead of node_shared_v8==false
tchollingsworth authored
168 }, {
59ecf2c @isaacs Revert "Revert "build: support shared V8 properly""
isaacs authored
169 'sources': [
170 'deps/v8/include/v8.h',
171 'deps/v8/include/v8-debug.h',
172 ],
173 'dependencies': [ 'deps/v8/tools/gyp/v8.gyp:v8' ],
174 }],
175
d03b848 @tchollingsworth build: support shared zlib
tchollingsworth authored
176 [ 'node_shared_zlib=="false"', {
177 'dependencies': [ 'deps/zlib/zlib.gyp:zlib' ],
178 }],
179
4f3c8b3 @ry WIP
ry authored
180 [ 'OS=="win"', {
6ac8c55 @DrPizza Make MSVS build.
DrPizza authored
181 'sources': [
09329e7 Add node.rc with a version resource
Igor Zinkovsky authored
182 'tools/msvs/res/node.rc',
6ac8c55 @DrPizza Make MSVS build.
DrPizza authored
183 ],
4f3c8b3 @ry WIP
ry authored
184 'defines': [
6ac8c55 @DrPizza Make MSVS build.
DrPizza authored
185 'FD_SETSIZE=1024',
79d9f62 @DrPizza Fix bad platform name.
DrPizza authored
186 # we need to use node's preferred "win32" rather than gyp's preferred "win"
187 'PLATFORM="win32"',
d52f502 @piscisaureus Windows: another attempt to support unicode argv
piscisaureus authored
188 '_UNICODE=1',
4f3c8b3 @ry WIP
ry authored
189 ],
1976288 @ry win: link to psapi.lib
ry authored
190 'libraries': [ '-lpsapi.lib' ]
4f3c8b3 @ry WIP
ry authored
191 },{ # POSIX
a979ab9 @ry Improve gyp build - now works kind of
ry authored
192 'defines': [ '__POSIX__' ],
4f3c8b3 @ry WIP
ry authored
193 'sources': [
db1bf67 @ry Move GYP file to the project root
ry authored
194 'src/node_signal_watcher.cc',
195 'src/node_stat_watcher.cc',
f35a396 Revert "remove node_io_watcher"
Igor Zinkovsky authored
196 'src/node_io_watcher.cc',
4f3c8b3 @ry WIP
ry authored
197 ]
198 }],
199 [ 'OS=="mac"', {
a979ab9 @ry Improve gyp build - now works kind of
ry authored
200 'libraries': [ '-framework Carbon' ],
f2ba4ce @TooTallNate build: remove the old -DPLATFORM="mac" define
TooTallNate authored
201 'defines!': [
202 'PLATFORM="mac"',
203 ],
9ff86a2 @TooTallNate build: set `process.platform` to "darwin" on OS X
TooTallNate authored
204 'defines': [
205 # we need to use node's preferred "darwin" rather than gyp's preferred "mac"
206 'PLATFORM="darwin"',
207 ],
b433c42 @ry gyp: Support Linux
ry authored
208 }],
decd818 @bnoordhuis build: fix freebsd gyp build
bnoordhuis authored
209 [ 'OS=="freebsd"', {
210 'libraries': [
211 '-lutil',
212 '-lkvm',
213 ],
214 }],
13871fa @bnoordhuis build: fix sunos gyp build, include platform file
bnoordhuis authored
215 [ 'OS=="solaris"', {
216 'libraries': [
217 '-lkstat',
218 ],
219 }],
16788f4 @DrPizza Rename gyp files to produce useful solution names.
DrPizza authored
220 ],
221 'msvs-settings': {
222 'VCLinkerTool': {
223 'SubSystem': 1, # /subsystem:console
224 },
225 },
4f3c8b3 @ry WIP
ry authored
226 },
227
228 {
229 'target_name': 'node_js2c',
230 'type': 'none',
231 'toolsets': ['host'],
232 'actions': [
233 {
234 'action_name': 'node_js2c',
a979ab9 @ry Improve gyp build - now works kind of
ry authored
235
4f3c8b3 @ry WIP
ry authored
236 'inputs': [
237 '<@(library_files)',
95fd517 @TooTallNate node.gyp: include the config.gypi file in the js2c inputs list
TooTallNate authored
238 './config.gypi',
4f3c8b3 @ry WIP
ry authored
239 ],
a979ab9 @ry Improve gyp build - now works kind of
ry authored
240
4f3c8b3 @ry WIP
ry authored
241 'outputs': [
242 '<(SHARED_INTERMEDIATE_DIR)/node_natives.h',
243 ],
a979ab9 @ry Improve gyp build - now works kind of
ry authored
244
245 # FIXME can the following conditions be shorted by just setting
246 # macros.py into some variable which then gets included in the
247 # action?
248
249 'conditions': [
250 [ 'node_use_dtrace=="true"', {
251 'action': [
252 'python',
db1bf67 @ry Move GYP file to the project root
ry authored
253 'tools/js2c.py',
a979ab9 @ry Improve gyp build - now works kind of
ry authored
254 '<@(_outputs)',
95fd517 @TooTallNate node.gyp: include the config.gypi file in the js2c inputs list
TooTallNate authored
255 '<@(_inputs)',
a979ab9 @ry Improve gyp build - now works kind of
ry authored
256 ],
257 }, { # No Dtrace
258 'action': [
259 'python',
db1bf67 @ry Move GYP file to the project root
ry authored
260 'tools/js2c.py',
a979ab9 @ry Improve gyp build - now works kind of
ry authored
261 '<@(_outputs)',
95fd517 @TooTallNate node.gyp: include the config.gypi file in the js2c inputs list
TooTallNate authored
262 '<@(_inputs)',
db1bf67 @ry Move GYP file to the project root
ry authored
263 'src/macros.py'
a979ab9 @ry Improve gyp build - now works kind of
ry authored
264 ],
265 }]
71333b3 @DrPizza Modify GYP scripts for VC build
DrPizza authored
266 ],
4f3c8b3 @ry WIP
ry authored
267 },
268 ],
269 }, # end node_js2c
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
270 {
271 'target_name': 'node_dtrace_header',
272 'type': 'none',
273 'conditions': [
274 [ 'node_use_dtrace=="true"', {
275 'actions': [
276 {
277 'action_name': 'node_dtrace_header',
278 'inputs': [ 'src/node_provider.d' ],
279 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.h' ],
280 'action': [ 'dtrace', '-h', '-xnolibs', '-s', '<@(_inputs)',
281 '-o', '<@(_outputs)' ]
282 }
283 ]
284 } ]
285 ]
286 },
287 {
288 'target_name': 'node_dtrace_provider',
289 'type': 'none',
290 'conditions': [
291 [ 'node_use_dtrace=="true"', {
292 'actions': [
293 {
294 'action_name': 'node_dtrace_provider_o',
295 'inputs': [
296 'src/node_provider.d',
297 '<(PRODUCT_DIR)/obj.target/node/src/node_dtrace.o'
298 ],
299 'outputs': [
300 '<(PRODUCT_DIR)/obj.target/node/src/node_dtrace_provider.o'
301 ],
302 'action': [ 'dtrace', '-G', '-xnolibs', '-s', '<@(_inputs)',
303 '-o', '<@(_outputs)' ]
304 }
305 ]
306 } ]
307 ]
308 },
309 {
310 'target_name': 'node_dtrace_ustack',
311 'type': 'none',
312 'conditions': [
8559a4a @davepacheco Fix 64-bit SmartOS build
davepacheco authored
313 [ 'node_use_dtrace=="true" and target_arch=="ia32"', {
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
314 'actions': [
315 {
316 'action_name': 'node_dtrace_ustack_constants',
317 'inputs': [
318 '<(PRODUCT_DIR)/obj.target/deps/v8/tools/gyp/libv8_base.a'
319 ],
320 'outputs': [
321 '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
322 ],
323 'action': [
324 'tools/genv8constants.py',
325 '<@(_outputs)',
326 '<@(_inputs)'
327 ]
328 },
329 {
330 'action_name': 'node_dtrace_ustack',
331 'inputs': [
332 'src/v8ustack.d',
333 '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
334 ],
335 'outputs': [
336 '<(PRODUCT_DIR)/obj.target/node/src/node_dtrace_ustack.o'
337 ],
338 'action': [
339 'dtrace', '-32', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc',
340 '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)',
341 ]
342 }
343 ]
344 } ],
345 ]
346 }
4f3c8b3 @ry WIP
ry authored
347 ] # end targets
348 }
349
Something went wrong with that request. Please try again.