I clarified a couple of things on IRC (thanks Felix) and I am going to drop this proposal.
Basically, building a module with static linkage only will prevent other modules from import-for-syntax’ing it.
I didn’t realize that using a module A’s definitions in a dependent module B’s macros would require the whole module A to be loaded, as opposed to - as I thought - only loading its import lib.
Too bad :) -- Pietro Cerutti I've pledged to give 10% of income to effective charities and invite you to join me. https://givingwhatwecan.org
On 16 Nov 2023, at 16:47, Pietro Cerutti <gahr@gahr.ch> wrote:
I figured I'd ask before coming along with a patch...
I have a use case where I boot up a CHICKEN environment, install a few eggs, compile a static application, then get rid of the environment altogether and just keep the application around. This happens inside FreeBSD jails where I want to keep only the bare mininum needed.
The CHICKEN environment is installed using binary packages, while the eggs - as you all know - are compiled on the fly.
Now, it would be great if I could specify to only compile static versions of the eggs, because that's what I'm going to use anyway.
If I built CHICKEN from source, that'd be STATICBUILD=1 (assuming the egg doesn't specify dynamic linkage only).
So, what do you guys think of allowing the linkage to be overridden by chicken-install? I guess I'd suggest a new option, -linkage, which can take the values 'static' and 'dynamic'. If the option is not provided, we do as we do today.
I can do the work, if you want the feature.
Thanks,
-- Pietro Cerutti I have pledged to give 10% of income to effective charities and invite you to join me - https://givingwhatwecan.org
|