diff options
| -rw-r--r-- | INSTALL.adoc | 8 | ||||
| -rw-r--r-- | README.adoc | 5 | ||||
| -rw-r--r-- | README.win32.adoc | 125 |
3 files changed, 42 insertions, 96 deletions
diff --git a/INSTALL.adoc b/INSTALL.adoc index e020507b38..5d485948d4 100644 --- a/INSTALL.adoc +++ b/INSTALL.adoc @@ -1,4 +1,4 @@ -= Installing OCaml on a Unix machine = += Installing OCaml on a Unix(-like) machine = == PREREQUISITES @@ -13,6 +13,12 @@ are all *required*. The vendor-provided compiler, assembler and make tools have major problems. +* Under Cygwin, the `gcc-core` and `make` packages are required. `flexdll` is + necessary for shared library support. `libX11-devel` is necessary for graph + library support and `libintl-devel` is necessary for the `ocamlobjinfo` tool + to be able to process `.cmxs` files. `diffutils` is necessary to run the test + suite. + == INSTALLATION INSTRUCTIONS 1. Configure the system. From the top directory, do: diff --git a/README.adoc b/README.adoc index 8d045a9755..73e477a89b 100644 --- a/README.adoc +++ b/README.adoc @@ -82,8 +82,9 @@ conditions stated in file LICENSE. == INSTALLATION -See the file INSTALL for installation instructions on Unix, Linux and -OS X machines. For MS Windows, see link:README.win32.adoc[]. +See the file INSTALL for installation instructions on machines running Unix, +Linux, OS X and Cygwin. For native Microsoft Windows, see +link:README.win32.adoc[]. == DOCUMENTATION diff --git a/README.win32.adoc b/README.win32.adoc index 30316aaccd..32443bd7db 100644 --- a/README.win32.adoc +++ b/README.win32.adoc @@ -1,48 +1,46 @@ -= Release notes on the MS Windows ports of OCaml = += Release notes on the Microsoft Windows ports of OCaml = :toc: macro -There are no less than five ports of OCaml for MS Windows available: +There are no fewer than three ports of OCaml for Microsoft Windows, each +available in 32 and 64-bit versions: - - a native Win32 port, built with the Microsoft development tools; - - a native Win32 port, built with the 32-bit version of the gcc - compiler from the mingw-w64 project, packaged in Cygwin - (under the name mingw64-i686); - - a native Win64 port, built with the 64-bit version of the gcc - compiler from the mingw-w64 project, packaged in Cygwin - (under the name mingw64-x86_64); - - a port consisting of the Unix sources compiled under the Cygwin - Unix-like environment for Windows (both 32-bit and 64-bit). - - a native Win64 port (64-bit Windows), built with the Microsoft - development tools. + - native Windows, built with the Microsoft C/C++ Optimizing Compiler + - native Windows, built using the Mingw-w64 version of GCC + - Cygwin (http://www.cygwin.com[www.cygwin.com]) Here is a summary of the main differences between these ports: |===== -| | Native MS | Native MinGW | Cygwin -|64 bits? | Win32 or Win64 | Win32 or Win64 | Win32 or Win64 +| | Native Microsoft | Native Mingw-w64 | Cygwin 4+^| Third-party software required -| for base bytecode system | none | none | none -| for ocamlc -custom | MSVC | Cygwin | Cygwin -| for native-code generation | MSVC+MASM | Cygwin | Cygwin -| Speed of bytecode interpreter | 70% | 100% | 100% -| Replay debugger | yes <<tb2,(**)>> | yes <<tb2,(**)>> | yes -| The Unix library | partial | partial | full -| The Threads library | yes | yes | yes -| The Graphics library | yes | yes | no -| Restrictions on generated executables? | none | none | yes <<tb1,(*)>> +| for base bytecode system | none | none | none +| for ocamlc -custom | Microsoft Visual C++ | Cygwin | Cygwin +| for native-code generation | Microsoft Visual C++ | Cygwin | Cygwin +4+^| Features +| Speed of bytecode interpreter | 70% | 100% | 100% +| Replay debugger | yes <<tb2,(**)>> | yes <<tb2,(**)>> | yes +| The Unix library | partial | partial | full +| The Threads library | yes | yes | yes +| The Graphics library | yes | yes | no +| Restrictions on generated executables? | none | none | yes <<tb1,(*)>> |===== [[tb1]] -(*):: Cygwin-generated .exe files refer to a DLL that is distributed under -the GPL. Thus, these .exe files can only be distributed under a license -that is compatible with the GPL. Executables generated by MSVC or by -MinGW have no such restrictions. +(*):: Cygwin-generated .exe files refer to a DLL that is distributed under the +GPL. Thus, these .exe files can only be distributed under a license that is +compatible with the GPL. Executables generated by Microsoft Visual C++ or +Mingw-w64 have no such restrictions. [[tb2]] (**):: The debugger is supported but the "replay" functions are not enabled. Other functions are available (step, goto, run...). -The remainder of this document gives more information on each port. +Cygwin aims to provide a Unix-like environment on Windows, and the build +procedure for it is the same as for other flavours of Unix. See +link:INSTALL.adoc[] for full instructions. + +The four native Windows ports have to be built differently, and the remainder of +this document gives more information. toc::[] @@ -298,70 +296,6 @@ Finally, use `make -f Makefile.nt` to build the system, e.g. - http://gcc.gnu.org/onlinedocs/gcc-4.9.1/gcc/Link-Options.html#Link-Options - http://caml.inria.fr/mantis/view.php?id=6411 -== The Cygwin port of OCaml - -=== REQUIREMENTS - -This port requires the Cygwin environment from Cygnus/RedHat, which -is freely available at: - -http://www.cygwin.com/ - -It also requires the flexdll tool, available at: - -http://alain.frisch.fr/flexdll.html - -This port runs under all versions of MS Windows supported by Cygwin. - -=== INSTALLATION - -We do not distribute binaries for this port, but they can be found -in the Cygwin distribution (use the Setup tool from Cygwin and select -the OCaml packages). Alternatively, recompile from the source distribution. - - -=== RECOMPILATION FROM THE SOURCES - -Before starting, make sure that the gcc version installed by cygwin -is not 4.5.3 (it has a bug that affects OCaml). If needed, use cygwin's -setup.exe to downgrade to 4.3.4. - -You will need to recompile (and install) flexdll from source with -Cygwin's C compiler because the official binary version of flexdll -doesn't handle Cygwin's symbolic links and sometimes fails to -launch the C compiler. - -In order to recompile flexdll, you first need to configure, compile, -and install OCaml without flexdll support (configure with options --no-shared-libs), then modify the flexdll Makefile to change -line 51 from: - - LINKFLAGS = -ccopt "-link version_res.o" - -to: - - LINKFLAGS = -cclib version_res.o - -Then `make CHAINS=cygwin` and add the flexdll directory to your PATH. -Make sure to add it before '/usr/bin' or you will get cygwin's flexlink. - -Then, in OCaml's source directory, type: - - make clean - make distclean - -and follow the instructions for Unix machines given in the file INSTALL. - - -=== NOTES - -- There is a problem with cygwin's port of gcc version 4.5.3. You should - use cygwin's setup program to downgrade to 4.3.4 before compiling OCaml. -- The replay debugger is fully supported. -- In order to use the "graph" library, you will need to use Cygwin's - setup.exe to install the xinit, and libX11-devel packages before compiling - OCaml. - == The native Win64 port built with Microsoft Windows SDK === REQUIREMENTS @@ -469,3 +403,8 @@ Finally, use `make -f Makefile.nt` to build the system, e.g. * The replay debugger is partially supported (no reverse execution). * The graphical browser ocamlbrowser is not supported. + +== Trademarks + +Microsoft, Visual C++, Visual Studio and Windows are registered trademarks of +Microsoft Corporation in the United States and/or other countries. |
