Hello Andy!

Andy Wingo <wi...@pobox.com> writes:

> On Sun 06 Mar 2011 23:12, l...@gnu.org (Ludovic Courtès) writes:
>
>> Neil Jerram <n...@ossau.uklinux.net> writes:
>>
>>> In principle, how should Guile 2.0 be cross-compiled?  I'm thinking
>>> mostly of the part of the build that compiles all the installed modules.
>>
>> Guile 2.0 can only be cross-compiled when the endianness and word size
>> of the host and target match (because the bytecode generation cannot be
>> parameterized by these.)
>
> You know, I think it's actually just endianness right now; I don't see
> where word size comes into it, except for the cookie.

Oh, good.

> Anyway, in the future when we do AOT compilation, this question will be
> more serious.  (I would like to do AOT stuff this year.)  So, following
> the autoconf manual ("Specifying Target Triplets"), we would have build
> == host, but target == the arm triple; so we would need
> `target-endianness' (and possibly `target-word-size') in the compiler.

Yes.

> Where do you think we should put these, given that you don't want them
> in (rnrs bytevectors)?  :-)

I would add a ‘current-bytecode-endianness’ fluid in (language assembly
compile-bytecode).  The ‘compile’ procedure would have an optional
‘endianness’ parameter, which would set this fluid.  And ‘guile-tools
compile’ would have a command-line argument to specify the target
endianness.

WDYT?

Thanks,
Ludo’.

Reply via email to