Files
codeql/swift/rules.bzl
Paolo Tranquilli 8b52bb0c31 Swift: build x86_64 on arm64 macOS
This is a temporary workaround. At a later stage we will add
* a Swift/LLVM prebuilt package for arm64
* universal binary for the extractor
2022-06-08 10:25:38 +02:00

29 lines
911 B
Python

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",
] + select({
# temporary, before we do universal merging and have an arm prebuilt package, we make arm build x86
"@platforms//os:macos": ["-arch=x86_64"],
"//conditions:default": [],
}))
_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)