From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: Cross-compiling Guile 2.0 Date: Fri, 18 Mar 2011 11:17:05 +0100 Message-ID: <87bp18pwbi.fsf@gnu.org> References: <87hbbhbb99.fsf@ossau.uklinux.net> <87k4gb99uv.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1300443446 7171 80.91.229.12 (18 Mar 2011 10:17:26 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 18 Mar 2011 10:17:26 +0000 (UTC) Cc: guile-devel@gnu.org To: Andy Wingo Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Mar 18 11:17:19 2011 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Q0WkA-0008Ew-0f for guile-devel@m.gmane.org; Fri, 18 Mar 2011 11:17:18 +0100 Original-Received: from localhost ([127.0.0.1]:33496 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q0Wk9-0006eR-EA for guile-devel@m.gmane.org; Fri, 18 Mar 2011 06:17:17 -0400 Original-Received: from [140.186.70.92] (port=46217 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q0Wk6-0006eG-Ey for guile-devel@gnu.org; Fri, 18 Mar 2011 06:17:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q0Wk4-0000jK-Kj for guile-devel@gnu.org; Fri, 18 Mar 2011 06:17:14 -0400 Original-Received: from solo.fdn.fr ([80.67.169.19]:50127) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q0Wk4-0000iu-8w for guile-devel@gnu.org; Fri, 18 Mar 2011 06:17:12 -0400 Original-Received: from nixey (unknown [193.50.110.208]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (Client did not present a certificate) (Authenticated sender: lcourtes) by smtp.fdn.fr (Postfix) with ESMTPSA id 15A7144536; Fri, 18 Mar 2011 11:17:11 +0100 (CET) X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 28 =?iso-8859-1?Q?Vent=F4se?= an 219 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu In-Reply-To: (Andy Wingo's message of "Fri, 18 Mar 2011 01:04:46 +0100") User-Agent: Gnus/5.110013 (No Gnus v0.13) Emacs/23.3 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 80.67.169.19 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:11902 Archived-At: Hello Andy! Andy Wingo writes: > On Sun 06 Mar 2011 23:12, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> Neil Jerram 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 > =3D=3D host, but target =3D=3D 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 =E2=80=98current-bytecode-endianness=E2=80=99 fluid in (langu= age assembly compile-bytecode). The =E2=80=98compile=E2=80=99 procedure would have an o= ptional =E2=80=98endianness=E2=80=99 parameter, which would set this fluid. And = =E2=80=98guile-tools compile=E2=80=99 would have a command-line argument to specify the target endianness. WDYT? Thanks, Ludo=E2=80=99.