Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library compiler_configuration; | 5 library compiler_configuration; |
| 6 | 6 |
| 7 import 'dart:io' show | 7 import 'dart:io' show |
| 8 Platform; | 8 Platform; |
| 9 | 9 |
| 10 import 'runtime_configuration.dart' show | 10 import 'runtime_configuration.dart' show |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 71 case 'dart2analyzer': | 71 case 'dart2analyzer': |
| 72 return new DartBasedAnalyzerCompilerConfiguration( | 72 return new DartBasedAnalyzerCompilerConfiguration( |
| 73 isDebug: isDebug, isChecked: isChecked, | 73 isDebug: isDebug, isChecked: isChecked, |
| 74 isHostChecked: isHostChecked, useSdk: useSdk); | 74 isHostChecked: isHostChecked, useSdk: useSdk); |
| 75 case 'dart2js': | 75 case 'dart2js': |
| 76 return new Dart2jsCompilerConfiguration( | 76 return new Dart2jsCompilerConfiguration( |
| 77 isDebug: isDebug, isChecked: isChecked, | 77 isDebug: isDebug, isChecked: isChecked, |
| 78 isHostChecked: isHostChecked, useCps: useCps, useSdk: useSdk, | 78 isHostChecked: isHostChecked, useCps: useCps, useSdk: useSdk, |
| 79 isCsp: isCsp, extraDart2jsOptions: | 79 isCsp: isCsp, extraDart2jsOptions: |
| 80 TestUtils.getExtraOptions(configuration, 'dart2js_options')); | 80 TestUtils.getExtraOptions(configuration, 'dart2js_options')); |
| 81 case 'precompiler': | |
| 82 return new PrecompilerCompilerConfiguration( | |
| 83 isDebug: isDebug, isChecked: isChecked); | |
| 81 case 'none': | 84 case 'none': |
| 82 return new NoneCompilerConfiguration( | 85 return new NoneCompilerConfiguration( |
| 83 isDebug: isDebug, isChecked: isChecked, | 86 isDebug: isDebug, isChecked: isChecked, |
| 84 isHostChecked: isHostChecked, useSdk: useSdk, useNoopt: useNoopt); | 87 isHostChecked: isHostChecked, useSdk: useSdk, useNoopt: useNoopt); |
| 85 default: | 88 default: |
| 86 throw "Unknown compiler '$compiler'"; | 89 throw "Unknown compiler '$compiler'"; |
| 87 } | 90 } |
| 88 } | 91 } |
| 89 | 92 |
| 90 CompilerConfiguration._subclass({ | 93 CompilerConfiguration._subclass({ |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 116 | 119 |
| 117 CommandArtifact computeCompilationArtifact( | 120 CommandArtifact computeCompilationArtifact( |
| 118 String buildDir, | 121 String buildDir, |
| 119 String tempDir, | 122 String tempDir, |
| 120 CommandBuilder commandBuilder, | 123 CommandBuilder commandBuilder, |
| 121 List arguments, | 124 List arguments, |
| 122 Map<String, String> environmentOverrides) { | 125 Map<String, String> environmentOverrides) { |
| 123 return new CommandArtifact([], null, null); | 126 return new CommandArtifact([], null, null); |
| 124 } | 127 } |
| 125 | 128 |
| 129 List<String> computeCompilerArguments(vmOptions, sharedOptions, args) { | |
| 130 return new List<String>() | |
| 131 ..addAll(sharedOptions) | |
| 132 ..addAll(args); | |
| 133 } | |
| 134 | |
| 126 List<String> computeRuntimeArguments( | 135 List<String> computeRuntimeArguments( |
| 127 RuntimeConfiguration runtimeConfiguration, | 136 RuntimeConfiguration runtimeConfiguration, |
| 128 String buildDir, | 137 String buildDir, |
| 129 TestInformation info, | 138 TestInformation info, |
| 130 List<String> vmOptions, | 139 List<String> vmOptions, |
| 131 List<String> sharedOptions, | 140 List<String> sharedOptions, |
| 132 List<String> originalArguments, | 141 List<String> originalArguments, |
| 133 CommandArtifact artifact) { | 142 CommandArtifact artifact) { |
| 134 return <String>[artifact.filename]; | 143 return <String>[artifact.filename]; |
| 135 } | 144 } |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 291 Uri sdk = useSdk ? | 300 Uri sdk = useSdk ? |
| 292 nativeDirectoryToUri(buildDir).resolve('dart-sdk/') : | 301 nativeDirectoryToUri(buildDir).resolve('dart-sdk/') : |
| 293 nativeDirectoryToUri(TestUtils.dartDir.toNativePath()).resolve('sdk/'); | 302 nativeDirectoryToUri(TestUtils.dartDir.toNativePath()).resolve('sdk/'); |
| 294 Uri preambleDir = sdk.resolve( | 303 Uri preambleDir = sdk.resolve( |
| 295 'lib/_internal/js_runtime/lib/preambles/'); | 304 'lib/_internal/js_runtime/lib/preambles/'); |
| 296 return runtimeConfiguration.dart2jsPreambles(preambleDir) | 305 return runtimeConfiguration.dart2jsPreambles(preambleDir) |
| 297 ..add(artifact.filename); | 306 ..add(artifact.filename); |
| 298 } | 307 } |
| 299 } | 308 } |
| 300 | 309 |
| 310 | |
| 311 class PrecompilerCompilerConfiguration extends CompilerConfiguration { | |
| 312 PrecompilerCompilerConfiguration({ | |
| 313 bool isDebug, | |
| 314 bool isChecked}) | |
| 315 : super._subclass(isDebug: isDebug, isChecked: isChecked); | |
| 316 | |
| 317 int computeTimeoutMultiplier() { | |
| 318 int multiplier = 2; | |
| 319 if (isDebug) multiplier *= 4; | |
| 320 if (isChecked) multiplier *= 2; | |
| 321 return multiplier; | |
| 322 } | |
| 323 | |
| 324 CommandArtifact computeCompilationArtifact( | |
| 325 String buildDir, | |
| 326 String tempDir, | |
| 327 CommandBuilder commandBuilder, | |
| 328 List arguments, | |
| 329 Map<String, String> environmentOverrides) { | |
| 330 return new CommandArtifact( | |
| 331 <Command>[ | |
| 332 this.computeCompilationCommand( | |
| 333 tempDir, | |
| 334 buildDir, | |
| 335 CommandBuilder.instance, | |
| 336 arguments, | |
| 337 environmentOverrides)], | |
| 338 '$tempDir', | |
| 339 'application/dart-precompiled'); | |
| 340 } | |
| 341 | |
| 342 CompilationCommand computeCompilationCommand( | |
| 343 String outputFileName, | |
|
Florian Schneider
2015/12/17 12:53:25
This is really the directory, right?
s/outputFile
rmacnak
2015/12/17 19:20:51
Yes.
| |
| 344 String buildDir, | |
| 345 CommandBuilder commandBuilder, | |
| 346 List arguments, | |
| 347 Map<String, String> environmentOverrides) { | |
| 348 var exec = "$buildDir/dart"; | |
| 349 var args = new List(); | |
| 350 args.add("tools/precompilation/precompiler.dart"); | |
| 351 args.add("$buildDir/dart_no_snapshot"); | |
| 352 args.add("--gen-precompiled-snapshot=$outputFileName"); | |
| 353 args.addAll(arguments); | |
| 354 | |
| 355 return commandBuilder.getCompilationCommand( | |
| 356 'precompiler.dart', outputFileName, !useSdk, | |
| 357 bootstrapDependencies(buildDir), | |
| 358 exec, args, environmentOverrides); | |
| 359 } | |
| 360 | |
| 361 List<String> computeCompilerArguments(vmOptions, | |
| 362 sharedOptions, | |
| 363 originalArguments) { | |
| 364 List<String> args = []; | |
| 365 if (isChecked) { | |
| 366 args.add('--enable_asserts'); | |
| 367 args.add('--enable_type_checks'); | |
| 368 } | |
| 369 return args | |
| 370 ..addAll(vmOptions) | |
| 371 ..addAll(sharedOptions) | |
| 372 ..addAll(originalArguments); | |
| 373 } | |
| 374 | |
| 375 List<String> computeRuntimeArguments( | |
| 376 RuntimeConfiguration runtimeConfiguration, | |
| 377 String buildDir, | |
| 378 TestInformation info, | |
| 379 List<String> vmOptions, | |
| 380 List<String> sharedOptions, | |
| 381 List<String> originalArguments, | |
| 382 CommandArtifact artifact) { | |
| 383 List<String> args = []; | |
| 384 if (isChecked) { | |
| 385 args.add('--enable_asserts'); | |
| 386 args.add('--enable_type_checks'); | |
| 387 } | |
| 388 return args | |
| 389 ..addAll(vmOptions) | |
| 390 ..addAll(sharedOptions) | |
| 391 ..addAll(originalArguments); | |
| 392 } | |
| 393 } | |
| 394 | |
| 395 | |
| 301 /// Common configuration for analyzer-based tools, such as, dartanalyzer. | 396 /// Common configuration for analyzer-based tools, such as, dartanalyzer. |
| 302 class AnalyzerCompilerConfiguration extends CompilerConfiguration { | 397 class AnalyzerCompilerConfiguration extends CompilerConfiguration { |
| 303 final String moniker; | 398 final String moniker; |
| 304 | 399 |
| 305 AnalyzerCompilerConfiguration( | 400 AnalyzerCompilerConfiguration( |
| 306 this.moniker, | 401 this.moniker, |
| 307 {bool isDebug, | 402 {bool isDebug, |
| 308 bool isChecked, | 403 bool isChecked, |
| 309 bool isHostChecked, | 404 bool isHostChecked, |
| 310 bool useSdk}) | 405 bool useSdk}) |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 375 // shipped SDK, that is the script is not installed in | 470 // shipped SDK, that is the script is not installed in |
| 376 // "$buildDir/dart-sdk/bin/" | 471 // "$buildDir/dart-sdk/bin/" |
| 377 return '$prefix/dartanalyzer_developer$suffix'; | 472 return '$prefix/dartanalyzer_developer$suffix'; |
| 378 } | 473 } |
| 379 if (useSdk) { | 474 if (useSdk) { |
| 380 prefix = '$buildDir/dart-sdk/bin'; | 475 prefix = '$buildDir/dart-sdk/bin'; |
| 381 } | 476 } |
| 382 return '$prefix/dartanalyzer$suffix'; | 477 return '$prefix/dartanalyzer$suffix'; |
| 383 } | 478 } |
| 384 } | 479 } |
| OLD | NEW |