chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] C lost -D on chicken-install


From: Peter Bex
Subject: Re: [Chicken-hackers] C lost -D on chicken-install
Date: Tue, 21 Aug 2018 09:50:38 +0200
User-agent: NeoMutt/20170113 (1.7.2)

On Tue, Aug 21, 2018 at 09:22:47AM +0200, address@hidden wrote:
> address@hidden wrote:
> > There is no bad intent behind this - during the rewrite simply a few options
> > were dropped, since they didn't look crucial. If you want it back, no 
> > problem.
> 
> I’ve been missing it a little bit, but I agree with some of what has been 
> said 
> and would like to add my 2 cents.
> 
> Should the features declared via chicken-install be passed to all dependencies
> being built? I think so.
> Vasilij’s example is quite nice to support this opinion, building hypergiant
> will bring a lot of other eggs, and every one of them accept a “gles” feature 
> to
> build for OpenGL ES instead of OpenGL.
> 
> I ported (not published yet) some of these eggs and I’ve been missing a way to
> do different things depending on whether the gles feature is defined or not.
> I think we should add a cond-expand like mecanism in the egg file format as
> well, if we add `chicken-install -D` back.

While I'm all for improving things, let's keep an eye on feature creep.  We
are only fixing critical bugs here, not adding new features: those can go
into 5.1.

Perhaps for now the easiest way is to blindly pass the -D options onto csc.
If a build script needs to do something special with this info, I'd suggest
using environment variables for now.  Alternatively, one could test-compile a
program that uses cond-expand and re-exports it back to the build script.

It's a bit hacky, but should be enough for these special cases.  Using
cond-expand in a build script sounds pretty difficult to do right with
dependencies, because it may result in build and install scripts that
no longer just depend on files for their freshness, but now also differ
depending on what features were selected.  This gets hairy very fast!

If this is still considered important, I'd suggest making a ticket for
CHICKEN 5.1 where we can discuss the best approach and weigh our options.

Cheers,
Peter

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]