replace "traditional Racket" references with "Racket BC"
This commit is contained in:
parent
e42dfffa3a
commit
7c256a051d
2
Makefile
2
Makefile
|
@ -246,7 +246,7 @@ native-for-cross:
|
|||
cd racket/src/build/cross; $(MAKE) reconfigure MORE_CONFIGURE_ARGS="$(MORE_CROSS_CONFIGURE_ARGS)"
|
||||
cd racket/src/build/cross/racket; $(MAKE)
|
||||
|
||||
racket/src/build/cross/Makefile: racket/src/configure racket/src/cfg-racket racket/src/Makefile.in
|
||||
racket/src/build/cross/Makefile: racket/src/configure racket/src/cfg-bc racket/src/Makefile.in
|
||||
cd racket/src/build/cross; ../../configure $(MORE_CROSS_CONFIGURE_ARGS)
|
||||
|
||||
# ------------------------------------------------------------
|
||||
|
|
29
build.md
29
build.md
|
@ -229,25 +229,24 @@ below.
|
|||
|
||||
The `make cs` target (or `make cs-as-is` for a rebuild, or `nmake
|
||||
win32-cs` on Windows with Visual Studio) builds a variant of Racket that
|
||||
runs on Chez Scheme. By default, the executables for the Racket-on-Chez
|
||||
variant all have a `cs` or `CS` suffix, and they coexist with a
|
||||
traditional Racket build by keeping compiled files in a machine-specific
|
||||
subdirectory of the `"compiled"` directory. You can remove the `cs`
|
||||
suffix and the subdirectory in `"compiled"` by providing
|
||||
`RACKETCS_SUFFIX=""` to `make`. (One day, the default for
|
||||
`RACKETCS_SUFFIX` will change from `"cs"` to `""`.)
|
||||
runs on Chez Scheme. By default, the executables for the Racket CS
|
||||
variant all have a `cs` or `CS` suffix, and they coexist with a Racket
|
||||
BC build by keeping compiled files in a machine-specific subdirectory of
|
||||
the `"compiled"` directory. You can remove the `cs` suffix and the
|
||||
subdirectory in `"compiled"` by providing `RACKETCS_SUFFIX=""` to
|
||||
`make`. (One day, the default for `RACKETCS_SUFFIX` will change from
|
||||
`"cs"` to `""`.)
|
||||
|
||||
Building Racket on Chez Scheme requires either an existing Racket or pb
|
||||
(portable bytecode) boot files for Chez Scheme. By default, pb bootf
|
||||
iles are downloaded from a separate Git repository by `make cs`. If you
|
||||
have Racket v7.1 or later, then you can choose instead to bootstrap
|
||||
using that Racket implementation with
|
||||
Building Racket CS requires either an existing Racket or pb (portable
|
||||
bytecode) boot files for Chez Scheme. By default, pb boot files are
|
||||
downloaded from a separate Git repository by `make cs`. If you have
|
||||
Racket v7.1 or later, then you can choose instead to bootstrap using
|
||||
that Racket implementation with
|
||||
|
||||
`make cs RACKET=racket`
|
||||
|
||||
Use `make both` to build both traditional Racket and Racket on Chez
|
||||
Scheme, where packages are updated and documentation is built only once
|
||||
(using traditional Racket).
|
||||
Use `make both` to build both Racket BC and Racket CS, where packages
|
||||
are updated and documentation is built only once (using Racket BC).
|
||||
|
||||
### 1.7. Even More Instructions: Building Racket Pieces
|
||||
|
||||
|
|
|
@ -210,8 +210,8 @@ If you need even more control over the build, carry on to
|
|||
The @exec{make cs} target (or @exec{make cs-as-is} for a rebuild, or
|
||||
@exec{nmake win32-cs} on Windows with Visual Studio) builds a variant
|
||||
of Racket that runs on Chez Scheme. By default, the executables for
|
||||
the Racket-on-Chez variant all have a @litchar{cs} or @litchar{CS}
|
||||
suffix, and they coexist with a traditional Racket build by keeping
|
||||
the Racket CS variant all have a @litchar{cs} or @litchar{CS}
|
||||
suffix, and they coexist with a Racket BC build by keeping
|
||||
compiled files in a machine-specific subdirectory of the
|
||||
@filepath{compiled} directory. You can remove the @litchar{cs} suffix
|
||||
and the subdirectory in @filepath{compiled} by providing
|
||||
|
@ -219,17 +219,17 @@ and the subdirectory in @filepath{compiled} by providing
|
|||
the default for @exec{RACKETCS_SUFFIX} will change from @tt{"cs"} to
|
||||
@tt{""}.)
|
||||
|
||||
Building Racket on Chez Scheme requires either an existing Racket or
|
||||
pb (portable bytecode) boot files for Chez Scheme. By default, pb
|
||||
bootf iles are downloaded from a separate Git repository by @exec{make
|
||||
cs}. If you have Racket v7.1 or later, then you can choose instead
|
||||
to bootstrap using that Racket implementation with
|
||||
Building Racket CS requires either an existing Racket or pb (portable
|
||||
bytecode) boot files for Chez Scheme. By default, pb boot files are
|
||||
downloaded from a separate Git repository by @exec{make cs}. If you
|
||||
have Racket v7.1 or later, then you can choose instead to bootstrap
|
||||
using that Racket implementation with
|
||||
|
||||
@commandline{make cs RACKET=racket}
|
||||
|
||||
Use @exec{make both} to build both traditional Racket and Racket on
|
||||
Chez Scheme, where packages are updated and documentation is built only
|
||||
once (using traditional Racket).
|
||||
Use @exec{make both} to build both Racket BC and Racket CS, where
|
||||
packages are updated and documentation is built only once (using
|
||||
Racket BC).
|
||||
|
||||
|
||||
@; ------------------------------------------------------------
|
||||
|
|
|
@ -2,13 +2,14 @@ Racket is distributed under the MIT license and the Apache version 2.0
|
|||
license, at your option. However, the Racket runtime system includes
|
||||
components distributed under other licenses. In short:
|
||||
|
||||
* The traditional Racket runtime system includes code distributed
|
||||
under the GNU Lesser General Public License, version 3. This
|
||||
runtime system is built from code in racket/src/racket.
|
||||
* The Racket CS runtime system embeds Chez Scheme, which is
|
||||
distributed under the Apache version 2.0 license. This runtime
|
||||
system is built from code in racket/src/cs and
|
||||
racket/src/ChezScheme.
|
||||
|
||||
* The Racket on Chez Scheme runtime system embeds Chez Scheme, which
|
||||
is distributed under the Apache version 2.0 license. This runtime
|
||||
system is built from code in racket/src/cs.
|
||||
* The Racket BC runtime system includes code distributed under the
|
||||
GNU Lesser General Public License, version 3. This runtime system
|
||||
is built from code in racket/src/racket.
|
||||
|
||||
Except for Windows executables that are created with the "embed DLLs"
|
||||
option, the runtime system remains separate as a shared library or
|
||||
|
@ -38,7 +39,7 @@ The following are used in all Racket executables:
|
|||
rktio/rktio_sha2.c. mbed TLS is licensed under the Apache
|
||||
v2.0 License.
|
||||
|
||||
The following are used only in the traditional Racket executable:
|
||||
The following are used only in the Racket BC executable:
|
||||
|
||||
* libscheme. Code from libscheme can be found in
|
||||
racket. See the file LICENSE-libscheme.txt
|
||||
|
|
|
@ -26,66 +26,48 @@ Report bugs:
|
|||
|
||||
|
||||
========================================================================
|
||||
Traditional Racket versus Racket-on-Chez
|
||||
Racket BC (ByteCode / Before Chez) versus Racket CS (Chez Scheme)
|
||||
========================================================================
|
||||
|
||||
This source directory contains implementations for two different
|
||||
versions of Racket: the traditional implementation that is
|
||||
substantially implemented in C, and an implementation that builds on
|
||||
Chez Scheme.
|
||||
versions of Racket: the original BC implementation that is
|
||||
substantially implemented in C, and the CS implementation that builds
|
||||
on Chez Scheme.
|
||||
|
||||
Traditional Racket
|
||||
------------------
|
||||
Racket BC
|
||||
---------
|
||||
|
||||
By default, `configure` and the Windows scripts build the traditional
|
||||
By default, `configure` and the Windows scripts build the BC
|
||||
implementation of Racket.
|
||||
|
||||
If you need more information specific to the traditional
|
||||
implementation of Racket, see "racket/README.txt".
|
||||
|
||||
Racket on Chez Scheme
|
||||
---------------------
|
||||
|
||||
To build Racket-on-Chez on Unix variants or Mac OS:
|
||||
|
||||
* ... in addition to the traditional variant of Racket: supply
|
||||
`--enable-cs` or `--enable-csdefault` to `configure`.
|
||||
|
||||
The generated Racket-on-Chez executables will have a "cs" suffix
|
||||
for `--enable-cs`, and it will not have a "cs" suffix for
|
||||
`--enable-csdefault`. Also, plain `make` will still build the
|
||||
traditional Racket implementation with `--enable-cs`; use `make cs`
|
||||
to build and `make install-cs` to install. With
|
||||
`--enable-csdefault`, plain `make` and `make install` will build
|
||||
and install Racket-on-Chez.
|
||||
|
||||
* ... by itself: supply `--enable-csonly` to `configure`.
|
||||
|
||||
The generated Racket-on-Chez executables will *not* have a "cs"
|
||||
suffix. Unlike `--enable-csdefault`, you must specify an existing
|
||||
Racket using `--enable-racket=...`.
|
||||
|
||||
Chez Scheme is included in a Racket source distribution and
|
||||
`configure` detects that source, so no separate download or Git
|
||||
checkout is needed in that case.
|
||||
|
||||
Chez Scheme is not included in the Racket Git repository. Building
|
||||
Racket-on-Chez from a Git checkout requires a "ChezScheme" build
|
||||
checkout within the build directory or at at an alternate location
|
||||
specified by the `--enable-scheme=...` argument to `configure`.
|
||||
|
||||
Use the patched version of Chez Scheme at
|
||||
|
||||
https://github.com/racket/ChezScheme
|
||||
|
||||
We hope to eventually return to the current development version from
|
||||
|
||||
https://github.com/cisco/ChezScheme
|
||||
|
||||
To build Racket-on-Chez on Windows, see See "worksp\README.txt" for
|
||||
To build Racket BC on Windows, see See "worksp\README.txt" for
|
||||
information.
|
||||
|
||||
If you need more information specific to Racket-on-Chez, see
|
||||
If you need more information specific to Racket BC, see
|
||||
"racket/README.txt".
|
||||
|
||||
Racket CS
|
||||
---------
|
||||
|
||||
To build Racket CS on Unix variants or Mac OS:
|
||||
|
||||
* ... in addition Racket BC: supply `--enable-cs` to `configure`.
|
||||
|
||||
The generated Racket CS executables will have a "cs" suffix. Also,
|
||||
plain `make` will still build Racket BC with `--enable-cs`; use
|
||||
`make cs` to build and `make install-cs` to install.
|
||||
|
||||
* ... by itself: supply `--enable-csdefault` to `configure`.
|
||||
|
||||
The generated Racket CS executables will *not* have a "cs" suffix.
|
||||
|
||||
Chez Scheme is included in Racket source distributions and the source
|
||||
repository.
|
||||
|
||||
To build Racket CS on Windows, see See "worksp\README.txt" for
|
||||
information.
|
||||
|
||||
If you need more information specific to Racket CS, see
|
||||
"cs/README.txt".
|
||||
|
||||
|
||||
|
@ -113,11 +95,11 @@ Quick instructions:
|
|||
you don't anticipate updating/rebuilding, but it will be harder to
|
||||
restart from scratch should you need to.
|
||||
|
||||
Some build modes may require GNU `make`. For example, when building
|
||||
the traditional Racket implementation, the content of the "foreign"
|
||||
subdirectory requires GNU `make` if no installed "libffi" is
|
||||
detected. If the build fails with another variant of `make`, please
|
||||
try using GNU `make`.
|
||||
Some build modes may require GNU Make. For example, when building the
|
||||
Racket CS implementation, GNU Make is required. When building the
|
||||
Racket BC implementation, the content of the "foreign" subdirectory
|
||||
requires GNU Make if no installed "libffi" is detected. If the build
|
||||
fails with another variant of `make`, please try using GNU Make.
|
||||
|
||||
Detailed instructions:
|
||||
|
||||
|
@ -358,9 +340,8 @@ Cross-compilation requires at least two flags to `configure`:
|
|||
|
||||
* `--enable-racket=RACKET`, where RACKET is a path to a Racket
|
||||
executable that runs on the build platform; the executable must be
|
||||
the same version of Racket and the same virtual machine (i.e.,
|
||||
traditional Racket or Racket on Chez Scheme) as being built for the
|
||||
target platform.
|
||||
the same version of Racket and the same virtual machine (i.e., CS
|
||||
or BC) as being built for the target platform.
|
||||
|
||||
This flag is needed because building and installing Racket requires
|
||||
running (an existing build of) Racket.
|
||||
|
@ -377,7 +358,7 @@ For Racket-on-Chez, an additional flag is needed:
|
|||
current platform, and a cross-compiled Chez Scheme will be created
|
||||
in the same directory.
|
||||
|
||||
Some less commonly needed `configure` flags for traditional Racket:
|
||||
Some less commonly needed `configure` flags for Racket BC:
|
||||
|
||||
* `--enable-stackup`, if the target platform`s stack grows up.
|
||||
|
||||
|
@ -393,8 +374,8 @@ Some less commonly needed `configure` flags for traditional Racket:
|
|||
Cross-compiling for Android
|
||||
========================================================================
|
||||
|
||||
[Currently, cross-compilation for Android works only for the
|
||||
traditional Racket implementation.]
|
||||
[Currently, cross-compilation for Android works only for the Racket BC
|
||||
implementation.]
|
||||
|
||||
As an example of cross-compiling, to compile for Android on ARM using
|
||||
the NDK, use (all on one line)
|
||||
|
@ -416,7 +397,7 @@ the [comp] of your choice and the [platform] used to compile.
|
|||
Cross-compiling for iOS
|
||||
========================================================================
|
||||
|
||||
[Currently, cross-compilation works only for the traditional Racket
|
||||
[Currently, cross-compilation works only for the Racket BC
|
||||
implementation.]
|
||||
|
||||
To compile the Racket runtime system as a Framework for iOS, use (all
|
||||
|
@ -459,16 +440,16 @@ of the `racket` executable (and variants), while "../collects"
|
|||
contains the additional Racket libraries that are included in a
|
||||
minimal Racket distribution.
|
||||
|
||||
Sources for the traditional Racket implementation
|
||||
Sources for the Racket BC implementation
|
||||
-------------------------------------------------
|
||||
|
||||
* "racket" --- traditional `racket` executable
|
||||
* "racket" --- `racket` BC executable
|
||||
|
||||
This implementation can build from "scratch" with a C compiler, but
|
||||
first by building a CGC variant of Racket to transform the C
|
||||
sourses to build a (normal) 3m variant.
|
||||
|
||||
* "gracket" --- traditional `gracket` executable
|
||||
* "gracket" --- `gracket` executable
|
||||
|
||||
* "foreign" --- FFI implementation for "racket"
|
||||
|
||||
|
@ -482,13 +463,10 @@ Sources for the traditional Racket implementation
|
|||
See also the shared sources below, which includes rktio and the macro
|
||||
expander.
|
||||
|
||||
Sources for the Racket-on-Chez implementation
|
||||
---------------------------------------------
|
||||
Sources for the Racket CS implementation
|
||||
----------------------------------------
|
||||
|
||||
* "cs" --- Racket-on-Chez `racket` executable
|
||||
|
||||
Building requires both an existing Racket (possibly created from
|
||||
the "racket" sources) and an existing Chez Scheme build.
|
||||
* "cs" --- `racket` CS executable
|
||||
|
||||
* "thread" --- thread scheduler
|
||||
|
||||
|
@ -508,13 +486,14 @@ Sources shared by both Racket implementations
|
|||
|
||||
This expander is both included in Racket executables and used to
|
||||
expand itself for inclusion in executables. It's also used to
|
||||
expand other libraries for inclusion in Racket-on-Chez executables.
|
||||
expand other libraries for inclusion in Racket CS executables, but
|
||||
already-expanded versions are included with source in
|
||||
"cs/schemified".
|
||||
|
||||
If you change the expander, run `make` in its directory to generate
|
||||
the "startup.inc" file that holds the expander's implementation for
|
||||
the traditional Racket variant. The Racket-on-Chez build (which
|
||||
needs an existing Racket to build, anyway) picks up changes to
|
||||
"expander" automatically.
|
||||
Racket BC. Also, run `make` in "cs" to rebuild expanded libraries
|
||||
for Racket CS.
|
||||
|
||||
* "rktio" --- portability layer for low-level I/O
|
||||
|
||||
|
@ -524,20 +503,19 @@ Sources shared by both Racket implementations
|
|||
|
||||
* "schemify" --- a Racket-to-Scheme compiler, used by "cs" and "cify"
|
||||
|
||||
Similar to "expander", this layer is applied to itself and
|
||||
other libraries for inclusion in "cs".
|
||||
|
||||
Similar to "expander", this layer is applied to itself and other
|
||||
libraries for inclusion in "cs". If you change it, be sure to run
|
||||
`make` in "cs".
|
||||
|
||||
* "cify" --- a Racket-to-C compiler
|
||||
|
||||
This compiler is used only when embedding the expander as C code,
|
||||
instead of Racket bytecode, which is the default for platforms
|
||||
where the traditional Racket JIT is not supported.
|
||||
This compiler is used only when embedding the expander as C code in
|
||||
Racket BC, instead of Racket bytecode, which is the default for
|
||||
platforms where the Racket BC JIT is not supported.
|
||||
|
||||
* "start" --- main-executable wrapper
|
||||
|
||||
Startup wrappers used by both the tradition and Racket-on-CS
|
||||
implementations.
|
||||
Startup wrappers used by both the Racket CS and BC implementations.
|
||||
|
||||
* "worksp" --- Windows projects and build scripts
|
||||
|
||||
|
@ -564,4 +542,3 @@ More shared utilities
|
|||
* "lt" --- `libtool` and `configure` support
|
||||
|
||||
* "utils" --- miscellaneous
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#|
|
||||
cd "`dirname \"$0\"`"
|
||||
src="../racket/configure.ac"
|
||||
tgt="../cfg-racket"
|
||||
tgt="../cfg-bc"
|
||||
if [ ! -e "$src" ]; then echo "abort: did not find $src"; exit 1; fi
|
||||
echo "Creating $tgt from $src"
|
||||
autoconf "$src" | racket "$0" > "$tgt"
|
||||
|
|
7
racket/src/configure
vendored
7
racket/src/configure
vendored
|
@ -1,10 +1,9 @@
|
|||
#! /bin/sh
|
||||
|
||||
# Using `--enable-csdefault` or `--enable-csonly` avoids running `cfg-racket`
|
||||
# and only uses `cfg-cs` and `cs/c/configure`.
|
||||
# Using `--enable-csdefault` or `--enable-csonly` avoids running
|
||||
# `cfg-racket` and only uses `cfg-cs` and `cs/c/configure`.
|
||||
|
||||
# Using `--enable-cs` or `--enable-csdefault` uses
|
||||
# both `cfg-racket` and `cs/c/configure`.
|
||||
# Using `--enable-cs` uses both `cfg-racket` and `cs/c/configure`.
|
||||
|
||||
set -e
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<The implementation of Racket on Chez Scheme (Racket CS) in this
|
||||
The implementation of Racket on Chez Scheme (Racket CS) in this
|
||||
directory is organized into two layers:
|
||||
|
||||
* The immediate directory contains Scheme sources to implement Racket
|
||||
|
@ -154,8 +154,7 @@ Racket CS currently supports three compilation modes:
|
|||
the implementation into a pure interpreter.
|
||||
|
||||
* Interpreter mode --- The compiled form of a module is a "bytecode"
|
||||
tree (not unlike the traditional Racket's bytecode) that is
|
||||
interpreted.
|
||||
tree (not unlike Racket BC's bytecode) that is interpreted.
|
||||
|
||||
Select this mode by setting the `PLT_CS_INTERP` environment
|
||||
variable. Alternatively, set `PLT_LINKLET_COMPILE_QUICK` when
|
||||
|
@ -355,8 +354,8 @@ compatibility.
|
|||
FFI Differences
|
||||
---------------
|
||||
|
||||
Compared to the traditional Racket implementation, Racket CS's FFI
|
||||
behaves in several different ways:
|
||||
Compared to the Racket BC implementation, Racket CS's FFI behaves in
|
||||
several different ways:
|
||||
|
||||
* The `make-sized-byte-string` function always raises an exception,
|
||||
because a foreign address cannot be turned into a byte string whose
|
||||
|
@ -371,7 +370,7 @@ behaves in several different ways:
|
|||
|
||||
* A `_gcpointer` can only refer to the start of an allocated object,
|
||||
and never the interior of an 'atomic-interior allocation. Like
|
||||
traditional Racket, `_gcpointer` is equivalent to `_pointer` for
|
||||
Racket BC, `_gcpointer` is equivalent to `_pointer` for
|
||||
sending values to a foreign procedure, return values from a
|
||||
callback that is called from foreign code, or for `ptr-set!`. For
|
||||
the other direction (receiving a foreign result, `ptr-ref`, and
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
This directory contains most of the source code to the traditional
|
||||
implementation of Racket. See "../README.txt" for general information
|
||||
on building.
|
||||
This directory contains most of the source code to the Racket BC
|
||||
implementation. See "../README.txt" for general information on
|
||||
building.
|
||||
|
||||
|
||||
========================================================================
|
||||
CGC versus 3m
|
||||
========================================================================
|
||||
|
||||
Traditional Racket and GRacket have two variants: CGC and 3m. The CGC
|
||||
Racket BC and GRacket BC have two variants: CGC and 3m. The CGC
|
||||
variant is 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.
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
This directory constraint source programs and fragments for wrapper
|
||||
executables used to start/embed Racket. The programs and fragments are
|
||||
used both for the traditional Racket virtual machine and Racket on
|
||||
Chez Scheme.
|
||||
used both for the Racket CS and BC implementations.
|
||||
|
||||
========================================================================
|
||||
Embedded Paths in the Executables
|
||||
|
|
|
@ -2,7 +2,7 @@ This directory contains scripts, solution files, and project files for
|
|||
building Racket using Visual Studio. Some parts or variants can be
|
||||
built using projects, but most use Visual Studio command-line tools.
|
||||
|
||||
The traditional Racket implementation also compiles with MinGW; see
|
||||
The Racket BC implementation also compiles with MinGW; see
|
||||
"...\README.txt".
|
||||
|
||||
|
||||
|
@ -26,13 +26,12 @@ When using PowerShell, run the "msvcprep.ps1" script instead of
|
|||
work, but will not actually change any environment variables.
|
||||
|
||||
After you have Visual Studio command-line tools set up, then you can
|
||||
build either the traditional Racket implementation or Racket-on-Chez
|
||||
(or both).
|
||||
build either the Racket BC or Racket CS implementations (or both).
|
||||
|
||||
Traditional Racket
|
||||
------------------
|
||||
Racket BC
|
||||
---------
|
||||
|
||||
Build the traditional Racket implementation using
|
||||
Build the Racket BC implementation using
|
||||
|
||||
build.bat
|
||||
|
||||
|
@ -44,32 +43,29 @@ the process of building "..\..\Racket.exe".
|
|||
|
||||
See also "Completing the Build" below.
|
||||
|
||||
Racket-on-Chez
|
||||
--------------
|
||||
Racket CS
|
||||
---------
|
||||
|
||||
Build the Racket-on-Chez implementation using
|
||||
Build the Racket CS implementation using
|
||||
|
||||
build-cs.bat
|
||||
|
||||
which builds "..\..\Racket3m.exe" to bootstrap the build.
|
||||
which builds "..\..\Racket3m.exe" to bootstrap the build, because the
|
||||
main build script is implemented in Racket.
|
||||
|
||||
To instead build using an existing Racket installation, use
|
||||
To instead build using an existing Racket installation (version 7.1 or
|
||||
later), use
|
||||
|
||||
racket.exe csbuild.rkt --racketcs-suffix ""
|
||||
|
||||
The result is "..\..\Racket.exe", DLLs and "GRacket.exe" in
|
||||
"..\..\lib", and other files in "..\..\lib", "..\..\etc", etc.
|
||||
|
||||
Many intermediate files will be put in "../build", including a Chez
|
||||
Scheme checkout if it's not already present there; if a "ChezScheme"
|
||||
directory exists in the Racket source directory, it is copied to the
|
||||
build directory, otherwise it is cloned from a Git repository (in
|
||||
which case `git` must be available).
|
||||
Many intermediate files will be put in "../build".
|
||||
|
||||
See also "Completing the Build" below.
|
||||
|
||||
Both Traditional Racket and Racket-on-Chez
|
||||
------------------------------------------
|
||||
Both Racket BC and Racket CS
|
||||
----------------------------
|
||||
|
||||
When using "csbuild.rkt" directly, omit the `--racketcs-suffix ""`
|
||||
arguments to create "..\..\RacketCS.exe" executable instead of
|
||||
|
@ -78,8 +74,8 @@ read and bytecode in a subdirectory of "compiled" as described in
|
|||
"..\cs\README.txt".
|
||||
|
||||
A "CS" suffix and using a subdirectory of "compiled" means that a
|
||||
Racket-on-Chez build as "RacketCS.exe" can coexist with a
|
||||
traditional build as "Racket.exe". So, the sequence
|
||||
Racket CS build as "RacketCS.exe" can coexist with a BC build as
|
||||
"Racket.exe". So, the sequence
|
||||
|
||||
build.bat
|
||||
..\..\Racket.exe csbuild.rkt
|
||||
|
@ -111,11 +107,10 @@ Only if you are starting completely from scratch, see also
|
|||
Building via Visual Studio Projects/Solutions
|
||||
========================================================================
|
||||
|
||||
Traditional Racket implementation's CGC variant can be built and
|
||||
debugged using visual Studio solutions and project. (See
|
||||
"..\racket\README.txt" for information on traditional Racket
|
||||
variants.) Further steps using the command line can then build the 3m
|
||||
variant and related executables.
|
||||
The Racket BC implementation's CGC variant can be built and debugged
|
||||
using visual Studio solutions and project. (See "..\racket\README.txt"
|
||||
for information on Racket BC variants.) Further steps using the
|
||||
command line can then build the 3m variant and related executables.
|
||||
|
||||
The CGC implementation is split into several projects that are grouped
|
||||
into a few solutions. To build the `X' solution with Visual Studio,
|
||||
|
@ -274,8 +269,8 @@ See also "..\start\README.txt" for information on the embedded
|
|||
Embedding
|
||||
========================================================================
|
||||
|
||||
The traditional Racket implementation's DLLs can be used within an
|
||||
embedding application.
|
||||
The Racket BC implementation's DLLs can be used within an embedding
|
||||
application.
|
||||
|
||||
The libraries
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user