aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2017-05-03 22:13:44 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-05-04 13:13:49 +0200
commitcc21998c299b4d1f97df37b961552ff8168da17f (patch)
tree85a5a1845a1802842e5bf127d3b07f34c36eb52d
parent655c07b87161030f73f8e2103aebcf8277051582 (diff)
Rollforward #2 of: Basic open-source crosstool to support targeting apple platform types.
RELNOTES: None. PiperOrigin-RevId: 154993630
-rwxr-xr-xsrc/test/shell/bazel/apple/bazel_apple_test.sh136
-rwxr-xr-xsrc/test/shell/bazel/external_correctness_test.sh2
-rwxr-xr-xsrc/test/shell/bazel/remote_execution_test.sh7
-rw-r--r--tools/cpp/cc_configure.bzl193
-rwxr-xr-xtools/objc/libtool.sh10
-rw-r--r--tools/osx/crosstool/BUILD.tpl71
-rw-r--r--tools/osx/crosstool/CROSSTOOL.tpl9858
-rw-r--r--tools/osx/crosstool/osx_archs.bzl28
-rw-r--r--tools/osx/crosstool/wrapped_clang.tpl10
-rw-r--r--tools/osx/crosstool/wrapped_clang_pp.tpl10
-rw-r--r--tools/osx/xcode_configure.bzl101
11 files changed, 5380 insertions, 5046 deletions
diff --git a/src/test/shell/bazel/apple/bazel_apple_test.sh b/src/test/shell/bazel/apple/bazel_apple_test.sh
index ac6b17cb15..b34063819a 100755
--- a/src/test/shell/bazel/apple/bazel_apple_test.sh
+++ b/src/test/shell/bazel/apple/bazel_apple_test.sh
@@ -212,7 +212,7 @@ EOF
bazel build --verbose_failures --objccopt=-DCOPTS_FOO=1 -s \
--xcode_version=$XCODE_VERSION \
//ios:swift_lib >$TEST_log 2>&1 || fail "should build"
- expect_log "-module-cache-path bazel-out/local-fastbuild/genfiles/_objc_module_cache"
+ expect_log "-module-cache-path bazel-out/darwin_x86_64-fastbuild/genfiles/_objc_module_cache"
}
function test_swift_import_objc_framework() {
@@ -766,8 +766,8 @@ EOF
bazel build --verbose_failures --xcode_version=$XCODE_VERSION -s \
//ios:bin >$TEST_log 2>&1 || fail "should build"
- expect_log "-Xlinker -add_ast_path -Xlinker bazel-out/local-fastbuild/genfiles/ios/dep/_objs/ios_dep.swiftmodule"
- expect_log "-Xlinker -add_ast_path -Xlinker bazel-out/local-fastbuild/genfiles/ios/swift_lib/_objs/ios_swift_lib.swiftmodule"
+ expect_log "-Xlinker -add_ast_path -Xlinker bazel-out/darwin_x86_64-fastbuild/genfiles/ios/dep/_objs/ios_dep.swiftmodule"
+ expect_log "-Xlinker -add_ast_path -Xlinker bazel-out/darwin_x86_64-fastbuild/genfiles/ios/swift_lib/_objs/ios_swift_lib.swiftmodule"
}
function test_swiftc_script_mode() {
@@ -914,4 +914,134 @@ EOF
|| fail "should contain DWARF data"
}
+function test_apple_binary_crosstool_ios() {
+ rm -rf package
+ mkdir -p package
+ cat > package/BUILD <<EOF
+objc_library(
+ name = "lib_a",
+ srcs = ["a.m"],
+)
+objc_library(
+ name = "lib_b",
+ srcs = ["b.m"],
+ deps = [":cc_lib"],
+)
+cc_library(
+ name = "cc_lib",
+ srcs = ["cc_lib.cc"],
+)
+apple_binary(
+ name = "main_binary",
+ deps = [":lib_a", ":lib_b"],
+ srcs = ["main.m"],
+)
+genrule(
+ name = "lipo_run",
+ srcs = [":main_binary_lipobin"],
+ outs = ["lipo_out"],
+ cmd =
+ "set -e && " +
+ "lipo -info \$(location :main_binary_lipobin) > \$(@)",
+ tags = ["requires-darwin"],
+)
+EOF
+ touch package/a.m
+ touch package/b.m
+ cat > package/main.m <<EOF
+int main() {
+ return 0;
+}
+EOF
+ cat > package/cc_lib.cc << EOF
+#include <string>
+
+std::string GetString() { return "h3ll0"; }
+EOF
+
+ bazel build --verbose_failures //package:lipo_out \
+ --experimental_enable_objc_cc_deps \
+ --experimental_objc_crosstool=all \
+ --apple_crosstool_transition \
+ --ios_multi_cpus=i386,x86_64 \
+ --xcode_version=$XCODE_VERSION \
+ || fail "should build apple_binary and obtain info via lipo"
+
+ cat bazel-genfiles/package/lipo_out | grep "i386 x86_64" \
+ || fail "expected output binary to be for x86_64 architecture"
+}
+
+function test_apple_binary_crosstool_watchos() {
+ rm -rf package
+ mkdir -p package
+ cat > package/BUILD <<EOF
+genrule(
+ name = "lipo_run",
+ srcs = [":main_binary_lipobin"],
+ outs = ["lipo_out"],
+ cmd =
+ "set -e && " +
+ "lipo -info \$(location :main_binary_lipobin) > \$(@)",
+ tags = ["requires-darwin"],
+)
+
+apple_binary(
+ name = "main_binary",
+ srcs = ["main.m"],
+ deps = [":lib_a"],
+ platform_type = "watchos",
+)
+cc_library(
+ name = "cc_lib",
+ srcs = ["cc_lib.cc"],
+)
+# By depending on a library which requires it is built for watchos,
+# this test verifies that dependencies of apple_binary are compiled
+# for the specified platform_type.
+objc_library(
+ name = "lib_a",
+ srcs = ["a.m"],
+ deps = [":cc_lib"],
+)
+EOF
+ cat > package/main.m <<EOF
+#import <WatchKit/WatchKit.h>
+
+// Note that WKExtensionDelegate is only available in Watch SDK.
+@interface TestInterfaceMain : NSObject <WKExtensionDelegate>
+@end
+
+int main() {
+ return 0;
+}
+EOF
+ cat > package/a.m <<EOF
+#import <WatchKit/WatchKit.h>
+
+// Note that WKExtensionDelegate is only available in Watch SDK.
+@interface TestInterfaceA : NSObject <WKExtensionDelegate>
+@end
+
+int aFunction() {
+ return 0;
+}
+EOF
+ cat > package/cc_lib.cc << EOF
+#include <string>
+
+std::string GetString() { return "h3ll0"; }
+EOF
+
+ bazel build --verbose_failures //package:lipo_out \
+ --experimental_enable_objc_cc_deps \
+ --experimental_objc_crosstool=library \
+ --apple_crosstool_transition \
+ --watchos_cpus=armv7k \
+ --xcode_version=$XCODE_VERSION \
+ || fail "should build watch binary"
+
+ cat bazel-genfiles/package/lipo_out | grep "armv7k" \
+ || fail "expected output binary to be for armv7k architecture"
+}
+
run_suite "apple_tests"
diff --git a/src/test/shell/bazel/external_correctness_test.sh b/src/test/shell/bazel/external_correctness_test.sh
index 07bffba9dd..183ee2aa0d 100755
--- a/src/test/shell/bazel/external_correctness_test.sh
+++ b/src/test/shell/bazel/external_correctness_test.sh
@@ -142,7 +142,7 @@ genrule(
)
EOF
bazel build @a//b/c:echo-d &> $TEST_log || fail "Build failed"
- assert_contains "bazel-out/local.*-fastbuild/genfiles/external/a/b/c" \
+ assert_contains "bazel-out/.*-fastbuild/genfiles/external/a/b/c" \
"bazel-genfiles/external/a/b/c/d"
}
diff --git a/src/test/shell/bazel/remote_execution_test.sh b/src/test/shell/bazel/remote_execution_test.sh
index 66a99a6654..051fbe331f 100755
--- a/src/test/shell/bazel/remote_execution_test.sh
+++ b/src/test/shell/bazel/remote_execution_test.sh
@@ -53,6 +53,13 @@ function tear_down() {
}
function test_cc_binary() {
+ if [[ "$PLATFORM" == "darwin" ]]; then
+ # TODO(b/37355380): This test is disabled due to RemoteWorker not supporting
+ # setting SDKROOT and DEVELOPER_DIR appropriately, as is required of
+ # action executors in order to select the appropriate Xcode toolchain.
+ return 0
+ fi
+
mkdir -p a
cat > a/BUILD <<EOF
package(default_visibility = ["//visibility:public"])
diff --git a/tools/cpp/cc_configure.bzl b/tools/cpp/cc_configure.bzl
index 4e77db5e6b..7754c8376d 100644
--- a/tools/cpp/cc_configure.bzl
+++ b/tools/cpp/cc_configure.bzl
@@ -13,6 +13,7 @@
# limitations under the License.
"""Rules for configuring the C++ toolchain (experimental)."""
+load("@bazel_tools//tools/osx:xcode_configure.bzl", "run_xcode_locator")
def _get_value(it):
"""Convert `it` in serialized protobuf format."""
@@ -110,7 +111,7 @@ def _execute(repository_ctx, command, environment = None,
return stripped_stdout
-def _get_tool_paths(repository_ctx, darwin, cc):
+def _get_tool_paths(repository_ctx, cc):
"""Compute the path to the various tools."""
return {k: _which(repository_ctx, k, "/usr/bin/" + k)
for k in [
@@ -124,8 +125,7 @@ def _get_tool_paths(repository_ctx, darwin, cc):
"strip",
]} + {
"gcc": cc,
- "ar": "/usr/bin/libtool"
- if darwin else _which(repository_ctx, "ar", "/usr/bin/ar")
+ "ar": _which(repository_ctx, "ar", "/usr/bin/ar")
}
@@ -220,7 +220,7 @@ def _is_gold_supported(repository_ctx, cc):
])
return result.return_code == 0
-def _crosstool_content(repository_ctx, cc, cpu_value, darwin):
+def _crosstool_content(repository_ctx, cc, cpu_value):
"""Return the content for the CROSSTOOL file, in a dictionary."""
supports_gold_linker = _is_gold_supported(repository_ctx, cc)
return {
@@ -236,7 +236,7 @@ def _crosstool_content(repository_ctx, cc, cpu_value, darwin):
"supports_interface_shared_objects": False,
"supports_normalizing_ar": False,
"supports_start_end_lib": supports_gold_linker,
- "target_libc": "macosx" if darwin else _get_env_var(repository_ctx, "BAZEL_TARGET_LIBC", "local", False),
+ "target_libc": _get_env_var(repository_ctx, "BAZEL_TARGET_LIBC", "local", False),
"target_cpu": _get_env_var(repository_ctx, "BAZEL_TARGET_CPU", cpu_value, False),
"target_system_name": _get_env_var(repository_ctx, "BAZEL_TARGET_SYSTEM", "local", False),
"cxx_flag": [
@@ -252,24 +252,17 @@ def _crosstool_content(repository_ctx, cc, cpu_value, darwin):
repository_ctx, cc, "-Wl,-no-as-needed"
) + _add_option_if_supported(
repository_ctx, cc, "-Wl,-z,relro,-z,now"
- ) + (
- [
- "-undefined",
- "dynamic_lookup",
- "-headerpad_max_install_names",
- ] if darwin else [
- "-B" + str(repository_ctx.path(cc).dirname),
- # Always have -B/usr/bin, see https://github.com/bazelbuild/bazel/issues/760.
- "-B/usr/bin",
- # Gold linker only? Can we enable this by default?
- # "-Wl,--warn-execstack",
- # "-Wl,--detect-odr-violations"
- ] + _add_option_if_supported(
- # Have gcc return the exit code from ld.
- repository_ctx, cc, "-pass-exit-codes"
- )
- ),
- "ar_flag": ["-static", "-s", "-o"] if darwin else [],
+ ) + (["-B" + str(repository_ctx.path(cc).dirname),
+ # Always have -B/usr/bin, see https://github.com/bazelbuild/bazel/issues/760.
+ "-B/usr/bin",
+ # Gold linker only? Can we enable this by default?
+ # "-Wl,--warn-execstack",
+ # "-Wl,--detect-odr-violations"
+ ] + _add_option_if_supported(
+ # Have gcc return the exit code from ld.
+ repository_ctx, cc, "-pass-exit-codes")
+ ),
+ "ar_flag": [],
"cxx_builtin_include_directory": _get_cxx_inc_directories(repository_ctx, cc),
"objcopy_embed_flag": ["-I", "binary"],
"unfiltered_cxx_flag":
@@ -292,7 +285,7 @@ def _crosstool_content(repository_ctx, cc, cpu_value, darwin):
# All warnings are enabled. Maybe enable -Werror as well?
"-Wall",
# Enable a few more warnings that aren't part of -Wall.
- ] + (["-Wthread-safety", "-Wself-assign"] if darwin else [
+ ] + ([
"-B" + str(repository_ctx.path(cc).dirname),
# Always have -B/usr/bin, see https://github.com/bazelbuild/bazel/issues/760.
"-B/usr/bin",
@@ -350,7 +343,7 @@ def _get_windows_msys_crosstool_content(repository_ctx):
' tool_path { name: "objdump" path: "%susr/bin/objdump" }\n' % msys_root +
' tool_path { name: "strip" path: "%susr/bin/strip" }'% msys_root )
-def _opt_content(darwin):
+def _opt_content():
"""Return the content of the opt specific section of the CROSSTOOL file."""
return {
"compiler_flag": [
@@ -376,7 +369,7 @@ def _opt_content(darwin):
"-ffunction-sections",
"-fdata-sections"
],
- "linker_flag": [] if darwin else ["-Wl,--gc-sections"]
+ "linker_flag": ["-Wl,--gc-sections"]
}
@@ -628,23 +621,7 @@ def _get_env(repository_ctx):
else:
return ""
-def _coverage_feature(darwin):
- if darwin:
- compile_flags = """flag_group {
- flag: '-fprofile-instr-generate'
- flag: '-fcoverage-mapping'
- }"""
- link_flags = """flag_group {
- flag: '-fprofile-instr-generate'
- }"""
- else:
- compile_flags = """flag_group {
- flag: '-fprofile-arcs'
- flag: '-ftest-coverage'
- }"""
- link_flags = """flag_group {
- flag: '-lgcov'
- }"""
+def _coverage_feature():
return """
feature {
name: 'coverage'
@@ -656,17 +633,51 @@ def _coverage_feature(darwin):
action: 'c++-header-parsing'
action: 'c++-header-preprocessing'
action: 'c++-module-compile'
- """ + compile_flags + """
+ flag_group {
+ flag: '-fprofile-arcs'
+ flag: '-ftest-coverage'
+ }
}
flag_set {
action: 'c++-link-interface-dynamic-library'
action: 'c++-link-dynamic-library'
action: 'c++-link-executable'
- """ + link_flags + """
+ flag_group {
+ flag: '-lgcov'
+ }
}
}
"""
+def _get_darwin_cxx_inc_directories(repository_ctx, cc):
+ """Compute the list of default C++ include directories on darwin.
+
+ Uses the xcode-locator tool to add all xcode developer directories to the
+ list of builtin include paths.
+
+ This should only be invoked on a darwin OS, as xcode-locator cannot be built
+ otherwise.
+
+ Args:
+ repository_ctx: The repository context.
+ cc: The default C++ compiler on the local system.
+ Returns:
+ A 2-tuple containing:
+ include_paths: A list of builtin include paths.
+ err: An error string describing the error that occurred when attempting
+ to build and run xcode-locator, or None if the run was successful.
+ """
+
+ (toolchains, xcodeloc_err) = run_xcode_locator(repository_ctx,
+ Label("@bazel_tools//tools/osx:xcode_locator.m"))
+
+ # TODO(cparsons): Falling back to the default C++ compiler builtin include
+ # paths shouldn't be unnecessary once all actions are using xcrun.
+ include_dirs = _get_cxx_inc_directories(repository_ctx, cc)
+ for toolchain in toolchains:
+ include_dirs.append(toolchain.developer_dir)
+ return (include_dirs, xcodeloc_err)
+
def _impl(repository_ctx):
repository_ctx.file("tools/cpp/empty.cc", "int main() {}")
cpu_value = _get_cpu_value(repository_ctx)
@@ -735,37 +746,69 @@ def _impl(repository_ctx):
else:
darwin = cpu_value == "darwin"
cc = _find_cc(repository_ctx)
- tool_paths = _get_tool_paths(repository_ctx, darwin,
- "cc_wrapper.sh" if darwin else str(cc))
- crosstool_content = _crosstool_content(repository_ctx, cc, cpu_value, darwin)
- opt_content = _opt_content(darwin)
- dbg_content = _dbg_content()
- _tpl(repository_ctx, "BUILD", {
- "%{name}": cpu_value,
- "%{supports_param_files}": "0" if darwin else "1",
- "%{cc_compiler_deps}": ":cc_wrapper" if darwin else ":empty",
- "%{compiler}": _get_env_var(repository_ctx, "BAZEL_COMPILER", "compiler", False),
- })
_tpl(repository_ctx,
- "osx_cc_wrapper.sh" if darwin else "linux_cc_wrapper.sh",
- {"%{cc}": str(cc), "%{env}": _get_env(repository_ctx)},
- "cc_wrapper.sh")
- _tpl(repository_ctx, "CROSSTOOL", {
- "%{cpu}": cpu_value,
- "%{default_toolchain_name}": _get_env_var(repository_ctx, "CC_TOOLCHAIN_NAME", "local", False),
- "%{toolchain_name}": _get_env_var(repository_ctx, "CC_TOOLCHAIN_NAME", "local", False),
- "%{content}": _build_crosstool(crosstool_content) + "\n" +
- _build_tool_path(tool_paths),
- "%{opt_content}": _build_crosstool(opt_content, " "),
- "%{dbg_content}": _build_crosstool(dbg_content, " "),
- "%{cxx_builtin_include_directory}": "",
- "%{coverage}": _coverage_feature(darwin),
- "%{msvc_env_tmp}": "",
- "%{msvc_env_path}": "",
- "%{msvc_env_include}": "",
- "%{msvc_env_lib}": "",
- })
-
+ "osx_cc_wrapper.sh" if darwin else "linux_cc_wrapper.sh",
+ {"%{cc}": str(cc), "%{env}": _get_env(repository_ctx)},
+ "cc_wrapper.sh")
+ if darwin:
+ repository_ctx.symlink(
+ Label("@bazel_tools//tools/objc:xcrunwrapper.sh"), "xcrunwrapper.sh")
+ repository_ctx.symlink(
+ Label("@bazel_tools//tools/objc:libtool.sh"), "libtool")
+ repository_ctx.symlink(
+ Label("@bazel_tools//tools/objc:make_hashed_objlist.py"),
+ "make_hashed_objlist.py")
+ repository_ctx.symlink(
+ Label("@bazel_tools//tools/osx/crosstool:wrapped_clang.tpl"),
+ "wrapped_clang")
+ repository_ctx.symlink(
+ Label("@bazel_tools//tools/osx/crosstool:wrapped_clang_pp.tpl"),
+ "wrapped_clang_pp")
+ repository_ctx.symlink(
+ Label("@bazel_tools//tools/osx/crosstool:BUILD.tpl"),
+ "BUILD")
+ repository_ctx.symlink(
+ Label("@bazel_tools//tools/osx/crosstool:osx_archs.bzl"),
+ "osx_archs.bzl")
+ (include_paths, xcodeloc_err) = _get_darwin_cxx_inc_directories(repository_ctx, cc)
+ cxx_include_directories = []
+ for path in include_paths:
+ cxx_include_directories.append(("cxx_builtin_include_directory: \"%s\"" % path))
+ if xcodeloc_err:
+ cxx_include_directories.append("# Error: " + xcodeloc_err + "\n")
+ repository_ctx.template(
+ "CROSSTOOL",
+ Label("@bazel_tools//tools/osx/crosstool:CROSSTOOL.tpl"),
+ {"%{cxx_builtin_include_directory}": "\n".join(cxx_include_directories)})
+ else:
+ tool_paths = _get_tool_paths(repository_ctx, str(cc))
+ crosstool_content = _crosstool_content(repository_ctx, cc, cpu_value)
+ opt_content = _opt_content()
+ dbg_content = _dbg_content()
+ _tpl(repository_ctx, "BUILD", {
+ "%{name}": cpu_value,
+ "%{supports_param_files}": "1",
+ "%{cc_compiler_deps}": ":empty",
+ "%{compiler}": _get_env_var(repository_ctx, "BAZEL_COMPILER", "compiler", False),
+ })
+ _tpl(repository_ctx, "CROSSTOOL", {
+ "%{cpu}": cpu_value,
+ "%{default_toolchain_name}": _get_env_var(repository_ctx,
+ "CC_TOOLCHAIN_NAME",
+ "local",
+ False),
+ "%{toolchain_name}": _get_env_var(repository_ctx, "CC_TOOLCHAIN_NAME", "local", False),
+ "%{content}": _build_crosstool(crosstool_content) + "\n" +
+ _build_tool_path(tool_paths),
+ "%{opt_content}": _build_crosstool(opt_content, " "),
+ "%{dbg_content}": _build_crosstool(dbg_content, " "),
+ "%{cxx_builtin_include_directory}": "",
+ "%{coverage}": _coverage_feature(),
+ "%{msvc_env_tmp}": "",
+ "%{msvc_env_path}": "",
+ "%{msvc_env_include}": "",
+ "%{msvc_env_lib}": "",
+ })
cc_autoconf = repository_rule(
implementation=_impl,
diff --git a/tools/objc/libtool.sh b/tools/objc/libtool.sh
index 5ad89a019d..e1275758ea 100755
--- a/tools/objc/libtool.sh
+++ b/tools/objc/libtool.sh
@@ -23,7 +23,15 @@
set -eu
-MY_LOCATION=${MY_LOCATION:-"$0.runfiles/bazel_tools/tools/objc"}
+# A trick to allow invoking this script in multiple contexts.
+if [ -z ${MY_LOCATION+x} ]; then
+ if [ -d "$0.runfiles/" ]; then
+ MY_LOCATION="$0.runfiles/bazel_tools/tools/objc"
+ else
+ MY_LOCATION="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+ fi
+fi
+
WRAPPER="${MY_LOCATION}/xcrunwrapper.sh"
# Creates a symbolic link to the input argument file and returns the symlink
diff --git a/tools/osx/crosstool/BUILD.tpl b/tools/osx/crosstool/BUILD.tpl
new file mode 100644
index 0000000000..8f6ff4d2b4
--- /dev/null
+++ b/tools/osx/crosstool/BUILD.tpl
@@ -0,0 +1,71 @@
+package(default_visibility = ["//visibility:public"])
+
+load(":osx_archs.bzl", "OSX_TOOLS_ARCHS")
+
+CC_TOOLCHAINS = [(
+ cpu + "|compiler",
+ ":cc-compiler-" + cpu,
+) for cpu in OSX_TOOLS_ARCHS]
+
+cc_library(
+ name = "malloc",
+)
+
+cc_library(
+ name = "stl",
+)
+
+filegroup(
+ name = "empty",
+ srcs = [],
+)
+
+filegroup(
+ name = "cc_wrapper",
+ srcs = ["cc_wrapper.sh"],
+)
+
+sh_binary(
+ name = "wrapped_clang_sh",
+ srcs = ["wrapped_clang"],
+ data = [
+ "@bazel_tools//tools/objc:xcrunwrapper",
+ ],
+ visibility = ["//visibility:public"],
+)
+
+cc_toolchain_suite(
+ name = "toolchain",
+ toolchains = dict(CC_TOOLCHAINS),
+)
+
+[
+ filegroup(
+ name = "osx_tools_" + arch,
+ srcs = [
+ ":cc_wrapper",
+ ":libtool",
+ ":make_hashed_objlist.py",
+ ":wrapped_clang",
+ ":xcrunwrapper.sh",
+ ],
+ )
+ for arch in OSX_TOOLS_ARCHS
+]
+
+[
+ apple_cc_toolchain(
+ name = "cc-compiler-" + arch,
+ all_files = ":osx_tools_" + arch,
+ compiler_files = ":osx_tools_" + arch,
+ cpu = arch,
+ dwp_files = ":empty",
+ dynamic_runtime_libs = [":empty"],
+ linker_files = ":osx_tools_" + arch,
+ objcopy_files = ":empty",
+ static_runtime_libs = [":empty"],
+ strip_files = ":osx_tools_" + arch,
+ supports_param_files = 0,
+ )
+ for arch in OSX_TOOLS_ARCHS
+]
diff --git a/tools/osx/crosstool/CROSSTOOL.tpl b/tools/osx/crosstool/CROSSTOOL.tpl
index 0d0fc02d63..5b1c286b37 100644
--- a/tools/osx/crosstool/CROSSTOOL.tpl
+++ b/tools/osx/crosstool/CROSSTOOL.tpl
@@ -6,7 +6,7 @@
major_version: "1"
minor_version: "0"
-default_target_cpu: "ios_x86_64"
+default_target_cpu: "same_as_host"
default_toolchain {
cpu: "darwin"
toolchain_identifier: "darwin_x86_64"
@@ -149,7 +149,6 @@ toolchain {
name: "STACK_FRAME_UNLIMITED"
value: "-Wframe-larger-than=100000000 -Wno-vla"
}
- cxx_builtin_include_directory: "/"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
@@ -161,211 +160,174 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "apple_env"
- env_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-archive"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
- action: "objc-executable"
- action: "objc++-executable"
- env_entry {
- key: "XCODE_VERSION_OVERRIDE"
- value: "%{xcode_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_VERSION_OVERRIDE"
- value: "%{apple_sdk_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_PLATFORM"
- value: "%{apple_sdk_platform_value}"
- }
- }
+ name: "fastbuild"
}
feature {
- name: "apply_default_compiler_flags"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-DOS_MACOSX"
- }
- }
+ name: "opt"
}
feature {
- name: "apply_default_warnings"
+ name: "dbg"
+ }
+ feature {
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "only_doth_headers_in_module_maps"
+ }
+ feature {
+ name: "objc_actions"
+ implies: "objc-compile"
+ implies: "objc++-compile"
+ implies: "objc-fully-link"
+ implies: "objc-archive"
+ implies: "objc-executable"
+ implies: "objc++-executable"
+ implies: "assemble"
+ implies: "preprocess-assemble"
+ implies: "c-compile"
+ implies: "c++-compile"
+ implies: "c++-link-static-library"
+ implies: "c++-link-pic-static-library"
+ implies: "c++-link-interface-dynamic-library"
+ implies: "c++-link-dynamic-library"
+ implies: "c++-link-alwayslink-static-library"
+ implies: "c++-link-alwayslink-pic-static-library"
+ implies: "c++-link-executable"
+ }
+ feature {
+ name: "strip_debug_symbols"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-interface-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wshorten-64-to-32"
- flag: "-Wbool-conversion"
- flag: "-Wconstant-conversion"
- flag: "-Wduplicate-method-match"
- flag: "-Wempty-body"
- flag: "-Wenum-conversion"
- flag: "-Wint-conversion"
- flag: "-Wunreachable-code"
- flag: "-Wmismatched-return-types"
- flag: "-Wundeclared-selector"
- flag: "-Wuninitialized"
- flag: "-Wunused-function"
- flag: "-Wunused-variable"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
}
feature {
- name: "apply_implicit_frameworks"
+ name: "symbol_counts"
flag_set {
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-framework Foundation"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "bitcode_embedded"
+ name: "shared_flag"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "-shared"
}
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode-marker"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "output_execpath_flags"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "rcs"
+ flag: "-o"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "compile_all_modules"
- }
- feature {
- name: "coverage"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
flag_set {
- action: "c++-link-interface-dynamic-library"
- action: "c++-link-dynamic-library"
action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "dead_strip"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "%{output_execpath}"
}
- }
- requires {
- feature: "opt"
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "exclude_private_headers_in_module_maps"
- }
- feature {
- name: "fastbuild"
- }
- feature {
- name: "force_pic_flags"
+ name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-pie"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "global_whole_archive"
}
}
feature {
- name: "framework_paths"
+ name: "cc_archiver_flags"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-F%{framework_paths}"
+ flag: "rcs"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "runtime_root_flags"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ expand_if_all_available: "runtime_library_search_directories"
}
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
@@ -374,31 +336,21 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "runtime_root_flags"
}
- }
- feature {
- name: "has_configured_linker_path"
- }
- feature {
- name: "include_system_dirs"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "%{runtime_root_entries}"
}
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -565,341 +517,390 @@ toolchain {
}
}
feature {
- name: "legacy_link_flags"
+ name: "force_pic_flags"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "-pie"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "link_cocoa"
+ name: "pch"
flag_set {
- action: "objc-executable"
- action: "objc++-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "c-compile"
+ action: "c++-compile"
flag_group {
- flag: "-framework Cocoa"
+ flag: "-include"
+ flag: "%{pch_file}"
}
}
}
feature {
- name: "linker_param_file"
- flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- flag_group {
- flag: "-Wl,@%{linker_param_file}"
- }
- expand_if_all_available: "linker_param_file"
- }
- flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
- flag_group {
- flag: "@%{linker_param_file}"
- }
- expand_if_all_available: "linker_param_file"
- }
+ name: "module_maps"
}
feature {
- name: "linkstamps"
+ name: "use_objc_modules"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "llvm_coverage_map_format"
+ name: "no_enable_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fmodule-maps"
}
}
requires {
- feature: "run_coverage"
+ feature: "use_objc_modules"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "no_enable_modules"
+ name: "apply_default_warnings"
flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-Wshorten-64-to-32"
+ flag: "-Wbool-conversion"
+ flag: "-Wconstant-conversion"
+ flag: "-Wduplicate-method-match"
+ flag: "-Wempty-body"
+ flag: "-Wenum-conversion"
+ flag: "-Wint-conversion"
+ flag: "-Wunreachable-code"
+ flag: "-Wmismatched-return-types"
+ flag: "-Wundeclared-selector"
+ flag: "-Wuninitialized"
+ flag: "-Wunused-function"
+ flag: "-Wunused-variable"
}
}
- requires {
- feature: "use_objc_modules"
- }
}
feature {
- name: "no_objc_arc"
+ name: "preprocessor_defines"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fno-objc-arc"
+ flag: "-D%{preprocessor_defines}"
}
- expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "objc_actions"
- implies: "objc-compile"
- implies: "objc++-compile"
- implies: "objc-fully-link"
- implies: "objc-archive"
- implies: "objc-executable"
- implies: "objc++-executable"
- implies: "assemble"
- implies: "preprocess-assemble"
- implies: "c-compile"
- implies: "c++-compile"
- implies: "c++-link-static-library"
- implies: "c++-link-pic-static-library"
- implies: "c++-link-interface-dynamic-library"
- implies: "c++-link-dynamic-library"
- implies: "c++-link-alwayslink-static-library"
- implies: "c++-link-alwayslink-pic-static-library"
- implies: "c++-link-executable"
+ name: "framework_paths"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ flag_group {
+ flag: "-F%{framework_paths}"
+ }
+ }
}
feature {
- name: "objc_arc"
+ name: "coverage"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fobjc-arc"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "objc_arc"
}
- }
- feature {
- name: "only_doth_headers_in_module_maps"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "output_execpath_flags"
flag_set {
+ action: "c++-link-interface-dynamic-library"
action: "c++-link-dynamic-library"
+ action: "c++-link-executable"
flag_group {
- flag: "-o"
- flag: "%{output_execpath}"
+ flag: "-fprofile-instr-generate"
}
- expand_if_all_available: "output_execpath"
}
+ provides: "profile"
}
feature {
- name: "output_execpath_flags_executable"
+ name: "apply_default_compiler_flags"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-o"
+ flag: "-DOS_MACOSX"
}
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "include_system_dirs"
flag_set {
- action: "c++-link-executable"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "skip_mostly_static"
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{output_execpath}"
+ flag: "-fembed-bitcode"
}
- expand_if_all_available: "output_execpath"
}
}
feature {
- name: "pch"
+ name: "bitcode_embedded_markers"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ flag: "-fembed-bitcode-marker"
}
}
}
feature {
- name: "preprocessor_defines"
+ name: "objc_arc"
flag_set {
- action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
+ action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ action: "assemble"
+ action: "preprocess-assemble"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-D%{preprocessor_defines}"
+ flag: "-fobjc-arc"
}
+ expand_if_all_available: "objc_arc"
}
}
feature {
- name: "run_coverage"
+ name: "no_objc_arc"
+ flag_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-fno-objc-arc"
+ }
+ expand_if_all_available: "no_objc_arc"
+ }
}
feature {
- name: "runtime_root_flags"
- flag_set {
+ name: "apple_env"
+ env_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-archive"
action: "c++-link-executable"
action: "c++-link-dynamic-library"
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
- flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ action: "objc-executable"
+ action: "objc++-executable"
+ env_entry {
+ key: "XCODE_VERSION_OVERRIDE"
+ value: "%{xcode_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_VERSION_OVERRIDE"
+ value: "%{apple_sdk_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_PLATFORM"
+ value: "%{apple_sdk_platform_value}"
}
- expand_if_all_available: "runtime_library_search_directories"
}
+ }
+ feature {
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "legacy_link_flags"
}
+ }
+ feature {
+ name: "linker_param_file"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linker_param_file}"
+ }
+ expand_if_all_available: "linker_param_file"
+ }
+ flag_set {
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_entries}"
+ flag: "@%{linker_param_file}"
}
- expand_if_all_available: "runtime_root_entries"
+ expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "shared_flag"
+ name: "version_min"
flag_set {
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ action: "preprocess-assemble"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "c++-module-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
}
}
}
feature {
- name: "strip_debug_symbols"
+ name: "dead_strip"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
}
+ requires {
+ feature: "opt"
+ }
}
feature {
- name: "symbol_counts"
+ name: "run_coverage"
+ }
+ feature {
+ name: "llvm_coverage_map_format"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "symbol_counts_output"
+ }
+ requires {
+ feature: "run_coverage"
}
}
feature {
- name: "use_objc_modules"
+ name: "gcc_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
}
+ requires {
+ feature: "run_coverage"
+ }
}
feature {
- name: "version_min"
+ name: "apply_implicit_frameworks"
flag_set {
action: "objc-executable"
action: "objc++-executable"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
flag_group {
+ flag: "-framework Foundation"
+ }
+ }
+ }
+ feature {
+ name: "link_cocoa"
+ flag_set {
+ action: "objc-executable"
+ action: "objc++-executable"
+ flag_group {
+ flag: "-framework Cocoa"
}
}
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
- implies: "include_system_dirs"
implies: "apple_env"
}
action_config {
@@ -917,8 +918,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-module-compile"
+ action_name: "c++-module-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -931,8 +932,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -945,108 +946,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-link-alwayslink-pic-static-library"
- action_name: "c++-link-alwayslink-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-alwayslink-static-library"
- action_name: "c++-link-alwayslink-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-dynamic-library"
- action_name: "c++-link-dynamic-library"
- tool {
- tool_path: "wrapped_clang"
- }
- implies: "has_configured_linker_path"
- implies: "symbol_counts"
- implies: "shared_flag"
- implies: "linkstamps"
- implies: "output_execpath_flags"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-executable"
- action_name: "c++-link-executable"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "symbol_counts"
- implies: "linkstamps"
- implies: "output_execpath_flags_executable"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "force_pic_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-interface-dynamic-library"
- action_name: "c++-link-interface-dynamic-library"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "strip_debug_symbols"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-pic-static-library"
- action_name: "c++-link-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-static-library"
- action_name: "c++-link-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -1059,12 +960,22 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c-compile"
- action_name: "c-compile"
+ config_name: "objc-compile"
+ action_name: "objc-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ flag_set {
+ flag_group {
+ flag: "-arch"
+ flag: "x86_64"
+ }
+ }
+ implies: "objc_actions"
+ implies: "apply_default_compiler_flags"
+ implies: "apply_default_warnings"
+ implies: "framework_paths"
implies: "preprocessor_defines"
implies: "include_system_dirs"
implies: "version_min"
@@ -1098,17 +1009,61 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "assemble"
+ action_name: "assemble"
tool {
- tool_path: "wrapped_clang_pp"
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "include_system_dirs"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "preprocess-assemble"
+ action_name: "preprocess-assemble"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-archive"
+ action_name: "objc-archive"
+ tool {
+ tool_path: "libtool"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
+ flag: "-static"
+ flag: "-filelist"
+ flag: "%{obj_list_path}"
+ flag: "-arch_only"
+ flag: "x86_64"
+ flag: "-syslibroot"
+ flag: "%{sdk_dir}"
+ flag: "-o"
+ flag: "%{archive_path}"
}
+ }
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-executable"
+ action_name: "objc-executable"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ flag_set {
flag_group {
flag: "-arch"
flag: "x86_64"
@@ -1159,59 +1114,17 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
- tool {
- tool_path: "libtool"
- execution_requirement: "requires-darwin"
- }
- flag_set {
- flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
- flag: "x86_64"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
- }
- }
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ config_name: "objc++-executable"
+ action_name: "objc++-executable"
tool {
- tool_path: "wrapped_clang"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-arch"
- flag: "x86_64"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
- }
- implies: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "x86_64"
@@ -1262,6 +1175,106 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
+ config_name: "c++-link-executable"
+ action_name: "c++-link-executable"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "symbol_counts"
+ implies: "linkstamps"
+ implies: "output_execpath_flags_executable"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "force_pic_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-dynamic-library"
+ action_name: "c++-link-dynamic-library"
+ tool {
+ tool_path: "wrapped_clang"
+ }
+ implies: "has_configured_linker_path"
+ implies: "symbol_counts"
+ implies: "shared_flag"
+ implies: "linkstamps"
+ implies: "output_execpath_flags"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-static-library"
+ action_name: "c++-link-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-static-library"
+ action_name: "c++-link-alwayslink-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-pic-static-library"
+ action_name: "c++-link-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "strip_debug_symbols"
+ implies: "apple_env"
+ }
+ action_config {
config_name: "objc-fully-link"
action_name: "objc-fully-link"
tool {
@@ -1290,20 +1303,6 @@ toolchain {
}
implies: "apple_env"
}
- action_config {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
cc_target_os: "apple"
}
toolchain {
@@ -1402,7 +1401,6 @@ toolchain {
name: "STACK_FRAME_UNLIMITED"
value: "-Wframe-larger-than=100000000 -Wno-vla"
}
- cxx_builtin_include_directory: "/"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
@@ -1416,225 +1414,174 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "apple_env"
- env_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-archive"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
- action: "objc-executable"
- action: "objc++-executable"
- env_entry {
- key: "XCODE_VERSION_OVERRIDE"
- value: "%{xcode_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_VERSION_OVERRIDE"
- value: "%{apple_sdk_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_PLATFORM"
- value: "%{apple_sdk_platform_value}"
- }
- }
+ name: "fastbuild"
}
feature {
- name: "apply_default_compiler_flags"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-DOS_IOS"
- }
- }
+ name: "opt"
}
feature {
- name: "apply_default_warnings"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-Wshorten-64-to-32"
- flag: "-Wbool-conversion"
- flag: "-Wconstant-conversion"
- flag: "-Wduplicate-method-match"
- flag: "-Wempty-body"
- flag: "-Wenum-conversion"
- flag: "-Wint-conversion"
- flag: "-Wunreachable-code"
- flag: "-Wmismatched-return-types"
- flag: "-Wundeclared-selector"
- flag: "-Wuninitialized"
- flag: "-Wunused-function"
- flag: "-Wunused-variable"
- }
- }
+ name: "dbg"
}
feature {
- name: "apply_implicit_frameworks"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "only_doth_headers_in_module_maps"
+ }
+ feature {
+ name: "objc_actions"
+ implies: "objc-compile"
+ implies: "objc++-compile"
+ implies: "objc-fully-link"
+ implies: "objc-archive"
+ implies: "objc-executable"
+ implies: "objc++-executable"
+ implies: "assemble"
+ implies: "preprocess-assemble"
+ implies: "c-compile"
+ implies: "c++-compile"
+ implies: "c++-link-static-library"
+ implies: "c++-link-pic-static-library"
+ implies: "c++-link-interface-dynamic-library"
+ implies: "c++-link-dynamic-library"
+ implies: "c++-link-alwayslink-static-library"
+ implies: "c++-link-alwayslink-pic-static-library"
+ implies: "c++-link-executable"
+ }
+ feature {
+ name: "strip_debug_symbols"
flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
}
feature {
- name: "apply_simulator_compiler_flags"
+ name: "symbol_counts"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fexceptions"
- flag: "-fasm-blocks"
- flag: "-fobjc-abi-version=2"
- flag: "-fobjc-legacy-dispatch"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "bitcode_embedded"
+ name: "shared_flag"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "-shared"
}
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode-marker"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "output_execpath_flags"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "rcs"
+ flag: "-o"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "compile_all_modules"
- }
- feature {
- name: "coverage"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
flag_set {
- action: "c++-link-interface-dynamic-library"
- action: "c++-link-dynamic-library"
action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "dead_strip"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- requires {
- feature: "opt"
- }
- }
- feature {
- name: "exclude_private_headers_in_module_maps"
}
feature {
- name: "fastbuild"
- }
- feature {
- name: "force_pic_flags"
+ name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-pie"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "global_whole_archive"
}
}
feature {
- name: "framework_paths"
+ name: "cc_archiver_flags"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-F%{framework_paths}"
+ flag: "rcs"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "runtime_root_flags"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ expand_if_all_available: "runtime_library_search_directories"
}
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
@@ -1643,31 +1590,21 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "runtime_root_flags"
}
- }
- feature {
- name: "has_configured_linker_path"
- }
- feature {
- name: "include_system_dirs"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "%{runtime_root_entries}"
}
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -1834,332 +1771,395 @@ toolchain {
}
}
feature {
- name: "legacy_link_flags"
+ name: "force_pic_flags"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "-pie"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "linker_param_file"
- flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- flag_group {
- flag: "-Wl,@%{linker_param_file}"
- }
- expand_if_all_available: "linker_param_file"
- }
+ name: "pch"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "c-compile"
+ action: "c++-compile"
flag_group {
- flag: "@%{linker_param_file}"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "linkstamps"
+ name: "module_maps"
+ }
+ feature {
+ name: "use_objc_modules"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "llvm_coverage_map_format"
+ name: "no_enable_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fmodule-maps"
}
}
requires {
- feature: "run_coverage"
+ feature: "use_objc_modules"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "no_enable_modules"
+ name: "apply_default_warnings"
flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-Wshorten-64-to-32"
+ flag: "-Wbool-conversion"
+ flag: "-Wconstant-conversion"
+ flag: "-Wduplicate-method-match"
+ flag: "-Wempty-body"
+ flag: "-Wenum-conversion"
+ flag: "-Wint-conversion"
+ flag: "-Wunreachable-code"
+ flag: "-Wmismatched-return-types"
+ flag: "-Wundeclared-selector"
+ flag: "-Wuninitialized"
+ flag: "-Wunused-function"
+ flag: "-Wunused-variable"
}
}
- requires {
- feature: "use_objc_modules"
- }
}
feature {
- name: "no_objc_arc"
+ name: "preprocessor_defines"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fno-objc-arc"
+ flag: "-D%{preprocessor_defines}"
}
- expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "objc_actions"
- implies: "objc-compile"
- implies: "objc++-compile"
- implies: "objc-fully-link"
- implies: "objc-archive"
- implies: "objc-executable"
- implies: "objc++-executable"
- implies: "assemble"
- implies: "preprocess-assemble"
- implies: "c-compile"
- implies: "c++-compile"
- implies: "c++-link-static-library"
- implies: "c++-link-pic-static-library"
- implies: "c++-link-interface-dynamic-library"
- implies: "c++-link-dynamic-library"
- implies: "c++-link-alwayslink-static-library"
- implies: "c++-link-alwayslink-pic-static-library"
- implies: "c++-link-executable"
+ name: "framework_paths"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ flag_group {
+ flag: "-F%{framework_paths}"
+ }
+ }
}
feature {
- name: "objc_arc"
+ name: "coverage"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fobjc-arc"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "objc_arc"
}
- }
- feature {
- name: "only_doth_headers_in_module_maps"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "output_execpath_flags"
flag_set {
+ action: "c++-link-interface-dynamic-library"
action: "c++-link-dynamic-library"
+ action: "c++-link-executable"
flag_group {
- flag: "-o"
- flag: "%{output_execpath}"
+ flag: "-fprofile-instr-generate"
}
- expand_if_all_available: "output_execpath"
}
+ provides: "profile"
}
feature {
- name: "output_execpath_flags_executable"
+ name: "apply_default_compiler_flags"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-o"
+ flag: "-DOS_IOS"
}
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "include_system_dirs"
flag_set {
- action: "c++-link-executable"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "skip_mostly_static"
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{output_execpath}"
+ flag: "-fembed-bitcode"
}
- expand_if_all_available: "output_execpath"
}
}
feature {
- name: "pch"
+ name: "bitcode_embedded_markers"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ flag: "-fembed-bitcode-marker"
}
}
}
feature {
- name: "preprocessor_defines"
+ name: "objc_arc"
flag_set {
- action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
+ action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ action: "assemble"
+ action: "preprocess-assemble"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-D%{preprocessor_defines}"
+ flag: "-fobjc-arc"
}
+ expand_if_all_available: "objc_arc"
}
}
feature {
- name: "run_coverage"
+ name: "no_objc_arc"
+ flag_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-fno-objc-arc"
+ }
+ expand_if_all_available: "no_objc_arc"
+ }
}
feature {
- name: "runtime_root_flags"
- flag_set {
+ name: "apple_env"
+ env_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-archive"
action: "c++-link-executable"
action: "c++-link-dynamic-library"
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
- flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ action: "objc-executable"
+ action: "objc++-executable"
+ env_entry {
+ key: "XCODE_VERSION_OVERRIDE"
+ value: "%{xcode_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_VERSION_OVERRIDE"
+ value: "%{apple_sdk_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_PLATFORM"
+ value: "%{apple_sdk_platform_value}"
}
- expand_if_all_available: "runtime_library_search_directories"
}
+ }
+ feature {
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "legacy_link_flags"
}
+ }
+ feature {
+ name: "linker_param_file"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linker_param_file}"
+ }
+ expand_if_all_available: "linker_param_file"
+ }
+ flag_set {
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_entries}"
+ flag: "@%{linker_param_file}"
}
- expand_if_all_available: "runtime_root_entries"
+ expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "shared_flag"
+ name: "version_min"
flag_set {
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ action: "preprocess-assemble"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "c++-module-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-mios-simulator-version-min=%{version_min}"
}
}
}
feature {
- name: "strip_debug_symbols"
+ name: "dead_strip"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
}
+ requires {
+ feature: "opt"
+ }
}
feature {
- name: "symbol_counts"
+ name: "run_coverage"
+ }
+ feature {
+ name: "llvm_coverage_map_format"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "symbol_counts_output"
+ }
+ requires {
+ feature: "run_coverage"
}
}
feature {
- name: "use_objc_modules"
+ name: "gcc_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
}
+ requires {
+ feature: "run_coverage"
+ }
}
feature {
- name: "version_min"
+ name: "apply_implicit_frameworks"
flag_set {
action: "objc-executable"
action: "objc++-executable"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ flag_group {
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
+ }
+ }
+ }
+ feature {
+ name: "apply_simulator_compiler_flags"
+ flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-mios-simulator-version-min=%{version_min}"
+ flag: "-fexceptions"
+ flag: "-fasm-blocks"
+ flag: "-fobjc-abi-version=2"
+ flag: "-fobjc-legacy-dispatch"
}
}
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
- implies: "include_system_dirs"
implies: "apple_env"
}
action_config {
@@ -2177,8 +2177,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-module-compile"
+ action_name: "c++-module-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -2191,8 +2191,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -2205,108 +2205,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-link-alwayslink-pic-static-library"
- action_name: "c++-link-alwayslink-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-alwayslink-static-library"
- action_name: "c++-link-alwayslink-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-dynamic-library"
- action_name: "c++-link-dynamic-library"
- tool {
- tool_path: "wrapped_clang"
- }
- implies: "has_configured_linker_path"
- implies: "symbol_counts"
- implies: "shared_flag"
- implies: "linkstamps"
- implies: "output_execpath_flags"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-executable"
- action_name: "c++-link-executable"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "symbol_counts"
- implies: "linkstamps"
- implies: "output_execpath_flags_executable"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "force_pic_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-interface-dynamic-library"
- action_name: "c++-link-interface-dynamic-library"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "strip_debug_symbols"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-pic-static-library"
- action_name: "c++-link-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-static-library"
- action_name: "c++-link-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -2319,18 +2219,29 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c-compile"
- action_name: "c-compile"
+ config_name: "objc-compile"
+ action_name: "objc-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ flag_set {
+ flag_group {
+ flag: "-arch"
+ flag: "x86_64"
+ }
+ }
+ implies: "objc_actions"
+ implies: "apply_default_compiler_flags"
+ implies: "apply_default_warnings"
+ implies: "framework_paths"
implies: "preprocessor_defines"
implies: "include_system_dirs"
implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
implies: "apple_env"
+ implies: "apply_simulator_compiler_flags"
}
action_config {
config_name: "objc++-compile"
@@ -2359,17 +2270,61 @@ toolchain {
implies: "apply_simulator_compiler_flags"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "assemble"
+ action_name: "assemble"
tool {
- tool_path: "wrapped_clang_pp"
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "include_system_dirs"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "preprocess-assemble"
+ action_name: "preprocess-assemble"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-archive"
+ action_name: "objc-archive"
+ tool {
+ tool_path: "libtool"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
+ flag: "-static"
+ flag: "-filelist"
+ flag: "%{obj_list_path}"
+ flag: "-arch_only"
+ flag: "x86_64"
+ flag: "-syslibroot"
+ flag: "%{sdk_dir}"
+ flag: "-o"
+ flag: "%{archive_path}"
}
+ }
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-executable"
+ action_name: "objc-executable"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ flag_set {
flag_group {
flag: "-arch"
flag: "x86_64"
@@ -2420,60 +2375,17 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
- tool {
- tool_path: "libtool"
- execution_requirement: "requires-darwin"
- }
- flag_set {
- flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
- flag: "x86_64"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
- }
- }
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ config_name: "objc++-executable"
+ action_name: "objc++-executable"
tool {
- tool_path: "wrapped_clang"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-arch"
- flag: "x86_64"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
- }
- implies: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- implies: "apply_simulator_compiler_flags"
- }
- action_config {
- config_name: "objc-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "x86_64"
@@ -2524,6 +2436,106 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
+ config_name: "c++-link-executable"
+ action_name: "c++-link-executable"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "symbol_counts"
+ implies: "linkstamps"
+ implies: "output_execpath_flags_executable"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "force_pic_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-dynamic-library"
+ action_name: "c++-link-dynamic-library"
+ tool {
+ tool_path: "wrapped_clang"
+ }
+ implies: "has_configured_linker_path"
+ implies: "symbol_counts"
+ implies: "shared_flag"
+ implies: "linkstamps"
+ implies: "output_execpath_flags"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-static-library"
+ action_name: "c++-link-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-static-library"
+ action_name: "c++-link-alwayslink-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-pic-static-library"
+ action_name: "c++-link-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "strip_debug_symbols"
+ implies: "apple_env"
+ }
+ action_config {
config_name: "objc-fully-link"
action_name: "objc-fully-link"
tool {
@@ -2552,20 +2564,6 @@ toolchain {
}
implies: "apple_env"
}
- action_config {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
cc_target_os: "apple"
}
toolchain {
@@ -2664,7 +2662,6 @@ toolchain {
name: "STACK_FRAME_UNLIMITED"
value: "-Wframe-larger-than=100000000 -Wno-vla"
}
- cxx_builtin_include_directory: "/"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
@@ -2678,225 +2675,174 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "apple_env"
- env_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-archive"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
- action: "objc-executable"
- action: "objc++-executable"
- env_entry {
- key: "XCODE_VERSION_OVERRIDE"
- value: "%{xcode_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_VERSION_OVERRIDE"
- value: "%{apple_sdk_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_PLATFORM"
- value: "%{apple_sdk_platform_value}"
- }
- }
+ name: "fastbuild"
}
feature {
- name: "apply_default_compiler_flags"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-DOS_IOS"
- }
- }
+ name: "opt"
}
feature {
- name: "apply_default_warnings"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-Wshorten-64-to-32"
- flag: "-Wbool-conversion"
- flag: "-Wconstant-conversion"
- flag: "-Wduplicate-method-match"
- flag: "-Wempty-body"
- flag: "-Wenum-conversion"
- flag: "-Wint-conversion"
- flag: "-Wunreachable-code"
- flag: "-Wmismatched-return-types"
- flag: "-Wundeclared-selector"
- flag: "-Wuninitialized"
- flag: "-Wunused-function"
- flag: "-Wunused-variable"
- }
- }
+ name: "dbg"
}
feature {
- name: "apply_implicit_frameworks"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "only_doth_headers_in_module_maps"
+ }
+ feature {
+ name: "objc_actions"
+ implies: "objc-compile"
+ implies: "objc++-compile"
+ implies: "objc-fully-link"
+ implies: "objc-archive"
+ implies: "objc-executable"
+ implies: "objc++-executable"
+ implies: "assemble"
+ implies: "preprocess-assemble"
+ implies: "c-compile"
+ implies: "c++-compile"
+ implies: "c++-link-static-library"
+ implies: "c++-link-pic-static-library"
+ implies: "c++-link-interface-dynamic-library"
+ implies: "c++-link-dynamic-library"
+ implies: "c++-link-alwayslink-static-library"
+ implies: "c++-link-alwayslink-pic-static-library"
+ implies: "c++-link-executable"
+ }
+ feature {
+ name: "strip_debug_symbols"
flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
}
feature {
- name: "apply_simulator_compiler_flags"
+ name: "symbol_counts"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fexceptions"
- flag: "-fasm-blocks"
- flag: "-fobjc-abi-version=2"
- flag: "-fobjc-legacy-dispatch"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "bitcode_embedded"
+ name: "shared_flag"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "-shared"
}
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode-marker"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "output_execpath_flags"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "rcs"
+ flag: "-o"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "compile_all_modules"
- }
- feature {
- name: "coverage"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
flag_set {
- action: "c++-link-interface-dynamic-library"
- action: "c++-link-dynamic-library"
action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "dead_strip"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "%{output_execpath}"
}
- }
- requires {
- feature: "opt"
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "exclude_private_headers_in_module_maps"
- }
- feature {
- name: "fastbuild"
- }
- feature {
- name: "force_pic_flags"
+ name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-pie"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "global_whole_archive"
}
}
feature {
- name: "framework_paths"
+ name: "cc_archiver_flags"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-F%{framework_paths}"
+ flag: "rcs"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "runtime_root_flags"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ expand_if_all_available: "runtime_library_search_directories"
}
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
@@ -2905,33 +2851,21 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "runtime_root_flags"
}
- }
- feature {
- name: "has_configured_linker_path"
- }
- feature {
- name: "include_system_dirs"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-isysroot %{sdk_dir}"
- flag: "-F%{sdk_framework_dir}"
- flag: "-F%{platform_developer_framework_dir}"
+ flag: "%{runtime_root_entries}"
}
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -3098,332 +3032,397 @@ toolchain {
}
}
feature {
- name: "legacy_link_flags"
+ name: "force_pic_flags"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "-pie"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "linker_param_file"
- flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- flag_group {
- flag: "-Wl,@%{linker_param_file}"
- }
- expand_if_all_available: "linker_param_file"
- }
+ name: "pch"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "c-compile"
+ action: "c++-compile"
flag_group {
- flag: "@%{linker_param_file}"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "linkstamps"
+ name: "module_maps"
+ }
+ feature {
+ name: "use_objc_modules"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "llvm_coverage_map_format"
+ name: "no_enable_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fmodule-maps"
}
}
requires {
- feature: "run_coverage"
+ feature: "use_objc_modules"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "no_enable_modules"
+ name: "apply_default_warnings"
flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-Wshorten-64-to-32"
+ flag: "-Wbool-conversion"
+ flag: "-Wconstant-conversion"
+ flag: "-Wduplicate-method-match"
+ flag: "-Wempty-body"
+ flag: "-Wenum-conversion"
+ flag: "-Wint-conversion"
+ flag: "-Wunreachable-code"
+ flag: "-Wmismatched-return-types"
+ flag: "-Wundeclared-selector"
+ flag: "-Wuninitialized"
+ flag: "-Wunused-function"
+ flag: "-Wunused-variable"
}
}
- requires {
- feature: "use_objc_modules"
- }
}
feature {
- name: "no_objc_arc"
+ name: "preprocessor_defines"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fno-objc-arc"
+ flag: "-D%{preprocessor_defines}"
}
- expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "objc_actions"
- implies: "objc-compile"
- implies: "objc++-compile"
- implies: "objc-fully-link"
- implies: "objc-archive"
- implies: "objc-executable"
- implies: "objc++-executable"
- implies: "assemble"
- implies: "preprocess-assemble"
- implies: "c-compile"
- implies: "c++-compile"
- implies: "c++-link-static-library"
- implies: "c++-link-pic-static-library"
- implies: "c++-link-interface-dynamic-library"
- implies: "c++-link-dynamic-library"
- implies: "c++-link-alwayslink-static-library"
- implies: "c++-link-alwayslink-pic-static-library"
- implies: "c++-link-executable"
+ name: "framework_paths"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ flag_group {
+ flag: "-F%{framework_paths}"
+ }
+ }
}
feature {
- name: "objc_arc"
+ name: "coverage"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fobjc-arc"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "objc_arc"
}
- }
- feature {
- name: "only_doth_headers_in_module_maps"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "output_execpath_flags"
flag_set {
+ action: "c++-link-interface-dynamic-library"
action: "c++-link-dynamic-library"
+ action: "c++-link-executable"
flag_group {
- flag: "-o"
- flag: "%{output_execpath}"
+ flag: "-fprofile-instr-generate"
}
- expand_if_all_available: "output_execpath"
}
+ provides: "profile"
}
feature {
- name: "output_execpath_flags_executable"
+ name: "apply_default_compiler_flags"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-o"
+ flag: "-DOS_IOS"
}
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "include_system_dirs"
flag_set {
- action: "c++-link-executable"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-isysroot %{sdk_dir}"
+ flag: "-F%{sdk_framework_dir}"
+ flag: "-F%{platform_developer_framework_dir}"
}
- expand_if_all_available: "skip_mostly_static"
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{output_execpath}"
+ flag: "-fembed-bitcode"
}
- expand_if_all_available: "output_execpath"
}
}
feature {
- name: "pch"
+ name: "bitcode_embedded_markers"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ flag: "-fembed-bitcode-marker"
}
}
}
feature {
- name: "preprocessor_defines"
+ name: "objc_arc"
flag_set {
- action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
+ action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ action: "assemble"
+ action: "preprocess-assemble"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-D%{preprocessor_defines}"
+ flag: "-fobjc-arc"
}
+ expand_if_all_available: "objc_arc"
}
}
feature {
- name: "run_coverage"
+ name: "no_objc_arc"
+ flag_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-fno-objc-arc"
+ }
+ expand_if_all_available: "no_objc_arc"
+ }
}
feature {
- name: "runtime_root_flags"
- flag_set {
+ name: "apple_env"
+ env_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-archive"
action: "c++-link-executable"
action: "c++-link-dynamic-library"
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
- flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ action: "objc-executable"
+ action: "objc++-executable"
+ env_entry {
+ key: "XCODE_VERSION_OVERRIDE"
+ value: "%{xcode_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_VERSION_OVERRIDE"
+ value: "%{apple_sdk_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_PLATFORM"
+ value: "%{apple_sdk_platform_value}"
}
- expand_if_all_available: "runtime_library_search_directories"
}
+ }
+ feature {
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "legacy_link_flags"
}
+ }
+ feature {
+ name: "linker_param_file"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linker_param_file}"
+ }
+ expand_if_all_available: "linker_param_file"
+ }
+ flag_set {
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_entries}"
+ flag: "@%{linker_param_file}"
}
- expand_if_all_available: "runtime_root_entries"
+ expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "shared_flag"
+ name: "version_min"
flag_set {
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ action: "preprocess-assemble"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "c++-module-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-mwatchos-simulator-version-min=%{version_min}"
}
}
}
feature {
- name: "strip_debug_symbols"
+ name: "dead_strip"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
}
+ requires {
+ feature: "opt"
+ }
}
feature {
- name: "symbol_counts"
+ name: "run_coverage"
+ }
+ feature {
+ name: "llvm_coverage_map_format"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "symbol_counts_output"
+ }
+ requires {
+ feature: "run_coverage"
}
}
feature {
- name: "use_objc_modules"
+ name: "gcc_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
}
+ requires {
+ feature: "run_coverage"
+ }
}
feature {
- name: "version_min"
+ name: "apply_implicit_frameworks"
flag_set {
action: "objc-executable"
action: "objc++-executable"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ flag_group {
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
+ }
+ }
+ }
+ feature {
+ name: "apply_simulator_compiler_flags"
+ flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-mwatchos-simulator-version-min=%{version_min}"
+ flag: "-fexceptions"
+ flag: "-fasm-blocks"
+ flag: "-fobjc-abi-version=2"
+ flag: "-fobjc-legacy-dispatch"
}
}
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
- implies: "include_system_dirs"
implies: "apple_env"
}
action_config {
@@ -3441,8 +3440,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-module-compile"
+ action_name: "c++-module-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -3455,8 +3454,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -3469,108 +3468,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-link-alwayslink-pic-static-library"
- action_name: "c++-link-alwayslink-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-alwayslink-static-library"
- action_name: "c++-link-alwayslink-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-dynamic-library"
- action_name: "c++-link-dynamic-library"
- tool {
- tool_path: "wrapped_clang"
- }
- implies: "has_configured_linker_path"
- implies: "symbol_counts"
- implies: "shared_flag"
- implies: "linkstamps"
- implies: "output_execpath_flags"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-executable"
- action_name: "c++-link-executable"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "symbol_counts"
- implies: "linkstamps"
- implies: "output_execpath_flags_executable"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "force_pic_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-interface-dynamic-library"
- action_name: "c++-link-interface-dynamic-library"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "strip_debug_symbols"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-pic-static-library"
- action_name: "c++-link-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-static-library"
- action_name: "c++-link-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -3583,18 +3482,29 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c-compile"
- action_name: "c-compile"
+ config_name: "objc-compile"
+ action_name: "objc-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ flag_set {
+ flag_group {
+ flag: "-arch"
+ flag: "i386"
+ }
+ }
+ implies: "objc_actions"
+ implies: "apply_default_compiler_flags"
+ implies: "apply_default_warnings"
+ implies: "framework_paths"
implies: "preprocessor_defines"
implies: "include_system_dirs"
implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
implies: "apple_env"
+ implies: "apply_simulator_compiler_flags"
}
action_config {
config_name: "objc++-compile"
@@ -3623,17 +3533,61 @@ toolchain {
implies: "apply_simulator_compiler_flags"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "assemble"
+ action_name: "assemble"
tool {
- tool_path: "wrapped_clang_pp"
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "include_system_dirs"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "preprocess-assemble"
+ action_name: "preprocess-assemble"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-archive"
+ action_name: "objc-archive"
+ tool {
+ tool_path: "libtool"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
+ flag: "-static"
+ flag: "-filelist"
+ flag: "%{obj_list_path}"
+ flag: "-arch_only"
+ flag: "i386"
+ flag: "-syslibroot"
+ flag: "%{sdk_dir}"
+ flag: "-o"
+ flag: "%{archive_path}"
}
+ }
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-executable"
+ action_name: "objc-executable"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ flag_set {
flag_group {
flag: "-arch"
flag: "i386"
@@ -3684,60 +3638,17 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
+ config_name: "objc++-executable"
+ action_name: "objc++-executable"
tool {
- tool_path: "libtool"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
- flag: "i386"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
- }
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "i386"
- }
- }
- implies: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- implies: "apply_simulator_compiler_flags"
- }
- action_config {
- config_name: "objc-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "i386"
@@ -3788,6 +3699,106 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
+ config_name: "c++-link-executable"
+ action_name: "c++-link-executable"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "symbol_counts"
+ implies: "linkstamps"
+ implies: "output_execpath_flags_executable"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "force_pic_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-dynamic-library"
+ action_name: "c++-link-dynamic-library"
+ tool {
+ tool_path: "wrapped_clang"
+ }
+ implies: "has_configured_linker_path"
+ implies: "symbol_counts"
+ implies: "shared_flag"
+ implies: "linkstamps"
+ implies: "output_execpath_flags"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-static-library"
+ action_name: "c++-link-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-static-library"
+ action_name: "c++-link-alwayslink-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-pic-static-library"
+ action_name: "c++-link-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "strip_debug_symbols"
+ implies: "apple_env"
+ }
+ action_config {
config_name: "objc-fully-link"
action_name: "objc-fully-link"
tool {
@@ -3816,20 +3827,6 @@ toolchain {
}
implies: "apple_env"
}
- action_config {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
cc_target_os: "apple"
}
toolchain {
@@ -3909,10 +3906,6 @@ toolchain {
compiler_flag: "-DDEBUG"
}
compilation_mode_flags {
- mode: DBG
- compiler_flag: "-g"
- }
- compilation_mode_flags {
mode: OPT
compiler_flag: "-g0"
compiler_flag: "-O2"
@@ -3922,6 +3915,10 @@ toolchain {
compiler_flag: "-fdata-sections"
compiler_flag: "-DNS_BLOCK_ASSERTIONS=1"
}
+ compilation_mode_flags {
+ mode: DBG
+ compiler_flag: "-g"
+ }
linking_mode_flags {
mode: DYNAMIC
}
@@ -3929,7 +3926,6 @@ toolchain {
name: "STACK_FRAME_UNLIMITED"
value: "-Wframe-larger-than=100000000 -Wno-vla"
}
- cxx_builtin_include_directory: "/"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
@@ -3943,239 +3939,174 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "apple_env"
- env_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-archive"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
- action: "objc-executable"
- action: "objc++-executable"
- env_entry {
- key: "XCODE_VERSION_OVERRIDE"
- value: "%{xcode_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_VERSION_OVERRIDE"
- value: "%{apple_sdk_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_PLATFORM"
- value: "%{apple_sdk_platform_value}"
- }
- }
+ name: "fastbuild"
}
feature {
- name: "apply_default_compiler_flags"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-DOS_TVOS"
- }
- }
+ name: "opt"
}
feature {
- name: "apply_default_warnings"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-Wshorten-64-to-32"
- flag: "-Wbool-conversion"
- flag: "-Wconstant-conversion"
- flag: "-Wduplicate-method-match"
- flag: "-Wempty-body"
- flag: "-Wenum-conversion"
- flag: "-Wint-conversion"
- flag: "-Wunreachable-code"
- flag: "-Wmismatched-return-types"
- flag: "-Wundeclared-selector"
- flag: "-Wuninitialized"
- flag: "-Wunused-function"
- flag: "-Wunused-variable"
- }
- }
+ name: "dbg"
}
feature {
- name: "apply_implicit_frameworks"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "only_doth_headers_in_module_maps"
+ }
+ feature {
+ name: "objc_actions"
+ implies: "objc-compile"
+ implies: "objc++-compile"
+ implies: "objc-fully-link"
+ implies: "objc-archive"
+ implies: "objc-executable"
+ implies: "objc++-executable"
+ implies: "assemble"
+ implies: "preprocess-assemble"
+ implies: "c-compile"
+ implies: "c++-compile"
+ implies: "c++-link-static-library"
+ implies: "c++-link-pic-static-library"
+ implies: "c++-link-interface-dynamic-library"
+ implies: "c++-link-dynamic-library"
+ implies: "c++-link-alwayslink-static-library"
+ implies: "c++-link-alwayslink-pic-static-library"
+ implies: "c++-link-executable"
+ }
+ feature {
+ name: "strip_debug_symbols"
flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
}
feature {
- name: "apply_simulator_compiler_flags"
+ name: "symbol_counts"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fexceptions"
- flag: "-fasm-blocks"
- flag: "-fobjc-abi-version=2"
- flag: "-fobjc-legacy-dispatch"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "bitcode_embedded"
+ name: "shared_flag"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "-shared"
}
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode-marker"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "output_execpath_flags"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "rcs"
+ flag: "-o"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "compile_all_modules"
- }
- feature {
- name: "coverage"
- flag_set {
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
- }
- }
+ name: "output_execpath_flags_executable"
flag_set {
- action: "c++-link-interface-dynamic-library"
- action: "c++-link-dynamic-library"
action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
- }
- feature {
- name: "cpp_linker_flags"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
flag_group {
- flag: "-lc++"
- flag: "-undefined"
- flag: "dynamic_lookup"
- flag: "-target"
- flag: "x86_64-apple-tvos"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "dead_strip"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "%{output_execpath}"
}
- }
- requires {
- feature: "opt"
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "exclude_private_headers_in_module_maps"
- }
- feature {
- name: "fastbuild"
- }
- feature {
- name: "force_pic_flags"
+ name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-pie"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "global_whole_archive"
}
}
feature {
- name: "framework_paths"
+ name: "cc_archiver_flags"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-F%{framework_paths}"
+ flag: "rcs"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "runtime_root_flags"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ expand_if_all_available: "runtime_library_search_directories"
}
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
@@ -4184,31 +4115,21 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "runtime_root_flags"
}
- }
- feature {
- name: "has_configured_linker_path"
- }
- feature {
- name: "include_system_dirs"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "%{runtime_root_entries}"
}
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -4375,347 +4296,424 @@ toolchain {
}
}
feature {
- name: "legacy_link_flags"
+ name: "force_pic_flags"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "-pie"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "linker_param_file"
- flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- flag_group {
- flag: "-Wl,@%{linker_param_file}"
- }
- expand_if_all_available: "linker_param_file"
- }
+ name: "pch"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "c-compile"
+ action: "c++-compile"
flag_group {
- flag: "@%{linker_param_file}"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "linkstamps"
+ name: "module_maps"
+ }
+ feature {
+ name: "use_objc_modules"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "llvm_coverage_map_format"
+ name: "no_enable_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fmodule-maps"
}
}
requires {
- feature: "run_coverage"
+ feature: "use_objc_modules"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "no_enable_modules"
+ name: "apply_default_warnings"
flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-Wshorten-64-to-32"
+ flag: "-Wbool-conversion"
+ flag: "-Wconstant-conversion"
+ flag: "-Wduplicate-method-match"
+ flag: "-Wempty-body"
+ flag: "-Wenum-conversion"
+ flag: "-Wint-conversion"
+ flag: "-Wunreachable-code"
+ flag: "-Wmismatched-return-types"
+ flag: "-Wundeclared-selector"
+ flag: "-Wuninitialized"
+ flag: "-Wunused-function"
+ flag: "-Wunused-variable"
}
}
- requires {
- feature: "use_objc_modules"
- }
}
feature {
- name: "no_objc_arc"
+ name: "preprocessor_defines"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fno-objc-arc"
+ flag: "-D%{preprocessor_defines}"
}
- expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "objc_actions"
- implies: "objc-compile"
- implies: "objc++-compile"
- implies: "objc-fully-link"
- implies: "objc-archive"
- implies: "objc-executable"
- implies: "objc++-executable"
- implies: "assemble"
- implies: "preprocess-assemble"
- implies: "c-compile"
- implies: "c++-compile"
- implies: "c++-link-static-library"
- implies: "c++-link-pic-static-library"
- implies: "c++-link-interface-dynamic-library"
- implies: "c++-link-dynamic-library"
- implies: "c++-link-alwayslink-static-library"
- implies: "c++-link-alwayslink-pic-static-library"
- implies: "c++-link-executable"
+ name: "framework_paths"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ flag_group {
+ flag: "-F%{framework_paths}"
+ }
+ }
}
feature {
- name: "objc_arc"
+ name: "coverage"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fobjc-arc"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "objc_arc"
}
- }
- feature {
- name: "only_doth_headers_in_module_maps"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "output_execpath_flags"
flag_set {
+ action: "c++-link-interface-dynamic-library"
action: "c++-link-dynamic-library"
+ action: "c++-link-executable"
flag_group {
- flag: "-o"
- flag: "%{output_execpath}"
+ flag: "-fprofile-instr-generate"
}
- expand_if_all_available: "output_execpath"
}
+ provides: "profile"
}
feature {
- name: "output_execpath_flags_executable"
+ name: "apply_default_compiler_flags"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-o"
+ flag: "-DOS_TVOS"
}
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "include_system_dirs"
flag_set {
- action: "c++-link-executable"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "skip_mostly_static"
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{output_execpath}"
+ flag: "-fembed-bitcode"
}
- expand_if_all_available: "output_execpath"
}
}
feature {
- name: "pch"
+ name: "bitcode_embedded_markers"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ flag: "-fembed-bitcode-marker"
}
}
}
feature {
- name: "preprocessor_defines"
+ name: "objc_arc"
flag_set {
- action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
+ action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ action: "assemble"
+ action: "preprocess-assemble"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-D%{preprocessor_defines}"
+ flag: "-fobjc-arc"
}
+ expand_if_all_available: "objc_arc"
}
}
feature {
- name: "run_coverage"
+ name: "no_objc_arc"
+ flag_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-fno-objc-arc"
+ }
+ expand_if_all_available: "no_objc_arc"
+ }
}
feature {
- name: "runtime_root_flags"
- flag_set {
+ name: "apple_env"
+ env_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-archive"
action: "c++-link-executable"
action: "c++-link-dynamic-library"
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
- flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ action: "objc-executable"
+ action: "objc++-executable"
+ env_entry {
+ key: "XCODE_VERSION_OVERRIDE"
+ value: "%{xcode_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_VERSION_OVERRIDE"
+ value: "%{apple_sdk_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_PLATFORM"
+ value: "%{apple_sdk_platform_value}"
}
- expand_if_all_available: "runtime_library_search_directories"
}
+ }
+ feature {
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "legacy_link_flags"
}
+ }
+ feature {
+ name: "linker_param_file"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linker_param_file}"
+ }
+ expand_if_all_available: "linker_param_file"
+ }
+ flag_set {
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_entries}"
+ flag: "@%{linker_param_file}"
}
- expand_if_all_available: "runtime_root_entries"
+ expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "shared_flag"
+ name: "version_min"
flag_set {
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ action: "preprocess-assemble"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "c++-module-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-mtvos-simulator-version-min=%{version_min}"
}
}
}
feature {
- name: "strip_debug_symbols"
+ name: "dead_strip"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
}
+ requires {
+ feature: "opt"
+ }
}
feature {
- name: "symbol_counts"
+ name: "run_coverage"
+ }
+ feature {
+ name: "llvm_coverage_map_format"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "symbol_counts_output"
+ }
+ requires {
+ feature: "run_coverage"
}
}
feature {
- name: "unfiltered_cxx_flags"
+ name: "gcc_coverage_map_format"
flag_set {
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-no-canonical-prefixes"
- flag: "-pthread"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
}
+ requires {
+ feature: "run_coverage"
+ }
}
feature {
- name: "use_objc_modules"
+ name: "apply_implicit_frameworks"
+ flag_set {
+ action: "objc-executable"
+ action: "objc++-executable"
+ flag_group {
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
+ }
+ }
+ }
+ feature {
+ name: "apply_simulator_compiler_flags"
flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "-fexceptions"
+ flag: "-fasm-blocks"
+ flag: "-fobjc-abi-version=2"
+ flag: "-fobjc-legacy-dispatch"
}
}
}
feature {
- name: "version_min"
+ name: "unfiltered_cxx_flags"
flag_set {
- action: "objc-executable"
- action: "objc++-executable"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-header-parsing"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "-mtvos-simulator-version-min=%{version_min}"
+ flag: "-no-canonical-prefixes"
+ flag: "-pthread"
+ }
+ }
+ }
+ feature {
+ name: "cpp_linker_flags"
+ flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-lc++"
+ flag: "-undefined"
+ flag: "dynamic_lookup"
+ flag: "-target"
+ flag: "x86_64-apple-tvos"
}
}
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
- implies: "include_system_dirs"
implies: "apple_env"
implies: "unfiltered_cxx_flags"
}
@@ -4735,8 +4733,8 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-module-compile"
+ action_name: "c++-module-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -4750,8 +4748,8 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -4765,110 +4763,8 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-link-alwayslink-pic-static-library"
- action_name: "c++-link-alwayslink-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-alwayslink-static-library"
- action_name: "c++-link-alwayslink-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-dynamic-library"
- action_name: "c++-link-dynamic-library"
- tool {
- tool_path: "wrapped_clang"
- }
- implies: "has_configured_linker_path"
- implies: "symbol_counts"
- implies: "shared_flag"
- implies: "linkstamps"
- implies: "output_execpath_flags"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- implies: "cpp_linker_flags"
- }
- action_config {
- config_name: "c++-link-executable"
- action_name: "c++-link-executable"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "symbol_counts"
- implies: "linkstamps"
- implies: "output_execpath_flags_executable"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "force_pic_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- implies: "cpp_linker_flags"
- }
- action_config {
- config_name: "c++-link-interface-dynamic-library"
- action_name: "c++-link-interface-dynamic-library"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "strip_debug_symbols"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-pic-static-library"
- action_name: "c++-link-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-static-library"
- action_name: "c++-link-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -4882,19 +4778,29 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c-compile"
- action_name: "c-compile"
+ config_name: "objc-compile"
+ action_name: "objc-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ flag_set {
+ flag_group {
+ flag: "-arch"
+ flag: "x86_64"
+ }
+ }
+ implies: "objc_actions"
+ implies: "apply_default_compiler_flags"
+ implies: "apply_default_warnings"
+ implies: "framework_paths"
implies: "preprocessor_defines"
implies: "include_system_dirs"
implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
implies: "apple_env"
- implies: "unfiltered_cxx_flags"
+ implies: "apply_simulator_compiler_flags"
}
action_config {
config_name: "objc++-compile"
@@ -4923,17 +4829,63 @@ toolchain {
implies: "apply_simulator_compiler_flags"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "assemble"
+ action_name: "assemble"
tool {
- tool_path: "wrapped_clang_pp"
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "include_system_dirs"
+ implies: "apple_env"
+ implies: "unfiltered_cxx_flags"
+ }
+ action_config {
+ config_name: "preprocess-assemble"
+ action_name: "preprocess-assemble"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "apple_env"
+ implies: "unfiltered_cxx_flags"
+ }
+ action_config {
+ config_name: "objc-archive"
+ action_name: "objc-archive"
+ tool {
+ tool_path: "libtool"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
+ flag: "-static"
+ flag: "-filelist"
+ flag: "%{obj_list_path}"
+ flag: "-arch_only"
+ flag: "x86_64"
+ flag: "-syslibroot"
+ flag: "%{sdk_dir}"
+ flag: "-o"
+ flag: "%{archive_path}"
}
+ }
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-executable"
+ action_name: "objc-executable"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ flag_set {
flag_group {
flag: "-arch"
flag: "x86_64"
@@ -4984,60 +4936,17 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
- tool {
- tool_path: "libtool"
- execution_requirement: "requires-darwin"
- }
- flag_set {
- flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
- flag: "x86_64"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
- }
- }
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ config_name: "objc++-executable"
+ action_name: "objc++-executable"
tool {
- tool_path: "wrapped_clang"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-arch"
- flag: "x86_64"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
- }
- implies: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- implies: "apply_simulator_compiler_flags"
- }
- action_config {
- config_name: "objc-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "x86_64"
@@ -5088,6 +4997,108 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
+ config_name: "c++-link-executable"
+ action_name: "c++-link-executable"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "symbol_counts"
+ implies: "linkstamps"
+ implies: "output_execpath_flags_executable"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "force_pic_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ implies: "cpp_linker_flags"
+ }
+ action_config {
+ config_name: "c++-link-dynamic-library"
+ action_name: "c++-link-dynamic-library"
+ tool {
+ tool_path: "wrapped_clang"
+ }
+ implies: "has_configured_linker_path"
+ implies: "symbol_counts"
+ implies: "shared_flag"
+ implies: "linkstamps"
+ implies: "output_execpath_flags"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ implies: "cpp_linker_flags"
+ }
+ action_config {
+ config_name: "c++-link-static-library"
+ action_name: "c++-link-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-static-library"
+ action_name: "c++-link-alwayslink-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-pic-static-library"
+ action_name: "c++-link-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "strip_debug_symbols"
+ implies: "apple_env"
+ }
+ action_config {
config_name: "objc-fully-link"
action_name: "objc-fully-link"
tool {
@@ -5116,21 +5127,6 @@ toolchain {
}
implies: "apple_env"
}
- action_config {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- implies: "unfiltered_cxx_flags"
- }
cc_target_os: "apple"
}
toolchain {
@@ -5229,7 +5225,6 @@ toolchain {
name: "STACK_FRAME_UNLIMITED"
value: "-Wframe-larger-than=100000000 -Wno-vla"
}
- cxx_builtin_include_directory: "/"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
@@ -5243,225 +5238,174 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "apple_env"
- env_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-archive"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
- action: "objc-executable"
- action: "objc++-executable"
- env_entry {
- key: "XCODE_VERSION_OVERRIDE"
- value: "%{xcode_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_VERSION_OVERRIDE"
- value: "%{apple_sdk_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_PLATFORM"
- value: "%{apple_sdk_platform_value}"
- }
- }
+ name: "fastbuild"
}
feature {
- name: "apply_default_compiler_flags"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-DOS_IOS"
- }
- }
+ name: "opt"
}
feature {
- name: "apply_default_warnings"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-Wshorten-64-to-32"
- flag: "-Wbool-conversion"
- flag: "-Wconstant-conversion"
- flag: "-Wduplicate-method-match"
- flag: "-Wempty-body"
- flag: "-Wenum-conversion"
- flag: "-Wint-conversion"
- flag: "-Wunreachable-code"
- flag: "-Wmismatched-return-types"
- flag: "-Wundeclared-selector"
- flag: "-Wuninitialized"
- flag: "-Wunused-function"
- flag: "-Wunused-variable"
- }
- }
+ name: "dbg"
}
feature {
- name: "apply_implicit_frameworks"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "only_doth_headers_in_module_maps"
+ }
+ feature {
+ name: "objc_actions"
+ implies: "objc-compile"
+ implies: "objc++-compile"
+ implies: "objc-fully-link"
+ implies: "objc-archive"
+ implies: "objc-executable"
+ implies: "objc++-executable"
+ implies: "assemble"
+ implies: "preprocess-assemble"
+ implies: "c-compile"
+ implies: "c++-compile"
+ implies: "c++-link-static-library"
+ implies: "c++-link-pic-static-library"
+ implies: "c++-link-interface-dynamic-library"
+ implies: "c++-link-dynamic-library"
+ implies: "c++-link-alwayslink-static-library"
+ implies: "c++-link-alwayslink-pic-static-library"
+ implies: "c++-link-executable"
+ }
+ feature {
+ name: "strip_debug_symbols"
flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
}
feature {
- name: "apply_simulator_compiler_flags"
+ name: "symbol_counts"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fexceptions"
- flag: "-fasm-blocks"
- flag: "-fobjc-abi-version=2"
- flag: "-fobjc-legacy-dispatch"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "bitcode_embedded"
+ name: "shared_flag"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "-shared"
}
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode-marker"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "output_execpath_flags"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "rcs"
+ flag: "-o"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "compile_all_modules"
- }
- feature {
- name: "coverage"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
flag_set {
- action: "c++-link-interface-dynamic-library"
- action: "c++-link-dynamic-library"
action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "dead_strip"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- requires {
- feature: "opt"
- }
- }
- feature {
- name: "exclude_private_headers_in_module_maps"
- }
- feature {
- name: "fastbuild"
}
feature {
- name: "force_pic_flags"
+ name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-pie"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "global_whole_archive"
}
}
feature {
- name: "framework_paths"
+ name: "cc_archiver_flags"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-F%{framework_paths}"
+ flag: "rcs"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "runtime_root_flags"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ expand_if_all_available: "runtime_library_search_directories"
}
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
@@ -5470,31 +5414,21 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "runtime_root_flags"
}
- }
- feature {
- name: "has_configured_linker_path"
- }
- feature {
- name: "include_system_dirs"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "%{runtime_root_entries}"
}
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -5661,332 +5595,395 @@ toolchain {
}
}
feature {
- name: "legacy_link_flags"
+ name: "force_pic_flags"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "-pie"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "linker_param_file"
- flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- flag_group {
- flag: "-Wl,@%{linker_param_file}"
- }
- expand_if_all_available: "linker_param_file"
- }
+ name: "pch"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "c-compile"
+ action: "c++-compile"
flag_group {
- flag: "@%{linker_param_file}"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "linkstamps"
+ name: "module_maps"
+ }
+ feature {
+ name: "use_objc_modules"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "llvm_coverage_map_format"
+ name: "no_enable_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fmodule-maps"
}
}
requires {
- feature: "run_coverage"
+ feature: "use_objc_modules"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "no_enable_modules"
+ name: "apply_default_warnings"
flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-Wshorten-64-to-32"
+ flag: "-Wbool-conversion"
+ flag: "-Wconstant-conversion"
+ flag: "-Wduplicate-method-match"
+ flag: "-Wempty-body"
+ flag: "-Wenum-conversion"
+ flag: "-Wint-conversion"
+ flag: "-Wunreachable-code"
+ flag: "-Wmismatched-return-types"
+ flag: "-Wundeclared-selector"
+ flag: "-Wuninitialized"
+ flag: "-Wunused-function"
+ flag: "-Wunused-variable"
}
}
- requires {
- feature: "use_objc_modules"
- }
}
feature {
- name: "no_objc_arc"
+ name: "preprocessor_defines"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fno-objc-arc"
+ flag: "-D%{preprocessor_defines}"
}
- expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "objc_actions"
- implies: "objc-compile"
- implies: "objc++-compile"
- implies: "objc-fully-link"
- implies: "objc-archive"
- implies: "objc-executable"
- implies: "objc++-executable"
- implies: "assemble"
- implies: "preprocess-assemble"
- implies: "c-compile"
- implies: "c++-compile"
- implies: "c++-link-static-library"
- implies: "c++-link-pic-static-library"
- implies: "c++-link-interface-dynamic-library"
- implies: "c++-link-dynamic-library"
- implies: "c++-link-alwayslink-static-library"
- implies: "c++-link-alwayslink-pic-static-library"
- implies: "c++-link-executable"
+ name: "framework_paths"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ flag_group {
+ flag: "-F%{framework_paths}"
+ }
+ }
}
feature {
- name: "objc_arc"
+ name: "coverage"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fobjc-arc"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "objc_arc"
}
- }
- feature {
- name: "only_doth_headers_in_module_maps"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "output_execpath_flags"
flag_set {
+ action: "c++-link-interface-dynamic-library"
action: "c++-link-dynamic-library"
+ action: "c++-link-executable"
flag_group {
- flag: "-o"
- flag: "%{output_execpath}"
+ flag: "-fprofile-instr-generate"
}
- expand_if_all_available: "output_execpath"
}
+ provides: "profile"
}
feature {
- name: "output_execpath_flags_executable"
+ name: "apply_default_compiler_flags"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-o"
+ flag: "-DOS_IOS"
}
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "include_system_dirs"
flag_set {
- action: "c++-link-executable"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "skip_mostly_static"
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{output_execpath}"
+ flag: "-fembed-bitcode"
}
- expand_if_all_available: "output_execpath"
}
}
feature {
- name: "pch"
+ name: "bitcode_embedded_markers"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ flag: "-fembed-bitcode-marker"
}
}
}
feature {
- name: "preprocessor_defines"
+ name: "objc_arc"
flag_set {
- action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
+ action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ action: "assemble"
+ action: "preprocess-assemble"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-D%{preprocessor_defines}"
+ flag: "-fobjc-arc"
}
+ expand_if_all_available: "objc_arc"
}
}
feature {
- name: "run_coverage"
+ name: "no_objc_arc"
+ flag_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-fno-objc-arc"
+ }
+ expand_if_all_available: "no_objc_arc"
+ }
}
feature {
- name: "runtime_root_flags"
- flag_set {
+ name: "apple_env"
+ env_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-archive"
action: "c++-link-executable"
action: "c++-link-dynamic-library"
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
- flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ action: "objc-executable"
+ action: "objc++-executable"
+ env_entry {
+ key: "XCODE_VERSION_OVERRIDE"
+ value: "%{xcode_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_VERSION_OVERRIDE"
+ value: "%{apple_sdk_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_PLATFORM"
+ value: "%{apple_sdk_platform_value}"
}
- expand_if_all_available: "runtime_library_search_directories"
}
+ }
+ feature {
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "legacy_link_flags"
}
+ }
+ feature {
+ name: "linker_param_file"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linker_param_file}"
+ }
+ expand_if_all_available: "linker_param_file"
+ }
+ flag_set {
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_entries}"
+ flag: "@%{linker_param_file}"
}
- expand_if_all_available: "runtime_root_entries"
+ expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "shared_flag"
+ name: "version_min"
flag_set {
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ action: "preprocess-assemble"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "c++-module-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-mios-simulator-version-min=%{version_min}"
}
}
}
feature {
- name: "strip_debug_symbols"
+ name: "dead_strip"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
}
+ requires {
+ feature: "opt"
+ }
}
feature {
- name: "symbol_counts"
+ name: "run_coverage"
+ }
+ feature {
+ name: "llvm_coverage_map_format"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "symbol_counts_output"
+ }
+ requires {
+ feature: "run_coverage"
}
}
feature {
- name: "use_objc_modules"
+ name: "gcc_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
}
+ requires {
+ feature: "run_coverage"
+ }
}
feature {
- name: "version_min"
+ name: "apply_implicit_frameworks"
flag_set {
action: "objc-executable"
action: "objc++-executable"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ flag_group {
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
+ }
+ }
+ }
+ feature {
+ name: "apply_simulator_compiler_flags"
+ flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-mios-simulator-version-min=%{version_min}"
+ flag: "-fexceptions"
+ flag: "-fasm-blocks"
+ flag: "-fobjc-abi-version=2"
+ flag: "-fobjc-legacy-dispatch"
}
}
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
- implies: "include_system_dirs"
implies: "apple_env"
}
action_config {
@@ -6004,8 +6001,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-module-compile"
+ action_name: "c++-module-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -6018,8 +6015,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -6032,108 +6029,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-link-alwayslink-pic-static-library"
- action_name: "c++-link-alwayslink-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-alwayslink-static-library"
- action_name: "c++-link-alwayslink-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-dynamic-library"
- action_name: "c++-link-dynamic-library"
- tool {
- tool_path: "wrapped_clang"
- }
- implies: "has_configured_linker_path"
- implies: "symbol_counts"
- implies: "shared_flag"
- implies: "linkstamps"
- implies: "output_execpath_flags"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-executable"
- action_name: "c++-link-executable"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "symbol_counts"
- implies: "linkstamps"
- implies: "output_execpath_flags_executable"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "force_pic_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-interface-dynamic-library"
- action_name: "c++-link-interface-dynamic-library"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "strip_debug_symbols"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-pic-static-library"
- action_name: "c++-link-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-static-library"
- action_name: "c++-link-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -6146,18 +6043,29 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c-compile"
- action_name: "c-compile"
+ config_name: "objc-compile"
+ action_name: "objc-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ flag_set {
+ flag_group {
+ flag: "-arch"
+ flag: "i386"
+ }
+ }
+ implies: "objc_actions"
+ implies: "apply_default_compiler_flags"
+ implies: "apply_default_warnings"
+ implies: "framework_paths"
implies: "preprocessor_defines"
implies: "include_system_dirs"
implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
implies: "apple_env"
+ implies: "apply_simulator_compiler_flags"
}
action_config {
config_name: "objc++-compile"
@@ -6186,17 +6094,61 @@ toolchain {
implies: "apply_simulator_compiler_flags"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "assemble"
+ action_name: "assemble"
tool {
- tool_path: "wrapped_clang_pp"
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "include_system_dirs"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "preprocess-assemble"
+ action_name: "preprocess-assemble"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-archive"
+ action_name: "objc-archive"
+ tool {
+ tool_path: "libtool"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
+ flag: "-static"
+ flag: "-filelist"
+ flag: "%{obj_list_path}"
+ flag: "-arch_only"
+ flag: "i386"
+ flag: "-syslibroot"
+ flag: "%{sdk_dir}"
+ flag: "-o"
+ flag: "%{archive_path}"
}
+ }
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-executable"
+ action_name: "objc-executable"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ flag_set {
flag_group {
flag: "-arch"
flag: "i386"
@@ -6247,60 +6199,17 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
- tool {
- tool_path: "libtool"
- execution_requirement: "requires-darwin"
- }
- flag_set {
- flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
- flag: "i386"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
- }
- }
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ config_name: "objc++-executable"
+ action_name: "objc++-executable"
tool {
- tool_path: "wrapped_clang"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-arch"
- flag: "i386"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
- }
- implies: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- implies: "apply_simulator_compiler_flags"
- }
- action_config {
- config_name: "objc-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "i386"
@@ -6351,6 +6260,106 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
+ config_name: "c++-link-executable"
+ action_name: "c++-link-executable"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "symbol_counts"
+ implies: "linkstamps"
+ implies: "output_execpath_flags_executable"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "force_pic_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-dynamic-library"
+ action_name: "c++-link-dynamic-library"
+ tool {
+ tool_path: "wrapped_clang"
+ }
+ implies: "has_configured_linker_path"
+ implies: "symbol_counts"
+ implies: "shared_flag"
+ implies: "linkstamps"
+ implies: "output_execpath_flags"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-static-library"
+ action_name: "c++-link-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-static-library"
+ action_name: "c++-link-alwayslink-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-pic-static-library"
+ action_name: "c++-link-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "strip_debug_symbols"
+ implies: "apple_env"
+ }
+ action_config {
config_name: "objc-fully-link"
action_name: "objc-fully-link"
tool {
@@ -6379,20 +6388,6 @@ toolchain {
}
implies: "apple_env"
}
- action_config {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
cc_target_os: "apple"
}
toolchain {
@@ -6491,7 +6486,6 @@ toolchain {
name: "STACK_FRAME_UNLIMITED"
value: "-Wframe-larger-than=100000000 -Wno-vla"
}
- cxx_builtin_include_directory: "/"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
@@ -6505,212 +6499,174 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "apple_env"
- env_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-archive"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
- action: "objc-executable"
- action: "objc++-executable"
- env_entry {
- key: "XCODE_VERSION_OVERRIDE"
- value: "%{xcode_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_VERSION_OVERRIDE"
- value: "%{apple_sdk_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_PLATFORM"
- value: "%{apple_sdk_platform_value}"
- }
- }
+ name: "fastbuild"
}
feature {
- name: "apply_default_compiler_flags"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-DOS_IOS"
- }
- }
+ name: "opt"
}
feature {
- name: "apply_default_warnings"
+ name: "dbg"
+ }
+ feature {
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "only_doth_headers_in_module_maps"
+ }
+ feature {
+ name: "objc_actions"
+ implies: "objc-compile"
+ implies: "objc++-compile"
+ implies: "objc-fully-link"
+ implies: "objc-archive"
+ implies: "objc-executable"
+ implies: "objc++-executable"
+ implies: "assemble"
+ implies: "preprocess-assemble"
+ implies: "c-compile"
+ implies: "c++-compile"
+ implies: "c++-link-static-library"
+ implies: "c++-link-pic-static-library"
+ implies: "c++-link-interface-dynamic-library"
+ implies: "c++-link-dynamic-library"
+ implies: "c++-link-alwayslink-static-library"
+ implies: "c++-link-alwayslink-pic-static-library"
+ implies: "c++-link-executable"
+ }
+ feature {
+ name: "strip_debug_symbols"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-interface-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wshorten-64-to-32"
- flag: "-Wbool-conversion"
- flag: "-Wconstant-conversion"
- flag: "-Wduplicate-method-match"
- flag: "-Wempty-body"
- flag: "-Wenum-conversion"
- flag: "-Wint-conversion"
- flag: "-Wunreachable-code"
- flag: "-Wmismatched-return-types"
- flag: "-Wundeclared-selector"
- flag: "-Wuninitialized"
- flag: "-Wunused-function"
- flag: "-Wunused-variable"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
}
feature {
- name: "apply_implicit_frameworks"
+ name: "symbol_counts"
flag_set {
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "bitcode_embedded"
+ name: "shared_flag"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "-shared"
}
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode-marker"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "output_execpath_flags"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "rcs"
+ flag: "-o"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "compile_all_modules"
- }
- feature {
- name: "coverage"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
flag_set {
- action: "c++-link-interface-dynamic-library"
- action: "c++-link-dynamic-library"
action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "dead_strip"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- requires {
- feature: "opt"
- }
- }
- feature {
- name: "exclude_private_headers_in_module_maps"
- }
- feature {
- name: "fastbuild"
}
feature {
- name: "force_pic_flags"
+ name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-pie"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "global_whole_archive"
}
}
feature {
- name: "framework_paths"
+ name: "cc_archiver_flags"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-F%{framework_paths}"
+ flag: "rcs"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "runtime_root_flags"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ expand_if_all_available: "runtime_library_search_directories"
}
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
@@ -6719,31 +6675,21 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "runtime_root_flags"
}
- }
- feature {
- name: "has_configured_linker_path"
- }
- feature {
- name: "include_system_dirs"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "%{runtime_root_entries}"
}
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -6910,332 +6856,382 @@ toolchain {
}
}
feature {
- name: "legacy_link_flags"
+ name: "force_pic_flags"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "-pie"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "linker_param_file"
- flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- flag_group {
- flag: "-Wl,@%{linker_param_file}"
- }
- expand_if_all_available: "linker_param_file"
- }
+ name: "pch"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "c-compile"
+ action: "c++-compile"
flag_group {
- flag: "@%{linker_param_file}"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "linkstamps"
+ name: "module_maps"
+ }
+ feature {
+ name: "use_objc_modules"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "llvm_coverage_map_format"
+ name: "no_enable_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fmodule-maps"
}
}
requires {
- feature: "run_coverage"
+ feature: "use_objc_modules"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "no_enable_modules"
+ name: "apply_default_warnings"
flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-Wshorten-64-to-32"
+ flag: "-Wbool-conversion"
+ flag: "-Wconstant-conversion"
+ flag: "-Wduplicate-method-match"
+ flag: "-Wempty-body"
+ flag: "-Wenum-conversion"
+ flag: "-Wint-conversion"
+ flag: "-Wunreachable-code"
+ flag: "-Wmismatched-return-types"
+ flag: "-Wundeclared-selector"
+ flag: "-Wuninitialized"
+ flag: "-Wunused-function"
+ flag: "-Wunused-variable"
}
}
- requires {
- feature: "use_objc_modules"
- }
}
feature {
- name: "no_objc_arc"
+ name: "preprocessor_defines"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fno-objc-arc"
+ flag: "-D%{preprocessor_defines}"
}
- expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "objc_actions"
- implies: "objc-compile"
- implies: "objc++-compile"
- implies: "objc-fully-link"
- implies: "objc-archive"
- implies: "objc-executable"
- implies: "objc++-executable"
- implies: "assemble"
- implies: "preprocess-assemble"
- implies: "c-compile"
- implies: "c++-compile"
- implies: "c++-link-static-library"
- implies: "c++-link-pic-static-library"
- implies: "c++-link-interface-dynamic-library"
- implies: "c++-link-dynamic-library"
- implies: "c++-link-alwayslink-static-library"
- implies: "c++-link-alwayslink-pic-static-library"
- implies: "c++-link-executable"
+ name: "framework_paths"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ flag_group {
+ flag: "-F%{framework_paths}"
+ }
+ }
}
feature {
- name: "objc_arc"
+ name: "coverage"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fobjc-arc"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "objc_arc"
}
- }
- feature {
- name: "only_doth_headers_in_module_maps"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "output_execpath_flags"
flag_set {
+ action: "c++-link-interface-dynamic-library"
action: "c++-link-dynamic-library"
+ action: "c++-link-executable"
flag_group {
- flag: "-o"
- flag: "%{output_execpath}"
+ flag: "-fprofile-instr-generate"
}
- expand_if_all_available: "output_execpath"
}
+ provides: "profile"
}
feature {
- name: "output_execpath_flags_executable"
+ name: "apply_default_compiler_flags"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-o"
+ flag: "-DOS_IOS"
}
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "include_system_dirs"
flag_set {
- action: "c++-link-executable"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "skip_mostly_static"
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{output_execpath}"
+ flag: "-fembed-bitcode"
}
- expand_if_all_available: "output_execpath"
}
}
feature {
- name: "pch"
+ name: "bitcode_embedded_markers"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ flag: "-fembed-bitcode-marker"
}
}
}
feature {
- name: "preprocessor_defines"
+ name: "objc_arc"
flag_set {
- action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
+ action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ action: "assemble"
+ action: "preprocess-assemble"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-D%{preprocessor_defines}"
+ flag: "-fobjc-arc"
}
+ expand_if_all_available: "objc_arc"
}
}
feature {
- name: "run_coverage"
+ name: "no_objc_arc"
+ flag_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-fno-objc-arc"
+ }
+ expand_if_all_available: "no_objc_arc"
+ }
}
feature {
- name: "runtime_root_flags"
- flag_set {
+ name: "apple_env"
+ env_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-archive"
action: "c++-link-executable"
action: "c++-link-dynamic-library"
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
- flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ action: "objc-executable"
+ action: "objc++-executable"
+ env_entry {
+ key: "XCODE_VERSION_OVERRIDE"
+ value: "%{xcode_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_VERSION_OVERRIDE"
+ value: "%{apple_sdk_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_PLATFORM"
+ value: "%{apple_sdk_platform_value}"
}
- expand_if_all_available: "runtime_library_search_directories"
}
+ }
+ feature {
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "legacy_link_flags"
}
+ }
+ feature {
+ name: "linker_param_file"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linker_param_file}"
+ }
+ expand_if_all_available: "linker_param_file"
+ }
+ flag_set {
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_entries}"
+ flag: "@%{linker_param_file}"
}
- expand_if_all_available: "runtime_root_entries"
+ expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "shared_flag"
+ name: "version_min"
flag_set {
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ action: "preprocess-assemble"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "c++-module-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-miphoneos-version-min=%{version_min}"
}
}
}
feature {
- name: "strip_debug_symbols"
+ name: "dead_strip"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
}
+ requires {
+ feature: "opt"
+ }
}
feature {
- name: "symbol_counts"
+ name: "run_coverage"
+ }
+ feature {
+ name: "llvm_coverage_map_format"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "symbol_counts_output"
+ }
+ requires {
+ feature: "run_coverage"
}
}
feature {
- name: "use_objc_modules"
+ name: "gcc_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
}
+ requires {
+ feature: "run_coverage"
+ }
}
feature {
- name: "version_min"
+ name: "apply_implicit_frameworks"
flag_set {
action: "objc-executable"
action: "objc++-executable"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
flag_group {
- flag: "-miphoneos-version-min=%{version_min}"
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
}
}
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
- implies: "include_system_dirs"
implies: "apple_env"
}
action_config {
@@ -7253,8 +7249,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-module-compile"
+ action_name: "c++-module-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -7267,8 +7263,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -7281,108 +7277,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-link-alwayslink-pic-static-library"
- action_name: "c++-link-alwayslink-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-alwayslink-static-library"
- action_name: "c++-link-alwayslink-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-dynamic-library"
- action_name: "c++-link-dynamic-library"
- tool {
- tool_path: "wrapped_clang"
- }
- implies: "has_configured_linker_path"
- implies: "symbol_counts"
- implies: "shared_flag"
- implies: "linkstamps"
- implies: "output_execpath_flags"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-executable"
- action_name: "c++-link-executable"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "symbol_counts"
- implies: "linkstamps"
- implies: "output_execpath_flags_executable"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "force_pic_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-interface-dynamic-library"
- action_name: "c++-link-interface-dynamic-library"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "strip_debug_symbols"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-pic-static-library"
- action_name: "c++-link-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-static-library"
- action_name: "c++-link-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -7395,12 +7291,22 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c-compile"
- action_name: "c-compile"
+ config_name: "objc-compile"
+ action_name: "objc-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ flag_set {
+ flag_group {
+ flag: "-arch"
+ flag: "armv7"
+ }
+ }
+ implies: "objc_actions"
+ implies: "apply_default_compiler_flags"
+ implies: "apply_default_warnings"
+ implies: "framework_paths"
implies: "preprocessor_defines"
implies: "include_system_dirs"
implies: "version_min"
@@ -7434,17 +7340,61 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "assemble"
+ action_name: "assemble"
tool {
- tool_path: "wrapped_clang_pp"
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "include_system_dirs"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "preprocess-assemble"
+ action_name: "preprocess-assemble"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-archive"
+ action_name: "objc-archive"
+ tool {
+ tool_path: "libtool"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
+ flag: "-static"
+ flag: "-filelist"
+ flag: "%{obj_list_path}"
+ flag: "-arch_only"
+ flag: "armv7"
+ flag: "-syslibroot"
+ flag: "%{sdk_dir}"
+ flag: "-o"
+ flag: "%{archive_path}"
}
+ }
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-executable"
+ action_name: "objc-executable"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ flag_set {
flag_group {
flag: "-arch"
flag: "armv7"
@@ -7495,59 +7445,17 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
- tool {
- tool_path: "libtool"
- execution_requirement: "requires-darwin"
- }
- flag_set {
- flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
- flag: "armv7"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
- }
- }
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ config_name: "objc++-executable"
+ action_name: "objc++-executable"
tool {
- tool_path: "wrapped_clang"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-arch"
- flag: "armv7"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
- }
- implies: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "armv7"
@@ -7598,6 +7506,106 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
+ config_name: "c++-link-executable"
+ action_name: "c++-link-executable"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "symbol_counts"
+ implies: "linkstamps"
+ implies: "output_execpath_flags_executable"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "force_pic_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-dynamic-library"
+ action_name: "c++-link-dynamic-library"
+ tool {
+ tool_path: "wrapped_clang"
+ }
+ implies: "has_configured_linker_path"
+ implies: "symbol_counts"
+ implies: "shared_flag"
+ implies: "linkstamps"
+ implies: "output_execpath_flags"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-static-library"
+ action_name: "c++-link-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-static-library"
+ action_name: "c++-link-alwayslink-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-pic-static-library"
+ action_name: "c++-link-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "strip_debug_symbols"
+ implies: "apple_env"
+ }
+ action_config {
config_name: "objc-fully-link"
action_name: "objc-fully-link"
tool {
@@ -7626,20 +7634,6 @@ toolchain {
}
implies: "apple_env"
}
- action_config {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
cc_target_os: "apple"
}
toolchain {
@@ -7738,7 +7732,6 @@ toolchain {
name: "STACK_FRAME_UNLIMITED"
value: "-Wframe-larger-than=100000000 -Wno-vla"
}
- cxx_builtin_include_directory: "/"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
@@ -7752,212 +7745,174 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "apple_env"
- env_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-archive"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
- action: "objc-executable"
- action: "objc++-executable"
- env_entry {
- key: "XCODE_VERSION_OVERRIDE"
- value: "%{xcode_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_VERSION_OVERRIDE"
- value: "%{apple_sdk_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_PLATFORM"
- value: "%{apple_sdk_platform_value}"
- }
- }
+ name: "fastbuild"
}
feature {
- name: "apply_default_compiler_flags"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-DOS_IOS"
- }
- }
+ name: "opt"
}
feature {
- name: "apply_default_warnings"
+ name: "dbg"
+ }
+ feature {
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "only_doth_headers_in_module_maps"
+ }
+ feature {
+ name: "objc_actions"
+ implies: "objc-compile"
+ implies: "objc++-compile"
+ implies: "objc-fully-link"
+ implies: "objc-archive"
+ implies: "objc-executable"
+ implies: "objc++-executable"
+ implies: "assemble"
+ implies: "preprocess-assemble"
+ implies: "c-compile"
+ implies: "c++-compile"
+ implies: "c++-link-static-library"
+ implies: "c++-link-pic-static-library"
+ implies: "c++-link-interface-dynamic-library"
+ implies: "c++-link-dynamic-library"
+ implies: "c++-link-alwayslink-static-library"
+ implies: "c++-link-alwayslink-pic-static-library"
+ implies: "c++-link-executable"
+ }
+ feature {
+ name: "strip_debug_symbols"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-interface-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wshorten-64-to-32"
- flag: "-Wbool-conversion"
- flag: "-Wconstant-conversion"
- flag: "-Wduplicate-method-match"
- flag: "-Wempty-body"
- flag: "-Wenum-conversion"
- flag: "-Wint-conversion"
- flag: "-Wunreachable-code"
- flag: "-Wmismatched-return-types"
- flag: "-Wundeclared-selector"
- flag: "-Wuninitialized"
- flag: "-Wunused-function"
- flag: "-Wunused-variable"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
}
feature {
- name: "apply_implicit_frameworks"
+ name: "symbol_counts"
flag_set {
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "bitcode_embedded"
+ name: "shared_flag"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "-shared"
}
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode-marker"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "output_execpath_flags"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "rcs"
+ flag: "-o"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "compile_all_modules"
- }
- feature {
- name: "coverage"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
flag_set {
- action: "c++-link-interface-dynamic-library"
- action: "c++-link-dynamic-library"
action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "dead_strip"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "%{output_execpath}"
}
- }
- requires {
- feature: "opt"
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "exclude_private_headers_in_module_maps"
- }
- feature {
- name: "fastbuild"
- }
- feature {
- name: "force_pic_flags"
+ name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-pie"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "global_whole_archive"
}
}
feature {
- name: "framework_paths"
+ name: "cc_archiver_flags"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-F%{framework_paths}"
+ flag: "rcs"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "runtime_root_flags"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ expand_if_all_available: "runtime_library_search_directories"
}
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
@@ -7966,33 +7921,21 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "runtime_root_flags"
}
- }
- feature {
- name: "has_configured_linker_path"
- }
- feature {
- name: "include_system_dirs"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-isysroot %{sdk_dir}"
- flag: "-F%{sdk_framework_dir}"
- flag: "-F%{platform_developer_framework_dir}"
+ flag: "%{runtime_root_entries}"
}
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -8159,332 +8102,384 @@ toolchain {
}
}
feature {
- name: "legacy_link_flags"
+ name: "force_pic_flags"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "-pie"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "linker_param_file"
- flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- flag_group {
- flag: "-Wl,@%{linker_param_file}"
- }
- expand_if_all_available: "linker_param_file"
- }
+ name: "pch"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "c-compile"
+ action: "c++-compile"
flag_group {
- flag: "@%{linker_param_file}"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "linkstamps"
+ name: "module_maps"
+ }
+ feature {
+ name: "use_objc_modules"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "llvm_coverage_map_format"
+ name: "no_enable_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fmodule-maps"
}
}
requires {
- feature: "run_coverage"
+ feature: "use_objc_modules"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "no_enable_modules"
+ name: "apply_default_warnings"
flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-Wshorten-64-to-32"
+ flag: "-Wbool-conversion"
+ flag: "-Wconstant-conversion"
+ flag: "-Wduplicate-method-match"
+ flag: "-Wempty-body"
+ flag: "-Wenum-conversion"
+ flag: "-Wint-conversion"
+ flag: "-Wunreachable-code"
+ flag: "-Wmismatched-return-types"
+ flag: "-Wundeclared-selector"
+ flag: "-Wuninitialized"
+ flag: "-Wunused-function"
+ flag: "-Wunused-variable"
}
}
- requires {
- feature: "use_objc_modules"
- }
}
feature {
- name: "no_objc_arc"
+ name: "preprocessor_defines"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fno-objc-arc"
+ flag: "-D%{preprocessor_defines}"
}
- expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "objc_actions"
- implies: "objc-compile"
- implies: "objc++-compile"
- implies: "objc-fully-link"
- implies: "objc-archive"
- implies: "objc-executable"
- implies: "objc++-executable"
- implies: "assemble"
- implies: "preprocess-assemble"
- implies: "c-compile"
- implies: "c++-compile"
- implies: "c++-link-static-library"
- implies: "c++-link-pic-static-library"
- implies: "c++-link-interface-dynamic-library"
- implies: "c++-link-dynamic-library"
- implies: "c++-link-alwayslink-static-library"
- implies: "c++-link-alwayslink-pic-static-library"
- implies: "c++-link-executable"
+ name: "framework_paths"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ flag_group {
+ flag: "-F%{framework_paths}"
+ }
+ }
}
feature {
- name: "objc_arc"
+ name: "coverage"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fobjc-arc"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "objc_arc"
}
- }
- feature {
- name: "only_doth_headers_in_module_maps"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "output_execpath_flags"
flag_set {
+ action: "c++-link-interface-dynamic-library"
action: "c++-link-dynamic-library"
+ action: "c++-link-executable"
flag_group {
- flag: "-o"
- flag: "%{output_execpath}"
+ flag: "-fprofile-instr-generate"
}
- expand_if_all_available: "output_execpath"
}
+ provides: "profile"
}
feature {
- name: "output_execpath_flags_executable"
+ name: "apply_default_compiler_flags"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-o"
+ flag: "-DOS_IOS"
}
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "include_system_dirs"
flag_set {
- action: "c++-link-executable"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-isysroot %{sdk_dir}"
+ flag: "-F%{sdk_framework_dir}"
+ flag: "-F%{platform_developer_framework_dir}"
}
- expand_if_all_available: "skip_mostly_static"
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{output_execpath}"
+ flag: "-fembed-bitcode"
}
- expand_if_all_available: "output_execpath"
}
}
feature {
- name: "pch"
+ name: "bitcode_embedded_markers"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ flag: "-fembed-bitcode-marker"
}
}
}
feature {
- name: "preprocessor_defines"
+ name: "objc_arc"
flag_set {
- action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
+ action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ action: "assemble"
+ action: "preprocess-assemble"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-D%{preprocessor_defines}"
+ flag: "-fobjc-arc"
}
+ expand_if_all_available: "objc_arc"
}
}
feature {
- name: "run_coverage"
+ name: "no_objc_arc"
+ flag_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-fno-objc-arc"
+ }
+ expand_if_all_available: "no_objc_arc"
+ }
}
feature {
- name: "runtime_root_flags"
- flag_set {
+ name: "apple_env"
+ env_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-archive"
action: "c++-link-executable"
action: "c++-link-dynamic-library"
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
- flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ action: "objc-executable"
+ action: "objc++-executable"
+ env_entry {
+ key: "XCODE_VERSION_OVERRIDE"
+ value: "%{xcode_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_VERSION_OVERRIDE"
+ value: "%{apple_sdk_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_PLATFORM"
+ value: "%{apple_sdk_platform_value}"
}
- expand_if_all_available: "runtime_library_search_directories"
}
+ }
+ feature {
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "legacy_link_flags"
}
+ }
+ feature {
+ name: "linker_param_file"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linker_param_file}"
+ }
+ expand_if_all_available: "linker_param_file"
+ }
+ flag_set {
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_entries}"
+ flag: "@%{linker_param_file}"
}
- expand_if_all_available: "runtime_root_entries"
+ expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "shared_flag"
+ name: "version_min"
flag_set {
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ action: "preprocess-assemble"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "c++-module-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-mwatchos-version-min=%{version_min}"
}
}
}
feature {
- name: "strip_debug_symbols"
+ name: "dead_strip"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
}
+ requires {
+ feature: "opt"
+ }
}
feature {
- name: "symbol_counts"
+ name: "run_coverage"
+ }
+ feature {
+ name: "llvm_coverage_map_format"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "symbol_counts_output"
+ }
+ requires {
+ feature: "run_coverage"
}
}
feature {
- name: "use_objc_modules"
+ name: "gcc_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
}
+ requires {
+ feature: "run_coverage"
+ }
}
feature {
- name: "version_min"
+ name: "apply_implicit_frameworks"
flag_set {
action: "objc-executable"
action: "objc++-executable"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
flag_group {
- flag: "-mwatchos-version-min=%{version_min}"
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
}
}
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
- implies: "include_system_dirs"
implies: "apple_env"
}
action_config {
@@ -8502,8 +8497,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-module-compile"
+ action_name: "c++-module-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -8516,8 +8511,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -8530,108 +8525,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-link-alwayslink-pic-static-library"
- action_name: "c++-link-alwayslink-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-alwayslink-static-library"
- action_name: "c++-link-alwayslink-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-dynamic-library"
- action_name: "c++-link-dynamic-library"
- tool {
- tool_path: "wrapped_clang"
- }
- implies: "has_configured_linker_path"
- implies: "symbol_counts"
- implies: "shared_flag"
- implies: "linkstamps"
- implies: "output_execpath_flags"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-executable"
- action_name: "c++-link-executable"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "symbol_counts"
- implies: "linkstamps"
- implies: "output_execpath_flags_executable"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "force_pic_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-interface-dynamic-library"
- action_name: "c++-link-interface-dynamic-library"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "strip_debug_symbols"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-pic-static-library"
- action_name: "c++-link-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-static-library"
- action_name: "c++-link-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -8644,12 +8539,22 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c-compile"
- action_name: "c-compile"
+ config_name: "objc-compile"
+ action_name: "objc-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ flag_set {
+ flag_group {
+ flag: "-arch"
+ flag: "armv7k"
+ }
+ }
+ implies: "objc_actions"
+ implies: "apply_default_compiler_flags"
+ implies: "apply_default_warnings"
+ implies: "framework_paths"
implies: "preprocessor_defines"
implies: "include_system_dirs"
implies: "version_min"
@@ -8683,17 +8588,61 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "assemble"
+ action_name: "assemble"
tool {
- tool_path: "wrapped_clang_pp"
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "include_system_dirs"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "preprocess-assemble"
+ action_name: "preprocess-assemble"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-archive"
+ action_name: "objc-archive"
+ tool {
+ tool_path: "libtool"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
+ flag: "-static"
+ flag: "-filelist"
+ flag: "%{obj_list_path}"
+ flag: "-arch_only"
+ flag: "armv7k"
+ flag: "-syslibroot"
+ flag: "%{sdk_dir}"
+ flag: "-o"
+ flag: "%{archive_path}"
}
+ }
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-executable"
+ action_name: "objc-executable"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ flag_set {
flag_group {
flag: "-arch"
flag: "armv7k"
@@ -8744,59 +8693,17 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
+ config_name: "objc++-executable"
+ action_name: "objc++-executable"
tool {
- tool_path: "libtool"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
- flag: "armv7k"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
- }
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "armv7k"
- }
- }
- implies: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "armv7k"
@@ -8847,6 +8754,106 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
+ config_name: "c++-link-executable"
+ action_name: "c++-link-executable"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "symbol_counts"
+ implies: "linkstamps"
+ implies: "output_execpath_flags_executable"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "force_pic_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-dynamic-library"
+ action_name: "c++-link-dynamic-library"
+ tool {
+ tool_path: "wrapped_clang"
+ }
+ implies: "has_configured_linker_path"
+ implies: "symbol_counts"
+ implies: "shared_flag"
+ implies: "linkstamps"
+ implies: "output_execpath_flags"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-static-library"
+ action_name: "c++-link-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-static-library"
+ action_name: "c++-link-alwayslink-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-pic-static-library"
+ action_name: "c++-link-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "strip_debug_symbols"
+ implies: "apple_env"
+ }
+ action_config {
config_name: "objc-fully-link"
action_name: "objc-fully-link"
tool {
@@ -8875,20 +8882,6 @@ toolchain {
}
implies: "apple_env"
}
- action_config {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
cc_target_os: "apple"
}
toolchain {
@@ -8968,10 +8961,6 @@ toolchain {
compiler_flag: "-DDEBUG"
}
compilation_mode_flags {
- mode: DBG
- compiler_flag: "-g"
- }
- compilation_mode_flags {
mode: OPT
compiler_flag: "-g0"
compiler_flag: "-O2"
@@ -8981,6 +8970,10 @@ toolchain {
compiler_flag: "-fdata-sections"
compiler_flag: "-DNS_BLOCK_ASSERTIONS=1"
}
+ compilation_mode_flags {
+ mode: DBG
+ compiler_flag: "-g"
+ }
linking_mode_flags {
mode: DYNAMIC
}
@@ -8988,7 +8981,6 @@ toolchain {
name: "STACK_FRAME_UNLIMITED"
value: "-Wframe-larger-than=100000000 -Wno-vla"
}
- cxx_builtin_include_directory: "/"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
@@ -9002,226 +8994,174 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "apple_env"
- env_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-archive"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
- action: "objc-executable"
- action: "objc++-executable"
- env_entry {
- key: "XCODE_VERSION_OVERRIDE"
- value: "%{xcode_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_VERSION_OVERRIDE"
- value: "%{apple_sdk_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_PLATFORM"
- value: "%{apple_sdk_platform_value}"
- }
- }
+ name: "fastbuild"
}
feature {
- name: "apply_default_compiler_flags"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-DOS_TVOS"
- }
- }
+ name: "opt"
}
feature {
- name: "apply_default_warnings"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-Wshorten-64-to-32"
- flag: "-Wbool-conversion"
- flag: "-Wconstant-conversion"
- flag: "-Wduplicate-method-match"
- flag: "-Wempty-body"
- flag: "-Wenum-conversion"
- flag: "-Wint-conversion"
- flag: "-Wunreachable-code"
- flag: "-Wmismatched-return-types"
- flag: "-Wundeclared-selector"
- flag: "-Wuninitialized"
- flag: "-Wunused-function"
- flag: "-Wunused-variable"
- }
- }
+ name: "dbg"
}
feature {
- name: "apply_implicit_frameworks"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "only_doth_headers_in_module_maps"
+ }
+ feature {
+ name: "objc_actions"
+ implies: "objc-compile"
+ implies: "objc++-compile"
+ implies: "objc-fully-link"
+ implies: "objc-archive"
+ implies: "objc-executable"
+ implies: "objc++-executable"
+ implies: "assemble"
+ implies: "preprocess-assemble"
+ implies: "c-compile"
+ implies: "c++-compile"
+ implies: "c++-link-static-library"
+ implies: "c++-link-pic-static-library"
+ implies: "c++-link-interface-dynamic-library"
+ implies: "c++-link-dynamic-library"
+ implies: "c++-link-alwayslink-static-library"
+ implies: "c++-link-alwayslink-pic-static-library"
+ implies: "c++-link-executable"
+ }
+ feature {
+ name: "strip_debug_symbols"
flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
}
feature {
- name: "bitcode_embedded"
+ name: "symbol_counts"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "shared_flag"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode-marker"
+ flag: "-shared"
}
}
}
feature {
- name: "cc_archiver_flags"
+ name: "linkstamps"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "rcs"
- flag: "%{output_execpath}"
+ flag: "%{linkstamp_paths}"
}
- expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "compile_all_modules"
- }
- feature {
- name: "coverage"
+ name: "output_execpath_flags"
flag_set {
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-o"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "output_execpath_flags_executable"
flag_set {
- action: "c++-link-interface-dynamic-library"
- action: "c++-link-dynamic-library"
action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
- }
- feature {
- name: "cpp_linker_flags"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
flag_group {
- flag: "-lc++"
- flag: "-undefined"
- flag: "dynamic_lookup"
- flag: "-target"
- flag: "arm64-apple-tvos"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "dead_strip"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- requires {
- feature: "opt"
- }
- }
- feature {
- name: "exclude_private_headers_in_module_maps"
}
feature {
- name: "fastbuild"
- }
- feature {
- name: "force_pic_flags"
+ name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-pie"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "global_whole_archive"
}
}
feature {
- name: "framework_paths"
+ name: "cc_archiver_flags"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-F%{framework_paths}"
+ flag: "rcs"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "runtime_root_flags"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ expand_if_all_available: "runtime_library_search_directories"
}
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
@@ -9230,31 +9170,21 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "runtime_root_flags"
}
- }
- feature {
- name: "has_configured_linker_path"
- }
- feature {
- name: "include_system_dirs"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "%{runtime_root_entries}"
}
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -9421,347 +9351,411 @@ toolchain {
}
}
feature {
- name: "legacy_link_flags"
+ name: "force_pic_flags"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "-pie"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "linker_param_file"
- flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- flag_group {
- flag: "-Wl,@%{linker_param_file}"
- }
- expand_if_all_available: "linker_param_file"
- }
+ name: "pch"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "c-compile"
+ action: "c++-compile"
flag_group {
- flag: "@%{linker_param_file}"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "linkstamps"
+ name: "module_maps"
+ }
+ feature {
+ name: "use_objc_modules"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "llvm_coverage_map_format"
+ name: "no_enable_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fmodule-maps"
}
}
requires {
- feature: "run_coverage"
+ feature: "use_objc_modules"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "no_enable_modules"
+ name: "apply_default_warnings"
flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-Wshorten-64-to-32"
+ flag: "-Wbool-conversion"
+ flag: "-Wconstant-conversion"
+ flag: "-Wduplicate-method-match"
+ flag: "-Wempty-body"
+ flag: "-Wenum-conversion"
+ flag: "-Wint-conversion"
+ flag: "-Wunreachable-code"
+ flag: "-Wmismatched-return-types"
+ flag: "-Wundeclared-selector"
+ flag: "-Wuninitialized"
+ flag: "-Wunused-function"
+ flag: "-Wunused-variable"
}
}
- requires {
- feature: "use_objc_modules"
- }
}
feature {
- name: "no_objc_arc"
+ name: "preprocessor_defines"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fno-objc-arc"
+ flag: "-D%{preprocessor_defines}"
}
- expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "objc_actions"
- implies: "objc-compile"
- implies: "objc++-compile"
- implies: "objc-fully-link"
- implies: "objc-archive"
- implies: "objc-executable"
- implies: "objc++-executable"
- implies: "assemble"
- implies: "preprocess-assemble"
- implies: "c-compile"
- implies: "c++-compile"
- implies: "c++-link-static-library"
- implies: "c++-link-pic-static-library"
- implies: "c++-link-interface-dynamic-library"
- implies: "c++-link-dynamic-library"
- implies: "c++-link-alwayslink-static-library"
- implies: "c++-link-alwayslink-pic-static-library"
- implies: "c++-link-executable"
+ name: "framework_paths"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ flag_group {
+ flag: "-F%{framework_paths}"
+ }
+ }
}
feature {
- name: "objc_arc"
+ name: "coverage"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fobjc-arc"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "objc_arc"
}
- }
- feature {
- name: "only_doth_headers_in_module_maps"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "output_execpath_flags"
flag_set {
+ action: "c++-link-interface-dynamic-library"
action: "c++-link-dynamic-library"
+ action: "c++-link-executable"
flag_group {
- flag: "-o"
- flag: "%{output_execpath}"
+ flag: "-fprofile-instr-generate"
}
- expand_if_all_available: "output_execpath"
}
+ provides: "profile"
}
feature {
- name: "output_execpath_flags_executable"
+ name: "apply_default_compiler_flags"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-o"
+ flag: "-DOS_TVOS"
}
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "include_system_dirs"
flag_set {
- action: "c++-link-executable"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "skip_mostly_static"
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{output_execpath}"
+ flag: "-fembed-bitcode"
}
- expand_if_all_available: "output_execpath"
}
}
feature {
- name: "pch"
+ name: "bitcode_embedded_markers"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ flag: "-fembed-bitcode-marker"
}
}
}
feature {
- name: "preprocessor_defines"
+ name: "objc_arc"
flag_set {
- action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
+ action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ action: "assemble"
+ action: "preprocess-assemble"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-D%{preprocessor_defines}"
+ flag: "-fobjc-arc"
}
+ expand_if_all_available: "objc_arc"
}
}
feature {
- name: "run_coverage"
+ name: "no_objc_arc"
+ flag_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-fno-objc-arc"
+ }
+ expand_if_all_available: "no_objc_arc"
+ }
}
feature {
- name: "runtime_root_flags"
- flag_set {
+ name: "apple_env"
+ env_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-archive"
action: "c++-link-executable"
action: "c++-link-dynamic-library"
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
- flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ action: "objc-executable"
+ action: "objc++-executable"
+ env_entry {
+ key: "XCODE_VERSION_OVERRIDE"
+ value: "%{xcode_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_VERSION_OVERRIDE"
+ value: "%{apple_sdk_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_PLATFORM"
+ value: "%{apple_sdk_platform_value}"
}
- expand_if_all_available: "runtime_library_search_directories"
}
+ }
+ feature {
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "legacy_link_flags"
}
+ }
+ feature {
+ name: "linker_param_file"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linker_param_file}"
+ }
+ expand_if_all_available: "linker_param_file"
+ }
+ flag_set {
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_entries}"
+ flag: "@%{linker_param_file}"
}
- expand_if_all_available: "runtime_root_entries"
+ expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "shared_flag"
+ name: "version_min"
flag_set {
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ action: "preprocess-assemble"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "c++-module-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-mtvos-version-min=%{version_min}"
}
}
}
feature {
- name: "strip_debug_symbols"
+ name: "dead_strip"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
}
+ requires {
+ feature: "opt"
+ }
}
feature {
- name: "symbol_counts"
- flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
- }
- expand_if_all_available: "symbol_counts_output"
- }
+ name: "run_coverage"
}
feature {
- name: "unfiltered_cxx_flags"
+ name: "llvm_coverage_map_format"
flag_set {
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-no-canonical-prefixes"
- flag: "-pthread"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
}
+ requires {
+ feature: "run_coverage"
+ }
}
feature {
- name: "use_objc_modules"
+ name: "gcc_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
}
+ requires {
+ feature: "run_coverage"
+ }
}
feature {
- name: "version_min"
+ name: "apply_implicit_frameworks"
flag_set {
action: "objc-executable"
action: "objc++-executable"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "preprocess-assemble"
+ flag_group {
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
+ }
+ }
+ }
+ feature {
+ name: "unfiltered_cxx_flags"
+ flag_set {
action: "c-compile"
action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-header-parsing"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "-mtvos-version-min=%{version_min}"
+ flag: "-no-canonical-prefixes"
+ flag: "-pthread"
+ }
+ }
+ }
+ feature {
+ name: "cpp_linker_flags"
+ flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-lc++"
+ flag: "-undefined"
+ flag: "dynamic_lookup"
+ flag: "-target"
+ flag: "arm64-apple-tvos"
}
}
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
- implies: "include_system_dirs"
implies: "apple_env"
implies: "unfiltered_cxx_flags"
}
@@ -9781,8 +9775,8 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-module-compile"
+ action_name: "c++-module-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -9796,8 +9790,8 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -9811,125 +9805,85 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-link-alwayslink-pic-static-library"
- action_name: "c++-link-alwayslink-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-alwayslink-static-library"
- action_name: "c++-link-alwayslink-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-dynamic-library"
- action_name: "c++-link-dynamic-library"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
}
- implies: "has_configured_linker_path"
- implies: "symbol_counts"
- implies: "shared_flag"
- implies: "linkstamps"
- implies: "output_execpath_flags"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
implies: "version_min"
+ implies: "objc_arc"
+ implies: "no_objc_arc"
implies: "apple_env"
- implies: "cpp_linker_flags"
+ implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-link-executable"
- action_name: "c++-link-executable"
+ config_name: "objc-compile"
+ action_name: "objc-compile"
tool {
- tool_path: "DUMMY_TOOL"
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
}
- implies: "symbol_counts"
- implies: "linkstamps"
- implies: "output_execpath_flags_executable"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "force_pic_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- implies: "cpp_linker_flags"
- }
- action_config {
- config_name: "c++-link-interface-dynamic-library"
- action_name: "c++-link-interface-dynamic-library"
- tool {
- tool_path: "DUMMY_TOOL"
+ flag_set {
+ flag_group {
+ flag: "-arch"
+ flag: "arm64"
+ }
}
- implies: "strip_debug_symbols"
+ implies: "objc_actions"
+ implies: "apply_default_compiler_flags"
+ implies: "apply_default_warnings"
+ implies: "framework_paths"
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
+ implies: "objc_arc"
+ implies: "no_objc_arc"
implies: "apple_env"
}
action_config {
- config_name: "c++-link-pic-static-library"
- action_name: "c++-link-pic-static-library"
+ config_name: "objc++-compile"
+ action_name: "objc++-compile"
tool {
- tool_path: "/usr/bin/ar"
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
}
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-static-library"
- action_name: "c++-link-static-library"
- tool {
- tool_path: "/usr/bin/ar"
+ flag_set {
+ flag_group {
+ flag: "-arch"
+ flag: "arm64"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
+ }
}
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
+ implies: "apply_default_compiler_flags"
+ implies: "apply_default_warnings"
+ implies: "framework_paths"
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
+ implies: "objc_arc"
+ implies: "no_objc_arc"
implies: "apple_env"
}
action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "assemble"
+ action_name: "assemble"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
+ implies: "include_system_dirs"
implies: "apple_env"
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c-compile"
- action_name: "c-compile"
+ config_name: "preprocess-assemble"
+ action_name: "preprocess-assemble"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -9943,43 +9897,36 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "objc++-compile"
- action_name: "objc++-compile"
+ config_name: "objc-archive"
+ action_name: "objc-archive"
tool {
- tool_path: "wrapped_clang"
+ tool_path: "libtool"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-arch"
+ flag: "-static"
+ flag: "-filelist"
+ flag: "%{obj_list_path}"
+ flag: "-arch_only"
flag: "arm64"
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
+ flag: "-syslibroot"
+ flag: "%{sdk_dir}"
+ flag: "-o"
+ flag: "%{archive_path}"
}
}
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
implies: "apple_env"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "objc-executable"
+ action_name: "objc-executable"
tool {
- tool_path: "wrapped_clang_pp"
+ tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
- }
- flag_group {
flag: "-arch"
flag: "arm64"
}
@@ -10029,59 +9976,17 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
- tool {
- tool_path: "libtool"
- execution_requirement: "requires-darwin"
- }
- flag_set {
- flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
- flag: "arm64"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
- }
- }
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ config_name: "objc++-executable"
+ action_name: "objc++-executable"
tool {
- tool_path: "wrapped_clang"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-arch"
- flag: "arm64"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
- }
- implies: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "arm64"
@@ -10132,6 +10037,108 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
+ config_name: "c++-link-executable"
+ action_name: "c++-link-executable"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "symbol_counts"
+ implies: "linkstamps"
+ implies: "output_execpath_flags_executable"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "force_pic_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ implies: "cpp_linker_flags"
+ }
+ action_config {
+ config_name: "c++-link-dynamic-library"
+ action_name: "c++-link-dynamic-library"
+ tool {
+ tool_path: "wrapped_clang"
+ }
+ implies: "has_configured_linker_path"
+ implies: "symbol_counts"
+ implies: "shared_flag"
+ implies: "linkstamps"
+ implies: "output_execpath_flags"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ implies: "cpp_linker_flags"
+ }
+ action_config {
+ config_name: "c++-link-static-library"
+ action_name: "c++-link-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-static-library"
+ action_name: "c++-link-alwayslink-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-pic-static-library"
+ action_name: "c++-link-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "strip_debug_symbols"
+ implies: "apple_env"
+ }
+ action_config {
config_name: "objc-fully-link"
action_name: "objc-fully-link"
tool {
@@ -10160,21 +10167,6 @@ toolchain {
}
implies: "apple_env"
}
- action_config {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- implies: "unfiltered_cxx_flags"
- }
cc_target_os: "apple"
}
toolchain {
@@ -10273,7 +10265,6 @@ toolchain {
name: "STACK_FRAME_UNLIMITED"
value: "-Wframe-larger-than=100000000 -Wno-vla"
}
- cxx_builtin_include_directory: "/"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
@@ -10287,212 +10278,174 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "apple_env"
- env_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-archive"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
- action: "objc-executable"
- action: "objc++-executable"
- env_entry {
- key: "XCODE_VERSION_OVERRIDE"
- value: "%{xcode_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_VERSION_OVERRIDE"
- value: "%{apple_sdk_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_PLATFORM"
- value: "%{apple_sdk_platform_value}"
- }
- }
+ name: "fastbuild"
}
feature {
- name: "apply_default_compiler_flags"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-DOS_IOS"
- }
- }
+ name: "opt"
}
feature {
- name: "apply_default_warnings"
+ name: "dbg"
+ }
+ feature {
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "only_doth_headers_in_module_maps"
+ }
+ feature {
+ name: "objc_actions"
+ implies: "objc-compile"
+ implies: "objc++-compile"
+ implies: "objc-fully-link"
+ implies: "objc-archive"
+ implies: "objc-executable"
+ implies: "objc++-executable"
+ implies: "assemble"
+ implies: "preprocess-assemble"
+ implies: "c-compile"
+ implies: "c++-compile"
+ implies: "c++-link-static-library"
+ implies: "c++-link-pic-static-library"
+ implies: "c++-link-interface-dynamic-library"
+ implies: "c++-link-dynamic-library"
+ implies: "c++-link-alwayslink-static-library"
+ implies: "c++-link-alwayslink-pic-static-library"
+ implies: "c++-link-executable"
+ }
+ feature {
+ name: "strip_debug_symbols"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-interface-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wshorten-64-to-32"
- flag: "-Wbool-conversion"
- flag: "-Wconstant-conversion"
- flag: "-Wduplicate-method-match"
- flag: "-Wempty-body"
- flag: "-Wenum-conversion"
- flag: "-Wint-conversion"
- flag: "-Wunreachable-code"
- flag: "-Wmismatched-return-types"
- flag: "-Wundeclared-selector"
- flag: "-Wuninitialized"
- flag: "-Wunused-function"
- flag: "-Wunused-variable"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
}
feature {
- name: "apply_implicit_frameworks"
+ name: "symbol_counts"
flag_set {
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "bitcode_embedded"
+ name: "shared_flag"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "-shared"
}
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode-marker"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "output_execpath_flags"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "rcs"
+ flag: "-o"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "compile_all_modules"
- }
- feature {
- name: "coverage"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
flag_set {
- action: "c++-link-interface-dynamic-library"
- action: "c++-link-dynamic-library"
action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "dead_strip"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- requires {
- feature: "opt"
- }
- }
- feature {
- name: "exclude_private_headers_in_module_maps"
}
feature {
- name: "fastbuild"
- }
- feature {
- name: "force_pic_flags"
+ name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-pie"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "global_whole_archive"
}
}
feature {
- name: "framework_paths"
+ name: "cc_archiver_flags"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-F%{framework_paths}"
+ flag: "rcs"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "runtime_root_flags"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ expand_if_all_available: "runtime_library_search_directories"
}
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
@@ -10501,31 +10454,21 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "runtime_root_flags"
}
- }
- feature {
- name: "has_configured_linker_path"
- }
- feature {
- name: "include_system_dirs"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "%{runtime_root_entries}"
}
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -10692,332 +10635,382 @@ toolchain {
}
}
feature {
- name: "legacy_link_flags"
+ name: "force_pic_flags"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "-pie"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "linker_param_file"
- flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- flag_group {
- flag: "-Wl,@%{linker_param_file}"
- }
- expand_if_all_available: "linker_param_file"
- }
+ name: "pch"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "c-compile"
+ action: "c++-compile"
flag_group {
- flag: "@%{linker_param_file}"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "linkstamps"
+ name: "module_maps"
+ }
+ feature {
+ name: "use_objc_modules"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "llvm_coverage_map_format"
+ name: "no_enable_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fmodule-maps"
}
}
requires {
- feature: "run_coverage"
+ feature: "use_objc_modules"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "no_enable_modules"
+ name: "apply_default_warnings"
flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-Wshorten-64-to-32"
+ flag: "-Wbool-conversion"
+ flag: "-Wconstant-conversion"
+ flag: "-Wduplicate-method-match"
+ flag: "-Wempty-body"
+ flag: "-Wenum-conversion"
+ flag: "-Wint-conversion"
+ flag: "-Wunreachable-code"
+ flag: "-Wmismatched-return-types"
+ flag: "-Wundeclared-selector"
+ flag: "-Wuninitialized"
+ flag: "-Wunused-function"
+ flag: "-Wunused-variable"
}
}
- requires {
- feature: "use_objc_modules"
- }
}
feature {
- name: "no_objc_arc"
+ name: "preprocessor_defines"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fno-objc-arc"
+ flag: "-D%{preprocessor_defines}"
}
- expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "objc_actions"
- implies: "objc-compile"
- implies: "objc++-compile"
- implies: "objc-fully-link"
- implies: "objc-archive"
- implies: "objc-executable"
- implies: "objc++-executable"
- implies: "assemble"
- implies: "preprocess-assemble"
- implies: "c-compile"
- implies: "c++-compile"
- implies: "c++-link-static-library"
- implies: "c++-link-pic-static-library"
- implies: "c++-link-interface-dynamic-library"
- implies: "c++-link-dynamic-library"
- implies: "c++-link-alwayslink-static-library"
- implies: "c++-link-alwayslink-pic-static-library"
- implies: "c++-link-executable"
+ name: "framework_paths"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ flag_group {
+ flag: "-F%{framework_paths}"
+ }
+ }
}
feature {
- name: "objc_arc"
+ name: "coverage"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fobjc-arc"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "objc_arc"
}
- }
- feature {
- name: "only_doth_headers_in_module_maps"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "output_execpath_flags"
flag_set {
+ action: "c++-link-interface-dynamic-library"
action: "c++-link-dynamic-library"
+ action: "c++-link-executable"
flag_group {
- flag: "-o"
- flag: "%{output_execpath}"
+ flag: "-fprofile-instr-generate"
}
- expand_if_all_available: "output_execpath"
}
+ provides: "profile"
}
feature {
- name: "output_execpath_flags_executable"
+ name: "apply_default_compiler_flags"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-o"
+ flag: "-DOS_IOS"
}
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "include_system_dirs"
flag_set {
- action: "c++-link-executable"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "skip_mostly_static"
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{output_execpath}"
+ flag: "-fembed-bitcode"
}
- expand_if_all_available: "output_execpath"
}
}
feature {
- name: "pch"
+ name: "bitcode_embedded_markers"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ flag: "-fembed-bitcode-marker"
}
}
}
feature {
- name: "preprocessor_defines"
+ name: "objc_arc"
flag_set {
- action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
+ action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ action: "assemble"
+ action: "preprocess-assemble"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-D%{preprocessor_defines}"
+ flag: "-fobjc-arc"
}
+ expand_if_all_available: "objc_arc"
}
}
feature {
- name: "run_coverage"
+ name: "no_objc_arc"
+ flag_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-fno-objc-arc"
+ }
+ expand_if_all_available: "no_objc_arc"
+ }
}
feature {
- name: "runtime_root_flags"
- flag_set {
+ name: "apple_env"
+ env_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-archive"
action: "c++-link-executable"
action: "c++-link-dynamic-library"
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
- flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ action: "objc-executable"
+ action: "objc++-executable"
+ env_entry {
+ key: "XCODE_VERSION_OVERRIDE"
+ value: "%{xcode_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_VERSION_OVERRIDE"
+ value: "%{apple_sdk_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_PLATFORM"
+ value: "%{apple_sdk_platform_value}"
}
- expand_if_all_available: "runtime_library_search_directories"
}
+ }
+ feature {
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "legacy_link_flags"
}
+ }
+ feature {
+ name: "linker_param_file"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linker_param_file}"
+ }
+ expand_if_all_available: "linker_param_file"
+ }
+ flag_set {
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_entries}"
+ flag: "@%{linker_param_file}"
}
- expand_if_all_available: "runtime_root_entries"
+ expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "shared_flag"
+ name: "version_min"
flag_set {
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ action: "preprocess-assemble"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "c++-module-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-miphoneos-version-min=%{version_min}"
}
}
}
feature {
- name: "strip_debug_symbols"
+ name: "dead_strip"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
}
+ requires {
+ feature: "opt"
+ }
}
feature {
- name: "symbol_counts"
+ name: "run_coverage"
+ }
+ feature {
+ name: "llvm_coverage_map_format"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "symbol_counts_output"
+ }
+ requires {
+ feature: "run_coverage"
}
}
feature {
- name: "use_objc_modules"
+ name: "gcc_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
}
+ requires {
+ feature: "run_coverage"
+ }
}
feature {
- name: "version_min"
+ name: "apply_implicit_frameworks"
flag_set {
action: "objc-executable"
action: "objc++-executable"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
flag_group {
- flag: "-miphoneos-version-min=%{version_min}"
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
}
}
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
- implies: "include_system_dirs"
implies: "apple_env"
}
action_config {
@@ -11035,8 +11028,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-module-compile"
+ action_name: "c++-module-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -11049,8 +11042,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -11063,108 +11056,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-link-alwayslink-pic-static-library"
- action_name: "c++-link-alwayslink-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-alwayslink-static-library"
- action_name: "c++-link-alwayslink-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-dynamic-library"
- action_name: "c++-link-dynamic-library"
- tool {
- tool_path: "wrapped_clang"
- }
- implies: "has_configured_linker_path"
- implies: "symbol_counts"
- implies: "shared_flag"
- implies: "linkstamps"
- implies: "output_execpath_flags"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-executable"
- action_name: "c++-link-executable"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "symbol_counts"
- implies: "linkstamps"
- implies: "output_execpath_flags_executable"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "force_pic_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-interface-dynamic-library"
- action_name: "c++-link-interface-dynamic-library"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "strip_debug_symbols"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-pic-static-library"
- action_name: "c++-link-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-static-library"
- action_name: "c++-link-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -11177,12 +11070,22 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c-compile"
- action_name: "c-compile"
+ config_name: "objc-compile"
+ action_name: "objc-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ flag_set {
+ flag_group {
+ flag: "-arch"
+ flag: "arm64"
+ }
+ }
+ implies: "objc_actions"
+ implies: "apply_default_compiler_flags"
+ implies: "apply_default_warnings"
+ implies: "framework_paths"
implies: "preprocessor_defines"
implies: "include_system_dirs"
implies: "version_min"
@@ -11216,17 +11119,61 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "assemble"
+ action_name: "assemble"
tool {
- tool_path: "wrapped_clang_pp"
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "include_system_dirs"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "preprocess-assemble"
+ action_name: "preprocess-assemble"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-archive"
+ action_name: "objc-archive"
+ tool {
+ tool_path: "libtool"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
+ flag: "-static"
+ flag: "-filelist"
+ flag: "%{obj_list_path}"
+ flag: "-arch_only"
+ flag: "arm64"
+ flag: "-syslibroot"
+ flag: "%{sdk_dir}"
+ flag: "-o"
+ flag: "%{archive_path}"
}
+ }
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-executable"
+ action_name: "objc-executable"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ flag_set {
flag_group {
flag: "-arch"
flag: "arm64"
@@ -11277,59 +11224,17 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
- tool {
- tool_path: "libtool"
- execution_requirement: "requires-darwin"
- }
- flag_set {
- flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
- flag: "arm64"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
- }
- }
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ config_name: "objc++-executable"
+ action_name: "objc++-executable"
tool {
- tool_path: "wrapped_clang"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-arch"
- flag: "arm64"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
- }
- implies: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "arm64"
@@ -11380,6 +11285,106 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
+ config_name: "c++-link-executable"
+ action_name: "c++-link-executable"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "symbol_counts"
+ implies: "linkstamps"
+ implies: "output_execpath_flags_executable"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "force_pic_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-dynamic-library"
+ action_name: "c++-link-dynamic-library"
+ tool {
+ tool_path: "wrapped_clang"
+ }
+ implies: "has_configured_linker_path"
+ implies: "symbol_counts"
+ implies: "shared_flag"
+ implies: "linkstamps"
+ implies: "output_execpath_flags"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-static-library"
+ action_name: "c++-link-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-static-library"
+ action_name: "c++-link-alwayslink-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-pic-static-library"
+ action_name: "c++-link-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "strip_debug_symbols"
+ implies: "apple_env"
+ }
+ action_config {
config_name: "objc-fully-link"
action_name: "objc-fully-link"
tool {
@@ -11408,20 +11413,6 @@ toolchain {
}
implies: "apple_env"
}
- action_config {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
cc_target_os: "apple"
}
toolchain {
@@ -11500,10 +11491,6 @@ toolchain {
compiler_flag: "-DDEBUG"
}
compilation_mode_flags {
- mode: DBG
- compiler_flag: "-g"
- }
- compilation_mode_flags {
mode: OPT
compiler_flag: "-g0"
compiler_flag: "-O2"
@@ -11513,6 +11500,10 @@ toolchain {
compiler_flag: "-fdata-sections"
compiler_flag: "-DNS_BLOCK_ASSERTIONS=1"
}
+ compilation_mode_flags {
+ mode: DBG
+ compiler_flag: "-g"
+ }
linking_mode_flags {
mode: DYNAMIC
}
@@ -11523,7 +11514,6 @@ toolchain {
name: "STACK_FRAME_UNLIMITED"
value: "-Wframe-larger-than=100000000 -Wno-vla"
}
- cxx_builtin_include_directory: "/"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
@@ -11540,212 +11530,174 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "apple_env"
- env_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-archive"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
- action: "objc-executable"
- action: "objc++-executable"
- env_entry {
- key: "XCODE_VERSION_OVERRIDE"
- value: "%{xcode_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_VERSION_OVERRIDE"
- value: "%{apple_sdk_version_override_value}"
- }
- env_entry {
- key: "APPLE_SDK_PLATFORM"
- value: "%{apple_sdk_platform_value}"
- }
- }
+ name: "fastbuild"
}
feature {
- name: "apply_default_compiler_flags"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-DOS_IOS"
- }
- }
+ name: "opt"
}
feature {
- name: "apply_default_warnings"
+ name: "dbg"
+ }
+ feature {
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "only_doth_headers_in_module_maps"
+ }
+ feature {
+ name: "objc_actions"
+ implies: "objc-compile"
+ implies: "objc++-compile"
+ implies: "objc-fully-link"
+ implies: "objc-archive"
+ implies: "objc-executable"
+ implies: "objc++-executable"
+ implies: "assemble"
+ implies: "preprocess-assemble"
+ implies: "c-compile"
+ implies: "c++-compile"
+ implies: "c++-link-static-library"
+ implies: "c++-link-pic-static-library"
+ implies: "c++-link-interface-dynamic-library"
+ implies: "c++-link-dynamic-library"
+ implies: "c++-link-alwayslink-static-library"
+ implies: "c++-link-alwayslink-pic-static-library"
+ implies: "c++-link-executable"
+ }
+ feature {
+ name: "strip_debug_symbols"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-interface-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wshorten-64-to-32"
- flag: "-Wbool-conversion"
- flag: "-Wconstant-conversion"
- flag: "-Wduplicate-method-match"
- flag: "-Wempty-body"
- flag: "-Wenum-conversion"
- flag: "-Wint-conversion"
- flag: "-Wunreachable-code"
- flag: "-Wmismatched-return-types"
- flag: "-Wundeclared-selector"
- flag: "-Wuninitialized"
- flag: "-Wunused-function"
- flag: "-Wunused-variable"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
}
feature {
- name: "apply_implicit_frameworks"
+ name: "symbol_counts"
flag_set {
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "bitcode_embedded"
+ name: "shared_flag"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "-shared"
}
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode-marker"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "output_execpath_flags"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "rcs"
+ flag: "-o"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "compile_all_modules"
- }
- feature {
- name: "coverage"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
flag_set {
- action: "c++-link-interface-dynamic-library"
- action: "c++-link-dynamic-library"
action: "c++-link-executable"
flag_group {
- flag: "-fprofile-instr-generate"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "dead_strip"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- requires {
- feature: "opt"
- }
- }
- feature {
- name: "exclude_private_headers_in_module_maps"
- }
- feature {
- name: "fastbuild"
}
feature {
- name: "force_pic_flags"
+ name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-pie"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "global_whole_archive"
}
}
feature {
- name: "framework_paths"
+ name: "cc_archiver_flags"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-F%{framework_paths}"
+ flag: "rcs"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "runtime_root_flags"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ expand_if_all_available: "runtime_library_search_directories"
}
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
@@ -11754,31 +11706,21 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "runtime_root_flags"
}
- }
- feature {
- name: "has_configured_linker_path"
- }
- feature {
- name: "include_system_dirs"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "c++-module-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "%{runtime_root_entries}"
}
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -11945,332 +11887,382 @@ toolchain {
}
}
feature {
- name: "legacy_link_flags"
+ name: "force_pic_flags"
flag_set {
action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "-pie"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "linker_param_file"
- flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- flag_group {
- flag: "-Wl,@%{linker_param_file}"
- }
- expand_if_all_available: "linker_param_file"
- }
+ name: "pch"
flag_set {
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "c-compile"
+ action: "c++-compile"
flag_group {
- flag: "@%{linker_param_file}"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "linkstamps"
+ name: "module_maps"
+ }
+ feature {
+ name: "use_objc_modules"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "llvm_coverage_map_format"
+ name: "no_enable_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fmodule-maps"
}
}
requires {
- feature: "run_coverage"
+ feature: "use_objc_modules"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "no_enable_modules"
+ name: "apply_default_warnings"
flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-Wshorten-64-to-32"
+ flag: "-Wbool-conversion"
+ flag: "-Wconstant-conversion"
+ flag: "-Wduplicate-method-match"
+ flag: "-Wempty-body"
+ flag: "-Wenum-conversion"
+ flag: "-Wint-conversion"
+ flag: "-Wunreachable-code"
+ flag: "-Wmismatched-return-types"
+ flag: "-Wundeclared-selector"
+ flag: "-Wuninitialized"
+ flag: "-Wunused-function"
+ flag: "-Wunused-variable"
}
}
- requires {
- feature: "use_objc_modules"
- }
}
feature {
- name: "no_objc_arc"
+ name: "preprocessor_defines"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fno-objc-arc"
+ flag: "-D%{preprocessor_defines}"
}
- expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "objc_actions"
- implies: "objc-compile"
- implies: "objc++-compile"
- implies: "objc-fully-link"
- implies: "objc-archive"
- implies: "objc-executable"
- implies: "objc++-executable"
- implies: "assemble"
- implies: "preprocess-assemble"
- implies: "c-compile"
- implies: "c++-compile"
- implies: "c++-link-static-library"
- implies: "c++-link-pic-static-library"
- implies: "c++-link-interface-dynamic-library"
- implies: "c++-link-dynamic-library"
- implies: "c++-link-alwayslink-static-library"
- implies: "c++-link-alwayslink-pic-static-library"
- implies: "c++-link-executable"
+ name: "framework_paths"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ flag_group {
+ flag: "-F%{framework_paths}"
+ }
+ }
}
feature {
- name: "objc_arc"
+ name: "coverage"
flag_set {
+ action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
- action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "assemble"
- action: "preprocess-assemble"
+ action: "c++-module-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fobjc-arc"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "objc_arc"
}
- }
- feature {
- name: "only_doth_headers_in_module_maps"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "output_execpath_flags"
flag_set {
+ action: "c++-link-interface-dynamic-library"
action: "c++-link-dynamic-library"
+ action: "c++-link-executable"
flag_group {
- flag: "-o"
- flag: "%{output_execpath}"
+ flag: "-fprofile-instr-generate"
}
- expand_if_all_available: "output_execpath"
}
+ provides: "profile"
}
feature {
- name: "output_execpath_flags_executable"
+ name: "apply_default_compiler_flags"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-o"
+ flag: "-DOS_IOS"
}
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "include_system_dirs"
flag_set {
- action: "c++-link-executable"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "skip_mostly_static"
- expand_if_all_available: "output_execpath"
}
+ }
+ feature {
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{output_execpath}"
+ flag: "-fembed-bitcode"
}
- expand_if_all_available: "output_execpath"
}
}
feature {
- name: "pch"
+ name: "bitcode_embedded_markers"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ flag: "-fembed-bitcode-marker"
}
}
}
feature {
- name: "preprocessor_defines"
+ name: "objc_arc"
flag_set {
- action: "preprocess-assemble"
action: "c-compile"
action: "c++-compile"
+ action: "c++-module-compile"
action: "c++-header-parsing"
action: "c++-header-preprocessing"
- action: "c++-module-compile"
+ action: "assemble"
+ action: "preprocess-assemble"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-D%{preprocessor_defines}"
+ flag: "-fobjc-arc"
}
+ expand_if_all_available: "objc_arc"
}
}
feature {
- name: "run_coverage"
+ name: "no_objc_arc"
+ flag_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-fno-objc-arc"
+ }
+ expand_if_all_available: "no_objc_arc"
+ }
}
feature {
- name: "runtime_root_flags"
- flag_set {
+ name: "apple_env"
+ env_set {
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "assemble"
+ action: "preprocess-assemble"
+ action: "objc-compile"
+ action: "objc++-compile"
+ action: "objc-archive"
action: "c++-link-executable"
action: "c++-link-dynamic-library"
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
- flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ action: "objc-executable"
+ action: "objc++-executable"
+ env_entry {
+ key: "XCODE_VERSION_OVERRIDE"
+ value: "%{xcode_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_VERSION_OVERRIDE"
+ value: "%{apple_sdk_version_override_value}"
+ }
+ env_entry {
+ key: "APPLE_SDK_PLATFORM"
+ value: "%{apple_sdk_platform_value}"
}
- expand_if_all_available: "runtime_library_search_directories"
}
+ }
+ feature {
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-static-library"
- action: "c++-link-alwayslink-static-library"
- action: "c++-link-pic-static-library"
- action: "c++-link-alwayslink-pic-static-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "legacy_link_flags"
}
+ }
+ feature {
+ name: "linker_param_file"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linker_param_file}"
+ }
+ expand_if_all_available: "linker_param_file"
+ }
+ flag_set {
action: "c++-link-static-library"
action: "c++-link-alwayslink-static-library"
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_entries}"
+ flag: "@%{linker_param_file}"
}
- expand_if_all_available: "runtime_root_entries"
+ expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "shared_flag"
+ name: "version_min"
flag_set {
+ action: "objc-executable"
+ action: "objc++-executable"
+ action: "c++-link-executable"
action: "c++-link-dynamic-library"
+ action: "preprocess-assemble"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "c++-header-parsing"
+ action: "c++-header-preprocessing"
+ action: "c++-module-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-m<platform_for_version_min>-version-min=%{version_min}"
}
}
}
feature {
- name: "strip_debug_symbols"
+ name: "dead_strip"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
action: "objc-executable"
action: "objc++-executable"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
}
+ requires {
+ feature: "opt"
+ }
}
feature {
- name: "symbol_counts"
+ name: "run_coverage"
+ }
+ feature {
+ name: "llvm_coverage_map_format"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- expand_if_all_available: "symbol_counts_output"
+ }
+ requires {
+ feature: "run_coverage"
}
}
feature {
- name: "use_objc_modules"
+ name: "gcc_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
}
+ requires {
+ feature: "run_coverage"
+ }
}
feature {
- name: "version_min"
+ name: "apply_implicit_frameworks"
flag_set {
action: "objc-executable"
action: "objc++-executable"
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "preprocess-assemble"
- action: "c-compile"
- action: "c++-compile"
- action: "c++-header-parsing"
- action: "c++-header-preprocessing"
- action: "c++-module-compile"
- action: "objc-compile"
- action: "objc++-compile"
flag_group {
- flag: "-m<platform_for_version_min>-version-min=%{version_min}"
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
}
}
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
implies: "objc_arc"
implies: "no_objc_arc"
- implies: "include_system_dirs"
implies: "apple_env"
}
action_config {
@@ -12288,8 +12280,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-module-compile"
+ action_name: "c++-module-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -12302,8 +12294,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -12316,108 +12308,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-link-alwayslink-pic-static-library"
- action_name: "c++-link-alwayslink-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-alwayslink-static-library"
- action_name: "c++-link-alwayslink-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-dynamic-library"
- action_name: "c++-link-dynamic-library"
- tool {
- tool_path: "wrapped_clang"
- }
- implies: "has_configured_linker_path"
- implies: "symbol_counts"
- implies: "shared_flag"
- implies: "linkstamps"
- implies: "output_execpath_flags"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-executable"
- action_name: "c++-link-executable"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "symbol_counts"
- implies: "linkstamps"
- implies: "output_execpath_flags_executable"
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "input_param_flags"
- implies: "force_pic_flags"
- implies: "legacy_link_flags"
- implies: "strip_debug_symbols"
- implies: "linker_param_file"
- implies: "version_min"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-interface-dynamic-library"
- action_name: "c++-link-interface-dynamic-library"
- tool {
- tool_path: "DUMMY_TOOL"
- }
- implies: "strip_debug_symbols"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-pic-static-library"
- action_name: "c++-link-pic-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-link-static-library"
- action_name: "c++-link-static-library"
- tool {
- tool_path: "/usr/bin/ar"
- }
- implies: "global_whole_archive_open"
- implies: "runtime_root_flags"
- implies: "cc_archiver_flags"
- implies: "input_param_flags"
- implies: "linker_param_file"
- implies: "apple_env"
- }
- action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -12430,12 +12322,22 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c-compile"
- action_name: "c-compile"
+ config_name: "objc-compile"
+ action_name: "objc-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
+ flag_set {
+ flag_group {
+ flag: "-arch"
+ flag: "<architecture>"
+ }
+ }
+ implies: "objc_actions"
+ implies: "apply_default_compiler_flags"
+ implies: "apply_default_warnings"
+ implies: "framework_paths"
implies: "preprocessor_defines"
implies: "include_system_dirs"
implies: "version_min"
@@ -12469,17 +12371,61 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "assemble"
+ action_name: "assemble"
tool {
- tool_path: "wrapped_clang_pp"
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "include_system_dirs"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "preprocess-assemble"
+ action_name: "preprocess-assemble"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ implies: "preprocessor_defines"
+ implies: "include_system_dirs"
+ implies: "version_min"
+ implies: "objc_arc"
+ implies: "no_objc_arc"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-archive"
+ action_name: "objc-archive"
+ tool {
+ tool_path: "libtool"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
+ flag: "-static"
+ flag: "-filelist"
+ flag: "%{obj_list_path}"
+ flag: "-arch_only"
+ flag: "<architecture>"
+ flag: "-syslibroot"
+ flag: "%{sdk_dir}"
+ flag: "-o"
+ flag: "%{archive_path}"
}
+ }
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "objc-executable"
+ action_name: "objc-executable"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ flag_set {
flag_group {
flag: "-arch"
flag: "<architecture>"
@@ -12530,59 +12476,17 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
- tool {
- tool_path: "libtool"
- execution_requirement: "requires-darwin"
- }
- flag_set {
- flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
- flag: "<architecture>"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
- }
- }
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ config_name: "objc++-executable"
+ action_name: "objc++-executable"
tool {
- tool_path: "wrapped_clang"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-arch"
- flag: "<architecture>"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
- }
- implies: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
- action_config {
- config_name: "objc-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "<architecture>"
@@ -12633,6 +12537,106 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
+ config_name: "c++-link-executable"
+ action_name: "c++-link-executable"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "symbol_counts"
+ implies: "linkstamps"
+ implies: "output_execpath_flags_executable"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "force_pic_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-dynamic-library"
+ action_name: "c++-link-dynamic-library"
+ tool {
+ tool_path: "wrapped_clang"
+ }
+ implies: "has_configured_linker_path"
+ implies: "symbol_counts"
+ implies: "shared_flag"
+ implies: "linkstamps"
+ implies: "output_execpath_flags"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "input_param_flags"
+ implies: "legacy_link_flags"
+ implies: "strip_debug_symbols"
+ implies: "linker_param_file"
+ implies: "version_min"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-static-library"
+ action_name: "c++-link-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-static-library"
+ action_name: "c++-link-alwayslink-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-pic-static-library"
+ action_name: "c++-link-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
+ tool {
+ tool_path: "/usr/bin/ar"
+ }
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
+ implies: "apple_env"
+ }
+ action_config {
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
+ tool {
+ tool_path: "DUMMY_TOOL"
+ }
+ implies: "strip_debug_symbols"
+ implies: "apple_env"
+ }
+ action_config {
config_name: "objc-fully-link"
action_name: "objc-fully-link"
tool {
@@ -12661,19 +12665,5 @@ toolchain {
}
implies: "apple_env"
}
- action_config {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
- implies: "apple_env"
- }
cc_target_os: "apple"
}
diff --git a/tools/osx/crosstool/osx_archs.bzl b/tools/osx/crosstool/osx_archs.bzl
new file mode 100644
index 0000000000..5ee87c6173
--- /dev/null
+++ b/tools/osx/crosstool/osx_archs.bzl
@@ -0,0 +1,28 @@
+"""Information regarding crosstool-supported architectures."""
+# Copyright 2017 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# List of architectures supported by osx crosstool.
+OSX_TOOLS_ARCHS = [
+ "armeabi-v7a",
+ "darwin_x86_64",
+ "ios_x86_64",
+ "ios_i386",
+ "ios_armv7",
+ "ios_arm64",
+ "watchos_i386",
+ "watchos_armv7k",
+ "tvos_x86_64",
+ "tvos_arm64",
+]
diff --git a/tools/osx/crosstool/wrapped_clang.tpl b/tools/osx/crosstool/wrapped_clang.tpl
new file mode 100644
index 0000000000..3a523d2280
--- /dev/null
+++ b/tools/osx/crosstool/wrapped_clang.tpl
@@ -0,0 +1,10 @@
+# A trick to allow invoking this script in multiple contexts.
+if [ -z ${MY_LOCATION+x} ]; then
+ if [ -d "$0.runfiles/" ]; then
+ MY_LOCATION="$0.runfiles/bazel_tools/tools/objc"
+ else
+ MY_LOCATION="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+ fi
+fi
+
+"${MY_LOCATION}"/xcrunwrapper.sh clang $@
diff --git a/tools/osx/crosstool/wrapped_clang_pp.tpl b/tools/osx/crosstool/wrapped_clang_pp.tpl
new file mode 100644
index 0000000000..4afc7b056e
--- /dev/null
+++ b/tools/osx/crosstool/wrapped_clang_pp.tpl
@@ -0,0 +1,10 @@
+# A trick to allow invoking this script in multiple contexts.
+if [ -z ${MY_LOCATION+x} ]; then
+ if [ -d "$0.runfiles/" ]; then
+ MY_LOCATION="$0.runfiles/bazel_tools/tools/objc"
+ else
+ MY_LOCATION="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+ fi
+fi
+
+"${MY_LOCATION}"/xcrunwrapper.sh clang++ $@
diff --git a/tools/osx/xcode_configure.bzl b/tools/osx/xcode_configure.bzl
index 82833c07bf..7326e602a4 100644
--- a/tools/osx/xcode_configure.bzl
+++ b/tools/osx/xcode_configure.bzl
@@ -89,22 +89,30 @@ def _xcode_version_output(repository_ctx, name, version, aliases, developer_dir)
VERSION_CONFIG_STUB = "xcode_config(name = 'host_xcodes')"
-def _darwin_build_file(repository_ctx):
- """Evaluates local system state to create xcode_config and xcode_version targets."""
- xcodebuild_result = repository_ctx.execute(["env", "-i", "xcrun", "xcodebuild", "-version"], 30)
- # "xcodebuild -version" failing may be indicative of no versions of xcode
- # installed, which is an acceptable machine configuration to have for using
- # bazel. Thus no print warning should be emitted here.
- if (xcodebuild_result.return_code != 0):
- error_msg = (
- "Running xcodebuild -version failed, " +
- "return code {code}, stderr: {err}, stdout: {out}").format(
- code=xcodebuild_result.return_code,
- err=xcodebuild_result.stderr,
- out=xcodebuild_result.stdout)
- return VERSION_CONFIG_STUB + "\n# Error: " + error_msg.replace("\n", " ") + "\n"
+def run_xcode_locator(repository_ctx, xcode_locator_src_label):
+ """Generates xcode-locator from source and runs it.
+
+ Builds xcode-locator in the current repository directory.
+ Returns the standard output of running xcode-locator with -v, which will
+ return information about locally installed Xcode toolchains and the versions
+ they are associated with.
- xcodeloc_src_path = str(repository_ctx.path(Label(repository_ctx.attr.xcode_locator)))
+ This should only be invoked on a darwin OS, as xcode-locator cannot be built
+ otherwise.
+
+ Args:
+ repository_ctx: The repository context.
+ xcode_locator_src_label: The label of the source file for xcode-locator.
+ Returns:
+ A 2-tuple containing:
+ output: A list representing installed xcode toolchain information. Each
+ element of the list is a struct containing information for one installed
+ toolchain. This is instead None if there was an error building or
+ running xcode-locator.
+ err: An error string describing the error that occurred when attempting
+ to build and run xcode-locator, or None if the run was successful.
+ """
+ xcodeloc_src_path = str(repository_ctx.path(xcode_locator_src_label))
xcrun_result = repository_ctx.execute(["env", "-i", "xcrun", "clang", "-fobjc-arc", "-framework",
"CoreServices", "-framework", "Foundation", "-o",
"xcode-locator-bin", xcodeloc_src_path], 30)
@@ -116,8 +124,7 @@ def _darwin_build_file(repository_ctx):
code=xcrun_result.return_code,
err=xcrun_result.stderr,
out=xcrun_result.stdout)
- print(error_msg)
- return VERSION_CONFIG_STUB + "\n# Error: " + error_msg.replace("\n", " ") + "\n"
+ return (None, error_msg.replace("\n", " "))
xcode_locator_result = repository_ctx.execute(["./xcode-locator-bin", "-v"], 30)
if (xcode_locator_result.return_code != 0):
@@ -127,28 +134,58 @@ def _darwin_build_file(repository_ctx):
code=xcode_locator_result.return_code,
err=xcode_locator_result.stderr,
out=xcode_locator_result.stdout)
- print(error_msg)
+ return (None, error_msg.replace("\n", " "))
+ xcode_toolchains = []
+ # xcode_dump is comprised of newlines with different installed xcode versions,
+ # each line of the form <version>:<comma_separated_aliases>:<developer_dir>.
+ xcode_dump = xcode_locator_result.stdout
+ for xcodeversion in xcode_dump.split("\n"):
+ if ":" in xcodeversion:
+ infosplit = xcodeversion.split(":")
+ toolchain = struct(
+ version = infosplit[0],
+ aliases = infosplit[1].split(","),
+ developer_dir = infosplit[2]
+ )
+ xcode_toolchains.append(toolchain)
+ return (xcode_toolchains, None)
+
+
+def _darwin_build_file(repository_ctx):
+ """Evaluates local system state to create xcode_config and xcode_version targets."""
+ xcodebuild_result = repository_ctx.execute(["env", "-i", "xcrun", "xcodebuild", "-version"], 30)
+ # "xcodebuild -version" failing may be indicative of no versions of xcode
+ # installed, which is an acceptable machine configuration to have for using
+ # bazel. Thus no print warning should be emitted here.
+ if (xcodebuild_result.return_code != 0):
+ error_msg = (
+ "Running xcodebuild -version failed, " +
+ "return code {code}, stderr: {err}, stdout: {out}").format(
+ code=xcodebuild_result.return_code,
+ err=xcodebuild_result.stderr,
+ out=xcodebuild_result.stdout)
return VERSION_CONFIG_STUB + "\n# Error: " + error_msg.replace("\n", " ") + "\n"
+ (toolchains, xcodeloc_err) = run_xcode_locator(repository_ctx,
+ Label(repository_ctx.attr.xcode_locator))
+
+ if xcodeloc_err:
+ return VERSION_CONFIG_STUB + "\n# Error: " + xcodeloc_err + "\n"
+
default_xcode_version = _search_string(xcodebuild_result.stdout, "Xcode ", "\n")
default_xcode_target = ""
target_names = []
buildcontents = ""
- # xcode_dump is comprised of newlines with different installed xcode versions,
- # each line of the form <version>:<comma_separated_aliases>:<developer_dir>.
- xcode_dump = xcode_locator_result.stdout
- for xcodeversion in xcode_dump.split("\n"):
- if ":" in xcodeversion:
- infosplit = xcodeversion.split(":")
- version = infosplit[0]
- aliases = infosplit[1].split(",")
- developer_dir = infosplit[2]
- target_name = "version%s" % version.replace(".", "_")
- buildcontents += _xcode_version_output(repository_ctx, target_name, version, aliases, developer_dir)
- target_names.append("':%s'" % target_name)
- if (version == default_xcode_version or default_xcode_version in aliases):
- default_xcode_target = target_name
+ for toolchain in toolchains:
+ version = toolchain.version
+ aliases = toolchain.aliases
+ developer_dir = toolchain.developer_dir
+ target_name = "version%s" % version.replace(".", "_")
+ buildcontents += _xcode_version_output(repository_ctx, target_name, version, aliases, developer_dir)
+ target_names.append("':%s'" % target_name)
+ if (version == default_xcode_version or default_xcode_version in aliases):
+ default_xcode_target = target_name
buildcontents += "xcode_config(name = 'host_xcodes',"
if target_names:
buildcontents += "\n versions = [%s]," % ", ".join(target_names)