Skip to content

[RFC] Possible alternate build mode #2068

@mosteo

Description

@mosteo

@mosteo: Should we consider supporting this in the future? Are there drawbacks to it?

We'd lose:

  • some built-in parallelism currently achieved by having gprbuild compile all the sources in one go. (we could use the same tactic as the test runner, spawning async commands in the dependency tree walk -> need to expose a make jobserver?)
  • (maybe) some change detection if we compile each source in a separate directory? ideally: pins and subcrates should call gprbuild every time, but regular dependencies could get away with rebuilding only if their build profile/switches changed.

We'd gain:

  • Build variable isolation. gprinstall will export a trimmed-down gpr project in dev mode, exposing only what's necessary, and baking in the externals used for compilation.
  • Better compatibility with AdaCore libraries (which are initially meant to be used that way).
  • Consistency between alr build and alr install.

There are probably some other advantages/drawbacks, I'll edit this if I think of others.

Originally posted by @AldanTanneo in #2056

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