Skip to content
This repository was archived by the owner on Apr 7, 2021. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 22 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,52 +25,56 @@ The instructions above sometimes use the `c:\...`-style paths, sometimes the
`/c/...`-style paths. This is significant, and you cannot blindly replace one
for another.

1. Install FlexDLL from Alain's website, and
1. Install FlexDLL from [Alain's website](http://alain.frisch.fr/flexdll.html), and
* `export PATH=/cygdrive/c/path/to/flexdll:$PATH`
2. Refresh the files in the `flexlink/` directory of the installer, so that the
resulting installer ships the right version of flexdll (optional,
recommended).
2. Grab a copy of ActiveTCL and install it, leave the default path (`c:\tcl`).
Make sure the URL in `install.nsi` is up-to-date.
resulting installer ships the right version of flexdll (optional,
recommended).
2. Grab a copy of [ActiveTCL](https://www.activestate.com/activetcl) and install it
* leave the default path (`c:\tcl`).
* Make sure the URL in `install.nsi` is up-to-date.
* After installing, check your user PATH environment variable setting and remove
any occurance of `;%PATH%` at the end. This is a bug in the installer and can
cause recursive expansion.
2. Grab a copy of the OCaml sources, and keep the default install path
(`c:\ocamlmgw`), this will make your life easier.
(`c:\ocamlmgw`), this will make your life easier.
3. Follow the instructions in `README.Win32`, section "MinGW/Cygwin". Try to
compile OCaml. Swear. Try again. Grab a tea. Succeed. Be happy.
compile OCaml. Swear. Try again. Grab a tea. Succeed. Be happy.
4. Make sure `/cygdrive/c/ocamlmgw/bin` is in your path.
3. Clone camlp4, apply the
[patch](https://github.com/ocaml/camlp4/issues/41#issuecomment-55229048) for
[patch](https://github.com/ocaml/camlp4/issues/41#issuecomment-55229048) for
Windows, `configure` `make all` and `make install`
3. Go into the `emacs/` directory.
* Make sure there's an `emacs.exe` in your path (install Emacs if you have to).
* Configure the Makefile so that the output directory is
`/cygdrive/c/ocamlmgw/emacsfiles`.
`/cygdrive/c/ocamlmgw/emacsfiles`.
* Run `make` in that directory.
3. Checkout a copy of OCamlWin from the OCaml forge, edit Makefile.local and
`make && make install`.
`make && make install`.
4. Grab the latest findlib, `configure`, `make all opt`, `make install`.
4. Check that install.nsi will generate a correct `findlib.conf`
4. Copy findlib's `src/findlib/topfind_rd1.p` to `topfind` in the OCaml Installer
directory.
5. Install NSIS, grab `nsisunz.dll` somewhere on the interwebs and put it NSIS's
`Plugins` directory.
6. In the `ocaml-installer` directory (i.e. this repo), run `make`. This should
create a variety of files:
create a variety of files:
* `version.nsh`, a NSIS header file that is generated to contain the freshly
compiled OCaml's version number,
* `uninstall_lines.nsi`, an OCaml-generated list of files to remove from the
install directory.
6. Make should also launch NSIS with the main script file, and hopefully it
should all generate an installer. The installer is quite big (thank you
camlp4).
should all generate an installer. The installer is quite big (thank you
camlp4).

Things to test for
------------------

1. `rlwrap ocaml`, then `#use "topfind";;`, then `#camlp4r;;`
2. `ocamlfind ocamlc -package unix -linkpkg test.ml` where `test.ml` uses the
`Unix` module, of course.
3. `odb` on a sample package (e.g. `lwt`)
4. `labltktop`, `ocamlbrowser`...
1. `rlwrap ocaml`, then `#use "topfind";;`, then `#camlp4r;;`
2. `ocamlfind ocamlc -package unix -linkpkg test.ml` where `test.ml` uses the
`Unix` module, of course.
3. `odb` on a sample package (e.g. `lwt`)
4. `labltktop`, `ocamlbrowser`...

Bugs, issues
------------
Expand Down