aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorGravatar dmarting <dmarting@google.com>2017-05-02 15:30:23 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-05-02 15:44:41 +0200
commit5fc036efd389e99470b7a9c45c1db87834675f68 (patch)
tree9e8a3ca1615447638789f51972f0abf8ff314473 /tools
parent7beadb7277453efec7e12b925005e7f0e003b592 (diff)
Automated g4 rollback of commit 5038016e6573962d2554fcf9c10faa0cca8714e2.
*** Reason for rollback *** Broke rules_go and all its dependencies: http://ci.bazel.io/job/rules_web/BAZEL_VERSION=HEAD,PLATFORM_NAME=darwin-x86_64/464/console http://ci.bazel.io/job/rules_go/BAZEL_VERSION=HEAD,PLATFORM_NAME=darwin-x86_64/823/console http://ci.bazel.io/job/buildifier/BAZEL_VERSION=HEAD,PLATFORM_NAME=darwin-x86_64/557/console Bisected with `bazel build ...` in rules_go The error message is still -whole-archive appearing in rules_go. *** Original change description *** Rollforward of: Basic open-source crosstool to support targeting apple platform types. RELNOTES: None. PiperOrigin-RevId: 154825240
Diffstat (limited to 'tools')
-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.tpl9856
-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
8 files changed, 5041 insertions, 5238 deletions
diff --git a/tools/cpp/cc_configure.bzl b/tools/cpp/cc_configure.bzl
index 7754c8376d..4e77db5e6b 100644
--- a/tools/cpp/cc_configure.bzl
+++ b/tools/cpp/cc_configure.bzl
@@ -13,7 +13,6 @@
# 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."""
@@ -111,7 +110,7 @@ def _execute(repository_ctx, command, environment = None,
return stripped_stdout
-def _get_tool_paths(repository_ctx, cc):
+def _get_tool_paths(repository_ctx, darwin, cc):
"""Compute the path to the various tools."""
return {k: _which(repository_ctx, k, "/usr/bin/" + k)
for k in [
@@ -125,7 +124,8 @@ def _get_tool_paths(repository_ctx, cc):
"strip",
]} + {
"gcc": cc,
- "ar": _which(repository_ctx, "ar", "/usr/bin/ar")
+ "ar": "/usr/bin/libtool"
+ if darwin else _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):
+def _crosstool_content(repository_ctx, cc, cpu_value, darwin):
"""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):
"supports_interface_shared_objects": False,
"supports_normalizing_ar": False,
"supports_start_end_lib": supports_gold_linker,
- "target_libc": _get_env_var(repository_ctx, "BAZEL_TARGET_LIBC", "local", False),
+ "target_libc": "macosx" if darwin else _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,17 +252,24 @@ def _crosstool_content(repository_ctx, cc, cpu_value):
repository_ctx, cc, "-Wl,-no-as-needed"
) + _add_option_if_supported(
repository_ctx, cc, "-Wl,-z,relro,-z,now"
- ) + (["-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": [],
+ ) + (
+ [
+ "-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 [],
"cxx_builtin_include_directory": _get_cxx_inc_directories(repository_ctx, cc),
"objcopy_embed_flag": ["-I", "binary"],
"unfiltered_cxx_flag":
@@ -285,7 +292,7 @@ def _crosstool_content(repository_ctx, cc, cpu_value):
# 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",
@@ -343,7 +350,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():
+def _opt_content(darwin):
"""Return the content of the opt specific section of the CROSSTOOL file."""
return {
"compiler_flag": [
@@ -369,7 +376,7 @@ def _opt_content():
"-ffunction-sections",
"-fdata-sections"
],
- "linker_flag": ["-Wl,--gc-sections"]
+ "linker_flag": [] if darwin else ["-Wl,--gc-sections"]
}
@@ -621,7 +628,23 @@ def _get_env(repository_ctx):
else:
return ""
-def _coverage_feature():
+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'
+ }"""
return """
feature {
name: 'coverage'
@@ -633,51 +656,17 @@ def _coverage_feature():
action: 'c++-header-parsing'
action: 'c++-header-preprocessing'
action: 'c++-module-compile'
- flag_group {
- flag: '-fprofile-arcs'
- flag: '-ftest-coverage'
- }
+ """ + compile_flags + """
}
flag_set {
action: 'c++-link-interface-dynamic-library'
action: 'c++-link-dynamic-library'
action: 'c++-link-executable'
- flag_group {
- flag: '-lgcov'
- }
+ """ + link_flags + """
}
}
"""
-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)
@@ -746,69 +735,37 @@ 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")
- 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}": "",
- })
+ "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}": "",
+ })
+
cc_autoconf = repository_rule(
implementation=_impl,
diff --git a/tools/objc/libtool.sh b/tools/objc/libtool.sh
index e1275758ea..5ad89a019d 100755
--- a/tools/objc/libtool.sh
+++ b/tools/objc/libtool.sh
@@ -23,15 +23,7 @@
set -eu
-# 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=${MY_LOCATION:-"$0.runfiles/bazel_tools/tools/objc"}
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
deleted file mode 100644
index 8f6ff4d2b4..0000000000
--- a/tools/osx/crosstool/BUILD.tpl
+++ /dev/null
@@ -1,71 +0,0 @@
-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 9ca6ceacd5..0d0fc02d63 100644
--- a/tools/osx/crosstool/CROSSTOOL.tpl
+++ b/tools/osx/crosstool/CROSSTOOL.tpl
@@ -149,6 +149,7 @@ 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"
@@ -160,174 +161,211 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "fastbuild"
- }
- feature {
- name: "opt"
- }
- feature {
- 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"
+ 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}"
+ }
+ }
}
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: "apply_default_compiler_flags"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-DOS_MACOSX"
+ }
+ }
}
feature {
- name: "strip_debug_symbols"
+ name: "apply_default_warnings"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ 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"
}
}
}
feature {
- name: "symbol_counts"
+ name: "apply_implicit_frameworks"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-framework Foundation"
}
- expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "shared_flag"
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-fembed-bitcode"
}
}
}
feature {
- name: "linkstamps"
+ name: "bitcode_embedded_markers"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fembed-bitcode-marker"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "output_execpath_flags"
+ name: "cc_archiver_flags"
flag_set {
- 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: "-o"
+ flag: "rcs"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "output_execpath_flags_executable"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "coverage"
flag_set {
- action: "c++-link-executable"
+ 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: "-o"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- 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: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-fprofile-instr-generate"
}
- 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: "%{output_execpath}"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
- expand_if_all_available: "output_execpath"
+ }
+ requires {
+ feature: "opt"
}
}
feature {
- name: "global_whole_archive_open"
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "fastbuild"
+ }
+ feature {
+ name: "force_pic_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"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "-pie"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "framework_paths"
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: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "rcs"
- flag: "%{output_execpath}"
+ flag: "-F%{framework_paths}"
}
- expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "runtime_root_flags"
+ name: "gcc_coverage_map_format"
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: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
- 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"
@@ -336,21 +374,31 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "global_whole_archive"
}
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "include_system_dirs"
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: "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: "%{runtime_root_entries}"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -517,390 +565,341 @@ toolchain {
}
}
feature {
- name: "force_pic_flags"
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-pie"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "legacy_link_flags"
}
}
feature {
- name: "pch"
+ name: "link_cocoa"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ flag: "-framework Cocoa"
}
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "use_objc_modules"
+ name: "linker_param_file"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "-Wl,@%{linker_param_file}"
}
+ expand_if_all_available: "linker_param_file"
}
- }
- feature {
- name: "no_enable_modules"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ 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: "-fmodule-maps"
+ flag: "@%{linker_param_file}"
}
- }
- requires {
- feature: "use_objc_modules"
+ expand_if_all_available: "linker_param_file"
}
}
feature {
- name: "apply_default_warnings"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
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: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "preprocessor_defines"
+ name: "llvm_coverage_map_format"
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: "-D%{preprocessor_defines}"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
}
+ requires {
+ feature: "run_coverage"
+ }
}
feature {
- name: "framework_paths"
+ name: "module_maps"
+ }
+ feature {
+ name: "no_enable_modules"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
flag_group {
- flag: "-F%{framework_paths}"
+ flag: "-fmodule-maps"
}
}
+ requires {
+ feature: "use_objc_modules"
+ }
}
feature {
- name: "coverage"
+ name: "no_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: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
- }
- }
- flag_set {
- action: "c++-link-interface-dynamic-library"
- action: "c++-link-dynamic-library"
- action: "c++-link-executable"
- flag_group {
- flag: "-fprofile-instr-generate"
+ flag: "-fno-objc-arc"
}
+ expand_if_all_available: "no_objc_arc"
}
- provides: "profile"
}
feature {
- name: "apply_default_compiler_flags"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-DOS_MACOSX"
- }
- }
+ 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: "include_system_dirs"
+ name: "objc_arc"
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: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "-fobjc-arc"
}
+ expand_if_all_available: "objc_arc"
}
}
feature {
- name: "bitcode_embedded"
+ name: "only_doth_headers_in_module_maps"
+ }
+ feature {
+ name: "opt"
+ }
+ feature {
+ name: "output_execpath_flags"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "-o"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fembed-bitcode-marker"
+ flag: "-o"
+ }
+ expand_if_all_available: "output_execpath"
+ }
+ flag_set {
+ action: "c++-link-executable"
+ flag_group {
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
+ }
+ flag_set {
+ action: "c++-link-executable"
+ flag_group {
+ flag: "%{output_execpath}"
+ }
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "objc_arc"
+ name: "pch"
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"
+ action: "c-compile"
+ action: "c++-compile"
flag_group {
- flag: "-fobjc-arc"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "objc_arc"
}
}
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: "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"
+ name: "run_coverage"
+ }
+ feature {
+ name: "runtime_root_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"
- 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}"
+ flag_group {
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ 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: "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: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "runtime_root_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: "@%{linker_param_file}"
+ flag: "%{runtime_root_entries}"
}
- expand_if_all_available: "linker_param_file"
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
- name: "version_min"
+ name: "shared_flag"
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: "dead_strip"
+ 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: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
- requires {
- feature: "opt"
- }
}
feature {
- name: "run_coverage"
- }
- feature {
- name: "llvm_coverage_map_format"
+ name: "symbol_counts"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
- }
- requires {
- feature: "run_coverage"
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "use_objc_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
- }
- }
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "apply_implicit_frameworks"
- flag_set {
- action: "objc-executable"
- action: "objc++-executable"
- flag_group {
- flag: "-framework Foundation"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
}
}
feature {
- name: "link_cocoa"
+ 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: "-framework Cocoa"
}
}
}
action_config {
- config_name: "c-compile"
- action_name: "c-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"
}
action_config {
@@ -918,8 +917,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -932,8 +931,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -946,83 +945,122 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "/usr/bin/ar"
}
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
+ 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: "objc-compile"
- action_name: "objc-compile"
+ 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"
- execution_requirement: "requires-darwin"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "x86_64"
- }
+ 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: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
+ 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: "objc_arc"
- implies: "no_objc_arc"
implies: "apple_env"
}
action_config {
- config_name: "objc++-compile"
- action_name: "objc++-compile"
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "DUMMY_TOOL"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "x86_64"
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
- }
+ 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: "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: "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: "assemble"
- action_name: "assemble"
+ 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"
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 {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -1035,36 +1073,43 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
+ config_name: "objc++-compile"
+ action_name: "objc++-compile"
tool {
- tool_path: "libtool"
+ tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
+ flag: "-arch"
flag: "x86_64"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
}
+ 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"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
+ }
+ flag_group {
flag: "-arch"
flag: "x86_64"
}
@@ -1114,17 +1159,59 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "objc-archive"
+ action_name: "objc-archive"
tool {
- tool_path: "wrapped_clang_pp"
+ 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-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"
+ }
+ 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"
@@ -1175,106 +1262,6 @@ 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 {
@@ -1303,6 +1290,20 @@ 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 {
@@ -1401,6 +1402,7 @@ 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"
@@ -1414,174 +1416,225 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "fastbuild"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "compile_all_modules"
- }
- feature {
- name: "exclude_private_headers_in_module_maps"
- }
- feature {
- name: "has_configured_linker_path"
+ 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}"
+ }
+ }
}
feature {
- name: "only_doth_headers_in_module_maps"
+ name: "apply_default_compiler_flags"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-DOS_IOS"
+ }
+ }
}
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: "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"
+ }
+ }
}
feature {
- name: "strip_debug_symbols"
+ name: "apply_implicit_frameworks"
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: "-framework Foundation"
+ flag: "-framework UIKit"
}
}
}
feature {
- name: "symbol_counts"
+ name: "apply_simulator_compiler_flags"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fexceptions"
+ flag: "-fasm-blocks"
+ flag: "-fobjc-abi-version=2"
+ flag: "-fobjc-legacy-dispatch"
}
- expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "shared_flag"
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-fembed-bitcode"
}
}
}
feature {
- name: "linkstamps"
+ name: "bitcode_embedded_markers"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fembed-bitcode-marker"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "output_execpath_flags"
+ name: "cc_archiver_flags"
flag_set {
- 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: "-o"
+ flag: "rcs"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "output_execpath_flags_executable"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "coverage"
flag_set {
- action: "c++-link-executable"
+ 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: "-o"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- 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: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-fprofile-instr-generate"
}
- 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: "%{output_execpath}"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
- expand_if_all_available: "output_execpath"
+ }
+ requires {
+ feature: "opt"
}
}
feature {
- name: "global_whole_archive_open"
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "fastbuild"
+ }
+ feature {
+ name: "force_pic_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"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "-pie"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "framework_paths"
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: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "rcs"
- flag: "%{output_execpath}"
+ flag: "-F%{framework_paths}"
}
- expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "runtime_root_flags"
+ name: "gcc_coverage_map_format"
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: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
- 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"
@@ -1590,21 +1643,31 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "global_whole_archive"
}
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "include_system_dirs"
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: "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: "%{runtime_root_entries}"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -1771,395 +1834,332 @@ toolchain {
}
}
feature {
- name: "force_pic_flags"
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-pie"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "legacy_link_flags"
}
}
feature {
- name: "pch"
+ name: "linker_param_file"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ 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"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "use_objc_modules"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "no_enable_modules"
+ name: "llvm_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
}
requires {
- feature: "use_objc_modules"
+ feature: "run_coverage"
}
}
feature {
- name: "apply_default_warnings"
+ name: "module_maps"
+ }
+ feature {
+ name: "no_enable_modules"
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"
+ flag: "-fmodule-maps"
}
}
+ requires {
+ feature: "use_objc_modules"
+ }
}
feature {
- name: "preprocessor_defines"
+ name: "no_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: "-fno-objc-arc"
}
+ expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "framework_paths"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- flag_group {
- flag: "-F%{framework_paths}"
- }
- }
+ 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: "coverage"
+ 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: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fobjc-arc"
}
+ 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: "-fprofile-instr-generate"
+ flag: "-o"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
}
feature {
- name: "apply_default_compiler_flags"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-DOS_IOS"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
- }
- 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"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- }
- feature {
- name: "bitcode_embedded"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "pch"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- flag_group {
- flag: "-fembed-bitcode-marker"
- }
- }
- }
- feature {
- name: "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: "-fobjc-arc"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "objc_arc"
}
}
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: "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"
+ name: "run_coverage"
+ }
+ feature {
+ name: "runtime_root_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"
- 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}"
+ flag_group {
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ 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: "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: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "runtime_root_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: "@%{linker_param_file}"
+ flag: "%{runtime_root_entries}"
}
- expand_if_all_available: "linker_param_file"
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
- name: "version_min"
+ name: "shared_flag"
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: "-mios-simulator-version-min=%{version_min}"
+ flag: "-shared"
}
}
}
feature {
- name: "dead_strip"
+ 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: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
- requires {
- feature: "opt"
- }
}
feature {
- name: "run_coverage"
- }
- feature {
- name: "llvm_coverage_map_format"
+ name: "symbol_counts"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
- }
- requires {
- feature: "run_coverage"
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "use_objc_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
}
- requires {
- feature: "run_coverage"
- }
}
feature {
- name: "apply_implicit_frameworks"
+ name: "version_min"
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: "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: "-fexceptions"
- flag: "-fasm-blocks"
- flag: "-fobjc-abi-version=2"
- flag: "-fobjc-legacy-dispatch"
+ flag: "-mios-simulator-version-min=%{version_min}"
}
}
}
action_config {
- config_name: "c-compile"
- action_name: "c-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"
}
action_config {
@@ -2177,8 +2177,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -2191,8 +2191,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -2205,8 +2205,108 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ 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"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -2219,29 +2319,18 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ config_name: "c-compile"
+ action_name: "c-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"
@@ -2270,61 +2359,17 @@ toolchain {
implies: "apply_simulator_compiler_flags"
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
- tool {
- 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"
+ 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: "x86_64"
- 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-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "x86_64"
@@ -2375,17 +2420,60 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "objc-archive"
+ action_name: "objc-archive"
tool {
- tool_path: "wrapped_clang_pp"
+ 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-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-executable"
+ action_name: "objc-executable"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ flag_set {
flag_group {
flag: "-arch"
flag: "x86_64"
@@ -2436,106 +2524,6 @@ 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 {
@@ -2564,6 +2552,20 @@ 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 {
@@ -2662,6 +2664,7 @@ 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"
@@ -2675,174 +2678,225 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "fastbuild"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "compile_all_modules"
- }
- feature {
- name: "exclude_private_headers_in_module_maps"
- }
- feature {
- name: "has_configured_linker_path"
+ 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}"
+ }
+ }
}
feature {
- name: "only_doth_headers_in_module_maps"
+ name: "apply_default_compiler_flags"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-DOS_IOS"
+ }
+ }
}
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: "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"
+ }
+ }
}
feature {
- name: "strip_debug_symbols"
+ name: "apply_implicit_frameworks"
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: "-framework Foundation"
+ flag: "-framework UIKit"
}
}
}
feature {
- name: "symbol_counts"
+ name: "apply_simulator_compiler_flags"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fexceptions"
+ flag: "-fasm-blocks"
+ flag: "-fobjc-abi-version=2"
+ flag: "-fobjc-legacy-dispatch"
}
- expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "shared_flag"
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-fembed-bitcode"
}
}
}
feature {
- name: "linkstamps"
+ name: "bitcode_embedded_markers"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fembed-bitcode-marker"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "output_execpath_flags"
+ name: "cc_archiver_flags"
flag_set {
- 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: "-o"
+ flag: "rcs"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "output_execpath_flags_executable"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "coverage"
flag_set {
- action: "c++-link-executable"
+ 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: "-o"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- 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: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-fprofile-instr-generate"
}
- 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: "%{output_execpath}"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
- expand_if_all_available: "output_execpath"
+ }
+ requires {
+ feature: "opt"
}
}
feature {
- name: "global_whole_archive_open"
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "fastbuild"
+ }
+ feature {
+ name: "force_pic_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"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "-pie"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "framework_paths"
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: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "rcs"
- flag: "%{output_execpath}"
+ flag: "-F%{framework_paths}"
}
- expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "runtime_root_flags"
+ name: "gcc_coverage_map_format"
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: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
- 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"
@@ -2851,21 +2905,33 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "global_whole_archive"
}
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "include_system_dirs"
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: "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: "%{runtime_root_entries}"
+ flag: "-isysroot %{sdk_dir}"
+ flag: "-F%{sdk_framework_dir}"
+ flag: "-F%{platform_developer_framework_dir}"
}
- expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -3032,397 +3098,332 @@ toolchain {
}
}
feature {
- name: "force_pic_flags"
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-pie"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "legacy_link_flags"
}
}
feature {
- name: "pch"
+ name: "linker_param_file"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ 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"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "use_objc_modules"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "no_enable_modules"
+ name: "llvm_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
}
requires {
- feature: "use_objc_modules"
+ feature: "run_coverage"
}
}
feature {
- name: "apply_default_warnings"
+ name: "module_maps"
+ }
+ feature {
+ name: "no_enable_modules"
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"
+ flag: "-fmodule-maps"
}
}
+ requires {
+ feature: "use_objc_modules"
+ }
}
feature {
- name: "preprocessor_defines"
+ name: "no_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: "-fno-objc-arc"
}
+ expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "framework_paths"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- flag_group {
- flag: "-F%{framework_paths}"
- }
- }
+ 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: "coverage"
+ 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: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fobjc-arc"
}
+ 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: "-fprofile-instr-generate"
+ flag: "-o"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
}
feature {
- name: "apply_default_compiler_flags"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-DOS_IOS"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
- }
- 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"
flag_group {
- flag: "-isysroot %{sdk_dir}"
- flag: "-F%{sdk_framework_dir}"
- flag: "-F%{platform_developer_framework_dir}"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- }
- feature {
- name: "bitcode_embedded"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "pch"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- flag_group {
- flag: "-fembed-bitcode-marker"
- }
- }
- }
- feature {
- name: "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: "-fobjc-arc"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "objc_arc"
}
}
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: "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"
+ name: "run_coverage"
+ }
+ feature {
+ name: "runtime_root_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"
- 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}"
+ flag_group {
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ 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: "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: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "runtime_root_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: "@%{linker_param_file}"
+ flag: "%{runtime_root_entries}"
}
- expand_if_all_available: "linker_param_file"
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
- name: "version_min"
+ name: "shared_flag"
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-simulator-version-min=%{version_min}"
+ flag: "-shared"
}
}
}
feature {
- name: "dead_strip"
+ 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: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
- requires {
- feature: "opt"
- }
}
feature {
- name: "run_coverage"
- }
- feature {
- name: "llvm_coverage_map_format"
+ name: "symbol_counts"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
- }
- requires {
- feature: "run_coverage"
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "use_objc_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
}
- requires {
- feature: "run_coverage"
- }
}
feature {
- name: "apply_implicit_frameworks"
+ name: "version_min"
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: "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: "-fexceptions"
- flag: "-fasm-blocks"
- flag: "-fobjc-abi-version=2"
- flag: "-fobjc-legacy-dispatch"
+ flag: "-mwatchos-simulator-version-min=%{version_min}"
}
}
}
action_config {
- config_name: "c-compile"
- action_name: "c-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"
}
action_config {
@@ -3440,8 +3441,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -3454,8 +3455,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -3468,8 +3469,108 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ 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"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -3482,29 +3583,18 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ config_name: "c-compile"
+ action_name: "c-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"
@@ -3533,61 +3623,17 @@ toolchain {
implies: "apply_simulator_compiler_flags"
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
- tool {
- 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"
+ 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-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "i386"
@@ -3638,17 +3684,60 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "objc-archive"
+ action_name: "objc-archive"
tool {
- tool_path: "wrapped_clang_pp"
+ 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-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"
@@ -3699,106 +3788,6 @@ 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 {
@@ -3827,6 +3816,20 @@ 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 {
@@ -3906,6 +3909,10 @@ toolchain {
compiler_flag: "-DDEBUG"
}
compilation_mode_flags {
+ mode: DBG
+ compiler_flag: "-g"
+ }
+ compilation_mode_flags {
mode: OPT
compiler_flag: "-g0"
compiler_flag: "-O2"
@@ -3915,10 +3922,6 @@ toolchain {
compiler_flag: "-fdata-sections"
compiler_flag: "-DNS_BLOCK_ASSERTIONS=1"
}
- compilation_mode_flags {
- mode: DBG
- compiler_flag: "-g"
- }
linking_mode_flags {
mode: DYNAMIC
}
@@ -3926,6 +3929,7 @@ 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"
@@ -3939,186 +3943,239 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "fastbuild"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "compile_all_modules"
- }
- feature {
- name: "exclude_private_headers_in_module_maps"
- }
- feature {
- name: "has_configured_linker_path"
+ 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}"
+ }
+ }
}
feature {
- name: "only_doth_headers_in_module_maps"
+ name: "apply_default_compiler_flags"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-DOS_TVOS"
+ }
+ }
}
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: "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"
+ }
+ }
}
feature {
- name: "strip_debug_symbols"
+ name: "apply_implicit_frameworks"
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: "-framework Foundation"
+ flag: "-framework UIKit"
}
}
}
feature {
- name: "symbol_counts"
+ name: "apply_simulator_compiler_flags"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fexceptions"
+ flag: "-fasm-blocks"
+ flag: "-fobjc-abi-version=2"
+ flag: "-fobjc-legacy-dispatch"
}
- expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "shared_flag"
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-fembed-bitcode"
}
}
}
feature {
- name: "linkstamps"
+ name: "bitcode_embedded_markers"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fembed-bitcode-marker"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "output_execpath_flags"
+ name: "cc_archiver_flags"
flag_set {
- 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: "-o"
+ flag: "rcs"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "output_execpath_flags_executable"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "coverage"
flag_set {
- action: "c++-link-executable"
+ 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: "-o"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- 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: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-fprofile-instr-generate"
}
- expand_if_all_available: "skip_mostly_static"
- 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: "%{output_execpath}"
+ flag: "-lc++"
+ flag: "-undefined"
+ flag: "dynamic_lookup"
+ flag: "-target"
+ flag: "x86_64-apple-tvos"
}
- expand_if_all_available: "output_execpath"
}
}
feature {
- name: "global_whole_archive_open"
+ name: "dbg"
+ }
+ feature {
+ name: "dead_strip"
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: "-Wl,-all_load"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
- expand_if_all_available: "global_whole_archive"
+ }
+ requires {
+ feature: "opt"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "fastbuild"
+ }
+ feature {
+ name: "force_pic_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-executable"
flag_group {
- flag: "rcs"
- flag: "%{output_execpath}"
+ flag: "-pie"
}
- expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "runtime_root_flags"
+ name: "framework_paths"
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-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ flag: "-F%{framework_paths}"
}
- expand_if_all_available: "runtime_library_search_directories"
}
+ }
+ feature {
+ name: "gcc_coverage_map_format"
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: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
- expand_if_all_available: "runtime_root_flags"
}
+ requires {
+ feature: "run_coverage"
+ }
+ }
+ feature {
+ name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
@@ -4127,9 +4184,31 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_entries}"
+ flag: "-Wl,-all_load"
+ }
+ expand_if_all_available: "global_whole_archive"
+ }
+ }
+ 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"
+ flag_group {
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -4296,424 +4375,347 @@ toolchain {
}
}
feature {
- name: "force_pic_flags"
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-pie"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "legacy_link_flags"
}
}
feature {
- name: "pch"
+ name: "linker_param_file"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ 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"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "use_objc_modules"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "no_enable_modules"
+ name: "llvm_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
}
requires {
- feature: "use_objc_modules"
+ feature: "run_coverage"
}
}
feature {
- name: "apply_default_warnings"
+ name: "module_maps"
+ }
+ feature {
+ name: "no_enable_modules"
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"
+ flag: "-fmodule-maps"
}
}
+ requires {
+ feature: "use_objc_modules"
+ }
}
feature {
- name: "preprocessor_defines"
+ name: "no_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: "-fno-objc-arc"
}
+ expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "framework_paths"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- flag_group {
- flag: "-F%{framework_paths}"
- }
- }
+ 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: "coverage"
+ 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: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fobjc-arc"
}
+ 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: "-fprofile-instr-generate"
+ flag: "-o"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
}
feature {
- name: "apply_default_compiler_flags"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-DOS_TVOS"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
- }
- 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"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- }
- feature {
- name: "bitcode_embedded"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "pch"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- flag_group {
- flag: "-fembed-bitcode-marker"
- }
- }
- }
- feature {
- name: "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: "-fobjc-arc"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "objc_arc"
}
}
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: "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"
+ name: "run_coverage"
+ }
+ feature {
+ name: "runtime_root_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"
- 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}"
+ flag_group {
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ 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: "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: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "runtime_root_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: "@%{linker_param_file}"
+ flag: "%{runtime_root_entries}"
}
- expand_if_all_available: "linker_param_file"
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
- name: "version_min"
+ name: "shared_flag"
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: "-mtvos-simulator-version-min=%{version_min}"
+ flag: "-shared"
}
}
}
feature {
- name: "dead_strip"
+ 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: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
- requires {
- feature: "opt"
- }
}
feature {
- name: "run_coverage"
- }
- feature {
- name: "llvm_coverage_map_format"
+ name: "symbol_counts"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
- }
- requires {
- feature: "run_coverage"
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "unfiltered_cxx_flags"
flag_set {
action: "c-compile"
action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
- }
- }
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "apply_implicit_frameworks"
- flag_set {
- action: "objc-executable"
- action: "objc++-executable"
+ action: "c++-module-compile"
+ action: "c++-header-parsing"
+ action: "assemble"
+ action: "preprocess-assemble"
flag_group {
- flag: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-no-canonical-prefixes"
+ flag: "-pthread"
}
}
}
feature {
- name: "apply_simulator_compiler_flags"
+ name: "use_objc_modules"
flag_set {
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fexceptions"
- flag: "-fasm-blocks"
- flag: "-fobjc-abi-version=2"
- flag: "-fobjc-legacy-dispatch"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
}
}
feature {
- name: "unfiltered_cxx_flags"
+ 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++-module-compile"
action: "c++-header-parsing"
- action: "assemble"
- action: "preprocess-assemble"
- flag_group {
- flag: "-no-canonical-prefixes"
- flag: "-pthread"
- }
- }
- }
- feature {
- name: "cpp_linker_flags"
- flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "c++-header-preprocessing"
+ action: "c++-module-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-lc++"
- flag: "-undefined"
- flag: "dynamic_lookup"
- flag: "-target"
- flag: "x86_64-apple-tvos"
+ flag: "-mtvos-simulator-version-min=%{version_min}"
}
}
}
action_config {
- config_name: "c-compile"
- action_name: "c-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"
}
@@ -4733,8 +4735,8 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -4748,8 +4750,8 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -4763,87 +4765,125 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "/usr/bin/ar"
}
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
implies: "apple_env"
- implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ 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"
- execution_requirement: "requires-darwin"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "x86_64"
- }
+ 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: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
+ 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: "objc_arc"
- implies: "no_objc_arc"
implies: "apple_env"
- implies: "apply_simulator_compiler_flags"
+ implies: "cpp_linker_flags"
}
action_config {
- config_name: "objc++-compile"
- action_name: "objc++-compile"
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "DUMMY_TOOL"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "x86_64"
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
- }
+ 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: "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: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
implies: "apple_env"
- implies: "apply_simulator_compiler_flags"
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
+ 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"
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: "preprocess-assemble"
- action_name: "preprocess-assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -4857,36 +4897,44 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
+ config_name: "objc++-compile"
+ action_name: "objc++-compile"
tool {
- tool_path: "libtool"
+ tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
+ flag: "-arch"
flag: "x86_64"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
}
+ 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"
+ 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: "-stdlib=libc++"
+ flag: "-std=gnu++11"
+ }
+ flag_group {
flag: "-arch"
flag: "x86_64"
}
@@ -4936,17 +4984,60 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "objc-archive"
+ action_name: "objc-archive"
tool {
- tool_path: "wrapped_clang_pp"
+ 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-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-executable"
+ action_name: "objc-executable"
+ tool {
+ tool_path: "wrapped_clang"
+ execution_requirement: "requires-darwin"
+ }
+ flag_set {
flag_group {
flag: "-arch"
flag: "x86_64"
@@ -4997,108 +5088,6 @@ 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 {
@@ -5127,6 +5116,21 @@ 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 {
@@ -5225,6 +5229,7 @@ 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"
@@ -5238,174 +5243,225 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "fastbuild"
- }
- feature {
- name: "opt"
- }
- feature {
- name: "dbg"
- }
- feature {
- name: "compile_all_modules"
- }
- feature {
- name: "exclude_private_headers_in_module_maps"
- }
- feature {
- name: "has_configured_linker_path"
+ 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}"
+ }
+ }
}
feature {
- name: "only_doth_headers_in_module_maps"
+ name: "apply_default_compiler_flags"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-DOS_IOS"
+ }
+ }
}
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: "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"
+ }
+ }
}
feature {
- name: "strip_debug_symbols"
+ name: "apply_implicit_frameworks"
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: "-framework Foundation"
+ flag: "-framework UIKit"
}
}
}
feature {
- name: "symbol_counts"
+ name: "apply_simulator_compiler_flags"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-fexceptions"
+ flag: "-fasm-blocks"
+ flag: "-fobjc-abi-version=2"
+ flag: "-fobjc-legacy-dispatch"
}
- expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "shared_flag"
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-fembed-bitcode"
}
}
}
feature {
- name: "linkstamps"
+ name: "bitcode_embedded_markers"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fembed-bitcode-marker"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "output_execpath_flags"
+ name: "cc_archiver_flags"
flag_set {
- 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: "-o"
+ flag: "rcs"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "output_execpath_flags_executable"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "coverage"
flag_set {
- action: "c++-link-executable"
+ 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: "-o"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- 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: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-fprofile-instr-generate"
}
- 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: "%{output_execpath}"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
- expand_if_all_available: "output_execpath"
+ }
+ requires {
+ feature: "opt"
}
}
feature {
- name: "global_whole_archive_open"
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "fastbuild"
+ }
+ feature {
+ name: "force_pic_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"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "-pie"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "framework_paths"
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: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "rcs"
- flag: "%{output_execpath}"
+ flag: "-F%{framework_paths}"
}
- expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "runtime_root_flags"
+ name: "gcc_coverage_map_format"
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: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
- 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"
@@ -5414,21 +5470,31 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "global_whole_archive"
}
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "include_system_dirs"
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: "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: "%{runtime_root_entries}"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -5595,395 +5661,332 @@ toolchain {
}
}
feature {
- name: "force_pic_flags"
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-pie"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "legacy_link_flags"
}
}
feature {
- name: "pch"
+ name: "linker_param_file"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ 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"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "use_objc_modules"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "no_enable_modules"
+ name: "llvm_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
}
requires {
- feature: "use_objc_modules"
+ feature: "run_coverage"
}
}
feature {
- name: "apply_default_warnings"
+ name: "module_maps"
+ }
+ feature {
+ name: "no_enable_modules"
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"
+ flag: "-fmodule-maps"
}
}
+ requires {
+ feature: "use_objc_modules"
+ }
}
feature {
- name: "preprocessor_defines"
+ name: "no_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: "-fno-objc-arc"
}
+ expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "framework_paths"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- flag_group {
- flag: "-F%{framework_paths}"
- }
- }
+ 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: "coverage"
+ 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: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fobjc-arc"
}
+ 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: "-fprofile-instr-generate"
+ flag: "-o"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
}
feature {
- name: "apply_default_compiler_flags"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-DOS_IOS"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
- }
- 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"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- }
- feature {
- name: "bitcode_embedded"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "pch"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- flag_group {
- flag: "-fembed-bitcode-marker"
- }
- }
- }
- feature {
- name: "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: "-fobjc-arc"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "objc_arc"
}
}
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: "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"
+ name: "run_coverage"
+ }
+ feature {
+ name: "runtime_root_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"
- 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}"
+ flag_group {
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ 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: "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: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "runtime_root_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: "@%{linker_param_file}"
+ flag: "%{runtime_root_entries}"
}
- expand_if_all_available: "linker_param_file"
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
- name: "version_min"
+ name: "shared_flag"
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: "-mios-simulator-version-min=%{version_min}"
+ flag: "-shared"
}
}
}
feature {
- name: "dead_strip"
+ 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: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
- requires {
- feature: "opt"
- }
- }
- feature {
- name: "run_coverage"
}
feature {
- name: "llvm_coverage_map_format"
+ name: "symbol_counts"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
- }
- requires {
- feature: "run_coverage"
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "use_objc_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
}
- requires {
- feature: "run_coverage"
- }
}
feature {
- name: "apply_implicit_frameworks"
+ name: "version_min"
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: "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: "-fexceptions"
- flag: "-fasm-blocks"
- flag: "-fobjc-abi-version=2"
- flag: "-fobjc-legacy-dispatch"
+ flag: "-mios-simulator-version-min=%{version_min}"
}
}
}
action_config {
- config_name: "c-compile"
- action_name: "c-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"
}
action_config {
@@ -6001,8 +6004,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -6015,8 +6018,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -6029,8 +6032,108 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ 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"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -6043,29 +6146,18 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ config_name: "c-compile"
+ action_name: "c-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"
@@ -6094,61 +6186,17 @@ toolchain {
implies: "apply_simulator_compiler_flags"
}
action_config {
- config_name: "assemble"
- action_name: "assemble"
- tool {
- 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"
+ 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-executable"
- action_name: "objc-executable"
- tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
- }
- flag_set {
flag_group {
flag: "-arch"
flag: "i386"
@@ -6199,17 +6247,60 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "objc-archive"
+ action_name: "objc-archive"
tool {
- tool_path: "wrapped_clang_pp"
+ 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-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"
@@ -6260,106 +6351,6 @@ 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 {
@@ -6388,6 +6379,20 @@ 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 {
@@ -6486,6 +6491,7 @@ 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"
@@ -6499,174 +6505,212 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "fastbuild"
- }
- feature {
- name: "opt"
- }
- feature {
- 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"
+ 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}"
+ }
+ }
}
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: "apply_default_compiler_flags"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-DOS_IOS"
+ }
+ }
}
feature {
- name: "strip_debug_symbols"
+ name: "apply_default_warnings"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ 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"
}
}
}
feature {
- name: "symbol_counts"
+ name: "apply_implicit_frameworks"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
}
- expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "shared_flag"
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-fembed-bitcode"
}
}
}
feature {
- name: "linkstamps"
+ name: "bitcode_embedded_markers"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fembed-bitcode-marker"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "output_execpath_flags"
+ name: "cc_archiver_flags"
flag_set {
- 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: "-o"
+ flag: "rcs"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "output_execpath_flags_executable"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "coverage"
flag_set {
- action: "c++-link-executable"
+ 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: "-o"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- 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: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-fprofile-instr-generate"
}
- 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: "%{output_execpath}"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
- expand_if_all_available: "output_execpath"
+ }
+ requires {
+ feature: "opt"
}
}
feature {
- name: "global_whole_archive_open"
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "fastbuild"
+ }
+ feature {
+ name: "force_pic_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"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "-pie"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "framework_paths"
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: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "rcs"
- flag: "%{output_execpath}"
+ flag: "-F%{framework_paths}"
}
- expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "runtime_root_flags"
+ name: "gcc_coverage_map_format"
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: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
- 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"
@@ -6675,21 +6719,31 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "global_whole_archive"
}
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "include_system_dirs"
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: "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: "%{runtime_root_entries}"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -6856,382 +6910,332 @@ toolchain {
}
}
feature {
- name: "force_pic_flags"
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-pie"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "legacy_link_flags"
}
}
feature {
- name: "pch"
+ name: "linker_param_file"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ 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"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "use_objc_modules"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "no_enable_modules"
+ name: "llvm_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
}
requires {
- feature: "use_objc_modules"
+ feature: "run_coverage"
}
}
feature {
- name: "apply_default_warnings"
+ name: "module_maps"
+ }
+ feature {
+ name: "no_enable_modules"
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"
+ flag: "-fmodule-maps"
}
}
+ requires {
+ feature: "use_objc_modules"
+ }
}
feature {
- name: "preprocessor_defines"
+ name: "no_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: "-fno-objc-arc"
}
+ expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "framework_paths"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- flag_group {
- flag: "-F%{framework_paths}"
- }
- }
+ 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: "coverage"
+ 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: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fobjc-arc"
}
+ 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: "-fprofile-instr-generate"
+ flag: "-o"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
}
feature {
- name: "apply_default_compiler_flags"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-DOS_IOS"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
- }
- 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"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- }
- feature {
- name: "bitcode_embedded"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "pch"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- flag_group {
- flag: "-fembed-bitcode-marker"
- }
- }
- }
- feature {
- name: "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: "-fobjc-arc"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "objc_arc"
}
}
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: "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"
+ name: "run_coverage"
+ }
+ feature {
+ name: "runtime_root_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"
- 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}"
+ flag_group {
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ 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: "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: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "runtime_root_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: "@%{linker_param_file}"
+ flag: "%{runtime_root_entries}"
}
- expand_if_all_available: "linker_param_file"
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
- name: "version_min"
+ name: "shared_flag"
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: "-shared"
}
}
}
feature {
- name: "dead_strip"
+ 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: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
- requires {
- feature: "opt"
- }
- }
- feature {
- name: "run_coverage"
}
feature {
- name: "llvm_coverage_map_format"
+ name: "symbol_counts"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
- }
- requires {
- feature: "run_coverage"
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "use_objc_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
}
- requires {
- feature: "run_coverage"
- }
}
feature {
- name: "apply_implicit_frameworks"
+ 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: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-miphoneos-version-min=%{version_min}"
}
}
}
action_config {
- config_name: "c-compile"
- action_name: "c-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"
}
action_config {
@@ -7249,8 +7253,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -7263,8 +7267,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -7277,83 +7281,122 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "/usr/bin/ar"
}
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
+ 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: "objc-compile"
- action_name: "objc-compile"
+ 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"
- execution_requirement: "requires-darwin"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "armv7"
- }
+ 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: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
+ 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: "objc_arc"
- implies: "no_objc_arc"
implies: "apple_env"
}
action_config {
- config_name: "objc++-compile"
- action_name: "objc++-compile"
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "DUMMY_TOOL"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "armv7"
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
- }
+ 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: "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: "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: "assemble"
- action_name: "assemble"
+ 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"
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 {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -7366,36 +7409,43 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
+ config_name: "objc++-compile"
+ action_name: "objc++-compile"
tool {
- tool_path: "libtool"
+ tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
+ flag: "-arch"
flag: "armv7"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
}
+ 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"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
+ }
+ flag_group {
flag: "-arch"
flag: "armv7"
}
@@ -7445,17 +7495,59 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "objc-archive"
+ action_name: "objc-archive"
tool {
- tool_path: "wrapped_clang_pp"
+ 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-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"
+ 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"
@@ -7506,106 +7598,6 @@ 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 {
@@ -7634,6 +7626,20 @@ 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 {
@@ -7732,6 +7738,7 @@ 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"
@@ -7745,174 +7752,212 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "fastbuild"
- }
- feature {
- name: "opt"
- }
- feature {
- 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"
+ 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}"
+ }
+ }
}
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: "apply_default_compiler_flags"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-DOS_IOS"
+ }
+ }
}
feature {
- name: "strip_debug_symbols"
+ name: "apply_default_warnings"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ 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"
}
}
}
feature {
- name: "symbol_counts"
+ name: "apply_implicit_frameworks"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
}
- expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "shared_flag"
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-fembed-bitcode"
}
}
}
feature {
- name: "linkstamps"
+ name: "bitcode_embedded_markers"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fembed-bitcode-marker"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "output_execpath_flags"
+ name: "cc_archiver_flags"
flag_set {
- 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: "-o"
+ flag: "rcs"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "output_execpath_flags_executable"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "coverage"
flag_set {
- action: "c++-link-executable"
+ 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: "-o"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- 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: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-fprofile-instr-generate"
}
- 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: "%{output_execpath}"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
- expand_if_all_available: "output_execpath"
+ }
+ requires {
+ feature: "opt"
}
}
feature {
- name: "global_whole_archive_open"
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "fastbuild"
+ }
+ feature {
+ name: "force_pic_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"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "-pie"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "framework_paths"
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: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "rcs"
- flag: "%{output_execpath}"
+ flag: "-F%{framework_paths}"
}
- expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "runtime_root_flags"
+ name: "gcc_coverage_map_format"
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: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
- 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"
@@ -7921,21 +7966,33 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "global_whole_archive"
}
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "include_system_dirs"
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: "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: "%{runtime_root_entries}"
+ flag: "-isysroot %{sdk_dir}"
+ flag: "-F%{sdk_framework_dir}"
+ flag: "-F%{platform_developer_framework_dir}"
}
- expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -8102,384 +8159,332 @@ toolchain {
}
}
feature {
- name: "force_pic_flags"
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-pie"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "legacy_link_flags"
}
}
feature {
- name: "pch"
+ name: "linker_param_file"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ 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"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "use_objc_modules"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "no_enable_modules"
+ name: "llvm_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
}
requires {
- feature: "use_objc_modules"
+ feature: "run_coverage"
}
}
feature {
- name: "apply_default_warnings"
+ name: "module_maps"
+ }
+ feature {
+ name: "no_enable_modules"
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"
+ flag: "-fmodule-maps"
}
}
+ requires {
+ feature: "use_objc_modules"
+ }
}
feature {
- name: "preprocessor_defines"
+ name: "no_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: "-fno-objc-arc"
}
+ expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "framework_paths"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- flag_group {
- flag: "-F%{framework_paths}"
- }
- }
+ 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: "coverage"
+ 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: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fobjc-arc"
}
+ 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: "-fprofile-instr-generate"
+ flag: "-o"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
}
feature {
- name: "apply_default_compiler_flags"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-DOS_IOS"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
- }
- 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"
flag_group {
- flag: "-isysroot %{sdk_dir}"
- flag: "-F%{sdk_framework_dir}"
- flag: "-F%{platform_developer_framework_dir}"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- }
- feature {
- name: "bitcode_embedded"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "pch"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- flag_group {
- flag: "-fembed-bitcode-marker"
- }
- }
- }
- feature {
- name: "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: "-fobjc-arc"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "objc_arc"
}
}
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: "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"
+ name: "run_coverage"
+ }
+ feature {
+ name: "runtime_root_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"
- 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}"
+ flag_group {
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ 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: "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: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "runtime_root_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: "@%{linker_param_file}"
+ flag: "%{runtime_root_entries}"
}
- expand_if_all_available: "linker_param_file"
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
- name: "version_min"
+ name: "shared_flag"
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: "-shared"
}
}
}
feature {
- name: "dead_strip"
+ 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: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
- requires {
- feature: "opt"
- }
}
feature {
- name: "run_coverage"
- }
- feature {
- name: "llvm_coverage_map_format"
+ name: "symbol_counts"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
- }
- requires {
- feature: "run_coverage"
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "use_objc_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
}
- requires {
- feature: "run_coverage"
- }
}
feature {
- name: "apply_implicit_frameworks"
+ 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: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-mwatchos-version-min=%{version_min}"
}
}
}
action_config {
- config_name: "c-compile"
- action_name: "c-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"
}
action_config {
@@ -8497,8 +8502,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -8511,8 +8516,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -8525,83 +8530,122 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "/usr/bin/ar"
}
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
+ 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: "objc-compile"
- action_name: "objc-compile"
+ 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"
- execution_requirement: "requires-darwin"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "armv7k"
- }
+ 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: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
+ 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: "objc_arc"
- implies: "no_objc_arc"
implies: "apple_env"
}
action_config {
- config_name: "objc++-compile"
- action_name: "objc++-compile"
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "DUMMY_TOOL"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "armv7k"
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
- }
+ 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: "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: "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: "assemble"
- action_name: "assemble"
+ 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"
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 {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -8614,36 +8658,43 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
+ config_name: "objc++-compile"
+ action_name: "objc++-compile"
tool {
- tool_path: "libtool"
+ tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
+ flag: "-arch"
flag: "armv7k"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
}
+ 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"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
+ }
+ flag_group {
flag: "-arch"
flag: "armv7k"
}
@@ -8693,17 +8744,59 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "objc-archive"
+ action_name: "objc-archive"
tool {
- tool_path: "wrapped_clang_pp"
+ 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-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"
@@ -8754,106 +8847,6 @@ 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 {
@@ -8882,6 +8875,20 @@ 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 {
@@ -8961,6 +8968,10 @@ toolchain {
compiler_flag: "-DDEBUG"
}
compilation_mode_flags {
+ mode: DBG
+ compiler_flag: "-g"
+ }
+ compilation_mode_flags {
mode: OPT
compiler_flag: "-g0"
compiler_flag: "-O2"
@@ -8970,10 +8981,6 @@ toolchain {
compiler_flag: "-fdata-sections"
compiler_flag: "-DNS_BLOCK_ASSERTIONS=1"
}
- compilation_mode_flags {
- mode: DBG
- compiler_flag: "-g"
- }
linking_mode_flags {
mode: DYNAMIC
}
@@ -8981,6 +8988,7 @@ 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"
@@ -8994,186 +9002,226 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "fastbuild"
- }
- feature {
- name: "opt"
- }
- feature {
- 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"
+ 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}"
+ }
+ }
}
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: "apply_default_compiler_flags"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-DOS_TVOS"
+ }
+ }
}
feature {
- name: "strip_debug_symbols"
+ name: "apply_default_warnings"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ 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"
}
}
}
feature {
- name: "symbol_counts"
+ name: "apply_implicit_frameworks"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
}
- expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "shared_flag"
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-fembed-bitcode"
}
}
}
feature {
- name: "linkstamps"
+ name: "bitcode_embedded_markers"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fembed-bitcode-marker"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "output_execpath_flags"
+ name: "cc_archiver_flags"
flag_set {
- 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: "-o"
+ flag: "rcs"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "output_execpath_flags_executable"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "coverage"
flag_set {
- action: "c++-link-executable"
+ 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: "-o"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- 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: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-fprofile-instr-generate"
}
- expand_if_all_available: "skip_mostly_static"
- 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: "%{output_execpath}"
+ flag: "-lc++"
+ flag: "-undefined"
+ flag: "dynamic_lookup"
+ flag: "-target"
+ flag: "arm64-apple-tvos"
}
- expand_if_all_available: "output_execpath"
}
}
feature {
- name: "global_whole_archive_open"
+ name: "dbg"
+ }
+ feature {
+ name: "dead_strip"
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: "-Wl,-all_load"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
- expand_if_all_available: "global_whole_archive"
+ }
+ requires {
+ feature: "opt"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "fastbuild"
+ }
+ feature {
+ name: "force_pic_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-executable"
flag_group {
- flag: "rcs"
- flag: "%{output_execpath}"
+ flag: "-pie"
}
- expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "runtime_root_flags"
+ name: "framework_paths"
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-compile"
+ action: "objc++-compile"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ flag: "-F%{framework_paths}"
}
- expand_if_all_available: "runtime_library_search_directories"
}
+ }
+ feature {
+ name: "gcc_coverage_map_format"
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: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
- expand_if_all_available: "runtime_root_flags"
}
+ requires {
+ feature: "run_coverage"
+ }
+ }
+ feature {
+ name: "global_whole_archive_open"
flag_set {
action: "c++-link-executable"
action: "c++-link-dynamic-library"
@@ -9182,9 +9230,31 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_entries}"
+ flag: "-Wl,-all_load"
+ }
+ expand_if_all_available: "global_whole_archive"
+ }
+ }
+ 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"
+ flag_group {
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -9351,368 +9421,287 @@ toolchain {
}
}
feature {
- name: "force_pic_flags"
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-pie"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "legacy_link_flags"
}
}
feature {
- name: "pch"
+ name: "linker_param_file"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ 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"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "use_objc_modules"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "no_enable_modules"
+ name: "llvm_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
}
requires {
- feature: "use_objc_modules"
+ feature: "run_coverage"
}
}
feature {
- name: "apply_default_warnings"
+ name: "module_maps"
+ }
+ feature {
+ name: "no_enable_modules"
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"
+ flag: "-fmodule-maps"
}
}
+ requires {
+ feature: "use_objc_modules"
+ }
}
feature {
- name: "preprocessor_defines"
+ name: "no_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: "-fno-objc-arc"
}
+ expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "framework_paths"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- flag_group {
- flag: "-F%{framework_paths}"
- }
- }
+ 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: "coverage"
+ 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: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fobjc-arc"
}
+ 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: "-fprofile-instr-generate"
+ flag: "-o"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
}
feature {
- name: "apply_default_compiler_flags"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-DOS_TVOS"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
- }
- 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"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- }
- feature {
- name: "bitcode_embedded"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "pch"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- flag_group {
- flag: "-fembed-bitcode-marker"
- }
- }
- }
- feature {
- name: "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: "-fobjc-arc"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "objc_arc"
}
}
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: "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"
+ name: "run_coverage"
+ }
+ feature {
+ name: "runtime_root_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"
- 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}"
+ flag_group {
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ 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: "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: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "runtime_root_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: "@%{linker_param_file}"
+ flag: "%{runtime_root_entries}"
}
- expand_if_all_available: "linker_param_file"
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
- name: "version_min"
+ name: "shared_flag"
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: "-mtvos-version-min=%{version_min}"
+ flag: "-shared"
}
}
}
feature {
- name: "dead_strip"
+ 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: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
- }
- }
- requires {
- feature: "opt"
- }
- }
- feature {
- name: "run_coverage"
- }
- feature {
- name: "llvm_coverage_map_format"
- flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
- }
- }
- requires {
- feature: "run_coverage"
- }
- }
- feature {
- name: "gcc_coverage_map_format"
- flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
- flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
- requires {
- feature: "run_coverage"
- }
}
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 {
@@ -9731,31 +9720,48 @@ toolchain {
}
}
feature {
- name: "cpp_linker_flags"
+ name: "use_objc_modules"
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}"
+ }
+ }
+ }
+ feature {
+ 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: "-lc++"
- flag: "-undefined"
- flag: "dynamic_lookup"
- flag: "-target"
- flag: "arm64-apple-tvos"
+ flag: "-mtvos-version-min=%{version_min}"
}
}
}
action_config {
- config_name: "c-compile"
- action_name: "c-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"
}
@@ -9775,8 +9781,8 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -9790,8 +9796,8 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -9805,85 +9811,125 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "/usr/bin/ar"
}
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
+ implies: "global_whole_archive_open"
+ implies: "runtime_root_flags"
+ implies: "cc_archiver_flags"
+ implies: "input_param_flags"
+ implies: "linker_param_file"
implies: "apple_env"
- implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "objc-compile"
- action_name: "objc-compile"
+ 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"
- execution_requirement: "requires-darwin"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "arm64"
- }
+ 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: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
+ 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: "objc_arc"
- implies: "no_objc_arc"
implies: "apple_env"
+ implies: "cpp_linker_flags"
}
action_config {
- config_name: "objc++-compile"
- action_name: "objc++-compile"
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "DUMMY_TOOL"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "arm64"
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
- }
+ 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: "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: "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: "assemble"
- action_name: "assemble"
+ 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"
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: "preprocess-assemble"
- action_name: "preprocess-assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -9897,36 +9943,43 @@ toolchain {
implies: "unfiltered_cxx_flags"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
+ config_name: "objc++-compile"
+ action_name: "objc++-compile"
tool {
- tool_path: "libtool"
+ tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
+ flag: "-arch"
flag: "arm64"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
}
+ 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"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
+ }
+ flag_group {
flag: "-arch"
flag: "arm64"
}
@@ -9976,17 +10029,59 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "objc-archive"
+ action_name: "objc-archive"
tool {
- tool_path: "wrapped_clang_pp"
+ 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-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"
+ 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"
@@ -10037,108 +10132,6 @@ 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 {
@@ -10167,6 +10160,21 @@ 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 {
@@ -10265,6 +10273,7 @@ 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"
@@ -10278,174 +10287,212 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "fastbuild"
- }
- feature {
- name: "opt"
- }
- feature {
- 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"
+ 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}"
+ }
+ }
}
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: "apply_default_compiler_flags"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-DOS_IOS"
+ }
+ }
}
feature {
- name: "strip_debug_symbols"
+ name: "apply_default_warnings"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ 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"
}
}
}
feature {
- name: "symbol_counts"
+ name: "apply_implicit_frameworks"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
}
- expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "shared_flag"
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-fembed-bitcode"
}
}
}
feature {
- name: "linkstamps"
+ name: "bitcode_embedded_markers"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fembed-bitcode-marker"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "output_execpath_flags"
+ name: "cc_archiver_flags"
flag_set {
- 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: "-o"
+ flag: "rcs"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "output_execpath_flags_executable"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "coverage"
flag_set {
- action: "c++-link-executable"
+ 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: "-o"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- 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: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-fprofile-instr-generate"
}
- 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: "%{output_execpath}"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
- expand_if_all_available: "output_execpath"
+ }
+ requires {
+ feature: "opt"
}
}
feature {
- name: "global_whole_archive_open"
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "fastbuild"
+ }
+ feature {
+ name: "force_pic_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"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "-pie"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "framework_paths"
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: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "rcs"
- flag: "%{output_execpath}"
+ flag: "-F%{framework_paths}"
}
- expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "runtime_root_flags"
+ name: "gcc_coverage_map_format"
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: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
- 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"
@@ -10454,21 +10501,31 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "global_whole_archive"
}
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "include_system_dirs"
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: "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: "%{runtime_root_entries}"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -10635,382 +10692,332 @@ toolchain {
}
}
feature {
- name: "force_pic_flags"
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-pie"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "legacy_link_flags"
}
}
feature {
- name: "pch"
+ name: "linker_param_file"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ 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"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "use_objc_modules"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "no_enable_modules"
+ name: "llvm_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
}
requires {
- feature: "use_objc_modules"
+ feature: "run_coverage"
}
}
feature {
- name: "apply_default_warnings"
+ name: "module_maps"
+ }
+ feature {
+ name: "no_enable_modules"
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"
+ flag: "-fmodule-maps"
}
}
+ requires {
+ feature: "use_objc_modules"
+ }
}
feature {
- name: "preprocessor_defines"
+ name: "no_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: "-fno-objc-arc"
}
+ expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "framework_paths"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- flag_group {
- flag: "-F%{framework_paths}"
- }
- }
+ 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: "coverage"
+ 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: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fobjc-arc"
}
+ 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: "-fprofile-instr-generate"
+ flag: "-o"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
}
feature {
- name: "apply_default_compiler_flags"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-DOS_IOS"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
- }
- 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"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- }
- feature {
- name: "bitcode_embedded"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "pch"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- flag_group {
- flag: "-fembed-bitcode-marker"
- }
- }
- }
- feature {
- name: "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: "-fobjc-arc"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "objc_arc"
}
}
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: "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"
+ name: "run_coverage"
+ }
+ feature {
+ name: "runtime_root_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"
- 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}"
+ flag_group {
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ 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: "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: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "runtime_root_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: "@%{linker_param_file}"
+ flag: "%{runtime_root_entries}"
}
- expand_if_all_available: "linker_param_file"
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
- name: "version_min"
+ name: "shared_flag"
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: "-shared"
}
}
}
feature {
- name: "dead_strip"
+ 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: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
- requires {
- feature: "opt"
- }
}
feature {
- name: "run_coverage"
- }
- feature {
- name: "llvm_coverage_map_format"
+ name: "symbol_counts"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
- }
- requires {
- feature: "run_coverage"
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "use_objc_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
}
- requires {
- feature: "run_coverage"
- }
}
feature {
- name: "apply_implicit_frameworks"
+ 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: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-miphoneos-version-min=%{version_min}"
}
}
}
action_config {
- config_name: "c-compile"
- action_name: "c-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"
}
action_config {
@@ -11028,8 +11035,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -11042,8 +11049,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -11056,83 +11063,122 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "/usr/bin/ar"
}
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
+ 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: "objc-compile"
- action_name: "objc-compile"
+ 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"
- execution_requirement: "requires-darwin"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "arm64"
- }
+ 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: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
+ 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: "objc_arc"
- implies: "no_objc_arc"
implies: "apple_env"
}
action_config {
- config_name: "objc++-compile"
- action_name: "objc++-compile"
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "DUMMY_TOOL"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "arm64"
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
- }
+ 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: "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: "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: "assemble"
- action_name: "assemble"
+ 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"
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 {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -11145,36 +11191,43 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
+ config_name: "objc++-compile"
+ action_name: "objc++-compile"
tool {
- tool_path: "libtool"
+ tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
+ flag: "-arch"
flag: "arm64"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
}
+ 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"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
+ }
+ flag_group {
flag: "-arch"
flag: "arm64"
}
@@ -11224,17 +11277,59 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "objc-archive"
+ action_name: "objc-archive"
tool {
- tool_path: "wrapped_clang_pp"
+ 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-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"
+ 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"
@@ -11285,106 +11380,6 @@ 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 {
@@ -11413,6 +11408,20 @@ 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 {
@@ -11491,6 +11500,10 @@ toolchain {
compiler_flag: "-DDEBUG"
}
compilation_mode_flags {
+ mode: DBG
+ compiler_flag: "-g"
+ }
+ compilation_mode_flags {
mode: OPT
compiler_flag: "-g0"
compiler_flag: "-O2"
@@ -11500,10 +11513,6 @@ toolchain {
compiler_flag: "-fdata-sections"
compiler_flag: "-DNS_BLOCK_ASSERTIONS=1"
}
- compilation_mode_flags {
- mode: DBG
- compiler_flag: "-g"
- }
linking_mode_flags {
mode: DYNAMIC
}
@@ -11514,6 +11523,7 @@ 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"
@@ -11530,174 +11540,212 @@ toolchain {
ar_flag: "-s"
ar_flag: "-o"
feature {
- name: "fastbuild"
- }
- feature {
- name: "opt"
- }
- feature {
- 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"
+ 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}"
+ }
+ }
}
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: "apply_default_compiler_flags"
+ flag_set {
+ action: "objc-compile"
+ action: "objc++-compile"
+ flag_group {
+ flag: "-DOS_IOS"
+ }
+ }
}
feature {
- name: "strip_debug_symbols"
+ name: "apply_default_warnings"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
- action: "c++-link-interface-dynamic-library"
- action: "objc-executable"
- action: "objc++-executable"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-S"
- expand_if_all_available: "strip_debug_symbols"
+ 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"
}
}
}
feature {
- name: "symbol_counts"
+ name: "apply_implicit_frameworks"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
+ flag: "-framework Foundation"
+ flag: "-framework UIKit"
}
- expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "shared_flag"
+ name: "bitcode_embedded"
flag_set {
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-shared"
+ flag: "-fembed-bitcode"
}
}
}
feature {
- name: "linkstamps"
+ name: "bitcode_embedded_markers"
flag_set {
- action: "c++-link-executable"
- action: "c++-link-dynamic-library"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "%{linkstamp_paths}"
+ flag: "-fembed-bitcode-marker"
}
- expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "output_execpath_flags"
+ name: "cc_archiver_flags"
flag_set {
- 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: "-o"
+ flag: "rcs"
flag: "%{output_execpath}"
}
expand_if_all_available: "output_execpath"
+ expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "output_execpath_flags_executable"
+ name: "compile_all_modules"
+ }
+ feature {
+ name: "coverage"
flag_set {
- action: "c++-link-executable"
+ 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: "-o"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
- 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: "/dev/null"
- flag: "-MMD"
- flag: "-MF"
+ flag: "-fprofile-instr-generate"
}
- 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: "%{output_execpath}"
+ flag: "--dead_strip"
+ flag: "--no_dead_strip_inits_and_terms"
}
- expand_if_all_available: "output_execpath"
+ }
+ requires {
+ feature: "opt"
}
}
feature {
- name: "global_whole_archive_open"
+ name: "exclude_private_headers_in_module_maps"
+ }
+ feature {
+ name: "fastbuild"
+ }
+ feature {
+ name: "force_pic_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"
flag_group {
- flag: "-Wl,-all_load"
+ flag: "-pie"
}
- expand_if_all_available: "global_whole_archive"
+ expand_if_all_available: "force_pic"
}
}
feature {
- name: "cc_archiver_flags"
+ name: "framework_paths"
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: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "rcs"
- flag: "%{output_execpath}"
+ flag: "-F%{framework_paths}"
}
- expand_if_all_available: "output_execpath"
- expand_if_all_available: "uses_action_configs_for_cc_archiver"
}
}
feature {
- name: "runtime_root_flags"
+ name: "gcc_coverage_map_format"
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: "c-compile"
+ action: "c++-compile"
+ action: "objc-compile"
+ action: "objc++-compile"
flag_group {
- flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
- iterate_over: "runtime_library_search_directories"
+ flag: "-fprofile-arcs"
+ flag: "-ftest-coverage"
}
- 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"
@@ -11706,21 +11754,31 @@ toolchain {
action: "c++-link-pic-static-library"
action: "c++-link-alwayslink-pic-static-library"
flag_group {
- flag: "%{runtime_root_flags}"
+ flag: "-Wl,-all_load"
}
- expand_if_all_available: "runtime_root_flags"
+ expand_if_all_available: "global_whole_archive"
}
+ }
+ feature {
+ name: "has_configured_linker_path"
+ }
+ feature {
+ name: "include_system_dirs"
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: "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: "%{runtime_root_entries}"
+ flag: "-isysroot %{sdk_dir}"
}
- expand_if_all_available: "runtime_root_entries"
}
}
feature {
@@ -11887,382 +11945,332 @@ toolchain {
}
}
feature {
- name: "force_pic_flags"
+ name: "legacy_link_flags"
flag_set {
action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ action: "objc-executable"
+ action: "objc++-executable"
flag_group {
- flag: "-pie"
+ flag: "%{legacy_link_flags}"
+ iterate_over: "legacy_link_flags"
}
- expand_if_all_available: "force_pic"
+ expand_if_all_available: "legacy_link_flags"
}
}
feature {
- name: "pch"
+ name: "linker_param_file"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "c-compile"
- action: "c++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-include"
- flag: "%{pch_file}"
+ 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"
}
}
feature {
- name: "module_maps"
- }
- feature {
- name: "use_objc_modules"
+ name: "linkstamps"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fmodule-name=%{module_name}"
- flag: "-iquote"
- flag: "%{module_maps_dir}"
- flag: "-fmodules-cache-path=%{modules_cache_path}"
+ flag: "%{linkstamp_paths}"
}
+ expand_if_all_available: "linkstamp_paths"
}
}
feature {
- name: "no_enable_modules"
+ name: "llvm_coverage_map_format"
flag_set {
+ action: "c-compile"
+ action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fmodule-maps"
+ flag: "-fprofile-instr-generate"
+ flag: "-fcoverage-mapping"
}
}
requires {
- feature: "use_objc_modules"
+ feature: "run_coverage"
}
}
feature {
- name: "apply_default_warnings"
+ name: "module_maps"
+ }
+ feature {
+ name: "no_enable_modules"
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"
+ flag: "-fmodule-maps"
}
}
+ requires {
+ feature: "use_objc_modules"
+ }
}
feature {
- name: "preprocessor_defines"
+ name: "no_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: "-fno-objc-arc"
}
+ expand_if_all_available: "no_objc_arc"
}
}
feature {
- name: "framework_paths"
- flag_set {
- action: "objc-compile"
- action: "objc++-compile"
- action: "objc-executable"
- action: "objc++-executable"
- flag_group {
- flag: "-F%{framework_paths}"
- }
- }
+ 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: "coverage"
+ 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: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-fobjc-arc"
}
+ 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: "-fprofile-instr-generate"
+ flag: "-o"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
- provides: "profile"
}
feature {
- name: "apply_default_compiler_flags"
+ name: "output_execpath_flags_executable"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-DOS_IOS"
+ flag: "-o"
}
+ expand_if_all_available: "output_execpath"
}
- }
- 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"
flag_group {
- flag: "-isysroot %{sdk_dir}"
+ flag: "/dev/null"
+ flag: "-MMD"
+ flag: "-MF"
}
+ expand_if_all_available: "skip_mostly_static"
+ expand_if_all_available: "output_execpath"
}
- }
- feature {
- name: "bitcode_embedded"
flag_set {
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
flag_group {
- flag: "-fembed-bitcode"
+ flag: "%{output_execpath}"
}
+ expand_if_all_available: "output_execpath"
}
}
feature {
- name: "bitcode_embedded_markers"
+ name: "pch"
flag_set {
action: "objc-compile"
action: "objc++-compile"
- flag_group {
- flag: "-fembed-bitcode-marker"
- }
- }
- }
- feature {
- name: "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: "-fobjc-arc"
+ flag: "-include"
+ flag: "%{pch_file}"
}
- expand_if_all_available: "objc_arc"
}
}
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: "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"
+ name: "run_coverage"
+ }
+ feature {
+ name: "runtime_root_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"
- 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}"
+ flag_group {
+ flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}"
+ iterate_over: "runtime_library_search_directories"
}
+ 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: "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: "%{legacy_link_flags}"
- iterate_over: "legacy_link_flags"
+ flag: "%{runtime_root_flags}"
}
- expand_if_all_available: "legacy_link_flags"
+ expand_if_all_available: "runtime_root_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: "@%{linker_param_file}"
+ flag: "%{runtime_root_entries}"
}
- expand_if_all_available: "linker_param_file"
+ expand_if_all_available: "runtime_root_entries"
}
}
feature {
- name: "version_min"
+ name: "shared_flag"
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: "-shared"
}
}
}
feature {
- name: "dead_strip"
+ 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: "--dead_strip"
- flag: "--no_dead_strip_inits_and_terms"
+ flag: "-Wl,-S"
+ expand_if_all_available: "strip_debug_symbols"
}
}
- requires {
- feature: "opt"
- }
- }
- feature {
- name: "run_coverage"
}
feature {
- name: "llvm_coverage_map_format"
+ name: "symbol_counts"
flag_set {
- action: "c-compile"
- action: "c++-compile"
- action: "objc-compile"
- action: "objc++-compile"
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
flag_group {
- flag: "-fprofile-instr-generate"
- flag: "-fcoverage-mapping"
+ flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}"
}
- }
- requires {
- feature: "run_coverage"
+ expand_if_all_available: "symbol_counts_output"
}
}
feature {
- name: "gcc_coverage_map_format"
+ name: "use_objc_modules"
flag_set {
- action: "c-compile"
- action: "c++-compile"
action: "objc-compile"
action: "objc++-compile"
flag_group {
- flag: "-fprofile-arcs"
- flag: "-ftest-coverage"
+ flag: "-fmodule-name=%{module_name}"
+ flag: "-iquote"
+ flag: "%{module_maps_dir}"
+ flag: "-fmodules-cache-path=%{modules_cache_path}"
}
}
- requires {
- feature: "run_coverage"
- }
}
feature {
- name: "apply_implicit_frameworks"
+ 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: "-framework Foundation"
- flag: "-framework UIKit"
+ flag: "-m<platform_for_version_min>-version-min=%{version_min}"
}
}
}
action_config {
- config_name: "c-compile"
- action_name: "c-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"
}
action_config {
@@ -12280,8 +12288,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-module-compile"
- action_name: "c++-module-compile"
+ config_name: "c++-header-parsing"
+ action_name: "c++-header-parsing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -12294,8 +12302,8 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-parsing"
- action_name: "c++-header-parsing"
+ config_name: "c++-header-preprocessing"
+ action_name: "c++-header-preprocessing"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -12308,83 +12316,122 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "c++-header-preprocessing"
- action_name: "c++-header-preprocessing"
+ config_name: "c++-link-alwayslink-pic-static-library"
+ action_name: "c++-link-alwayslink-pic-static-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "/usr/bin/ar"
}
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
- implies: "version_min"
- implies: "objc_arc"
- implies: "no_objc_arc"
+ 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: "objc-compile"
- action_name: "objc-compile"
+ 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"
- execution_requirement: "requires-darwin"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "<architecture>"
- }
+ 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: "objc_actions"
- implies: "apply_default_compiler_flags"
- implies: "apply_default_warnings"
- implies: "framework_paths"
- implies: "preprocessor_defines"
- implies: "include_system_dirs"
+ 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: "objc_arc"
- implies: "no_objc_arc"
implies: "apple_env"
}
action_config {
- config_name: "objc++-compile"
- action_name: "objc++-compile"
+ config_name: "c++-link-interface-dynamic-library"
+ action_name: "c++-link-interface-dynamic-library"
tool {
- tool_path: "wrapped_clang"
- execution_requirement: "requires-darwin"
+ tool_path: "DUMMY_TOOL"
}
- flag_set {
- flag_group {
- flag: "-arch"
- flag: "<architecture>"
- flag: "-stdlib=libc++"
- flag: "-std=gnu++11"
- }
+ 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: "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: "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: "assemble"
- action_name: "assemble"
+ 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"
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 {
- config_name: "preprocess-assemble"
- action_name: "preprocess-assemble"
+ config_name: "c-compile"
+ action_name: "c-compile"
tool {
tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
@@ -12397,36 +12444,43 @@ toolchain {
implies: "apple_env"
}
action_config {
- config_name: "objc-archive"
- action_name: "objc-archive"
+ config_name: "objc++-compile"
+ action_name: "objc++-compile"
tool {
- tool_path: "libtool"
+ tool_path: "wrapped_clang"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
- flag: "-static"
- flag: "-filelist"
- flag: "%{obj_list_path}"
- flag: "-arch_only"
+ flag: "-arch"
flag: "<architecture>"
- flag: "-syslibroot"
- flag: "%{sdk_dir}"
- flag: "-o"
- flag: "%{archive_path}"
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
}
}
+ 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"
+ tool_path: "wrapped_clang_pp"
execution_requirement: "requires-darwin"
}
flag_set {
flag_group {
+ flag: "-stdlib=libc++"
+ flag: "-std=gnu++11"
+ }
+ flag_group {
flag: "-arch"
flag: "<architecture>"
}
@@ -12476,17 +12530,59 @@ toolchain {
implies: "apply_implicit_frameworks"
}
action_config {
- config_name: "objc++-executable"
- action_name: "objc++-executable"
+ config_name: "objc-archive"
+ action_name: "objc-archive"
tool {
- tool_path: "wrapped_clang_pp"
+ 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-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"
+ 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>"
@@ -12537,106 +12633,6 @@ 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 {
@@ -12665,5 +12661,19 @@ 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
deleted file mode 100644
index 5ee87c6173..0000000000
--- a/tools/osx/crosstool/osx_archs.bzl
+++ /dev/null
@@ -1,28 +0,0 @@
-"""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
deleted file mode 100644
index 3a523d2280..0000000000
--- a/tools/osx/crosstool/wrapped_clang.tpl
+++ /dev/null
@@ -1,10 +0,0 @@
-# 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
deleted file mode 100644
index 4afc7b056e..0000000000
--- a/tools/osx/crosstool/wrapped_clang_pp.tpl
+++ /dev/null
@@ -1,10 +0,0 @@
-# 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 7326e602a4..82833c07bf 100644
--- a/tools/osx/xcode_configure.bzl
+++ b/tools/osx/xcode_configure.bzl
@@ -89,30 +89,22 @@ def _xcode_version_output(repository_ctx, name, version, aliases, developer_dir)
VERSION_CONFIG_STUB = "xcode_config(name = 'host_xcodes')"
-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.
-
- This should only be invoked on a darwin OS, as xcode-locator cannot be built
- otherwise.
+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"
- 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))
+ xcodeloc_src_path = str(repository_ctx.path(Label(repository_ctx.attr.xcode_locator)))
xcrun_result = repository_ctx.execute(["env", "-i", "xcrun", "clang", "-fobjc-arc", "-framework",
"CoreServices", "-framework", "Foundation", "-o",
"xcode-locator-bin", xcodeloc_src_path], 30)
@@ -124,7 +116,8 @@ def run_xcode_locator(repository_ctx, xcode_locator_src_label):
code=xcrun_result.return_code,
err=xcrun_result.stderr,
out=xcrun_result.stdout)
- return (None, error_msg.replace("\n", " "))
+ print(error_msg)
+ return VERSION_CONFIG_STUB + "\n# Error: " + error_msg.replace("\n", " ") + "\n"
xcode_locator_result = repository_ctx.execute(["./xcode-locator-bin", "-v"], 30)
if (xcode_locator_result.return_code != 0):
@@ -134,58 +127,28 @@ def run_xcode_locator(repository_ctx, xcode_locator_src_label):
code=xcode_locator_result.return_code,
err=xcode_locator_result.stderr,
out=xcode_locator_result.stdout)
- 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)
+ print(error_msg)
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 = ""
- 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
+ # 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
buildcontents += "xcode_config(name = 'host_xcodes',"
if target_names:
buildcontents += "\n versions = [%s]," % ", ".join(target_names)