Files
codeql/swift/extractor/BUILD.bazel
Paolo Tranquilli 8efd127010 Swift: improve diagnostics for OS incompatibility
* do not mention any more that one might make analysis happen on Linux with
  advanced setup
* say that outright Swift analysis is only supported on macOS, not just
  autobuild.
* emit the error diagnostics even for traced builds, not only for autobuilds
  (by using a dummy `extractor` executable).
2024-12-16 10:12:31 +01:00

47 lines
1.3 KiB
Python

load("@rules_shell//shell:sh_binary.bzl", "sh_binary")
load("//misc/bazel:pkg.bzl", "codeql_pkg_files", "codeql_pkg_runfiles")
load("//swift:rules.bzl", "swift_cc_binary")
swift_cc_binary(
name = "extractor.real",
srcs = glob([
"*.h",
"*.cpp",
]),
linkopts = select({
"@platforms//os:macos": ["-headerpad_max_install_names"],
"//conditions:default": [],
}),
visibility = ["//swift:__pkg__"],
deps = [
"//swift/extractor/config",
"//swift/extractor/infra",
"//swift/extractor/invocation",
"//swift/extractor/remapping",
"//swift/extractor/translators",
"//swift/third_party/resources:prebuilt",
"@absl//absl/strings",
],
)
sh_binary(
name = "extractor",
srcs = ["extractor.sh"],
data = [":extractor.real"],
)
codeql_pkg_runfiles(
name = "pkg",
excludes = ["extractor.sh"], # script gets copied as "extractor", no need for the original .sh file
exes = [":extractor"],
visibility = ["//swift:__pkg__"],
)
codeql_pkg_files(
name = "incompatible",
exes = ["incompatible-extractor.sh"],
renames = {"incompatible-extractor.sh": "extractor"},
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//swift:__pkg__"],
)