[Top][All Lists]

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

Re: [Axiom-developer] RE: cross-compiling Axiom

From: root
Subject: Re: [Axiom-developer] RE: cross-compiling Axiom
Date: Sun, 3 Sep 2006 22:18:47 -0400


I was giving a tutorial on the difference between two different
obscure techniques that could be used to get Axiom running on a new
system. I'm not advocating either technique.

> > Axiom was ported to the Zaurus handheld using cross-compilation.
> > Camm does it in the Debian setup.
> No, I don't think that is true.

You're right. I'm wrong.

> There are two methods generally used, CROSS-COMPILATION and
> I have never heard of "cross-mounting" used in this context.

Cross-mounting was the primary way to build axiom. A Zaurus
handheld contains more processor speed and memory than the 
systems we used to use. Storing the SRC and INT directories
on the target machine would cause them to run out of disk space.

> > CROSS-MOUNTING is easier if the target system has the tools and
> Tim, that sounds like nonsense. Anyone can mount source directories
> located on another machine running another operating system. You can
> use NFS, or Samba or whatever. This has nothing to do with cross-
> compilation.

ummm, that's why I put it in a separate paragraph named CROSS-MOUNTING.
yes, it has nothing to do with CROSS-COMPILATION.

> Maybe this strategy was interesting once-upon-a-time but with
> the machines that we have available today I doubt that there is
> much advantage to this. 

Quite true. Which is why I now copy the sources to the target machine.

I'm pointing out that historically Axiom built on many target
systems which had the speed of your toaster and the disk space of
your credit card using this technique. It explains why Axiom is
structured the way it is. A full, from-scratch Axiom build used
to take 3 weeks. Two days on a Zaurus would have been a miracle.

> But I still do not understand how you can talk about cross-
> compilation and GCL. When GCL compiles some lisp source code
> it produces intermediate C code which, yes could in principle
> be compiled for another architecture, but then it immediately
> attempts to link the generated object code into the running
> GCL image. If you are attempting cross-compilation this is
> not possible because the running GCL image is not compatible
> with the object code produced by gcc.
> What am I missing?

Not much that I can see. Yes, you could build a cross-compiled
image of Axiom and you could set the system so it does not try
to compile things but you couldn't use it for algebra development
without a lot of hand-manipulation (e.g. running the debugsys
image in which everything is interpreted, hand-loading the
interpreted form of the compiled algebra, etc).

I'm at a loss about why the cross-compilation issue was raised.

> > The advantage of CROSS-MOUNTING is that you are building on
> > the final target and can use all of the libraries, includes,
> > and tools. The disadvantage is that you can't do this if the
> > target does not have the horsepower.
> As far as I can see, this is irrelevant to the issue of cross-
> compilation.

Historically it wasn't. On systems with 10 gig hard drives
and 4 Meg of memory (a VERY big system then) you didn't need
to do this. But on systems with 10 meg hard drives and 640k
of memory it was a challenge.

The compilers did not include a cross-compile target so it
was not possible to build on anything but the target systems.

Now it's completely worthless, as you point out.

> > 
> > Which method you use is determined by the resources of the
> > target.
> > 
> If you build the binaries on the target this is not cross-
> compilation.

ummm, again, I don't believe I said it was....
I was just giving a tutorial about the two techniques.
I don't recommend either one.


reply via email to

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