| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import 'dart:io'; |
| |
| import 'base/utils.dart'; |
| import 'globals.dart'; |
| |
| enum BuildType { |
| prebuilt, |
| release, |
| debug, |
| } |
| |
| /// The type of build - `debug`, `profile`, or `release`. |
| enum BuildMode { |
| debug, |
| profile, |
| release |
| } |
| |
| String getModeName(BuildMode mode) => getEnumName(mode); |
| |
| // Returns true if the selected build mode uses ahead-of-time compilation. |
| bool isAotBuildMode(BuildMode mode) { |
| return mode == BuildMode.profile || mode == BuildMode.release; |
| } |
| |
| enum HostPlatform { |
| darwin_x64, |
| linux_x64, |
| } |
| |
| String getNameForHostPlatform(HostPlatform platform) { |
| switch (platform) { |
| case HostPlatform.darwin_x64: |
| return "mac_debug"; |
| case HostPlatform.linux_x64: |
| return "linux-x64"; |
| } |
| assert(false); |
| } |
| |
| enum TargetPlatform { |
| android_arm, |
| android_x64, |
| android_x86, |
| ios, |
| darwin_x64, |
| linux_x64 |
| } |
| |
| String getNameForTargetPlatform(TargetPlatform platform) { |
| switch (platform) { |
| case TargetPlatform.android_arm: |
| return "android-arm"; |
| case TargetPlatform.android_x64: |
| return "android-x64"; |
| case TargetPlatform.android_x86: |
| return "android-x86"; |
| case TargetPlatform.ios: |
| return "ios_release"; |
| case TargetPlatform.darwin_x64: |
| return "mac_debug"; |
| case TargetPlatform.linux_x64: |
| return "linux-x64"; |
| } |
| assert(false); |
| } |
| |
| HostPlatform getCurrentHostPlatform() { |
| if (Platform.isMacOS) |
| return HostPlatform.darwin_x64; |
| if (Platform.isLinux) |
| return HostPlatform.linux_x64; |
| |
| printError('Unsupported host platform, defaulting to Linux'); |
| |
| return HostPlatform.linux_x64; |
| } |