1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-09 13:30:26 +02:00

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.
This commit is contained in:
Neil Jerram 2009-07-04 00:33:05 +01:00
parent 51f465a948
commit 9f6b657549
2 changed files with 33 additions and 16 deletions

8
NEWS
View file

@ -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)

41
README
View file

@ -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.
When cross building guile, you first need to configure, build and
install guile for your build host.
For each of these steps, configure using an invocation like this:
Then, you may configure guile for cross building, eg:
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.
Cross-compiling for other hosts may also work, using the following
instructions; but this has not been recently tested.
To configure Guile for cross building, for example for Cygwin:
./configure --host=i686-pc-cygwin --disable-shared