flutter_flutter/common/config.gni
Zachary Anderson a09b4fdcb7
Adds dynamic, interpreter configs to tools/gn (#5446)
Adds --dynamic and --interpreter flags to
tools/gn. These flags result in engines with
properties as follows:

--dynamic:
- JIT targeting native code on Android and
  DBC on iOS

--interpreter
- Target DBC even if running on Android.

For example:

gn --android --dynamic --interpreter --runtime-mode release

Will generate an engine:
- Without Dart asserts
- Without Observatory
- With JIT compililation to DBC

into out/android_dynamic_release_dbc
2018-06-05 14:52:52 -07:00

48 lines
1.5 KiB
Plaintext

# Copyright 2014 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.
if (is_android) {
import("//build/config/android/config.gni")
}
if (target_cpu == "arm" || target_cpu == "arm64") {
import("//build/config/arm.gni")
}
declare_args() {
# Enable ahead-of-time compilation on platforms where AOT is optional.
flutter_aot = false
# The runtime mode ("debug", "profile", "release", "dynamic_profile", or "dynamic_release")
flutter_runtime_mode = "debug"
}
# feature_defines_list ---------------------------------------------------------
feature_defines_list = [
"FLUTTER_RUNTIME_MODE_DEBUG=1",
"FLUTTER_RUNTIME_MODE_PROFILE=2",
"FLUTTER_RUNTIME_MODE_RELEASE=3",
"FLUTTER_RUNTIME_MODE_DYNAMIC_PROFILE=4",
"FLUTTER_RUNTIME_MODE_DYNAMIC_RELEASE=5",
]
if (flutter_runtime_mode == "debug") {
feature_defines_list += [ "FLUTTER_RUNTIME_MODE=1" ]
} else if (flutter_runtime_mode == "profile") {
feature_defines_list += [ "FLUTTER_RUNTIME_MODE=2" ]
} else if (flutter_runtime_mode == "release") {
feature_defines_list += [ "FLUTTER_RUNTIME_MODE=3" ]
} else if (flutter_runtime_mode == "dynamic_profile") {
feature_defines_list += [ "FLUTTER_RUNTIME_MODE=4" ]
} else if (flutter_runtime_mode == "dynamic_release") {
feature_defines_list += [ "FLUTTER_RUNTIME_MODE=5" ]
} else {
feature_defines_list += [ "FLUTTER_RUNTIME_MODE=0" ]
}
if (flutter_aot) {
feature_defines_list += [ "FLUTTER_AOT=1" ]
}