| OLD | NEW |
| 1 # Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 # Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 # for details. All rights reserved. Use of this source code is governed by a | 2 # for details. All rights reserved. Use of this source code is governed by a |
| 3 # BSD-style license that can be found in the LICENSE file. | 3 # BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import("gypi_contents.gni") |
| 6 |
| 5 declare_args() { | 7 declare_args() { |
| 6 # Whether to fall back to built-in root certificates when they cannot be | 8 # Whether to fall back to built-in root certificates when they cannot be |
| 7 # verified at the operating system level. | 9 # verified at the operating system level. |
| 8 dart_use_fallback_root_certificates = false | 10 dart_use_fallback_root_certificates = false |
| 9 | 11 |
| 10 # The BUILD.gn file that we pull from chromium as part of zlib has a | 12 # The BUILD.gn file that we pull from chromium as part of zlib has a |
| 11 # dependence on //base, which we don't pull in. In a standalone build of the | 13 # dependence on //base, which we don't pull in. In a standalone build of the |
| 12 # VM, we set this to //runtime/bin/zlib where we have a BUILD.gn file without | 14 # VM, we set this to //runtime/bin/zlib where we have a BUILD.gn file without |
| 13 # a dependence on //base. | 15 # a dependence on //base. |
| 14 dart_zlib_path = "//third_party/zlib" | 16 dart_zlib_path = "//third_party/zlib" |
| 15 | 17 |
| 16 # Whether to link the standalone VM against tcmalloc. The standalone build of | 18 # Whether to link the standalone VM against tcmalloc. The standalone build of |
| 17 # the VM enables this only for Linux builds. | 19 # the VM enables this only for Linux builds. |
| 18 dart_use_tcmalloc = false | 20 dart_use_tcmalloc = false |
| 19 } | 21 } |
| 20 | 22 |
| 21 resources_sources_gypi = | |
| 22 exec_script("../../tools/gypi_to_gn.py", | |
| 23 [ rebase_path("vmservice/vmservice_sources.gypi") ], | |
| 24 "scope", | |
| 25 [ "vmservice/vmservice_sources.gypi" ]) | |
| 26 | |
| 27 # Generate a resources.cc file for the service isolate without Observatory. | 23 # Generate a resources.cc file for the service isolate without Observatory. |
| 28 action("gen_resources_cc") { | 24 action("gen_resources_cc") { |
| 29 visibility = [ ":*" ] # Only targets in this file can see this. | 25 visibility = [ ":*" ] # Only targets in this file can see this. |
| 30 script = "../tools/create_resources.py" | 26 script = "../tools/create_resources.py" |
| 31 inputs = [ | 27 inputs = [ |
| 32 "../tools/create_resources.py", | 28 "../tools/create_resources.py", |
| 33 ] | 29 ] |
| 34 | 30 |
| 35 # The path below is hard coded for the Mojo and Flutter trees. When moving | 31 # The path below is hard coded for the Mojo and Flutter trees. When moving |
| 36 # the Dart runtime to gn, this path might need to be updated. | 32 # the Dart runtime to gn, this path might need to be updated. |
| 37 sources = rebase_path(resources_sources_gypi.sources, "", "../bin/vmservice/") | 33 sources = rebase_path(resources_sources_gypi, "", "../bin/vmservice/") |
| 38 outputs = [ | 34 outputs = [ |
| 39 "$target_gen_dir/resources_gen.cc", | 35 "$target_gen_dir/resources_gen.cc", |
| 40 ] | 36 ] |
| 41 args = [ | 37 args = [ |
| 42 "--output", | 38 "--output", |
| 43 rebase_path("$target_gen_dir/resources_gen.cc", root_build_dir), | 39 rebase_path("$target_gen_dir/resources_gen.cc", root_build_dir), |
| 44 "--outer_namespace", | 40 "--outer_namespace", |
| 45 "dart", | 41 "dart", |
| 46 "--inner_namespace", | 42 "--inner_namespace", |
| 47 "bin", | 43 "bin", |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 "--include", | 75 "--include", |
| 80 "bin/builtin.h", | 76 "bin/builtin.h", |
| 81 "--var_name", | 77 "--var_name", |
| 82 "dart::bin::Builtin::${name}_${kind}_paths_", | 78 "dart::bin::Builtin::${name}_${kind}_paths_", |
| 83 "--library_name", | 79 "--library_name", |
| 84 library_name, | 80 library_name, |
| 85 ] + rebase_path(invoker.sources, root_build_dir) | 81 ] + rebase_path(invoker.sources, root_build_dir) |
| 86 } | 82 } |
| 87 } | 83 } |
| 88 | 84 |
| 89 builtin_sources_gypi = exec_script("../../tools/gypi_to_gn.py", | |
| 90 [ rebase_path("builtin_sources.gypi") ], | |
| 91 "scope", | |
| 92 [ "builtin_sources.gypi" ]) | |
| 93 | |
| 94 gen_library_src_path("generate_builtin_cc_file") { | 85 gen_library_src_path("generate_builtin_cc_file") { |
| 95 name = "_builtin" | 86 name = "_builtin" |
| 96 kind = "source" | 87 kind = "source" |
| 97 sources = builtin_sources_gypi.sources | 88 sources = builtin_sources_gypi |
| 98 output = "$target_gen_dir/builtin_gen.cc" | 89 output = "$target_gen_dir/builtin_gen.cc" |
| 99 } | 90 } |
| 100 | 91 |
| 101 sdk_io_sources_gypi = | 92 sdk_io_sources_gypi = |
| 102 exec_script("../../tools/gypi_to_gn.py", | 93 exec_script("../../tools/gypi_to_gn.py", |
| 103 [ rebase_path("../../sdk/lib/io/io_sources.gypi") ], | 94 [ rebase_path("../../sdk/lib/io/io_sources.gypi") ], |
| 104 "scope", | 95 "scope", |
| 105 [ "../../sdk/lib/io/io_sources.gypi" ]) | 96 [ "../../sdk/lib/io/io_sources.gypi" ]) |
| 106 sdk_io_sources = | 97 sdk_io_sources = |
| 107 rebase_path(sdk_io_sources_gypi.sources, ".", "../../sdk/lib/io") | 98 rebase_path(sdk_io_sources_gypi.sources, ".", "../../sdk/lib/io") |
| 108 | 99 |
| 109 gen_library_src_path("generate_io_cc_file") { | 100 gen_library_src_path("generate_io_cc_file") { |
| 110 name = "io" | 101 name = "io" |
| 111 kind = "source" | 102 kind = "source" |
| 112 sources = [ "../../sdk/lib/io/io.dart" ] + sdk_io_sources | 103 sources = [ "../../sdk/lib/io/io.dart" ] + sdk_io_sources |
| 113 output = "$target_gen_dir/io_gen.cc" | 104 output = "$target_gen_dir/io_gen.cc" |
| 114 } | 105 } |
| 115 | 106 |
| 116 io_sources_gypi = exec_script("../../tools/gypi_to_gn.py", | |
| 117 [ rebase_path("io_sources.gypi") ], | |
| 118 "scope", | |
| 119 [ "io_sources.gypi" ]) | |
| 120 | |
| 121 gen_library_src_path("generate_io_patch_cc_file") { | 107 gen_library_src_path("generate_io_patch_cc_file") { |
| 122 name = "io" | 108 name = "io" |
| 123 kind = "patch" | 109 kind = "patch" |
| 124 sources = io_sources_gypi.sources | 110 sources = io_sources_gypi |
| 125 output = "$target_gen_dir/io_patch_gen.cc" | 111 output = "$target_gen_dir/io_patch_gen.cc" |
| 126 } | 112 } |
| 127 | 113 |
| 128 gen_library_src_path("generate_html_cc_file") { | 114 gen_library_src_path("generate_html_cc_file") { |
| 129 name = "html" | 115 name = "html" |
| 130 kind = "source" | 116 kind = "source" |
| 131 sources = [ | 117 sources = [ |
| 132 "../../sdk/lib/html/dartium/html_dartium.dart", | 118 "../../sdk/lib/html/dartium/html_dartium.dart", |
| 133 ] | 119 ] |
| 134 output = "$target_gen_dir/html_gen.cc" | 120 output = "$target_gen_dir/html_gen.cc" |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 libs = [ "dl" ] | 232 libs = [ "dl" ] |
| 247 } | 233 } |
| 248 if (is_android) { | 234 if (is_android) { |
| 249 libs += [ | 235 libs += [ |
| 250 "android", | 236 "android", |
| 251 "log", | 237 "log", |
| 252 ] | 238 ] |
| 253 } | 239 } |
| 254 } | 240 } |
| 255 | 241 |
| 256 builtin_impl_sources_gypi = | |
| 257 exec_script("../../tools/gypi_to_gn.py", | |
| 258 [ rebase_path("builtin_impl_sources.gypi") ], | |
| 259 "scope", | |
| 260 [ "builtin_impl_sources.gypi" ]) | |
| 261 | |
| 262 static_library("libdart_builtin") { | 242 static_library("libdart_builtin") { |
| 263 configs += [ | 243 configs += [ |
| 264 "..:dart_config", | 244 "..:dart_config", |
| 265 "..:dart_maybe_product_config", | 245 "..:dart_maybe_product_config", |
| 266 ] | 246 ] |
| 267 public_configs = [ ":libdart_builtin_config" ] | 247 public_configs = [ ":libdart_builtin_config" ] |
| 268 deps = [ | 248 deps = [ |
| 269 ":generate_blink_cc_file", | 249 ":generate_blink_cc_file", |
| 270 ":generate_builtin_cc_file", | 250 ":generate_builtin_cc_file", |
| 271 ":generate_cached_patches_cc_file", | 251 ":generate_cached_patches_cc_file", |
| (...skipping 14 matching lines...) Expand all Loading... |
| 286 set_sources_assignment_filter([ | 266 set_sources_assignment_filter([ |
| 287 "*_test.cc", | 267 "*_test.cc", |
| 288 "*_test.h", | 268 "*_test.h", |
| 289 ]) | 269 ]) |
| 290 sources = [ | 270 sources = [ |
| 291 "log_android.cc", | 271 "log_android.cc", |
| 292 "log_fuchsia.cc", | 272 "log_fuchsia.cc", |
| 293 "log_linux.cc", | 273 "log_linux.cc", |
| 294 "log_macos.cc", | 274 "log_macos.cc", |
| 295 "log_win.cc", | 275 "log_win.cc", |
| 296 ] + builtin_impl_sources_gypi.sources | 276 ] + builtin_impl_sources_gypi |
| 297 } | 277 } |
| 298 | 278 |
| 299 io_impl_sources_gypi = exec_script("../../tools/gypi_to_gn.py", | |
| 300 [ rebase_path("io_impl_sources.gypi") ], | |
| 301 "scope", | |
| 302 [ "io_impl_sources.gypi" ]) | |
| 303 | |
| 304 executable("gen_snapshot") { | 279 executable("gen_snapshot") { |
| 305 configs += [ | 280 configs += [ |
| 306 "..:dart_config", | 281 "..:dart_config", |
| 307 "..:dart_maybe_product_config", | 282 "..:dart_maybe_product_config", |
| 308 "..:dart_precompiler_config", | 283 "..:dart_precompiler_config", |
| 309 ] | 284 ] |
| 310 deps = [ | 285 deps = [ |
| 311 ":gen_resources_cc", | 286 ":gen_resources_cc", |
| 312 ":gen_snapshot_dart_io", | 287 ":gen_snapshot_dart_io", |
| 313 ":generate_builtin_cc_file", | 288 ":generate_builtin_cc_file", |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 # Dart tree uses *_macos.* instead of *_mac.* | 354 # Dart tree uses *_macos.* instead of *_mac.* |
| 380 custom_sources_filter += [ | 355 custom_sources_filter += [ |
| 381 "*_macos.h", | 356 "*_macos.h", |
| 382 "*_macos.cc", | 357 "*_macos.cc", |
| 383 ] | 358 ] |
| 384 } | 359 } |
| 385 set_sources_assignment_filter(custom_sources_filter) | 360 set_sources_assignment_filter(custom_sources_filter) |
| 386 | 361 |
| 387 defines = [ "DART_IO_SECURE_SOCKET_DISABLED" ] | 362 defines = [ "DART_IO_SECURE_SOCKET_DISABLED" ] |
| 388 | 363 |
| 389 sources = io_impl_sources_gypi.sources + builtin_impl_sources_gypi.sources | 364 sources = io_impl_sources_gypi + builtin_impl_sources_gypi |
| 390 sources += [ | 365 sources += [ |
| 391 "io_natives.cc", | 366 "io_natives.cc", |
| 392 "io_natives.h", | 367 "io_natives.h", |
| 393 ] | 368 ] |
| 394 | 369 |
| 395 include_dirs = [ | 370 include_dirs = [ |
| 396 "..", | 371 "..", |
| 397 "//third_party", | 372 "//third_party", |
| 398 ] | 373 ] |
| 399 } | 374 } |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 445 libs += [ "CoreServices.framework" ] | 420 libs += [ "CoreServices.framework" ] |
| 446 } | 421 } |
| 447 } else if (defined(is_fuchsia) && is_fuchsia) { | 422 } else if (defined(is_fuchsia) && is_fuchsia) { |
| 448 defines += [ "DART_IO_SECURE_SOCKET_DISABLED" ] | 423 defines += [ "DART_IO_SECURE_SOCKET_DISABLED" ] |
| 449 } else { | 424 } else { |
| 450 deps = [ | 425 deps = [ |
| 451 "//third_party/boringssl", | 426 "//third_party/boringssl", |
| 452 ] | 427 ] |
| 453 } | 428 } |
| 454 | 429 |
| 455 sources = io_impl_sources_gypi.sources + builtin_impl_sources_gypi.sources | 430 sources = io_impl_sources_gypi + builtin_impl_sources_gypi |
| 456 sources += [ | 431 sources += [ |
| 457 "builtin_natives.cc", | 432 "builtin_natives.cc", |
| 458 "io_natives.cc", | 433 "io_natives.cc", |
| 459 "io_natives.h", | 434 "io_natives.h", |
| 460 "log_android.cc", | 435 "log_android.cc", |
| 461 "log_linux.cc", | 436 "log_linux.cc", |
| 462 "log_macos.cc", | 437 "log_macos.cc", |
| 463 "log_win.cc", | 438 "log_win.cc", |
| 464 "log.h", | 439 "log.h", |
| 465 ] + extra_sources | 440 ] + extra_sources |
| (...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 803 "$target_gen_dir", | 778 "$target_gen_dir", |
| 804 ] | 779 ] |
| 805 defines = [ "TESTING" ] | 780 defines = [ "TESTING" ] |
| 806 | 781 |
| 807 if (dart_use_tcmalloc) { | 782 if (dart_use_tcmalloc) { |
| 808 deps += [ "//third_party/tcmalloc" ] | 783 deps += [ "//third_party/tcmalloc" ] |
| 809 } | 784 } |
| 810 | 785 |
| 811 # The VM sources are already included in libdart, so we just want to add in | 786 # The VM sources are already included in libdart, so we just want to add in |
| 812 # the tests here. | 787 # the tests here. |
| 813 vm_tests_list = exec_script("../../tools/gypi_to_gn.py", | 788 vm_tests = rebase_path(vm_tests_list, ".", "../vm") |
| 814 [ | |
| 815 rebase_path("../vm/vm_sources.gypi"), | |
| 816 "--keep_only=_test.cc", | |
| 817 "--keep_only=_test.h", | |
| 818 ], | |
| 819 "scope", | |
| 820 [ "../vm/vm_sources.gypi" ]) | |
| 821 vm_tests = rebase_path(vm_tests_list.sources, ".", "../vm") | |
| 822 | |
| 823 builtin_impl_tests_list = | |
| 824 exec_script("../../tools/gypi_to_gn.py", | |
| 825 [ | |
| 826 rebase_path("builtin_impl_sources.gypi"), | |
| 827 "--keep_only=_test.cc", | |
| 828 "--keep_only=_test.h", | |
| 829 ], | |
| 830 "scope", | |
| 831 [ "builtin_impl_sources.gypi" ]) | |
| 832 | 789 |
| 833 sources = [ | 790 sources = [ |
| 834 "builtin_nolib.cc", | 791 "builtin_nolib.cc", |
| 835 "run_vm_tests.cc", | 792 "run_vm_tests.cc", |
| 836 ] + builtin_impl_tests_list.sources + vm_tests | 793 ] + builtin_impl_tests_list + vm_tests |
| 837 | 794 |
| 838 if (!is_win) { | 795 if (!is_win) { |
| 839 ldflags = [ "-rdynamic" ] | 796 ldflags = [ "-rdynamic" ] |
| 840 } | 797 } |
| 841 | 798 |
| 842 if (is_win) { | 799 if (is_win) { |
| 843 libs = [ | 800 libs = [ |
| 844 "iphlpapi.lib", | 801 "iphlpapi.lib", |
| 845 "psapi.lib", | 802 "psapi.lib", |
| 846 "ws2_32.lib", | 803 "ws2_32.lib", |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 884 # The only effect of DART_SHARED_LIB is to export the Dart API. | 841 # The only effect of DART_SHARED_LIB is to export the Dart API. |
| 885 "DART_SHARED_LIB", | 842 "DART_SHARED_LIB", |
| 886 ] | 843 ] |
| 887 if (is_win) { | 844 if (is_win) { |
| 888 libs = [ "dart.lib" ] | 845 libs = [ "dart.lib" ] |
| 889 abs_root_out_dir = rebase_path(root_out_dir) | 846 abs_root_out_dir = rebase_path(root_out_dir) |
| 890 ldflags = [ "/LIBPATH:$abs_root_out_dir" ] | 847 ldflags = [ "/LIBPATH:$abs_root_out_dir" ] |
| 891 } | 848 } |
| 892 } | 849 } |
| 893 } | 850 } |
| OLD | NEW |