diff options
author | 2017-04-17 19:49:54 +0200 | |
---|---|---|
committer | 2017-04-18 11:32:37 +0200 | |
commit | 501b62716af12ba42c019bd9f231468b3c144757 (patch) | |
tree | f083fd3ab91d1b22395df97879b5e3c475eb9aeb /tools | |
parent | ed666fc2d54366fef2170d4451ae0ed9d0421e60 (diff) |
Basic open-source crosstool to support targetting apple platform types.
RELNOTES: None.
PiperOrigin-RevId: 153360877
Diffstat (limited to 'tools')
-rw-r--r-- | tools/cpp/cc_configure.bzl | 156 | ||||
-rwxr-xr-x | tools/objc/libtool.sh | 10 | ||||
-rw-r--r-- | tools/osx/crosstool/BUILD.tpl | 71 | ||||
-rw-r--r-- | tools/osx/crosstool/CROSSTOOL.tpl | 12663 | ||||
-rw-r--r-- | tools/osx/crosstool/osx_archs.bzl | 28 | ||||
-rw-r--r-- | tools/osx/crosstool/wrapped_clang.tpl | 10 | ||||
-rw-r--r-- | tools/osx/crosstool/wrapped_clang_pp.tpl | 10 |
7 files changed, 12872 insertions, 76 deletions
diff --git a/tools/cpp/cc_configure.bzl b/tools/cpp/cc_configure.bzl index 4e77db5e6b..525f82d99b 100644 --- a/tools/cpp/cc_configure.bzl +++ b/tools/cpp/cc_configure.bzl @@ -110,7 +110,7 @@ def _execute(repository_ctx, command, environment = None, return stripped_stdout -def _get_tool_paths(repository_ctx, darwin, cc): +def _get_tool_paths(repository_ctx, cc): """Compute the path to the various tools.""" return {k: _which(repository_ctx, k, "/usr/bin/" + k) for k in [ @@ -124,8 +124,7 @@ def _get_tool_paths(repository_ctx, darwin, cc): "strip", ]} + { "gcc": cc, - "ar": "/usr/bin/libtool" - if darwin else _which(repository_ctx, "ar", "/usr/bin/ar") + "ar": _which(repository_ctx, "ar", "/usr/bin/ar") } @@ -220,7 +219,7 @@ def _is_gold_supported(repository_ctx, cc): ]) return result.return_code == 0 -def _crosstool_content(repository_ctx, cc, cpu_value, darwin): +def _crosstool_content(repository_ctx, cc, cpu_value): """Return the content for the CROSSTOOL file, in a dictionary.""" supports_gold_linker = _is_gold_supported(repository_ctx, cc) return { @@ -236,7 +235,7 @@ def _crosstool_content(repository_ctx, cc, cpu_value, darwin): "supports_interface_shared_objects": False, "supports_normalizing_ar": False, "supports_start_end_lib": supports_gold_linker, - "target_libc": "macosx" if darwin else _get_env_var(repository_ctx, "BAZEL_TARGET_LIBC", "local", False), + "target_libc": _get_env_var(repository_ctx, "BAZEL_TARGET_LIBC", "local", False), "target_cpu": _get_env_var(repository_ctx, "BAZEL_TARGET_CPU", cpu_value, False), "target_system_name": _get_env_var(repository_ctx, "BAZEL_TARGET_SYSTEM", "local", False), "cxx_flag": [ @@ -252,24 +251,17 @@ def _crosstool_content(repository_ctx, cc, cpu_value, darwin): repository_ctx, cc, "-Wl,-no-as-needed" ) + _add_option_if_supported( repository_ctx, cc, "-Wl,-z,relro,-z,now" - ) + ( - [ - "-undefined", - "dynamic_lookup", - "-headerpad_max_install_names", - ] if darwin else [ - "-B" + str(repository_ctx.path(cc).dirname), - # Always have -B/usr/bin, see https://github.com/bazelbuild/bazel/issues/760. - "-B/usr/bin", - # Gold linker only? Can we enable this by default? - # "-Wl,--warn-execstack", - # "-Wl,--detect-odr-violations" - ] + _add_option_if_supported( - # Have gcc return the exit code from ld. - repository_ctx, cc, "-pass-exit-codes" - ) - ), - "ar_flag": ["-static", "-s", "-o"] if darwin else [], + ) + (["-B" + str(repository_ctx.path(cc).dirname), + # Always have -B/usr/bin, see https://github.com/bazelbuild/bazel/issues/760. + "-B/usr/bin", + # Gold linker only? Can we enable this by default? + # "-Wl,--warn-execstack", + # "-Wl,--detect-odr-violations" + ] + _add_option_if_supported( + # Have gcc return the exit code from ld. + repository_ctx, cc, "-pass-exit-codes") + ), + "ar_flag": [], "cxx_builtin_include_directory": _get_cxx_inc_directories(repository_ctx, cc), "objcopy_embed_flag": ["-I", "binary"], "unfiltered_cxx_flag": @@ -292,7 +284,7 @@ def _crosstool_content(repository_ctx, cc, cpu_value, darwin): # All warnings are enabled. Maybe enable -Werror as well? "-Wall", # Enable a few more warnings that aren't part of -Wall. - ] + (["-Wthread-safety", "-Wself-assign"] if darwin else [ + ] + ([ "-B" + str(repository_ctx.path(cc).dirname), # Always have -B/usr/bin, see https://github.com/bazelbuild/bazel/issues/760. "-B/usr/bin", @@ -350,7 +342,7 @@ def _get_windows_msys_crosstool_content(repository_ctx): ' tool_path { name: "objdump" path: "%susr/bin/objdump" }\n' % msys_root + ' tool_path { name: "strip" path: "%susr/bin/strip" }'% msys_root ) -def _opt_content(darwin): +def _opt_content(): """Return the content of the opt specific section of the CROSSTOOL file.""" return { "compiler_flag": [ @@ -376,7 +368,7 @@ def _opt_content(darwin): "-ffunction-sections", "-fdata-sections" ], - "linker_flag": [] if darwin else ["-Wl,--gc-sections"] + "linker_flag": ["-Wl,--gc-sections"] } @@ -628,23 +620,7 @@ def _get_env(repository_ctx): else: return "" -def _coverage_feature(darwin): - if darwin: - compile_flags = """flag_group { - flag: '-fprofile-instr-generate' - flag: '-fcoverage-mapping' - }""" - link_flags = """flag_group { - flag: '-fprofile-instr-generate' - }""" - else: - compile_flags = """flag_group { - flag: '-fprofile-arcs' - flag: '-ftest-coverage' - }""" - link_flags = """flag_group { - flag: '-lgcov' - }""" +def _coverage_feature(): return """ feature { name: 'coverage' @@ -656,13 +632,18 @@ def _coverage_feature(darwin): action: 'c++-header-parsing' action: 'c++-header-preprocessing' action: 'c++-module-compile' - """ + compile_flags + """ + flag_group { + flag: '-fprofile-arcs' + flag: '-ftest-coverage' + } } flag_set { action: 'c++-link-interface-dynamic-library' action: 'c++-link-dynamic-library' action: 'c++-link-executable' - """ + link_flags + """ + flag_group { + flag: '-lgcov' + } } } """ @@ -735,37 +716,62 @@ def _impl(repository_ctx): else: darwin = cpu_value == "darwin" cc = _find_cc(repository_ctx) - tool_paths = _get_tool_paths(repository_ctx, darwin, - "cc_wrapper.sh" if darwin else str(cc)) - crosstool_content = _crosstool_content(repository_ctx, cc, cpu_value, darwin) - opt_content = _opt_content(darwin) - dbg_content = _dbg_content() - _tpl(repository_ctx, "BUILD", { - "%{name}": cpu_value, - "%{supports_param_files}": "0" if darwin else "1", - "%{cc_compiler_deps}": ":cc_wrapper" if darwin else ":empty", - "%{compiler}": _get_env_var(repository_ctx, "BAZEL_COMPILER", "compiler", False), - }) _tpl(repository_ctx, - "osx_cc_wrapper.sh" if darwin else "linux_cc_wrapper.sh", - {"%{cc}": str(cc), "%{env}": _get_env(repository_ctx)}, - "cc_wrapper.sh") - _tpl(repository_ctx, "CROSSTOOL", { - "%{cpu}": cpu_value, - "%{default_toolchain_name}": _get_env_var(repository_ctx, "CC_TOOLCHAIN_NAME", "local", False), - "%{toolchain_name}": _get_env_var(repository_ctx, "CC_TOOLCHAIN_NAME", "local", False), - "%{content}": _build_crosstool(crosstool_content) + "\n" + - _build_tool_path(tool_paths), - "%{opt_content}": _build_crosstool(opt_content, " "), - "%{dbg_content}": _build_crosstool(dbg_content, " "), - "%{cxx_builtin_include_directory}": "", - "%{coverage}": _coverage_feature(darwin), - "%{msvc_env_tmp}": "", - "%{msvc_env_path}": "", - "%{msvc_env_include}": "", - "%{msvc_env_lib}": "", - }) - + "osx_cc_wrapper.sh" if darwin else "linux_cc_wrapper.sh", + {"%{cc}": str(cc), "%{env}": _get_env(repository_ctx)}, + "cc_wrapper.sh") + if darwin: + repository_ctx.symlink( + Label("@bazel_tools//tools/objc:xcrunwrapper.sh"), "xcrunwrapper.sh") + repository_ctx.symlink( + Label("@bazel_tools//tools/objc:libtool.sh"), "libtool") + repository_ctx.symlink( + Label("@bazel_tools//tools/objc:make_hashed_objlist.py"), + "make_hashed_objlist.py") + repository_ctx.symlink( + Label("@bazel_tools//tools/osx/crosstool:wrapped_clang.tpl"), + "wrapped_clang") + repository_ctx.symlink( + Label("@bazel_tools//tools/osx/crosstool:wrapped_clang_pp.tpl"), + "wrapped_clang_pp") + repository_ctx.symlink( + Label("@bazel_tools//tools/osx/crosstool:CROSSTOOL.tpl"), + "CROSSTOOL") + 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") + else: + tool_paths = _get_tool_paths(repository_ctx, str(cc)) + crosstool_content = _crosstool_content(repository_ctx, cc, cpu_value) + opt_content = _opt_content() + dbg_content = _dbg_content() + _tpl(repository_ctx, "BUILD", { + "%{name}": cpu_value, + "%{supports_param_files}": "1", + "%{cc_compiler_deps}": ":empty", + "%{compiler}": _get_env_var(repository_ctx, "BAZEL_COMPILER", "compiler", False), + }) + _tpl(repository_ctx, "CROSSTOOL", { + "%{cpu}": cpu_value, + "%{default_toolchain_name}": _get_env_var(repository_ctx, + "CC_TOOLCHAIN_NAME", + "local", + False), + "%{toolchain_name}": _get_env_var(repository_ctx, "CC_TOOLCHAIN_NAME", "local", False), + "%{content}": _build_crosstool(crosstool_content) + "\n" + + _build_tool_path(tool_paths), + "%{opt_content}": _build_crosstool(opt_content, " "), + "%{dbg_content}": _build_crosstool(dbg_content, " "), + "%{cxx_builtin_include_directory}": "", + "%{coverage}": _coverage_feature(), + "%{msvc_env_tmp}": "", + "%{msvc_env_path}": "", + "%{msvc_env_include}": "", + "%{msvc_env_lib}": "", + }) cc_autoconf = repository_rule( implementation=_impl, diff --git a/tools/objc/libtool.sh b/tools/objc/libtool.sh index 5ad89a019d..e1275758ea 100755 --- a/tools/objc/libtool.sh +++ b/tools/objc/libtool.sh @@ -23,7 +23,15 @@ set -eu -MY_LOCATION=${MY_LOCATION:-"$0.runfiles/bazel_tools/tools/objc"} +# A trick to allow invoking this script in multiple contexts. +if [ -z ${MY_LOCATION+x} ]; then + if [ -d "$0.runfiles/" ]; then + MY_LOCATION="$0.runfiles/bazel_tools/tools/objc" + else + MY_LOCATION="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + fi +fi + WRAPPER="${MY_LOCATION}/xcrunwrapper.sh" # Creates a symbolic link to the input argument file and returns the symlink diff --git a/tools/osx/crosstool/BUILD.tpl b/tools/osx/crosstool/BUILD.tpl new file mode 100644 index 0000000000..8f6ff4d2b4 --- /dev/null +++ b/tools/osx/crosstool/BUILD.tpl @@ -0,0 +1,71 @@ +package(default_visibility = ["//visibility:public"]) + +load(":osx_archs.bzl", "OSX_TOOLS_ARCHS") + +CC_TOOLCHAINS = [( + cpu + "|compiler", + ":cc-compiler-" + cpu, +) for cpu in OSX_TOOLS_ARCHS] + +cc_library( + name = "malloc", +) + +cc_library( + name = "stl", +) + +filegroup( + name = "empty", + srcs = [], +) + +filegroup( + name = "cc_wrapper", + srcs = ["cc_wrapper.sh"], +) + +sh_binary( + name = "wrapped_clang_sh", + srcs = ["wrapped_clang"], + data = [ + "@bazel_tools//tools/objc:xcrunwrapper", + ], + visibility = ["//visibility:public"], +) + +cc_toolchain_suite( + name = "toolchain", + toolchains = dict(CC_TOOLCHAINS), +) + +[ + filegroup( + name = "osx_tools_" + arch, + srcs = [ + ":cc_wrapper", + ":libtool", + ":make_hashed_objlist.py", + ":wrapped_clang", + ":xcrunwrapper.sh", + ], + ) + for arch in OSX_TOOLS_ARCHS +] + +[ + apple_cc_toolchain( + name = "cc-compiler-" + arch, + all_files = ":osx_tools_" + arch, + compiler_files = ":osx_tools_" + arch, + cpu = arch, + dwp_files = ":empty", + dynamic_runtime_libs = [":empty"], + linker_files = ":osx_tools_" + arch, + objcopy_files = ":empty", + static_runtime_libs = [":empty"], + strip_files = ":osx_tools_" + arch, + supports_param_files = 0, + ) + for arch in OSX_TOOLS_ARCHS +] diff --git a/tools/osx/crosstool/CROSSTOOL.tpl b/tools/osx/crosstool/CROSSTOOL.tpl new file mode 100644 index 0000000000..4bf5068adc --- /dev/null +++ b/tools/osx/crosstool/CROSSTOOL.tpl @@ -0,0 +1,12663 @@ +major_version: "1" +minor_version: "0" +default_target_cpu: "ios_x86_64" +default_toolchain { + cpu: "darwin" + toolchain_identifier: "darwin_x86_64" +} +default_toolchain { + cpu: "darwin_x86_64" + toolchain_identifier: "darwin_x86_64" +} +default_toolchain { + cpu: "k8" + toolchain_identifier: "darwin_x86_64" +} +default_toolchain { + cpu: "ios_x86_64" + toolchain_identifier: "ios_x86_64" +} +default_toolchain { + cpu: "ios_i386" + toolchain_identifier: "ios_i386" +} +default_toolchain { + cpu: "ios_armv7" + toolchain_identifier: "ios_armv7" +} +default_toolchain { + cpu: "ios_arm64" + toolchain_identifier: "ios_arm64" +} +default_toolchain { + cpu: "watchos_i386" + toolchain_identifier: "watchos_i386" +} +default_toolchain { + cpu: "watchos_armv7k" + toolchain_identifier: "watchos_armv7k" +} +default_toolchain { + cpu: "tvos_x86_64" + toolchain_identifier: "tvos_x86_64" +} +default_toolchain { + cpu: "tvos_arm64" + toolchain_identifier: "tvos_arm64" +} +default_toolchain { + cpu: "armeabi-v7a" + toolchain_identifier: "stub_armeabi-v7a" +} +toolchain { + toolchain_identifier: "darwin_x86_64" + host_system_name: "x86_64-apple-macosx" + target_system_name: "x86_64-apple-macosx" + target_cpu: "darwin_x86_64" + target_libc: "macosx" + compiler: "compiler" + abi_version: "darwin_x86_64" + abi_libc_version: "darwin_x86_64" + tool_path { + name: "ar" + path: "/usr/bin/libtool" + } + tool_path { + name: "compat-ld" + path: "/usr/bin/ld" + } + tool_path { + name: "cpp" + path: "/usr/bin/cpp" + } + tool_path { + name: "dwp" + path: "/usr/bin/dwp" + } + tool_path { + name: "gcc" + path: "cc_wrapper.sh" + } + tool_path { + name: "gcov" + path: "/usr/bin/gcov" + } + tool_path { + name: "ld" + path: "/usr/bin/ld" + } + tool_path { + name: "nm" + path: "/usr/bin/nm" + } + tool_path { + name: "objcopy" + path: "/usr/bin/objcopy" + } + tool_path { + name: "objdump" + path: "/usr/bin/objdump" + } + tool_path { + name: "strip" + path: "/usr/bin/strip" + } + needsPic: false + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-fstack-protector" + compiler_flag: "-fcolor-diagnostics" + compiler_flag: "-Wall" + compiler_flag: "-Wthread-safety" + compiler_flag: "-Wself-assign" + compiler_flag: "-fno-omit-frame-pointer" + cxx_flag: "-std=c++11" + linker_flag: "-undefined" + linker_flag: "dynamic_lookup" + linker_flag: "-headerpad_max_install_names" + linker_flag: "-no-canonical-prefixes" + objcopy_embed_flag: "-I" + objcopy_embed_flag: "binary" + compilation_mode_flags { + mode: FASTBUILD + compiler_flag: "-O0" + compiler_flag: "-DDEBUG" + } + compilation_mode_flags { + mode: OPT + compiler_flag: "-g0" + compiler_flag: "-O2" + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-DNDEBUG" + compiler_flag: "-ffunction-sections" + compiler_flag: "-fdata-sections" + } + compilation_mode_flags { + mode: DBG + compiler_flag: "-g" + } + linking_mode_flags { + mode: DYNAMIC + } + make_variable { + 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" + unfiltered_cxx_flag: "-D__DATE__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIME__=\"redacted\"" + default_python_version: "python2.7" + ar_flag: "-static" + ar_flag: "-s" + ar_flag: "-o" + feature { + name: "apple_env" + env_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + action: "objc-archive" + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + action: "objc-executable" + action: "objc++-executable" + env_entry { + key: "XCODE_VERSION_OVERRIDE" + value: "%{xcode_version_override_value}" + } + env_entry { + key: "APPLE_SDK_VERSION_OVERRIDE" + value: "%{apple_sdk_version_override_value}" + } + env_entry { + key: "APPLE_SDK_PLATFORM" + value: "%{apple_sdk_platform_value}" + } + } + } + feature { + name: "apply_default_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-DOS_MACOSX" + } + } + } + feature { + name: "apply_default_warnings" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-Wshorten-64-to-32" + flag: "-Wbool-conversion" + flag: "-Wconstant-conversion" + flag: "-Wduplicate-method-match" + flag: "-Wempty-body" + flag: "-Wenum-conversion" + flag: "-Wint-conversion" + flag: "-Wunreachable-code" + flag: "-Wmismatched-return-types" + flag: "-Wundeclared-selector" + flag: "-Wuninitialized" + flag: "-Wunused-function" + flag: "-Wunused-variable" + } + } + } + feature { + name: "apply_implicit_frameworks" + flag_set { + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-framework Foundation" + } + } + } + feature { + name: "bitcode_embedded" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode" + } + } + } + feature { + name: "bitcode_embedded_markers" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode-marker" + } + } + } + feature { + name: "cc_archiver_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" + flag_group { + flag: "rcs" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + expand_if_all_available: "uses_action_configs_for_cc_archiver" + } + } + feature { + name: "compile_all_modules" + } + feature { + name: "coverage" + flag_set { + action: "preprocess-assemble" + action: "c-compile" + action: "c++-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "c++-module-compile" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fprofile-instr-generate" + flag: "-fcoverage-mapping" + } + } + flag_set { + action: "c++-link-interface-dynamic-library" + action: "c++-link-dynamic-library" + action: "c++-link-executable" + flag_group { + flag: "-fprofile-instr-generate" + } + } + provides: "profile" + } + feature { + name: "dbg" + } + feature { + name: "dead_strip" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "--dead_strip" + flag: "--no_dead_strip_inits_and_terms" + } + } + requires { + feature: "opt" + } + } + feature { + name: "exclude_private_headers_in_module_maps" + } + feature { + name: "fastbuild" + } + feature { + name: "force_pic_flags" + flag_set { + action: "c++-link-executable" + flag_group { + flag: "-pie" + } + expand_if_all_available: "force_pic" + } + } + feature { + name: "framework_paths" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-F%{framework_paths}" + } + } + } + feature { + name: "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" + } + } + requires { + feature: "run_coverage" + } + } + feature { + name: "global_whole_archive_open" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "-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}" + } + } + } + feature { + name: "input_param_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: "-L%{library_search_directories}" + iterate_over: "library_search_directories" + } + expand_if_all_available: "library_search_directories" + } + 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: "%{libopts}" + } + expand_if_all_available: "libopts" + } + 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,-force_load,%{whole_archive_linker_params}" + } + expand_if_all_available: "whole_archive_linker_params" + } + 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: "%{linker_input_params}" + } + expand_if_all_available: "linker_input_params" + } + 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_group { + flag: "-Wl,--start-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.object_files}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.object_files}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + iterate_over: "libraries_to_link.object_files" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag: "-Wl,--end-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "interface_library" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "static_library" + } + } + flag_group { + flag_group { + flag: "-l%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "dynamic_library" + } + } + flag_group { + flag_group { + flag: "-l:%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l:%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "versioned_dynamic_library" + } + } + iterate_over: "libraries_to_link" + } + expand_if_all_available: "libraries_to_link" + } + } + feature { + name: "legacy_link_flags" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "%{legacy_link_flags}" + iterate_over: "legacy_link_flags" + } + expand_if_all_available: "legacy_link_flags" + } + } + feature { + name: "link_cocoa" + flag_set { + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-framework Cocoa" + } + } + } + feature { + name: "linker_param_file" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + flag_set { + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + } + feature { + name: "linkstamps" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "%{linkstamp_paths}" + } + expand_if_all_available: "linkstamp_paths" + } + } + 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: "module_maps" + } + feature { + name: "no_enable_modules" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fmodule-maps" + } + } + requires { + feature: "use_objc_modules" + } + } + feature { + name: "no_objc_arc" + flag_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fno-objc-arc" + } + expand_if_all_available: "no_objc_arc" + } + } + feature { + name: "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: "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" + } + 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-dynamic-library" + flag_group { + flag: "-o" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + } + } + feature { + name: "output_execpath_flags_executable" + flag_set { + action: "c++-link-executable" + flag_group { + 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: "pch" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "c-compile" + action: "c++-compile" + flag_group { + flag: "-include" + flag: "%{pch_file}" + } + } + } + feature { + name: "preprocessor_defines" + 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}" + } + } + } + feature { + 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" + flag_group { + flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}" + iterate_over: "runtime_library_search_directories" + } + expand_if_all_available: "runtime_library_search_directories" + } + 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: "%{runtime_root_flags}" + } + expand_if_all_available: "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" + flag_group { + flag: "%{runtime_root_entries}" + } + expand_if_all_available: "runtime_root_entries" + } + } + feature { + name: "shared_flag" + flag_set { + action: "c++-link-dynamic-library" + flag_group { + flag: "-shared" + } + } + } + feature { + name: "strip_debug_symbols" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-interface-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-Wl,-S" + expand_if_all_available: "strip_debug_symbols" + } + } + } + feature { + name: "symbol_counts" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}" + } + expand_if_all_available: "symbol_counts_output" + } + } + feature { + 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 { + } + } + } + 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: "c++-compile" + action_name: "c++-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c++-header-parsing" + action_name: "c++-header-parsing" + 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: "c++-header-preprocessing" + action_name: "c++-header-preprocessing" + 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: "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" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c-compile" + action_name: "c-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "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" + 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" + tool { + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-archive" + action_name: "objc-archive" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-filelist" + flag: "%{obj_list_path}" + flag: "-arch_only" + flag: "x86_64" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{archive_path}" + } + } + implies: "apple_env" + } + action_config { + config_name: "objc-compile" + action_name: "objc-compile" + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-fully-link" + action_name: "objc-fully-link" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-arch_only" + flag: "x86_64" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{fully_linked_archive_path}" + } + flag_group { + flag: "%{objc_library_exec_paths}" + } + flag_group { + flag: "%{cc_library_exec_paths}" + } + flag_group { + flag: "%{imported_library_exec_paths}" + } + } + 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 { + toolchain_identifier: "ios_x86_64" + host_system_name: "x86_64-apple-macosx" + target_system_name: "x86_64-apple-ios" + target_cpu: "ios_x86_64" + target_libc: "ios" + compiler: "compiler" + abi_version: "local" + abi_libc_version: "local" + tool_path { + name: "ar" + path: "/usr/bin/libtool" + } + tool_path { + name: "compat-ld" + path: "/usr/bin/ld" + } + tool_path { + name: "cpp" + path: "/usr/bin/cpp" + } + tool_path { + name: "dwp" + path: "/usr/bin/dwp" + } + tool_path { + name: "gcc" + path: "cc_wrapper.sh" + } + tool_path { + name: "gcov" + path: "/usr/bin/gcov" + } + tool_path { + name: "ld" + path: "/usr/bin/ld" + } + tool_path { + name: "nm" + path: "/usr/bin/nm" + } + tool_path { + name: "objcopy" + path: "/usr/bin/objcopy" + } + tool_path { + name: "objdump" + path: "/usr/bin/objdump" + } + tool_path { + name: "strip" + path: "/usr/bin/strip" + } + needsPic: false + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-fstack-protector" + compiler_flag: "-fcolor-diagnostics" + compiler_flag: "-Wall" + compiler_flag: "-Wthread-safety" + compiler_flag: "-Wself-assign" + compiler_flag: "-fno-omit-frame-pointer" + cxx_flag: "-std=c++11" + linker_flag: "-undefined" + linker_flag: "dynamic_lookup" + linker_flag: "-headerpad_max_install_names" + linker_flag: "-no-canonical-prefixes" + linker_flag: "-target" + linker_flag: "x86_64-apple-ios" + objcopy_embed_flag: "-I" + objcopy_embed_flag: "binary" + compilation_mode_flags { + mode: FASTBUILD + compiler_flag: "-O0" + compiler_flag: "-DDEBUG" + } + compilation_mode_flags { + mode: OPT + compiler_flag: "-g0" + compiler_flag: "-O2" + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-DNDEBUG" + compiler_flag: "-ffunction-sections" + compiler_flag: "-fdata-sections" + } + compilation_mode_flags { + mode: DBG + compiler_flag: "-g" + } + linking_mode_flags { + mode: DYNAMIC + } + make_variable { + 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" + unfiltered_cxx_flag: "-D__DATE__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIME__=\"redacted\"" + unfiltered_cxx_flag: "-target" + unfiltered_cxx_flag: "x86_64-apple-ios" + default_python_version: "python2.7" + ar_flag: "-static" + ar_flag: "-s" + ar_flag: "-o" + feature { + name: "apple_env" + env_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + action: "objc-archive" + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + action: "objc-executable" + action: "objc++-executable" + env_entry { + key: "XCODE_VERSION_OVERRIDE" + value: "%{xcode_version_override_value}" + } + env_entry { + key: "APPLE_SDK_VERSION_OVERRIDE" + value: "%{apple_sdk_version_override_value}" + } + env_entry { + key: "APPLE_SDK_PLATFORM" + value: "%{apple_sdk_platform_value}" + } + } + } + feature { + name: "apply_default_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-DOS_IOS" + } + } + } + feature { + name: "apply_default_warnings" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-Wshorten-64-to-32" + flag: "-Wbool-conversion" + flag: "-Wconstant-conversion" + flag: "-Wduplicate-method-match" + flag: "-Wempty-body" + flag: "-Wenum-conversion" + flag: "-Wint-conversion" + flag: "-Wunreachable-code" + flag: "-Wmismatched-return-types" + flag: "-Wundeclared-selector" + flag: "-Wuninitialized" + flag: "-Wunused-function" + flag: "-Wunused-variable" + } + } + } + feature { + name: "apply_implicit_frameworks" + flag_set { + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-framework Foundation" + flag: "-framework UIKit" + } + } + } + feature { + name: "apply_simulator_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fexceptions" + flag: "-fasm-blocks" + flag: "-fobjc-abi-version=2" + flag: "-fobjc-legacy-dispatch" + } + } + } + feature { + name: "bitcode_embedded" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode" + } + } + } + feature { + name: "bitcode_embedded_markers" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode-marker" + } + } + } + feature { + name: "cc_archiver_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" + flag_group { + flag: "rcs" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + expand_if_all_available: "uses_action_configs_for_cc_archiver" + } + } + feature { + name: "compile_all_modules" + } + feature { + name: "coverage" + flag_set { + action: "preprocess-assemble" + action: "c-compile" + action: "c++-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "c++-module-compile" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fprofile-instr-generate" + flag: "-fcoverage-mapping" + } + } + flag_set { + action: "c++-link-interface-dynamic-library" + action: "c++-link-dynamic-library" + action: "c++-link-executable" + flag_group { + flag: "-fprofile-instr-generate" + } + } + provides: "profile" + } + feature { + name: "dbg" + } + feature { + name: "dead_strip" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "--dead_strip" + flag: "--no_dead_strip_inits_and_terms" + } + } + requires { + feature: "opt" + } + } + feature { + name: "exclude_private_headers_in_module_maps" + } + feature { + name: "fastbuild" + } + feature { + name: "force_pic_flags" + flag_set { + action: "c++-link-executable" + flag_group { + flag: "-pie" + } + expand_if_all_available: "force_pic" + } + } + feature { + name: "framework_paths" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-F%{framework_paths}" + } + } + } + feature { + name: "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" + } + } + requires { + feature: "run_coverage" + } + } + feature { + name: "global_whole_archive_open" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "-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}" + } + } + } + feature { + name: "input_param_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: "-L%{library_search_directories}" + iterate_over: "library_search_directories" + } + expand_if_all_available: "library_search_directories" + } + 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: "%{libopts}" + } + expand_if_all_available: "libopts" + } + 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,-force_load,%{whole_archive_linker_params}" + } + expand_if_all_available: "whole_archive_linker_params" + } + 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: "%{linker_input_params}" + } + expand_if_all_available: "linker_input_params" + } + 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_group { + flag: "-Wl,--start-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.object_files}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.object_files}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + iterate_over: "libraries_to_link.object_files" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag: "-Wl,--end-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "interface_library" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "static_library" + } + } + flag_group { + flag_group { + flag: "-l%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "dynamic_library" + } + } + flag_group { + flag_group { + flag: "-l:%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l:%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "versioned_dynamic_library" + } + } + iterate_over: "libraries_to_link" + } + expand_if_all_available: "libraries_to_link" + } + } + feature { + name: "legacy_link_flags" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "%{legacy_link_flags}" + iterate_over: "legacy_link_flags" + } + expand_if_all_available: "legacy_link_flags" + } + } + feature { + name: "linker_param_file" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + flag_set { + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + } + feature { + name: "linkstamps" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "%{linkstamp_paths}" + } + expand_if_all_available: "linkstamp_paths" + } + } + 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: "module_maps" + } + feature { + name: "no_enable_modules" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fmodule-maps" + } + } + requires { + feature: "use_objc_modules" + } + } + feature { + name: "no_objc_arc" + flag_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fno-objc-arc" + } + expand_if_all_available: "no_objc_arc" + } + } + feature { + name: "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: "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" + } + 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-dynamic-library" + flag_group { + flag: "-o" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + } + } + feature { + name: "output_execpath_flags_executable" + flag_set { + action: "c++-link-executable" + flag_group { + 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: "pch" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "c-compile" + action: "c++-compile" + flag_group { + flag: "-include" + flag: "%{pch_file}" + } + } + } + feature { + name: "preprocessor_defines" + 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}" + } + } + } + feature { + 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" + flag_group { + flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}" + iterate_over: "runtime_library_search_directories" + } + expand_if_all_available: "runtime_library_search_directories" + } + 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: "%{runtime_root_flags}" + } + expand_if_all_available: "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" + flag_group { + flag: "%{runtime_root_entries}" + } + expand_if_all_available: "runtime_root_entries" + } + } + feature { + name: "shared_flag" + flag_set { + action: "c++-link-dynamic-library" + flag_group { + flag: "-shared" + } + } + } + feature { + name: "strip_debug_symbols" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-interface-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-Wl,-S" + expand_if_all_available: "strip_debug_symbols" + } + } + } + feature { + name: "symbol_counts" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}" + } + expand_if_all_available: "symbol_counts_output" + } + } + feature { + 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: "-mios-simulator-version-min=%{version_min}" + } + } + } + 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: "c++-compile" + action_name: "c++-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c++-header-parsing" + action_name: "c++-header-parsing" + 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: "c++-header-preprocessing" + action_name: "c++-header-preprocessing" + 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: "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" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c-compile" + action_name: "c-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "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" + 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" + tool { + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-archive" + action_name: "objc-archive" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-filelist" + flag: "%{obj_list_path}" + flag: "-arch_only" + flag: "x86_64" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{archive_path}" + } + } + implies: "apple_env" + } + action_config { + config_name: "objc-compile" + action_name: "objc-compile" + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-fully-link" + action_name: "objc-fully-link" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-arch_only" + flag: "x86_64" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{fully_linked_archive_path}" + } + flag_group { + flag: "%{objc_library_exec_paths}" + } + flag_group { + flag: "%{cc_library_exec_paths}" + } + flag_group { + flag: "%{imported_library_exec_paths}" + } + } + 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 { + toolchain_identifier: "watchos_i386" + host_system_name: "x86_64-apple-macosx" + target_system_name: "i386-apple-watchos" + target_cpu: "watchos_i386" + target_libc: "watchos" + compiler: "compiler" + abi_version: "local" + abi_libc_version: "local" + tool_path { + name: "ar" + path: "/usr/bin/libtool" + } + tool_path { + name: "compat-ld" + path: "/usr/bin/ld" + } + tool_path { + name: "cpp" + path: "/usr/bin/cpp" + } + tool_path { + name: "dwp" + path: "/usr/bin/dwp" + } + tool_path { + name: "gcc" + path: "cc_wrapper.sh" + } + tool_path { + name: "gcov" + path: "/usr/bin/gcov" + } + tool_path { + name: "ld" + path: "/usr/bin/ld" + } + tool_path { + name: "nm" + path: "/usr/bin/nm" + } + tool_path { + name: "objcopy" + path: "/usr/bin/objcopy" + } + tool_path { + name: "objdump" + path: "/usr/bin/objdump" + } + tool_path { + name: "strip" + path: "/usr/bin/strip" + } + needsPic: false + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-fstack-protector" + compiler_flag: "-fcolor-diagnostics" + compiler_flag: "-Wall" + compiler_flag: "-Wthread-safety" + compiler_flag: "-Wself-assign" + compiler_flag: "-fno-omit-frame-pointer" + cxx_flag: "-std=c++11" + linker_flag: "-undefined" + linker_flag: "dynamic_lookup" + linker_flag: "-headerpad_max_install_names" + linker_flag: "-no-canonical-prefixes" + linker_flag: "-target" + linker_flag: "i386-apple-ios" + objcopy_embed_flag: "-I" + objcopy_embed_flag: "binary" + compilation_mode_flags { + mode: FASTBUILD + compiler_flag: "-O0" + compiler_flag: "-DDEBUG" + } + compilation_mode_flags { + mode: OPT + compiler_flag: "-g0" + compiler_flag: "-O2" + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-DNDEBUG" + compiler_flag: "-ffunction-sections" + compiler_flag: "-fdata-sections" + } + compilation_mode_flags { + mode: DBG + compiler_flag: "-g" + } + linking_mode_flags { + mode: DYNAMIC + } + make_variable { + 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" + unfiltered_cxx_flag: "-D__DATE__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIME__=\"redacted\"" + unfiltered_cxx_flag: "-target" + unfiltered_cxx_flag: "i386-apple-watchos" + default_python_version: "python2.7" + ar_flag: "-static" + ar_flag: "-s" + ar_flag: "-o" + feature { + name: "apple_env" + env_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + action: "objc-archive" + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + action: "objc-executable" + action: "objc++-executable" + env_entry { + key: "XCODE_VERSION_OVERRIDE" + value: "%{xcode_version_override_value}" + } + env_entry { + key: "APPLE_SDK_VERSION_OVERRIDE" + value: "%{apple_sdk_version_override_value}" + } + env_entry { + key: "APPLE_SDK_PLATFORM" + value: "%{apple_sdk_platform_value}" + } + } + } + feature { + name: "apply_default_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-DOS_IOS" + } + } + } + feature { + name: "apply_default_warnings" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-Wshorten-64-to-32" + flag: "-Wbool-conversion" + flag: "-Wconstant-conversion" + flag: "-Wduplicate-method-match" + flag: "-Wempty-body" + flag: "-Wenum-conversion" + flag: "-Wint-conversion" + flag: "-Wunreachable-code" + flag: "-Wmismatched-return-types" + flag: "-Wundeclared-selector" + flag: "-Wuninitialized" + flag: "-Wunused-function" + flag: "-Wunused-variable" + } + } + } + feature { + name: "apply_implicit_frameworks" + flag_set { + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-framework Foundation" + flag: "-framework UIKit" + } + } + } + feature { + name: "apply_simulator_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fexceptions" + flag: "-fasm-blocks" + flag: "-fobjc-abi-version=2" + flag: "-fobjc-legacy-dispatch" + } + } + } + feature { + name: "bitcode_embedded" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode" + } + } + } + feature { + name: "bitcode_embedded_markers" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode-marker" + } + } + } + feature { + name: "cc_archiver_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" + flag_group { + flag: "rcs" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + expand_if_all_available: "uses_action_configs_for_cc_archiver" + } + } + feature { + name: "compile_all_modules" + } + feature { + name: "coverage" + flag_set { + action: "preprocess-assemble" + action: "c-compile" + action: "c++-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "c++-module-compile" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fprofile-instr-generate" + flag: "-fcoverage-mapping" + } + } + flag_set { + action: "c++-link-interface-dynamic-library" + action: "c++-link-dynamic-library" + action: "c++-link-executable" + flag_group { + flag: "-fprofile-instr-generate" + } + } + provides: "profile" + } + feature { + name: "dbg" + } + feature { + name: "dead_strip" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "--dead_strip" + flag: "--no_dead_strip_inits_and_terms" + } + } + requires { + feature: "opt" + } + } + feature { + name: "exclude_private_headers_in_module_maps" + } + feature { + name: "fastbuild" + } + feature { + name: "force_pic_flags" + flag_set { + action: "c++-link-executable" + flag_group { + flag: "-pie" + } + expand_if_all_available: "force_pic" + } + } + feature { + name: "framework_paths" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-F%{framework_paths}" + } + } + } + feature { + name: "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" + } + } + requires { + feature: "run_coverage" + } + } + feature { + name: "global_whole_archive_open" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "-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}" + flag: "-F%{sdk_framework_dir}" + flag: "-F%{platform_developer_framework_dir}" + } + } + } + feature { + name: "input_param_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: "-L%{library_search_directories}" + iterate_over: "library_search_directories" + } + expand_if_all_available: "library_search_directories" + } + 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: "%{libopts}" + } + expand_if_all_available: "libopts" + } + 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,-force_load,%{whole_archive_linker_params}" + } + expand_if_all_available: "whole_archive_linker_params" + } + 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: "%{linker_input_params}" + } + expand_if_all_available: "linker_input_params" + } + 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_group { + flag: "-Wl,--start-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.object_files}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.object_files}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + iterate_over: "libraries_to_link.object_files" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag: "-Wl,--end-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "interface_library" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "static_library" + } + } + flag_group { + flag_group { + flag: "-l%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "dynamic_library" + } + } + flag_group { + flag_group { + flag: "-l:%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l:%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "versioned_dynamic_library" + } + } + iterate_over: "libraries_to_link" + } + expand_if_all_available: "libraries_to_link" + } + } + feature { + name: "legacy_link_flags" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "%{legacy_link_flags}" + iterate_over: "legacy_link_flags" + } + expand_if_all_available: "legacy_link_flags" + } + } + feature { + name: "linker_param_file" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + flag_set { + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + } + feature { + name: "linkstamps" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "%{linkstamp_paths}" + } + expand_if_all_available: "linkstamp_paths" + } + } + 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: "module_maps" + } + feature { + name: "no_enable_modules" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fmodule-maps" + } + } + requires { + feature: "use_objc_modules" + } + } + feature { + name: "no_objc_arc" + flag_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fno-objc-arc" + } + expand_if_all_available: "no_objc_arc" + } + } + feature { + name: "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: "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" + } + 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-dynamic-library" + flag_group { + flag: "-o" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + } + } + feature { + name: "output_execpath_flags_executable" + flag_set { + action: "c++-link-executable" + flag_group { + 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: "pch" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "c-compile" + action: "c++-compile" + flag_group { + flag: "-include" + flag: "%{pch_file}" + } + } + } + feature { + name: "preprocessor_defines" + 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}" + } + } + } + feature { + 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" + flag_group { + flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}" + iterate_over: "runtime_library_search_directories" + } + expand_if_all_available: "runtime_library_search_directories" + } + 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: "%{runtime_root_flags}" + } + expand_if_all_available: "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" + flag_group { + flag: "%{runtime_root_entries}" + } + expand_if_all_available: "runtime_root_entries" + } + } + feature { + name: "shared_flag" + flag_set { + action: "c++-link-dynamic-library" + flag_group { + flag: "-shared" + } + } + } + feature { + name: "strip_debug_symbols" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-interface-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-Wl,-S" + expand_if_all_available: "strip_debug_symbols" + } + } + } + feature { + name: "symbol_counts" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}" + } + expand_if_all_available: "symbol_counts_output" + } + } + feature { + 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: "-mwatchos-simulator-version-min=%{version_min}" + } + } + } + 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: "c++-compile" + action_name: "c++-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c++-header-parsing" + action_name: "c++-header-parsing" + 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: "c++-header-preprocessing" + action_name: "c++-header-preprocessing" + 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: "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" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c-compile" + action_name: "c-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "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" + 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" + tool { + 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: "i386" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-archive" + action_name: "objc-archive" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-filelist" + flag: "%{obj_list_path}" + flag: "-arch_only" + flag: "i386" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{archive_path}" + } + } + implies: "apple_env" + } + action_config { + config_name: "objc-compile" + action_name: "objc-compile" + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-fully-link" + action_name: "objc-fully-link" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-arch_only" + flag: "i386" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{fully_linked_archive_path}" + } + flag_group { + flag: "%{objc_library_exec_paths}" + } + flag_group { + flag: "%{cc_library_exec_paths}" + } + flag_group { + flag: "%{imported_library_exec_paths}" + } + } + 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 { + toolchain_identifier: "tvos_x86_64" + host_system_name: "x86_64-apple-macosx" + target_system_name: "x86_64-apple-tvos" + target_cpu: "tvos_x86_64" + target_libc: "tvos" + compiler: "compiler" + abi_version: "local" + abi_libc_version: "local" + tool_path { + name: "ar" + path: "/usr/bin/libtool" + } + tool_path { + name: "compat-ld" + path: "/usr/bin/ld" + } + tool_path { + name: "cpp" + path: "/usr/bin/cpp" + } + tool_path { + name: "dwp" + path: "/usr/bin/dwp" + } + tool_path { + name: "gcc" + path: "cc_wrapper.sh" + } + tool_path { + name: "gcov" + path: "/usr/bin/gcov" + } + tool_path { + name: "ld" + path: "/usr/bin/ld" + } + tool_path { + name: "nm" + path: "/usr/bin/nm" + } + tool_path { + name: "objcopy" + path: "/usr/bin/objcopy" + } + tool_path { + name: "objdump" + path: "/usr/bin/objdump" + } + tool_path { + name: "strip" + path: "/usr/bin/strip" + } + needsPic: false + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-fstack-protector" + compiler_flag: "-fcolor-diagnostics" + compiler_flag: "-Wall" + compiler_flag: "-Wthread-safety" + compiler_flag: "-Wself-assign" + compiler_flag: "-fno-omit-frame-pointer" + cxx_flag: "-std=c++11" + linker_flag: "-undefined" + linker_flag: "dynamic_lookup" + linker_flag: "-headerpad_max_install_names" + linker_flag: "-no-canonical-prefixes" + linker_flag: "-target" + linker_flag: "x86_64-apple-tvos" + objcopy_embed_flag: "-I" + objcopy_embed_flag: "binary" + compilation_mode_flags { + mode: FASTBUILD + compiler_flag: "-O0" + compiler_flag: "-DDEBUG" + } + compilation_mode_flags { + mode: DBG + compiler_flag: "-g" + } + compilation_mode_flags { + mode: OPT + compiler_flag: "-g0" + compiler_flag: "-O2" + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-DNDEBUG" + compiler_flag: "-ffunction-sections" + compiler_flag: "-fdata-sections" + compiler_flag: "-DNS_BLOCK_ASSERTIONS=1" + } + linking_mode_flags { + mode: DYNAMIC + } + make_variable { + 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" + unfiltered_cxx_flag: "-D__DATE__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIME__=\"redacted\"" + unfiltered_cxx_flag: "-target" + unfiltered_cxx_flag: "x86_64-apple-tvos" + default_python_version: "python2.7" + ar_flag: "-static" + ar_flag: "-s" + ar_flag: "-o" + feature { + name: "apple_env" + env_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + action: "objc-archive" + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + action: "objc-executable" + action: "objc++-executable" + env_entry { + key: "XCODE_VERSION_OVERRIDE" + value: "%{xcode_version_override_value}" + } + env_entry { + key: "APPLE_SDK_VERSION_OVERRIDE" + value: "%{apple_sdk_version_override_value}" + } + env_entry { + key: "APPLE_SDK_PLATFORM" + value: "%{apple_sdk_platform_value}" + } + } + } + feature { + name: "apply_default_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-DOS_TVOS" + } + } + } + feature { + name: "apply_default_warnings" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-Wshorten-64-to-32" + flag: "-Wbool-conversion" + flag: "-Wconstant-conversion" + flag: "-Wduplicate-method-match" + flag: "-Wempty-body" + flag: "-Wenum-conversion" + flag: "-Wint-conversion" + flag: "-Wunreachable-code" + flag: "-Wmismatched-return-types" + flag: "-Wundeclared-selector" + flag: "-Wuninitialized" + flag: "-Wunused-function" + flag: "-Wunused-variable" + } + } + } + feature { + name: "apply_implicit_frameworks" + flag_set { + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-framework Foundation" + flag: "-framework UIKit" + } + } + } + feature { + name: "apply_simulator_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fexceptions" + flag: "-fasm-blocks" + flag: "-fobjc-abi-version=2" + flag: "-fobjc-legacy-dispatch" + } + } + } + feature { + name: "bitcode_embedded" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode" + } + } + } + feature { + name: "bitcode_embedded_markers" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode-marker" + } + } + } + feature { + name: "cc_archiver_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" + flag_group { + flag: "rcs" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + expand_if_all_available: "uses_action_configs_for_cc_archiver" + } + } + feature { + name: "compile_all_modules" + } + feature { + name: "coverage" + flag_set { + action: "preprocess-assemble" + action: "c-compile" + action: "c++-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "c++-module-compile" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fprofile-instr-generate" + flag: "-fcoverage-mapping" + } + } + flag_set { + action: "c++-link-interface-dynamic-library" + action: "c++-link-dynamic-library" + action: "c++-link-executable" + flag_group { + flag: "-fprofile-instr-generate" + } + } + provides: "profile" + } + feature { + name: "cpp_linker_flags" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-lc++" + flag: "-undefined" + flag: "dynamic_lookup" + flag: "-target" + flag: "x86_64-apple-tvos" + } + } + } + feature { + name: "dbg" + } + feature { + name: "dead_strip" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "--dead_strip" + flag: "--no_dead_strip_inits_and_terms" + } + } + requires { + feature: "opt" + } + } + feature { + name: "exclude_private_headers_in_module_maps" + } + feature { + name: "fastbuild" + } + feature { + name: "force_pic_flags" + flag_set { + action: "c++-link-executable" + flag_group { + flag: "-pie" + } + expand_if_all_available: "force_pic" + } + } + feature { + name: "framework_paths" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-F%{framework_paths}" + } + } + } + feature { + name: "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" + } + } + requires { + feature: "run_coverage" + } + } + feature { + name: "global_whole_archive_open" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "-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}" + } + } + } + feature { + name: "input_param_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: "-L%{library_search_directories}" + iterate_over: "library_search_directories" + } + expand_if_all_available: "library_search_directories" + } + 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: "%{libopts}" + } + expand_if_all_available: "libopts" + } + 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,-force_load,%{whole_archive_linker_params}" + } + expand_if_all_available: "whole_archive_linker_params" + } + 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: "%{linker_input_params}" + } + expand_if_all_available: "linker_input_params" + } + 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_group { + flag: "-Wl,--start-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.object_files}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.object_files}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + iterate_over: "libraries_to_link.object_files" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag: "-Wl,--end-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "interface_library" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "static_library" + } + } + flag_group { + flag_group { + flag: "-l%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "dynamic_library" + } + } + flag_group { + flag_group { + flag: "-l:%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l:%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "versioned_dynamic_library" + } + } + iterate_over: "libraries_to_link" + } + expand_if_all_available: "libraries_to_link" + } + } + feature { + name: "legacy_link_flags" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "%{legacy_link_flags}" + iterate_over: "legacy_link_flags" + } + expand_if_all_available: "legacy_link_flags" + } + } + feature { + name: "linker_param_file" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + flag_set { + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + } + feature { + name: "linkstamps" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "%{linkstamp_paths}" + } + expand_if_all_available: "linkstamp_paths" + } + } + 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: "module_maps" + } + feature { + name: "no_enable_modules" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fmodule-maps" + } + } + requires { + feature: "use_objc_modules" + } + } + feature { + name: "no_objc_arc" + flag_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fno-objc-arc" + } + expand_if_all_available: "no_objc_arc" + } + } + feature { + name: "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: "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" + } + 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-dynamic-library" + flag_group { + flag: "-o" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + } + } + feature { + name: "output_execpath_flags_executable" + flag_set { + action: "c++-link-executable" + flag_group { + 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: "pch" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "c-compile" + action: "c++-compile" + flag_group { + flag: "-include" + flag: "%{pch_file}" + } + } + } + feature { + name: "preprocessor_defines" + 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}" + } + } + } + feature { + 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" + flag_group { + flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}" + iterate_over: "runtime_library_search_directories" + } + expand_if_all_available: "runtime_library_search_directories" + } + 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: "%{runtime_root_flags}" + } + expand_if_all_available: "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" + flag_group { + flag: "%{runtime_root_entries}" + } + expand_if_all_available: "runtime_root_entries" + } + } + feature { + name: "shared_flag" + flag_set { + action: "c++-link-dynamic-library" + flag_group { + flag: "-shared" + } + } + } + feature { + name: "strip_debug_symbols" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-interface-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-Wl,-S" + expand_if_all_available: "strip_debug_symbols" + } + } + } + feature { + name: "symbol_counts" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}" + } + expand_if_all_available: "symbol_counts_output" + } + } + feature { + name: "unfiltered_cxx_flags" + flag_set { + 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: "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: "-mtvos-simulator-version-min=%{version_min}" + } + } + } + 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" + implies: "unfiltered_cxx_flags" + } + action_config { + config_name: "c++-compile" + action_name: "c++-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + implies: "unfiltered_cxx_flags" + } + action_config { + config_name: "c++-header-parsing" + action_name: "c++-header-parsing" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + implies: "unfiltered_cxx_flags" + } + action_config { + config_name: "c++-header-preprocessing" + action_name: "c++-header-preprocessing" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + implies: "unfiltered_cxx_flags" + } + action_config { + config_name: "c++-link-alwayslink-pic-static-library" + action_name: "c++-link-alwayslink-pic-static-library" + tool { + tool_path: "/usr/bin/ar" + } + implies: "global_whole_archive_open" + implies: "runtime_root_flags" + implies: "cc_archiver_flags" + implies: "input_param_flags" + implies: "linker_param_file" + implies: "apple_env" + } + action_config { + config_name: "c++-link-alwayslink-static-library" + action_name: "c++-link-alwayslink-static-library" + tool { + tool_path: "/usr/bin/ar" + } + implies: "global_whole_archive_open" + implies: "runtime_root_flags" + implies: "cc_archiver_flags" + implies: "input_param_flags" + implies: "linker_param_file" + implies: "apple_env" + } + action_config { + config_name: "c++-link-dynamic-library" + action_name: "c++-link-dynamic-library" + tool { + tool_path: "wrapped_clang" + } + implies: "has_configured_linker_path" + implies: "symbol_counts" + implies: "shared_flag" + implies: "linkstamps" + implies: "output_execpath_flags" + implies: "global_whole_archive_open" + implies: "runtime_root_flags" + implies: "input_param_flags" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "linker_param_file" + implies: "version_min" + implies: "apple_env" + implies: "cpp_linker_flags" + } + action_config { + config_name: "c++-link-executable" + action_name: "c++-link-executable" + tool { + tool_path: "DUMMY_TOOL" + } + implies: "symbol_counts" + implies: "linkstamps" + implies: "output_execpath_flags_executable" + implies: "global_whole_archive_open" + implies: "runtime_root_flags" + implies: "input_param_flags" + implies: "force_pic_flags" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "linker_param_file" + implies: "version_min" + implies: "apple_env" + implies: "cpp_linker_flags" + } + action_config { + config_name: "c++-link-interface-dynamic-library" + action_name: "c++-link-interface-dynamic-library" + tool { + tool_path: "DUMMY_TOOL" + } + implies: "strip_debug_symbols" + implies: "apple_env" + } + action_config { + config_name: "c++-link-pic-static-library" + action_name: "c++-link-pic-static-library" + tool { + tool_path: "/usr/bin/ar" + } + implies: "global_whole_archive_open" + implies: "runtime_root_flags" + implies: "cc_archiver_flags" + implies: "input_param_flags" + implies: "linker_param_file" + implies: "apple_env" + } + action_config { + config_name: "c++-link-static-library" + action_name: "c++-link-static-library" + tool { + tool_path: "/usr/bin/ar" + } + implies: "global_whole_archive_open" + implies: "runtime_root_flags" + implies: "cc_archiver_flags" + implies: "input_param_flags" + implies: "linker_param_file" + implies: "apple_env" + } + action_config { + config_name: "c++-module-compile" + action_name: "c++-module-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + implies: "unfiltered_cxx_flags" + } + action_config { + config_name: "c-compile" + action_name: "c-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + implies: "unfiltered_cxx_flags" + } + 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" + 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" + tool { + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-archive" + action_name: "objc-archive" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-filelist" + flag: "%{obj_list_path}" + flag: "-arch_only" + flag: "x86_64" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{archive_path}" + } + } + implies: "apple_env" + } + action_config { + config_name: "objc-compile" + action_name: "objc-compile" + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-fully-link" + action_name: "objc-fully-link" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-arch_only" + flag: "x86_64" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{fully_linked_archive_path}" + } + flag_group { + flag: "%{objc_library_exec_paths}" + } + flag_group { + flag: "%{cc_library_exec_paths}" + } + flag_group { + flag: "%{imported_library_exec_paths}" + } + } + 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 { + toolchain_identifier: "ios_i386" + host_system_name: "x86_64-apple-macosx" + target_system_name: "i386-apple-ios" + target_cpu: "ios_i386" + target_libc: "ios" + compiler: "compiler" + abi_version: "local" + abi_libc_version: "local" + tool_path { + name: "ar" + path: "/usr/bin/libtool" + } + tool_path { + name: "compat-ld" + path: "/usr/bin/ld" + } + tool_path { + name: "cpp" + path: "/usr/bin/cpp" + } + tool_path { + name: "dwp" + path: "/usr/bin/dwp" + } + tool_path { + name: "gcc" + path: "cc_wrapper.sh" + } + tool_path { + name: "gcov" + path: "/usr/bin/gcov" + } + tool_path { + name: "ld" + path: "/usr/bin/ld" + } + tool_path { + name: "nm" + path: "/usr/bin/nm" + } + tool_path { + name: "objcopy" + path: "/usr/bin/objcopy" + } + tool_path { + name: "objdump" + path: "/usr/bin/objdump" + } + tool_path { + name: "strip" + path: "/usr/bin/strip" + } + needsPic: false + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-fstack-protector" + compiler_flag: "-fcolor-diagnostics" + compiler_flag: "-Wall" + compiler_flag: "-Wthread-safety" + compiler_flag: "-Wself-assign" + compiler_flag: "-fno-omit-frame-pointer" + cxx_flag: "-std=c++11" + linker_flag: "-undefined" + linker_flag: "dynamic_lookup" + linker_flag: "-headerpad_max_install_names" + linker_flag: "-no-canonical-prefixes" + linker_flag: "-target" + linker_flag: "i386-apple-ios" + objcopy_embed_flag: "-I" + objcopy_embed_flag: "binary" + compilation_mode_flags { + mode: FASTBUILD + compiler_flag: "-O0" + compiler_flag: "-DDEBUG" + } + compilation_mode_flags { + mode: OPT + compiler_flag: "-g0" + compiler_flag: "-O2" + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-DNDEBUG" + compiler_flag: "-ffunction-sections" + compiler_flag: "-fdata-sections" + } + compilation_mode_flags { + mode: DBG + compiler_flag: "-g" + } + linking_mode_flags { + mode: DYNAMIC + } + make_variable { + 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" + unfiltered_cxx_flag: "-D__DATE__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIME__=\"redacted\"" + unfiltered_cxx_flag: "-target" + unfiltered_cxx_flag: "i386-apple-ios" + default_python_version: "python2.7" + ar_flag: "-static" + ar_flag: "-s" + ar_flag: "-o" + feature { + name: "apple_env" + env_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + action: "objc-archive" + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + action: "objc-executable" + action: "objc++-executable" + env_entry { + key: "XCODE_VERSION_OVERRIDE" + value: "%{xcode_version_override_value}" + } + env_entry { + key: "APPLE_SDK_VERSION_OVERRIDE" + value: "%{apple_sdk_version_override_value}" + } + env_entry { + key: "APPLE_SDK_PLATFORM" + value: "%{apple_sdk_platform_value}" + } + } + } + feature { + name: "apply_default_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-DOS_IOS" + } + } + } + feature { + name: "apply_default_warnings" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-Wshorten-64-to-32" + flag: "-Wbool-conversion" + flag: "-Wconstant-conversion" + flag: "-Wduplicate-method-match" + flag: "-Wempty-body" + flag: "-Wenum-conversion" + flag: "-Wint-conversion" + flag: "-Wunreachable-code" + flag: "-Wmismatched-return-types" + flag: "-Wundeclared-selector" + flag: "-Wuninitialized" + flag: "-Wunused-function" + flag: "-Wunused-variable" + } + } + } + feature { + name: "apply_implicit_frameworks" + flag_set { + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-framework Foundation" + flag: "-framework UIKit" + } + } + } + feature { + name: "apply_simulator_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fexceptions" + flag: "-fasm-blocks" + flag: "-fobjc-abi-version=2" + flag: "-fobjc-legacy-dispatch" + } + } + } + feature { + name: "bitcode_embedded" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode" + } + } + } + feature { + name: "bitcode_embedded_markers" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode-marker" + } + } + } + feature { + name: "cc_archiver_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" + flag_group { + flag: "rcs" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + expand_if_all_available: "uses_action_configs_for_cc_archiver" + } + } + feature { + name: "compile_all_modules" + } + feature { + name: "coverage" + flag_set { + action: "preprocess-assemble" + action: "c-compile" + action: "c++-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "c++-module-compile" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fprofile-instr-generate" + flag: "-fcoverage-mapping" + } + } + flag_set { + action: "c++-link-interface-dynamic-library" + action: "c++-link-dynamic-library" + action: "c++-link-executable" + flag_group { + flag: "-fprofile-instr-generate" + } + } + provides: "profile" + } + feature { + name: "dbg" + } + feature { + name: "dead_strip" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "--dead_strip" + flag: "--no_dead_strip_inits_and_terms" + } + } + requires { + feature: "opt" + } + } + feature { + name: "exclude_private_headers_in_module_maps" + } + feature { + name: "fastbuild" + } + feature { + name: "force_pic_flags" + flag_set { + action: "c++-link-executable" + flag_group { + flag: "-pie" + } + expand_if_all_available: "force_pic" + } + } + feature { + name: "framework_paths" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-F%{framework_paths}" + } + } + } + feature { + name: "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" + } + } + requires { + feature: "run_coverage" + } + } + feature { + name: "global_whole_archive_open" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "-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}" + } + } + } + feature { + name: "input_param_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: "-L%{library_search_directories}" + iterate_over: "library_search_directories" + } + expand_if_all_available: "library_search_directories" + } + 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: "%{libopts}" + } + expand_if_all_available: "libopts" + } + 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,-force_load,%{whole_archive_linker_params}" + } + expand_if_all_available: "whole_archive_linker_params" + } + 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: "%{linker_input_params}" + } + expand_if_all_available: "linker_input_params" + } + 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_group { + flag: "-Wl,--start-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.object_files}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.object_files}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + iterate_over: "libraries_to_link.object_files" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag: "-Wl,--end-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "interface_library" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "static_library" + } + } + flag_group { + flag_group { + flag: "-l%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "dynamic_library" + } + } + flag_group { + flag_group { + flag: "-l:%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l:%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "versioned_dynamic_library" + } + } + iterate_over: "libraries_to_link" + } + expand_if_all_available: "libraries_to_link" + } + } + feature { + name: "legacy_link_flags" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "%{legacy_link_flags}" + iterate_over: "legacy_link_flags" + } + expand_if_all_available: "legacy_link_flags" + } + } + feature { + name: "linker_param_file" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + flag_set { + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + } + feature { + name: "linkstamps" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "%{linkstamp_paths}" + } + expand_if_all_available: "linkstamp_paths" + } + } + 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: "module_maps" + } + feature { + name: "no_enable_modules" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fmodule-maps" + } + } + requires { + feature: "use_objc_modules" + } + } + feature { + name: "no_objc_arc" + flag_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fno-objc-arc" + } + expand_if_all_available: "no_objc_arc" + } + } + feature { + name: "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: "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" + } + 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-dynamic-library" + flag_group { + flag: "-o" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + } + } + feature { + name: "output_execpath_flags_executable" + flag_set { + action: "c++-link-executable" + flag_group { + 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: "pch" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "c-compile" + action: "c++-compile" + flag_group { + flag: "-include" + flag: "%{pch_file}" + } + } + } + feature { + name: "preprocessor_defines" + 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}" + } + } + } + feature { + 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" + flag_group { + flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}" + iterate_over: "runtime_library_search_directories" + } + expand_if_all_available: "runtime_library_search_directories" + } + 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: "%{runtime_root_flags}" + } + expand_if_all_available: "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" + flag_group { + flag: "%{runtime_root_entries}" + } + expand_if_all_available: "runtime_root_entries" + } + } + feature { + name: "shared_flag" + flag_set { + action: "c++-link-dynamic-library" + flag_group { + flag: "-shared" + } + } + } + feature { + name: "strip_debug_symbols" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-interface-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-Wl,-S" + expand_if_all_available: "strip_debug_symbols" + } + } + } + feature { + name: "symbol_counts" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}" + } + expand_if_all_available: "symbol_counts_output" + } + } + feature { + 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: "-mios-simulator-version-min=%{version_min}" + } + } + } + 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: "c++-compile" + action_name: "c++-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c++-header-parsing" + action_name: "c++-header-parsing" + 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: "c++-header-preprocessing" + action_name: "c++-header-preprocessing" + 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: "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" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c-compile" + action_name: "c-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "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" + 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" + tool { + 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: "i386" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-archive" + action_name: "objc-archive" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-filelist" + flag: "%{obj_list_path}" + flag: "-arch_only" + flag: "i386" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{archive_path}" + } + } + implies: "apple_env" + } + action_config { + config_name: "objc-compile" + action_name: "objc-compile" + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-fully-link" + action_name: "objc-fully-link" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-arch_only" + flag: "i386" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{fully_linked_archive_path}" + } + flag_group { + flag: "%{objc_library_exec_paths}" + } + flag_group { + flag: "%{cc_library_exec_paths}" + } + flag_group { + flag: "%{imported_library_exec_paths}" + } + } + 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 { + toolchain_identifier: "ios_armv7" + host_system_name: "x86_64-apple-macosx" + target_system_name: "armv7-apple-ios" + target_cpu: "ios_armv7" + target_libc: "ios" + compiler: "compiler" + abi_version: "local" + abi_libc_version: "local" + tool_path { + name: "ar" + path: "/usr/bin/libtool" + } + tool_path { + name: "compat-ld" + path: "/usr/bin/ld" + } + tool_path { + name: "cpp" + path: "/usr/bin/cpp" + } + tool_path { + name: "dwp" + path: "/usr/bin/dwp" + } + tool_path { + name: "gcc" + path: "cc_wrapper.sh" + } + tool_path { + name: "gcov" + path: "/usr/bin/gcov" + } + tool_path { + name: "ld" + path: "/usr/bin/ld" + } + tool_path { + name: "nm" + path: "/usr/bin/nm" + } + tool_path { + name: "objcopy" + path: "/usr/bin/objcopy" + } + tool_path { + name: "objdump" + path: "/usr/bin/objdump" + } + tool_path { + name: "strip" + path: "/usr/bin/strip" + } + needsPic: false + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-fstack-protector" + compiler_flag: "-fcolor-diagnostics" + compiler_flag: "-Wall" + compiler_flag: "-Wthread-safety" + compiler_flag: "-Wself-assign" + compiler_flag: "-fno-omit-frame-pointer" + cxx_flag: "-std=c++11" + linker_flag: "-undefined" + linker_flag: "dynamic_lookup" + linker_flag: "-headerpad_max_install_names" + linker_flag: "-no-canonical-prefixes" + linker_flag: "-target" + linker_flag: "armv7-apple-ios" + objcopy_embed_flag: "-I" + objcopy_embed_flag: "binary" + compilation_mode_flags { + mode: FASTBUILD + compiler_flag: "-O0" + compiler_flag: "-DDEBUG" + } + compilation_mode_flags { + mode: OPT + compiler_flag: "-g0" + compiler_flag: "-O2" + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-DNDEBUG" + compiler_flag: "-ffunction-sections" + compiler_flag: "-fdata-sections" + } + compilation_mode_flags { + mode: DBG + compiler_flag: "-g" + } + linking_mode_flags { + mode: DYNAMIC + } + make_variable { + 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" + unfiltered_cxx_flag: "-D__DATE__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIME__=\"redacted\"" + unfiltered_cxx_flag: "-target" + unfiltered_cxx_flag: "armv7-apple-ios" + default_python_version: "python2.7" + ar_flag: "-static" + ar_flag: "-s" + ar_flag: "-o" + feature { + name: "apple_env" + env_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + action: "objc-archive" + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + action: "objc-executable" + action: "objc++-executable" + env_entry { + key: "XCODE_VERSION_OVERRIDE" + value: "%{xcode_version_override_value}" + } + env_entry { + key: "APPLE_SDK_VERSION_OVERRIDE" + value: "%{apple_sdk_version_override_value}" + } + env_entry { + key: "APPLE_SDK_PLATFORM" + value: "%{apple_sdk_platform_value}" + } + } + } + feature { + name: "apply_default_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-DOS_IOS" + } + } + } + feature { + name: "apply_default_warnings" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-Wshorten-64-to-32" + flag: "-Wbool-conversion" + flag: "-Wconstant-conversion" + flag: "-Wduplicate-method-match" + flag: "-Wempty-body" + flag: "-Wenum-conversion" + flag: "-Wint-conversion" + flag: "-Wunreachable-code" + flag: "-Wmismatched-return-types" + flag: "-Wundeclared-selector" + flag: "-Wuninitialized" + flag: "-Wunused-function" + flag: "-Wunused-variable" + } + } + } + feature { + name: "apply_implicit_frameworks" + flag_set { + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-framework Foundation" + flag: "-framework UIKit" + } + } + } + feature { + name: "bitcode_embedded" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode" + } + } + } + feature { + name: "bitcode_embedded_markers" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode-marker" + } + } + } + feature { + name: "cc_archiver_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" + flag_group { + flag: "rcs" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + expand_if_all_available: "uses_action_configs_for_cc_archiver" + } + } + feature { + name: "compile_all_modules" + } + feature { + name: "coverage" + flag_set { + action: "preprocess-assemble" + action: "c-compile" + action: "c++-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "c++-module-compile" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fprofile-instr-generate" + flag: "-fcoverage-mapping" + } + } + flag_set { + action: "c++-link-interface-dynamic-library" + action: "c++-link-dynamic-library" + action: "c++-link-executable" + flag_group { + flag: "-fprofile-instr-generate" + } + } + provides: "profile" + } + feature { + name: "dbg" + } + feature { + name: "dead_strip" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "--dead_strip" + flag: "--no_dead_strip_inits_and_terms" + } + } + requires { + feature: "opt" + } + } + feature { + name: "exclude_private_headers_in_module_maps" + } + feature { + name: "fastbuild" + } + feature { + name: "force_pic_flags" + flag_set { + action: "c++-link-executable" + flag_group { + flag: "-pie" + } + expand_if_all_available: "force_pic" + } + } + feature { + name: "framework_paths" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-F%{framework_paths}" + } + } + } + feature { + name: "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" + } + } + requires { + feature: "run_coverage" + } + } + feature { + name: "global_whole_archive_open" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "-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}" + } + } + } + feature { + name: "input_param_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: "-L%{library_search_directories}" + iterate_over: "library_search_directories" + } + expand_if_all_available: "library_search_directories" + } + 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: "%{libopts}" + } + expand_if_all_available: "libopts" + } + 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,-force_load,%{whole_archive_linker_params}" + } + expand_if_all_available: "whole_archive_linker_params" + } + 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: "%{linker_input_params}" + } + expand_if_all_available: "linker_input_params" + } + 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_group { + flag: "-Wl,--start-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.object_files}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.object_files}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + iterate_over: "libraries_to_link.object_files" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag: "-Wl,--end-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "interface_library" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "static_library" + } + } + flag_group { + flag_group { + flag: "-l%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "dynamic_library" + } + } + flag_group { + flag_group { + flag: "-l:%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l:%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "versioned_dynamic_library" + } + } + iterate_over: "libraries_to_link" + } + expand_if_all_available: "libraries_to_link" + } + } + feature { + name: "legacy_link_flags" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "%{legacy_link_flags}" + iterate_over: "legacy_link_flags" + } + expand_if_all_available: "legacy_link_flags" + } + } + feature { + name: "linker_param_file" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + flag_set { + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + } + feature { + name: "linkstamps" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "%{linkstamp_paths}" + } + expand_if_all_available: "linkstamp_paths" + } + } + 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: "module_maps" + } + feature { + name: "no_enable_modules" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fmodule-maps" + } + } + requires { + feature: "use_objc_modules" + } + } + feature { + name: "no_objc_arc" + flag_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fno-objc-arc" + } + expand_if_all_available: "no_objc_arc" + } + } + feature { + name: "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: "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" + } + 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-dynamic-library" + flag_group { + flag: "-o" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + } + } + feature { + name: "output_execpath_flags_executable" + flag_set { + action: "c++-link-executable" + flag_group { + 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: "pch" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "c-compile" + action: "c++-compile" + flag_group { + flag: "-include" + flag: "%{pch_file}" + } + } + } + feature { + name: "preprocessor_defines" + 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}" + } + } + } + feature { + 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" + flag_group { + flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}" + iterate_over: "runtime_library_search_directories" + } + expand_if_all_available: "runtime_library_search_directories" + } + 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: "%{runtime_root_flags}" + } + expand_if_all_available: "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" + flag_group { + flag: "%{runtime_root_entries}" + } + expand_if_all_available: "runtime_root_entries" + } + } + feature { + name: "shared_flag" + flag_set { + action: "c++-link-dynamic-library" + flag_group { + flag: "-shared" + } + } + } + feature { + name: "strip_debug_symbols" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-interface-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-Wl,-S" + expand_if_all_available: "strip_debug_symbols" + } + } + } + feature { + name: "symbol_counts" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}" + } + expand_if_all_available: "symbol_counts_output" + } + } + feature { + 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: "-miphoneos-version-min=%{version_min}" + } + } + } + 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: "c++-compile" + action_name: "c++-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c++-header-parsing" + action_name: "c++-header-parsing" + 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: "c++-header-preprocessing" + action_name: "c++-header-preprocessing" + 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: "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" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c-compile" + action_name: "c-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "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" + 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" + tool { + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-archive" + action_name: "objc-archive" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-filelist" + flag: "%{obj_list_path}" + flag: "-arch_only" + flag: "armv7" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{archive_path}" + } + } + implies: "apple_env" + } + action_config { + config_name: "objc-compile" + action_name: "objc-compile" + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-fully-link" + action_name: "objc-fully-link" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-arch_only" + flag: "armv7" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{fully_linked_archive_path}" + } + flag_group { + flag: "%{objc_library_exec_paths}" + } + flag_group { + flag: "%{cc_library_exec_paths}" + } + flag_group { + flag: "%{imported_library_exec_paths}" + } + } + 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 { + toolchain_identifier: "watchos_armv7k" + host_system_name: "x86_64-apple-macosx" + target_system_name: "armv7-apple-watchos" + target_cpu: "watchos_armv7k" + target_libc: "watchos" + compiler: "compiler" + abi_version: "local" + abi_libc_version: "local" + tool_path { + name: "ar" + path: "/usr/bin/libtool" + } + tool_path { + name: "compat-ld" + path: "/usr/bin/ld" + } + tool_path { + name: "cpp" + path: "/usr/bin/cpp" + } + tool_path { + name: "dwp" + path: "/usr/bin/dwp" + } + tool_path { + name: "gcc" + path: "cc_wrapper.sh" + } + tool_path { + name: "gcov" + path: "/usr/bin/gcov" + } + tool_path { + name: "ld" + path: "/usr/bin/ld" + } + tool_path { + name: "nm" + path: "/usr/bin/nm" + } + tool_path { + name: "objcopy" + path: "/usr/bin/objcopy" + } + tool_path { + name: "objdump" + path: "/usr/bin/objdump" + } + tool_path { + name: "strip" + path: "/usr/bin/strip" + } + needsPic: false + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-fstack-protector" + compiler_flag: "-fcolor-diagnostics" + compiler_flag: "-Wall" + compiler_flag: "-Wthread-safety" + compiler_flag: "-Wself-assign" + compiler_flag: "-fno-omit-frame-pointer" + cxx_flag: "-std=c++11" + linker_flag: "-undefined" + linker_flag: "dynamic_lookup" + linker_flag: "-headerpad_max_install_names" + linker_flag: "-no-canonical-prefixes" + linker_flag: "-target" + linker_flag: "armv7-apple-watchos" + objcopy_embed_flag: "-I" + objcopy_embed_flag: "binary" + compilation_mode_flags { + mode: FASTBUILD + compiler_flag: "-O0" + compiler_flag: "-DDEBUG" + } + compilation_mode_flags { + mode: OPT + compiler_flag: "-g0" + compiler_flag: "-O2" + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-DNDEBUG" + compiler_flag: "-ffunction-sections" + compiler_flag: "-fdata-sections" + } + compilation_mode_flags { + mode: DBG + compiler_flag: "-g" + } + linking_mode_flags { + mode: DYNAMIC + } + make_variable { + 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" + unfiltered_cxx_flag: "-D__DATE__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIME__=\"redacted\"" + unfiltered_cxx_flag: "-target" + unfiltered_cxx_flag: "armv7k-apple-watchos" + default_python_version: "python2.7" + ar_flag: "-static" + ar_flag: "-s" + ar_flag: "-o" + feature { + name: "apple_env" + env_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + action: "objc-archive" + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + action: "objc-executable" + action: "objc++-executable" + env_entry { + key: "XCODE_VERSION_OVERRIDE" + value: "%{xcode_version_override_value}" + } + env_entry { + key: "APPLE_SDK_VERSION_OVERRIDE" + value: "%{apple_sdk_version_override_value}" + } + env_entry { + key: "APPLE_SDK_PLATFORM" + value: "%{apple_sdk_platform_value}" + } + } + } + feature { + name: "apply_default_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-DOS_IOS" + } + } + } + feature { + name: "apply_default_warnings" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-Wshorten-64-to-32" + flag: "-Wbool-conversion" + flag: "-Wconstant-conversion" + flag: "-Wduplicate-method-match" + flag: "-Wempty-body" + flag: "-Wenum-conversion" + flag: "-Wint-conversion" + flag: "-Wunreachable-code" + flag: "-Wmismatched-return-types" + flag: "-Wundeclared-selector" + flag: "-Wuninitialized" + flag: "-Wunused-function" + flag: "-Wunused-variable" + } + } + } + feature { + name: "apply_implicit_frameworks" + flag_set { + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-framework Foundation" + flag: "-framework UIKit" + } + } + } + feature { + name: "bitcode_embedded" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode" + } + } + } + feature { + name: "bitcode_embedded_markers" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode-marker" + } + } + } + feature { + name: "cc_archiver_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" + flag_group { + flag: "rcs" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + expand_if_all_available: "uses_action_configs_for_cc_archiver" + } + } + feature { + name: "compile_all_modules" + } + feature { + name: "coverage" + flag_set { + action: "preprocess-assemble" + action: "c-compile" + action: "c++-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "c++-module-compile" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fprofile-instr-generate" + flag: "-fcoverage-mapping" + } + } + flag_set { + action: "c++-link-interface-dynamic-library" + action: "c++-link-dynamic-library" + action: "c++-link-executable" + flag_group { + flag: "-fprofile-instr-generate" + } + } + provides: "profile" + } + feature { + name: "dbg" + } + feature { + name: "dead_strip" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "--dead_strip" + flag: "--no_dead_strip_inits_and_terms" + } + } + requires { + feature: "opt" + } + } + feature { + name: "exclude_private_headers_in_module_maps" + } + feature { + name: "fastbuild" + } + feature { + name: "force_pic_flags" + flag_set { + action: "c++-link-executable" + flag_group { + flag: "-pie" + } + expand_if_all_available: "force_pic" + } + } + feature { + name: "framework_paths" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-F%{framework_paths}" + } + } + } + feature { + name: "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" + } + } + requires { + feature: "run_coverage" + } + } + feature { + name: "global_whole_archive_open" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "-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}" + flag: "-F%{sdk_framework_dir}" + flag: "-F%{platform_developer_framework_dir}" + } + } + } + feature { + name: "input_param_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: "-L%{library_search_directories}" + iterate_over: "library_search_directories" + } + expand_if_all_available: "library_search_directories" + } + 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: "%{libopts}" + } + expand_if_all_available: "libopts" + } + 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,-force_load,%{whole_archive_linker_params}" + } + expand_if_all_available: "whole_archive_linker_params" + } + 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: "%{linker_input_params}" + } + expand_if_all_available: "linker_input_params" + } + 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_group { + flag: "-Wl,--start-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.object_files}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.object_files}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + iterate_over: "libraries_to_link.object_files" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag: "-Wl,--end-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "interface_library" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "static_library" + } + } + flag_group { + flag_group { + flag: "-l%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "dynamic_library" + } + } + flag_group { + flag_group { + flag: "-l:%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l:%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "versioned_dynamic_library" + } + } + iterate_over: "libraries_to_link" + } + expand_if_all_available: "libraries_to_link" + } + } + feature { + name: "legacy_link_flags" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "%{legacy_link_flags}" + iterate_over: "legacy_link_flags" + } + expand_if_all_available: "legacy_link_flags" + } + } + feature { + name: "linker_param_file" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + flag_set { + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + } + feature { + name: "linkstamps" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "%{linkstamp_paths}" + } + expand_if_all_available: "linkstamp_paths" + } + } + 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: "module_maps" + } + feature { + name: "no_enable_modules" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fmodule-maps" + } + } + requires { + feature: "use_objc_modules" + } + } + feature { + name: "no_objc_arc" + flag_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fno-objc-arc" + } + expand_if_all_available: "no_objc_arc" + } + } + feature { + name: "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: "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" + } + 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-dynamic-library" + flag_group { + flag: "-o" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + } + } + feature { + name: "output_execpath_flags_executable" + flag_set { + action: "c++-link-executable" + flag_group { + 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: "pch" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "c-compile" + action: "c++-compile" + flag_group { + flag: "-include" + flag: "%{pch_file}" + } + } + } + feature { + name: "preprocessor_defines" + 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}" + } + } + } + feature { + 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" + flag_group { + flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}" + iterate_over: "runtime_library_search_directories" + } + expand_if_all_available: "runtime_library_search_directories" + } + 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: "%{runtime_root_flags}" + } + expand_if_all_available: "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" + flag_group { + flag: "%{runtime_root_entries}" + } + expand_if_all_available: "runtime_root_entries" + } + } + feature { + name: "shared_flag" + flag_set { + action: "c++-link-dynamic-library" + flag_group { + flag: "-shared" + } + } + } + feature { + name: "strip_debug_symbols" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-interface-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-Wl,-S" + expand_if_all_available: "strip_debug_symbols" + } + } + } + feature { + name: "symbol_counts" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}" + } + expand_if_all_available: "symbol_counts_output" + } + } + feature { + 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: "-mwatchos-version-min=%{version_min}" + } + } + } + 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: "c++-compile" + action_name: "c++-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c++-header-parsing" + action_name: "c++-header-parsing" + 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: "c++-header-preprocessing" + action_name: "c++-header-preprocessing" + 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: "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" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c-compile" + action_name: "c-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "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" + 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" + tool { + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-archive" + action_name: "objc-archive" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-filelist" + flag: "%{obj_list_path}" + flag: "-arch_only" + flag: "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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-fully-link" + action_name: "objc-fully-link" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-arch_only" + flag: "armv7k" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{fully_linked_archive_path}" + } + flag_group { + flag: "%{objc_library_exec_paths}" + } + flag_group { + flag: "%{cc_library_exec_paths}" + } + flag_group { + flag: "%{imported_library_exec_paths}" + } + } + 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 { + toolchain_identifier: "tvos_arm64" + host_system_name: "x86_64-apple-macosx" + target_system_name: "arm64-apple-tvos" + target_cpu: "tvos_arm64" + target_libc: "tvos" + compiler: "compiler" + abi_version: "local" + abi_libc_version: "local" + tool_path { + name: "ar" + path: "/usr/bin/libtool" + } + tool_path { + name: "compat-ld" + path: "/usr/bin/ld" + } + tool_path { + name: "cpp" + path: "/usr/bin/cpp" + } + tool_path { + name: "dwp" + path: "/usr/bin/dwp" + } + tool_path { + name: "gcc" + path: "cc_wrapper.sh" + } + tool_path { + name: "gcov" + path: "/usr/bin/gcov" + } + tool_path { + name: "ld" + path: "/usr/bin/ld" + } + tool_path { + name: "nm" + path: "/usr/bin/nm" + } + tool_path { + name: "objcopy" + path: "/usr/bin/objcopy" + } + tool_path { + name: "objdump" + path: "/usr/bin/objdump" + } + tool_path { + name: "strip" + path: "/usr/bin/strip" + } + needsPic: false + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-fstack-protector" + compiler_flag: "-fcolor-diagnostics" + compiler_flag: "-Wall" + compiler_flag: "-Wthread-safety" + compiler_flag: "-Wself-assign" + compiler_flag: "-fno-omit-frame-pointer" + cxx_flag: "-std=c++11" + linker_flag: "-undefined" + linker_flag: "dynamic_lookup" + linker_flag: "-headerpad_max_install_names" + linker_flag: "-no-canonical-prefixes" + linker_flag: "-target" + linker_flag: "arm64-apple-tvos" + objcopy_embed_flag: "-I" + objcopy_embed_flag: "binary" + compilation_mode_flags { + mode: FASTBUILD + compiler_flag: "-O0" + compiler_flag: "-DDEBUG" + } + compilation_mode_flags { + mode: DBG + compiler_flag: "-g" + } + compilation_mode_flags { + mode: OPT + compiler_flag: "-g0" + compiler_flag: "-O2" + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-DNDEBUG" + compiler_flag: "-ffunction-sections" + compiler_flag: "-fdata-sections" + compiler_flag: "-DNS_BLOCK_ASSERTIONS=1" + } + linking_mode_flags { + mode: DYNAMIC + } + make_variable { + 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" + unfiltered_cxx_flag: "-D__DATE__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIME__=\"redacted\"" + unfiltered_cxx_flag: "-target" + unfiltered_cxx_flag: "arm64-apple-tvos" + default_python_version: "python2.7" + ar_flag: "-static" + ar_flag: "-s" + ar_flag: "-o" + feature { + name: "apple_env" + env_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + action: "objc-archive" + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + action: "objc-executable" + action: "objc++-executable" + env_entry { + key: "XCODE_VERSION_OVERRIDE" + value: "%{xcode_version_override_value}" + } + env_entry { + key: "APPLE_SDK_VERSION_OVERRIDE" + value: "%{apple_sdk_version_override_value}" + } + env_entry { + key: "APPLE_SDK_PLATFORM" + value: "%{apple_sdk_platform_value}" + } + } + } + feature { + name: "apply_default_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-DOS_TVOS" + } + } + } + feature { + name: "apply_default_warnings" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-Wshorten-64-to-32" + flag: "-Wbool-conversion" + flag: "-Wconstant-conversion" + flag: "-Wduplicate-method-match" + flag: "-Wempty-body" + flag: "-Wenum-conversion" + flag: "-Wint-conversion" + flag: "-Wunreachable-code" + flag: "-Wmismatched-return-types" + flag: "-Wundeclared-selector" + flag: "-Wuninitialized" + flag: "-Wunused-function" + flag: "-Wunused-variable" + } + } + } + feature { + name: "apply_implicit_frameworks" + flag_set { + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-framework Foundation" + flag: "-framework UIKit" + } + } + } + feature { + name: "bitcode_embedded" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode" + } + } + } + feature { + name: "bitcode_embedded_markers" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode-marker" + } + } + } + feature { + name: "cc_archiver_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" + flag_group { + flag: "rcs" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + expand_if_all_available: "uses_action_configs_for_cc_archiver" + } + } + feature { + name: "compile_all_modules" + } + feature { + name: "coverage" + flag_set { + action: "preprocess-assemble" + action: "c-compile" + action: "c++-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "c++-module-compile" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fprofile-instr-generate" + flag: "-fcoverage-mapping" + } + } + flag_set { + action: "c++-link-interface-dynamic-library" + action: "c++-link-dynamic-library" + action: "c++-link-executable" + flag_group { + flag: "-fprofile-instr-generate" + } + } + provides: "profile" + } + feature { + name: "cpp_linker_flags" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-lc++" + flag: "-undefined" + flag: "dynamic_lookup" + flag: "-target" + flag: "arm64-apple-tvos" + } + } + } + feature { + name: "dbg" + } + feature { + name: "dead_strip" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "--dead_strip" + flag: "--no_dead_strip_inits_and_terms" + } + } + requires { + feature: "opt" + } + } + feature { + name: "exclude_private_headers_in_module_maps" + } + feature { + name: "fastbuild" + } + feature { + name: "force_pic_flags" + flag_set { + action: "c++-link-executable" + flag_group { + flag: "-pie" + } + expand_if_all_available: "force_pic" + } + } + feature { + name: "framework_paths" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-F%{framework_paths}" + } + } + } + feature { + name: "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" + } + } + requires { + feature: "run_coverage" + } + } + feature { + name: "global_whole_archive_open" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "-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}" + } + } + } + feature { + name: "input_param_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: "-L%{library_search_directories}" + iterate_over: "library_search_directories" + } + expand_if_all_available: "library_search_directories" + } + 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: "%{libopts}" + } + expand_if_all_available: "libopts" + } + 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,-force_load,%{whole_archive_linker_params}" + } + expand_if_all_available: "whole_archive_linker_params" + } + 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: "%{linker_input_params}" + } + expand_if_all_available: "linker_input_params" + } + 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_group { + flag: "-Wl,--start-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.object_files}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.object_files}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + iterate_over: "libraries_to_link.object_files" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag: "-Wl,--end-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "interface_library" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "static_library" + } + } + flag_group { + flag_group { + flag: "-l%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "dynamic_library" + } + } + flag_group { + flag_group { + flag: "-l:%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l:%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "versioned_dynamic_library" + } + } + iterate_over: "libraries_to_link" + } + expand_if_all_available: "libraries_to_link" + } + } + feature { + name: "legacy_link_flags" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "%{legacy_link_flags}" + iterate_over: "legacy_link_flags" + } + expand_if_all_available: "legacy_link_flags" + } + } + feature { + name: "linker_param_file" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + flag_set { + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + } + feature { + name: "linkstamps" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "%{linkstamp_paths}" + } + expand_if_all_available: "linkstamp_paths" + } + } + 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: "module_maps" + } + feature { + name: "no_enable_modules" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fmodule-maps" + } + } + requires { + feature: "use_objc_modules" + } + } + feature { + name: "no_objc_arc" + flag_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fno-objc-arc" + } + expand_if_all_available: "no_objc_arc" + } + } + feature { + name: "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: "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" + } + 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-dynamic-library" + flag_group { + flag: "-o" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + } + } + feature { + name: "output_execpath_flags_executable" + flag_set { + action: "c++-link-executable" + flag_group { + 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: "pch" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "c-compile" + action: "c++-compile" + flag_group { + flag: "-include" + flag: "%{pch_file}" + } + } + } + feature { + name: "preprocessor_defines" + 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}" + } + } + } + feature { + 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" + flag_group { + flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}" + iterate_over: "runtime_library_search_directories" + } + expand_if_all_available: "runtime_library_search_directories" + } + 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: "%{runtime_root_flags}" + } + expand_if_all_available: "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" + flag_group { + flag: "%{runtime_root_entries}" + } + expand_if_all_available: "runtime_root_entries" + } + } + feature { + name: "shared_flag" + flag_set { + action: "c++-link-dynamic-library" + flag_group { + flag: "-shared" + } + } + } + feature { + name: "strip_debug_symbols" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-interface-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-Wl,-S" + expand_if_all_available: "strip_debug_symbols" + } + } + } + feature { + name: "symbol_counts" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}" + } + expand_if_all_available: "symbol_counts_output" + } + } + feature { + name: "unfiltered_cxx_flags" + flag_set { + 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: "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: "-mtvos-version-min=%{version_min}" + } + } + } + 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" + implies: "unfiltered_cxx_flags" + } + action_config { + config_name: "c++-compile" + action_name: "c++-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + implies: "unfiltered_cxx_flags" + } + action_config { + config_name: "c++-header-parsing" + action_name: "c++-header-parsing" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + implies: "unfiltered_cxx_flags" + } + action_config { + config_name: "c++-header-preprocessing" + action_name: "c++-header-preprocessing" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + implies: "unfiltered_cxx_flags" + } + action_config { + config_name: "c++-link-alwayslink-pic-static-library" + action_name: "c++-link-alwayslink-pic-static-library" + tool { + tool_path: "/usr/bin/ar" + } + implies: "global_whole_archive_open" + implies: "runtime_root_flags" + implies: "cc_archiver_flags" + implies: "input_param_flags" + implies: "linker_param_file" + implies: "apple_env" + } + action_config { + config_name: "c++-link-alwayslink-static-library" + action_name: "c++-link-alwayslink-static-library" + tool { + tool_path: "/usr/bin/ar" + } + implies: "global_whole_archive_open" + implies: "runtime_root_flags" + implies: "cc_archiver_flags" + implies: "input_param_flags" + implies: "linker_param_file" + implies: "apple_env" + } + action_config { + config_name: "c++-link-dynamic-library" + action_name: "c++-link-dynamic-library" + tool { + tool_path: "wrapped_clang" + } + implies: "has_configured_linker_path" + implies: "symbol_counts" + implies: "shared_flag" + implies: "linkstamps" + implies: "output_execpath_flags" + implies: "global_whole_archive_open" + implies: "runtime_root_flags" + implies: "input_param_flags" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "linker_param_file" + implies: "version_min" + implies: "apple_env" + implies: "cpp_linker_flags" + } + action_config { + config_name: "c++-link-executable" + action_name: "c++-link-executable" + tool { + tool_path: "DUMMY_TOOL" + } + implies: "symbol_counts" + implies: "linkstamps" + implies: "output_execpath_flags_executable" + implies: "global_whole_archive_open" + implies: "runtime_root_flags" + implies: "input_param_flags" + implies: "force_pic_flags" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "linker_param_file" + implies: "version_min" + implies: "apple_env" + implies: "cpp_linker_flags" + } + action_config { + config_name: "c++-link-interface-dynamic-library" + action_name: "c++-link-interface-dynamic-library" + tool { + tool_path: "DUMMY_TOOL" + } + implies: "strip_debug_symbols" + implies: "apple_env" + } + action_config { + config_name: "c++-link-pic-static-library" + action_name: "c++-link-pic-static-library" + tool { + tool_path: "/usr/bin/ar" + } + implies: "global_whole_archive_open" + implies: "runtime_root_flags" + implies: "cc_archiver_flags" + implies: "input_param_flags" + implies: "linker_param_file" + implies: "apple_env" + } + action_config { + config_name: "c++-link-static-library" + action_name: "c++-link-static-library" + tool { + tool_path: "/usr/bin/ar" + } + implies: "global_whole_archive_open" + implies: "runtime_root_flags" + implies: "cc_archiver_flags" + implies: "input_param_flags" + implies: "linker_param_file" + implies: "apple_env" + } + action_config { + config_name: "c++-module-compile" + action_name: "c++-module-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + implies: "unfiltered_cxx_flags" + } + action_config { + config_name: "c-compile" + action_name: "c-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + implies: "unfiltered_cxx_flags" + } + 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" + 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" + tool { + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-archive" + action_name: "objc-archive" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-filelist" + flag: "%{obj_list_path}" + flag: "-arch_only" + flag: "arm64" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{archive_path}" + } + } + implies: "apple_env" + } + action_config { + config_name: "objc-compile" + action_name: "objc-compile" + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-fully-link" + action_name: "objc-fully-link" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-arch_only" + flag: "arm64" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{fully_linked_archive_path}" + } + flag_group { + flag: "%{objc_library_exec_paths}" + } + flag_group { + flag: "%{cc_library_exec_paths}" + } + flag_group { + flag: "%{imported_library_exec_paths}" + } + } + 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 { + toolchain_identifier: "ios_arm64" + host_system_name: "x86_64-apple-macosx" + target_system_name: "arm64-apple-ios" + target_cpu: "ios_arm64" + target_libc: "ios" + compiler: "compiler" + abi_version: "local" + abi_libc_version: "local" + tool_path { + name: "ar" + path: "/usr/bin/libtool" + } + tool_path { + name: "compat-ld" + path: "/usr/bin/ld" + } + tool_path { + name: "cpp" + path: "/usr/bin/cpp" + } + tool_path { + name: "dwp" + path: "/usr/bin/dwp" + } + tool_path { + name: "gcc" + path: "cc_wrapper.sh" + } + tool_path { + name: "gcov" + path: "/usr/bin/gcov" + } + tool_path { + name: "ld" + path: "/usr/bin/ld" + } + tool_path { + name: "nm" + path: "/usr/bin/nm" + } + tool_path { + name: "objcopy" + path: "/usr/bin/objcopy" + } + tool_path { + name: "objdump" + path: "/usr/bin/objdump" + } + tool_path { + name: "strip" + path: "/usr/bin/strip" + } + needsPic: false + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-fstack-protector" + compiler_flag: "-fcolor-diagnostics" + compiler_flag: "-Wall" + compiler_flag: "-Wthread-safety" + compiler_flag: "-Wself-assign" + compiler_flag: "-fno-omit-frame-pointer" + cxx_flag: "-std=c++11" + linker_flag: "-undefined" + linker_flag: "dynamic_lookup" + linker_flag: "-headerpad_max_install_names" + linker_flag: "-no-canonical-prefixes" + linker_flag: "-target" + linker_flag: "arm64-apple-ios" + objcopy_embed_flag: "-I" + objcopy_embed_flag: "binary" + compilation_mode_flags { + mode: FASTBUILD + compiler_flag: "-O0" + compiler_flag: "-DDEBUG" + } + compilation_mode_flags { + mode: OPT + compiler_flag: "-g0" + compiler_flag: "-O2" + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-DNDEBUG" + compiler_flag: "-ffunction-sections" + compiler_flag: "-fdata-sections" + } + compilation_mode_flags { + mode: DBG + compiler_flag: "-g" + } + linking_mode_flags { + mode: DYNAMIC + } + make_variable { + 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" + unfiltered_cxx_flag: "-D__DATE__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIME__=\"redacted\"" + unfiltered_cxx_flag: "-target" + unfiltered_cxx_flag: "arm64-apple-ios" + default_python_version: "python2.7" + ar_flag: "-static" + ar_flag: "-s" + ar_flag: "-o" + feature { + name: "apple_env" + env_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + action: "objc-archive" + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + action: "objc-executable" + action: "objc++-executable" + env_entry { + key: "XCODE_VERSION_OVERRIDE" + value: "%{xcode_version_override_value}" + } + env_entry { + key: "APPLE_SDK_VERSION_OVERRIDE" + value: "%{apple_sdk_version_override_value}" + } + env_entry { + key: "APPLE_SDK_PLATFORM" + value: "%{apple_sdk_platform_value}" + } + } + } + feature { + name: "apply_default_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-DOS_IOS" + } + } + } + feature { + name: "apply_default_warnings" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-Wshorten-64-to-32" + flag: "-Wbool-conversion" + flag: "-Wconstant-conversion" + flag: "-Wduplicate-method-match" + flag: "-Wempty-body" + flag: "-Wenum-conversion" + flag: "-Wint-conversion" + flag: "-Wunreachable-code" + flag: "-Wmismatched-return-types" + flag: "-Wundeclared-selector" + flag: "-Wuninitialized" + flag: "-Wunused-function" + flag: "-Wunused-variable" + } + } + } + feature { + name: "apply_implicit_frameworks" + flag_set { + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-framework Foundation" + flag: "-framework UIKit" + } + } + } + feature { + name: "bitcode_embedded" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode" + } + } + } + feature { + name: "bitcode_embedded_markers" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode-marker" + } + } + } + feature { + name: "cc_archiver_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" + flag_group { + flag: "rcs" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + expand_if_all_available: "uses_action_configs_for_cc_archiver" + } + } + feature { + name: "compile_all_modules" + } + feature { + name: "coverage" + flag_set { + action: "preprocess-assemble" + action: "c-compile" + action: "c++-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "c++-module-compile" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fprofile-instr-generate" + flag: "-fcoverage-mapping" + } + } + flag_set { + action: "c++-link-interface-dynamic-library" + action: "c++-link-dynamic-library" + action: "c++-link-executable" + flag_group { + flag: "-fprofile-instr-generate" + } + } + provides: "profile" + } + feature { + name: "dbg" + } + feature { + name: "dead_strip" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "--dead_strip" + flag: "--no_dead_strip_inits_and_terms" + } + } + requires { + feature: "opt" + } + } + feature { + name: "exclude_private_headers_in_module_maps" + } + feature { + name: "fastbuild" + } + feature { + name: "force_pic_flags" + flag_set { + action: "c++-link-executable" + flag_group { + flag: "-pie" + } + expand_if_all_available: "force_pic" + } + } + feature { + name: "framework_paths" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-F%{framework_paths}" + } + } + } + feature { + name: "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" + } + } + requires { + feature: "run_coverage" + } + } + feature { + name: "global_whole_archive_open" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "-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}" + } + } + } + feature { + name: "input_param_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: "-L%{library_search_directories}" + iterate_over: "library_search_directories" + } + expand_if_all_available: "library_search_directories" + } + 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: "%{libopts}" + } + expand_if_all_available: "libopts" + } + 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,-force_load,%{whole_archive_linker_params}" + } + expand_if_all_available: "whole_archive_linker_params" + } + 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: "%{linker_input_params}" + } + expand_if_all_available: "linker_input_params" + } + 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_group { + flag: "-Wl,--start-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.object_files}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.object_files}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + iterate_over: "libraries_to_link.object_files" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag: "-Wl,--end-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "interface_library" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "static_library" + } + } + flag_group { + flag_group { + flag: "-l%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "dynamic_library" + } + } + flag_group { + flag_group { + flag: "-l:%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l:%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "versioned_dynamic_library" + } + } + iterate_over: "libraries_to_link" + } + expand_if_all_available: "libraries_to_link" + } + } + feature { + name: "legacy_link_flags" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "%{legacy_link_flags}" + iterate_over: "legacy_link_flags" + } + expand_if_all_available: "legacy_link_flags" + } + } + feature { + name: "linker_param_file" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + flag_set { + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + } + feature { + name: "linkstamps" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "%{linkstamp_paths}" + } + expand_if_all_available: "linkstamp_paths" + } + } + 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: "module_maps" + } + feature { + name: "no_enable_modules" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fmodule-maps" + } + } + requires { + feature: "use_objc_modules" + } + } + feature { + name: "no_objc_arc" + flag_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fno-objc-arc" + } + expand_if_all_available: "no_objc_arc" + } + } + feature { + name: "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: "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" + } + 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-dynamic-library" + flag_group { + flag: "-o" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + } + } + feature { + name: "output_execpath_flags_executable" + flag_set { + action: "c++-link-executable" + flag_group { + 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: "pch" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "c-compile" + action: "c++-compile" + flag_group { + flag: "-include" + flag: "%{pch_file}" + } + } + } + feature { + name: "preprocessor_defines" + 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}" + } + } + } + feature { + 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" + flag_group { + flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}" + iterate_over: "runtime_library_search_directories" + } + expand_if_all_available: "runtime_library_search_directories" + } + 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: "%{runtime_root_flags}" + } + expand_if_all_available: "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" + flag_group { + flag: "%{runtime_root_entries}" + } + expand_if_all_available: "runtime_root_entries" + } + } + feature { + name: "shared_flag" + flag_set { + action: "c++-link-dynamic-library" + flag_group { + flag: "-shared" + } + } + } + feature { + name: "strip_debug_symbols" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-interface-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-Wl,-S" + expand_if_all_available: "strip_debug_symbols" + } + } + } + feature { + name: "symbol_counts" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}" + } + expand_if_all_available: "symbol_counts_output" + } + } + feature { + 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: "-miphoneos-version-min=%{version_min}" + } + } + } + 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: "c++-compile" + action_name: "c++-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c++-header-parsing" + action_name: "c++-header-parsing" + 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: "c++-header-preprocessing" + action_name: "c++-header-preprocessing" + 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: "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" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c-compile" + action_name: "c-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "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" + 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" + tool { + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-archive" + action_name: "objc-archive" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-filelist" + flag: "%{obj_list_path}" + flag: "-arch_only" + flag: "arm64" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{archive_path}" + } + } + implies: "apple_env" + } + action_config { + config_name: "objc-compile" + action_name: "objc-compile" + 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" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-fully-link" + action_name: "objc-fully-link" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-arch_only" + flag: "arm64" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{fully_linked_archive_path}" + } + flag_group { + flag: "%{objc_library_exec_paths}" + } + flag_group { + flag: "%{cc_library_exec_paths}" + } + flag_group { + flag: "%{imported_library_exec_paths}" + } + } + 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 { + toolchain_identifier: "stub_armeabi-v7a" + host_system_name: "armeabi-v7a" + target_system_name: "armeabi-v7a" + target_cpu: "armeabi-v7a" + target_libc: "armeabi-v7a" + compiler: "compiler" + abi_version: "armeabi-v7a" + abi_libc_version: "armeabi-v7a" + tool_path { + name: "ar" + path: "/bin/false" + } + tool_path { + name: "compat-ld" + path: "/bin/false" + } + tool_path { + name: "cpp" + path: "/bin/false" + } + tool_path { + name: "dwp" + path: "/bin/false" + } + tool_path { + name: "gcc" + path: "/bin/false" + } + tool_path { + name: "gcov" + path: "/bin/false" + } + tool_path { + name: "ld" + path: "/bin/false" + } + tool_path { + name: "nm" + path: "/bin/false" + } + tool_path { + name: "objcopy" + path: "/bin/false" + } + tool_path { + name: "objdump" + path: "/bin/false" + } + tool_path { + name: "strip" + path: "/bin/false" + } + supports_gold_linker: false + needsPic: true + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-fstack-protector" + compiler_flag: "-fcolor-diagnostics" + compiler_flag: "-Wall" + compiler_flag: "-Wthread-safety" + compiler_flag: "-Wself-assign" + compiler_flag: "-fno-omit-frame-pointer" + cxx_flag: "-std=c++11" + linker_flag: "-undefined" + linker_flag: "dynamic_lookup" + linker_flag: "-headerpad_max_install_names" + linker_flag: "-no-canonical-prefixes" + objcopy_embed_flag: "-I" + objcopy_embed_flag: "binary" + compilation_mode_flags { + mode: FASTBUILD + compiler_flag: "-O0" + compiler_flag: "-DDEBUG" + } + compilation_mode_flags { + mode: DBG + compiler_flag: "-g" + } + compilation_mode_flags { + mode: OPT + compiler_flag: "-g0" + compiler_flag: "-O2" + compiler_flag: "-D_FORTIFY_SOURCE=1" + compiler_flag: "-DNDEBUG" + compiler_flag: "-ffunction-sections" + compiler_flag: "-fdata-sections" + compiler_flag: "-DNS_BLOCK_ASSERTIONS=1" + } + linking_mode_flags { + mode: DYNAMIC + } + linking_mode_flags { + mode: DYNAMIC + } + make_variable { + 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" + unfiltered_cxx_flag: "-D__DATE__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\"" + unfiltered_cxx_flag: "-D__TIME__=\"redacted\"" + supports_normalizing_ar: false + supports_start_end_lib: false + default_python_version: "python2.7" + supports_interface_shared_objects: false + supports_incremental_linker: false + supports_fission: false + ar_flag: "-static" + ar_flag: "-s" + ar_flag: "-o" + feature { + name: "apple_env" + env_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + action: "objc-archive" + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + action: "objc-executable" + action: "objc++-executable" + env_entry { + key: "XCODE_VERSION_OVERRIDE" + value: "%{xcode_version_override_value}" + } + env_entry { + key: "APPLE_SDK_VERSION_OVERRIDE" + value: "%{apple_sdk_version_override_value}" + } + env_entry { + key: "APPLE_SDK_PLATFORM" + value: "%{apple_sdk_platform_value}" + } + } + } + feature { + name: "apply_default_compiler_flags" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-DOS_IOS" + } + } + } + feature { + name: "apply_default_warnings" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-Wshorten-64-to-32" + flag: "-Wbool-conversion" + flag: "-Wconstant-conversion" + flag: "-Wduplicate-method-match" + flag: "-Wempty-body" + flag: "-Wenum-conversion" + flag: "-Wint-conversion" + flag: "-Wunreachable-code" + flag: "-Wmismatched-return-types" + flag: "-Wundeclared-selector" + flag: "-Wuninitialized" + flag: "-Wunused-function" + flag: "-Wunused-variable" + } + } + } + feature { + name: "apply_implicit_frameworks" + flag_set { + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-framework Foundation" + flag: "-framework UIKit" + } + } + } + feature { + name: "bitcode_embedded" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode" + } + } + } + feature { + name: "bitcode_embedded_markers" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fembed-bitcode-marker" + } + } + } + feature { + name: "cc_archiver_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" + flag_group { + flag: "rcs" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + expand_if_all_available: "uses_action_configs_for_cc_archiver" + } + } + feature { + name: "compile_all_modules" + } + feature { + name: "coverage" + flag_set { + action: "preprocess-assemble" + action: "c-compile" + action: "c++-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "c++-module-compile" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fprofile-instr-generate" + flag: "-fcoverage-mapping" + } + } + flag_set { + action: "c++-link-interface-dynamic-library" + action: "c++-link-dynamic-library" + action: "c++-link-executable" + flag_group { + flag: "-fprofile-instr-generate" + } + } + provides: "profile" + } + feature { + name: "dbg" + } + feature { + name: "dead_strip" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "--dead_strip" + flag: "--no_dead_strip_inits_and_terms" + } + } + requires { + feature: "opt" + } + } + feature { + name: "exclude_private_headers_in_module_maps" + } + feature { + name: "fastbuild" + } + feature { + name: "force_pic_flags" + flag_set { + action: "c++-link-executable" + flag_group { + flag: "-pie" + } + expand_if_all_available: "force_pic" + } + } + feature { + name: "framework_paths" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-F%{framework_paths}" + } + } + } + feature { + name: "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" + } + } + requires { + feature: "run_coverage" + } + } + feature { + name: "global_whole_archive_open" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "-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}" + } + } + } + feature { + name: "input_param_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: "-L%{library_search_directories}" + iterate_over: "library_search_directories" + } + expand_if_all_available: "library_search_directories" + } + 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: "%{libopts}" + } + expand_if_all_available: "libopts" + } + 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,-force_load,%{whole_archive_linker_params}" + } + expand_if_all_available: "whole_archive_linker_params" + } + 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: "%{linker_input_params}" + } + expand_if_all_available: "linker_input_params" + } + 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_group { + flag: "-Wl,--start-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.object_files}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.object_files}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + iterate_over: "libraries_to_link.object_files" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag: "-Wl,--end-lib" + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file_group" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "object_file" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "interface_library" + } + } + flag_group { + flag_group { + flag: "%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "static_library" + } + } + flag_group { + flag_group { + flag: "-l%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "dynamic_library" + } + } + flag_group { + flag_group { + flag: "-l:%{libraries_to_link.name}" + expand_if_false: "libraries_to_link.is_whole_archive" + } + flag_group { + flag: "-Wl,-force_load,-l:%{libraries_to_link.name}" + expand_if_true: "libraries_to_link.is_whole_archive" + } + expand_if_equal { + variable: "libraries_to_link.type" + value: "versioned_dynamic_library" + } + } + iterate_over: "libraries_to_link" + } + expand_if_all_available: "libraries_to_link" + } + } + feature { + name: "legacy_link_flags" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "%{legacy_link_flags}" + iterate_over: "legacy_link_flags" + } + expand_if_all_available: "legacy_link_flags" + } + } + feature { + name: "linker_param_file" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + flag_set { + action: "c++-link-static-library" + action: "c++-link-alwayslink-static-library" + action: "c++-link-pic-static-library" + action: "c++-link-alwayslink-pic-static-library" + flag_group { + flag: "@%{linker_param_file}" + } + expand_if_all_available: "linker_param_file" + } + } + feature { + name: "linkstamps" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "%{linkstamp_paths}" + } + expand_if_all_available: "linkstamp_paths" + } + } + 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: "module_maps" + } + feature { + name: "no_enable_modules" + flag_set { + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fmodule-maps" + } + } + requires { + feature: "use_objc_modules" + } + } + feature { + name: "no_objc_arc" + flag_set { + action: "c-compile" + action: "c++-compile" + action: "c++-module-compile" + action: "c++-header-parsing" + action: "c++-header-preprocessing" + action: "assemble" + action: "preprocess-assemble" + action: "objc-compile" + action: "objc++-compile" + flag_group { + flag: "-fno-objc-arc" + } + expand_if_all_available: "no_objc_arc" + } + } + feature { + name: "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: "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" + } + 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-dynamic-library" + flag_group { + flag: "-o" + flag: "%{output_execpath}" + } + expand_if_all_available: "output_execpath" + } + } + feature { + name: "output_execpath_flags_executable" + flag_set { + action: "c++-link-executable" + flag_group { + 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: "pch" + flag_set { + action: "objc-compile" + action: "objc++-compile" + action: "c-compile" + action: "c++-compile" + flag_group { + flag: "-include" + flag: "%{pch_file}" + } + } + } + feature { + name: "preprocessor_defines" + 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}" + } + } + } + feature { + 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" + flag_group { + flag: "-Wl,-rpath,$ORIGIN/%{runtime_library_search_directories}" + iterate_over: "runtime_library_search_directories" + } + expand_if_all_available: "runtime_library_search_directories" + } + 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: "%{runtime_root_flags}" + } + expand_if_all_available: "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" + flag_group { + flag: "%{runtime_root_entries}" + } + expand_if_all_available: "runtime_root_entries" + } + } + feature { + name: "shared_flag" + flag_set { + action: "c++-link-dynamic-library" + flag_group { + flag: "-shared" + } + } + } + feature { + name: "strip_debug_symbols" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + action: "c++-link-interface-dynamic-library" + action: "objc-executable" + action: "objc++-executable" + flag_group { + flag: "-Wl,-S" + expand_if_all_available: "strip_debug_symbols" + } + } + } + feature { + name: "symbol_counts" + flag_set { + action: "c++-link-executable" + action: "c++-link-dynamic-library" + flag_group { + flag: "-Wl,--print-symbol-counts=%{symbol_counts_output}" + } + expand_if_all_available: "symbol_counts_output" + } + } + feature { + 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: "-m<platform_for_version_min>-version-min=%{version_min}" + } + } + } + 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: "c++-compile" + action_name: "c++-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c++-header-parsing" + action_name: "c++-header-parsing" + 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: "c++-header-preprocessing" + action_name: "c++-header-preprocessing" + 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: "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" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + action_config { + config_name: "c-compile" + action_name: "c-compile" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "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>" + 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" + tool { + 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>" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-archive" + action_name: "objc-archive" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-filelist" + flag: "%{obj_list_path}" + flag: "-arch_only" + flag: "<architecture>" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{archive_path}" + } + } + implies: "apple_env" + } + action_config { + config_name: "objc-compile" + action_name: "objc-compile" + 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>" + } + flag_group { + flag: "-Xlinker" + flag: "-objc_abi_version" + flag: "-Xlinker" + flag: "2" + flag: "-Xlinker" + flag: "-rpath" + flag: "-Xlinker" + flag: "@executable_path/Frameworks" + flag: "-fobjc-link-runtime" + flag: "-ObjC" + } + flag_group { + flag: "-framework %{framework_names}" + } + flag_group { + flag: "-weak_framework %{weak_framework_names}" + } + flag_group { + flag: "-l%{library_names}" + } + flag_group { + flag: "-filelist %{filelist}" + } + flag_group { + flag: "-o %{linked_binary}" + } + flag_group { + flag: "-force_load %{force_load_exec_paths}" + } + flag_group { + flag: "%{dep_linkopts}" + } + flag_group { + flag: "-Wl,%{attr_linkopts}" + } + } + implies: "include_system_dirs" + implies: "framework_paths" + implies: "version_min" + implies: "legacy_link_flags" + implies: "strip_debug_symbols" + implies: "apple_env" + implies: "apply_implicit_frameworks" + } + action_config { + config_name: "objc-fully-link" + action_name: "objc-fully-link" + tool { + tool_path: "libtool" + execution_requirement: "requires-darwin" + } + flag_set { + flag_group { + flag: "-static" + flag: "-arch_only" + flag: "<architecture>" + flag: "-syslibroot" + flag: "%{sdk_dir}" + flag: "-o" + flag: "%{fully_linked_archive_path}" + } + flag_group { + flag: "%{objc_library_exec_paths}" + } + flag_group { + flag: "%{cc_library_exec_paths}" + } + flag_group { + flag: "%{imported_library_exec_paths}" + } + } + implies: "apple_env" + } + action_config { + config_name: "preprocess-assemble" + action_name: "preprocess-assemble" + tool { + tool_path: "wrapped_clang" + execution_requirement: "requires-darwin" + } + implies: "preprocessor_defines" + implies: "include_system_dirs" + implies: "version_min" + implies: "objc_arc" + implies: "no_objc_arc" + implies: "apple_env" + } + cc_target_os: "apple" +} diff --git a/tools/osx/crosstool/osx_archs.bzl b/tools/osx/crosstool/osx_archs.bzl new file mode 100644 index 0000000000..5ee87c6173 --- /dev/null +++ b/tools/osx/crosstool/osx_archs.bzl @@ -0,0 +1,28 @@ +"""Information regarding crosstool-supported architectures.""" +# Copyright 2017 The Bazel Authors. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# List of architectures supported by osx crosstool. +OSX_TOOLS_ARCHS = [ + "armeabi-v7a", + "darwin_x86_64", + "ios_x86_64", + "ios_i386", + "ios_armv7", + "ios_arm64", + "watchos_i386", + "watchos_armv7k", + "tvos_x86_64", + "tvos_arm64", +] diff --git a/tools/osx/crosstool/wrapped_clang.tpl b/tools/osx/crosstool/wrapped_clang.tpl new file mode 100644 index 0000000000..3a523d2280 --- /dev/null +++ b/tools/osx/crosstool/wrapped_clang.tpl @@ -0,0 +1,10 @@ +# A trick to allow invoking this script in multiple contexts. +if [ -z ${MY_LOCATION+x} ]; then + if [ -d "$0.runfiles/" ]; then + MY_LOCATION="$0.runfiles/bazel_tools/tools/objc" + else + MY_LOCATION="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + fi +fi + +"${MY_LOCATION}"/xcrunwrapper.sh clang $@ diff --git a/tools/osx/crosstool/wrapped_clang_pp.tpl b/tools/osx/crosstool/wrapped_clang_pp.tpl new file mode 100644 index 0000000000..4afc7b056e --- /dev/null +++ b/tools/osx/crosstool/wrapped_clang_pp.tpl @@ -0,0 +1,10 @@ +# A trick to allow invoking this script in multiple contexts. +if [ -z ${MY_LOCATION+x} ]; then + if [ -d "$0.runfiles/" ]; then + MY_LOCATION="$0.runfiles/bazel_tools/tools/objc" + else + MY_LOCATION="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + fi +fi + +"${MY_LOCATION}"/xcrunwrapper.sh clang++ $@ |