Files
sdk/dart.gyp
T
zra@google.com 3508d336dd Simplifies standalone VM Android build.
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
2013-12-20 17:51:34 +00:00

189 lines
5.4 KiB
Python

# Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
{
'targets': [
{
'target_name': 'most',
'type': 'none',
'dependencies': [
'analyzer',
'create_sdk',
'dart2js',
'editor',
'packages',
'runtime',
'samples',
],
},
{
# This is the target that is built on the VM build bots. It
# must depend on anything that is required by the VM test
# suites.
'target_name': 'runtime',
'type': 'none',
'dependencies': [
'runtime/dart-runtime.gyp:dart',
'runtime/dart-runtime.gyp:dart_no_snapshot',
'runtime/dart-runtime.gyp:run_vm_tests',
'runtime/dart-runtime.gyp:process_test',
'packages',
'runtime/dart-runtime.gyp:test_extension',
'runtime/dart-runtime.gyp:sample_extension',
],
},
{
'target_name': 'create_sdk',
'type': 'none',
'dependencies': [
'runtime/dart-runtime.gyp:dart',
'utils/compiler/compiler.gyp:dart2js',
'utils/pub/pub.gyp:pub',
'analyzer',
],
'actions': [
{
'action_name': 'create_sdk_py',
'inputs': [
'<!@(["python", "tools/list_files.py", "\\.dart$", "sdk/lib"])',
'<!@(["python", "tools/list_files.py", "", "sdk/bin"])',
'tools/create_sdk.py',
'<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)dart<(EXECUTABLE_SUFFIX)',
'<(SHARED_INTERMEDIATE_DIR)/dart2js.dart.snapshot',
'<(SHARED_INTERMEDIATE_DIR)/utils_wrapper.dart.snapshot',
'<(SHARED_INTERMEDIATE_DIR)/pub.dart.snapshot',
'<(PRODUCT_DIR)/dartanalyzer/dartanalyzer.jar',
'tools/VERSION'
],
'outputs': [
'<(PRODUCT_DIR)/dart-sdk/README',
],
'action': [
'python',
'tools/create_sdk.py',
'--sdk_output_dir', '<(PRODUCT_DIR)/dart-sdk',
'--snapshot_location', '<(SHARED_INTERMEDIATE_DIR)/'
],
'message': 'Creating SDK.',
},
],
},
{
'target_name': 'dart2js',
'type': 'none',
'dependencies': [
'utils/compiler/compiler.gyp:dart2js',
],
},
{
'target_name': 'analyzer',
'type': 'none',
'dependencies': [
'editor/analyzer.gyp:analyzer',
],
},
{
# This is the target that is built on the dart2dart bots.
# It must depend on anything that is required by dart2dart
# tests.
'target_name': 'dart2dart_bot',
'type': 'none',
'dependencies': [
'create_sdk',
'packages',
],
},
{
# This is the target that is built on the dartc bots.
# It must depend on anything that is required by dartc
# tests.
'target_name': 'dartc_bot',
'type': 'none',
'dependencies': [
'create_sdk',
'packages',
],
},
{
# This is the target that is built on the dart2js build bots.
# It must depend on anything that is required by the dart2js
# test suites.
'target_name': 'dart2js_bot',
'type': 'none',
'dependencies': [
'create_sdk',
'packages',
],
},
{
'target_name': 'api_docs',
'type': 'none',
'dependencies': [
# TODO(alanknight) : Once we're fully switched over to the new
# viewer remove the old api_docs gyp file.
'utils/apidoc/apidoc.gyp:api_docs',
'utils/apidoc/docgen.gyp:docgen',
],
},
{
'target_name': 'editor',
'type': 'none',
'dependencies': [
'editor/build/generated/editor_deps.gyp:editor_deps',
# This dependency on create_sdk does not mean that the Editor
# is rebuilt if the SDK is. It only means that when you build
# the Editor, you should also build the SDK. If we wanted to
# make sure that the editor is rebuilt when the SDK is, we
# should list a *file* in PRODUCT_DIR which the action below
# uses as input.
# This is the desired behavior as we would otherwise have to
# rebuild the editor each time the VM, dart2js, or library
# code changes.
'create_sdk',
],
'actions': [
{
'action_name': 'create_editor_py',
'inputs': [
'tools/create_editor.py',
'<(SHARED_INTERMEDIATE_DIR)/editor_deps/editor.stamp',
'<!@(["python", "tools/list_files.py", "", "editor/tools/features/com.google.dart.tools.deploy.feature_releng"])',
],
'outputs': [
'<(PRODUCT_DIR)/editor/VERSION',
],
'action': [
'python',
'tools/create_editor.py',
'--out', '<(PRODUCT_DIR)/editor',
'--build', '<(INTERMEDIATE_DIR)',
],
'message': 'Creating editor.',
},
],
},
{
'target_name': 'samples',
'type': 'none',
'dependencies': [],
'conditions': [
['OS!="android"', {
'dependencies': [
'runtime/dart-runtime.gyp:sample_extension',
],
},
],
]
},
{
'target_name': 'packages',
'type': 'none',
'dependencies': [
'pkg/pkg.gyp:pkg_packages',
],
},
],
}