This change:
- Sucks in gn binaries
- Sucks in a version of llvm that the GN build likes
- Adds tools/gn.py to invoke gn
- Adds a root BUILD.gn and .gn file
- Removes chrome boilerplate we don't need
- etc.
This lets us do a standalone build of the 'runtime'
target for x64, ia32, arm, arm64, mips, and the
simulators on Linux, and arm and arm64 on Android.
It does not include tcmalloc, and hasn't been tested
on Mac or Windows. That work and more cleanup of
chrome boilerplate will come in follow-up CLs.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2350583002 .
This adds a GN target for the 'fuchsia_test' executable and teaches
the GN build about is_fuchsia. Key differences:
*) There's not currently a dart:io implementation for Fuchsia
*) Fuchsia's toolchain currently doesn't support (or need) ldl or lpthread
*) Fuchsia's buildconfig doesn't currently set the is_asan variable
Review URL: https://codereview.chromium.org/2149953003 .
Allow controlling the target ABI by defining TARGET_ABI_IOS or TARGET_ABI_EABI. If neither is defined, default to the previous behavior.
Make Linux, Mac, Android and iOS agree on the value of PreferredCodeAlignment for all architectures.
BUG=http://dartbug.com/26464R=zra@google.com
Review URL: https://codereview.chromium.org/1982613003 .
1. Add "dart_runtime_mode" GN argument. This is an enum with three valid values: "release", "profile", and "develop".
*) "release" builds product precompiled-runtime.
*) "profile" builds non-product precompiled-runtime.
*) "develop" builds non-product non-precompiled-runtime.
2. Remove the redundant "dart_product" GN argument.
3. Kill all *precompiled_runtime static library variants and the related config.
4. Always include the precompiler in gen_snapshot.
5. Support multiple --embedder_entry_points_manifest arguments to gen_snapshot.
6. Update our test harness to use gen_snapshot and pass the same kinds of command line arguments the Flutter folks are using.
7. ASSERT that both DART_PRECOMPILED_RUNTIME and DART_PRECOMPILER are not set at the same time.
R=fschneider@google.com, rmacnak@google.com
Review URL: https://codereview.chromium.org/1903583002 .
This allows the embedder using the gn build files build a VM runtime without compiler-related code, used to run a precompiled snapshot.
It is a copy of libdart, but has the macro DART_PRECOMPILED_RUNTIME defined which excludes all
compiler-related code, not needed to run precompiled code from the binary.
BUG=
R=chinmaygarde@google.com
Review URL: https://codereview.chromium.org/1738503002 .