[all-commits] [llvm/llvm-project] 5585dd: [bazel]: de-alias pybind11 headers target (#79676)
Jeremy Kun via All-commits
all-commits at lists.llvm.org
Fri Jan 26 21:27:33 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5585ddd90b08ecc287e1fb7f765056dc13ccbfe1
https://github.com/llvm/llvm-project/commit/5585ddd90b08ecc287e1fb7f765056dc13ccbfe1
Author: Jeremy Kun <2467754+j2kun at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel]: de-alias pybind11 headers target (#79676)
In trying to set up python headers in an out-of-tree bazel MLIR project,
I encountered the `pybind11_bazel` project, and found that the
`@python_runtime` target used here is not defined by it.
Instead, it seems that `@python_runtime` is an alias used in some
projects like Tensorflow (see
https://github.com/tensorflow/tensorflow/blob/322936ffdd96ee59e27d028467fe458859cf3855/third_party/python_runtime/BUILD#L7-L7),
where it is aliased to `@local_config_python`. In fact,
`@local_config_python` is defined by `@pybind11_bazel`, and so it seems
that this layer of indirection no longer serves a purpose, and instead
just prevents anyone who doesn't clone Tensorflow's config from using
the python bindings here.
This commit updates the dependent targets to their canonical de-aliased
equivalents, and I suspect this will not even break any downstream users
since the new target is defined in those projects already.
Without this change, running, for example
```
bazel build @llvm-project//mlir:MLIRBindingsPythonCore
```
gives the error
```
no such package '@python_runtime//': The repository '@python_runtime'
could not be resolved: Repository '@python_runtime' is not defined and
referenced by '@llvm-project//mlir:MLIRBindingsPythonCore'
```
Minimal reproduction in https://github.com/j2kun/test_mlir_bazel_pybind,
which, when pointing to a local LLVM repository that has this change
(see `bazel/import_llvm.bzl` in that repository), results in that build
succeeding.
Hat tip to Maksim Levental for going on an hours-long investigation with
me to figure this out.
More information about the All-commits
mailing list