Commit graph

54 commits

Author SHA1 Message Date
Martin Kustermann 105b426cf6 [VM] Exclude runtime/bin:precompiler_entry_points_json from being generated for ia32/dbc
Change-Id: Ibd0b478e32a518804e5015ea3468ce8fca745933
Reviewed-on: https://dart-review.googlesource.com/43962
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-02-27 10:57:47 +00:00
Vyacheslav Egorov 37f56d6c8e [vm/simdbc] Fix SIMDBC64 build: do not try to generate entry points JSON.
Change-Id: I74d416e345d4dd9c3b73d4fb523ebcf02ca8b629
Reviewed-on: https://dart-review.googlesource.com/43780
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-02-26 17:08:47 +00:00
Alexander Markov 111ea256ad [vm/kernel/aot] Generate list of precompiler entry points during build
This CL adds auto-generation of entry points JSON file for standalone VM
during build (in runtime_kernel target, as it is only used for
kernel-based transformation).

pkg/vm/tool/precompiler2 script is changed to automatically pass
auto-generated entry points to gen_kernel.

New option --entry-points is added to pkg/vm/bin/gen_kernel.dart in order to
specify custom entry points files.

Checked-in entry_points.json is still used for testing and in gen_kernel
if --entry-points is not specified.

Issue: https://github.com/dart-lang/sdk/issues/30480
Change-Id: I39c4461e48763f40d7565656dc33e23fc5d9c2cb
Reviewed-on: https://dart-review.googlesource.com/42521
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2018-02-23 18:30:46 +00:00
James Robinson 138d587e3a [gn] Remove uses of is_fuchsia_host GN variable
Some parts of the Dart build need to be customized when running the
host steps for a build ultimately targeting a Fuchsia build. This was
set by passing a special GN variable indicating that a configuration
was a host configuration targeting a Fuchsia build, but the built-in GN
variable 'target_os' has the same result as it is the same across all
toolchains in a particular build.  This replaces the test:
  is_fuchsia || is_fuchsia_host

with the equivalent:
  target_os == "fuchsia"

and the less common:
  is_fuchsia_host

with:
  target_os != current_os && target_os == "fuchsia"

Change-Id: Iabec1fb2879b234ca44c9e03b2f4a62ffbc6fa4a
Reviewed-on: https://dart-review.googlesource.com/35542
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-01-18 06:05:56 +00:00
Siva Chandra 4b73d12082 Link kernel service dill with the command line dart executable.
This linked in kernel service dill file will be used to load the kernel
isolate if the attempt to lookup the kernel service snapshot fails. The
kernel service snapshot is looked up in the following order.

1. If the "--dfe" option is specified, the file specified is used.
2. If the kernel service snapshot is found next to the executable,
then it is used.
3. If the kernel service snapshot is found in the "snapshots" directory
next to the executable, then it is used.

Change-Id: I5a0e757eb27b26a274b22b4bc36350fee59a100f
Reviewed-on: https://dart-review.googlesource.com/32446
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2018-01-12 20:40:41 +00:00
P.Y. Laligand ab25f54bf5 Allow the host toolchain to be set via a simple variable.
It can now be defined in a config file rather than requiring a gen argument.

Change-Id: I8f11394ee0387683c9ce48764a04b4bdf54fed9b
Bug:
Reviewed-on: https://dart-review.googlesource.com/18687
Reviewed-by: Zach Anderson <zra@google.com>
2017-11-06 19:06:18 +00:00
Zachary Anderson a99cdabd00 Reland: [GN] Adds dart_host_sdk_toolchain argument
Setting this build argument to something other than host_toolchain will
cause the build target create_host_sdk to be exposed. That target will
build the Dart SDK with the toolchain specified by
dart_host_sdk_toolchain.

Relanding to fix bad toolchain conditions in dart_os_config and
dart_arch_config.

TO-549

Change-Id: I276f47d9071233acb98f6029a4666da0cee33d7d
Reviewed-on: https://dart-review.googlesource.com/18361
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2017-11-02 19:02:18 +00:00
Zach Anderson 8f5d55623e Revert "[GN] Adds dart_host_sdk_toolchain argument"
This reverts commit 8fc90bd3bc.

Broken precomp bots due to wrong toolchain condition in dart_arch_config and dart_os_config.

Change-Id: Ic5c75f9ca3a0d4f316678354da44d1fcca10499d
Reviewed-on: https://dart-review.googlesource.com/18360
Reviewed-by: Zach Anderson <zra@google.com>
2017-11-02 18:03:27 +00:00
Zachary Anderson 8fc90bd3bc [GN] Adds dart_host_sdk_toolchain argument
Setting this build argument to something other than host_toolchain will
cause the build target create_host_sdk to be exposed. That target will
build the Dart SDK with the toolchain specified by
dart_host_sdk_toolchain.

TO-549

Change-Id: Ida92521724cf7af34b34fb8c6d3514a226c48dd4
Reviewed-on: https://dart-review.googlesource.com/18145
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2017-11-02 17:27:19 +00:00
Zachary Anderson 02eebb0c69 [GN] Remove the dart_host_toolchain arg
This flag can be removed after: https://github.com/flutter/engine/pull/4308
lands.

Change-Id: I4730aaece1e43cf71ea569bda78c2cd546a66358
Reviewed-on: https://dart-review.googlesource.com/18060
Reviewed-by: Alexander Aprelev <aam@google.com>
2017-11-01 21:13:28 +00:00
Roland McGrath 7dc8022c82 [infra] //build/bootdata.gni -> //build/config/fuchsia/bootdata.gni
This new Fuchsia GN infrastructure file actually landed by a slightly
different name, so update the reference to it.

Change-Id: I52ba2bc91eb3125c938added87d8ad3c864371d4
Reviewed-on: https://dart-review.googlesource.com/16302
Reviewed-by: Zach Anderson <zra@google.com>
2017-10-24 18:23:08 +00:00
Roland McGrath 014a34e64f [infra] Use new GN template to assemble Fuchsia test image
Generate a manifest of just Dart's files, no longer rolling in the
main Fuchsia manifest.  Use Fuchsia's new bootdata() template to
generate a BOOTFS image of just the Dart test files.  A new Fuchsia
GN build argument will control rolling this into the final image.

IN-70

Change-Id: Idd2db5aab483f49d6f6f3e4065798ded130d606a
Reviewed-on: https://dart-review.googlesource.com/15987
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2017-10-24 15:27:58 +00:00
Peter von der Ahé 16aa720d27 Remove compiling platform.dill from patch_sdk.dart
This separates compiling platform.dill files from the patch_sdk.dart
script. The motivation for that is that I'm working on reading patch
files directly from Fasta, so we can completely remove the build step
for generating patched_sdk and dart2js_patched_sdk.

Short-term this should allow Paul to add a strong-mode version of
platform.dill without causing to many conflicts with my work on
patches.

Change-Id: I1150845b2986348d4fffe27092701d8a9b57ea54
Reviewed-on: https://dart-review.googlesource.com/11506
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2017-10-06 15:34:37 +00:00
George Kulakowski 5923ff4900 Reorder Fuchsia file headers and gn format
These were left out of order by the mechanical changes that were part
of Fuchsia's Magenta->Zircon rename.

Change-Id: I41c81eb889c6076ffe82102018721e5abc74e7ac
Reviewed-on: https://dart-review.googlesource.com/6165
Reviewed-by: Zach Anderson <zra@google.com>
2017-09-15 20:28:49 +00:00
George Kulakowski 7800d2a995 Rename Magenta to Zircon, along with related abbreviations
Change-Id: Ic4215ceb00f5a60d21ec1398fd398a9f78a9eb94
Reviewed-on: https://dart-review.googlesource.com/6100
Reviewed-by: Zach Anderson <zra@google.com>
2017-09-15 14:54:18 +00:00
Sigmund Cherem de7e14436c Include platform.dill files in sdk builds
R=zra@google.com

Review-Url: https://codereview.chromium.org/2984243002 .
2017-07-26 14:50:49 -07:00
Sigmund Cherem 08890e6db7 Add patched_dart2js_sdk to the dart2js_bot build target
This should ensure this is available in the build bots.

R=sra@google.com, zra@google.com

Review-Url: https://codereview.chromium.org/2990633002 .
2017-07-25 12:36:46 -07:00
Zachary Anderson 50475dd351 [Fuchsia] Fix test image. Update status files for vm and language suites
IN-70

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2957233003 .
2017-06-29 07:45:19 -07:00
Alexander Aprelev 4f9b25e410 Fix previous CL where dart_bootstrap was accidently changed to dart_bootstrap_host_arch.
Also fix two missed places where host_toolchain should be replaced with dart_host_toolchain.

R=rmacnak@google.com

BUG:flutter/flutter#10841
Review-Url: https://codereview.chromium.org/2953873002 .
2017-06-22 13:17:53 -07:00
Zachary Anderson 935df723f0 [Fuchsia] Really remove dead GN flag
Missed this in previous commit.

Review-Url: https://codereview.chromium.org/2902083002 .
2017-05-23 22:18:39 -07:00
Zachary Anderson 7f16342577 [Fuchsia] Fix test image creation
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2897123002 .
2017-05-23 22:14:57 -07:00
Zachary Anderson 81e428fd39 [infra] Assembles the SDK using GN rather than create_sdk.py
This has a few advantages:
- We can track dependencies more precisely
- ninja can assemble things in parallel as they're ready rather than
  sequentially all at once.
- It is easier to customize SDKs depending on target platform, e.g.
  Fuchsia.

This CL also has a number of cleanups:
- Defining is_fuchsia and is_fuchsia host so we don't always have to check
- Piping through toolchain overrides in more places
- Fixing bugs in copy_tree.py, not using list_files.py, which is broken on Windows

related #29558

R=whesse@google.com

Review-Url: https://codereview.chromium.org/2848943003 .
2017-05-20 23:30:09 -07:00
Zachary Anderson b6bb2978e1 [Fuchsia] Build only the parts of the SDK that are needed
In particular, dart2js, dartdoc, and ddc aren't used.

R=johnmccutchan@google.com, pylaligand@google.com

Review-Url: https://codereview.chromium.org/2826793002 .
2017-04-19 09:00:14 -07:00
Zachary Anderson e73edbc5d1 [Fuchsia] Bind Observatory to ipv4 any
Also fix a command line argument for creating the test image.

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2740203002 .
2017-03-09 12:50:41 -08:00
Zachary Anderson 2ff4e1f15a [Fuchsia] Prepend test image with magenta data
For the recent change that shuffles this around.

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2723103005 .
2017-03-02 10:34:42 -08:00
Martin Kustermann 7541479fc5 Change BUILD.gn to force ninja file regeneration
Review-Url: https://codereview.chromium.org/2725173002 .
2017-03-02 16:04:30 +01:00
Zachary Anderson 6c08487f47 [Fuchsia] Adds an option to create_sdk.py to skip binary stripping
create_sdk.py tries to use the host 'strip' instead of the
'strip' from the build's toolchain.

fixes #28900

R=whesse@google.com

Review-Url: https://codereview.chromium.org/2720613004 .
2017-02-27 15:35:11 -08:00
Ryan Macnak eb5efb31c8 Fix Fuchsia GN build.
R=jamesr@google.com

Review-Url: https://codereview.chromium.org/2667983005 .
2017-01-31 15:32:58 -08:00
Ryan Macnak b93307ea92 Move the kernel isolate snapshot out of the 'runtime' target to reduce build times on the simulators.
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2663063006 .
2017-01-31 14:46:30 -08:00
Ryan Macnak 9eb216a495 Reapply "Create an app snapshot of the Dart front end."
Skip training on Windows, issue #28532.

R=hausner@google.com

Review-Url: https://codereview.chromium.org/2665753002 .
2017-01-31 09:47:51 -08:00
Ryan Macnak 728f460798 Revert "Create an app snapshot of the Dart front end."
This reverts commit 8c7111c967.
This reverts commit 27c8e59d2e.

Review-Url: https://codereview.chromium.org/2657123002 .
2017-01-26 17:42:25 -08:00
Ryan Macnak 27c8e59d2e Supress generating dfe snapshot on Windows.
Issue #28532

Review-Url: https://codereview.chromium.org/2655243004 .
2017-01-26 17:23:36 -08:00
Ryan Macnak 8c7111c967 Create an app snapshot of the Dart front end.
R=asiva@google.com, hausner@google.com, zra@google.com

Review-Url: https://codereview.chromium.org/2655173002 .
2017-01-26 16:28:59 -08:00
Zachary Anderson 3355532f01 Fuchsia: Copy libraries to SDK bin directory
Dart in Fuchsia-land is dynamically linked. For the SDK for the host,
that is used during the Fuchsia build for running the analyzer, etc.,
we have to put the .so's next to the binary so the dynamic linker
can find them.

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2646853005 .
2017-01-20 13:06:34 -08:00
Zachary Anderson 306b0ec249 Fuchsia: Build an OS image that includes Dart's test suite.
Guarded by a GN argument, this CL builds a Fuchsia OS image
that includes Dart tree, including the test suite, packages,
test harness, and sufficient build output to run through the
test suite.

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2547013003 .
2017-01-19 10:11:27 -08:00
Florian Schneider bef4967ea1 Remove dart_noopt and related parts from the VM.
dart_noopt is not needed anymore because we have testing
and builbot integration of the real precompilation pipeline in place now.

Fixes #24569
Fixes #25726
Fixes #25845

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2624393002 .
2017-01-11 16:55:55 -08:00
Florian Schneider c7aba7d87f GN build: Add process_test to precompiled runtime target.
It is needed to run some I/O tests on Android devices. The buildbots were
using an existing (outdated) version, so they continue to work by accident.

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2619723004 .
2017-01-09 16:58:09 -08:00
Zachary Anderson 7f55ad8b86 Fuchsia: Allows building the full SDK for host and target.
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2571713004 .
2016-12-13 13:02:52 -08:00
Zachary Anderson ccfafee023 Make list_files.py and list_dart_files.py return absolute paths for GN
This makes doing an SDK build in the Fuchsia tree easier.

The previous attempt at this change failed in gyp builds targeting xcode.
They failed because input lists for actions of the same target (e.g. the
actions for dartanalyzer) are merged and de-duped when the lists contain
relative paths, but merged and *not* de-duped when the lists contain
absolute paths. gyp rejects xcode files that it generated itself
when they contain duplicate entries.

This CL works around that bug, by using absolute paths in the GN build
and keeping relative paths in the gyp build.

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2567213002 .
2016-12-13 10:01:28 -08:00
Zachary Anderson b873e2b8e3 Revert "Make list_files.py and list_dart_files.py return absolute paths"
This reverts commit a858542c89.

mac gyp build fails.

Review-Url: https://codereview.chromium.org/2574523002 .
2016-12-12 13:14:53 -08:00
Zachary Anderson a858542c89 Make list_files.py and list_dart_files.py return absolute paths
This makes doing an SDK build in the Fuchsia tree easier

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2564413004 .
2016-12-12 13:09:26 -08:00
Vyacheslav Egorov eb8c24e133 Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork."
R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2451623006 .
2016-10-27 10:09:22 +02:00
Zachary Anderson c1313a5ec7 Format GN files and add a presubmit check that GN is properly formatted
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2451613005 .
2016-10-26 08:50:54 -07:00
Vyacheslav Egorov 12968edb9c Revert "Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork.""
This reverts commit 4e7a31262e.

Windows bots are broken now.

R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2451893004 .
2016-10-26 17:07:18 +02:00
Vyacheslav Egorov 4e7a31262e Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork."
This relands commit 2fed1c3905 with fixes to ensure that analyzer summaries are correctly created and XARM build does not try to use target binaries on the host.

R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2453773002 .
2016-10-26 16:48:28 +02:00
Vyacheslav Egorov cf7ff42e60 Revert "Merge more Kernel infrastructure from kernel_sdk SDK fork."
This reverts commit 2fed1c3905.

SDK builds are failing

TBR=zra@google.com

Review URL: https://codereview.chromium.org/2455593002 .
2016-10-26 13:06:27 +02:00
Vyacheslav Egorov 2fed1c3905 Merge more Kernel infrastructure from kernel_sdk SDK fork.
- bring patched SDK generation scripts and VM patch tweaks that allow VM patch files to be parsed by analyzer front-end;
  Patched SDK is an SDK with all VM patches spliced into it. Kernel compiler is based on the analyzer front-end which does
  not have any patch files support/model so for it to produce Kernel files that match VM we need to generate a such patched SDKs.

- bring test script modifications that allow to test Kernel pipeline

BUG=
R=asiva@google.com, kmillikin@google.com, whesse@google.com, zra@google.com

Review URL: https://codereview.chromium.org/2434123003 .
2016-10-26 13:02:54 +02:00
Zachary Anderson c39525802e GN: Fix build
GN is unhappy when a rule that consumes a file generated by
another rule doesn't depend directly on that rule.

This change also quiets output from invoking Dart to follow the
rule of GN builds that a successful build generates no output.

Review URL: https://codereview.chromium.org/2446473002 .
2016-10-22 00:05:39 -07:00
Ryan Macnak af7bf4dab0 GN: Build the SDK with app snapshots instead of script snapshots.
R=zra@google.com

Review URL: https://codereview.chromium.org/2442513003 .
2016-10-21 17:40:21 -07:00
Zachary Anderson ee21a2261d Use list_dart_files.py instead of list_files.py in GN build.
To track https://codereview.chromium.org/2391863002/ on the
gyp side, and use it in more places.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2392253002 .
2016-10-05 07:50:40 -07:00