chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] [PATCH] A cache system for the build environment


From: Aleksej Saushev
Subject: Re: [Chicken-hackers] [PATCH] A cache system for the build environment
Date: Sat, 09 Feb 2013 17:11:09 +0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (berkeley-unix)

Michele La Monaca <address@hidden> writes:

> On Thu, Feb 7, 2013 at 4:55 AM, Jim Ursetto <address@hidden> wrote:
>>
>> This is how I do it.  This way you have unlimited variants, can
>> recall any of them, and can optionally set a default.  Also
>> it doesn't need a patch.
>>
>> echo 'make PREFIX=/tmp PLATFORM=macosx "$@"'       > make.test
>> echo 'make PREFIX=/usr/local PLATFORM=macosx "$@"' > make.local
>> chmod +x make.test make.local
>> ln -s make.local make              # default make
>>
>> ./make.test
>
> smart approach, indeed. Thanks for sharing this. Anyway, my proposal
> was mostly geared towards casual users or users which install chicken
> for the first time and which are accustomed to the standard:
>
> # [./configure]
> # make
> # make install
>
> open source build process. I think that anything beyond that, any
> extra step, any extra hassle, might alienate them.

First, casual users don't install Chicken from original source.
They use package management system. Thus your optimization doesn't apply
to them. What you're addressing with cache is your personal inconvenience.

Second, less casual users can set these variables in their environment.
If Makefile is written correctly, Make picks environment settings up.
Or they can introduce other hacks like the one above.

If all this does cause such a big problem, then you should invest some
time in platform detection mechanism. Currently, it is rather primitive,
and should be hard to automate.

And last, introduction of cache causes a lot more problems than it solves,
thus the only justification for such cache is that the lack of it causes
really visible effects. E.g. lack of it in autoconf-based build systems
does cause visible slow down, since you have to run all those slow
eval-based multi-megabyte shell scripts that do a lot of fork calls and
spawn C or C++ compiler thousands times. I don't see how this applies to
make-based build system Chicken uses.


-- 
HE CE3OH...




reply via email to

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