WINDOWS.txt 4.7 KB

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