Always split host
and build
environments
#4402
Labels
backlog
issue has been triaged but has not been earmarked for any upcoming release
source::governance
created by members of the conda governance (https://github.com/conda-incubator/governance)
stale::recovered
[bot] recovered after being marked as stale
type::feature
request for a new feature or capability
Historically there was only
build
andrun
environments (particularly in conda-build 2 where it was last seen). In conda-build 3 the newhost
environment was added. The idea being that packagers want to separate and isolate build tools like compilers, CMake, autotools, etc. that only need to be used on the command line from libraries they want to link to in the build. This way packages don't accidentally link to libraries pulled in by build tools (like theopenssl
package thatcmake
depends on).As this was a significant change at the time, splitting
build
andhost
only happened under certain circumstances (like when a compiler was added tobuild
). Again this made since as many recipes still usedbuild
to meanhost
ashost
was a new thing.However as time has passed and recipes/tooling/knowledge has evolved it is understood now that
build
should be reserved for build tools and recipes should usehost
for anything they are linking to as part of the build. Given this, it may make sense to switch to always splittinghost
andbuild
as this is increasingly the safer way to build things. For an example of where not splitting these causes problems please see issue ( conda-forge/openssl-feedstock#87 ). After all packagers already have tools likemerge_build_host
to combine the two together if that is really intended ( though maybe we can document that key better #2890 ).The text was updated successfully, but these errors were encountered: