/[svn]/INSTALL
ViewVC logotype

Diff of /INSTALL

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 285 by abate, Tue Jul 10 17:22:30 2007 UTC revision 705 by abate, Tue Jul 10 17:57:13 2007 UTC
# Line 1  Line 1 
1  Installation notes  Installation Notes for CDuce
2    ============================
3    
4  - ocaml 3.06  CDuce is written in the OCaml programming language. It has been
5    successfully compiled under Intel Linux, Mac OSX, SunOS 5.7, FreeBSD 4.7.
6    and Windows XP.
7    (See INSTALL.WIN32 for installation under Windows)
8    
9     Normally, we don't need any longer the patch for nat_stubs.c;  ------------------------------------------------------------------------------
10     if someone gets the error "Abstract value", please report it to me...  Prerequisites
11    ------------------------------------------------------------------------------
12    
13  - ocamlfind  Before compiling CDuce, you need to install recent releases of the
14    following packages:
15    
16  - pcre  ocaml  => 3.07
17    http://www.pcre.org/    http://caml.inria.fr/ocaml/distrib.html
18    ./configure --prefix=... --disable-shared  findlib
19      http://www.ocaml-programming.de/packages
20    ulex
21      http://www.cduce.org/download
22    pcre-ocaml
23      http://www.ai.univie.ac.at/~markus/home/ocaml_sources.html
24    ocamlnet
25      http://sourceforge.net/projects/ocamlnet
26    pxp    => 1.9.93
27      http://www.ocaml-programming.de/packages/documentation/pxp/index_dev.html
28    
29  - pcre-ocaml  Important notes:
   In Makefile.conf:  
   export STATIC = yes  
   export INCDIRS := /users/formel8/frisch/freebsd/pcre/include  
   export LIBDIRS := /users/formel8/frisch/freebsd/pcre/lib  
30    
31    After make all, make opt:  - OCaml: cduce uses recursive modules so versions of OCaml before 3.07
32      cd lib    will not work. Also the standard distribution has two bugs that make
33      cp ../META .    CDuce compilation fail. Patch OCaml source by
     ocamlfind install pcre META *.a *.cma *.cmxa *.cmi *.mli  
34    
35  - ocamlnet        http://caml.inria.fr/bin/caml-bugs/fixed?id=1863;page=77;user=guest
36          http://www.cduce.org/download/patch-ocaml-3.07
37    
38  - pxp    or (better) install OCaml cvs version
39         cvs -d":pserver:anoncvs@camlcvs.inria.fr:/caml" login
40      hit enter key when asked for password
41         cvs -d":pserver:anoncvs@camlcvs.inria.fr:/caml" co ocaml
42    
43  - wlex  - pcre-ocaml: you may also need to install the PCRE library
44      from http://www.pcre.org/ [red-hat users: 4.3 package does
45      not work with the latest pcre-ocaml version, use tarballs]
46      >= 5.03 recommended but previous versions may work
47    
48    - PXP:
49      CDuce requires a development version >= 1.1.93.
50    
51      Note:
52      It is enough to build support UTF8 and ISO-8859-1 ocamllex-lexers:
53      ./configure -without-wlex -without-wlex-compat -lexlist utf8,iso88591
54    
55    Efficiency issues:
56    
57    - OCamlnet: if you plan to load XML file with encodings other than
58      UTF-8, it is advised to use a recent version of OCamlnet (>= 0.96).
59      Indeed, the netconversion module in the previous release (0.95) was
60      very slow, and it has been rewritten since then.
61    
62    ------------------------------------------------------------------------------
63    Compilation
64    ------------------------------------------------------------------------------
65    
66    You need a GNU Make (or equivalent) to use the Makefile from the
67    distribution. It defines the following goals:
68    
69    - make cduce
70      compiles the CDuce command line interpreter
71    
72    - make dtd2cduce
73      compiles the dtd2cduce tools (converts DTD to CDuce types)
74    
75    - make webiface
76      compiles the CDuce web interface interpreter (to be used as a CGI script)
77    
78    - make webpages
79      compiles in the web/www/ subdirectory the HTML files for the CDuce website
80      (including the tutorial and manual)
81    
82    - make install_web
83      compiles webiface and webpages, and install everything (see Makefile.conf)
84    
85    - make all
86      equivalent to (make cduce dtd2cduce)
87    
88    - make install
89      it installs
90      cduce and dtd2cduce into $(PREFIX)/bin
91      cduce.1 into $(PREFIX)/man/man1
92      (see PREFIX below)
93    
94    Makefile accepts the following options.
95    
96    NATIVE=true   : use the OCaml native code compiler (ocamlopt) to build CDuce
97    NATIVE=false  : use the OCaml bytecode compiler (ocamlc)
98      default: true  (the native code version is much faster)
99    
100    PXP_WLEX=true : use wlex for parsing UTF-8 XML files
101    PXP_WLEX=false: use ocamllex for parsing UTF-8 XML files
102      default: false (ocamllex is faster; wlex is more compact)
103    
104    EXPAT=true: build expat support (see below)
105    
106    PREFIX=/usr/local by default: where to install CDuce files (see
107     Makefile.conf)
108    
109    E.g.:
110      make cduce NATIVE=false
111    
112    You can also modify Makefile.conf to set values for these choices.
113    
114    ------------------------------------------------------------------------------
115    Support for the expat parser
116    ------------------------------------------------------------------------------
117    
118    CDuce can uses two XML parsers: PXP and expat. PXP is needed
119    to build CDuce, and expat support can be additionnaly added.
120    Here is how to do so.
121    
122    You need to install the expat C library and the OCaml wrapper.
123    The wrapper can be found at:
124    
125    http://home.wanadoo.nl/maas/ocaml/
126    
127    Once the wrapper and be installed, you can build CDuce with
128    the Makefile option EXPAT=true (which can be set on make command
129    line or in Makefile.conf).
130    
131    The interpreter is now using expat for loading XML files.
132    You can still use PXP by providing the --pxp switch on the command
133    line.
134    
135    Note: the current wrapper for expat does not support inclusion
136    of external entities. Moreover, the error messages in case of
137    ill-formed XML are less informative than PXP's.

Legend:
Removed from v.285  
changed lines
  Added in v.705

CVS Admin">CVS Admin
ViewVC Help
Powered by ViewVC 1.1.5