WINDOWS.txt 4.8 KB

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