From 9dc4ac6e37927f36a054a9be5a2f73745cb4f731 Mon Sep 17 00:00:00 2001 From: Varun Gandhi Date: Fri, 1 Mar 2024 12:42:36 +0800 Subject: [PATCH] build: Bump LLVM version to latest --- fetch_deps.bzl | 25 +++++++++++++++++++++++-- indexer/Version.h | 2 +- setup_deps.bzl | 7 ------- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/fetch_deps.bzl b/fetch_deps.bzl index 6e8cbdc4..f49ea774 100644 --- a/fetch_deps.bzl +++ b/fetch_deps.bzl @@ -4,7 +4,7 @@ _BAZEL_SKYLIB_VERSION = "1.3.0" _PLATFORMS_COMMIT = "3fbc687756043fb58a407c2ea8c944bc2fe1d922" # 2022 Nov 10 _BAZEL_TOOLCHAIN_VERSION = "0.10.3" _RULES_BOOST_COMMIT = "ed40cc3c6fb76fe46f40150ebb81ef6a625b6e36" -_LLVM_COMMIT = "e0f3110b854a476c16cce7b44472cd7838d344e9" # Keep in sync with Version.h +_LLVM_COMMIT = "a344db793aca6881379c7c83f5112d2870dbf958" # Keep in sync with Version.h _ABSL_COMMIT = "4ffaea74c1f5408e0757547a1ca0518ad43fa9f1" _CXXOPTS_VERSION = "3.0.0" _RAPIDJSON_COMMIT = "a98e99992bd633a2736cc41f96ec85ef0c50e44d" @@ -79,6 +79,17 @@ def fetch_direct_dependencies(): # Keep the name 'zlib' so that Protobuf doesn't pull in another copy. # # https://sourcegraph.com/github.com/protocolbuffers/protobuf/-/blob/protobuf_deps.bzl?L48-58 + # + # Yes, LLVM pulls in zlib-ng, but I can't figure out how to unify the two. + # I tried adding this to the llvm_zlib http_archive call: + # + # repo_mapping = {"@zlib": "@llvm_zlib"} + # + # but that resulted in a build error. + # Compiling src/google/protobuf/io/gzip_stream.cc failed: undeclared inclusion(s) in rule '@com_google_protobuf//:protobuf': + # this rule is missing dependency declarations for the following files included by 'src/google/protobuf/io/gzip_stream.cc': + # 'external/zlib/zlib.h' + # 'external/zlib/zconf.h' http_archive( name = "zlib", build_file = "@scip_clang//third_party:zlib.BUILD", @@ -90,6 +101,16 @@ def fetch_direct_dependencies(): ], ) + http_archive( + name = "llvm_zlib", + build_file = "@llvm-raw//utils/bazel/third_party_build:zlib-ng.BUILD", + sha256 = "e36bb346c00472a1f9ff2a0a4643e590a254be6379da7cddd9daeb9a7f296731", + strip_prefix = "zlib-ng-2.0.7", + urls = [ + "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.0.7.zip", + ], + ) + http_archive( name = "llvm_zstd", build_file = "@llvm-raw//utils/bazel/third_party_build:zstd.BUILD", @@ -102,7 +123,7 @@ def fetch_direct_dependencies(): http_archive( name = "llvm-raw", - sha256 = "04b76a5be88331f71a4e4fe96bccfebec302ddd0dbd9418fd5c186a7361c54fb", + sha256 = "9b9c46e9fd3b62cc588bf4a622924b0227624b5741cbc6b909a5d315ec1b79b0", strip_prefix = "llvm-project-%s" % _LLVM_COMMIT, build_file_content = "# empty", urls = ["https://github.com/llvm/llvm-project/archive/%s.tar.gz" % _LLVM_COMMIT], diff --git a/indexer/Version.h b/indexer/Version.h index 8abb059e..7d0b1d95 100644 --- a/indexer/Version.h +++ b/indexer/Version.h @@ -17,7 +17,7 @@ constexpr bool debugMode = false; #define VERSION "0.3.1" #define LLVM_COMMIT \ - "e0f3110b854a476c16cce7b44472cd7838d344e9" // Keep synced with fetch_deps.bzl + "a344db793aca6881379c7c83f5112d2870dbf958" // Keep synced with fetch_deps.bzl // TODO: Add scip-clang Git SHA + dirty bit. diff --git a/setup_deps.bzl b/setup_deps.bzl index 6dccda3c..5b9027f7 100644 --- a/setup_deps.bzl +++ b/setup_deps.bzl @@ -2,11 +2,7 @@ load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") load("@com_github_nelhage_rules_boost//:boost/boost.bzl", "boost_deps") load("@com_grail_bazel_compdb//:deps.bzl", "bazel_compdb_deps") load("@llvm-raw//utils/bazel:configure.bzl", "llvm_configure") -load("@llvm-raw//utils/bazel:terminfo.bzl", "llvm_terminfo_disable") -load("@llvm-raw//utils/bazel:zlib.bzl", "llvm_zlib_external") load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") -load("@python_3_10//:defs.bzl", "interpreter") -load("@rules_python//python:pip.bzl", "pip_parse") load("@python_deps//:requirements.bzl", install_python_deps = "install_deps") def setup_dependencies(): @@ -14,9 +10,6 @@ def setup_dependencies(): boost_deps() bazel_compdb_deps() - llvm_terminfo_disable(name = "llvm_terminfo") - llvm_zlib_external(name = "llvm_zlib", external_zlib = "@zlib//:zlib") - # FIXME: Should we allow all targets in a release build? # Limit the number of backends here to save on compile time for now. llvm_configure(name = "llvm-project", targets = ["AArch64", "X86"])