Chromium Code Reviews| Index: runtime/bin/BUILD.gn |
| =================================================================== |
| --- runtime/bin/BUILD.gn (revision 0) |
| +++ runtime/bin/BUILD.gn (revision 0) |
| @@ -0,0 +1,330 @@ |
| +# Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| +# for details. All rights reserved. Use of this source code is governed by a |
| +# BSD-style license that can be found in the LICENSE file. |
| + |
| + |
| +declare_args() { |
| + dart_io_support = false |
| +} |
| + |
| + |
| +template("gen_library_src_path") { |
| + assert(defined(invoker.sources), "Need sources in $target_name") |
| + assert(defined(invoker.output), "Need output in $target_name") |
| + action(target_name) { |
| + visibility = [ ":*" ] # Only targets in this file can see this. |
| + script = "../tools/gen_library_src_paths.py" |
| + inputs = [ |
| + "../tools/gen_library_src_paths.py", |
| + "builtin_in.cc", |
| + ] |
| + outputs = [ invoker.output, ] |
| + name = invoker.name |
| + kind = invoker.kind |
| + args = [ |
| + "--output", rebase_path(invoker.output, root_build_dir), |
| + "--input_cc", rebase_path("builtin_in.cc", root_build_dir), |
| + "--include", "bin/builtin.h", |
| + "--var_name", "dart::bin::Builtin::${name}_${kind}_paths_", |
| + "--library_name", "dart:${name}",] + |
| + rebase_path(invoker.sources, root_build_dir) |
| + } |
| +} |
| + |
| + |
| +builtin_sources_gypi = |
| + exec_script("../../tools/gypi_to_gn.py", |
| + [rebase_path("builtin_sources.gypi")], |
| + "scope", |
| + ["builtin_sources.gypi"]) |
| + |
| +gen_library_src_path("generate_builtin_cc_file") { |
| + name = "_builtin" |
| + kind = "source" |
| + sources = builtin_sources_gypi.sources |
| + output = "$target_gen_dir/builtin_gen.cc" |
| +} |
| + |
| + |
| +iolib_sources_gypi = |
|
Ivan Posva
2014/11/11 18:26:23
I find it a bit confusing that we are including th
zra
2014/11/11 22:03:34
Needed for gen_snapshot
|
| + exec_script("../../tools/gypi_to_gn.py", |
| + [rebase_path("../../sdk/lib/io/iolib_sources.gypi")], |
| + "scope", |
| + ["../../sdk/lib/io/iolib_sources.gypi"]) |
| +iolib_sources = rebase_path(iolib_sources_gypi.sources, ".", "../../sdk/lib/io") |
| + |
| +gen_library_src_path("generate_io_cc_file") { |
| + name = "io" |
| + kind = "source" |
| + sources = ["../../sdk/lib/io/io.dart"] + iolib_sources |
| + output = "$target_gen_dir/io_gen.cc" |
| +} |
| + |
| +io_sources_gypi = |
| + exec_script("../../tools/gypi_to_gn.py", |
| + [rebase_path("io_sources.gypi")], |
| + "scope", |
| + ["io_sources.gypi"]) |
| + |
| +gen_library_src_path("generate_io_patch_cc_file") { |
| + name = "io" |
| + kind = "patch" |
| + sources = io_sources_gypi.sources |
| + output = "$target_gen_dir/io_patch_gen.cc" |
| +} |
| + |
| + |
| +config("libdart_builtin_config") { |
| + libs = [ |
| + "dl", |
| + ] |
| +} |
| + |
| + |
| +builtin_impl_sources_gypi = |
| + exec_script("../../tools/gypi_to_gn.py", |
| + [rebase_path("builtin_impl_sources.gypi")], |
| + "scope", |
| + ["builtin_impl_sources.gypi"]) |
| + |
| +static_library("libdart_builtin") { |
| + configs += ["../..:dart_config"] |
| + public_configs = [":libdart_builtin_config"] |
| + deps = [ |
| + ":generate_builtin_cc_file", |
| + ":generate_io_cc_file", |
| + ":generate_io_patch_cc_file", |
| + ] |
| + include_dirs = [ |
| + "..", |
| + ] |
| + set_sources_assignment_filter(["*_test.cc", "*_test.h"]) |
| + sources = [ |
| + "log_android.cc", |
| + "log_linux.cc", |
| + "log_macos.cc", |
| + "log_win.cc", |
| + ] + builtin_impl_sources_gypi.sources |
| +} |
| + |
| + |
| +io_impl_sources_gypi = |
| + exec_script("../../tools/gypi_to_gn.py", |
| + [rebase_path("io_impl_sources.gypi")], |
| + "scope", |
| + ["io_impl_sources.gypi"]) |
| + |
| +static_library("libdart_io") { |
| + configs += ["../..:dart_config"] |
| + |
| + if (dart_io_support) { |
| + sources = io_impl_sources_gypi.sources - [ |
| + "filter_unsupported.cc", |
| + "secure_socket_unsupported.cc", |
| + "io_service_unsupported.cc", |
| + ] |
| + # TODO(zra): This would be needed for full IO-enabled VM build. |
| + # deps = ["net:libssl_dart",] |
| + } else { |
| + sources = io_impl_sources_gypi.sources - [ |
| + "filter.cc", |
| + "filter.h", |
| + "io_service.cc", |
| + "io_service.h", |
| + "net/nss_memio.cc", |
| + "net/nss_memio.h", |
| + "secure_socket.cc", |
| + "secure_socket.h", |
| + ] |
| + } |
| + sources += [ |
| + "io_natives.h", |
| + "io_natives.cc", |
| + ] |
| + |
| + include_dirs = [ |
| + "..", |
| + ] |
| +} |
| + |
| + |
| +static_library("libdart_withcore") { |
| + configs += ["../..:dart_config"] |
| + deps = [ |
| + "../vm:libdart_lib_withcore", |
| + "../vm:libdart_vm", |
| + "../vm:libdart_platform", |
| + "../third_party/jscre:libjscre", |
| + "../third_party/double-conversion/src:libdouble_conversion", |
| + "..:generate_version_cc_file", |
| + ] |
| + |
| + sources = [ |
| + "../include/dart_api.h", |
| + "../include/dart_debugger_api.h", |
| + "../include/dart_mirrors_api.h", |
| + "../include/dart_native_api.h", |
| + "../vm/dart_api_impl.cc", |
| + "../vm/debugger_api_impl.cc", |
| + "../vm/mirrors_api_impl.cc", |
| + "../vm/native_api_impl.cc", |
| + "$target_gen_dir/../version.cc", |
| + ] |
| + |
| + include_dirs = [ |
| + "..", |
| + ] |
| + |
| + defines = [ |
| + "DART_SHARED_LIB", |
| + ] |
| +} |
| + |
| + |
| +executable("gen_snapshot") { |
| + configs += ["../..:dart_config"] |
| + deps = [ |
| + ":libdart_withcore", |
| + ":libdart_builtin", |
| + ] |
| + |
| + sources = [ |
| + "gen_snapshot.cc", |
| + # Very limited native resolver provided. |
| + "builtin_gen_snapshot.cc", |
| + "builtin.cc", |
| + "builtin.h", |
| + # Include generated source files. |
| + "$target_gen_dir/builtin_gen.cc", |
| + "$target_gen_dir/io_gen.cc", |
| + "$target_gen_dir/io_patch_gen.cc", |
| + ] |
| + |
| + include_dirs = [ |
| + "..", |
| + ] |
| +} |
| + |
| + |
| +action("generate_snapshot_bin") { |
| + deps = [":gen_snapshot"] |
| + inputs = [ |
| + "../tools/create_snapshot_bin.py" |
| + ] |
| + output = "$target_gen_dir/snapshot_gen.bin" |
| + outputs = [output,] |
| + |
| + script = "../tools/create_snapshot_bin.py" |
| + args = [ |
| + "--executable", |
| + rebase_path("$root_out_dir/gen_snapshot"), |
| + "--output_bin", rebase_path(output, root_build_dir), |
| + "--target_os", os |
| + ] |
| +} |
| + |
| + |
| +action("generate_snapshot_file") { |
| + deps = [":generate_snapshot_bin"] |
| + inputs = [ |
| + "../tools/create_snapshot_file.py", |
| + "snapshot_in.cc", |
| + "$target_gen_dir/snapshot_gen.bin", |
| + ] |
| + output = "$target_gen_dir/snapshot.cc" |
| + outputs = [output,] |
| + |
| + script = "../tools/create_snapshot_file.py" |
| + args = [ |
| + "--input_bin", rebase_path("$target_gen_dir/snapshot_gen.bin"), |
| + "--input_cc", rebase_path("snapshot_in.cc"), |
| + "--output", rebase_path(output), |
| + ] |
| +} |
| + |
| + |
| +resources_sources_gypi = |
|
Ivan Posva
2014/11/11 18:26:23
If we do not have dart:io then including the obser
zra
2014/11/11 22:03:34
Removed
|
| + exec_script("../../tools/gypi_to_gn.py", |
| + [rebase_path("resources_sources.gypi")], |
| + "scope", |
| + ["resources_sources.gypi"]) |
| + |
| +action("generate_resources_cc_file") { |
| + sources = resources_sources_gypi.sources |
| + |
| + inputs = [ |
| + "../tools/create_resources.py", |
| + # The following two files are used to trigger a rebuild. |
| + "vmservice/observatory/deployed/web/index.html", |
| + "vmservice/observatory/deployed/web/index.html_bootstrap.dart.js", |
| + ] + sources |
| + output = "$target_gen_dir/resources_gen.cc" |
| + outputs = [output,] |
| + |
| + script = "../tools/create_resources.py" |
| + args = [ |
| + "--output", rebase_path(output), |
| + "--outer_namespace", "dart", |
| + "--inner_namespace", "bin", |
| + "--table_name", "service_bin", |
| + "--root_prefix", "bin/", |
| + "--client_root", "bin/vmservice/observatory/deployed/", |
| + ] + rebase_path(sources) |
| +} |
| + |
| + |
| +static_library("libdart_embedder_noio") { |
| + configs += ["../..:dart_config",] |
| + deps = [ |
| + "..:libdart", |
| + "../vm:libdart_platform", |
| + ":generate_snapshot_file", |
| + ":generate_resources_cc_file", |
| + ] |
| + |
| + sources = [ |
| + "$target_gen_dir/snapshot.cc", |
| + "$target_gen_dir/resources_gen.cc", |
| + ] |
| + |
| + include_dirs = [ |
| + "..", |
| + ] |
| +} |
| + |
| + |
| +config("dart_exe_config") { |
| + ldflags = [ |
| + "-rdynamic", |
| + ] |
| +} |
| + |
| + |
| +executable("dart") { |
|
Ivan Posva
2014/11/11 18:26:23
This dart binary will not be usable as it lacks th
zra
2014/11/11 22:03:34
Removed
|
| + configs += ["../..:dart_config", ":dart_exe_config"] |
| + deps = [ |
| + "..:libdart", |
| + ":libdart_builtin", |
| + "../vm:libdart_platform", |
| + ":libdart_io", |
| + ":generate_snapshot_file", |
| + ":generate_resources_cc_file", |
| + ] |
| + |
| + sources = [ |
| + "main.cc", |
| + "builtin_natives.cc", |
| + "builtin_nolib.cc", |
| + "builtin.h", |
| + "io_natives.h", |
| + "vmservice.h", |
| + "vmservice_impl.cc", |
| + "vmservice_impl.h", |
| + "$target_gen_dir/snapshot.cc", |
| + "$target_gen_dir/resources_gen.cc", |
| + ] |
| + |
| + include_dirs = [ |
| + "..", |
| + ] |
| +} |