chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] chicken-setup


From: Shawn Rutledge
Subject: Re: [Chicken-users] chicken-setup
Date: Tue, 15 Jul 2008 12:48:56 -0700

On Mon, Jul 14, 2008 at 6:01 PM, Ivan Raikov <address@hidden> wrote:
>   The idea is basically to isolate all of the general procedures for
> e.g. installation and compilation, which once written would probably
> stay relatively unchanged, and only modify the frontend as
> chicken-setup policies evolve. We could also think about having
> different frontends, e.g. for use with different package building
> tools.

This sounds good so far.

So an egg could include a custom setup script, or else it would be
auto-generated from the .meta file at installation time and therefore
the egg is not required to provide it, right?

On Tue, Jul 15, 2008 at 12:11 AM, Peter Bex <address@hidden> wrote:
> I don't think this can be solved automatically (unless we want to
> recreate Autotools or CMake) so what is needed is a way to override or
> add to existing search paths by passing switches to chicken-setup,
> which it then can pass on to the compiler. Example:
>
> chicken-setup foo.egg -I /opt/foo/include -L /opt/foo/lib

That could be a last-ditch way to solve problems but I would hope most
users wouldn't need to do that for most eggs.

Is there anything wrong with putting extra -I's and -L's in the meta
file, with some possible guesses the egg developer can think of, where
a particular library or include might be located?  And chicken-setup
could append the usual suspects automatically, like /usr/include,
/usr/local/include etc.

(library foo-wrapper
  (version 1.4)
  (make (foo-wrapper.scm) (compile -O2 -d0 -s foo-wrapper.scm
-L/usr/lib/foo -L/usr/include/foo -ldl -lfoo -lchicken))))

One problem I could think of is the case where the user has multiple
versions of the same library, or is cross-compiling, in which case the
default paths, or the paths suggested in the meta file, could be
misleading.  I guess he'd have to specify the -I and -L somehow, as
you suggest.  If the user does that, then chicken-setup would not
include the default paths, or at least would put the provided paths
first.

Or somehow the meta file could suggest that libfoo.so might be located
in a directory called foo-1.0, somewhere, and chicken-setup could
expand that to -L/usr/lib/foo-1.0 -L/usr/local/lib/foo-1.0 etc.

But the ability to cross-compile eggs is something I need to test
soon; sounds like it's pretty cool already.  I'm working on a bitbake
recipe for chicken for OpenMoko (I'm still a newbie with that) and am
wondering if it's going to be possible to get bitbake to compile all
the eggs too, and make ipk's for all of them, hopefully either
semi-automatically or I can come up with a way to generate recipes
automatically from the meta files, or something.




reply via email to

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