mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-07-10 11:20:28 +02:00
Improve README text on cross-building for Windows
* README: In particular, cover and recommend using wine. Separate the "not recently tested" instructions into a separate section. Otherwise, various minor textual improvements.
This commit is contained in:
parent
a0aa1e5b69
commit
a52d8d6fea
1 changed files with 28 additions and 12 deletions
40
README
40
README
|
@ -177,29 +177,45 @@ switches specific to Guile you may find useful in some circumstances.
|
||||||
--disable-regex --- omit regular expression interfaces
|
--disable-regex --- omit regular expression interfaces
|
||||||
|
|
||||||
|
|
||||||
Cross building Guile =====================================================
|
Cross-building for Windows ================================================
|
||||||
|
|
||||||
Guile can be cross-compiled for Windows using the i586-mingw32msvc
|
Guile can be cross-compiled for Windows using the i586-mingw32msvc
|
||||||
cross-compiler. To do this, you first need to cross-build Guile's
|
cross-compiler. To do this, you first need to cross-build Guile's
|
||||||
prerequisites - GNU MP and libtool/libltdl (as described above) - and
|
prerequisites (GNU MP and libtool/libltdl, as listed above) and then
|
||||||
then cross-build Guile itself.
|
cross-build Guile itself.
|
||||||
|
|
||||||
For each of these steps, configure using an invocation like this:
|
For each of these builds, configure using an invocation like this:
|
||||||
|
|
||||||
|
CPPFLAGS=-I/usr/local/i586-mingw32msvc/include \
|
||||||
|
LDFLAGS=-L/usr/local/i586-mingw32msvc/lib \
|
||||||
|
./configure --prefix=/usr/local/i586-mingw32msvc --host=i586-mingw32msvc
|
||||||
|
|
||||||
|
Then run `make' - which should complete without any errors - and `sudo
|
||||||
|
make install'.
|
||||||
|
|
||||||
|
Some later steps of the build process (e.g. for preparing
|
||||||
|
documentation) involve running Guile, and ideally these steps should
|
||||||
|
use the Guile that has just been built. You can arrange for this,
|
||||||
|
even when cross-building, by having wine and binfmt installed; these
|
||||||
|
packages allow the Linux kernel to run Windows executables and DLLs.
|
||||||
|
In this case, you can also run `make check' after `make', to run
|
||||||
|
Guile's test suite.
|
||||||
|
|
||||||
|
Alternatively, you can use another Guile installation for these steps,
|
||||||
|
from a normal non-cross build. To do this, set the GUILE_FOR_BUILD
|
||||||
|
environment variable when running ./configure; for example:
|
||||||
|
|
||||||
CPPFLAGS=-I/usr/local/i586-mingw32msvc/include \
|
CPPFLAGS=-I/usr/local/i586-mingw32msvc/include \
|
||||||
LDFLAGS=-L/usr/local/i586-mingw32msvc/lib \
|
LDFLAGS=-L/usr/local/i586-mingw32msvc/lib \
|
||||||
GUILE_FOR_BUILD=/usr/local/bin/guile \
|
GUILE_FOR_BUILD=/usr/local/bin/guile \
|
||||||
./configure --prefix=/usr/local/i586-mingw32msvc --host=i586-mingw32msvc
|
./configure --prefix=/usr/local/i586-mingw32msvc --host=i586-mingw32msvc
|
||||||
|
|
||||||
Then run `make' - which should complete without any errors - and `sudo
|
In this case, note that `make check' won't work, because it can't test
|
||||||
make install'. (`make check' doesn't work when cross-compiling,
|
the Guile that has just been cross-built (and there would be no point
|
||||||
because the built DLLs and program cannot be run on GNU/Linux.)
|
in testing the GUILE_FOR_BUILD Guile instead).
|
||||||
|
|
||||||
The `GUILE_FOR_BUILD=...' setting is needed because some later steps
|
|
||||||
of the build process use Guile itself. In the non-cross-compiling
|
Cross building for other hosts =============================================
|
||||||
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
|
Cross-compiling for other hosts may also work, using the following
|
||||||
instructions; but this has not been recently tested.
|
instructions; but this has not been recently tested.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue