Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: BUILD.gn

Issue 838983002: Revert of Add d8 target to the GN build. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # Because standalone V8 builds are not supported, assume this is part of a 5 # Because standalone V8 builds are not supported, assume this is part of a
6 # Chromium build. 6 # Chromium build.
7 import("//build/module_args/v8.gni") 7 import("//build/module_args/v8.gni")
8 8
9 # TODO(jochen): These will need to be user-settable to support standalone V8 9 # TODO(jochen): These will need to be user-settable to support standalone V8
10 # builds. 10 # builds.
11 v8_deprecation_warnings = false 11 v8_deprecation_warnings = false
12 v8_enable_disassembler = false 12 v8_enable_disassembler = false
13 v8_enable_gdbjit = false 13 v8_enable_gdbjit = false
14 v8_enable_handle_zapping = true 14 v8_enable_handle_zapping = true
15 v8_enable_i18n_support = true 15 v8_enable_i18n_support = true
16 v8_enable_verify_heap = false 16 v8_enable_verify_heap = false
17 v8_interpreted_regexp = false 17 v8_interpreted_regexp = false
18 v8_object_print = false 18 v8_object_print = false
19 v8_postmortem_support = false 19 v8_postmortem_support = false
20 v8_use_snapshot = true 20 v8_use_snapshot = true
21 v8_enable_extra_checks = is_debug 21 v8_enable_extra_checks = is_debug
22 v8_target_arch = cpu_arch 22 v8_target_arch = cpu_arch
23 v8_random_seed = "314159265" 23 v8_random_seed = "314159265"
24 24
25
25 ############################################################################### 26 ###############################################################################
26 # Configurations 27 # Configurations
27 # 28 #
28 config("internal_config") { 29 config("internal_config") {
29 visibility = [ ":*" ] # Only targets in this file can depend on this. 30 visibility = [ ":*" ] # Only targets in this file can depend on this.
30 31
31 include_dirs = [ "." ] 32 include_dirs = [ "." ]
32 33
33 if (component_mode == "shared_library") { 34 if (component_mode == "shared_library") {
34 defines = [ 35 defines = [
(...skipping 20 matching lines...) Expand all
55 } 56 }
56 include_dirs = [ "include" ] 57 include_dirs = [ "include" ]
57 } 58 }
58 59
59 config("features") { 60 config("features") {
60 visibility = [ ":*" ] # Only targets in this file can depend on this. 61 visibility = [ ":*" ] # Only targets in this file can depend on this.
61 62
62 defines = [] 63 defines = []
63 64
64 if (v8_enable_disassembler == true) { 65 if (v8_enable_disassembler == true) {
65 defines += [ "ENABLE_DISASSEMBLER" ] 66 defines += [
67 "ENABLE_DISASSEMBLER",
68 ]
66 } 69 }
67 if (v8_enable_gdbjit == true) { 70 if (v8_enable_gdbjit == true) {
68 defines += [ "ENABLE_GDB_JIT_INTERFACE" ] 71 defines += [
72 "ENABLE_GDB_JIT_INTERFACE",
73 ]
69 } 74 }
70 if (v8_object_print == true) { 75 if (v8_object_print == true) {
71 defines += [ "OBJECT_PRINT" ] 76 defines += [
77 "OBJECT_PRINT",
78 ]
72 } 79 }
73 if (v8_enable_verify_heap == true) { 80 if (v8_enable_verify_heap == true) {
74 defines += [ "VERIFY_HEAP" ] 81 defines += [
82 "VERIFY_HEAP",
83 ]
75 } 84 }
76 if (v8_interpreted_regexp == true) { 85 if (v8_interpreted_regexp == true) {
77 defines += [ "V8_INTERPRETED_REGEXP" ] 86 defines += [
87 "V8_INTERPRETED_REGEXP",
88 ]
78 } 89 }
79 if (v8_deprecation_warnings == true) { 90 if (v8_deprecation_warnings == true) {
80 defines += [ "V8_DEPRECATION_WARNINGS" ] 91 defines += [
92 "V8_DEPRECATION_WARNINGS",
93 ]
81 } 94 }
82 if (v8_enable_i18n_support == true) { 95 if (v8_enable_i18n_support == true) {
83 defines += [ "V8_I18N_SUPPORT" ] 96 defines += [
97 "V8_I18N_SUPPORT",
98 ]
84 } 99 }
85 if (v8_enable_extra_checks == true) { 100 if (v8_enable_extra_checks == true) {
86 defines += [ "ENABLE_EXTRA_CHECKS" ] 101 defines += [
102 "ENABLE_EXTRA_CHECKS",
103 ]
87 } 104 }
88 if (v8_enable_handle_zapping == true) { 105 if (v8_enable_handle_zapping == true) {
89 defines += [ "ENABLE_HANDLE_ZAPPING" ] 106 defines += [
107 "ENABLE_HANDLE_ZAPPING",
108 ]
90 } 109 }
91 if (v8_use_external_startup_data == true) { 110 if (v8_use_external_startup_data == true) {
92 defines += [ "V8_USE_EXTERNAL_STARTUP_DATA" ] 111 defines += [
112 "V8_USE_EXTERNAL_STARTUP_DATA",
113 ]
93 } 114 }
94 } 115 }
95 116
96 config("toolchain") { 117 config("toolchain") {
97 visibility = [ ":*" ] # Only targets in this file can depend on this. 118 visibility = [ ":*" ] # Only targets in this file can depend on this.
98 119
99 defines = [] 120 defines = []
100 cflags = [] 121 cflags = []
101 122
102 # TODO(jochen): Add support for arm, mips, mipsel. 123 # TODO(jochen): Add support for arm, mips, mipsel.
103 124
104 if (v8_target_arch == "arm64") { 125 if (v8_target_arch == "arm64") {
105 defines += [ "V8_TARGET_ARCH_ARM64" ] 126 defines += [
127 "V8_TARGET_ARCH_ARM64",
128 ]
106 } 129 }
107 if (v8_target_arch == "x86") { 130 if (v8_target_arch == "x86") {
108 defines += [ "V8_TARGET_ARCH_IA32" ] 131 defines += [
132 "V8_TARGET_ARCH_IA32",
133 ]
109 } 134 }
110 if (v8_target_arch == "x64") { 135 if (v8_target_arch == "x64") {
111 defines += [ "V8_TARGET_ARCH_X64" ] 136 defines += [
137 "V8_TARGET_ARCH_X64",
138 ]
112 } 139 }
113 if (is_win) { 140 if (is_win) {
114 defines += [ "WIN32" ] 141 defines += [
142 "WIN32",
143 ]
115 # TODO(jochen): Support v8_enable_prof. 144 # TODO(jochen): Support v8_enable_prof.
116 } 145 }
117 146
118 # TODO(jochen): Add support for compiling with simulators. 147 # TODO(jochen): Add support for compiling with simulators.
119 148
120 if (is_debug) { 149 if (is_debug) {
121 # TODO(jochen): Add support for different debug optimization levels. 150 # TODO(jochen): Add support for different debug optimization levels.
122 defines += [ 151 defines += [
123 "ENABLE_DISASSEMBLER", 152 "ENABLE_DISASSEMBLER",
124 "V8_ENABLE_CHECKS", 153 "V8_ENABLE_CHECKS",
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 "src/json.js", 196 "src/json.js",
168 "src/array-iterator.js", 197 "src/array-iterator.js",
169 "src/string-iterator.js", 198 "src/string-iterator.js",
170 "src/debug-debugger.js", 199 "src/debug-debugger.js",
171 "src/mirror-debugger.js", 200 "src/mirror-debugger.js",
172 "src/liveedit-debugger.js", 201 "src/liveedit-debugger.js",
173 "src/macros.py", 202 "src/macros.py",
174 ] 203 ]
175 204
176 outputs = [ 205 outputs = [
177 "$target_gen_dir/libraries.cc", 206 "$target_gen_dir/libraries.cc"
178 ] 207 ]
179 208
180 if (v8_enable_i18n_support) { 209 if (v8_enable_i18n_support) {
181 sources += [ "src/i18n.js" ] 210 sources += [ "src/i18n.js" ]
182 } 211 }
183 212
184 args = [ 213 args = [
185 rebase_path("$target_gen_dir/libraries.cc", root_build_dir), 214 rebase_path("$target_gen_dir/libraries.cc", root_build_dir),
186 "CORE", 215 "CORE",
187 ] + rebase_path(sources, root_build_dir) 216 ] + rebase_path(sources, root_build_dir)
188 217
189 if (v8_use_external_startup_data) { 218 if (v8_use_external_startup_data) {
190 outputs += [ "$target_gen_dir/libraries.bin" ] 219 outputs += [ "$target_gen_dir/libraries.bin" ]
191 args += [ 220 args += [
192 "--startup_blob", 221 "--startup_blob",
193 rebase_path("$target_gen_dir/libraries.bin", root_build_dir), 222 rebase_path("$target_gen_dir/libraries.bin", root_build_dir)
194 ] 223 ]
195 } 224 }
196 } 225 }
197 226
198 action("d8_js2c") {
199 visibility = [ ":*" ] # Only targets in this file can depend on this.
200
201 script = "tools/js2c.py"
202
203 inputs = [
204 "src/d8.js",
205 "src/macros.py",
206 ]
207 outputs = [
208 "$target_gen_dir/d8-js.cc",
209 ]
210
211 args = rebase_path(outputs, root_build_dir) + [ "D8" ] +
212 rebase_path(inputs, root_build_dir)
213 }
214
215 action("js2c_experimental") { 227 action("js2c_experimental") {
216 visibility = [ ":*" ] # Only targets in this file can depend on this. 228 visibility = [ ":*" ] # Only targets in this file can depend on this.
217 229
218 script = "tools/js2c.py" 230 script = "tools/js2c.py"
219 231
220 # The script depends on this other script, this rule causes a rebuild if it 232 # The script depends on this other script, this rule causes a rebuild if it
221 # changes. 233 # changes.
222 source_prereqs = [ "tools/jsmin.py" ] 234 source_prereqs = [ "tools/jsmin.py" ]
223 235
224 sources = [ 236 sources = [
225 "src/macros.py", 237 "src/macros.py",
226 "src/proxy.js", 238 "src/proxy.js",
227 "src/generator.js", 239 "src/generator.js",
228 "src/harmony-string.js", 240 "src/harmony-string.js",
229 "src/harmony-array.js", 241 "src/harmony-array.js",
230 "src/harmony-array-includes.js", 242 "src/harmony-array-includes.js",
231 "src/harmony-typedarray.js", 243 "src/harmony-typedarray.js",
232 "src/harmony-classes.js", 244 "src/harmony-classes.js",
233 "src/harmony-tostring.js", 245 "src/harmony-tostring.js",
234 "src/harmony-templates.js", 246 "src/harmony-templates.js",
235 "src/harmony-regexp.js", 247 "src/harmony-regexp.js"
236 ] 248 ]
237 249
238 outputs = [ 250 outputs = [
239 "$target_gen_dir/experimental-libraries.cc", 251 "$target_gen_dir/experimental-libraries.cc"
240 ] 252 ]
241 253
242 args = [ 254 args = [
243 rebase_path("$target_gen_dir/experimental-libraries.cc", 255 rebase_path("$target_gen_dir/experimental-libraries.cc", root_build_dir),
244 root_build_dir), 256 "EXPERIMENTAL",
245 "EXPERIMENTAL", 257 ] + rebase_path(sources, root_build_dir)
246 ] + rebase_path(sources, root_build_dir)
247 258
248 if (v8_use_external_startup_data) { 259 if (v8_use_external_startup_data) {
249 outputs += [ "$target_gen_dir/libraries_experimental.bin" ] 260 outputs += [ "$target_gen_dir/libraries_experimental.bin" ]
250 args += [ 261 args += [
251 "--startup_blob", 262 "--startup_blob",
252 rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir), 263 rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir)
253 ] 264 ]
254 } 265 }
255 } 266 }
256 267
257 if (v8_use_external_startup_data) { 268 if (v8_use_external_startup_data) {
258 action("natives_blob") { 269 action("natives_blob") {
259 visibility = [ ":*" ] # Only targets in this file can depend on this. 270 visibility = [ ":*" ] # Only targets in this file can depend on this.
260 271
261 deps = [ 272 deps = [
262 ":js2c", 273 ":js2c",
263 ":js2c_experimental", 274 ":js2c_experimental"
264 ] 275 ]
265 276
266 sources = [ 277 sources = [
267 "$target_gen_dir/libraries.bin", 278 "$target_gen_dir/libraries.bin",
268 "$target_gen_dir/libraries_experimental.bin", 279 "$target_gen_dir/libraries_experimental.bin"
269 ] 280 ]
270 281
271 outputs = [ 282 outputs = [
272 "$root_out_dir/natives_blob.bin", 283 "$root_out_dir/natives_blob.bin"
273 ] 284 ]
274 285
275 script = "tools/concatenate-files.py" 286 script = "tools/concatenate-files.py"
276 287
277 args = rebase_path(sources + outputs, root_build_dir) 288 args = rebase_path(sources + outputs, root_build_dir)
278 } 289 }
279 } 290 }
280 291
281 action("postmortem-metadata") { 292 action("postmortem-metadata") {
282 visibility = [ ":*" ] # Only targets in this file can depend on this. 293 visibility = [ ":*" ] # Only targets in this file can depend on this.
283 294
284 script = "tools/gen-postmortem-metadata.py" 295 script = "tools/gen-postmortem-metadata.py"
285 296
286 sources = [ 297 sources = [
287 "src/objects.h", 298 "src/objects.h",
288 "src/objects-inl.h", 299 "src/objects-inl.h",
289 ] 300 ]
290 301
291 outputs = [ 302 outputs = [
292 "$target_gen_dir/debug-support.cc", 303 "$target_gen_dir/debug-support.cc"
293 ] 304 ]
294 305
295 args = rebase_path(outputs, root_build_dir) + 306 args =
296 rebase_path(sources, root_build_dir) 307 rebase_path(outputs, root_build_dir) +
308 rebase_path(sources, root_build_dir)
297 } 309 }
298 310
299 action("run_mksnapshot") { 311 action("run_mksnapshot") {
300 visibility = [ ":*" ] # Only targets in this file can depend on this. 312 visibility = [ ":*" ] # Only targets in this file can depend on this.
301 313
302 deps = [ 314 deps = [ ":mksnapshot($host_toolchain)" ]
303 ":mksnapshot($host_toolchain)",
304 ]
305 315
306 script = "tools/run.py" 316 script = "tools/run.py"
307 317
308 outputs = [ 318 outputs = [
309 "$target_gen_dir/snapshot.cc", 319 "$target_gen_dir/snapshot.cc"
310 ] 320 ]
311 321
312 args = [ 322 args = [
313 "./" + rebase_path(get_label_info(":mksnapshot($host_toolchain)", 323 "./" + rebase_path(get_label_info(":mksnapshot($host_toolchain)",
314 "root_out_dir") + "/mksnapshot", 324 "root_out_dir") + "/mksnapshot",
315 root_build_dir), 325 root_build_dir),
316 "--log-snapshot-positions", 326 "--log-snapshot-positions",
317 "--logfile", 327 "--logfile", rebase_path("$target_gen_dir/snapshot.log", root_build_dir),
318 rebase_path("$target_gen_dir/snapshot.log", root_build_dir), 328 rebase_path("$target_gen_dir/snapshot.cc", root_build_dir)
319 rebase_path("$target_gen_dir/snapshot.cc", root_build_dir),
320 ] 329 ]
321 330
322 if (v8_random_seed != "0") { 331 if (v8_random_seed != "0") {
323 args += [ 332 args += [ "--random-seed", v8_random_seed ]
324 "--random-seed",
325 v8_random_seed,
326 ]
327 } 333 }
328 334
329 if (v8_use_external_startup_data) { 335 if (v8_use_external_startup_data) {
330 outputs += [ "$root_out_dir/snapshot_blob.bin" ] 336 outputs += [ "$root_out_dir/snapshot_blob.bin" ]
331 args += [ 337 args += [
332 "--startup_blob", 338 "--startup_blob",
333 rebase_path("$root_out_dir/snapshot_blob.bin", root_build_dir), 339 rebase_path("$root_out_dir/snapshot_blob.bin", root_build_dir)
334 ] 340 ]
335 } 341 }
336 } 342 }
337 343
344
338 ############################################################################### 345 ###############################################################################
339 # Source Sets (aka static libraries) 346 # Source Sets (aka static libraries)
340 # 347 #
341 348
342 source_set("v8_nosnapshot") { 349 source_set("v8_nosnapshot") {
343 visibility = [ ":*" ] # Only targets in this file can depend on this. 350 visibility = [ ":*" ] # Only targets in this file can depend on this.
344 351
345 deps = [ 352 deps = [
346 ":js2c", 353 ":js2c",
347 ":js2c_experimental", 354 ":js2c_experimental",
348 ":v8_base", 355 ":v8_base",
349 ] 356 ]
350 357
351 sources = [ 358 sources = [
352 "$target_gen_dir/libraries.cc", 359 "$target_gen_dir/libraries.cc",
353 "$target_gen_dir/experimental-libraries.cc", 360 "$target_gen_dir/experimental-libraries.cc",
354 "src/snapshot-empty.cc", 361 "src/snapshot-empty.cc",
355 ] 362 ]
356 363
357 configs -= [ "//build/config/compiler:chromium_code" ] 364 configs -= [ "//build/config/compiler:chromium_code" ]
358 configs += [ "//build/config/compiler:no_chromium_code" ] 365 configs += [ "//build/config/compiler:no_chromium_code" ]
359 configs += [ 366 configs += [ ":internal_config", ":features", ":toolchain" ]
360 ":internal_config",
361 ":features",
362 ":toolchain",
363 ]
364 } 367 }
365 368
366 source_set("v8_snapshot") { 369 source_set("v8_snapshot") {
367 visibility = [ ":*" ] # Only targets in this file can depend on this. 370 visibility = [ ":*" ] # Only targets in this file can depend on this.
368 371
369 deps = [ 372 deps = [
370 ":js2c", 373 ":js2c",
371 ":js2c_experimental", 374 ":js2c_experimental",
372 ":run_mksnapshot", 375 ":run_mksnapshot",
373 ":v8_base", 376 ":v8_base",
374 ] 377 ]
375 378
376 sources = [ 379 sources = [
377 "$target_gen_dir/libraries.cc", 380 "$target_gen_dir/libraries.cc",
378 "$target_gen_dir/experimental-libraries.cc", 381 "$target_gen_dir/experimental-libraries.cc",
379 "$target_gen_dir/snapshot.cc", 382 "$target_gen_dir/snapshot.cc",
380 ] 383 ]
381 384
382 configs -= [ "//build/config/compiler:chromium_code" ] 385 configs -= [ "//build/config/compiler:chromium_code" ]
383 configs += [ "//build/config/compiler:no_chromium_code" ] 386 configs += [ "//build/config/compiler:no_chromium_code" ]
384 configs += [ 387 configs += [ ":internal_config", ":features", ":toolchain" ]
385 ":internal_config",
386 ":features",
387 ":toolchain",
388 ]
389 } 388 }
390 389
391 if (v8_use_external_startup_data) { 390 if (v8_use_external_startup_data) {
392 source_set("v8_external_snapshot") { 391 source_set("v8_external_snapshot") {
393 visibility = [ ":*" ] # Only targets in this file can depend on this. 392 visibility = [ ":*" ] # Only targets in this file can depend on this.
394 393
395 deps = [ 394 deps = [
396 ":js2c", 395 ":js2c",
397 ":js2c_experimental", 396 ":js2c_experimental",
398 ":run_mksnapshot", 397 ":run_mksnapshot",
399 ":v8_base", 398 ":v8_base",
400 ":natives_blob", 399 ":natives_blob",
401 ] 400 ]
402 401
403 sources = [ 402 sources = [
404 "src/natives-external.cc", 403 "src/natives-external.cc",
405 "src/snapshot-external.cc", 404 "src/snapshot-external.cc",
406 ] 405 ]
407 406
408 configs -= [ "//build/config/compiler:chromium_code" ] 407 configs -= [ "//build/config/compiler:chromium_code" ]
409 configs += [ "//build/config/compiler:no_chromium_code" ] 408 configs += [ "//build/config/compiler:no_chromium_code" ]
410 configs += [ 409 configs += [ ":internal_config", ":features", ":toolchain" ]
411 ":internal_config",
412 ":features",
413 ":toolchain",
414 ]
415 } 410 }
416 } 411 }
417 412
418 source_set("v8_base") { 413 source_set("v8_base") {
419 visibility = [ ":*" ] # Only targets in this file can depend on this. 414 visibility = [ ":*" ] # Only targets in this file can depend on this.
420 415
421 sources = [ 416 sources = [
422 "src/accessors.cc", 417 "src/accessors.cc",
423 "src/accessors.h", 418 "src/accessors.h",
424 "src/allocation.cc", 419 "src/allocation.cc",
(...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after
1207 "src/ic/mips64/access-compiler-mips64.cc", 1202 "src/ic/mips64/access-compiler-mips64.cc",
1208 "src/ic/mips64/handler-compiler-mips64.cc", 1203 "src/ic/mips64/handler-compiler-mips64.cc",
1209 "src/ic/mips64/ic-mips64.cc", 1204 "src/ic/mips64/ic-mips64.cc",
1210 "src/ic/mips64/ic-compiler-mips64.cc", 1205 "src/ic/mips64/ic-compiler-mips64.cc",
1211 "src/ic/mips64/stub-cache-mips64.cc", 1206 "src/ic/mips64/stub-cache-mips64.cc",
1212 ] 1207 ]
1213 } 1208 }
1214 1209
1215 configs -= [ "//build/config/compiler:chromium_code" ] 1210 configs -= [ "//build/config/compiler:chromium_code" ]
1216 configs += [ "//build/config/compiler:no_chromium_code" ] 1211 configs += [ "//build/config/compiler:no_chromium_code" ]
1217 configs += [ 1212 configs += [ ":internal_config", ":features", ":toolchain" ]
1218 ":internal_config",
1219 ":features",
1220 ":toolchain",
1221 ]
1222 1213
1223 if (!is_debug) { 1214 if (!is_debug) {
1224 configs -= [ "//build/config/compiler:optimize" ] 1215 configs -= [ "//build/config/compiler:optimize" ]
1225 configs += [ "//build/config/compiler:optimize_max" ] 1216 configs += [ "//build/config/compiler:optimize_max" ]
1226 } 1217 }
1227 1218
1228 defines = [] 1219 defines = []
1229 deps = [ 1220 deps = [ ":v8_libbase" ]
1230 ":v8_libbase",
1231 ]
1232 1221
1233 if (is_win) { 1222 if (is_win) {
1234 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1223 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1235 cflags = [ "/wd4267" ] 1224 cflags = [ "/wd4267" ]
1236 } 1225 }
1237 1226
1238 if (v8_enable_i18n_support) { 1227 if (v8_enable_i18n_support) {
1239 deps += [ "//third_party/icu" ] 1228 deps += [ "//third_party/icu" ]
1240 if (is_win) { 1229 if (is_win) {
1241 deps += [ "//third_party/icu:icudata" ] 1230 deps += [ "//third_party/icu:icudata" ]
1242 } 1231 }
1243
1244 # TODO(jochen): Add support for icu_use_data_file_flag 1232 # TODO(jochen): Add support for icu_use_data_file_flag
1245 defines += [ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE" ] 1233 defines += [ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE" ]
1246 } else { 1234 } else {
1247 sources -= [ 1235 sources -= [
1248 "src/i18n.cc", 1236 "src/i18n.cc",
1249 "src/i18n.h", 1237 "src/i18n.h",
1250 ] 1238 ]
1251 } 1239 }
1252 1240
1253 if (v8_postmortem_support) { 1241 if (v8_postmortem_support) {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1302 "src/base/safe_math.h", 1290 "src/base/safe_math.h",
1303 "src/base/safe_math_impl.h", 1291 "src/base/safe_math_impl.h",
1304 "src/base/sys-info.cc", 1292 "src/base/sys-info.cc",
1305 "src/base/sys-info.h", 1293 "src/base/sys-info.h",
1306 "src/base/utils/random-number-generator.cc", 1294 "src/base/utils/random-number-generator.cc",
1307 "src/base/utils/random-number-generator.h", 1295 "src/base/utils/random-number-generator.h",
1308 ] 1296 ]
1309 1297
1310 configs -= [ "//build/config/compiler:chromium_code" ] 1298 configs -= [ "//build/config/compiler:chromium_code" ]
1311 configs += [ "//build/config/compiler:no_chromium_code" ] 1299 configs += [ "//build/config/compiler:no_chromium_code" ]
1312 configs += [ 1300 configs += [ ":internal_config_base", ":features", ":toolchain" ]
1313 ":internal_config_base",
1314 ":features",
1315 ":toolchain",
1316 ]
1317 1301
1318 if (!is_debug) { 1302 if (!is_debug) {
1319 configs -= [ "//build/config/compiler:optimize" ] 1303 configs -= [ "//build/config/compiler:optimize" ]
1320 configs += [ "//build/config/compiler:optimize_max" ] 1304 configs += [ "//build/config/compiler:optimize_max" ]
1321 } 1305 }
1322 1306
1323 defines = [] 1307 defines = []
1324 1308
1325 if (is_posix) { 1309 if (is_posix) {
1326 sources += [ "src/base/platform/platform-posix.cc" ] 1310 sources += [
1311 "src/base/platform/platform-posix.cc"
1312 ]
1327 } 1313 }
1328 1314
1329 if (is_linux) { 1315 if (is_linux) {
1330 sources += [ "src/base/platform/platform-linux.cc" ] 1316 sources += [
1317 "src/base/platform/platform-linux.cc"
1318 ]
1331 1319
1332 libs = [ "rt" ] 1320 libs = [ "rt" ]
1333 } else if (is_android) { 1321 } else if (is_android) {
1334 defines += [ "CAN_USE_VFP_INSTRUCTIONS" ] 1322 defines += [ "CAN_USE_VFP_INSTRUCTIONS" ]
1335 1323
1336 if (build_os == "mac") { 1324 if (build_os == "mac") {
1337 if (current_toolchain == host_toolchain) { 1325 if (current_toolchain == host_toolchain) {
1338 sources += [ "src/base/platform/platform-macos.cc" ] 1326 sources += [ "src/base/platform/platform-macos.cc" ]
1339 } else { 1327 } else {
1340 sources += [ "src/base/platform/platform-linux.cc" ] 1328 sources += [ "src/base/platform/platform-linux.cc" ]
1341 } 1329 }
1342 } else { 1330 } else {
1343 sources += [ "src/base/platform/platform-linux.cc" ] 1331 sources += [ "src/base/platform/platform-linux.cc" ]
1344 if (current_toolchain == host_toolchain) { 1332 if (current_toolchain == host_toolchain) {
1345 defines += [ "V8_LIBRT_NOT_AVAILABLE" ] 1333 defines += [ "V8_LIBRT_NOT_AVAILABLE" ]
1346 } 1334 }
1347 } 1335 }
1348 } else if (is_mac) { 1336 } else if (is_mac) {
1349 sources += [ "src/base/platform/platform-macos.cc" ] 1337 sources += [ "src/base/platform/platform-macos.cc" ]
1350 } else if (is_win) { 1338 } else if (is_win) {
1351 # TODO(jochen): Add support for cygwin. 1339 # TODO(jochen): Add support for cygwin.
1352 sources += [ 1340 sources += [
1353 "src/base/platform/platform-win32.cc", 1341 "src/base/platform/platform-win32.cc",
1354 "src/base/win32-headers.h", 1342 "src/base/win32-headers.h",
1355 ] 1343 ]
1356 1344
1357 defines += [ "_CRT_RAND_S" ] # for rand_s() 1345 defines += [ "_CRT_RAND_S" ] # for rand_s()
1358 1346
1359 libs = [ 1347 libs = [ "winmm.lib", "ws2_32.lib" ]
1360 "winmm.lib",
1361 "ws2_32.lib",
1362 ]
1363 } 1348 }
1364 1349
1365 # TODO(jochen): Add support for qnx, freebsd, openbsd, netbsd, and solaris. 1350 # TODO(jochen): Add support for qnx, freebsd, openbsd, netbsd, and solaris.
1366 } 1351 }
1367 1352
1368 source_set("v8_libplatform") { 1353 source_set("v8_libplatform") {
1369 sources = [ 1354 sources = [
1370 "include/libplatform/libplatform.h", 1355 "include/libplatform/libplatform.h",
1371 "src/libplatform/default-platform.cc", 1356 "src/libplatform/default-platform.cc",
1372 "src/libplatform/default-platform.h", 1357 "src/libplatform/default-platform.h",
1373 "src/libplatform/task-queue.cc", 1358 "src/libplatform/task-queue.cc",
1374 "src/libplatform/task-queue.h", 1359 "src/libplatform/task-queue.h",
1375 "src/libplatform/worker-thread.cc", 1360 "src/libplatform/worker-thread.cc",
1376 "src/libplatform/worker-thread.h", 1361 "src/libplatform/worker-thread.h",
1377 ] 1362 ]
1378 1363
1379 configs -= [ "//build/config/compiler:chromium_code" ] 1364 configs -= [ "//build/config/compiler:chromium_code" ]
1380 configs += [ "//build/config/compiler:no_chromium_code" ] 1365 configs += [ "//build/config/compiler:no_chromium_code" ]
1381 configs += [ 1366 configs += [ ":internal_config_base", ":features", ":toolchain" ]
1382 ":internal_config_base",
1383 ":features",
1384 ":toolchain",
1385 ]
1386 1367
1387 if (!is_debug) { 1368 if (!is_debug) {
1388 configs -= [ "//build/config/compiler:optimize" ] 1369 configs -= [ "//build/config/compiler:optimize" ]
1389 configs += [ "//build/config/compiler:optimize_max" ] 1370 configs += [ "//build/config/compiler:optimize_max" ]
1390 } 1371 }
1391 1372
1392 deps = [ 1373 deps = [
1393 ":v8_libbase", 1374 ":v8_libbase",
1394 ] 1375 ]
1395 } 1376 }
1396 1377
1397 ############################################################################### 1378 ###############################################################################
1398 # Executables 1379 # Executables
1399 # 1380 #
1400 1381
1401 if (current_toolchain == host_toolchain) { 1382 if (current_toolchain == host_toolchain) {
1402 executable("mksnapshot") { 1383 executable("mksnapshot") {
1403 visibility = [ ":*" ] # Only targets in this file can depend on this. 1384 visibility = [ ":*" ] # Only targets in this file can depend on this.
1404 1385
1405 sources = [ 1386 sources = [
1406 "src/mksnapshot.cc", 1387 "src/mksnapshot.cc",
1407 ] 1388 ]
1408 1389
1409 configs -= [ "//build/config/compiler:chromium_code" ] 1390 configs -= [ "//build/config/compiler:chromium_code" ]
1410 configs += [ "//build/config/compiler:no_chromium_code" ] 1391 configs += [ "//build/config/compiler:no_chromium_code" ]
1411 configs += [ 1392 configs += [ ":internal_config", ":features", ":toolchain" ]
1412 ":internal_config",
1413 ":features",
1414 ":toolchain",
1415 ]
1416 1393
1417 deps = [ 1394 deps = [
1418 ":v8_base", 1395 ":v8_base",
1419 ":v8_libplatform", 1396 ":v8_libplatform",
1420 ":v8_nosnapshot", 1397 ":v8_nosnapshot",
1421 "//build/config/sanitizers:deps", 1398 "//build/config/sanitizers:deps",
1422 ] 1399 ]
1423 } 1400 }
1424
1425 executable("d8") {
1426 sources = [
1427 "src/d8.cc",
1428 ]
1429 deps = [
1430 ":d8_js2c",
1431 ":v8",
1432 ":v8_libplatform",
1433 ]
1434
1435 configs += [
1436 ":internal_config",
1437 ":features",
1438 ":toolchain",
1439 ]
1440
1441 # TODO(GYP): Build option for readline support.
1442
1443 if (is_posix) {
1444 sources += [ "src/d8-posix.cc" ]
1445 } else if (is_win) {
1446 sources += [ "src/d8-windows.cc" ]
1447 }
1448
1449 if (component_mode != "shared_library") {
1450 sources += [
1451 "src/d8-debug.cc",
1452 "$target_gen_dir/d8-js.cc",
1453 ]
1454 }
1455 if (v8_enable_i18n_support) {
1456 deps += [ "//third_party/icu" ]
1457 }
1458
1459 # TODO(GYP) v8_enable_vtunejit support in d8.
1460 }
1461 } 1401 }
1462 1402
1463 ############################################################################### 1403 ###############################################################################
1464 # Public targets 1404 # Public targets
1465 # 1405 #
1466 1406
1467 if (component_mode == "shared_library") { 1407 if (component_mode == "shared_library") {
1468 component("v8") { 1408
1469 sources = [ 1409 component("v8") {
1470 "src/v8dll-main.cc", 1410 sources = [
1411 "src/v8dll-main.cc",
1412 ]
1413
1414 if (v8_use_snapshot && v8_use_external_startup_data) {
1415 deps = [
1416 ":v8_base",
1417 ":v8_external_snapshot",
1471 ] 1418 ]
1419 } else if (v8_use_snapshot) {
1420 deps = [
1421 ":v8_base",
1422 ":v8_snapshot",
1423 ]
1424 } else {
1425 assert(!v8_use_external_startup_data)
1426 deps = [
1427 ":v8_base",
1428 ":v8_nosnapshot",
1429 ]
1430 }
1472 1431
1473 if (v8_use_snapshot && v8_use_external_startup_data) { 1432 configs -= [ "//build/config/compiler:chromium_code" ]
1474 deps = [ 1433 configs += [ "//build/config/compiler:no_chromium_code" ]
1475 ":v8_base", 1434 configs += [ ":internal_config", ":features", ":toolchain" ]
1476 ":v8_external_snapshot",
1477 ]
1478 } else if (v8_use_snapshot) {
1479 deps = [
1480 ":v8_base",
1481 ":v8_snapshot",
1482 ]
1483 } else {
1484 assert(!v8_use_external_startup_data)
1485 deps = [
1486 ":v8_base",
1487 ":v8_nosnapshot",
1488 ]
1489 }
1490 1435
1491 configs -= [ "//build/config/compiler:chromium_code" ] 1436 direct_dependent_configs = [ ":external_config" ]
1492 configs += [ "//build/config/compiler:no_chromium_code" ]
1493 configs += [
1494 ":internal_config",
1495 ":features",
1496 ":toolchain",
1497 ]
1498 1437
1499 direct_dependent_configs = [ ":external_config" ] 1438 libs = []
1500 1439 if (is_android && current_toolchain != host_toolchain) {
1501 libs = [] 1440 libs += [ "log" ]
1502 if (is_android && current_toolchain != host_toolchain) {
1503 libs += [ "log" ]
1504 }
1505 }
1506 } else {
1507 group("v8") {
1508 if (v8_use_snapshot && v8_use_external_startup_data) {
1509 deps = [
1510 ":v8_base",
1511 ":v8_external_snapshot",
1512 ]
1513 } else if (v8_use_snapshot) {
1514 deps = [
1515 ":v8_base",
1516 ":v8_snapshot",
1517 ]
1518 } else {
1519 assert(!v8_use_external_startup_data)
1520 deps = [
1521 ":v8_base",
1522 ":v8_nosnapshot",
1523 ]
1524 }
1525
1526 direct_dependent_configs = [ ":external_config" ]
1527 } 1441 }
1528 } 1442 }
1443
1444 } else {
1445
1446 group("v8") {
1447 if (v8_use_snapshot && v8_use_external_startup_data) {
1448 deps = [
1449 ":v8_base",
1450 ":v8_external_snapshot",
1451 ]
1452 } else if (v8_use_snapshot) {
1453 deps = [
1454 ":v8_base",
1455 ":v8_snapshot",
1456 ]
1457 } else {
1458 assert(!v8_use_external_startup_data)
1459 deps = [
1460 ":v8_base",
1461 ":v8_nosnapshot",
1462 ]
1463 }
1464
1465 direct_dependent_configs = [ ":external_config" ]
1466 }
1467
1468 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698