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 .
Readd samples, samples-dev, tools/testing/bin, third_party removed by cleanup (no history, sorry)
Add DEPS file which will replace the old all.deps and standalone.deps
Add tools/deps/dartium.deps replacing the old dartium.deps (but now editable from a normal checkout)
Fixup tools/utils.py to use the new archiving schema (git count for be, version number for dev/stable
Fix codereview.settings
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
This change also avoids the need to
do another 'gclient runhooks' when switching
between Android and Linux builds, and between
IA32 and ARM Android builds.
gyp does not allow 'libraries' sections inside of
configurations. Therefore, since some architecture
specific paths, libraries, etc. must be specified
on the Android NDK's linker command line, to avoid
re-gyping when switching between Android IA32 and ARM,
this change moves the architecture specific linker
flags to a script, android_link.py.
To avoid re-gyping when swtiching between Linux and
Android, this change creates new configurations
that specify the target OS as well as the the target
architecture, e.g. ReleaseLinuxARM or ReleaseAndroidARM
instead of ReleaseARM.
This change also adds a --toolchain flag to build.py,
and removes obsoleted logic for setting up the Android
build.
R=iposva@google.com
Review URL: https://codereview.chromium.org//105223002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31340 260f80e4-7a28-3924-810f-c04153c831b5
This means that all components of the SDK (i.e. DartVM, dart2js, dartanalyzer,
pub) will have the same semantic version string when invoking them with
'--version'. The version string is also present in "dart-sdk/version".
The editor will have an eclipse compatible version which consists of
major.minor.patch.qualifier.
The SDK versions look like this on our three channels:
- bleeding-edge: 1.1.0-edge.30857
- dev: 1.1.0-dev.2.42
- stable: 1.1.0
The SDK versions comply with the semantic versioning standard, see:
http://semver.org/.
The DartEditor versions look like this on our three channels:
- bleeding-edge: 1.1.0.edge_030857
- dev: 1.1.0.dev_02_42
- stable: 1.1.0.release
The DartEditor versions comply with semantic eclipse versioning scheme.
(The leading zeros are necessary due to lexicographic ordering.)
From both version schemes, it becomes clear on which channel a user is on.
R=danrubel@google.com, kasperl@google.com, rnystrom@google.com
Review URL: https://codereview.chromium.org//104403005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30905 260f80e4-7a28-3924-810f-c04153c831b5