Skip to content

[RFC] Build/Host/Target dependencies #2067

@mosteo

Description

@mosteo

Having separate sets of dependencies for the build toolset and the built code is popping up in several places recently. I'm opening this issue to centralize this discussion here.

This comment is the latest example:

Regarding cross compilation, the compiler itself (same is true for gnatformat, gnatprove, ...) should not be a "normal" dependency specified by depends-on, but instead a dependency for the build platform.

For cross compilation we typically distinguish three platforms:

  • Build Platform: This is the platform on which the compilation tools are executed.
  • Host Platform: This is the platform on which the code will eventually run.
  • Target Platform: If this is a compiler, this is the platform that the compiler will generate code for.

So the regular depends-on would only specify host platform dependencies, while something like build-depends-on might specify dependencies for the build platform. The target platform is part of the name of the toolchain.

Originally posted by @ThyMYthOS in #728

Possibly related: #2048

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: RFCIssues that are idea discussions - Deprecated, use a Discussion instead

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions