1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE readme SYSTEM "readme.dtd" [
4 <!ENTITY % common SYSTEM "common.xml">
7 <!ENTITY m "<em>Netstring</em>">
11 <readme title="INSTALL - Netstring, string processing functions for the net">
12 <sect1><title>The "Netstring" package</title>
13 <sect2><title>Prerequisites</title>
15 &m; does not need any other packages besides the O'Caml core. &m; needs
16 at least O'Caml 3.00. The installation procedure defined in the Makefile
17 requires <a href="&url.findlib-project;">findlib</a> to
18 work<footnote><em>Findlib</em> is a package manager, see the file
19 ABOUT-FINDLIB.</footnote>.
23 <sect2><title>Configuration</title>
25 It is not necessary to configure "Netstring".
29 <sect2><title>Compilation</title>
31 The Makefile defines the following goals:
36 <p>compiles with the bytecode compiler and creates netstring.cma,
37 netstring_mt.cmo, netstring_top.cmo, netmappings_iso.cmo, and
38 netmappings_other.cmo</p>
42 <p>compiles with the native compiler and creates netstring.cmxa,
43 netstring_mt.cmx, netmappings_iso.cmx, and netmappings_other.cmx</p>
47 <p>The archive netstring.cmx?a contains the functionality, and the two
48 single-module files netmappings_iso.cm[ox] and netmappings_other.cm[ox] add
49 configurations to the character set conversion module. These configurations are
53 <li><p>Netmappings_iso: Conversion tables for the character sets
54 ISO-8859-2, -3, -4, -5, -6, -7, -8, -9, -10, 13, -14, and -15.</p>
56 <li><p>Netmappings_other: Conversion tables for the character sets
57 WINDOWS-1250, -1251, -1252, -1253, -1254, -1255, -1256, -1257, -1258;
58 code pages 037, 424, 437, 500, 737, 775, 850, 852, 855, 856, 857, 860, 861,
59 862, 863, 864, 865, 866, 869, 874, 875, 1006, 1026; JIS-0201; KOI8R; Macintosh
60 Roman encoding; Adobe Standard Encoding, Symbol Encoding, and Zapf Dingbats
65 <p>Even without these configuration files, the conversion module is able to
66 handle the encodings ISO-8859-1, US-ASCII, UTF-16, UTF-8, and the Java variant
69 <p>The module Netstring_mt must be linked into multi-threaded applications;
70 otherwise some mutexes remain uninitialized.</p>
72 <p>The module Netstring_top loads several printers for abstract values (for
77 <sect2><title>Installation</title>
79 The Makefile defines the following goals:</p>
83 <p>installs the bytecode archive, the interface definitions, and if
84 present, the native archive in the default location of <em>findlib</em>
89 <p>make install-cgi</p>
90 <p>Installs a pseudo package "cgi" which is compatible with the old
91 cgi package. This has the effect that software searching the "cgi" package will
92 find the netstring package instead. This is recommended.</p>
96 <p>make install-base64</p> <p>Installs a pseudo package "base64"
97 which is compatible with the old base64 package. This has the effect that
98 software searching the "base64" package will find the netstring package
99 instead. This is recommended.</p>
103 <p>make uninstall</p>
104 <p>removes the package</p>
108 <p>make uninstall-cgi</p>
109 <p>removes the "cgi" compatibility package</p>
113 <p>make uninstall-base64</p>
114 <p>removes the "base64" compatibility package</p>
121 <title>Linking netstring with findlib</title>
124 ocamlfind ocamlc ... -package netstring ... -linkpkg ...
126 links as much as possible code from netstring into your application: All
127 conversion tables; when -thread is specified, the initialization code for
128 multi-threaded programs; when a toploop is created, the code setting the value
131 <p>The following predicates reduce the amount of linked code:</p>
134 <li><p>netstring_only_iso: Only the conversion tables for the ISO-8859
135 series of character sets are linked.</p>
137 <li><p>netstring_minimum: No additional conversion tables are linked;
138 only ISO-8859-1 and the UTF encodings work.</p>
142 <p>For example, the command may look like
146 -package netstring -predicates netstring_only_iso ... -linkpkg ...
149 to link only the ISO-8859 conversion tables.</p>