[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Partial automation of egg dependencies
From: |
felix . winkelmann |
Subject: |
Re: Partial automation of egg dependencies |
Date: |
Sun, 20 Nov 2022 21:43:11 +0100 |
> Would it be possible to add a feature something like this?
>
> (extension foo.bar
> (source "bar.sld")
> (auto-dependencies) ; <-- The new feature.
> (csc-options "-R" "r7rs" "-X" "r7rs"))
>
> auto-dependencies would compute the deps by traversing the given source
> file. It would look at csc-options and notice that r7rs is being used.
> Then expect an R7RS-style define-library form in bar.sld, look at
> (import ...) libraries matching those in the .egg and add those to
> component-dependencies, as well as traverse all (include "...") and add
> those to (source-dependencies ...).
>
> If csc-options doesn't say r7rs, it would do the same, but expect
> Chicken module syntax instead.
>
> I wrote some code to grovel r7rs libraries, and there's probably similar
> stuff in csm and Akku.scm too. So if the feature is ok we could stitch
> together the implementation from these.
That is quite a lot of stuff... You mention csm already, which does
most of this, but for packaging eggs I think this is a bit too much
automatic processing for my taste. I don't think such a feature belongs
into the core system, but a preprocessor (perhaps by scavenging code
from csm) or a mode for csm to emit egg files might be appropriate.
felix