106 lines
3.8 KiB
Plaintext
106 lines
3.8 KiB
Plaintext
Release notes on the MS Windows port of Objective Caml
|
|
----------------------------------------------------------
|
|
|
|
REQUIREMENTS:
|
|
|
|
This port runs under Windows 95 and Windows NT on Intel-based machines.
|
|
Windows 3.1 and Windows for Workgroups are not supported. Windows NT
|
|
on non-Intel processors has not been tested.
|
|
|
|
The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...)
|
|
runs without any additional tools.
|
|
|
|
Linking Caml bytecode with C code (ocamlc -custom) requires the
|
|
Microsoft Visual C++ compiler.
|
|
|
|
The native-code compiler (ocamlopt) requires Visual C++ and the
|
|
Microsoft assembler MASM version 6.
|
|
|
|
The CamlTk GUI requires Tcl 7.6 and Tk 4.2. Windows binaries are
|
|
available from ftp://ftp.sunlabs.com/pub/tcl/win76p2.exe.
|
|
|
|
|
|
INSTALLATION:
|
|
|
|
The binary distribution consists in a .zip archive file. This .zip
|
|
contains long filenames and cannot therefore be unpacked with pkunzip
|
|
version 2. Use either Winzip (shareware) or the NT/95 version of unzip
|
|
(freeware):
|
|
ftp://ftp.winsite.com/pub/pc/winnt/misc/wznt56.exe
|
|
ftp://ftp.uu.net/pub/archiving/zip/WIN32/unz512xN.exe
|
|
|
|
Unzipping the distribution creates (among others) the following
|
|
directories and files:
|
|
|
|
ocaml\ocamlwin.exe The toplevel application
|
|
ocaml\ocamlwin.ini Its configuration file
|
|
ocaml\bin\ The command-line compilers and tools
|
|
ocaml\lib\ The standard library files
|
|
|
|
Installing the toplevel application:
|
|
|
|
The file ocaml\ocamlwin.ini assumes that the Caml distribution
|
|
resides in C:\ocaml. If this is not the case, edit the file
|
|
ocaml\ocamlwin.ini and change the line that says
|
|
|
|
CmdLine=ocamlrun c:\ocaml\bin\ocaml.exe -I c:\ocaml\lib
|
|
to
|
|
CmdLine=ocamlrun <caml_dir>\bin\ocaml.exe -I <caml_dir>\lib
|
|
e.g.
|
|
CmdLine=ocamlrun d:\lang\ocaml\bin\ocaml.exe -I d:\lang\ocaml\lib
|
|
|
|
Installing the command-line tools:
|
|
|
|
You must add the ocaml\bin subdirectory to the PATH variable, e.g.
|
|
|
|
set PATH=%PATH%;D:\lang\ocaml\bin
|
|
|
|
Running directly the tools (e.g. typing D:\lang\ocaml\bin\ocamlc)
|
|
will not work if the ocaml\bin directory is not in PATH, because ocamlc
|
|
and the other tools will be unable to find the Caml runtime system
|
|
ocamlrun.exe.
|
|
|
|
The command-line tools assume that the standard library resides in
|
|
C:\ocaml\lib. If you have unpacked it elsehwere, define the CAMLLIB
|
|
environment variable to point to the standard library directory, e.g.
|
|
|
|
set CAMLLIB=D:\lang\ocaml\lib
|
|
|
|
|
|
RECOMPILATION FROM THE SOURCES:
|
|
|
|
The command-line tools can be recompiled from the Unix source
|
|
distribution (ocaml-X.YZ.tar.gz), which also contains the files modified
|
|
for Windows.
|
|
|
|
In addition to Visual C++ 4.0 and MASM 6, you will also need a healthy
|
|
set of Unix / GNU utilities that understands long file names
|
|
(see e.g. ftp://ftp.cc.utexas.edu/microlib/nt/gnu/).
|
|
|
|
The sources for the toplevel graphical user interface are not currently
|
|
available to the general public. Contact us if you think you need them.
|
|
|
|
|
|
RANDOM NOTES:
|
|
|
|
* The VC++ compiler does a poor job on byterun/interp.c. Consequently,
|
|
the performance of bytecode programs is about half of that obtained
|
|
under Unix/GCC on similar hardware. GCC would give much better
|
|
performance, but none of the currently available ports of GCC for
|
|
Win32 is sufficiently complete, robust and stable to compile Objective
|
|
Caml.
|
|
|
|
* Libraries available under Win32: "num", "str", "threads", "graph",
|
|
"camltk41", and large parts of "unix".
|
|
"graph" works only under the toplevel application.
|
|
|
|
|
|
CREDITS:
|
|
|
|
The initial port of Caml Special Light (the ancestor of Objective Caml)
|
|
to Windows NT was done by Kevin Gallo at Microsoft Research, who
|
|
kindly contributed his changes to the Caml project.
|
|
|
|
The graphical user interface for the toplevel is due to Jean-Marie
|
|
Geffroy at INRIA Rocquencourt.
|