Compiling CAMLP4 on Win95/CygwinB20.1

From: Norman Davis (
Date: Sat Jan 30 1999 - 00:10:37 MET

Date: Fri, 29 Jan 1999 17:10:37 -0600
From: Norman Davis <>
To: OCAML <>
Subject: Compiling CAMLP4 on Win95/CygwinB20.1

For those of you who might find this helpful, here are the steps I had
to perform to compile CAMLP4 on my Win95 system with Cygwin Beta 20.1.

While compiling on my system, many workarounds were required due
to Cygwin Beta 20.1. Hopefully by documenting this I will make
life easier for someone else.

The first two steps are from the windows-specific instructions from
camlp4's INSTALL.TXT. Steps 3 and 4 are some of the additional
specific to using Cygwin Beta version 20.1.

1) Edit the file "config/Makefile.tpl" so EXE=.exe
2) Modify "tools/" as described in INSTALL.TXT
3) in each Makefile in subdirectories "camlp4", "ocaml_src/camlp4",
   and "ocpp", in the line
      INTERFACES=-I ($OLIBDIR) Arg Array Callback
   make the substitution for "($OLIBDIR)" yourself. In my case:
      INTERFACES=-I c:/ocaml/lib Arg Array Callback
   where c:/ocaml/lib was my ocaml library directory on my system.
4) create an empty ".depend" file in every subdirectory that doesn't
    already have a ".depend" file.

Step 3 was neccessary because otherwise a strange character would be
inserted by make that kept some commands from completing.
Step 4 reduced the number of messages Make displayed, but maybe wasn't

5)Then in Cygwin BASH shell I did:
    ./configure (For the three questions, I answered /ocaml/bin,
/ocaml/lib, and /ocaml.)
                   (If I used c:/ocaml/bin, c:/ocaml/lib, and
c:/ocaml, corruption occured.)
    make clean_cold
    make library_cold
    make compile_cold
    make promote_cold
    make clean_cold
    make clean_hot
    make compile_tool
    make library
    make all
    [repeat "make all" until it responds with 9 lines of "Nothing to
be done for 'all'"]
    make install

Sometimes make would display that it couldn't find a certain file,
but the next time I typed "make all", it would find it. That's the
reason for repeating "make all" several times. This problem seemed
to occur randomly.

By doing each make seperately, instead of letting "make world"
do the job for me, the process seemed to finish with fewer
"make all"s overall.

When I try to test the system as suggested by INSTALL.TXT
        camlp4o pr_o.cmo
On one of my Win95 systems, it works fine. But on the other, i get
"file not found: pr_o.cmo". To fix it I had to use the full path
for pr_o.cmo (e.g, /ocaml/lib/pr_o.cmo). I haven't figured out the
reason for this yet.

-- U.S.: (972) 917-1670

This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:19 MET