Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 370 lines (249 sloc) 13.376 kB
cf69c17 MAJ 3.01
xleroy authored
1 Release notes on the MS Windows ports of Objective Caml
2 -------------------------------------------------------
3
05648d1 Documentation portage Win64/MSVC
xleroy authored
4 There are no less than four ports of Objective Caml for MS Windows available:
648aa30 Nettoyages
xleroy authored
5 - a native Win32 port, built with the Microsoft development tools;
37d95e1 Le portage Mingw a besoin de Cygwin (et non Mingw+MSYS) pour compiler
xleroy authored
6 - a native Win32 port, built with the Cygwin/MinGW development tools;
cf69c17 MAJ 3.01
xleroy authored
7 - a port consisting of the Unix sources compiled under the Cygwin
05648d1 Documentation portage Win64/MSVC
xleroy authored
8 Unix-like environment for Windows;
9 - a native Win64 port (64-bit Windows), built with the Microsoft
10 development tools.
cf69c17 MAJ 3.01
xleroy authored
11
1131ee4 MAJ portage MinGW
xleroy authored
12 Here is a summary of the main differences between these ports:
cf69c17 MAJ 3.01
xleroy authored
13
648aa30 Nettoyages
xleroy authored
14 Native MS Native MinGW Cygwin
05648d1 Documentation portage Win64/MSVC
xleroy authored
15
16 64 bits? Win32 or Win64 Win32 only Win32 only
17
1131ee4 MAJ portage MinGW
xleroy authored
18 Third-party software required
648aa30 Nettoyages
xleroy authored
19 - for base bytecode system none none none
37d95e1 Le portage Mingw a besoin de Cygwin (et non Mingw+MSYS) pour compiler
xleroy authored
20 - for ocamlc -custom MSVC Cygwin Cygwin
21 - for native-code generation MSVC+MASM Cygwin Cygwin
cf69c17 MAJ 3.01
xleroy authored
22
648aa30 Nettoyages
xleroy authored
23 Speed of bytecode interpreter 70% 100% 100%
1131ee4 MAJ portage MinGW
xleroy authored
24
648aa30 Nettoyages
xleroy authored
25 Replay debugger no no yes
1131ee4 MAJ portage MinGW
xleroy authored
26
648aa30 Nettoyages
xleroy authored
27 The Unix library partial partial full
1131ee4 MAJ portage MinGW
xleroy authored
28
37d95e1 Le portage Mingw a besoin de Cygwin (et non Mingw+MSYS) pour compiler
xleroy authored
29 The Threads library yes yes yes
1131ee4 MAJ portage MinGW
xleroy authored
30
648aa30 Nettoyages
xleroy authored
31 The Graphics library yes yes no
1131ee4 MAJ portage MinGW
xleroy authored
32
82c273a MAJ et nettoyages
xleroy authored
33 Restrictions on generated executables? none none yes (*)
1131ee4 MAJ portage MinGW
xleroy authored
34
82c273a MAJ et nettoyages
xleroy authored
35 (*) Cygwin-generated .exe files refer to a DLL that is distributed under
36 the GPL. Thus, these .exe files can only be distributed under a license
37d95e1 Le portage Mingw a besoin de Cygwin (et non Mingw+MSYS) pour compiler
xleroy authored
37 that is compatible with the GPL. Executables generated by MSVC or by
82c273a MAJ et nettoyages
xleroy authored
38 MinGW have no such restrictions.
cf69c17 MAJ 3.01
xleroy authored
39
82c273a MAJ et nettoyages
xleroy authored
40 The remainder of this document gives more information on each port.
cf69c17 MAJ 3.01
xleroy authored
41
42 ------------------------------------------------------------------------------
43
1131ee4 MAJ portage MinGW
xleroy authored
44 The native Win32 port built with Microsoft Visual C
45 ---------------------------------------------------
d06f82e Blabla sur la version Windows
xleroy authored
46
47 REQUIREMENTS:
48
4c1dce3 MAJ instructions installation
xleroy authored
49 This port runs under MS Windows NT, 2000 and XP.
68cfc3f fusion des changements 3.09.2 -> 3.09.3
doligez authored
50 Windows 95, 98 and ME are no longer supported.
d06f82e Blabla sur la version Windows
xleroy authored
51
11d8fff Renommage en Objective Caml
xleroy authored
52 The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...)
53 runs without any additional tools.
d06f82e Blabla sur la version Windows
xleroy authored
54
9eaedc5 Chargement dynamique de primitives C
xleroy authored
55 Statically linking Caml bytecode with C code (ocamlc -custom) requires the
68cfc3f fusion des changements 3.09.2 -> 3.09.3
doligez authored
56 Microsoft Visual C++ compiler (items [1] and [2] in the section
8bacf14 Document dependency on flexdll
frisch authored
57 "third-party software" below) and the flexdll tool (item [5]).
d06f82e Blabla sur la version Windows
xleroy authored
58
8bacf14 Document dependency on flexdll
frisch authored
59 The native-code compiler (ocamlopt) requires Visual C++ (items [1], [2]),
60 the Microsoft assembler MASM (item [3]) and the flexdll tool (item [5]).
d06f82e Blabla sur la version Windows
xleroy authored
61
bc6f328 Use TCL/TK 8.4 instead of 8.3
xleroy authored
62 The LablTk GUI requires Tcl/Tk 8.4 (item [4]).
f577670 configure, INSTALL: option -with-pthread
xleroy authored
63
d06f82e Blabla sur la version Windows
xleroy authored
64
65 INSTALLATION:
66
1b438f1 MAJ
xleroy authored
67 The binary distribution is a self-installing executable archive.
68 Just run it and it should install OCaml automatically.
d06f82e Blabla sur la version Windows
xleroy authored
69
3585fec MAJ install Windows
xleroy authored
70 To run programs that use the LablTK GUI, the directory where the
bc6f328 Use TCL/TK 8.4 instead of 8.3
xleroy authored
71 DLLs tk84.dll and tcl84.dll were installed (by the Tcl/Tk
3585fec MAJ install Windows
xleroy authored
72 installer) must be added to the PATH environment variable.
73
74 To compile programs that use the LablTK GUI, the directory where the
bc6f328 Use TCL/TK 8.4 instead of 8.3
xleroy authored
75 libraries tk84.lib and tcl84.lib were installed (by the Tcl/Tk
3585fec MAJ install Windows
xleroy authored
76 installer) must be added to the library search path in the LIB
77 environment variable. E.g. if Tcl/Tk was installed in C:\tcl, add
78 "C:\tcl\lib" to the LIB environment variable.
cf69c17 MAJ 3.01
xleroy authored
79
68cfc3f fusion des changements 3.09.2 -> 3.09.3
doligez authored
80 THIRD-PARTY SOFTWARE:
81
05648d1 Documentation portage Win64/MSVC
xleroy authored
82 [1] Visual C++ version 2005, 2003, or 6.
bc6f328 Use TCL/TK 8.4 instead of 8.3
xleroy authored
83 We use Visual C++ 2005 Express Edition, which can be downloaded for free
05648d1 Documentation portage Win64/MSVC
xleroy authored
84 from http://www.microsoft.com.
68cfc3f fusion des changements 3.09.2 -> 3.09.3
doligez authored
85
86 [2] Windows header files and development libraries. We found them in
87 the Microsoft Windows Server 2003 SP1 Platform SDK, which can
88 be downloaded for free from http://www.microsoft.com/.
89
f42b67a merge changes 3.10.0 -> 3.10.1
doligez authored
90 [3] MASM version 6.11 or later. The full distribution of Visual C++ 2005
91 contains MASM version 8. Users of the Express Edition of Visual C++
92 2005 can download MASM version 8 from
93 http://www.microsoft.com/downloads/details.aspx?FamilyID=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=en
94 To obtain MASM version 6.11, see
68cfc3f fusion des changements 3.09.2 -> 3.09.3
doligez authored
95 http://users.easystreet.com/jkirwan/new/pctools.html.
96
bc6f328 Use TCL/TK 8.4 instead of 8.3
xleroy authored
97 [4] TCL/TK version 8.4. Windows binaries are available as part of the
98 ActiveTCL distribution at http://www.activestate.com/products/ActiveTcl/
68cfc3f fusion des changements 3.09.2 -> 3.09.3
doligez authored
99
8bacf14 Document dependency on flexdll
frisch authored
100 [5] flexdll.
101 Can be downloaded from http://alain.frisch.fr/flexdll.html
102
d06f82e Blabla sur la version Windows
xleroy authored
103 RECOMPILATION FROM THE SOURCES:
104
105 The command-line tools can be recompiled from the Unix source
11d8fff Renommage en Objective Caml
xleroy authored
106 distribution (ocaml-X.YZ.tar.gz), which also contains the files modified
d06f82e Blabla sur la version Windows
xleroy authored
107 for Windows.
108
9eaedc5 Chargement dynamique de primitives C
xleroy authored
109 You will need the following software components to perform the recompilation:
f42b67a merge changes 3.10.0 -> 3.10.1
doligez authored
110 - Windows NT, 2000, XP, or Vista.
8bacf14 Document dependency on flexdll
frisch authored
111 - Items [1], [2], [3], [4] and [5] from the list of recommended software above.
68cfc3f fusion des changements 3.09.2 -> 3.09.3
doligez authored
112 - The Cygwin port of GNU tools, available from http://www.cygwin.com/
d06f82e Blabla sur la version Windows
xleroy authored
113
bc6f328 Use TCL/TK 8.4 instead of 8.3
xleroy authored
114 Remember to add the directory where the libraries tk84.lib and
115 tcl84.lib were installed (by the Tcl/Tk installer) to the LIB variable
37d95e1 Le portage Mingw a besoin de Cygwin (et non Mingw+MSYS) pour compiler
xleroy authored
116 (library search path).
117
1131ee4 MAJ portage MinGW
xleroy authored
118 To recompile, start a Cygwin shell and change to the top-level
119 directory of the OCaml distribution. Then, do
120
5ccc0e3 detabisation
doligez authored
121 cp config/m-nt.h config/m.h
122 cp config/s-nt.h config/s.h
123 cp config/Makefile.msvc config/Makefile
f46ea68 MAJ. Description de la recompilation a partir des sources
xleroy authored
124
82c273a MAJ et nettoyages
xleroy authored
125 Then, edit config/Makefile as needed, following the comments in this file.
126 Normally, the only variables that need to be changed are
5ccc0e3 detabisation
doligez authored
127 PREFIX where to install everything
128 TK_ROOT where TCL/TK was installed
d06f82e Blabla sur la version Windows
xleroy authored
129
2a85980 Some changes to the build system
ertai authored
130 Finally, use "make -f Makefile.nt" to build the system, e.g.
1131ee4 MAJ portage MinGW
xleroy authored
131
132 make -f Makefile.nt world
133 make -f Makefile.nt bootstrap
134 make -f Makefile.nt opt
68cfc3f fusion des changements 3.09.2 -> 3.09.3
doligez authored
135 make -f Makefile.nt opt.opt
1131ee4 MAJ portage MinGW
xleroy authored
136 make -f Makefile.nt install
137
5da73b9 Merge some changes from 3.10
ertai authored
138 Alternatively you can use the experimental build procedure using ocamlbuild:
2a85980 Some changes to the build system
ertai authored
139
140 ./build/fastworld.sh
141 ./build/install.sh
1131ee4 MAJ portage MinGW
xleroy authored
142
143 NOTES:
d06f82e Blabla sur la version Windows
xleroy authored
144
82c273a MAJ et nettoyages
xleroy authored
145 * The VC++ compiler does not implement "computed gotos", and therefore
648aa30 Nettoyages
xleroy authored
146 generates inefficient code for byterun/interp.c. Consequently, the
147 performance of bytecode programs is about 2/3 of that obtained under
1131ee4 MAJ portage MinGW
xleroy authored
148 Unix/GCC or Cygwin or Mingw on similar hardware.
90170a2 MAJ.
xleroy authored
149
9eb33db MAJ
xleroy authored
150 * Libraries available in this port: "num", "str", "threads", "graphics",
cf69c17 MAJ 3.01
xleroy authored
151 "labltk", and large parts of "unix".
d06f82e Blabla sur la version Windows
xleroy authored
152
1131ee4 MAJ portage MinGW
xleroy authored
153 * The replay debugger is not supported.
d06f82e Blabla sur la version Windows
xleroy authored
154
155 CREDITS:
156
11d8fff Renommage en Objective Caml
xleroy authored
157 The initial port of Caml Special Light (the ancestor of Objective Caml)
158 to Windows NT was done by Kevin Gallo at Microsoft Research, who
159 kindly contributed his changes to the Caml project.
d06f82e Blabla sur la version Windows
xleroy authored
160
f1d7182 Merge de OCamlWinPlus (Christopher Watford)
xleroy authored
161 The graphical user interface for the toplevel was initially developed
162 by Jacob Navia, then significantly improved by Christopher A. Watford.
1131ee4 MAJ portage MinGW
xleroy authored
163
164 ------------------------------------------------------------------------------
165
166 The native Win32 port built with Mingw
167 --------------------------------------
168
169 REQUIREMENTS:
170
4c1dce3 MAJ instructions installation
xleroy authored
171 This port runs under MS Windows NT, 2000 and XP.
172 Windows 95, 98 and ME are also supported, but less reliably.
1131ee4 MAJ portage MinGW
xleroy authored
173
174 The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...)
175 runs without any additional tools.
176
177 The native-code compiler (ocamlopt), as well as static linking of
37d95e1 Le portage Mingw a besoin de Cygwin (et non Mingw+MSYS) pour compiler
xleroy authored
178 Caml bytecode with C code (ocamlc -custom), require
179 the Cygwin development tools, available at
68cfc3f fusion des changements 3.09.2 -> 3.09.3
doligez authored
180 http://www.cygwin.com/
8bacf14 Document dependency on flexdll
frisch authored
181 and the flexdll tool, available at
182 http://alain.frisch.fr/flexdll.html
68cfc3f fusion des changements 3.09.2 -> 3.09.3
doligez authored
183 You will need to install at least the following Cygwin packages (use
184 the Setup tool from Cygwin):
e39bbe8 Documenter probleme avec Mingw/MSYS
xleroy authored
185 binutils, gcc-core, gcc-mingw-core, mingw-runtime, w32-api.
186
187 Do *not* install the Mingw/MSYS development tools from www.mingw.org:
188 these are not compatible with this Caml port (@responsefile not
189 recognized on the command line).
1131ee4 MAJ portage MinGW
xleroy authored
190
bc6f328 Use TCL/TK 8.4 instead of 8.3
xleroy authored
191 The LablTk GUI requires Tcl/Tk 8.4. Windows binaries are available
192 as part of the ActiveTCL distribution at
193 http://www.activestate.com/products/ActiveTcl/
1131ee4 MAJ portage MinGW
xleroy authored
194
195 INSTALLATION:
196
f791d48 Fusion des modifs faites sur la branche release jusqu'a la release 3.…
xleroy authored
197 The binary distribution is a self-installing executable archive.
198 Just run it and it should install OCaml automatically.
199
200 To run programs that use the LablTK GUI, the directory where the
bc6f328 Use TCL/TK 8.4 instead of 8.3
xleroy authored
201 DLLs tk84.dll and tcl84.dll were installed (by the Tcl/Tk
f791d48 Fusion des modifs faites sur la branche release jusqu'a la release 3.…
xleroy authored
202 installer) must be added to the PATH environment variable.
203
204 To compile programs that use the LablTK GUI, the directory where the
bc6f328 Use TCL/TK 8.4 instead of 8.3
xleroy authored
205 libraries tk84.lib and tcl84.lib were installed (by the Tcl/Tk
f791d48 Fusion des modifs faites sur la branche release jusqu'a la release 3.…
xleroy authored
206 installer) must be added to the library search path in the LIB
207 environment variable. E.g. if Tcl/Tk was installed in C:\tcl, add
208 "C:\tcl\lib" to the LIB environment variable.
1131ee4 MAJ portage MinGW
xleroy authored
209
210
211 RECOMPILATION FROM THE SOURCES:
212
213 You will need the following software components to perform the recompilation:
f42b67a merge changes 3.10.0 -> 3.10.1
doligez authored
214 - Windows NT, 2000, XP, or Vista.
1131ee4 MAJ portage MinGW
xleroy authored
215 - Cygwin: http://sourceware.cygnus.com/cygwin/
bc6f328 Use TCL/TK 8.4 instead of 8.3
xleroy authored
216 - TCL/TK version 8.4 (see above).
8bacf14 Document dependency on flexdll
frisch authored
217 - the flexdll tool (see above).
1131ee4 MAJ portage MinGW
xleroy authored
218
786cf74 Clarification MinGW
xleroy authored
219 Do *not* install the standalone distribution of MinGW, nor the
220 companion MSYS tools: these have problems with long command lines.
221 Instead, use the version of MinGW that is installed along with Cygwin.
222
1131ee4 MAJ portage MinGW
xleroy authored
223 Start a Cygwin shell and unpack the source distribution
224 (ocaml-X.YZ.tar.gz) with "tar xzf". Change to the top-level
225 directory of the OCaml distribution. Then, do
226
5ccc0e3 detabisation
doligez authored
227 cp config/m-nt.h config/m.h
228 cp config/s-nt.h config/s.h
229 cp config/Makefile.mingw config/Makefile
1131ee4 MAJ portage MinGW
xleroy authored
230
82c273a MAJ et nettoyages
xleroy authored
231 Then, edit config/Makefile as needed, following the comments in this file.
232 Normally, the only variables that need to be changed are
5ccc0e3 detabisation
doligez authored
233 PREFIX where to install everything
234 TK_ROOT where TCL/TK was installed
1131ee4 MAJ portage MinGW
xleroy authored
235
236 Finally, use "make -f Makefile.nt" to build the system, e.g.
237
238 make -f Makefile.nt world
239 make -f Makefile.nt bootstrap
240 make -f Makefile.nt opt
241 make -f Makefile.nt opt.opt
82c273a MAJ et nettoyages
xleroy authored
242 make -f Makefile.nt install
1131ee4 MAJ portage MinGW
xleroy authored
243
244
245 NOTES:
246
247 * Libraries available in this port: "num", "str", "threads", "graphics",
248 "labltk", and large parts of "unix".
249
250 * The replay debugger is not supported.
82c273a MAJ et nettoyages
xleroy authored
251
252 ------------------------------------------------------------------------------
253
254 The Cygwin port of Objective Caml
255 ---------------------------------
256
257 REQUIREMENTS:
258
259 This port requires the Cygwin environment from Cygnus/RedHat, which
260 is freely available at:
68cfc3f fusion des changements 3.09.2 -> 3.09.3
doligez authored
261 http://www.cygwin.com/
82c273a MAJ et nettoyages
xleroy authored
262
8bacf14 Document dependency on flexdll
frisch authored
263 It also requires the flexdll tool, available at:
264 http://alain.frisch.fr/flexdll.html
265
4c1dce3 MAJ instructions installation
xleroy authored
266 This port runs under all versions of MS Windows supported by Cygwin.
82c273a MAJ et nettoyages
xleroy authored
267
268
269 INSTALLATION:
270
68cfc3f fusion des changements 3.09.2 -> 3.09.3
doligez authored
271 We do not distribute binaries for this port, but they can be found
272 in the Cygwin distribution (use the Setup tool from Cygwin and select
273 the OCaml packages). Alternatively, recompile from the source distribution.
82c273a MAJ et nettoyages
xleroy authored
274
275
276 RECOMPILATION FROM THE SOURCES:
277
278 Just follow the instructions for Unix machines given in the file INSTALL.
279
280
281 NOTES:
282
37d95e1 Le portage Mingw a besoin de Cygwin (et non Mingw+MSYS) pour compiler
xleroy authored
283 The libraries available in this port are "num", "str", "threads",
f791d48 Fusion des modifs faites sur la branche release jusqu'a la release 3.…
xleroy authored
284 "unix" and "labltk". "graph" is not available.
82c273a MAJ et nettoyages
xleroy authored
285 The replay debugger is supported.
286
05648d1 Documentation portage Win64/MSVC
xleroy authored
287 ------------------------------------------------------------------------------
288
289 The native Win64 port built with the Microsoft Platform SDK compilers
290 ---------------------------------------------------------------------
291
292 REQUIREMENTS:
293
294 This port runs under MS Windows XP 64 and Server 64 on Intel64/AMD64 machines.
295
296 The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...)
297 runs without any additional tools.
298
299 Statically linking Caml bytecode with C code (ocamlc -custom) requires the
300 Microsoft Platform SDK compiler (item [1] in the section
8bacf14 Document dependency on flexdll
frisch authored
301 "third-party software" below) and the flexdll tool (item [2]).
05648d1 Documentation portage Win64/MSVC
xleroy authored
302
303 The native-code compiler (ocamlopt) requires the Microsoft compiler
8bacf14 Document dependency on flexdll
frisch authored
304 and the Microsoft assembler MASM64 (item [1]) and the flexdll tool (item [2]).
05648d1 Documentation portage Win64/MSVC
xleroy authored
305
306
307 INSTALLATION:
308
309 There is no binary distribution yet. Please compile from sources as
310 described below.
311
312
313 THIRD-PARTY SOFTWARE:
314
315 [1] Microsoft Windows Server 2003 R2 Platform SDK for AMD64 (PSDK-amd64.exe).
316 Can be downloaded for free from http://www.microsoft.com/.
317 Includes all we need, namely a C compiler, the masm64 assembler,
318 Windows libraries and include files.
319
8bacf14 Document dependency on flexdll
frisch authored
320 [2] flexdll.
321 Can be downloaded from http://alain.frisch.fr/flexdll.html
322
323
05648d1 Documentation portage Win64/MSVC
xleroy authored
324
325 RECOMPILATION FROM THE SOURCES:
326
327 The command-line tools can be recompiled from the Unix source
328 distribution (ocaml-X.YZ.tar.gz), which also contains the files modified
329 for Windows.
330
331 You will need the following software components to perform the recompilation:
332 - Windows XP 64 or Server 64.
333 - The Platform SDK (item [1] from the list of recommended software above).
334 - The Cygwin port of GNU tools, available from http://www.cygwin.com/
8bacf14 Document dependency on flexdll
frisch authored
335 - The flexdll tool (see above).
05648d1 Documentation portage Win64/MSVC
xleroy authored
336
337 To recompile, start a Cygwin shell and change to the top-level
338 directory of the OCaml distribution. Then, do
339
340 cp config/m-nt.h config/m.h
341 cp config/s-nt.h config/s.h
342 cp config/Makefile.msvc64 config/Makefile
343
344 Then, edit config/Makefile as needed, following the comments in this file.
345 Normally, the only variable that need to be changed is
346 PREFIX where to install everything
347
348 If, for whatever reason, you want to use the Microsoft Visual C++ 2005
349 compiler for AMD64 instead of the Platform SDK compiler, replace the line
350 EXTRALIBS=bufferoverflowu.lib
351 by
352 EXTRALIBS=
353
354 Finally, use "make -f Makefile.nt" to build the system, e.g.
355
356 make -f Makefile.nt world
357 make -f Makefile.nt bootstrap
358 make -f Makefile.nt opt
359 make -f Makefile.nt opt.opt
360 make -f Makefile.nt install
361
362
363 NOTES:
364
365 * Libraries available in this port: "num", "str", "threads", "graphics",
366 and large parts of "unix".
367
368 * The replay debugger and the graphical browser are not supported.
369
Something went wrong with that request. Please try again.