~evarlast/ubuntu/utopic/mongodb/upstart-workaround-debian-bug-718702

« back to all changes in this revision

Viewing changes to src/third_party/v8/tools/gyp/v8.gyp

  • Committer: Package Import Robot
  • Author(s): James Page, James Page, Robie Basak
  • Date: 2013-05-29 17:44:42 UTC
  • mfrom: (44.1.7 sid)
  • Revision ID: package-import@ubuntu.com-20130529174442-z0a4qmoww4y0t458
Tags: 1:2.4.3-1ubuntu1
[ James Page ]
* Merge from Debian unstable, remaining changes:
  - Enable SSL support:
    + d/control: Add libssl-dev to BD's.
    + d/rules: Enabled --ssl option.
    + d/mongodb.conf: Add example SSL configuration options.
  - d/mongodb-server.mongodb.upstart: Add upstart configuration.
  - d/rules: Don't strip binaries during scons build for Ubuntu.
  - d/control: Add armhf to target archs.
  - d/p/SConscript.client.patch: fixup install of client libraries.
  - d/p/0010-install-libs-to-usr-lib-not-usr-lib64-Closes-588557.patch:
    Install libraries to lib not lib64.
* Dropped changes:
  - d/p/arm-support.patch: Included in Debian.
  - d/p/double-alignment.patch: Included in Debian.
  - d/rules,control: Debian also builds with avaliable system libraries
    now.
* Fix FTBFS due to gcc and boost upgrades in saucy:
  - d/p/0008-ignore-unused-local-typedefs.patch: Add -Wno-unused-typedefs
    to unbreak building with g++-4.8.
  - d/p/0009-boost-1.53.patch: Fixup signed/unsigned casting issue.

[ Robie Basak ]
* d/p/0011-Use-a-signed-char-to-store-BSONType-enumerations.patch: Fixup
  build failure on ARM due to missing signed'ness of char cast.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright 2012 the V8 project authors. All rights reserved.
 
2
# Redistribution and use in source and binary forms, with or without
 
3
# modification, are permitted provided that the following conditions are
 
4
# met:
 
5
#
 
6
#     * Redistributions of source code must retain the above copyright
 
7
#       notice, this list of conditions and the following disclaimer.
 
8
#     * Redistributions in binary form must reproduce the above
 
9
#       copyright notice, this list of conditions and the following
 
10
#       disclaimer in the documentation and/or other materials provided
 
11
#       with the distribution.
 
12
#     * Neither the name of Google Inc. nor the names of its
 
13
#       contributors may be used to endorse or promote products derived
 
14
#       from this software without specific prior written permission.
 
15
#
 
16
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 
17
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 
18
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 
19
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 
20
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 
21
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 
22
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 
23
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 
24
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
25
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 
26
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
27
 
 
28
{
 
29
  'includes': ['../../build/common.gypi'],
 
30
  'conditions': [
 
31
    ['use_system_v8==0', {
 
32
      'targets': [
 
33
        {
 
34
          'target_name': 'v8',
 
35
          'dependencies_traverse': 1,
 
36
          'conditions': [
 
37
            ['want_separate_host_toolset==1', {
 
38
              'toolsets': ['host', 'target'],
 
39
            }, {
 
40
              'toolsets': ['target'],
 
41
            }],
 
42
            ['v8_use_snapshot=="true"', {
 
43
              # The dependency on v8_base should come from a transitive
 
44
              # dependency however the Android toolchain requires libv8_base.a
 
45
              # to appear before libv8_snapshot.a so it's listed explicitly.
 
46
              'dependencies': ['v8_base', 'v8_snapshot'],
 
47
            },
 
48
            {
 
49
              # The dependency on v8_base should come from a transitive
 
50
              # dependency however the Android toolchain requires libv8_base.a
 
51
              # to appear before libv8_snapshot.a so it's listed explicitly.
 
52
              'dependencies': ['v8_base', 'v8_nosnapshot'],
 
53
            }],
 
54
            ['component=="shared_library"', {
 
55
              'type': '<(component)',
 
56
              'sources': [
 
57
                # Note: on non-Windows we still build this file so that gyp
 
58
                # has some sources to link into the component.
 
59
                '../../src/v8dll-main.cc',
 
60
              ],
 
61
              'defines': [
 
62
                'V8_SHARED',
 
63
                'BUILDING_V8_SHARED',
 
64
              ],
 
65
              'direct_dependent_settings': {
 
66
                'defines': [
 
67
                  'V8_SHARED',
 
68
                  'USING_V8_SHARED',
 
69
                ],
 
70
              },
 
71
              'conditions': [
 
72
                ['OS=="mac"', {
 
73
                  'xcode_settings': {
 
74
                    'OTHER_LDFLAGS': ['-dynamiclib', '-all_load']
 
75
                  },
 
76
                }],
 
77
                ['soname_version!=""', {
 
78
                  'product_extension': 'so.<(soname_version)',
 
79
                }],
 
80
              ],
 
81
            },
 
82
            {
 
83
              'type': 'none',
 
84
            }],
 
85
          ],
 
86
          'direct_dependent_settings': {
 
87
            'include_dirs': [
 
88
              '../../include',
 
89
            ],
 
90
          },
 
91
        },
 
92
        {
 
93
          'target_name': 'v8_snapshot',
 
94
          'type': '<(library)',
 
95
          'conditions': [
 
96
            ['want_separate_host_toolset==1', {
 
97
              'toolsets': ['host', 'target'],
 
98
              'dependencies': ['mksnapshot#host', 'js2c#host'],
 
99
            }, {
 
100
              'toolsets': ['target'],
 
101
              'dependencies': ['mksnapshot', 'js2c'],
 
102
            }],
 
103
            ['component=="shared_library"', {
 
104
              'defines': [
 
105
                'V8_SHARED',
 
106
                'BUILDING_V8_SHARED',
 
107
              ],
 
108
              'direct_dependent_settings': {
 
109
                'defines': [
 
110
                  'V8_SHARED',
 
111
                  'USING_V8_SHARED',
 
112
                ],
 
113
              },
 
114
            }],
 
115
          ],
 
116
          'dependencies': [
 
117
            'v8_base',
 
118
          ],
 
119
          'include_dirs+': [
 
120
            '../../src',
 
121
          ],
 
122
          'sources': [
 
123
            '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
 
124
            '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
 
125
            '<(INTERMEDIATE_DIR)/snapshot.cc',
 
126
          ],
 
127
          'actions': [
 
128
            {
 
129
              'action_name': 'run_mksnapshot',
 
130
              'inputs': [
 
131
                '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
 
132
              ],
 
133
              'outputs': [
 
134
                '<(INTERMEDIATE_DIR)/snapshot.cc',
 
135
              ],
 
136
              'variables': {
 
137
                'mksnapshot_flags': [
 
138
                  '--log-snapshot-positions',
 
139
                  '--logfile', '<(INTERMEDIATE_DIR)/snapshot.log',
 
140
                ],
 
141
              },
 
142
              'conditions': [
 
143
                ['v8_target_arch=="arm"', {
 
144
                  # The following rules should be consistent with chromium's
 
145
                  # common.gypi and V8's runtime rule to ensure they all generate
 
146
                  # the same correct machine code. The following issue is about
 
147
                  # V8's runtime rule about vfpv3 and neon:
 
148
                  # http://code.google.com/p/v8/issues/detail?id=914
 
149
                  'conditions': [
 
150
                    ['armv7==1', {
 
151
                      # The ARM Architecture Manual mandates VFPv3 if NEON is
 
152
                      # available.
 
153
                      # The current V8 doesn't use d16-d31, so for vfpv3-d16, we can
 
154
                      # also enable vfp3 for the better performance.
 
155
                      'conditions': [
 
156
                        ['arm_neon!=1 and arm_fpu!="vfpv3" and arm_fpu!="vfpv3-d16"', {
 
157
                          'variables': {
 
158
                            'mksnapshot_flags': [
 
159
                              '--noenable_vfp3',
 
160
                            ],
 
161
                          },
 
162
                        }],
 
163
                      ],
 
164
                    },{ # else: armv7!=1
 
165
                      'variables': {
 
166
                        'mksnapshot_flags': [
 
167
                          '--noenable_armv7',
 
168
                          '--noenable_vfp3',
 
169
                        ],
 
170
                      },
 
171
                    }],
 
172
                  ],
 
173
                }],
 
174
              ],
 
175
              'action': [
 
176
                '<@(_inputs)',
 
177
                '<@(mksnapshot_flags)',
 
178
                '<@(_outputs)'
 
179
              ],
 
180
            },
 
181
          ],
 
182
        },
 
183
        {
 
184
          'target_name': 'v8_nosnapshot',
 
185
          'type': '<(library)',
 
186
          'dependencies': [
 
187
            'v8_base',
 
188
          ],
 
189
          'include_dirs+': [
 
190
            '../../src',
 
191
          ],
 
192
          'sources': [
 
193
            '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
 
194
            '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
 
195
            '../../src/snapshot-empty.cc',
 
196
          ],
 
197
          'conditions': [
 
198
            ['want_separate_host_toolset==1', {
 
199
              'toolsets': ['host', 'target'],
 
200
              'dependencies': ['js2c#host'],
 
201
            }, {
 
202
              'toolsets': ['target'],
 
203
              'dependencies': ['js2c'],
 
204
            }],
 
205
            ['component=="shared_library"', {
 
206
              'defines': [
 
207
                'BUILDING_V8_SHARED',
 
208
                'V8_SHARED',
 
209
              ],
 
210
            }],
 
211
          ]
 
212
        },
 
213
        {
 
214
          'target_name': 'v8_base',
 
215
          'type': '<(library)',
 
216
          'variables': {
 
217
            'optimize': 'max',
 
218
          },
 
219
          'include_dirs+': [
 
220
            '../../src',
 
221
          ],
 
222
          'sources': [
 
223
            '../../src/accessors.cc',
 
224
            '../../src/accessors.h',
 
225
            '../../src/allocation.cc',
 
226
            '../../src/allocation.h',
 
227
            '../../src/api.cc',
 
228
            '../../src/api.h',
 
229
            '../../src/apiutils.h',
 
230
            '../../src/arguments.h',
 
231
            '../../src/assembler.cc',
 
232
            '../../src/assembler.h',
 
233
            '../../src/ast.cc',
 
234
            '../../src/ast.h',
 
235
            '../../src/atomicops.h',
 
236
            '../../src/atomicops_internals_x86_gcc.cc',
 
237
            '../../src/bignum-dtoa.cc',
 
238
            '../../src/bignum-dtoa.h',
 
239
            '../../src/bignum.cc',
 
240
            '../../src/bignum.h',
 
241
            '../../src/bootstrapper.cc',
 
242
            '../../src/bootstrapper.h',
 
243
            '../../src/builtins.cc',
 
244
            '../../src/builtins.h',
 
245
            '../../src/bytecodes-irregexp.h',
 
246
            '../../src/cached-powers.cc',
 
247
            '../../src/cached-powers.h',
 
248
            '../../src/char-predicates-inl.h',
 
249
            '../../src/char-predicates.h',
 
250
            '../../src/checks.cc',
 
251
            '../../src/checks.h',
 
252
            '../../src/circular-queue-inl.h',
 
253
            '../../src/circular-queue.cc',
 
254
            '../../src/circular-queue.h',
 
255
            '../../src/code-stubs.cc',
 
256
            '../../src/code-stubs.h',
 
257
            '../../src/code.h',
 
258
            '../../src/codegen.cc',
 
259
            '../../src/codegen.h',
 
260
            '../../src/compilation-cache.cc',
 
261
            '../../src/compilation-cache.h',
 
262
            '../../src/compiler.cc',
 
263
            '../../src/compiler.h',
 
264
            '../../src/contexts.cc',
 
265
            '../../src/contexts.h',
 
266
            '../../src/conversions-inl.h',
 
267
            '../../src/conversions.cc',
 
268
            '../../src/conversions.h',
 
269
            '../../src/counters.cc',
 
270
            '../../src/counters.h',
 
271
            '../../src/cpu-profiler-inl.h',
 
272
            '../../src/cpu-profiler.cc',
 
273
            '../../src/cpu-profiler.h',
 
274
            '../../src/cpu.h',
 
275
            '../../src/data-flow.cc',
 
276
            '../../src/data-flow.h',
 
277
            '../../src/date.cc',
 
278
            '../../src/date.h',
 
279
            '../../src/dateparser-inl.h',
 
280
            '../../src/dateparser.cc',
 
281
            '../../src/dateparser.h',
 
282
            '../../src/debug-agent.cc',
 
283
            '../../src/debug-agent.h',
 
284
            '../../src/debug.cc',
 
285
            '../../src/debug.h',
 
286
            '../../src/deoptimizer.cc',
 
287
            '../../src/deoptimizer.h',
 
288
            '../../src/disasm.h',
 
289
            '../../src/disassembler.cc',
 
290
            '../../src/disassembler.h',
 
291
            '../../src/diy-fp.cc',
 
292
            '../../src/diy-fp.h',
 
293
            '../../src/double.h',
 
294
            '../../src/dtoa.cc',
 
295
            '../../src/dtoa.h',
 
296
            '../../src/elements-kind.cc',
 
297
            '../../src/elements-kind.h',
 
298
            '../../src/elements.cc',
 
299
            '../../src/elements.h',
 
300
            '../../src/execution.cc',
 
301
            '../../src/execution.h',
 
302
            '../../src/extensions/externalize-string-extension.cc',
 
303
            '../../src/extensions/externalize-string-extension.h',
 
304
            '../../src/extensions/gc-extension.cc',
 
305
            '../../src/extensions/gc-extension.h',
 
306
            '../../src/extensions/statistics-extension.cc',
 
307
            '../../src/extensions/statistics-extension.h',
 
308
            '../../src/factory.cc',
 
309
            '../../src/factory.h',
 
310
            '../../src/fast-dtoa.cc',
 
311
            '../../src/fast-dtoa.h',
 
312
            '../../src/fixed-dtoa.cc',
 
313
            '../../src/fixed-dtoa.h',
 
314
            '../../src/flag-definitions.h',
 
315
            '../../src/flags.cc',
 
316
            '../../src/flags.h',
 
317
            '../../src/frames-inl.h',
 
318
            '../../src/frames.cc',
 
319
            '../../src/frames.h',
 
320
            '../../src/full-codegen.cc',
 
321
            '../../src/full-codegen.h',
 
322
            '../../src/func-name-inferrer.cc',
 
323
            '../../src/func-name-inferrer.h',
 
324
            '../../src/global-handles.cc',
 
325
            '../../src/global-handles.h',
 
326
            '../../src/globals.h',
 
327
            '../../src/handles-inl.h',
 
328
            '../../src/handles.cc',
 
329
            '../../src/handles.h',
 
330
            '../../src/hashmap.h',
 
331
            '../../src/heap-inl.h',
 
332
            '../../src/heap-profiler.cc',
 
333
            '../../src/heap-profiler.h',
 
334
            '../../src/heap.cc',
 
335
            '../../src/heap.h',
 
336
            '../../src/hydrogen-instructions.cc',
 
337
            '../../src/hydrogen-instructions.h',
 
338
            '../../src/hydrogen.cc',
 
339
            '../../src/hydrogen.h',
 
340
            '../../src/ic-inl.h',
 
341
            '../../src/ic.cc',
 
342
            '../../src/ic.h',
 
343
            '../../src/incremental-marking.cc',
 
344
            '../../src/incremental-marking.h',
 
345
            '../../src/inspector.cc',
 
346
            '../../src/inspector.h',
 
347
            '../../src/interface.cc',
 
348
            '../../src/interface.h',
 
349
            '../../src/interpreter-irregexp.cc',
 
350
            '../../src/interpreter-irregexp.h',
 
351
            '../../src/isolate.cc',
 
352
            '../../src/isolate.h',
 
353
            '../../src/json-parser.h',
 
354
            '../../src/jsregexp.cc',
 
355
            '../../src/jsregexp.h',
 
356
            '../../src/lazy-instance.h',
 
357
            '../../src/list-inl.h',
 
358
            '../../src/list.h',
 
359
            '../../src/lithium-allocator-inl.h',
 
360
            '../../src/lithium-allocator.cc',
 
361
            '../../src/lithium-allocator.h',
 
362
            '../../src/lithium.cc',
 
363
            '../../src/lithium.h',
 
364
            '../../src/liveedit.cc',
 
365
            '../../src/liveedit.h',
 
366
            '../../src/liveobjectlist-inl.h',
 
367
            '../../src/liveobjectlist.cc',
 
368
            '../../src/liveobjectlist.h',
 
369
            '../../src/log-inl.h',
 
370
            '../../src/log-utils.cc',
 
371
            '../../src/log-utils.h',
 
372
            '../../src/log.cc',
 
373
            '../../src/log.h',
 
374
            '../../src/macro-assembler.h',
 
375
            '../../src/mark-compact.cc',
 
376
            '../../src/mark-compact.h',
 
377
            '../../src/messages.cc',
 
378
            '../../src/messages.h',
 
379
            '../../src/natives.h',
 
380
            '../../src/objects-debug.cc',
 
381
            '../../src/objects-inl.h',
 
382
            '../../src/objects-printer.cc',
 
383
            '../../src/objects-visiting.cc',
 
384
            '../../src/objects-visiting.h',
 
385
            '../../src/objects.cc',
 
386
            '../../src/objects.h',
 
387
            '../../src/once.cc',
 
388
            '../../src/once.h',
 
389
            '../../src/optimizing-compiler-thread.h',
 
390
            '../../src/optimizing-compiler-thread.cc',
 
391
            '../../src/parser.cc',
 
392
            '../../src/parser.h',
 
393
            '../../src/platform-posix.h',
 
394
            '../../src/platform-tls-mac.h',
 
395
            '../../src/platform-tls-win32.h',
 
396
            '../../src/platform-tls.h',
 
397
            '../../src/platform.h',
 
398
            '../../src/preparse-data-format.h',
 
399
            '../../src/preparse-data.cc',
 
400
            '../../src/preparse-data.h',
 
401
            '../../src/preparser.cc',
 
402
            '../../src/preparser.h',
 
403
            '../../src/prettyprinter.cc',
 
404
            '../../src/prettyprinter.h',
 
405
            '../../src/profile-generator-inl.h',
 
406
            '../../src/profile-generator.cc',
 
407
            '../../src/profile-generator.h',
 
408
            '../../src/property-details.h',
 
409
            '../../src/property.cc',
 
410
            '../../src/property.h',
 
411
            '../../src/regexp-macro-assembler-irregexp-inl.h',
 
412
            '../../src/regexp-macro-assembler-irregexp.cc',
 
413
            '../../src/regexp-macro-assembler-irregexp.h',
 
414
            '../../src/regexp-macro-assembler-tracer.cc',
 
415
            '../../src/regexp-macro-assembler-tracer.h',
 
416
            '../../src/regexp-macro-assembler.cc',
 
417
            '../../src/regexp-macro-assembler.h',
 
418
            '../../src/regexp-stack.cc',
 
419
            '../../src/regexp-stack.h',
 
420
            '../../src/rewriter.cc',
 
421
            '../../src/rewriter.h',
 
422
            '../../src/runtime-profiler.cc',
 
423
            '../../src/runtime-profiler.h',
 
424
            '../../src/runtime.cc',
 
425
            '../../src/runtime.h',
 
426
            '../../src/safepoint-table.cc',
 
427
            '../../src/safepoint-table.h',
 
428
            '../../src/scanner-character-streams.cc',
 
429
            '../../src/scanner-character-streams.h',
 
430
            '../../src/scanner.cc',
 
431
            '../../src/scanner.h',
 
432
            '../../src/scopeinfo.cc',
 
433
            '../../src/scopeinfo.h',
 
434
            '../../src/scopes.cc',
 
435
            '../../src/scopes.h',
 
436
            '../../src/serialize.cc',
 
437
            '../../src/serialize.h',
 
438
            '../../src/small-pointer-list.h',
 
439
            '../../src/smart-pointers.h',
 
440
            '../../src/snapshot-common.cc',
 
441
            '../../src/snapshot.h',
 
442
            '../../src/spaces-inl.h',
 
443
            '../../src/spaces.cc',
 
444
            '../../src/spaces.h',
 
445
            '../../src/store-buffer-inl.h',
 
446
            '../../src/store-buffer.cc',
 
447
            '../../src/store-buffer.h',
 
448
            '../../src/string-search.cc',
 
449
            '../../src/string-search.h',
 
450
            '../../src/string-stream.cc',
 
451
            '../../src/string-stream.h',
 
452
            '../../src/strtod.cc',
 
453
            '../../src/strtod.h',
 
454
            '../../src/stub-cache.cc',
 
455
            '../../src/stub-cache.h',
 
456
            '../../src/token.cc',
 
457
            '../../src/token.h',
 
458
            '../../src/transitions-inl.h',
 
459
            '../../src/transitions.cc',
 
460
            '../../src/transitions.h',
 
461
            '../../src/type-info.cc',
 
462
            '../../src/type-info.h',
 
463
            '../../src/unbound-queue-inl.h',
 
464
            '../../src/unbound-queue.h',
 
465
            '../../src/unicode-inl.h',
 
466
            '../../src/unicode.cc',
 
467
            '../../src/unicode.h',
 
468
            '../../src/utils-inl.h',
 
469
            '../../src/utils.cc',
 
470
            '../../src/utils.h',
 
471
            '../../src/v8-counters.cc',
 
472
            '../../src/v8-counters.h',
 
473
            '../../src/v8.cc',
 
474
            '../../src/v8.h',
 
475
            '../../src/v8checks.h',
 
476
            '../../src/v8conversions.cc',
 
477
            '../../src/v8conversions.h',
 
478
            '../../src/v8globals.h',
 
479
            '../../src/v8memory.h',
 
480
            '../../src/v8threads.cc',
 
481
            '../../src/v8threads.h',
 
482
            '../../src/v8utils.cc',
 
483
            '../../src/v8utils.h',
 
484
            '../../src/variables.cc',
 
485
            '../../src/variables.h',
 
486
            '../../src/version.cc',
 
487
            '../../src/version.h',
 
488
            '../../src/vm-state-inl.h',
 
489
            '../../src/vm-state.h',
 
490
            '../../src/zone-inl.h',
 
491
            '../../src/zone.cc',
 
492
            '../../src/zone.h',
 
493
          ],
 
494
          'conditions': [
 
495
            ['want_separate_host_toolset==1', {
 
496
              'toolsets': ['host', 'target'],
 
497
            }, {
 
498
              'toolsets': ['target'],
 
499
            }],
 
500
            ['v8_target_arch=="arm"', {
 
501
              'sources': [
 
502
                '../../src/arm/assembler-arm-inl.h',
 
503
                '../../src/arm/assembler-arm.cc',
 
504
                '../../src/arm/assembler-arm.h',
 
505
                '../../src/arm/builtins-arm.cc',
 
506
                '../../src/arm/code-stubs-arm.cc',
 
507
                '../../src/arm/code-stubs-arm.h',
 
508
                '../../src/arm/codegen-arm.cc',
 
509
                '../../src/arm/codegen-arm.h',
 
510
                '../../src/arm/constants-arm.h',
 
511
                '../../src/arm/constants-arm.cc',
 
512
                '../../src/arm/cpu-arm.cc',
 
513
                '../../src/arm/debug-arm.cc',
 
514
                '../../src/arm/deoptimizer-arm.cc',
 
515
                '../../src/arm/disasm-arm.cc',
 
516
                '../../src/arm/frames-arm.cc',
 
517
                '../../src/arm/frames-arm.h',
 
518
                '../../src/arm/full-codegen-arm.cc',
 
519
                '../../src/arm/ic-arm.cc',
 
520
                '../../src/arm/lithium-arm.cc',
 
521
                '../../src/arm/lithium-arm.h',
 
522
                '../../src/arm/lithium-codegen-arm.cc',
 
523
                '../../src/arm/lithium-codegen-arm.h',
 
524
                '../../src/arm/lithium-gap-resolver-arm.cc',
 
525
                '../../src/arm/lithium-gap-resolver-arm.h',
 
526
                '../../src/arm/macro-assembler-arm.cc',
 
527
                '../../src/arm/macro-assembler-arm.h',
 
528
                '../../src/arm/regexp-macro-assembler-arm.cc',
 
529
                '../../src/arm/regexp-macro-assembler-arm.h',
 
530
                '../../src/arm/simulator-arm.cc',
 
531
                '../../src/arm/stub-cache-arm.cc',
 
532
              ],
 
533
            }],
 
534
            ['v8_target_arch=="ia32" or v8_target_arch=="mac" or OS=="mac"', {
 
535
              'sources': [
 
536
                '../../src/ia32/assembler-ia32-inl.h',
 
537
                '../../src/ia32/assembler-ia32.cc',
 
538
                '../../src/ia32/assembler-ia32.h',
 
539
                '../../src/ia32/builtins-ia32.cc',
 
540
                '../../src/ia32/code-stubs-ia32.cc',
 
541
                '../../src/ia32/code-stubs-ia32.h',
 
542
                '../../src/ia32/codegen-ia32.cc',
 
543
                '../../src/ia32/codegen-ia32.h',
 
544
                '../../src/ia32/cpu-ia32.cc',
 
545
                '../../src/ia32/debug-ia32.cc',
 
546
                '../../src/ia32/deoptimizer-ia32.cc',
 
547
                '../../src/ia32/disasm-ia32.cc',
 
548
                '../../src/ia32/frames-ia32.cc',
 
549
                '../../src/ia32/frames-ia32.h',
 
550
                '../../src/ia32/full-codegen-ia32.cc',
 
551
                '../../src/ia32/ic-ia32.cc',
 
552
                '../../src/ia32/lithium-codegen-ia32.cc',
 
553
                '../../src/ia32/lithium-codegen-ia32.h',
 
554
                '../../src/ia32/lithium-gap-resolver-ia32.cc',
 
555
                '../../src/ia32/lithium-gap-resolver-ia32.h',
 
556
                '../../src/ia32/lithium-ia32.cc',
 
557
                '../../src/ia32/lithium-ia32.h',
 
558
                '../../src/ia32/macro-assembler-ia32.cc',
 
559
                '../../src/ia32/macro-assembler-ia32.h',
 
560
                '../../src/ia32/regexp-macro-assembler-ia32.cc',
 
561
                '../../src/ia32/regexp-macro-assembler-ia32.h',
 
562
                '../../src/ia32/stub-cache-ia32.cc',
 
563
              ],
 
564
            }],
 
565
            ['v8_target_arch=="mipsel"', {
 
566
              'sources': [
 
567
                '../../src/mips/assembler-mips.cc',
 
568
                '../../src/mips/assembler-mips.h',
 
569
                '../../src/mips/assembler-mips-inl.h',
 
570
                '../../src/mips/builtins-mips.cc',
 
571
                '../../src/mips/codegen-mips.cc',
 
572
                '../../src/mips/codegen-mips.h',
 
573
                '../../src/mips/code-stubs-mips.cc',
 
574
                '../../src/mips/code-stubs-mips.h',
 
575
                '../../src/mips/constants-mips.cc',
 
576
                '../../src/mips/constants-mips.h',
 
577
                '../../src/mips/cpu-mips.cc',
 
578
                '../../src/mips/debug-mips.cc',
 
579
                '../../src/mips/deoptimizer-mips.cc',
 
580
                '../../src/mips/disasm-mips.cc',
 
581
                '../../src/mips/frames-mips.cc',
 
582
                '../../src/mips/frames-mips.h',
 
583
                '../../src/mips/full-codegen-mips.cc',
 
584
                '../../src/mips/ic-mips.cc',
 
585
                '../../src/mips/lithium-codegen-mips.cc',
 
586
                '../../src/mips/lithium-codegen-mips.h',
 
587
                '../../src/mips/lithium-gap-resolver-mips.cc',
 
588
                '../../src/mips/lithium-gap-resolver-mips.h',
 
589
                '../../src/mips/lithium-mips.cc',
 
590
                '../../src/mips/lithium-mips.h',
 
591
                '../../src/mips/macro-assembler-mips.cc',
 
592
                '../../src/mips/macro-assembler-mips.h',
 
593
                '../../src/mips/regexp-macro-assembler-mips.cc',
 
594
                '../../src/mips/regexp-macro-assembler-mips.h',
 
595
                '../../src/mips/simulator-mips.cc',
 
596
                '../../src/mips/stub-cache-mips.cc',
 
597
              ],
 
598
            }],
 
599
            ['v8_target_arch=="x64" or v8_target_arch=="mac" or OS=="mac"', {
 
600
              'sources': [
 
601
                '../../src/x64/assembler-x64-inl.h',
 
602
                '../../src/x64/assembler-x64.cc',
 
603
                '../../src/x64/assembler-x64.h',
 
604
                '../../src/x64/builtins-x64.cc',
 
605
                '../../src/x64/code-stubs-x64.cc',
 
606
                '../../src/x64/code-stubs-x64.h',
 
607
                '../../src/x64/codegen-x64.cc',
 
608
                '../../src/x64/codegen-x64.h',
 
609
                '../../src/x64/cpu-x64.cc',
 
610
                '../../src/x64/debug-x64.cc',
 
611
                '../../src/x64/deoptimizer-x64.cc',
 
612
                '../../src/x64/disasm-x64.cc',
 
613
                '../../src/x64/frames-x64.cc',
 
614
                '../../src/x64/frames-x64.h',
 
615
                '../../src/x64/full-codegen-x64.cc',
 
616
                '../../src/x64/ic-x64.cc',
 
617
                '../../src/x64/lithium-codegen-x64.cc',
 
618
                '../../src/x64/lithium-codegen-x64.h',
 
619
                '../../src/x64/lithium-gap-resolver-x64.cc',
 
620
                '../../src/x64/lithium-gap-resolver-x64.h',
 
621
                '../../src/x64/lithium-x64.cc',
 
622
                '../../src/x64/lithium-x64.h',
 
623
                '../../src/x64/macro-assembler-x64.cc',
 
624
                '../../src/x64/macro-assembler-x64.h',
 
625
                '../../src/x64/regexp-macro-assembler-x64.cc',
 
626
                '../../src/x64/regexp-macro-assembler-x64.h',
 
627
                '../../src/x64/stub-cache-x64.cc',
 
628
              ],
 
629
            }],
 
630
            ['OS=="linux"', {
 
631
                'link_settings': {
 
632
                  'conditions': [
 
633
                    ['v8_compress_startup_data=="bz2"', {
 
634
                      'libraries': [
 
635
                        '-lbz2',
 
636
                      ]
 
637
                    }],
 
638
                  ],
 
639
                },
 
640
                'sources': [
 
641
                  '../../src/platform-linux.cc',
 
642
                  '../../src/platform-posix.cc'
 
643
                ],
 
644
              }
 
645
            ],
 
646
            ['OS=="android"', {
 
647
                'defines': [
 
648
                  'CAN_USE_VFP_INSTRUCTIONS',
 
649
                ],
 
650
                'sources': [
 
651
                  '../../src/platform-posix.cc',
 
652
                ],
 
653
                'conditions': [
 
654
                  ['host_os=="mac"', {
 
655
                    'target_conditions': [
 
656
                      ['_toolset=="host"', {
 
657
                        'sources': [
 
658
                          '../../src/platform-macos.cc'
 
659
                        ]
 
660
                      }, {
 
661
                        'sources': [
 
662
                          '../../src/platform-linux.cc'
 
663
                        ]
 
664
                      }],
 
665
                    ],
 
666
                  }, {
 
667
                    'sources': [
 
668
                      '../../src/platform-linux.cc'
 
669
                    ]
 
670
                  }],
 
671
                ],
 
672
              },
 
673
            ],
 
674
            ['OS=="freebsd"', {
 
675
                'link_settings': {
 
676
                  'libraries': [
 
677
                    '-L/usr/local/lib -lexecinfo',
 
678
                ]},
 
679
                'sources': [
 
680
                  '../../src/platform-freebsd.cc',
 
681
                  '../../src/platform-posix.cc'
 
682
                ],
 
683
              }
 
684
            ],
 
685
            ['OS=="openbsd"', {
 
686
                'link_settings': {
 
687
                  'libraries': [
 
688
                    '-L/usr/local/lib -lexecinfo',
 
689
                ]},
 
690
                'sources': [
 
691
                  '../../src/platform-openbsd.cc',
 
692
                  '../../src/platform-posix.cc'
 
693
                ],
 
694
              }
 
695
            ],
 
696
            ['OS=="netbsd"', {
 
697
                'link_settings': {
 
698
                  'libraries': [
 
699
                    '-L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lexecinfo',
 
700
                ]},
 
701
                'sources': [
 
702
                  '../../src/platform-openbsd.cc',
 
703
                  '../../src/platform-posix.cc'
 
704
                ],
 
705
              }
 
706
            ],
 
707
            ['OS=="solaris"', {
 
708
                'link_settings': {
 
709
                  'libraries': [
 
710
                    '-lsocket -lnsl',
 
711
                ]},
 
712
                'sources': [
 
713
                  '../../src/platform-solaris.cc',
 
714
                  '../../src/platform-posix.cc',
 
715
                ],
 
716
              }
 
717
            ],
 
718
            ['OS=="mac"', {
 
719
              'sources': [
 
720
                '../../src/platform-macos.cc',
 
721
                '../../src/platform-posix.cc'
 
722
              ]},
 
723
            ],
 
724
            ['OS=="win"', {
 
725
              'sources': [
 
726
                '../../src/platform-win32.cc',
 
727
                '../../src/win32-math.cc',
 
728
                '../../src/win32-math.h',
 
729
              ],
 
730
              'msvs_disabled_warnings': [4351, 4355, 4800],
 
731
              'link_settings':  {
 
732
                'libraries': [ '-lwinmm.lib', '-lws2_32.lib' ],
 
733
              },
 
734
            }],
 
735
            ['component=="shared_library"', {
 
736
              'defines': [
 
737
                'BUILDING_V8_SHARED',
 
738
                'V8_SHARED',
 
739
              ],
 
740
            }],
 
741
            ['v8_postmortem_support=="true"', {
 
742
              'sources': [
 
743
                '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
 
744
              ]
 
745
            }],
 
746
          ],
 
747
        },
 
748
        {
 
749
          'target_name': 'js2c',
 
750
          'type': 'none',
 
751
          'conditions': [
 
752
            ['want_separate_host_toolset==1', {
 
753
              'toolsets': ['host'],
 
754
            }, {
 
755
              'toolsets': ['target'],
 
756
            }],
 
757
          ],
 
758
          'variables': {
 
759
            'library_files': [
 
760
              '../../src/runtime.js',
 
761
              '../../src/v8natives.js',
 
762
              '../../src/array.js',
 
763
              '../../src/string.js',
 
764
              '../../src/uri.js',
 
765
              '../../src/math.js',
 
766
              '../../src/messages.js',
 
767
              '../../src/apinatives.js',
 
768
              '../../src/debug-debugger.js',
 
769
              '../../src/mirror-debugger.js',
 
770
              '../../src/liveedit-debugger.js',
 
771
              '../../src/date.js',
 
772
              '../../src/json.js',
 
773
              '../../src/regexp.js',
 
774
              '../../src/macros.py',
 
775
            ],
 
776
            'experimental_library_files': [
 
777
              '../../src/macros.py',
 
778
              '../../src/proxy.js',
 
779
              '../../src/collection.js',
 
780
            ],
 
781
          },
 
782
          'actions': [
 
783
            {
 
784
              'action_name': 'js2c',
 
785
              'inputs': [
 
786
                '../../tools/js2c.py',
 
787
                '<@(library_files)',
 
788
              ],
 
789
              'outputs': [
 
790
                '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
 
791
              ],
 
792
              'action': [
 
793
                'python',
 
794
                '../../tools/js2c.py',
 
795
                '<@(_outputs)',
 
796
                'CORE',
 
797
                '<(v8_compress_startup_data)',
 
798
                '<@(library_files)'
 
799
              ],
 
800
            },
 
801
            {
 
802
              'action_name': 'js2c_experimental',
 
803
              'inputs': [
 
804
                '../../tools/js2c.py',
 
805
                '<@(experimental_library_files)',
 
806
              ],
 
807
              'outputs': [
 
808
                '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
 
809
              ],
 
810
              'action': [
 
811
                'python',
 
812
                '../../tools/js2c.py',
 
813
                '<@(_outputs)',
 
814
                'EXPERIMENTAL',
 
815
                '<(v8_compress_startup_data)',
 
816
                '<@(experimental_library_files)'
 
817
              ],
 
818
            },
 
819
          ],
 
820
        },
 
821
        {
 
822
          'target_name': 'postmortem-metadata',
 
823
          'type': 'none',
 
824
          'variables': {
 
825
            'heapobject_files': [
 
826
                '../../src/objects.h',
 
827
                '../../src/objects-inl.h',
 
828
            ],
 
829
          },
 
830
          'actions': [
 
831
              {
 
832
                'action_name': 'gen-postmortem-metadata',
 
833
                'inputs': [
 
834
                  '../../tools/gen-postmortem-metadata.py',
 
835
                  '<@(heapobject_files)',
 
836
                ],
 
837
                'outputs': [
 
838
                  '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
 
839
                ],
 
840
                'action': [
 
841
                  'python',
 
842
                  '../../tools/gen-postmortem-metadata.py',
 
843
                  '<@(_outputs)',
 
844
                  '<@(heapobject_files)'
 
845
                ]
 
846
              }
 
847
           ]
 
848
        },
 
849
        {
 
850
          'target_name': 'mksnapshot',
 
851
          'type': 'executable',
 
852
          'dependencies': [
 
853
            'v8_base',
 
854
            'v8_nosnapshot',
 
855
          ],
 
856
          'include_dirs+': [
 
857
            '../../src',
 
858
          ],
 
859
          'sources': [
 
860
            '../../src/mksnapshot.cc',
 
861
          ],
 
862
          'conditions': [
 
863
            ['want_separate_host_toolset==1', {
 
864
              'toolsets': ['host'],
 
865
            }, {
 
866
              'toolsets': ['target'],
 
867
            }],
 
868
            ['v8_compress_startup_data=="bz2"', {
 
869
              'libraries': [
 
870
                '-lbz2',
 
871
              ]
 
872
            }],
 
873
          ],
 
874
        },
 
875
        {
 
876
          'target_name': 'v8_shell',
 
877
          'type': 'executable',
 
878
          'dependencies': [
 
879
            'v8'
 
880
          ],
 
881
          'sources': [
 
882
            '../../samples/shell.cc',
 
883
          ],
 
884
          'conditions': [
 
885
            ['want_separate_host_toolset==1', {
 
886
              'toolsets': ['host'],
 
887
            }, {
 
888
              'toolsets': ['target'],
 
889
            }],
 
890
            ['OS=="win"', {
 
891
              # This could be gotten by not setting chromium_code, if that's OK.
 
892
              'defines': ['_CRT_SECURE_NO_WARNINGS'],
 
893
            }],
 
894
            ['v8_compress_startup_data=="bz2"', {
 
895
              'libraries': [
 
896
                '-lbz2',
 
897
              ]
 
898
            }],
 
899
          ],
 
900
        },
 
901
        {
 
902
          'target_name': 'preparser_lib',
 
903
          'type': '<(library)',
 
904
          'include_dirs+': [
 
905
            '../../src',
 
906
          ],
 
907
          'sources': [
 
908
            '../../include/v8-preparser.h',
 
909
            '../../include/v8stdint.h',
 
910
            '../../src/allocation.cc',
 
911
            '../../src/allocation.h',
 
912
            '../../src/atomicops.h',
 
913
            '../../src/atomicops_internals_x86_gcc.cc',
 
914
            '../../src/bignum.cc',
 
915
            '../../src/bignum.h',
 
916
            '../../src/bignum-dtoa.cc',
 
917
            '../../src/bignum-dtoa.h',
 
918
            '../../src/cached-powers.cc',
 
919
            '../../src/cached-powers.h',
 
920
            '../../src/char-predicates-inl.h',
 
921
            '../../src/char-predicates.h',
 
922
            '../../src/checks.h',
 
923
            '../../src/conversions-inl.h',
 
924
            '../../src/conversions.cc',
 
925
            '../../src/conversions.h',
 
926
            '../../src/diy-fp.cc',
 
927
            '../../src/diy-fp.h',
 
928
            '../../src/double.h',
 
929
            '../../src/dtoa.cc',
 
930
            '../../src/dtoa.h',
 
931
            '../../src/fast-dtoa.cc',
 
932
            '../../src/fast-dtoa.h',
 
933
            '../../src/fixed-dtoa.cc',
 
934
            '../../src/fixed-dtoa.h',
 
935
            '../../src/globals.h',
 
936
            '../../src/hashmap.h',
 
937
            '../../src/list-inl.h',
 
938
            '../../src/list.h',
 
939
            '../../src/once.cc',
 
940
            '../../src/once.h',
 
941
            '../../src/preparse-data-format.h',
 
942
            '../../src/preparse-data.cc',
 
943
            '../../src/preparse-data.h',
 
944
            '../../src/preparser.cc',
 
945
            '../../src/preparser.h',
 
946
            '../../src/preparser-api.cc',
 
947
            '../../src/scanner.cc',
 
948
            '../../src/scanner.h',
 
949
            '../../src/strtod.cc',
 
950
            '../../src/strtod.h',
 
951
            '../../src/token.cc',
 
952
            '../../src/token.h',
 
953
            '../../src/unicode-inl.h',
 
954
            '../../src/unicode.cc',
 
955
            '../../src/unicode.h',
 
956
            '../../src/utils-inl.h',
 
957
            '../../src/utils.cc',
 
958
            '../../src/utils.h',
 
959
          ],
 
960
          'conditions': [
 
961
            ['OS=="win"', {
 
962
              'sources': [
 
963
                '../../src/win32-math.cc',
 
964
                '../../src/win32-math.h',
 
965
              ]}],
 
966
          ],
 
967
        },
 
968
      ],
 
969
    }, { # use_system_v8 != 0
 
970
      'targets': [
 
971
        {
 
972
          'target_name': 'v8',
 
973
          'type': 'none',
 
974
          'conditions': [
 
975
            ['want_separate_host_toolset==1', {
 
976
              'toolsets': ['host', 'target'],
 
977
            }, {
 
978
              'toolsets': ['target'],
 
979
            }],
 
980
          ],
 
981
          'link_settings': {
 
982
            'libraries': [
 
983
              '-lv8',
 
984
            ],
 
985
          },
 
986
        },
 
987
        {
 
988
          'target_name': 'v8_shell',
 
989
          'type': 'none',
 
990
          'conditions': [
 
991
            ['want_separate_host_toolset==1', {
 
992
              'toolsets': ['host'],
 
993
            }, {
 
994
              'toolsets': ['target'],
 
995
            }],
 
996
          ],
 
997
          'dependencies': [
 
998
            'v8'
 
999
          ],
 
1000
        },
 
1001
      ],
 
1002
    }],
 
1003
  ],
 
1004
}