This is an archive of the discontinued LLVM Phabricator instance.

[flang] Disable Plugins in out-of-tree builds
ClosedPublic

Authored by awarzynski on Aug 12 2021, 9:17 AM.

Details

Summary

https://reviews.llvm.org/D106137 added support for plugins in Flang. The
CMake configuration for plugins requires some LLVM variables that are
not available in out-of-tree builds (e.g. LLVM_SHLIB_OUTPUT_INTDIR).
This has caused the out-of-tree BuildBot worker to start failing:

This patch effectively disables plugins in out-of-tree builds and fixes
the configuration error. In order to support plugins in out-of-tree
builds, we would have to find a way to access the missing CMake
variables from LLVM. This could be implemented at a later time.

Diff Detail

Event Timeline

awarzynski created this revision.Aug 12 2021, 9:17 AM
awarzynski requested review of this revision.Aug 12 2021, 9:17 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 12 2021, 9:17 AM
Meinersbur accepted this revision.Aug 12 2021, 12:02 PM

LGTM

Such configuration paramters would typically be put into the exports file such that it gets re-imported in find_package.

This revision is now accepted and ready to land.Aug 12 2021, 12:02 PM

LGTM

Such configuration paramters would typically be put into the exports file such that it gets re-imported in find_package.

Do people mind when you tweak what's being exported? I'm a bit concerned that that could be a longer conversation. And I'm not sure what the future of out-of-tree builds is. Btw, thank you for reviewing!

This revision was automatically updated to reflect the committed changes.

Do people mind when you tweak what's being exported? I'm a bit concerned that that could be a longer conversation. And I'm not sure what the future of out-of-tree builds is. Btw, thank you for reviewing!

I certainly affects compatibility. LLVM/Clang's cmake config was broken/inconsistent for a long time such that people continued to use llvm-config. However, the paths to the .so should be made available to projects linking to LLVM, possibly not as a single path but as generator expression for each shared library.