105 lines
2.2 KiB
Plaintext
105 lines
2.2 KiB
Plaintext
# Copyright 2019 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("//build/config/ios/deployment_target.gni")
|
|
|
|
config("compiler") {
|
|
configs = [
|
|
":include_dirs",
|
|
":cpp_standard",
|
|
":objc_use_arc",
|
|
":objc_abi_version",
|
|
]
|
|
cflags = [ "-g" ]
|
|
swiftflags = [ "-g" ]
|
|
}
|
|
|
|
config("shared_binary") {
|
|
if (current_os == "ios" || current_os == "mac") {
|
|
configs = [
|
|
":rpath_config",
|
|
":swift_libdir",
|
|
]
|
|
}
|
|
}
|
|
|
|
config("objc_abi_version") {
|
|
cflags_objc = [ "-fobjc-abi-version=2" ]
|
|
cflags_objcc = cflags_objc
|
|
ldflags = [
|
|
"-Xlinker",
|
|
"-objc_abi_version",
|
|
"-Xlinker",
|
|
"2",
|
|
]
|
|
}
|
|
|
|
config("include_dirs") {
|
|
include_dirs = [
|
|
"//",
|
|
root_gen_dir,
|
|
]
|
|
}
|
|
|
|
config("objc_use_arc") {
|
|
cflags_objc = [
|
|
"-fobjc-arc",
|
|
"-fobjc-weak",
|
|
]
|
|
cflags_objcc = cflags_objc
|
|
}
|
|
|
|
config("cpp_standard") {
|
|
cflags_c = [ "--std=c11" ]
|
|
cflags_cc = [
|
|
"--std=c++17",
|
|
"--stdlib=libc++",
|
|
]
|
|
ldflags = [ "--stdlib=libc++" ]
|
|
}
|
|
|
|
if (current_os == "ios" || current_os == "mac") {
|
|
config("rpath_config") {
|
|
ldflags = [
|
|
"-Xlinker",
|
|
"-rpath",
|
|
"-Xlinker",
|
|
"@executable_path/Frameworks",
|
|
"-Xlinker",
|
|
"-rpath",
|
|
"-Xlinker",
|
|
"@loader_path/Frameworks",
|
|
]
|
|
}
|
|
|
|
_sdk_info = exec_script("//build/config/ios/scripts/sdk_info.py",
|
|
[
|
|
"--target-cpu",
|
|
current_cpu,
|
|
"--target-environment",
|
|
target_environment,
|
|
"--deployment-target",
|
|
ios_deployment_target,
|
|
],
|
|
"json")
|
|
|
|
_lib_swift_dir = "${_sdk_info.toolchain_path}/usr/lib/swift"
|
|
if (current_os == "ios") {
|
|
if (_sdk_info.is_simulator) {
|
|
_system_lib_swift_dir = "$_lib_swift_dir/iphonesimulator"
|
|
} else {
|
|
_system_lib_swift_dir = "$_lib_swift_dir/iphoneos"
|
|
}
|
|
} else {
|
|
_system_lib_swift_dir = "$_lib_swift_dir/macosx"
|
|
}
|
|
|
|
config("swift_libdir") {
|
|
lib_dirs = [
|
|
"${_sdk_info.sdk_path}/usr/lib/swift",
|
|
_system_lib_swift_dir,
|
|
]
|
|
}
|
|
}
|