home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
mitsch75.zip
/
scheme-7_5_17-src.zip
/
scheme-7.5.17
/
src
/
README.txt
< prev
next >
Wrap
Text File
|
2001-02-23
|
4KB
|
125 lines
Structure and construction of the MIT Scheme source tree
$Id: README.txt,v 1.2 2001/02/23 16:16:38 cph Exp $
Directories
===========
MIT Scheme is a large program consisting of many subdirectories.
These subdirectories can be further grouped together into rough
functional subsystems.
The core subsystem consists of these directories:
* "microcode" contains the C code that is used to build the executable
programs "scheme" and "bchscheme".
* "runtime" contains the bulk of the run-time library, including
almost everything documented in the reference manual.
* "runtime-check" is a build directory used to make alternate run-time
library binaries that are safer than the standard binaries. The
standard binaries are compiled with type-checking disabled for many
common operations; the alternate binaries have type-checking
enabled.
* "sos" contains the code for the SOS object-oriented programming
extension.
* "win32" contains extra parts of the run-time library that are
specific to the Microsoft Windows platform.
The compiler subsystem consists of these three directories:
* "sf" contains a program that translates Scheme source code to an
internal binary format called SCode. SCode is the internal
representation used by the MIT Scheme interpreter. The "sf" program
also performs a handful of optimizations, such as user-directed beta
substitution and early binding of known variables such as CAR.
* "compiler" contains the native-code compiler. This program
translates SCode to machine-language instructions.
* "cref" is a cross-reference program that also implements a
rudimentary module system.
The editor subsystem consists of two directories:
* "edwin" contains our Emacs-like editor written in Scheme.
* "imail" contains an email-reading program for Edwin.
These are miscellaneous extras:
* "6001" is extra code used here at MIT for teaching 6.001, our
introductory computer-science course based on "Structure and
Interpretation of Computer Programs". "sicp" contains an older
version of this code that is no longer in use (and probably no
longer works).
* "etc" contains miscellaneous files for building the system.
* "rcs" is a parser for RCS files. It also contains a program for
generating merged log files, in RCS or ChangeLog format, for
directory trees under RCS or CVS control.
These directories are no longer actively in use and the code they
contain may not work:
* "pcsample" contains a profiling extension.
* "swat" contains an extension that interfaces MIT Scheme to the Tk
graphical toolkit.
* "wabbit" contains program for finding all of the objects that
contain pointers to a given object.
Building from source on unix systems
====================================
Building MIT Scheme from the CVS sources is a multi-stage process.
The system has been designed around a number of "build states" and
specific commands that move the system from one build state to
another. These are the build states, ordered from least to most
"built".
* The `CVS' state is the initial state of the tree when it is freshly
checked out from CVS.
* The `distribution' state is what we distribute to the world. In
this state, all of the target-system independent configuration has
been done.
* In the `configured' state, the tree is customized for a particular
target system, but it is not yet compiled.
* In the `compiled' state, the tree is fully compiled.
The following table shows the commands are used to transition the
system from one build state to another. All of the commands must be
run while the working directory is the top-level directory of the
source tree.
From To Command
------------ ------------ ---------------------
CVS distribution ./Setup.sh
distribution configured ./configure
configured compiled make
compiled configured make clean
compiled distribution make distclean
compiled CVS make maintainer-clean
configured distribution make distclean
configured CVS make maintainer-clean
The following sequence of commands can be used to rebuild MIT
Scheme from the CVS sources and install it:
./Setup.sh
./configure
make
make install
Note that the "./Setup.sh" command requires a compiler that supports
the "-M" option for generating dependencies. Normally this step is
executed on a GNU/Linux system.