[PATCH] D136496: [bazel] Make labels to third-party dependencies explicit

Aaron Siddhartha Mondal via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 25 00:34:37 PDT 2023


aaronmondal added subscribers: rupprecht, MaskRay.
aaronmondal added a comment.

@GMNGeoffrey @MaskRay @rupprecht @csigg To make sure, I'd like to verify again whether you are you ok with me committing this. @GMNGeoffrey had some concerns regarding the "pinning" of the name to `llvm-raw`. I've set up the current zstd support (https://reviews.llvm.org/D143344) in a way that reduces the dependence on `llvm-raw` to a single occurance. For zlib we have the same still pending in https://reviews.llvm.org/D143320. At the moment that requires dependents that use custom system overrides to make some changes to their workspaces (see @GMNGeoffrey's comment in https://reviews.llvm.org/D143344). This is temporary until the external deps are available as modules. Then we can completely remove `llvm-raw` from all external deps and directly use `bazel_dep(name = "zlib", version = "1234")` without custom imports in LLVM.

This is the last patch we need so that I can start properly getting the bzlmod patch ready (https://reviews.llvm.org/D137008).

When bzlmod support is complete a default LLVM import will look something like this in downstream projects:

  bazel_dep(name = "llvm-project-overlay", version = "17-init-bcr.2")
  
  llvm_project_overlay = use_extension(
      "@llvm-project-overlay//utils/bazel:extensions.bzl",
      "llvm_project_overlay",
  )
  
  llvm_project_overlay.configure()
  
  use_repo(llvm_project_overlay, "llvm-raw", "llvm-project")

BTW the entire rules_ll <https://github.com/eomii/rules_ll> build infrastructure has been using these patches for quite some time now. We're currently experimenting with caching and remote execution to see wether the cloud infra for an open-read remote Bazel cache for LLVM would be sustainable. If it is, we'd have a way to reduce the "build" time for LLVM Bazel users to ~2 min on a laptop from an empty local cache and some CI runtimes to potentially less than that.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136496/new/

https://reviews.llvm.org/D136496



More information about the llvm-commits mailing list