summaryrefslogtreecommitdiff
path: root/README.win32
blob: ae151f0b200aea4d1a406976a570ddef1472f1c0 (plain)
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
        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 version 6.

The native-code compiler (ocamlopt) requires Visual C++ version 6
and the Microsoft assembler MASM version 6.11 or later.
MASM can be downloaded for free from Microsoft's Web site;
see the comp.lang.asm.x86 FAQ for directions, or
http://www.cs.uu.nl/wais/html/na-dir/assembly-language/x86/microsoft.html

The CamlTk GUI requires Tcl/Tk 8.0.  Windows binaries are
available from ftp://ftp.scriptics.com/pub/tcl/tcl8_0/tcl804.exe


INSTALLATION:

The binary distribution is a self-installing executable archive.
Just run it and it should install OCaml automatically.

Installing the command-line tools:

  You must add the "bin" subdirectory of the OCaml installation directory
  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 "bin" subdirectory 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

  For Windows 95 and 98, the OCaml installer is able to perform the
  corresponding modifications to AUTOEXEC.BAT (define CAMLLIB and
  append to the PATH variable).  For Windows NT, you'll have to
  edit the environment variables yourself.

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++ (version 4, 5 or 6) and MASM 6, you will
need the CygWin port of GNU tools, available from
http://sourceware.cygnus.com/cygwin/

To recompile, first copy manually the files config/m-nt.h and config/s-nt.h
to config/m.h and config/s.h.  Edit config/Makefile.nt as needed.
Then, use "nmake -f Makefile.nt" to build the system, e.g. 

        nmake -f Makefile.nt world
        nmake -f Makefile.nt bootstrap
        nmake -f Makefile.nt opt
        
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 the currently available ports of GCC for
Win32 lack crucial features such as thread support.

* 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.