From 19443dcf0a19c282870d47139e09ee885bf735fe Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Thu, 6 Jul 2023 11:07:20 +0200 Subject: [PATCH] Swift: expose swift version definitions --- swift/third_party/load.bzl | 4 ++++ .../swift-llvm-support/BUILD.bazel | 19 +++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/swift/third_party/load.bzl b/swift/third_party/load.bzl index 9cefc77948d1..10848b954bfb 100644 --- a/swift/third_party/load.bzl +++ b/swift/third_party/load.bzl @@ -16,6 +16,10 @@ _swift_arch_map = { "macOS-X64": "darwin_x86_64", } +def get_swift_version(): + _, version, _ = _swift_prebuilt_version.split("-") + return tuple([int(x) for x in version.split(".")]) + def _github_archive(*, name, repository, commit, build_file = None, sha256 = None): github_name = repository[repository.index("/") + 1:] maybe( diff --git a/swift/third_party/swift-llvm-support/BUILD.bazel b/swift/third_party/swift-llvm-support/BUILD.bazel index 2f6df03697fe..49c98d3ec826 100644 --- a/swift/third_party/swift-llvm-support/BUILD.bazel +++ b/swift/third_party/swift-llvm-support/BUILD.bazel @@ -1,3 +1,5 @@ +load("//swift/third_party:load.bzl", "get_swift_version") + package(default_visibility = ["//swift:__subpackages__"]) #TODO we will be introducing universal binaries at a later stage, when we have both architectures prebuilt for macOS @@ -12,10 +14,23 @@ _arch_override = { actual = select({ "@bazel_tools//src/conditions:%s" % arch: "@swift_prebuilt_%s//:%s" % ( _arch_override.get(arch, arch), - name, + name.lstrip("_"), ) for arch in ("linux", "darwin_x86_64", "darwin_arm64") }), ) - for name in ("swift-llvm-support", "swift-test-sdk", "swift-resource-dir") + for name in ("_swift-llvm-support", "swift-test-sdk", "swift-resource-dir") ] + +_major, _minor, _patch = get_swift_version() + +cc_library( + name = "swift-llvm-support", + defines = [ + "SWIFT_VERSION=%d" % (_major * 1000000 + _minor * 1000 + _patch), + "SWIFT_VERSION_MAJOR=%d" % _major, + "SWIFT_VERSION_MINOR=%d" % _minor, + "SWIFT_VERSION_PATCH=%d" % _patch, + ], + deps = [":_swift-llvm-support"], +)