bazel build --incompatible_no_implicit_file_export
authorBenoit Jacob <benoitjacob@google.com>
Fri, 9 Jun 2023 02:33:51 +0000 (02:33 +0000)
committerBenoit Jacob <benoitjacob@google.com>
Wed, 14 Jun 2023 19:24:47 +0000 (19:24 +0000)
commit1c532b5e44fa1fbff84c494c659fe722b7df4b10
tree2cffcc49bfd5703af2710befb6b76ed63da6d163
parentdc4359fecf02f4230b4a5b900077c29d1b90f4ab
bazel build --incompatible_no_implicit_file_export

The Bazel build was relying, for the two files enumerated in this diff, on the legacy implicit-export semantics described here:
https://bazel.build/reference/be/functions#exports_files

This documentation page encourages migrating away from this legacy behavior, and indeed we have a user who reported a Bazel build error and it appears that they were already using the new, stricter behavior:
https://github.com/openxla/iree/pull/13982
and while examining fixes on our side and trying to get a clean Bazel build, I ran into this similar issue in the LLVM overlay.

It would arguably be cleaner (in the sense of more structured) to rely on `filegroup` to export this, but I am insufficiently familiar with the Clang build (the dependent targets seem to be below Clang) to do this myself. The present `exports_files` solution has the merit of being localized in these few lines here.

Differential Revision: https://reviews.llvm.org/D152491
utils/bazel/.bazelrc
utils/bazel/llvm-project-overlay/llvm/BUILD.bazel