From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.devel Subject: Re: Cross-compiling Guile 2.0 Date: Sun, 06 Mar 2011 11:03:06 +0000 Message-ID: <87y64sa4ut.fsf@ossau.uklinux.net> References: <87hbbhbb99.fsf@ossau.uklinux.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1299409416 28074 80.91.229.12 (6 Mar 2011 11:03:36 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 6 Mar 2011 11:03:36 +0000 (UTC) Cc: guile-devel@gnu.org To: Andy Wingo Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sun Mar 06 12:03:32 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 1PwBkE-0002c0-Sz for guile-devel@m.gmane.org; Sun, 06 Mar 2011 12:03:27 +0100 Original-Received: from localhost ([127.0.0.1]:45336 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PwBkE-0006IR-CG for guile-devel@m.gmane.org; Sun, 06 Mar 2011 06:03:26 -0500 Original-Received: from [140.186.70.92] (port=38505 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PwBk6-0006IL-E9 for guile-devel@gnu.org; Sun, 06 Mar 2011 06:03:19 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PwBk5-0007aW-1L for guile-devel@gnu.org; Sun, 06 Mar 2011 06:03:18 -0500 Original-Received: from mail3.uklinux.net ([80.84.72.33]:48663) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PwBk4-0007aN-L1 for guile-devel@gnu.org; Sun, 06 Mar 2011 06:03:16 -0500 Original-Received: from arudy (unknown [78.149.123.160]) by mail3.uklinux.net (Postfix) with ESMTP id 41F111F66DC; Sun, 6 Mar 2011 11:03:14 +0000 (GMT) Original-Received: from neil-laptop (unknown [192.168.11.4]) by arudy (Postfix) with ESMTP id B859238013; Sun, 6 Mar 2011 11:03:06 +0000 (GMT) In-Reply-To: (Andy Wingo's message of "Sat, 05 Mar 2011 22:41:57 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 X-Received-From: 80.84.72.33 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:11786 Archived-At: Andy Wingo writes: > On Sat 05 Mar 2011 20:47, 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. > > I have never cross-compiled anything, so I really don't know. > > Ideally we could make a cross-compiling Guile that executed on the host, > but produced .go files for the target. > > Hummmmmm. Does that mean that for cross-compile builds, that we should > not add the $builddir to the LOAD_COMPILED_PATH? Probably so, right? A > cross-compiler probably doesn't autocompile either. So then the > cross-compiler receives as its inputs the source files from a project, > then produces .go files for the target, but does not load .go files from > the target. > > Does that sound right to you? Thanks for your input on this. Yes. In principle I think the cross-compiler could simultaneously auto-compile, for itself, and non-auto-compile for the target, but that's a bit mind-blowing and would require careful handling of what's being written and read from where. Instead of that, we could do two separate steps: one where the cross-compiler compiles for itself, and one to compile for the target. What architectural dependencies are there in the .go format? If there aren't too many, a cross-compiler is probably the nicest solution, because the other two options (QEMU, and compiling after installation on the target) are probably going to be ridiculously slow. Neil