mirror of
https://github.com/github/codeql.git
synced 2026-04-29 10:45:15 +02:00
Swift: cc wrapper rules
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
load("//swift:rules.bzl", "swift_cc_binary")
|
||||
|
||||
alias(
|
||||
name = "swift-llvm-support",
|
||||
actual = select({
|
||||
@@ -6,7 +8,7 @@ alias(
|
||||
}),
|
||||
)
|
||||
|
||||
cc_binary(
|
||||
swift_cc_binary(
|
||||
name = "extractor",
|
||||
srcs = [
|
||||
"SwiftExtractor.cpp",
|
||||
@@ -14,16 +16,6 @@ cc_binary(
|
||||
"SwiftExtractorConfiguration.h",
|
||||
"main.cpp",
|
||||
],
|
||||
copts = [
|
||||
# Required by LLVM/Swift
|
||||
"-fno-rtti",
|
||||
],
|
||||
features = ["-universal_binaries"],
|
||||
target_compatible_with = select({
|
||||
"@platforms//os:linux": [],
|
||||
"@platforms//os:macos": [],
|
||||
"//conditions:default": ["@platforms//:incompatible"],
|
||||
}),
|
||||
visibility = ["//swift:__pkg__"],
|
||||
deps = [
|
||||
":swift-llvm-support",
|
||||
|
||||
24
swift/rules.bzl
Normal file
24
swift/rules.bzl
Normal file
@@ -0,0 +1,24 @@
|
||||
def _add_args(kwargs, kwarg, value):
|
||||
kwargs[kwarg] = kwargs.get(kwarg, []) + value
|
||||
|
||||
def _wrap_cc(rule, kwargs):
|
||||
_add_args(kwargs, "copts", [
|
||||
# Required by LLVM/Swift
|
||||
"-fno-rtti",
|
||||
])
|
||||
_add_args(kwargs, "features", [
|
||||
# temporary, before we do universal merging
|
||||
"-universal_binaries",
|
||||
])
|
||||
_add_args(kwargs, "target_compatible_with", select({
|
||||
"@platforms//os:linux": [],
|
||||
"@platforms//os:macos": [],
|
||||
"//conditions:default": ["@platforms//:incompatible"],
|
||||
}))
|
||||
rule(**kwargs)
|
||||
|
||||
def swift_cc_binary(**kwargs):
|
||||
_wrap_cc(native.cc_binary, kwargs)
|
||||
|
||||
def swift_cc_library(**kwargs):
|
||||
_wrap_cc(native.cc_library, kwargs)
|
||||
Reference in New Issue
Block a user