dart-sdk/runtime/vm/BUILD.gn

244 lines
7.5 KiB
Plaintext
Raw Normal View History

# 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.
import("../../build/executable_suffix.gni")
import("../../sdk/lib/async/async_sources.gni")
import("../../sdk/lib/collection/collection_sources.gni")
import("../../sdk/lib/convert/convert_sources.gni")
import("../../sdk/lib/core/core_sources.gni")
import("../../sdk/lib/developer/developer_sources.gni")
import("../../sdk/lib/ffi/ffi_sources.gni")
import("../../sdk/lib/internal/internal_sources.gni")
import("../../sdk/lib/isolate/isolate_sources.gni")
import("../../sdk/lib/math/math_sources.gni")
import("../../sdk/lib/mirrors/mirrors_sources.gni")
import("../../sdk/lib/typed_data/typed_data_sources.gni")
import("../../sdk/lib/vmservice/vmservice_sources.gni")
import("../../sdk_args.gni")
import("../../utils/compile_platform.gni")
import("../bin/cli_sources.gni")
import("../bin/io_sources.gni")
import("../configs.gni")
import("../lib/async_sources.gni")
import("../lib/collection_sources.gni")
import("../lib/convert_sources.gni")
import("../lib/core_sources.gni")
import("../lib/developer_sources.gni")
import("../lib/ffi_sources.gni")
import("../lib/internal_sources.gni")
import("../lib/isolate_sources.gni")
import("../lib/math_sources.gni")
import("../lib/mirrors_sources.gni")
import("../lib/profiler_sources.gni")
import("../lib/typed_data_sources.gni")
import("../lib/vmservice_sources.gni")
import("../runtime_args.gni")
import("compiler/compiler_sources.gni")
import("heap/heap_sources.gni")
import("vm_sources.gni")
if (is_fuchsia) {
import("//build/fuchsia/sdk.gni")
}
config("libdart_vm_config") {
if (is_fuchsia) {
libs = [ "zircon" ]
} else if (is_win) {
libs = [
"advapi32.lib",
"shell32.lib",
]
if (target_os != "winuwp") {
libs += [ "dbghelp.lib" ]
}
} else {
libs = [ "dl" ]
if (!is_android) {
libs += [ "pthread" ]
}
}
}
library_for_all_configs("libdart_vm") {
target_type = "source_set"
Reland "[vm] Build dart2native dependencies with the normal "create_sdk" target" The flutter engine DEPS got new icu/boringssl so this CL can safely land and roll into engine. A small change is made in Patchset 1..3. This removes special logic for creating the `dart-sdk` we distribute which used to build release and product mode and copied some binaries from the latter into the former, before the SDK was actuallly ready to test and distribute. This changes the GN build rules to build the necessary gen_snapshot/dart_precompiled_runtime product binaries during the normal release build. Normally during --mode=product builds the global build config in //build/config/BUILDCONFIG.gn will set `-fvisibility=false`. => Doing so results in much smaller binaries - because only explicitly exported symbols are visible, the rest can be tree shaken by the linker. Since we are building --mode=release, the `-fvisibility=false` will not be set. In order to set the flag for the 2 special product-mode binaries we need to add -fvisibility=hidden manually, in: * dart_product_config: Which is used for compiling VM sources. * 3rd party double-conversion library * 3rd party boringssl library * 3rd party icu library The upstream CLs are: * BoringSSL: https://dart-review.googlesource.com/c/boringssl_gen/+/150482 * ICU: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2236407 Issue https://github.com/dart-lang/sdk/issues/42230 Change-Id: I8d9b37acbb5eb94e44d97652f838948a946fd372 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151505 Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-17 16:12:26 +00:00
extra_product_deps = [
"//third_party/icu:icui18n_hidden_visibility",
"//third_party/icu:icuuc_hidden_visibility",
]
extra_nonproduct_deps = [
"//third_party/icu:icui18n",
"//third_party/icu:icuuc",
]
if (is_fuchsia) {
if (using_fuchsia_gn_sdk) {
extra_deps = [
[vm] Replaces fuchsia.deprecatedtimezone The FIDL library `fuchsia.deprecatedtimezone` is going away. There are different and better ways to obtain the same functionality. This change removes the dependency on `fuchsia.deprecatedtimezone` from the Dart SDK. Thus setting the stage for the removal of `fuchsia.deprecatedtimezone`. Adds inspect metrics that allow whitebox testing of the runners. Here's a sample `fx iquery` excerpt from a running device, showing a dart runner exposing the same OS diagnostic metrics. Adds support for asynchronous timezone updates, which was missing from previous versions of this commit. ``` dart.cmx: metadata: filename = fuchsia.inspect.Tree component_url = fuchsia-pkg://fuchsia.com/dart_test_debug#meta/dart.cmx timestamp = 12241877209826 payload: root: os: dst_status = 1 get_profile_status = 0 num_get_profile_calls = 1 num_intl_provider_errors = 0 num_on_change_calls = 0 timezone_content_status = 0 tz_data_close_status = -1 tz_data_status = -1 ``` This functionality is guarded by Fuchsia integration tests at //src/tests/intl. Tested: 1. (compile locally for Fuchsia and deploy) ``` fx test //src/tests/intl ``` This runs the specific timezone tests that should break if the functionality itself is broken. 2. Compile dart for Fuchsia and run tests: The instructions are here: https://github.com/dart-lang/sdk/commit/15dfcca89f0d7eabd60ff049444e203a82dbcb1e I used the instructions above to build and run all tests from `dart_test_debug` package. The tests were ran against the main branch (and then, the tests that failed there were filtered out), then the remaining tests were ran against a Dart version that contains this change. See: - https://github.com/dart-lang/sdk/issues/42245 - https://github.com/dart-lang/sdk/issues/39650 Prior attempts (most recent first): - rolled back as it... didn't compile. It turned out, when building the change with flutter the compilation process has some different settings, so the compilation of the change worked in flutter, but didn't in dart. The compilation error is now fixed, and I ran additional tests: https://dart-review.googlesource.com/c/sdk/+/155582 - rolled back as it had a regression which was not caught by tests. Tests are fixed now at https://fuchsia-review.googlesource.com/c/fuchsia/+/409840 Fixes #39650 TEST=See "Tested" section above. Change-Id: Idd78ea42e3ae38dca2ab4c4126e930e53ef8a793 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185302 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com>
2021-02-18 07:38:04 +00:00
"$fuchsia_sdk_root/fidl/fuchsia.intl",
"$fuchsia_sdk_root/pkg/async",
"$fuchsia_sdk_root/pkg/async-default",
"$fuchsia_sdk_root/pkg/async-loop",
"$fuchsia_sdk_root/pkg/async-loop-default",
"$fuchsia_sdk_root/pkg/inspect",
"$fuchsia_sdk_root/pkg/inspect_service_cpp",
"$fuchsia_sdk_root/pkg/sys_cpp",
"$fuchsia_sdk_root/pkg/sys_inspect_cpp",
"$fuchsia_sdk_root/pkg/trace-engine",
]
} else if (using_fuchsia_sdk) {
Reland "[vm] Build dart2native dependencies with the normal "create_sdk" target" The flutter engine DEPS got new icu/boringssl so this CL can safely land and roll into engine. A small change is made in Patchset 1..3. This removes special logic for creating the `dart-sdk` we distribute which used to build release and product mode and copied some binaries from the latter into the former, before the SDK was actuallly ready to test and distribute. This changes the GN build rules to build the necessary gen_snapshot/dart_precompiled_runtime product binaries during the normal release build. Normally during --mode=product builds the global build config in //build/config/BUILDCONFIG.gn will set `-fvisibility=false`. => Doing so results in much smaller binaries - because only explicitly exported symbols are visible, the rest can be tree shaken by the linker. Since we are building --mode=release, the `-fvisibility=false` will not be set. In order to set the flag for the 2 special product-mode binaries we need to add -fvisibility=hidden manually, in: * dart_product_config: Which is used for compiling VM sources. * 3rd party double-conversion library * 3rd party boringssl library * 3rd party icu library The upstream CLs are: * BoringSSL: https://dart-review.googlesource.com/c/boringssl_gen/+/150482 * ICU: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2236407 Issue https://github.com/dart-lang/sdk/issues/42230 Change-Id: I8d9b37acbb5eb94e44d97652f838948a946fd372 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151505 Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-17 16:12:26 +00:00
extra_deps = [
[vm] Replaces fuchsia.deprecatedtimezone The FIDL library `fuchsia.deprecatedtimezone` is going away. There are different and better ways to obtain the same functionality. This change removes the dependency on `fuchsia.deprecatedtimezone` from the Dart SDK. Thus setting the stage for the removal of `fuchsia.deprecatedtimezone`. Adds inspect metrics that allow whitebox testing of the runners. Here's a sample `fx iquery` excerpt from a running device, showing a dart runner exposing the same OS diagnostic metrics. Adds support for asynchronous timezone updates, which was missing from previous versions of this commit. ``` dart.cmx: metadata: filename = fuchsia.inspect.Tree component_url = fuchsia-pkg://fuchsia.com/dart_test_debug#meta/dart.cmx timestamp = 12241877209826 payload: root: os: dst_status = 1 get_profile_status = 0 num_get_profile_calls = 1 num_intl_provider_errors = 0 num_on_change_calls = 0 timezone_content_status = 0 tz_data_close_status = -1 tz_data_status = -1 ``` This functionality is guarded by Fuchsia integration tests at //src/tests/intl. Tested: 1. (compile locally for Fuchsia and deploy) ``` fx test //src/tests/intl ``` This runs the specific timezone tests that should break if the functionality itself is broken. 2. Compile dart for Fuchsia and run tests: The instructions are here: https://github.com/dart-lang/sdk/commit/15dfcca89f0d7eabd60ff049444e203a82dbcb1e I used the instructions above to build and run all tests from `dart_test_debug` package. The tests were ran against the main branch (and then, the tests that failed there were filtered out), then the remaining tests were ran against a Dart version that contains this change. See: - https://github.com/dart-lang/sdk/issues/42245 - https://github.com/dart-lang/sdk/issues/39650 Prior attempts (most recent first): - rolled back as it... didn't compile. It turned out, when building the change with flutter the compilation process has some different settings, so the compilation of the change worked in flutter, but didn't in dart. The compilation error is now fixed, and I ran additional tests: https://dart-review.googlesource.com/c/sdk/+/155582 - rolled back as it had a regression which was not caught by tests. Tests are fixed now at https://fuchsia-review.googlesource.com/c/fuchsia/+/409840 Fixes #39650 TEST=See "Tested" section above. Change-Id: Idd78ea42e3ae38dca2ab4c4126e930e53ef8a793 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185302 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com>
2021-02-18 07:38:04 +00:00
"$fuchsia_sdk_root/fidl:fuchsia.intl",
"$fuchsia_sdk_root/pkg:async-loop",
"$fuchsia_sdk_root/pkg:async-loop-default",
"$fuchsia_sdk_root/pkg:inspect",
"$fuchsia_sdk_root/pkg:inspect_service_cpp",
"$fuchsia_sdk_root/pkg:sys_cpp",
"$fuchsia_sdk_root/pkg:sys_inspect_cpp",
"$fuchsia_sdk_root/pkg:trace-engine",
]
} else {
Reland "[vm] Build dart2native dependencies with the normal "create_sdk" target" The flutter engine DEPS got new icu/boringssl so this CL can safely land and roll into engine. A small change is made in Patchset 1..3. This removes special logic for creating the `dart-sdk` we distribute which used to build release and product mode and copied some binaries from the latter into the former, before the SDK was actuallly ready to test and distribute. This changes the GN build rules to build the necessary gen_snapshot/dart_precompiled_runtime product binaries during the normal release build. Normally during --mode=product builds the global build config in //build/config/BUILDCONFIG.gn will set `-fvisibility=false`. => Doing so results in much smaller binaries - because only explicitly exported symbols are visible, the rest can be tree shaken by the linker. Since we are building --mode=release, the `-fvisibility=false` will not be set. In order to set the flag for the 2 special product-mode binaries we need to add -fvisibility=hidden manually, in: * dart_product_config: Which is used for compiling VM sources. * 3rd party double-conversion library * 3rd party boringssl library * 3rd party icu library The upstream CLs are: * BoringSSL: https://dart-review.googlesource.com/c/boringssl_gen/+/150482 * ICU: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2236407 Issue https://github.com/dart-lang/sdk/issues/42230 Change-Id: I8d9b37acbb5eb94e44d97652f838948a946fd372 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151505 Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-17 16:12:26 +00:00
extra_deps = [
[vm] Replaces fuchsia.deprecatedtimezone The FIDL library `fuchsia.deprecatedtimezone` is going away. There are different and better ways to obtain the same functionality. This change removes the dependency on `fuchsia.deprecatedtimezone` from the Dart SDK. Thus setting the stage for the removal of `fuchsia.deprecatedtimezone`. Adds inspect metrics that allow whitebox testing of the runners. Here's a sample `fx iquery` excerpt from a running device, showing a dart runner exposing the same OS diagnostic metrics. Adds support for asynchronous timezone updates, which was missing from previous versions of this commit. ``` dart.cmx: metadata: filename = fuchsia.inspect.Tree component_url = fuchsia-pkg://fuchsia.com/dart_test_debug#meta/dart.cmx timestamp = 12241877209826 payload: root: os: dst_status = 1 get_profile_status = 0 num_get_profile_calls = 1 num_intl_provider_errors = 0 num_on_change_calls = 0 timezone_content_status = 0 tz_data_close_status = -1 tz_data_status = -1 ``` This functionality is guarded by Fuchsia integration tests at //src/tests/intl. Tested: 1. (compile locally for Fuchsia and deploy) ``` fx test //src/tests/intl ``` This runs the specific timezone tests that should break if the functionality itself is broken. 2. Compile dart for Fuchsia and run tests: The instructions are here: https://github.com/dart-lang/sdk/commit/15dfcca89f0d7eabd60ff049444e203a82dbcb1e I used the instructions above to build and run all tests from `dart_test_debug` package. The tests were ran against the main branch (and then, the tests that failed there were filtered out), then the remaining tests were ran against a Dart version that contains this change. See: - https://github.com/dart-lang/sdk/issues/42245 - https://github.com/dart-lang/sdk/issues/39650 Prior attempts (most recent first): - rolled back as it... didn't compile. It turned out, when building the change with flutter the compilation process has some different settings, so the compilation of the change worked in flutter, but didn't in dart. The compilation error is now fixed, and I ran additional tests: https://dart-review.googlesource.com/c/sdk/+/155582 - rolled back as it had a regression which was not caught by tests. Tests are fixed now at https://fuchsia-review.googlesource.com/c/fuchsia/+/409840 Fixes #39650 TEST=See "Tested" section above. Change-Id: Idd78ea42e3ae38dca2ab4c4126e930e53ef8a793 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185302 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com>
2021-02-18 07:38:04 +00:00
"//sdk/fidl/fuchsia.intl",
"//sdk/lib/sys/cpp",
"//sdk/lib/sys/inspect/cpp",
"//zircon/public/lib/fbl",
"//zircon/system/ulib/trace-engine",
]
}
}
public_configs = [ ":libdart_vm_config" ]
sources = vm_sources + rebase_path(compiler_api_sources, ".", "./compiler/") +
rebase_path(disassembler_sources, ".", "./compiler/") +
rebase_path(heap_sources, ".", "./heap/")
include_dirs = [ ".." ]
}
library_for_all_configs_with_compiler("libdart_compiler") {
target_type = "source_set"
public_configs = [ ":libdart_vm_config" ]
sources = rebase_path(compiler_sources, ".", "./compiler/")
include_dirs = [ ".." ]
if (is_fuchsia) {
if (using_fuchsia_gn_sdk) {
extra_deps = [ "$fuchsia_sdk_root/pkg/trace-engine" ]
} else if (using_fuchsia_sdk) {
extra_deps = [ "$fuchsia_sdk_root/pkg:trace-engine" ]
} else {
extra_deps = [
"//zircon/public/lib/fbl",
"//zircon/system/ulib/trace-engine",
]
}
}
}
library_for_all_configs("libdart_lib") {
target_type = "source_set"
if (is_fuchsia) {
if (using_fuchsia_gn_sdk) {
extra_deps = [ "$fuchsia_sdk_root/pkg/trace-engine" ]
} else if (using_fuchsia_sdk) {
extra_deps = [ "$fuchsia_sdk_root/pkg:trace-engine" ]
} else {
extra_deps = [
"//zircon/public/lib/fbl",
"//zircon/system/ulib/trace-engine",
]
}
}
include_dirs = [ ".." ]
allsources = async_runtime_cc_files + collection_runtime_cc_files +
core_runtime_cc_files + developer_runtime_cc_files +
internal_runtime_cc_files + isolate_runtime_cc_files +
math_runtime_cc_files + mirrors_runtime_cc_files +
typed_data_runtime_cc_files + vmservice_runtime_cc_files +
ffi_runtime_cc_files
sources = [ "bootstrap.cc" ] + rebase_path(allsources, ".", "../lib")
snapshot_sources = []
}
template("gen_vm_platform") {
assert(defined(invoker.output_postfix),
"Must define output postfix (e.g., '_strong'")
Reland "[vm] Build dart2native dependencies with the normal "create_sdk" target" The flutter engine DEPS got new icu/boringssl so this CL can safely land and roll into engine. A small change is made in Patchset 1..3. This removes special logic for creating the `dart-sdk` we distribute which used to build release and product mode and copied some binaries from the latter into the former, before the SDK was actuallly ready to test and distribute. This changes the GN build rules to build the necessary gen_snapshot/dart_precompiled_runtime product binaries during the normal release build. Normally during --mode=product builds the global build config in //build/config/BUILDCONFIG.gn will set `-fvisibility=false`. => Doing so results in much smaller binaries - because only explicitly exported symbols are visible, the rest can be tree shaken by the linker. Since we are building --mode=release, the `-fvisibility=false` will not be set. In order to set the flag for the 2 special product-mode binaries we need to add -fvisibility=hidden manually, in: * dart_product_config: Which is used for compiling VM sources. * 3rd party double-conversion library * 3rd party boringssl library * 3rd party icu library The upstream CLs are: * BoringSSL: https://dart-review.googlesource.com/c/boringssl_gen/+/150482 * ICU: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2236407 Issue https://github.com/dart-lang/sdk/issues/42230 Change-Id: I8d9b37acbb5eb94e44d97652f838948a946fd372 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151505 Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-17 16:12:26 +00:00
is_product_flag = dart_runtime_mode == "release"
if (defined(invoker.product_mode)) {
is_product_flag = invoker.product_mode
}
compile_platform(target_name) {
output_postfix = invoker.output_postfix
if (defined(invoker.add_implicit_vm_platform_dependency)) {
add_implicit_vm_platform_dependency =
invoker.add_implicit_vm_platform_dependency
}
single_root_scheme = "org-dartlang-sdk"
single_root_base = rebase_path("../../")
libraries_specification_uri = "org-dartlang-sdk:///sdk/lib/libraries.json"
outputs = [
"$root_out_dir/vm_platform" + output_postfix + ".dill",
"$root_out_dir/vm_outline" + output_postfix + ".dill",
]
args = [ "dart:core" ]
args += [
"-Ddart.vm.product=$is_product_flag",
"-Ddart.isVM=true",
"--nnbd-agnostic",
]
if (defined(invoker.exclude_source) && invoker.exclude_source) {
args += [ "--exclude-source" ]
}
outline = "vm_outline" + output_postfix + ".dill"
}
}
gen_vm_platform("vm_platform") {
add_implicit_vm_platform_dependency = false
exclude_source = false
output_postfix = "_strong"
}
Reland "[vm] Build dart2native dependencies with the normal "create_sdk" target" The flutter engine DEPS got new icu/boringssl so this CL can safely land and roll into engine. A small change is made in Patchset 1..3. This removes special logic for creating the `dart-sdk` we distribute which used to build release and product mode and copied some binaries from the latter into the former, before the SDK was actuallly ready to test and distribute. This changes the GN build rules to build the necessary gen_snapshot/dart_precompiled_runtime product binaries during the normal release build. Normally during --mode=product builds the global build config in //build/config/BUILDCONFIG.gn will set `-fvisibility=false`. => Doing so results in much smaller binaries - because only explicitly exported symbols are visible, the rest can be tree shaken by the linker. Since we are building --mode=release, the `-fvisibility=false` will not be set. In order to set the flag for the 2 special product-mode binaries we need to add -fvisibility=hidden manually, in: * dart_product_config: Which is used for compiling VM sources. * 3rd party double-conversion library * 3rd party boringssl library * 3rd party icu library The upstream CLs are: * BoringSSL: https://dart-review.googlesource.com/c/boringssl_gen/+/150482 * ICU: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2236407 Issue https://github.com/dart-lang/sdk/issues/42230 Change-Id: I8d9b37acbb5eb94e44d97652f838948a946fd372 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151505 Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-17 16:12:26 +00:00
gen_vm_platform("vm_platform_product") {
add_implicit_vm_platform_dependency = false
exclude_source = false
output_postfix = "_strong_product"
# In Debug mode we use debug binaries for dart2native.
# (see also the "dart_product_config" config)
product_mode = !is_debug
}
gen_vm_platform("vm_platform_stripped") {
add_implicit_vm_platform_dependency = false
exclude_source = true
output_postfix = "_strong_stripped"
}
group("kernel_platform_files") {
public_deps = [
":vm_platform",
":vm_platform_stripped",
]
}
Reland "[vm] Create offsets_extractor tool." This reverts commit 224f82c21cb2966f36ab850eae7ef5c8697cc477. Reason for revert: Just need to split DBC section into 32 and 64 bit Original change's description: > Revert "[vm] Create offsets_extractor tool." > > This reverts commit 3015d79371a1cf6407e5e799354d42fc6a0dcaec. > > Reason for revert: Fails the Flutter build > /b/s/w/ir/cache/builder/mac_sdk -mmacosx-version-min=10.12 -m32 -fno-strict-aliasing -fstack-protector-all -fcolor-diagnostics -Wall -Wextra -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wunguarded-availability -fvisibility=hidden -stdlib=libc++ -Wheader-hygiene -Wstring-conversion -Wthread-safety -O2 -fno-ident -fdata-sections -ffunction-sections -g2 -Werror -Wall -Wextra -Wno-unused-parameter -Wno-unused-private-field -Wnon-virtual-dtor -Wvla -Wno-conversion-null -Woverloaded-virtual -Wno-comments -g3 -ggdb3 -fno-rtti -fno-exceptions -Wimplicit-fallthrough -O3 -fvisibility-inlines-hidden -std=c++14 -fno-rtti -fno-exceptions -c ../../third_party/dart/runtime/vm/dart.cc -o clang_x86/obj/third_party/dart/runtime/vm/libdart_vm_nosnapshot_with_precompiler.dart.o > In file included from ../../third_party/dart/runtime/vm/dart.cc:9: > ../../third_party/dart/runtime/vm/compiler/runtime_offsets_extracted.h:958:50: error: implicit conversion from 'long long' to 'const dart::word' (aka 'const long') changes value from 576460752303423487 to -1 [-Werror,-Wconstant-conversion] > static constexpr dart::word Array_kMaxElements = 576460752303423487; > ~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~ > ../../third_party/dart/runtime/vm/compiler/runtime_offsets_extracted.h:965:51: error: implicit conversion from 'long long' to 'const dart::word' (aka 'const long') changes value from 2305843009213693951 to -1 [-Werror,-Wconstant-conversion] > static constexpr dart::word String_kMaxElements = 2305843009213693951; > ~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~ > 2 errors generated. > > Change-Id: Iaf509c6ee7a2ce75664935519ac02a933a9eb2bf > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104402 > Reviewed-by: Siva Annamalai <asiva@google.com> > Commit-Queue: Siva Annamalai <asiva@google.com> > Auto-Submit: Siva Annamalai <asiva@google.com> TBR=asiva@google.com Change-Id: Ibf749ceee274b03cdffa6d7ed46fcbe75d1a1e94 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104620 Reviewed-by: Liam Appelbe <liama@google.com> Reviewed-by: Siva Annamalai <asiva@google.com> Commit-Queue: Liam Appelbe <liama@google.com>
2019-06-03 22:14:16 +00:00
executable("offsets_extractor") {
configs += [
"..:dart_arch_config",
"..:dart_config",
"..:dart_maybe_product_config",
Reland "[vm] Create offsets_extractor tool." This reverts commit 224f82c21cb2966f36ab850eae7ef5c8697cc477. Reason for revert: Just need to split DBC section into 32 and 64 bit Original change's description: > Revert "[vm] Create offsets_extractor tool." > > This reverts commit 3015d79371a1cf6407e5e799354d42fc6a0dcaec. > > Reason for revert: Fails the Flutter build > /b/s/w/ir/cache/builder/mac_sdk -mmacosx-version-min=10.12 -m32 -fno-strict-aliasing -fstack-protector-all -fcolor-diagnostics -Wall -Wextra -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wunguarded-availability -fvisibility=hidden -stdlib=libc++ -Wheader-hygiene -Wstring-conversion -Wthread-safety -O2 -fno-ident -fdata-sections -ffunction-sections -g2 -Werror -Wall -Wextra -Wno-unused-parameter -Wno-unused-private-field -Wnon-virtual-dtor -Wvla -Wno-conversion-null -Woverloaded-virtual -Wno-comments -g3 -ggdb3 -fno-rtti -fno-exceptions -Wimplicit-fallthrough -O3 -fvisibility-inlines-hidden -std=c++14 -fno-rtti -fno-exceptions -c ../../third_party/dart/runtime/vm/dart.cc -o clang_x86/obj/third_party/dart/runtime/vm/libdart_vm_nosnapshot_with_precompiler.dart.o > In file included from ../../third_party/dart/runtime/vm/dart.cc:9: > ../../third_party/dart/runtime/vm/compiler/runtime_offsets_extracted.h:958:50: error: implicit conversion from 'long long' to 'const dart::word' (aka 'const long') changes value from 576460752303423487 to -1 [-Werror,-Wconstant-conversion] > static constexpr dart::word Array_kMaxElements = 576460752303423487; > ~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~ > ../../third_party/dart/runtime/vm/compiler/runtime_offsets_extracted.h:965:51: error: implicit conversion from 'long long' to 'const dart::word' (aka 'const long') changes value from 2305843009213693951 to -1 [-Werror,-Wconstant-conversion] > static constexpr dart::word String_kMaxElements = 2305843009213693951; > ~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~ > 2 errors generated. > > Change-Id: Iaf509c6ee7a2ce75664935519ac02a933a9eb2bf > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104402 > Reviewed-by: Siva Annamalai <asiva@google.com> > Commit-Queue: Siva Annamalai <asiva@google.com> > Auto-Submit: Siva Annamalai <asiva@google.com> TBR=asiva@google.com Change-Id: Ibf749ceee274b03cdffa6d7ed46fcbe75d1a1e94 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104620 Reviewed-by: Liam Appelbe <liama@google.com> Reviewed-by: Siva Annamalai <asiva@google.com> Commit-Queue: Liam Appelbe <liama@google.com>
2019-06-03 22:14:16 +00:00
":libdart_vm_config",
]
sources = [ "compiler/offsets_extractor.cc" ]
Reland "[vm] Create offsets_extractor tool." This reverts commit 224f82c21cb2966f36ab850eae7ef5c8697cc477. Reason for revert: Just need to split DBC section into 32 and 64 bit Original change's description: > Revert "[vm] Create offsets_extractor tool." > > This reverts commit 3015d79371a1cf6407e5e799354d42fc6a0dcaec. > > Reason for revert: Fails the Flutter build > /b/s/w/ir/cache/builder/mac_sdk -mmacosx-version-min=10.12 -m32 -fno-strict-aliasing -fstack-protector-all -fcolor-diagnostics -Wall -Wextra -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wunguarded-availability -fvisibility=hidden -stdlib=libc++ -Wheader-hygiene -Wstring-conversion -Wthread-safety -O2 -fno-ident -fdata-sections -ffunction-sections -g2 -Werror -Wall -Wextra -Wno-unused-parameter -Wno-unused-private-field -Wnon-virtual-dtor -Wvla -Wno-conversion-null -Woverloaded-virtual -Wno-comments -g3 -ggdb3 -fno-rtti -fno-exceptions -Wimplicit-fallthrough -O3 -fvisibility-inlines-hidden -std=c++14 -fno-rtti -fno-exceptions -c ../../third_party/dart/runtime/vm/dart.cc -o clang_x86/obj/third_party/dart/runtime/vm/libdart_vm_nosnapshot_with_precompiler.dart.o > In file included from ../../third_party/dart/runtime/vm/dart.cc:9: > ../../third_party/dart/runtime/vm/compiler/runtime_offsets_extracted.h:958:50: error: implicit conversion from 'long long' to 'const dart::word' (aka 'const long') changes value from 576460752303423487 to -1 [-Werror,-Wconstant-conversion] > static constexpr dart::word Array_kMaxElements = 576460752303423487; > ~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~ > ../../third_party/dart/runtime/vm/compiler/runtime_offsets_extracted.h:965:51: error: implicit conversion from 'long long' to 'const dart::word' (aka 'const long') changes value from 2305843009213693951 to -1 [-Werror,-Wconstant-conversion] > static constexpr dart::word String_kMaxElements = 2305843009213693951; > ~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~ > 2 errors generated. > > Change-Id: Iaf509c6ee7a2ce75664935519ac02a933a9eb2bf > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104402 > Reviewed-by: Siva Annamalai <asiva@google.com> > Commit-Queue: Siva Annamalai <asiva@google.com> > Auto-Submit: Siva Annamalai <asiva@google.com> TBR=asiva@google.com Change-Id: Ibf749ceee274b03cdffa6d7ed46fcbe75d1a1e94 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104620 Reviewed-by: Liam Appelbe <liama@google.com> Reviewed-by: Siva Annamalai <asiva@google.com> Commit-Queue: Liam Appelbe <liama@google.com>
2019-06-03 22:14:16 +00:00
include_dirs = [ ".." ]
}
executable("offsets_extractor_precompiled_runtime") {
configs += [
"..:dart_arch_config",
"..:dart_config",
"..:dart_precompiled_runtime_config",
"..:dart_maybe_product_config",
":libdart_vm_config",
]
sources = [ "compiler/offsets_extractor.cc" ]
include_dirs = [ ".." ]
}