1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
Scheme 48 Windows port
----------------------
Starting with version 1.3, Scheme 48 has a native Windows port, which
works on Windows NT 4.0 and above (including Windows 2000, XP and
Vista, but not Windows 95, Windows 98, or Windows ME).
Specifically, the following caveats apply to the Windows port:
o The "old-style" interface to loading external code dynamically
doesn't work. (But the new interface works---see doc\news.txt and
the documentation.)
o The Posix libraries don't work (and probably never will, at least
not in the current form).
Installing Scheme 48 from the installer
---------------------------------------
To install Scheme 48, download the .msi file and double-click on it.
This requires Windows Installer version 2.0 or greater to work.
Building Scheme 48 from source
------------------------------
The Scheme 48 developers build the VM using Microsoft Visual C++
2010 Express Edition, which can be downloaded for free from the
Microsoft web site.
In order to build Scheme 48 from scratch, the following steps are
needed:
- install a recent regular release of Scheme 48
- generate the various Unicode tables via build\generate-unicode-info.bat (see below)
- generate the initial image via build\build-initial-image.bat (see below)
- generate the C headers via build\generate-c-header.bat (see below)
- generate the C code for the VM and the BIBOP GC (see below)
- build the VM itself (see below)
- build scheme48.image via build\build-usual-image.bat (see below)
- generate a batch file to run Scheme 48
- run the test suite via build\check.bat
To run the various batch files, you should be sitting in a shell in
the root of the Scheme 48 source-code hierarchy.
If you have Boo (or are willing to download it), you can use
build\BuildS48.boo to perform the above steps with far less typing.
Read the comments at the beginning of BuildS48.boo for instructions.
You can then start Scheme 48 by saying:
scheme48
build\generate-unicode-info.bat
This builds the Unicode tables from source.
build\generate-unicode-info.bat "C:\Program Files\Scheme 48\Scheme 48 1.8\scheme48"
build\build-initial-image.bat
This builds build\initial.image-32 from source.
It requires a command-line argument specifying how to start up a
Scheme 48 REPL.
Before running it, you need to generate build\filenames.bat via
<Scheme 48> -a batch < build\extract-filenames.scm
where <Scheme 48> starts up a Scheme 48 REPL, for example
"C:\Program Files\Scheme 48\Scheme 48 1.8\scheme48" -a batch < build\extract-filenames.scm
build\build-initial-image.bat "C:\Program Files\Scheme 48\Scheme 48 1.8\scheme48"
build\generate-c-header.bat
This generates the c\scheme48.h header file needed for compiling
various VM extensions.
It requires a command-line argument specifying how to start up a
Scheme 48 REPL.
Example:
build\generate-c-header.bat "C:\Program Files\Scheme 48\Scheme 48 1.8\scheme48"
build\compile-vm.bat
build\compile-bibop-gc.bat
This builds the VM C sources from Scheme.
It requires a command-line argument specifying how to start up a
Scheme 48 REPL.
build\compile-vm.bat "C:\Program Files\Scheme 48\Scheme 48 1.8\scheme48"
build\compile-bibop-gc.bat "C:\Program Files\Scheme 48\Scheme 48 1.8\scheme48"
building the VM and dependent DLLs:
To compile the VM, load the scheme48.sln "solution" file into Visual
C++, choose a configuration ("Win32 Debug" or "Win32 Release") and
build the entire solution.
build\build-usual-image.bat
This generates the default scheme48.image from build\initial.image.
It requires six command-line arguments:
- the root directory of the Scheme 48 sources
*with a trailing backslash*
- the full path of the installed scheme/ subdirectory of the Scheme
48 sources
- the full path of the directory containing external code
- the name of the image file to be generated
- the name of the VM executable
- the filename of the initial image
Example (supposing the Scheme 48 root directory sits at c:\src\s48):
build\build-usual-image.bat ".\" "C:\src\s48\scheme" "C:\src\s48" scheme48.image scheme48vm.exe build\initial.image-32
build\generate-go.bat
This generates a batch file to start Scheme 48.
It requires three command-line arguments:
- the name of the batch file to produce
- the full path of the VM executable
- the full path of the image file
Example (supposing the Scheme 48 root directory sits at c:\src\s48):
build\generate-go.bat scheme48.bat "c:\src\s48\scheme48vm.exe" "c:\src\s48\scheme48.image"
build\check.bat
This runs the test cases that should succeed on Windows.
It requires a command-line argument specifying the Scheme 48
executable to check.
Example (using scheme48.bat generated by build\generate-go.bat above):
build\check.bat "C:\src\s48\scheme48.bat"
|