blob: 990afe3e8ce31bdc2bc1f07b193a3253218d5a91 [file] [log] [blame] [edit]
load(
"//tools/osx:xcode_version_flag.bzl",
"ios_sdk_version_flag",
"macos_sdk_version_flag",
"tvos_sdk_version_flag",
"watchos_sdk_version_flag",
"xcode_version_flag",
)
package(default_visibility = ["//visibility:public"])
filegroup(
name = "srcs",
srcs = glob(["**"] + ["**/*"]),
)
filegroup(
name = "bzl_srcs",
srcs = glob(["*.bzl"]) + [
"//tools/osx/crosstool:bzl_srcs",
],
visibility = ["//tools:__pkg__"],
)
exports_files([
"xcode_locator.m",
"xcode_configure.bzl",
])
DARWIN_XCODE_LOCATOR_COMPILE_COMMAND = """
/usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.9 -fobjc-arc -framework CoreServices \
-framework Foundation -arch arm64 -arch x86_64 -Wl,-no_adhoc_codesign -Wl,-no_uuid -o $@ $< && \
env -i codesign --identifier $@ --force --sign - $@
"""
genrule(
name = "xcode-locator-genrule",
srcs = select({
":darwin": ["xcode_locator.m"],
":darwin_x86_64": ["xcode_locator.m"],
":darwin_arm64": ["xcode_locator.m"],
":darwin_arm64e": ["xcode_locator.m"],
"//conditions:default": ["xcode_locator_stub.sh"],
}),
outs = ["xcode-locator"],
cmd = select({
":darwin": DARWIN_XCODE_LOCATOR_COMPILE_COMMAND,
":darwin_x86_64": DARWIN_XCODE_LOCATOR_COMPILE_COMMAND,
":darwin_arm64": DARWIN_XCODE_LOCATOR_COMPILE_COMMAND,
":darwin_arm64e": DARWIN_XCODE_LOCATOR_COMPILE_COMMAND,
"//conditions:default": "cp $< $@",
}),
local = 1,
output_to_bindir = 1,
)
# TODO(cparsons): Consolidate with config_settings under //src
config_setting(
name = "darwin",
values = {"cpu": "darwin"},
visibility = ["//visibility:public"],
)
config_setting(
name = "darwin_x86_64",
values = {"cpu": "darwin_x86_64"},
visibility = ["//visibility:public"],
)
config_setting(
name = "darwin_arm64",
values = {"cpu": "darwin_arm64"},
visibility = ["//visibility:public"],
)
config_setting(
name = "darwin_arm64e",
values = {"cpu": "darwin_arm64e"},
visibility = ["//visibility:public"],
)
xcode_config_alias(name = "current_xcode_config")
xcode_version_flag(name = "xcode_version_flag")
[
xcode_version_flag(
name = "xcode_version_flag_{}".format(precision),
precision = precision,
)
for precision in [
"major",
"minor",
"patch",
"exact",
]
]
ios_sdk_version_flag(name = "ios_sdk_version_flag")
tvos_sdk_version_flag(name = "tvos_sdk_version_flag")
watchos_sdk_version_flag(name = "watchos_sdk_version_flag")
macos_sdk_version_flag(name = "macos_sdk_version_flag")