Commit 2cc73a6d authored by Pietro Abate's avatar Pietro Abate
Browse files

[r2005-12-14 16:13:28 by afrisch] Empty log message

Original author: afrisch
Date: 2005-12-14 16:13:29+00:00
parent 8f3db829
......@@ -6,7 +6,6 @@ include ../Makefile.conf
all: caml_cduce.cmo caml_cduce.cmx
STDLIB=$(shell ocamlc -where)
CMI_MAGIC=$(shell grep cmi_magic ocaml-3.08.4/utils/config.mlp)
ifeq ($(FORPACK),true)
......@@ -27,13 +26,13 @@ ocaml_files:
caml_cduce.cmo: ocaml_files
@echo "Build $@"
(cd ocaml_files; ocamlc $(FORPACKOPT1) $@ -c $(COMPILE_FILES);\
(cd ocaml_files; ocamlc $(FORPACKOPT1) -c $(COMPILE_FILES);\
ocamlc $(FORPACKOPT2) -pack -o $@ $(OBJECTS); \
cp caml_cduce.cmo caml_cduce.cmi ..)
caml_cduce.cmx: ocaml_files
@echo "Build $@"
(cd ocaml_files; ocamlopt $(FORPACKOPT1) $@ -c $(COMPILE_FILES);\
(cd ocaml_files; ocamlopt $(FORPACKOPT1) -c $(COMPILE_FILES);\
ocamlopt $(FORPACKOPT2) -pack -o $@ $(XOBJECTS); \
cp caml_cduce.cmx caml_cduce.o caml_cduce.cmi ..)
......
......@@ -20,18 +20,15 @@ patterns.
</p>
<p>
OCamlDuce is distributed under the same licenses as Objective Caml:
the Q Public License version 1.0 for the Compiler, and the LGPL
version 2 for the Library. The extension has been written by Alain
Frisch. Parts of the CDuce implementation, by the same author, have
been reused.
OCamlDuce is distributed under the Q Public License version 1.0 for
the Compiler.
</p>
<p>
<!--<p>
The theory behind OCamlDuce's type system is described in a <a
href="http://cristal.inria.fr/~frisch/ocamlcduce/">technical
report</a>.
</p>
</p>-->
</box>
......@@ -46,67 +43,58 @@ of CDuce (between 0.3.92 and the head).
<ul>
<li><a
href="http://pauillac.inria.fr/~frisch/ocamlcduce/download/ocamlduce-3.08.4pl5.tar.gz">Compiler,
version 3.08.4, patch level 5</a></li>
version 3.08.4, patch level 5</a> (to be used with OCaml 3.08.4)</li>
<li><a
href="http://pauillac.inria.fr/~frisch/ocamlcduce/download/ocamlduce-3.09.1.tar.gz">Compiler,
version 3.09.1</a> (to be used with the current
release309 branch of OCaml CVS)</li>
</ul>
<p>
There are two different installation modes:
The following describes the installation procedure for the version
3.09.1. OCamlDuce is installed on top of an existing OCaml
installation (whose version number must match). The build procedure
is: <tt>make all &amp;&amp; make opt &amp;&amp; make
install</tt>. The configuration is taken from OCaml's
<tt>Makefile.config</tt>.
</p>
<ul>
<li><b>Stand-alone mode</b>. OCamlDuce is used as a drop-in
replacement for OCaml. The build procedure is unchanged:
<tt>./configure &amp;&amp; make world &amp;&amp; make install</tt>.
The tools are named <tt>ocaml, ocamlc, ocamlopt</tt>, ...
The standard library is extended with the <tt>num</tt> library
and the <tt>Ocamlduce</tt> module.
</li>
<p>
The tools are named <tt>ocamlduce, ocamlducec, ocamlduceopt,
ocamlducedep</tt> (and their <tt>.opt</tt> variants). In addition, a
library called <tt>ocamlduce.cma/.cmxa</tt> is built. It depends on
the <tt>nums</tt> library.
</p>
<li><b>Package mode</b>. OCamlDuce is installed on top of an existing
OCaml installation (whose version number must match), without touching
it. The build
procedure is: <tt>./configure &amp;&amp; make all &amp;&amp; make opt
&amp;&amp; make install</tt>. The <tt>configure</tt> script should be called with
the same arguments as the ones used when you built OCaml. For instance,
the <tt>LIBDIR</tt> argument is used to find OCaml standard library.
The tools names are changed to <tt>ocamlduce, ocamlducec,
ocamlduceopt</tt>, ... They use the existing standard library.
In addition, a library <tt>ocamlduce.cma</tt> is built.
It depends on the <tt>nums.cma</tt> library. The <tt>install</tt>
target implements a <tt>Findlib</tt>-based installation. It registers
a package named <tt>ocamlduce</tt> and it puts the tools
in the package sub-directory (the <tt>BINDIR</tt> and <tt>LIBDIR</tt>
arguments to <tt>configure</tt> are not used). The toplevel
can be called by <tt>ocamlfind ocamlduce/ocamlduce -I `ocamlfind query ocamlduce`</tt>.
</li>
</ul>
<p>
The <tt>install</tt>
target requires <tt>findlib</tt>. It
registers a package named <tt>ocamlduce</tt> and it puts the tools
in the package's sub-directory. E.g. the
toplevel can be called by <tt>ocamlfind ocamlduce/ocamlduce -I
`ocamlfind query ocamlduce`</tt>.
</p>
</box>
<box title="Ports and packages" link="ports">
<section title="GODI">
<p>
GODI users can choose any of the two installation modes.
In order to upgrade an existing installation so as to use
OCamlDuce in place of OCaml, they must add this
line to their <tt>etc/godi.conf</tt> file:
There is a <tt>godi-ocamlduce</tt> package available in GODI
(sections 3.08 and 3.09). Note that for the section 3.09, you must
install OCaml from CVS (set <tt>OCAML_CVS_CHECKOUT=true</tt> in the
<tt>godi-ocaml-src</tt> package and reinstall <tt>godi-ocaml</tt>).
</p>
<sample>
GODI_BUILD_SITES += http://pauillac.inria.fr/~frisch/ocamlcduce/godi
</sample>
<p>
and force a recompilation of the <tt>godi-ocaml-src</tt>
and <tt>godi-ocaml</tt> packages. The alternative is to install
OCamlDuce
as a GODI package over an existing installation. You don't need
to touch the <tt>etc/godi.conf</tt> file. The package
name is <tt>godi-ocamlduce</tt>. In order to use the new compilers
and tools, you can make the environment variable
<tt>OCAMLFIND_CONF</tt> point to the
<tt>$GODI/etc/findlib-ocamlduce.conf</tt> file and then
uses e.g. <tt>ocamlfind ocamlc -package ocamlduce</tt>.
In order to use the new compilers and tools, you can make the
environment variable <tt>OCAMLFIND_CONF</tt> point to the
<tt>$GODI/etc/findlib-ocamlduce.conf</tt> file and then uses
e.g. <tt>ocamlfind ocamlc -package ocamlduce</tt>.
</p>
</section>
<section title="DarwinPorts and OpenBSD">
......@@ -1170,7 +1158,7 @@ OCaml release. This means that OCamlDuce can use OCaml-generated
<p>
It is thus possible to use existing libraries which were compiled for
OCaml 3.08.4. It is also possible to use OCamlDuce to compile
OCaml. It is also possible to use OCamlDuce to compile
some modules and use them in an OCaml project provided their interface
is pure OCaml.
</p>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment