Fix Debian builder.
Do not rely on checked in Dart SDK for patch_sdk.py.
Use dart_boostrap instead just like observatory does.
R=kustermann@google.com, whesse@google.com
BUG=
Review URL: https://codereview.chromium.org/2464833002 .
diff --git a/runtime/vm/vm.gypi b/runtime/vm/vm.gypi
index 04e4abd..01b729e 100644
--- a/runtime/vm/vm.gypi
+++ b/runtime/vm/vm.gypi
@@ -1243,6 +1243,7 @@
'type': 'none',
'toolsets': ['host'],
'dependencies': [
+ 'dart_bootstrap#host',
'generate_async_library_patch',
'generate_collection_library_patch',
'generate_convert_library_patch',
@@ -1294,6 +1295,8 @@
'action': [
'python',
'../tools/patch_sdk.py',
+ '--dart-executable',
+ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)dart_bootstrap<(EXECUTABLE_SUFFIX)',
'vm',
'../sdk',
'<(gen_source_dir)/patches',
diff --git a/tools/patch_sdk.py b/tools/patch_sdk.py
index bfc8327..faa2bd0 100755
--- a/tools/patch_sdk.py
+++ b/tools/patch_sdk.py
@@ -3,15 +3,29 @@
# 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.
+import argparse
import os
import subprocess
import sys
import utils
+usage = """patch_sdk.py [options]"""
+
+def BuildArguments():
+ result = argparse.ArgumentParser(usage=usage)
+ result.add_argument("--dart-executable", help="dart executable", default=None)
+ return result
+
def main():
- dart = os.path.join(utils.CheckedInSdkPath(), 'bin', 'dart')
+ # Parse the options.
+ parser = BuildArguments()
+ (options, args) = parser.parse_known_args()
+ if options.dart_executable is not None:
+ options.dart_executable = os.path.abspath(options.dart_executable)
+ else:
+ options.dart_executable = os.path.join(utils.CheckedInSdkPath(), 'bin', 'dart')
dart_file = os.path.join(os.path.dirname(__file__), 'patch_sdk.dart')
- subprocess.check_call([dart, dart_file] + sys.argv[1:]);
+ subprocess.check_call([options.dart_executable, dart_file] + args);
if __name__ == '__main__':
main()