This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GNU Guile".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=9f6b657549280f0bd23e2f285d69370151d40549 The branch, branch_release-1-8 has been updated via 9f6b657549280f0bd23e2f285d69370151d40549 (commit) from 51f465a9489f659aa9d6270a699f96d7345b9561 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 9f6b657549280f0bd23e2f285d69370151d40549 Author: Neil Jerram <n...@ossau.uklinux.net> Date: Sat Jul 4 00:33:05 2009 +0100 Update `NEWS' and `README' to cover MinGW cross-compiling Also - removed the completely content-free `Special Instructions For Some Systems' section from `README' - changed the version number in `README' to 1.8.7. ----------------------------------------------------------------------- Summary of changes: NEWS | 8 ++++++++ README | 41 +++++++++++++++++++++++++---------------- 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/NEWS b/NEWS index 0c21225..7d51198 100644 --- a/NEWS +++ b/NEWS @@ -30,6 +30,14 @@ module binding). ** Have `scm_take_locale_symbol ()' return an interned symbol (bug #25865) ** Fix potential deadlocks when running on multiple threads +** Fix problems building with the i586-mingw32msvc cross-compiler + +It's now possible to build Guile for Windows by using the +i586-mingw32msvc cross-compiler on GNU/Linux. This kind of build +produces DLLs and a main program that can be copied to and used on a +Windows PC. For how to do this, see the `Cross building Guile' +section in `README'. + Changes in 1.8.6 (since 1.8.5) diff --git a/README b/README index 4891a64..32300a8 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -This is version 1.8.5 of Guile, Project GNU's extension language +This is version 1.8.7 of Guile, Project GNU's extension language library. Guile is an interpreter for Scheme, packaged as a library that you can link into your applications to give them their own scripting language. Guile will eventually support other languages as @@ -50,15 +50,6 @@ Guile requires the following external packages: available from http://www.gnu.org/software/libtool/ -Special Instructions For Some Systems ===================================== - -We would like Guile to build on all systems using the simple -instructions above, but it seems that a few systems still need special -treatment. If you can send us fixes for these problems, we'd be -grateful. - - <none yet listed> - Guile specific flags Accepted by Configure ================================= If you run the configure script with no arguments, it should examine @@ -188,14 +179,32 @@ switches specific to Guile you may find useful in some circumstances. Cross building Guile ===================================================== -As of guile-1.5.x, the build process uses compiled C files for -snarfing, and (indirectly, through libtool) for linking, and uses the -guile executable for generating documentation. +Guile can be cross-compiled for Windows using the i586-mingw32msvc +cross-compiler. To do this, you first need to cross-build Guile's +prerequisites - GNU MP and libtool/libltdl (as described above) - and +then cross-build Guile itself. + +For each of these steps, configure using an invocation like this: + +CPPFLAGS=-I/usr/local/i586-mingw32msvc/include \ +LDFLAGS=-L/usr/local/i586-mingw32msvc/lib \ +GUILE_FOR_BUILD=/usr/local/bin/guile \ +./configure --prefix=/usr/local/i586-mingw32msvc --host=i586-mingw32msvc + +Then run `make' - which should complete without any errors - and `sudo +make install'. (`make check' doesn't work when cross-compiling, +because the built DLLs and program cannot be run on GNU/Linux.) + +The `GUILE_FOR_BUILD=...' setting is needed because some later steps +of the build process use Guile itself. In the non-cross-compiling +case this is the version of Guile that has just been built. When +cross-compiling, you have to set GUILE_FOR_BUILD to tell the build +where it can find a native version of Guile, to use for these steps. -When cross building guile, you first need to configure, build and -install guile for your build host. +Cross-compiling for other hosts may also work, using the following +instructions; but this has not been recently tested. -Then, you may configure guile for cross building, eg: +To configure Guile for cross building, for example for Cygwin: ./configure --host=i686-pc-cygwin --disable-shared hooks/post-receive -- GNU Guile