3508d336dd
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
189 lines
5.4 KiB
Python
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',
|
|
],
|
|
},
|
|
],
|
|
}
|