toolchain_prefix was not correctly propagated everywhere it needed to
go. This CL also adds an error to build.py if someone tries to use
--toolchain as it is not supported there.
R=rmacnak@google.com
Review-Url: https://codereview.chromium.org/2797303005 .
This change enables gn.py to take comma separated lists of modes,
architectures, and os's similar to build.py. It also accepts 'all'
for each of these just like build.py. GN is invoked in parallel to
save time.
This change also adds an option --gn to build.py to invoke ninja
instead of the usual build system.
Will investigate invoking tools/gn.py automagically from build.py in
a future change.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2392603005 .
This CL enables unboxed doubles for simdbc64. Unboxed
doubles are stored in regular dbc registers, which are
really 64-bit stack slots. It also implements binary
and unary double operations and comparisons.
R=vegorov@google.com
Review URL: https://codereview.chromium.org/2120703002 .
There were differences between linux gcc, android gcc,
MacOS clang, and 32 vs. 64-bit w.r.t the __builtin
functions for detecting arithmetic overflow. I couldn't get
them all working at the same time. Instead, I removed them,
and changed to always use the inline assembly. This works
in all the configurations above.
This change also adds a simdbc64 target for building simdbc
for 64-bit, and sets up the android targets. simdbc targets
arm, and simdbc64 targets arm64. You can build them with:
$ ./tools/build.py -m release -a simdbc{64} --os=android runtime
R=iposva@google.com
Review URL: https://codereview.chromium.org/1904153003 .
- Add PRODUCT define and build mode to gyp configurations.
- Add product mode to test harness.
- Start to unify list of flags.
- Allow flags to be constant for particular build configurations.
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1663863002 .
Bug was introduced by 91bc8005fe.
- Move the Dart stack pointer from R19 (C preserved) to R15 (C volatile) so it isn't among the registers saved by the InvokeDartCode stub.
- Set a default cross compiler for ARM64.
- Use ARM32 instead of IA32 binary to build Observatory on ARM64 hosts.
R=regis@google.com
Review URL: https://codereview.chromium.org/1559223003 .
2) Move observatory from runtime/bin/vmservice/observatory to runtime/observatory
3) Add two tools scripts:
- tools/run_pub.py (runs pub before SDK is built)
- tools/obs_tool.py (helper for get, build, and deploy stages)
4) Build Observatory with runtime:
- pub get --offline
- pub build
- deploy
5) Build artifacts are now in standard output directory, for example, out/DebugIA32/observatory.
6) Add a new 'dart_boostrap' host target (no snapshot, no observatory) that can be used as the Dart executable to run pub when building Observatory. This is behind a build.py flag --use-bootstrap-for-observatory because:
- It is only necessary on older Linux distributions that are incompatible with the prebuilt Dart testing executable.
- running pub build with the boostrap Debug build is significantly slower.
7) Detect if the prebuilt executable doesn't work and automatically switch to the 'dart_bootstrap' executable. Also, warn the user and provide a Wiki link with more information.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//810623005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42614 260f80e4-7a28-3924-810f-c04153c831b5
The script by default runs 'make all' in the current directory. Since it's common to have a Makefile with an 'all' rule, this can lead to silent failure when a user runs the script from outside the repo root while intending
to do a default build. That behavior is error prone: in my case it made my regression tests pass when they should fail, because I was not actually rebuilding when I thought I was.
It turns out that the build script is sometimes run outside the repo root on purpose, so we can't simply require it be run from the repo root. So, we document the relative nature of the build script.
R=ricow@google.com, jwren@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=20958
Review URL: https://codereview.chromium.org//569343003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40465 260f80e4-7a28-3924-810f-c04153c831b5
Building an sdk requires snapshots to be generated for
pub, analyzer, dart2js, etc. using a Dart VM binary that
has been built for the host. Currently, when we cross-build,
we do not build a Dart VM binary for the host.
Rather than monkey with the gyp files to do that, this
change modifies build.py to explicitly build:
1. The create_sdk target for the host arch,
2. The runtime target for the target arch,
After which files are copied to create a dart-sdk
directory for the target archetecture.
After this change, we *should* be able to cross-build Debian
packages for arm, which I'll work on in a subsequent change.
R=iposva@google.com, whesse@google.com
Review URL: https://codereview.chromium.org//397593006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38337 260f80e4-7a28-3924-810f-c04153c831b5
1. Build script tools/build.py now actually builds X64 target when x64
is passed as an architecture:
- GYP files set 'msvs_configuration_platform': 'x64' for Win_x64
configuration;
- NSS related files are fixed to have correct set of defines for ia32
and x64 builds and include right files. A os_windows.c file added to
work-around inability to have different sets of source files per
configuration. Originally this was controlled through target_arch GYP
define and required regeneration of the solution.
- build.py passes Win32 or x64 platform to devenv as part of build
configuration argument;
2. Dart VM now supports Win64 ABI. ABI description is moved into a
separate class CallingConventions in constants_x64.h.
BUG=http://dartbug.com/7792R=iposva@google.com, ricow@google.com, srdjan@google.com
Review URL: https://codereview.chromium.org//317773002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37078 260f80e4-7a28-3924-810f-c04153c831b5