mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
82 lines
1.7 KiB
Dart
82 lines
1.7 KiB
Dart
// 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;
|
|
}
|