src/README: improve notes on cross-compilation
This commit is contained in:
parent
d44ed9ab53
commit
99b1571708
44
src/README
44
src/README
|
@ -271,20 +271,35 @@ file references within the installation are relative.
|
|||
|
||||
Cross-compilation requires at least two flags to `configure':
|
||||
|
||||
* `--host=OS', where OS is something like `i386-gnu-linux'
|
||||
* `--host=OS', where OS is something like `i386-gnu-linux' to
|
||||
indicate the target platform.
|
||||
|
||||
The `configure' script uses OS to find suitable compilation tools,
|
||||
such as `OS-gcc' and `OS-strip'.
|
||||
|
||||
* `--enable-racket=RACKET', where RACKET is a path to a Racket
|
||||
executable for the version being compiled that runs on the build
|
||||
(i.e., you must compile on the build machine to cross-compile)
|
||||
executable for the version being compiled that runs on the build
|
||||
platform.
|
||||
|
||||
The `--enable-racket' flag is needed because building and installing
|
||||
Racket requires running (an intermediate version of) Racket.
|
||||
This flag is needed because building and installing Racket requires
|
||||
running (an intermediate version of) Racket.
|
||||
|
||||
You may also need to set CC_FOR_BUILD to a compiler for the host
|
||||
platform (for building binaries to execute during the build process).
|
||||
If the target machine's stack grows up, you may have to supply
|
||||
`--enable-stackup'; if the target machine is big-endian, you may have
|
||||
to supply `--enable-bigendian'.
|
||||
A third `configure' flag is typical:
|
||||
|
||||
* `--enable-sgc', which uses a simpler garbage collector for the
|
||||
inermediate variant of Racket that is normally used only to build
|
||||
the final variant (see CGC vs 3m below).
|
||||
|
||||
Otherwise, you may need to set CC_FOR_BUILD to a compiler for the
|
||||
build platform, so that helper excutables can be created in the
|
||||
process of building the intermediate Racket that is used to build
|
||||
the final Racket.
|
||||
|
||||
Some less commonly needed `configure' flags:
|
||||
|
||||
* `--enable-stackup', if the target platform's stack grows up.
|
||||
|
||||
* `--enable-bigendian', if target platform is big-endian.
|
||||
|
||||
========================================================================
|
||||
CGC versus 3m
|
||||
|
@ -295,11 +310,12 @@ older, and it cooperates more easily with extensions written in C. The
|
|||
3m variant is the default: it is more robust and usually provides better
|
||||
overall performance.
|
||||
|
||||
The default build mode creates 3m binaries only. To create CGC binaries
|
||||
The default build mode creates 3m binaries only (except for a CGC
|
||||
binary that is used to build the 3m binary). To create CGC binaries
|
||||
in addition, run `make cgc' in addition to `make', or run `make both'.
|
||||
To install both variants, use `make install-both' instead of just `make
|
||||
install'. Alternately, use just `make cgc' and `make install-cgc' to
|
||||
build and install just the CGC variants.
|
||||
To install both variants, use `make install-both' instead of just
|
||||
`make install'. Alternately, use just `make cgc' and `make
|
||||
install-cgc' to build and install just the CGC variants.
|
||||
|
||||
CGC variants are installed with a "cgc" suffix. To swap the default
|
||||
build and install mode, supply `--enable-cgcdefault' to `configure'. In
|
||||
|
|
Loading…
Reference in New Issue
Block a user