chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] TinyCLOS 'examples' install path?


From: Ivan Raikov
Subject: Re: [Chicken-hackers] TinyCLOS 'examples' install path?
Date: Sun, 09 Mar 2008 11:14:12 +0900
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

  Okay, I see what you mean now. I think it might be possible to
introduce separate actions or stages in chicken-setup, but I do not
want to make any more changes right now, because I need to deal with
the side-effects of introducing the -install-prefix option.

  I believe it would be easy to separate the installation of libraries
and documentation. The more difficult part would have to do with eggs
that use copy-file/move-file to install additional files, and eggs
that run make or some other external commands as part of the
compilation. One possible scheme would be to introduce the following
stages in chicken-setup:

  1. Compilation (via the compile macro, or make)
  2. Installation of extensions
  3. Installation of programs
  4. Installation of scripts
  5. Installation of documentation
  6. Files installed with copy-file/move-file

I think that it would not be very difficult to add options to
chicken-setup that only execute a part of the above sequence. But some
eggs do things like this:

  (run (csi -qbs atlas-lapack-eggdoc.scm > atlas-lapack.html))

Logically, this should be part of the compilation process, but of
course chicken-setup has no way of telling that. One possible solution
would be to prohibit the direct use of the run macro in setup scripts,
and instead use a variant of the macro that specifies the stage when
it should be executed, e.g.:

  (post-compile (run (csi -qbs atlas-lapack-eggdoc.scm > atlas-lapack.html)))

"post-compile" here tells chicken-setup that this command should be
considered part of the compilation stage, and it should be executed
after all invocations of compile or make. So I think what you are
proposing is feasible, it just takes a little bit of careful thought,
and unfortunately it will require modifying existing setup scripts.

   -Ivan

"Leonardo Valeri Manera" <address@hidden> writes:

>
> What I mean is that the egg build system does not support separate
> compilation/installation actions, or at least not consistently.
>
> With 3.0.0 chicken-setup it was (sometimes) possible to do this, with
> the chicken-setup in trunk (which is much better, btw) this isnt
> possible at all, from what I can tell.
>
> Not that we at gentoo could make a use of such a feature if it
> existed because:
>
> It also has no support for separate documentation installation paths.
>
> I've reworked my eclass functions around trunk. Its working very
> nicely, and you don't have to really bother with anything else on my
> account:
> I compile and install in a temp dir in one action, where it would
> normally be 2, then perform 'make install' equivalent actions to the
> real sandbox install tree myself since I need to move the
> documentation to /usr/share/doc.
>
> Of course it would be better if I could make chicken-setup do that for
> me, but that would probably be not worth the bother for you guys :)
>
> Leo




reply via email to

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