You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
run_exports has been immensely helpful. Just to summarize it run_exports:
Allows packages with knowledge of what they need to express it for easy downstream consumption
Packages that are part of the build can add dependency to run
weak only happens when the dependency is added to host (not build)
strong happens when a dependency is added to build or host
Dependencies added can express ABI compatibility
However there are still some cases that are not covered. In particular there are cases where a dependency added to build needs to add itself to host, but there is no need to add it to run (in fact this would often be better to avoid). IOW run_exports/strong does not meet this need. Some examples include:
Solving these cases would involve a host_exports that allows adding other dependencies to host. Could imagine to use cases for a package providing host_exports
host_exports/weak (default)
Add dependencies to host if providing package is added to host
Solves the header-only dependency case above for a library
host_exports/strong (opt-in)
Add dependencies to host if providing package is in build or host
Handles the compiler dependency alignment problem (with OpenMP)
run_exports
has been immensely helpful. Just to summarize itrun_exports
:run
weak
only happens when the dependency is added tohost
(notbuild
)strong
happens when a dependency is added tobuild
orhost
However there are still some cases that are not covered. In particular there are cases where a dependency added to
build
needs to add itself tohost
, but there is no need to add it torun
(in fact this would often be better to avoid). IOWrun_exports/strong
does not meet this need. Some examples include:build
&host
of compiler dependencies (like OpenMP)llvm-openmp
only in build leads to arun_exports
against the latestllvm-openmp
conda-forge/openmp-feedstock#126cudart
)Solving these cases would involve a
host_exports
that allows adding other dependencies tohost
. Could imagine to use cases for a package providinghost_exports
host_exports/weak
(default)host
if providing package is added tohost
host_exports/strong
(opt-in)host
if providing package is inbuild
orhost
cudart
)The text was updated successfully, but these errors were encountered: