chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] building only from .c files


From: Shawn Rutledge
Subject: Re: [Chicken-users] building only from .c files
Date: Tue, 5 Sep 2006 22:13:16 -0700

On 9/4/06, Brandon J. Van Every <address@hidden> wrote:
So, who has the real need to do cross-compilation?

I'm using Chicken on the Zaurus (ARM processor).  The approach I'm
using now is to actually compile Chicken on the Zaurus.  (I do this on
a chroot image on a CF card, because OpenZaurus images don't come with
gcc.)  It takes hours though.  The reason I do that is I figured to
use csc, it's best to make sure chicken itself can compile with the
same gcc, libc, etc. and that way everything is guaranteed compatible.
So then I can also use csc right on the Zaurus and end up with a
native ARM binary (this is also slow).

Alternatively there could be an option to both cross-compile chicken,
and have a cross-csc for generating the ARM binaries.  This would be
much quicker on a fast machine, whereas ARMs only go so fast (and I
have not investigated whether one of the ARM emulators running on an
X86 box might possibly be much faster than the real thing).

One other caveat is that gcc 4.0.2 failed to compile chicken 2.41 (I
got an "internal compiler error") so I downgraded to gcc 3.4.4 and
succeeded.  I assume this is a legitimate GCC bug though.

On the tcc mailing list somebody has just resurrected the idea of an
ARM backend, so I chimed in with this idea as well, that if tcc could
compile chicken, it could probably also be used for csc, and would
probably be much faster than gcc.  (tcc made news a while back with
the announcement of some sort of boot image that would compile the
entire Linux kernel tree from source and then run it, and this took
less than a minute if memory serves.)  Work was started on an arm
backend for tcc a few years ago but it is incomplete.

Ideally tcc would even be fast enough for Chicken to compile on the
fly to native binary before running most programs, so that the
interpreter is seldom needed.  Sortof like Chez does (but Chez uses a
direct-to-machine code Scheme compiler, and apparently nobody else
knows how to write one that performs as well).




reply via email to

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