0361abf39d
The current setup for the iOS simulator keys off of the fact that iOS runs on ARM CPUs, and Macs (prior to M1) ran on x64 CPUs. So setting the target_os to "ios" and the target_cpu to "x64" will indicate use of the simulator. On M1, they have the same CPU architecture, so we need another method to indicate use of the simulator SDK. Also added a check to disable code signing, which is not needed for running on the simulator. Bug: skia:12880 Change-Id: I668121010cc557546c4a4e4960601a732bb985c5 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526017 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
242 lines
6.2 KiB
Plaintext
242 lines
6.2 KiB
Plaintext
# Copyright 2016 Google Inc.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
is_skia_standalone = true
|
|
|
|
# It's best to keep the names and defaults of is_foo flags consistent with Chrome.
|
|
|
|
declare_args() {
|
|
is_official_build = false
|
|
is_component_build = false
|
|
ndk = ""
|
|
|
|
# Android 5.0, Lollipop
|
|
ndk_api = 21
|
|
|
|
sanitize = ""
|
|
|
|
ar = "ar"
|
|
cc = "cc"
|
|
cxx = "c++"
|
|
|
|
win_sdk = "C:/Program Files (x86)/Windows Kits/10"
|
|
win_sdk_version = ""
|
|
|
|
win_vc = ""
|
|
win_toolchain_version = ""
|
|
|
|
clang_win = ""
|
|
clang_win_version = ""
|
|
|
|
ios_min_target = ""
|
|
ios_use_simulator =
|
|
target_os == "ios" && (target_cpu == "x86" || target_cpu == "x64")
|
|
}
|
|
declare_args() {
|
|
is_debug = !is_official_build
|
|
}
|
|
|
|
assert(!(is_debug && is_official_build))
|
|
|
|
if (target_cpu == "wasm") {
|
|
target_os = "wasm"
|
|
}
|
|
|
|
# Platform detection
|
|
if (target_os == "") {
|
|
target_os = host_os
|
|
if (ndk != "") {
|
|
target_os = "android"
|
|
}
|
|
}
|
|
if (current_os == "") {
|
|
current_os = target_os
|
|
}
|
|
|
|
is_android = current_os == "android"
|
|
is_fuchsia = current_os == "fuchsia"
|
|
is_ios = current_os == "ios" || current_os == "tvos"
|
|
is_tvos = current_os == "tvos"
|
|
is_linux = current_os == "linux"
|
|
is_mac = current_os == "mac"
|
|
is_wasm = target_os == "wasm"
|
|
is_win = current_os == "win"
|
|
|
|
# This is just to make the Dawn build files happy. Skia itself uses target_os = "linux"
|
|
# for ChromeOS, so this variable will not affect Skia proper.
|
|
is_chromeos = false
|
|
|
|
# This is to make the ANGLE build files happy. Skia always uses is_mac and/or is_ios.
|
|
is_apple = is_mac || is_ios
|
|
|
|
if (target_cpu == "") {
|
|
target_cpu = host_cpu
|
|
if (is_android || is_ios) {
|
|
target_cpu = "arm64"
|
|
}
|
|
}
|
|
if (target_cpu == "x86_64") {
|
|
target_cpu = "x64"
|
|
}
|
|
if (current_cpu == "") {
|
|
current_cpu = target_cpu
|
|
}
|
|
|
|
is_clang = is_android || is_ios || is_mac || is_fuchsia || is_wasm ||
|
|
(cc == "clang" && cxx == "clang++") || clang_win != ""
|
|
if (!is_clang && !is_win) {
|
|
is_clang = exec_script("//gn/is_clang.py",
|
|
[
|
|
cc,
|
|
cxx,
|
|
],
|
|
"value")
|
|
}
|
|
|
|
if (is_android) {
|
|
ndk_host = ""
|
|
ndk_target = ""
|
|
ndk_gdbserver = ""
|
|
|
|
if (host_os == "linux") {
|
|
ndk_host = "linux-x86_64"
|
|
} else if (host_os == "mac") {
|
|
ndk_host = "darwin-x86_64"
|
|
} else if (host_os == "win") {
|
|
ndk_host = "windows-x86_64"
|
|
}
|
|
|
|
if (target_cpu == "arm64") {
|
|
ndk_target = "aarch64-linux-android"
|
|
ndk_gdbserver = "prebuilt/android-arm64/gdbserver/gdbserver"
|
|
} else if (target_cpu == "arm") {
|
|
ndk_target = "armv7a-linux-androideabi"
|
|
ndk_gdbserver = "prebuilt/android-arm/gdbserver/gdbserver"
|
|
} else if (target_cpu == "x64") {
|
|
ndk_target = "x86_64-linux-android"
|
|
ndk_gdbserver = "prebuilt/android-x86_64/gdbserver/gdbserver"
|
|
} else if (target_cpu == "x86") {
|
|
ndk_target = "i686-linux-android"
|
|
ndk_gdbserver = "prebuilt/android-x86/gdbserver/gdbserver"
|
|
}
|
|
}
|
|
|
|
if (target_os == "win") {
|
|
# By default we look for 2017 (Enterprise, Pro, and Community), then 2015. If MSVC is installed in a
|
|
# non-default location, you can set win_vc to inform us where it is.
|
|
|
|
if (win_vc == "") {
|
|
win_vc = exec_script("//gn/find_msvc.py", [], "trim string")
|
|
}
|
|
assert(win_vc != "") # Could not find VC installation. Set win_vc to your VC
|
|
# directory.
|
|
}
|
|
|
|
if (target_os == "win") {
|
|
if (win_toolchain_version == "") {
|
|
win_toolchain_version = exec_script("//gn/highest_version_dir.py",
|
|
[
|
|
"$win_vc/Tools/MSVC",
|
|
"[0-9]{2}\.[0-9]{2}\.[0-9]{5}",
|
|
],
|
|
"trim string")
|
|
}
|
|
if (win_sdk_version == "") {
|
|
win_sdk_version = exec_script("//gn/highest_version_dir.py",
|
|
[
|
|
"$win_sdk/Include",
|
|
"[0-9]{2}\.[0-9]\.[0-9]{5}\.[0-9]",
|
|
],
|
|
"trim string")
|
|
}
|
|
if (clang_win != "" && clang_win_version == "") {
|
|
clang_win_version = exec_script("//gn/highest_version_dir.py",
|
|
[
|
|
"$clang_win/lib/clang",
|
|
"[0-9]+\.[0-9]+\.[0-9]+",
|
|
],
|
|
"trim string")
|
|
}
|
|
}
|
|
|
|
# A component is either a static or a shared library.
|
|
template("component") {
|
|
_component_mode = "static_library"
|
|
if (is_component_build) {
|
|
_component_mode = "shared_library"
|
|
}
|
|
|
|
target(_component_mode, target_name) {
|
|
forward_variables_from(invoker, "*")
|
|
}
|
|
}
|
|
|
|
# Default configs
|
|
default_configs = [
|
|
"//gn/skia:default",
|
|
"//gn/skia:no_exceptions",
|
|
"//gn/skia:no_rtti",
|
|
]
|
|
if (!is_debug) {
|
|
default_configs += [
|
|
"//gn/skia:optimize",
|
|
"//gn/skia:NDEBUG",
|
|
]
|
|
}
|
|
if (!is_official_build) {
|
|
default_configs += [ "//gn/skia:debug_symbols" ]
|
|
}
|
|
default_configs += [ "//gn/skia:extra_flags" ]
|
|
|
|
set_defaults("executable") {
|
|
configs = [ "//gn/skia:executable" ] + default_configs
|
|
}
|
|
|
|
set_defaults("source_set") {
|
|
configs = default_configs
|
|
}
|
|
|
|
set_defaults("static_library") {
|
|
configs = default_configs
|
|
}
|
|
|
|
set_defaults("shared_library") {
|
|
configs = default_configs
|
|
}
|
|
|
|
set_defaults("component") {
|
|
configs = default_configs
|
|
if (!is_component_build) {
|
|
complete_static_lib = true
|
|
}
|
|
}
|
|
|
|
skia_target_default_configs = []
|
|
if (!is_official_build) {
|
|
skia_target_default_configs += [ "//gn/skia:warnings" ]
|
|
}
|
|
|
|
skia_header_target_default_configs = []
|
|
if (!is_official_build) {
|
|
skia_header_target_default_configs +=
|
|
[ "//gn/skia:warnings_for_public_headers" ]
|
|
}
|
|
|
|
if (is_win) {
|
|
# Windows tool chain
|
|
set_default_toolchain("//gn/toolchain:msvc")
|
|
default_toolchain_name = "msvc"
|
|
host_toolchain = "msvc"
|
|
} else if (is_wasm) {
|
|
set_default_toolchain("//gn/toolchain:wasm")
|
|
default_toolchain_name = "wasm"
|
|
host_toolchain = "wasm"
|
|
} else {
|
|
# GCC-like toolchains, including Clang.
|
|
set_default_toolchain("//gn/toolchain:gcc_like")
|
|
default_toolchain_name = "gcc_like"
|
|
host_toolchain = "gcc_like_host"
|
|
}
|