Revert "[vm] Build dart2native dependencies with the normal "create_sdk" target" This reverts commit a88a328b7f5afb887baee0e5d7c2db681e52efd6. Reason for revert: Auto roller hasn't rolled previous changes from Dart yet. Those changes updated DEPS for icu/boringssl. We have to wait with this CL until the DEPS changes have been done in the engine. Original change's description: > [vm] Build dart2native dependencies with the normal "create_sdk" target > > 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: I3e47664d9fadb9ed1ad033bb17d46e769442f741 > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150524 > Commit-Queue: Martin Kustermann <kustermann@google.com> > Reviewed-by: Alexander Thomas <athom@google.com> > Reviewed-by: Zach Anderson <zra@google.com> TBR=kustermann@google.com,zra@google.com,athom@google.com,asiva@google.com Change-Id: Ied0f2f5b58dceb2b59bc2ac6e11e5fd717c8885e No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151382 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com>
Dart is:
Optimized for UI: Develop with a programming language specialized around the needs of user interface creation
Productive: Make changes iteratively: use hot reload to see the result instantly in your running app
Fast on all platforms: Compile to ARM & x64 machine code for mobile, desktop, and backend. Or compile to JavaScript for the web
Dart's flexible compiler technology lets you run Dart code in different ways, depending on your target platform and goals:
Dart Native: For programs targeting devices (mobile, desktop, server, and more), Dart Native includes both a Dart VM with JIT (just-in-time) compilation and an AOT (ahead-of-time) compiler for producing machine code.
Dart Web: For programs targeting the web, Dart Web includes both a development time compiler (dartdevc) and a production time compiler (dart2js).
Dart is free and open source.
See LICENSE and PATENT_GRANT.
Visit the dart.dev to learn more about the language, tools, getting started, and more.
Browse pub.dev for more packages and libraries contributed by the community and the Dart team.
If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.
There are more documents on our wiki.
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.