Hi!

Pierre Neidhardt <m...@ambrevar.xyz> skribis:

> But as I understand it, all the "configurable part" of the builder is
> expose through the #:arguments field.  A simple example of this is
> python: the python-build-system has an argument which allows the package
> to specify whether we use python-2 or python-3.
>
> In this case, it's trivial to use parameters to influence which compiler
> the build system will use.
>
> For gnu-build-system (with gcc, clang, etc.) we can probably do similar
> things already by setting CC.
>
> The solution to your problem in my opinion is simply to expose just the
> right amount of options through #:arguments for all build systems.
> Would that be satisfactory to you?

I think the issue of tweaking the build system and its implicit inputs
must be addressed separately.  We first need a good API to do that.
When we have it, it’ll be nice and easy to drive it via package
parameters.  :-)

Currently each build system has ad-hoc keyword parameters to customize
its implicit inputs: #:python for ‘python-build-system’, #:cmake for
‘cmake-build-system’, #:implicit-inputs? for ‘gnu-build-system’, etc.

For each of them, it would be quite easy to provide a procedure that
takes a list of implicit inputs and returns a <build-system>.  It may
not be all that convenient, and perhaps a bit too ad-hoc still.

Another option would be to make implicit inputs a field of
<build-system>.

Needs more thought!

Ludo’.

Reply via email to