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