| 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 |
| 11 RuntimeConfiguration; | 11 RuntimeConfiguration; |
| 12 | 12 |
| 13 import 'test_runner.dart' show | 13 import 'test_runner.dart' show |
| 14 Command, | 14 Command, |
| 15 CommandBuilder, | 15 CommandBuilder, |
| 16 CompilationCommand; | 16 CompilationCommand; |
| 17 | 17 |
| 18 import 'test_suite.dart' show | 18 import 'test_suite.dart' show |
| 19 TestInformation, | 19 TestInformation, |
| 20 TestUtils; | 20 TestUtils; |
| 21 | 21 |
| 22 import 'fletch_session_command.dart' show | 22 import 'dartino_session_command.dart' show |
| 23 FletchSessionCommand; | 23 DartinoSessionCommand; |
| 24 | 24 |
| 25 /// Grouping of a command with its expected result. | 25 /// Grouping of a command with its expected result. |
| 26 class CommandArtifact { | 26 class CommandArtifact { |
| 27 final List<Command> commands; | 27 final List<Command> commands; |
| 28 | 28 |
| 29 /// Expected result of running [command]. | 29 /// Expected result of running [command]. |
| 30 final String filename; | 30 final String filename; |
| 31 | 31 |
| 32 /// MIME type of [filename]. | 32 /// MIME type of [filename]. |
| 33 final String mimeType; | 33 final String mimeType; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 58 // TODO(ahe): Move these booleans into a struction configuration object | 58 // TODO(ahe): Move these booleans into a struction configuration object |
| 59 // which can eventually completely replace the Map-based configuration | 59 // which can eventually completely replace the Map-based configuration |
| 60 // object. | 60 // object. |
| 61 bool isDebug = configuration['mode'] == 'debug'; | 61 bool isDebug = configuration['mode'] == 'debug'; |
| 62 bool isChecked = configuration['checked']; | 62 bool isChecked = configuration['checked']; |
| 63 bool isHostChecked = configuration['host_checked']; | 63 bool isHostChecked = configuration['host_checked']; |
| 64 bool useSdk = configuration['use_sdk']; | 64 bool useSdk = configuration['use_sdk']; |
| 65 bool isCsp = configuration['csp']; | 65 bool isCsp = configuration['csp']; |
| 66 | 66 |
| 67 switch (compiler) { | 67 switch (compiler) { |
| 68 case 'fletchc': | 68 case 'dartino_compiler': |
| 69 return new FletchCCompilerConfiguration( | 69 return new DartinoCCompilerConfiguration( |
| 70 isDebug: isDebug, isChecked: isChecked, | 70 isDebug: isDebug, isChecked: isChecked, |
| 71 isHostChecked: isHostChecked, useSdk: useSdk); | 71 isHostChecked: isHostChecked, useSdk: useSdk); |
| 72 case 'none': | 72 case 'none': |
| 73 return new NoneCompilerConfiguration( | 73 return new NoneCompilerConfiguration( |
| 74 isDebug: isDebug, isChecked: isChecked, | 74 isDebug: isDebug, isChecked: isChecked, |
| 75 isHostChecked: isHostChecked, useSdk: useSdk); | 75 isHostChecked: isHostChecked, useSdk: useSdk); |
| 76 default: | 76 default: |
| 77 throw "Unknown compiler '$compiler'"; | 77 throw "Unknown compiler '$compiler'"; |
| 78 } | 78 } |
| 79 } | 79 } |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 this.moniker, | 163 this.moniker, |
| 164 {bool isDebug, | 164 {bool isDebug, |
| 165 bool isChecked, | 165 bool isChecked, |
| 166 bool isHostChecked, | 166 bool isHostChecked, |
| 167 bool useSdk}) | 167 bool useSdk}) |
| 168 : super._subclass( | 168 : super._subclass( |
| 169 isDebug: isDebug, isChecked: isChecked, | 169 isDebug: isDebug, isChecked: isChecked, |
| 170 isHostChecked: isHostChecked, useSdk: useSdk); | 170 isHostChecked: isHostChecked, useSdk: useSdk); |
| 171 | 171 |
| 172 String computeCompilerPath(String buildDir) { | 172 String computeCompilerPath(String buildDir) { |
| 173 return useSdk ? '$buildDir/dartino-sdk/bin/fletch-vm' | 173 return useSdk ? '$buildDir/dartino-sdk/bin/dartino-vm' |
| 174 : '$buildDir/fletch-vm'; | 174 : '$buildDir/dartino-vm'; |
| 175 } | 175 } |
| 176 | 176 |
| 177 CompilationCommand computeCompilationCommand( | 177 CompilationCommand computeCompilationCommand( |
| 178 String outputFileName, | 178 String outputFileName, |
| 179 String buildDir, | 179 String buildDir, |
| 180 CommandBuilder commandBuilder, | 180 CommandBuilder commandBuilder, |
| 181 List arguments, | 181 List arguments, |
| 182 Map<String, String> environmentOverrides) { | 182 Map<String, String> environmentOverrides) { |
| 183 arguments = new List.from(arguments); | 183 arguments = new List.from(arguments); |
| 184 arguments.add('--out=$outputFileName'); | 184 arguments.add('--out=$outputFileName'); |
| 185 | 185 |
| 186 return commandBuilder.getCompilationCommand( | 186 return commandBuilder.getCompilationCommand( |
| 187 moniker, outputFileName, !useSdk, | 187 moniker, outputFileName, !useSdk, |
| 188 bootstrapDependencies(buildDir), | 188 bootstrapDependencies(buildDir), |
| 189 computeCompilerPath(buildDir), | 189 computeCompilerPath(buildDir), |
| 190 arguments, environmentOverrides); | 190 arguments, environmentOverrides); |
| 191 } | 191 } |
| 192 | 192 |
| 193 List<Uri> bootstrapDependencies(String buildDir) { | 193 List<Uri> bootstrapDependencies(String buildDir) { |
| 194 if (!useSdk) return const <Uri>[]; | 194 if (!useSdk) return const <Uri>[]; |
| 195 | 195 |
| 196 Uri absoluteBuildDir = Uri.base.resolveUri(nativeDirectoryToUri(buildDir)); | 196 Uri absoluteBuildDir = Uri.base.resolveUri(nativeDirectoryToUri(buildDir)); |
| 197 return [absoluteBuildDir.resolve( | 197 return [absoluteBuildDir.resolve( |
| 198 'dart-sdk/bin/snapshots/dart2js.dart.snapshot')]; | 198 'dart-sdk/bin/snapshots/dart2js.dart.snapshot')]; |
| 199 } | 199 } |
| 200 } | 200 } |
| 201 | 201 |
| 202 class FletchCCompilerConfiguration extends Dart2xCompilerConfiguration { | 202 class DartinoCCompilerConfiguration extends Dart2xCompilerConfiguration { |
| 203 | 203 |
| 204 FletchCCompilerConfiguration({ | 204 DartinoCCompilerConfiguration({ |
| 205 bool isDebug, | 205 bool isDebug, |
| 206 bool isChecked, | 206 bool isChecked, |
| 207 bool isHostChecked, | 207 bool isHostChecked, |
| 208 bool useSdk}) | 208 bool useSdk}) |
| 209 : super( | 209 : super( |
| 210 'fletchc', | 210 'dartino_compiler', |
| 211 isDebug: isDebug, isChecked: isChecked, | 211 isDebug: isDebug, isChecked: isChecked, |
| 212 isHostChecked: isHostChecked, useSdk: useSdk) { | 212 isHostChecked: isHostChecked, useSdk: useSdk) { |
| 213 if (!isHostChecked) { | 213 if (!isHostChecked) { |
| 214 throw "fletch only works with --host-checked option."; | 214 throw "dartino only works with --host-checked option."; |
| 215 } | 215 } |
| 216 } | 216 } |
| 217 | 217 |
| 218 CommandArtifact computeCompilationArtifact( | 218 CommandArtifact computeCompilationArtifact( |
| 219 String buildDir, | 219 String buildDir, |
| 220 String tempDir, | 220 String tempDir, |
| 221 CommandBuilder commandBuilder, | 221 CommandBuilder commandBuilder, |
| 222 List basicArguments, | 222 List basicArguments, |
| 223 Map<String, String> environmentOverrides) { | 223 Map<String, String> environmentOverrides) { |
| 224 String snapshotFileName = '$tempDir/fletch.snapshot'; | 224 String snapshotFileName = '$tempDir/dartino.snapshot'; |
| 225 String executable = useSdk ? '$buildDir/dartino-sdk/bin/fletch' | 225 String executable = useSdk ? '$buildDir/dartino-sdk/bin/dartino' |
| 226 : '$buildDir/fletch'; | 226 : '$buildDir/dartino'; |
| 227 String dart = useSdk ? '$buildDir/dartino-sdk/internal/dart' | 227 String dart = useSdk ? '$buildDir/dartino-sdk/internal/dart' |
| 228 : '$buildDir/dart'; | 228 : '$buildDir/dart'; |
| 229 Map<String, String> environment = { | 229 Map<String, String> environment = { |
| 230 'DART_VM' : dart, | 230 'DART_VM' : dart, |
| 231 }..addAll(environmentOverrides); | 231 }..addAll(environmentOverrides); |
| 232 | 232 |
| 233 Command command = new FletchSessionCommand( | 233 Command command = new DartinoSessionCommand( |
| 234 executable, basicArguments.first, basicArguments, | 234 executable, basicArguments.first, basicArguments, |
| 235 environment, snapshotFileName: snapshotFileName); | 235 environment, snapshotFileName: snapshotFileName); |
| 236 | 236 |
| 237 return new CommandArtifact( | 237 return new CommandArtifact( |
| 238 <Command>[command], snapshotFileName, 'application/fletch-snapshot'); | 238 <Command>[command], snapshotFileName, 'application/dartino-snapshot'); |
| 239 } | 239 } |
| 240 | 240 |
| 241 List<String> computeRuntimeArguments( | 241 List<String> computeRuntimeArguments( |
| 242 RuntimeConfiguration runtimeConfiguration, | 242 RuntimeConfiguration runtimeConfiguration, |
| 243 String buildDir, | 243 String buildDir, |
| 244 TestInformation info, | 244 TestInformation info, |
| 245 List<String> vmOptions, | 245 List<String> vmOptions, |
| 246 List<String> sharedOptions, | 246 List<String> sharedOptions, |
| 247 List<String> originalArguments, | 247 List<String> originalArguments, |
| 248 CommandArtifact artifact) { | 248 CommandArtifact artifact) { |
| 249 return <String>[] | 249 return <String>[] |
| 250 ..addAll(vmOptions) | 250 ..addAll(vmOptions) |
| 251 ..add(artifact.filename); | 251 ..add(artifact.filename); |
| 252 } | 252 } |
| 253 } | 253 } |
| OLD | NEW |