From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Peter TB Brett Newsgroups: gmane.lisp.guile.devel Subject: Re: Automated build script for Windows builds Date: Mon, 11 Jan 2016 19:09:33 +0000 Message-ID: <87si240w7m.fsf@harrington.peter-b.co.uk> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1452539402 4149 80.91.229.3 (11 Jan 2016 19:10:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 11 Jan 2016 19:10:02 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Jan 11 20:09:54 2016 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aIhqk-0008Of-Fe for guile-devel@m.gmane.org; Mon, 11 Jan 2016 20:09:54 +0100 Original-Received: from localhost ([::1]:56388 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aIhqj-0007MK-UH for guile-devel@m.gmane.org; Mon, 11 Jan 2016 14:09:53 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59029) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aIhqd-0007MF-SN for guile-devel@gnu.org; Mon, 11 Jan 2016 14:09:48 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aIhqa-0006NO-ME for guile-devel@gnu.org; Mon, 11 Jan 2016 14:09:47 -0500 Original-Received: from mail.net2air.co ([195.167.180.164]:33634) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aIhqa-0006NC-HD for guile-devel@gnu.org; Mon, 11 Jan 2016 14:09:44 -0500 Original-Received: from gateway.peter-b.co.uk (petertbbrett.plus.com [80.229.237.5]) by mail.net2air.co (Postfix) with ESMTPSA id C5704ED27E for ; Mon, 11 Jan 2016 19:09:33 +0000 (GMT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.167.180.164 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:18123 Archived-At: Hi Mads, Glad to see I'm not the only person who's building Guile for Windows! For the gEDA project, which uses Guile quite extensively, we've for quite some years had a recipe-based cross-build system called "minipack" that's use for cross-compiling Guile and the geda-gaf electronic design package. https://github.com/peter-b/minipack Do you think that there might be some scope for collaboration around minipack? It might be a good approach for avoiding duplication of effort in this area, and would mean that more time can be spent on improving Guile on Windows rather than just getting it working. I've identified two things that I'd really like to get some help with: * Guile is happy to be built with an i686-w64-mingw32 compiler, but it fails to build with an x86_64-w64-mingw32 compiler. This is because of the implementation of scm_i_inum2big(). This is happy to be compiled on LP64 systems (where sizeof(long) == 8). However, Windows x64 is an LLP64 system where sizeof(int) == sizeof(long) == 4, meaning that scm_i_inum2big() doesn't work. I'm not sure what would be involved with addressing this, but until it is fixed, it's not possible to compile a 64-bit Guile for Windows. * Currently, it's necessary to define the GUILE_LOAD_COMPILED_PATH, GUILE_LOAD_PATH and (optionally) GUILE_SYSTEM_EXTENSIONS_PATH environment variables before guile.exe will run on a Windows systems. Ideally, I'd like to be able to provide a relocatable Windows build that could be provided as an archive that could be extracted anywhere and run with no additional configuration. What would be involved in enabling libguile to guess appropriate load paths on Windows without having to faff around with Windows' awkward environment variable configuration UI? Thanks in advance to anyone who can help me out with these two issues! Peter -- Dr Peter Brett