Skip to content
Newer
Older
100644 617 lines (603 sloc) 18.5 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',
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
4 'node_use_dtrace%': 'false',
35a1421 Windows: Enable ETW events.
Igor Zinkovsky authored
5 'node_use_etw%': 'false',
f657ce6 @sblom windows: add tracing with performance counters
sblom authored
6 'node_use_perfctr%': 'false',
841b7f5 @sblom Ease building with VS Express by checking in generated files.
sblom authored
7 'node_has_winsdk%': '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',
bfd78b6 @sgallagher build: allow linking against system http_parser
sgallagher authored
10 'node_shared_http_parser%': 'false',
73ff653 @sgallagher build: allow linking against system c-ares
sgallagher authored
11 'node_shared_cares%': 'false',
38809e3 @sgallagher build: allow linking against system libuv
sgallagher authored
12 'node_shared_libuv%': 'false',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
13 'node_use_openssl%': 'true',
fe464a2 @ry Rename GYP variable node_use_system_openssl to be consistent
ry authored
14 'node_shared_openssl%': 'false',
e851fef @tjfontaine build: embed the mdb_v8.so into the binary
tjfontaine authored
15 'node_use_mdb%': 'false',
b55c9d6 @indutny configure: --v8-options option
indutny authored
16 'node_v8_options%': '',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
17 'library_files': [
18 'src/node.js',
19 'lib/_debugger.js',
20 'lib/_linklist.js',
21 'lib/assert.js',
22 'lib/buffer.js',
96e423a @ry Remove child_process_legacy
ry authored
23 'lib/child_process.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
24 'lib/console.js',
25 'lib/constants.js',
26 'lib/crypto.js',
73b4b86 @ry Add cluster.js to node.gyp
ry authored
27 'lib/cluster.js',
71cce3f @ry Remove dgram_legacy
ry authored
28 'lib/dgram.js',
58e892d @ry Remove dns_legacy
ry authored
29 'lib/dns.js',
963459d @isaacs Domain feature
isaacs authored
30 'lib/domain.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
31 'lib/events.js',
32 'lib/freelist.js',
33 'lib/fs.js',
34 'lib/http.js',
62e4f89 @tjfontaine http: split Agent into its own file
tjfontaine authored
35 'lib/_http_agent.js',
951e0b6 @tjfontaine http: split Client into _http_client.js
tjfontaine authored
36 'lib/_http_client.js',
bb56489 @tjfontaine http: move parsers into _http_common.js
tjfontaine authored
37 'lib/_http_common.js',
5909a9c @tjfontaine http: move IncomingMessage into its own file
tjfontaine authored
38 'lib/_http_incoming.js',
dc9f97b @tjfontaine http: move OutgoingMessage into it's own file
tjfontaine authored
39 'lib/_http_outgoing.js',
6717fdc @tjfontaine http: move Server and ServerResponse out
tjfontaine authored
40 'lib/_http_server.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
41 'lib/https.js',
42 'lib/module.js',
be0bb2d @ry Remove net_legacy timers_legacy
ry authored
43 'lib/net.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
44 'lib/os.js',
45 'lib/path.js',
46 'lib/punycode.js',
47 'lib/querystring.js',
48 'lib/readline.js',
49 'lib/repl.js',
d817843 @trevnorris smalloc: create separate module
trevnorris authored
50 'lib/smalloc.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
51 'lib/stream.js',
420e07c @isaacs streams2: The new stream base classes
isaacs authored
52 'lib/_stream_readable.js',
53 'lib/_stream_writable.js',
54 'lib/_stream_duplex.js',
55 'lib/_stream_transform.js',
56 'lib/_stream_passthrough.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
57 'lib/string_decoder.js',
58 'lib/sys.js',
be0bb2d @ry Remove net_legacy timers_legacy
ry authored
59 'lib/timers.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
60 'lib/tls.js',
5d2aef1 @indutny crypto: move `createCredentials` to tls
indutny authored
61 'lib/_tls_common.js',
af80e7b @indutny tls: introduce TLSSocket based on tls_wrap binding
indutny authored
62 'lib/_tls_legacy.js',
63 'lib/_tls_wrap.js',
cdf5d91 @ry Remove tty_legacy
ry authored
64 'lib/tty.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
65 'lib/url.js',
66 'lib/util.js',
67 'lib/vm.js',
5b8e1da @isaacs Initial pass at zlib bindings
isaacs authored
68 'lib/zlib.js',
7a0cfe9 @indutny deps: re-implement debugger-agent
indutny authored
69 'deps/debugger-agent/lib/_debugger_agent.js',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
70 ],
bea4827 @ry More progress with gyp
ry authored
71 },
72
4f3c8b3 @ry WIP
ry authored
73 'targets': [
74 {
75 'target_name': 'node',
76 'type': 'executable',
bea4827 @ry More progress with gyp
ry authored
77
4f3c8b3 @ry WIP
ry authored
78 'dependencies': [
a979ab9 @ry Improve gyp build - now works kind of
ry authored
79 'node_js2c#host',
7a0cfe9 @indutny deps: re-implement debugger-agent
indutny authored
80 'deps/debugger-agent/debugger-agent.gyp:debugger-agent',
4f3c8b3 @ry WIP
ry authored
81 ],
a979ab9 @ry Improve gyp build - now works kind of
ry authored
82
83 'include_dirs': [
db1bf67 @ry Move GYP file to the project root
ry authored
84 'src',
a616774 @sblom windows: improve Visual Studio Express build support
sblom authored
85 'tools/msvs/genfiles',
db1bf67 @ry Move GYP file to the project root
ry authored
86 'deps/uv/src/ares',
a979ab9 @ry Improve gyp build - now works kind of
ry authored
87 '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h
88 ],
89
4f3c8b3 @ry WIP
ry authored
90 'sources': [
2593c14 @trevnorris async-wrap: move MakeCallback to .cc
trevnorris authored
91 'src/async-wrap.cc',
8fe5712 fs watcher binding
Igor Zinkovsky authored
92 'src/fs_event_wrap.cc',
db1bf67 @ry Move GYP file to the project root
ry authored
93 'src/cares_wrap.cc',
94 'src/handle_wrap.cc',
95 'src/node.cc',
96 'src/node_buffer.cc',
97 'src/node_constants.cc',
7afdba6 @domenic vm, core, module: re-do vm to fix known issues
domenic authored
98 'src/node_contextify.cc',
db1bf67 @ry Move GYP file to the project root
ry authored
99 'src/node_file.cc',
100 'src/node_http_parser.cc',
101 'src/node_javascript.cc',
102 'src/node_main.cc',
103 'src/node_os.cc',
010222d @bnoordhuis src: add tracing.v8.on('gc') statistics hooks
bnoordhuis authored
104 'src/node_v8.cc',
f0ce984 @bnoordhuis fs: make fs.watchFile() work on windows
bnoordhuis authored
105 'src/node_stat_watcher.cc',
c081809 @apaprocki vm: add support for timeout argument
apaprocki authored
106 'src/node_watchdog.cc',
5b8e1da @isaacs Initial pass at zlib bindings
isaacs authored
107 'src/node_zlib.cc',
ac2857b @srl295 build, i18n: improve Intl build, add "--with-intl"
srl295 authored
108 'src/node_i18n.cc',
db1bf67 @ry Move GYP file to the project root
ry authored
109 'src/pipe_wrap.cc',
600a646 @piscisaureus process: use uv_signal instead of ev_signal
piscisaureus authored
110 'src/signal_wrap.cc',
8f3f9f7 @trevnorris smalloc: initial implementation
trevnorris authored
111 'src/smalloc.cc',
fa4eb47 @piscisaureus bindings: add spawn_sync bindings
piscisaureus authored
112 'src/spawn_sync.cc',
64fc34b @isaacs src: Add StringBytes static util class
isaacs authored
113 'src/string_bytes.cc',
db1bf67 @ry Move GYP file to the project root
ry authored
114 'src/stream_wrap.cc',
115 'src/tcp_wrap.cc',
116 'src/timer_wrap.cc',
c1ae6ea @ry Add TTYWrap
ry authored
117 'src/tty_wrap.cc',
db1bf67 @ry Move GYP file to the project root
ry authored
118 'src/process_wrap.cc',
06f750c @ry fix windows build
ry authored
119 'src/udp_wrap.cc',
d4c14c1 @bnoordhuis src: add libuv bindings module
bnoordhuis authored
120 'src/uv.cc',
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
121 # headers to make for a more pleasant IDE experience
efa62fd @trevnorris node: add AsyncListener support
trevnorris authored
122 'src/async-wrap.h',
123 'src/async-wrap-inl.h',
d120d92 @trevnorris base-object: add BaseObject
trevnorris authored
124 'src/base-object.h',
125 'src/base-object-inl.h',
756b622 @bnoordhuis src: add multi-context support
bnoordhuis authored
126 'src/env.h',
127 'src/env-inl.h',
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
128 'src/handle_wrap.h',
129 'src/node.h',
130 'src/node_buffer.h',
131 'src/node_constants.h',
132 'src/node_file.h',
133 'src/node_http_parser.h',
756b622 @bnoordhuis src: add multi-context support
bnoordhuis authored
134 'src/node_internals.h',
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
135 'src/node_javascript.h',
136 'src/node_root_certs.h',
137 'src/node_version.h',
c081809 @apaprocki vm: add support for timeout argument
apaprocki authored
138 'src/node_watchdog.h',
6978e99 @indutny process: abstract out HandleToStream
indutny authored
139 'src/node_wrap.h',
ac2857b @srl295 build, i18n: improve Intl build, add "--with-intl"
srl295 authored
140 'src/node_i18n.h',
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
141 'src/pipe_wrap.h',
a7820a1 @bnoordhuis src: replace ngx-queue.h with queue.h
bnoordhuis authored
142 'src/queue.h',
8f3f9f7 @trevnorris smalloc: initial implementation
trevnorris authored
143 'src/smalloc.h',
af98fc9 @indutny child_process: new stdio API for .spawn() method
indutny authored
144 'src/tty_wrap.h',
145 'src/tcp_wrap.h',
146 'src/udp_wrap.h',
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
147 'src/req_wrap.h',
64fc34b @isaacs src: Add StringBytes static util class
isaacs authored
148 'src/string_bytes.h',
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
149 'src/stream_wrap.h',
9e55ba7 @piscisaureus dns: don't rely on libuv for c-ares integration
piscisaureus authored
150 'src/tree.h',
756b622 @bnoordhuis src: add multi-context support
bnoordhuis authored
151 'src/util.h',
152 'src/util-inl.h',
1a09da6 @tjfontaine Merge remote-tracking branch 'upstream/v0.10'
tjfontaine authored
153 'src/util.cc',
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
154 'deps/http_parser/http_parser.h',
155 '<(SHARED_INTERMEDIATE_DIR)/node_natives.h',
ae2ac4f @piscisaureus gyp: add js files to node project
piscisaureus authored
156 # javascript files to make for an even more pleasant IDE experience
157 '<@(library_files)',
c0c4bd4 @piscisaureus Add common.gypi to gyp output
piscisaureus authored
158 # node.gyp is added to the project by default.
159 'common.gypi',
a979ab9 @ry Improve gyp build - now works kind of
ry authored
160 ],
161
162 'defines': [
09dc577 @bnoordhuis build: move internals to separate header file
bnoordhuis authored
163 'NODE_WANT_INTERNALS=1',
a979ab9 @ry Improve gyp build - now works kind of
ry authored
164 'ARCH="<(target_arch)"',
165 'PLATFORM="<(OS)"',
f84bf5b @mmalecki build: allow to specify custom tags
mmalecki authored
166 'NODE_TAG="<(node_tag)"',
490d5ab @bnoordhuis configure: make --v8-options switch more robust
bnoordhuis authored
167 'NODE_V8_OPTIONS="<(node_v8_options)"',
4f3c8b3 @ry WIP
ry authored
168 ],
169
170 'conditions': [
5926526 @misterdjules src: make build pass with GCC < 4.5
misterdjules authored
171 [ 'gcc_version<=44', {
172 # GCC versions <= 4.4 do not handle the aliasing in the queue
173 # implementation, so disable aliasing on these platforms
174 # to avoid subtle bugs
175 'cflags': [ '-fno-strict-aliasing' ],
176 }],
ac2857b @srl295 build, i18n: improve Intl build, add "--with-intl"
srl295 authored
177 [ 'v8_enable_i18n_support==1', {
178 'defines': [ 'NODE_HAVE_I18N_SUPPORT=1' ],
179 'dependencies': [
180 '<(icu_gyp_path):icui18n',
181 '<(icu_gyp_path):icuuc',
182 ],
183 'conditions': [
184 [ 'icu_small=="true"', {
185 'defines': [ 'NODE_HAVE_SMALL_ICU=1' ],
186 }]],
187 }],
a979ab9 @ry Improve gyp build - now works kind of
ry authored
188 [ 'node_use_openssl=="true"', {
71333b3 @DrPizza Modify GYP scripts for VC build
DrPizza authored
189 'defines': [ 'HAVE_OPENSSL=1' ],
03e008d @indutny tls_wrap: embed TLS encryption into streamwrap
indutny authored
190 'sources': [
191 'src/node_crypto.cc',
192 'src/node_crypto_bio.cc',
8e28193 @indutny tls_wrap: DRY ClientHelloParser
indutny authored
193 'src/node_crypto_clienthello.cc',
567c72b @TooTallNate configure: fix the --without-ssl option
TooTallNate authored
194 'src/node_crypto.h',
195 'src/node_crypto_bio.h',
8e28193 @indutny tls_wrap: DRY ClientHelloParser
indutny authored
196 'src/node_crypto_clienthello.h',
03e008d @indutny tls_wrap: embed TLS encryption into streamwrap
indutny authored
197 'src/tls_wrap.cc',
198 'src/tls_wrap.h'
199 ],
9f98698 @bnoordhuis build: configure node, v8, cares and openssl
bnoordhuis authored
200 'conditions': [
fe464a2 @ry Rename GYP variable node_use_system_openssl to be consistent
ry authored
201 [ 'node_shared_openssl=="false"', {
6f3d603 @indutny gyp: build openssl-cli tool and use it in tests
indutny authored
202 'dependencies': [
203 './deps/openssl/openssl.gyp:openssl',
204
205 # For tests
93390ff @indutny test: fix test-tls-server-verify
indutny authored
206 './deps/openssl/openssl.gyp:openssl-cli',
6f3d603 @indutny gyp: build openssl-cli tool and use it in tests
indutny authored
207 ],
9f36c0d @indutny gyp: do not rm unused openssl syms on osx/linux
indutny authored
208 # Do not let unused OpenSSL symbols to slip away
209 'xcode_settings': {
210 'OTHER_LDFLAGS': [
211 '-Wl,-force_load,<(PRODUCT_DIR)/libopenssl.a',
212 ],
213 },
214 'conditions': [
9134a3b @indutny gyp: preserve v8dbg syms on freebsd too
indutny authored
215 ['OS in "linux freebsd"', {
9f36c0d @indutny gyp: do not rm unused openssl syms on osx/linux
indutny authored
216 'ldflags': [
217 '-Wl,--whole-archive <(PRODUCT_DIR)/libopenssl.a -Wl,--no-whole-archive',
218 ],
219 }],
220 ],
9f98698 @bnoordhuis build: configure node, v8, cares and openssl
bnoordhuis authored
221 }]]
a979ab9 @ry Improve gyp build - now works kind of
ry authored
222 }, {
223 'defines': [ 'HAVE_OPENSSL=0' ]
224 }],
64b4168 @DrPizza Add headers to improve the IDE experience.
DrPizza authored
225 [ 'node_use_dtrace=="true"', {
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
226 'defines': [ 'HAVE_DTRACE=1' ],
b940e0f @indutny gyp: specialize node.d for freebsd
indutny authored
227 'dependencies': [
228 'node_dtrace_header',
229 'specialize_node_d',
230 ],
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
231 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ],
b940e0f @indutny gyp: specialize node.d for freebsd
indutny authored
232
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
233 #
c4def50 @bnoordhuis build: use zero overhead systemtap probes
bnoordhuis authored
234 # DTrace is supported on linux, solaris, mac, and bsd. There are
235 # three object files associated with DTrace support, but they're
236 # not all used all the time:
fe7440c @davepacheco build: allow building with dtrace on osx
davepacheco authored
237 #
238 # node_dtrace.o all configurations
c4def50 @bnoordhuis build: use zero overhead systemtap probes
bnoordhuis authored
239 # node_dtrace_ustack.o not supported on mac and linux
fe7440c @davepacheco build: allow building with dtrace on osx
davepacheco authored
240 # node_dtrace_provider.o All except OS X. "dtrace -G" is not
241 # used on OS X.
242 #
243 # Note that node_dtrace_provider.cc and node_dtrace_ustack.cc do not
244 # actually exist. They're listed here to trick GYP into linking the
245 # corresponding object files into the final "node" executable. These
246 # object files are generated by "dtrace -G" using custom actions
247 # below, and the GYP-generated Makefiles will properly build them when
248 # needed.
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
249 #
c4def50 @bnoordhuis build: use zero overhead systemtap probes
bnoordhuis authored
250 'sources': [ 'src/node_dtrace.cc' ],
251 'conditions': [
252 [ 'OS=="linux"', {
253 'sources': [
4dc660e @misterdjules build: do not generate support for libuv's probes
misterdjules authored
254 '<(SHARED_INTERMEDIATE_DIR)/node_dtrace_provider.o'
c4def50 @bnoordhuis build: use zero overhead systemtap probes
bnoordhuis authored
255 ],
256 }],
257 [ 'OS!="mac" and OS!="linux"', {
fe7440c @davepacheco build: allow building with dtrace on osx
davepacheco authored
258 'sources': [
259 'src/node_dtrace_ustack.cc',
260 'src/node_dtrace_provider.cc',
261 ]
262 }
263 ] ]
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
264 } ],
e851fef @tjfontaine build: embed the mdb_v8.so into the binary
tjfontaine authored
265 [ 'node_use_mdb=="true"', {
266 'dependencies': [ 'node_mdb' ],
267 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ],
268 'sources': [
269 'src/node_mdb.cc',
270 ],
271 } ],
35a1421 Windows: Enable ETW events.
Igor Zinkovsky authored
272 [ 'node_use_etw=="true"', {
273 'defines': [ 'HAVE_ETW=1' ],
274 'dependencies': [ 'node_etw' ],
275 'sources': [
276 'src/node_win32_etw_provider.h',
277 'src/node_win32_etw_provider-inl.h',
278 'src/node_win32_etw_provider.cc',
279 'src/node_dtrace.cc',
a616774 @sblom windows: improve Visual Studio Express build support
sblom authored
280 'tools/msvs/genfiles/node_etw_provider.h',
281 'tools/msvs/genfiles/node_etw_provider.rc',
35a1421 Windows: Enable ETW events.
Igor Zinkovsky authored
282 ]
283 } ],
f657ce6 @sblom windows: add tracing with performance counters
sblom authored
284 [ 'node_use_perfctr=="true"', {
285 'defines': [ 'HAVE_PERFCTR=1' ],
286 'dependencies': [ 'node_perfctr' ],
287 'sources': [
288 'src/node_win32_perfctr_provider.h',
289 'src/node_win32_perfctr_provider.cc',
290 'src/node_counters.cc',
291 'src/node_counters.h',
a616774 @sblom windows: improve Visual Studio Express build support
sblom authored
292 'tools/msvs/genfiles/node_perfctr_provider.rc',
f657ce6 @sblom windows: add tracing with performance counters
sblom authored
293 ]
294 } ],
d8852aa @paddybyers build: depend on v8 postmortem-metadata if enabled
paddybyers authored
295 [ 'v8_postmortem_support=="true"', {
296 'dependencies': [ 'deps/v8/tools/gyp/v8.gyp:postmortem-metadata' ],
4c48df5 @indutny gyp: fix post-mortem in v0.11
indutny authored
297 'xcode_settings': {
298 'OTHER_LDFLAGS': [
299 '-Wl,-force_load,<(V8_BASE)',
300 ],
301 },
d8852aa @paddybyers build: depend on v8 postmortem-metadata if enabled
paddybyers authored
302 }],
f00c8bc @bnoordhuis build: fix --shared-v8 option
bnoordhuis authored
303 [ 'node_shared_v8=="false"', {
59ecf2c @isaacs Revert "Revert "build: support shared V8 properly""
isaacs authored
304 'sources': [
305 'deps/v8/include/v8.h',
306 'deps/v8/include/v8-debug.h',
307 ],
308 'dependencies': [ 'deps/v8/tools/gyp/v8.gyp:v8' ],
309 }],
310
d03b848 @tchollingsworth build: support shared zlib
tchollingsworth authored
311 [ 'node_shared_zlib=="false"', {
312 'dependencies': [ 'deps/zlib/zlib.gyp:zlib' ],
313 }],
314
bfd78b6 @sgallagher build: allow linking against system http_parser
sgallagher authored
315 [ 'node_shared_http_parser=="false"', {
316 'dependencies': [ 'deps/http_parser/http_parser.gyp:http_parser' ],
317 }],
318
73ff653 @sgallagher build: allow linking against system c-ares
sgallagher authored
319 [ 'node_shared_cares=="false"', {
320 'dependencies': [ 'deps/cares/cares.gyp:cares' ],
321 }],
38809e3 @sgallagher build: allow linking against system libuv
sgallagher authored
322
323 [ 'node_shared_libuv=="false"', {
324 'dependencies': [ 'deps/uv/uv.gyp:libuv' ],
325 }],
73ff653 @sgallagher build: allow linking against system c-ares
sgallagher authored
326
4f3c8b3 @ry WIP
ry authored
327 [ 'OS=="win"', {
6ac8c55 @DrPizza Make MSVS build.
DrPizza authored
328 'sources': [
0187b65 @piscisaureus Move resource files to src/res.
piscisaureus authored
329 'src/res/node.rc',
6ac8c55 @DrPizza Make MSVS build.
DrPizza authored
330 ],
4f3c8b3 @ry WIP
ry authored
331 'defines': [
6ac8c55 @DrPizza Make MSVS build.
DrPizza authored
332 'FD_SETSIZE=1024',
79d9f62 @DrPizza Fix bad platform name.
DrPizza authored
333 # we need to use node's preferred "win32" rather than gyp's preferred "win"
334 'PLATFORM="win32"',
d52f502 @piscisaureus Windows: another attempt to support unicode argv
piscisaureus authored
335 '_UNICODE=1',
4f3c8b3 @ry WIP
ry authored
336 ],
1976288 @ry win: link to psapi.lib
ry authored
337 'libraries': [ '-lpsapi.lib' ]
acbfc40 @bnoordhuis build: fix add-on loading on freebsd
bnoordhuis authored
338 }, { # POSIX
a979ab9 @ry Improve gyp build - now works kind of
ry authored
339 'defines': [ '__POSIX__' ],
4f3c8b3 @ry WIP
ry authored
340 }],
341 [ 'OS=="mac"', {
b1741ea build: linking CoreFoundation framework for OSX
Thorsten Lorenz authored
342 # linking Corefoundation is needed since certain OSX debugging tools
343 # like Instruments require it for some features
344 'libraries': [ '-framework CoreFoundation' ],
f2ba4ce @TooTallNate build: remove the old -DPLATFORM="mac" define
TooTallNate authored
345 'defines!': [
346 'PLATFORM="mac"',
347 ],
9ff86a2 @TooTallNate build: set `process.platform` to "darwin" on OS X
TooTallNate authored
348 'defines': [
349 # we need to use node's preferred "darwin" rather than gyp's preferred "mac"
350 'PLATFORM="darwin"',
351 ],
b433c42 @ry gyp: Support Linux
ry authored
352 }],
decd818 @bnoordhuis build: fix freebsd gyp build
bnoordhuis authored
353 [ 'OS=="freebsd"', {
354 'libraries': [
355 '-lutil',
356 '-lkvm',
357 ],
358 }],
13871fa @bnoordhuis build: fix sunos gyp build, include platform file
bnoordhuis authored
359 [ 'OS=="solaris"', {
360 'libraries': [
361 '-lkstat',
f70b138 @trentm always link sunos builds with libumem
trentm authored
362 '-lumem',
13871fa @bnoordhuis build: fix sunos gyp build, include platform file
bnoordhuis authored
363 ],
606a933 @TooTallNate build: set `process.platform` to "sunos" on SunOS
TooTallNate authored
364 'defines!': [
365 'PLATFORM="solaris"',
366 ],
367 'defines': [
368 # we need to use node's preferred "sunos"
369 # rather than gyp's preferred "solaris"
370 'PLATFORM="sunos"',
371 ],
13871fa @bnoordhuis build: fix sunos gyp build, include platform file
bnoordhuis authored
372 }],
6877e64 @tjfontaine build: include postmortem symbols on linux
tjfontaine authored
373 [
9134a3b @indutny gyp: preserve v8dbg syms on freebsd too
indutny authored
374 'OS in "linux freebsd" and node_shared_v8=="false"', {
6877e64 @tjfontaine build: include postmortem symbols on linux
tjfontaine authored
375 'ldflags': [
61c0d57 @indutny gyp: fix `ninja` build on linux
indutny authored
376 '-Wl,--whole-archive <(V8_BASE) -Wl,--no-whole-archive',
6877e64 @tjfontaine build: include postmortem symbols on linux
tjfontaine authored
377 ],
378 }],
16788f4 @DrPizza Rename gyp files to produce useful solution names.
DrPizza authored
379 ],
5691e8a @piscisaureus windows: fix typo in node.gyp
piscisaureus authored
380 'msvs_settings': {
03e9352 @orangemocha win: manifest node.exe for Windows 8.1
orangemocha authored
381 'VCManifestTool': {
382 'EmbedManifest': 'true',
383 'AdditionalManifestFiles': 'src/res/node.exe.extra.manifest'
384 }
16788f4 @DrPizza Rename gyp files to produce useful solution names.
DrPizza authored
385 },
4f3c8b3 @ry WIP
ry authored
386 },
35a1421 Windows: Enable ETW events.
Igor Zinkovsky authored
387 # generate ETW header and resource files
388 {
389 'target_name': 'node_etw',
390 'type': 'none',
391 'conditions': [
841b7f5 @sblom Ease building with VS Express by checking in generated files.
sblom authored
392 [ 'node_use_etw=="true" and node_has_winsdk=="true"', {
35a1421 Windows: Enable ETW events.
Igor Zinkovsky authored
393 'actions': [
394 {
395 'action_name': 'node_etw',
396 'inputs': [ 'src/res/node_etw_provider.man' ],
953b049 @sblom windows: correct outputs list in "node_etw" gyp target
sblom authored
397 'outputs': [
a616774 @sblom windows: improve Visual Studio Express build support
sblom authored
398 'tools/msvs/genfiles/node_etw_provider.rc',
399 'tools/msvs/genfiles/node_etw_provider.h',
400 'tools/msvs/genfiles/node_etw_providerTEMP.BIN',
953b049 @sblom windows: correct outputs list in "node_etw" gyp target
sblom authored
401 ],
a616774 @sblom windows: improve Visual Studio Express build support
sblom authored
402 'action': [ 'mc <@(_inputs) -h tools/msvs/genfiles -r tools/msvs/genfiles' ]
35a1421 Windows: Enable ETW events.
Igor Zinkovsky authored
403 }
404 ]
405 } ]
406 ]
407 },
f657ce6 @sblom windows: add tracing with performance counters
sblom authored
408 # generate perf counter header and resource files
409 {
410 'target_name': 'node_perfctr',
411 'type': 'none',
412 'conditions': [
841b7f5 @sblom Ease building with VS Express by checking in generated files.
sblom authored
413 [ 'node_use_perfctr=="true" and node_has_winsdk=="true"', {
f657ce6 @sblom windows: add tracing with performance counters
sblom authored
414 'actions': [
415 {
416 'action_name': 'node_perfctr_man',
417 'inputs': [ 'src/res/node_perfctr_provider.man' ],
418 'outputs': [
a616774 @sblom windows: improve Visual Studio Express build support
sblom authored
419 'tools/msvs/genfiles/node_perfctr_provider.h',
420 'tools/msvs/genfiles/node_perfctr_provider.rc',
421 'tools/msvs/genfiles/MSG00001.BIN',
f657ce6 @sblom windows: add tracing with performance counters
sblom authored
422 ],
423 'action': [ 'ctrpp <@(_inputs) '
a616774 @sblom windows: improve Visual Studio Express build support
sblom authored
424 '-o tools/msvs/genfiles/node_perfctr_provider.h '
425 '-rc tools/msvs/genfiles/node_perfctr_provider.rc'
f657ce6 @sblom windows: add tracing with performance counters
sblom authored
426 ]
427 },
428 ],
429 } ]
430 ]
431 },
4f3c8b3 @ry WIP
ry authored
432 {
433 'target_name': 'node_js2c',
434 'type': 'none',
435 'toolsets': ['host'],
436 'actions': [
437 {
438 'action_name': 'node_js2c',
439 'inputs': [
440 '<@(library_files)',
95fd517 @TooTallNate node.gyp: include the config.gypi file in the js2c inputs list
TooTallNate authored
441 './config.gypi',
4f3c8b3 @ry WIP
ry authored
442 ],
443 'outputs': [
444 '<(SHARED_INTERMEDIATE_DIR)/node_natives.h',
445 ],
a979ab9 @ry Improve gyp build - now works kind of
ry authored
446 'conditions': [
c4def50 @bnoordhuis build: use zero overhead systemtap probes
bnoordhuis authored
447 [ 'node_use_dtrace=="false" and node_use_etw=="false"', {
448 'inputs': [ 'src/notrace_macros.py' ]
4b279f0 @bnoordhuis src: rename macros.py to notrace_macros.py
bnoordhuis authored
449 }],
f657ce6 @sblom windows: add tracing with performance counters
sblom authored
450 [ 'node_use_perfctr=="false"', {
451 'inputs': [ 'src/perfctr_macros.py' ]
452 }]
453 ],
4b279f0 @bnoordhuis src: rename macros.py to notrace_macros.py
bnoordhuis authored
454 'action': [
455 '<(python)',
456 'tools/js2c.py',
457 '<@(_outputs)',
458 '<@(_inputs)',
459 ],
4f3c8b3 @ry WIP
ry authored
460 },
461 ],
462 }, # end node_js2c
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
463 {
464 'target_name': 'node_dtrace_header',
465 'type': 'none',
466 'conditions': [
c4def50 @bnoordhuis build: use zero overhead systemtap probes
bnoordhuis authored
467 [ 'node_use_dtrace=="true"', {
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
468 'actions': [
469 {
470 'action_name': 'node_dtrace_header',
471 'inputs': [ 'src/node_provider.d' ],
472 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.h' ],
473 'action': [ 'dtrace', '-h', '-xnolibs', '-s', '<@(_inputs)',
474 '-o', '<@(_outputs)' ]
475 }
476 ]
477 } ]
478 ]
479 },
480 {
e851fef @tjfontaine build: embed the mdb_v8.so into the binary
tjfontaine authored
481 'target_name': 'node_mdb',
482 'type': 'none',
483 'conditions': [
484 [ 'node_use_mdb=="true"',
485 {
486 'dependencies': [ 'deps/mdb_v8/mdb_v8.gyp:mdb_v8' ],
487 'actions': [
488 {
489 'action_name': 'node_mdb',
490 'inputs': [ '<(PRODUCT_DIR)/obj.target/deps/mdb_v8/mdb_v8.so' ],
491 'outputs': [ '<(PRODUCT_DIR)/obj.target/node/src/node_mdb.o' ],
492 'conditions': [
493 [ 'target_arch=="ia32"', {
032373d @tjfontaine build: fix ia32 sunos, elfwrap only needs -64
tjfontaine authored
494 'action': [ 'elfwrap', '-o', '<@(_outputs)', '<@(_inputs)' ],
e851fef @tjfontaine build: embed the mdb_v8.so into the binary
tjfontaine authored
495 } ],
496 [ 'target_arch=="x64"', {
497 'action': [ 'elfwrap', '-64', '-o', '<@(_outputs)', '<@(_inputs)' ],
498 } ],
499 ],
500 },
501 ],
502 },
503 ],
504 ],
505 },
506 {
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
507 'target_name': 'node_dtrace_provider',
508 'type': 'none',
509 'conditions': [
c4def50 @bnoordhuis build: use zero overhead systemtap probes
bnoordhuis authored
510 [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', {
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
511 'actions': [
512 {
513 'action_name': 'node_dtrace_provider_o',
514 'inputs': [
c1b1f31 @tjfontaine Merge remote-tracking branch 'upstream/v0.10'
tjfontaine authored
515 '<(OBJ_DIR)/node/src/node_dtrace.o',
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
516 ],
517 'outputs': [
61c0d57 @indutny gyp: fix `ninja` build on linux
indutny authored
518 '<(OBJ_DIR)/node/src/node_dtrace_provider.o'
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
519 ],
f0d80d7 @tjfontaine dtrace: enable uv's probes if enabled
tjfontaine authored
520 'action': [ 'dtrace', '-G', '-xnolibs', '-s', 'src/node_provider.d',
4dc660e @misterdjules build: do not generate support for libuv's probes
misterdjules authored
521 '<@(_inputs)', '-o', '<@(_outputs)' ]
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
522 }
523 ]
c4def50 @bnoordhuis build: use zero overhead systemtap probes
bnoordhuis authored
524 }],
525 [ 'node_use_dtrace=="true" and OS=="linux"', {
526 'actions': [
527 {
528 'action_name': 'node_dtrace_provider_o',
529 'inputs': [ 'src/node_provider.d' ],
530 'outputs': [
531 '<(SHARED_INTERMEDIATE_DIR)/node_dtrace_provider.o'
532 ],
533 'action': [
534 'dtrace', '-C', '-G', '-s', '<@(_inputs)', '-o', '<@(_outputs)'
535 ],
4dc660e @misterdjules build: do not generate support for libuv's probes
misterdjules authored
536 }
c4def50 @bnoordhuis build: use zero overhead systemtap probes
bnoordhuis authored
537 ],
538 }],
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
539 ]
540 },
541 {
542 'target_name': 'node_dtrace_ustack',
543 'type': 'none',
544 'conditions': [
c4def50 @bnoordhuis build: use zero overhead systemtap probes
bnoordhuis authored
545 [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', {
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
546 'actions': [
547 {
548 'action_name': 'node_dtrace_ustack_constants',
549 'inputs': [
61c0d57 @indutny gyp: fix `ninja` build on linux
indutny authored
550 '<(V8_BASE)'
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
551 ],
552 'outputs': [
553 '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
554 ],
555 'action': [
556 'tools/genv8constants.py',
557 '<@(_outputs)',
558 '<@(_inputs)'
559 ]
560 },
561 {
562 'action_name': 'node_dtrace_ustack',
563 'inputs': [
564 'src/v8ustack.d',
565 '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
566 ],
567 'outputs': [
61c0d57 @indutny gyp: fix `ninja` build on linux
indutny authored
568 '<(OBJ_DIR)/node/src/node_dtrace_ustack.o'
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
569 ],
3d913fe @indutny Revert "sunos: unbreak build after v8 downgrade"
indutny authored
570 'conditions': [
571 [ 'target_arch=="ia32"', {
572 'action': [
573 'dtrace', '-32', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc',
574 '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)',
575 ]
576 } ],
577 [ 'target_arch=="x64"', {
578 'action': [
579 'dtrace', '-64', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc',
580 '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)',
581 ]
582 } ],
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
583 ]
b940e0f @indutny gyp: specialize node.d for freebsd
indutny authored
584 },
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
585 ]
586 } ],
587 ]
b940e0f @indutny gyp: specialize node.d for freebsd
indutny authored
588 },
589 {
590 'target_name': 'specialize_node_d',
591 'type': 'none',
592 'conditions': [
593 [ 'node_use_dtrace=="true"', {
594 'actions': [
595 {
596 'action_name': 'specialize_node_d',
597 'inputs': [
598 'src/node.d'
599 ],
600 'outputs': [
601 '<(PRODUCT_DIR)/node.d',
602 ],
603 'action': [
604 'tools/specialize_node_d.py',
605 '<@(_outputs)',
606 '<@(_inputs)',
607 '<@(OS)',
608 '<@(target_arch)',
609 ],
610 },
611 ],
612 } ],
613 ]
cc15299 @davepacheco build: add support for DTrace and postmortem
davepacheco authored
614 }
4f3c8b3 @ry WIP
ry authored
615 ] # end targets
616 }
Something went wrong with that request. Please try again.