File: INSTALL.xml

package info (click to toggle)
netstring 0.10.1-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,000 kB
  • ctags: 895
  • sloc: ml: 8,389; xml: 416; makefile: 188; sh: 103
file content (153 lines) | stat: -rw-r--r-- 4,528 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE readme SYSTEM "readme.dtd" [

<!ENTITY % common SYSTEM "common.xml">
%common;

<!ENTITY m "<em>Netstring</em>">

]>

<readme title="INSTALL - Netstring, string processing functions for the net">
  <sect1><title>The "Netstring" package</title>
    <sect2><title>Prerequisites</title>
      <p>
&m; does not need any other packages besides the O'Caml core. &m; needs
at least O'Caml 3.00. The installation procedure defined in the Makefile
requires <a href="&url.findlib-project;">findlib</a> to
work<footnote><em>Findlib</em> is a package manager, see the file
ABOUT-FINDLIB.</footnote>.
</p>
    </sect2>

    <sect2><title>Configuration</title>
      <p>
It is not necessary to configure "Netstring".
</p>
    </sect2>

    <sect2><title>Compilation</title>
      <p>
The Makefile defines the following goals:
</p>
      <ul>
	<li>
	  <p>make all</p> 
	  <p>compiles with the bytecode compiler and creates netstring.cma,
netstring_mt.cmo, netstring_top.cmo, netmappings_iso.cmo, and
netmappings_other.cmo</p>
	</li>
	<li>
	  <p>make opt</p>
	  <p>compiles with the native compiler and creates netstring.cmxa,
netstring_mt.cmx, netmappings_iso.cmx, and netmappings_other.cmx</p>
	</li>
      </ul>

      <p>The archive netstring.cmx?a contains the functionality, and the two
single-module files netmappings_iso.cm[ox] and netmappings_other.cm[ox] add
configurations to the character set conversion module. These configurations are
optional:</p>

      <ul>
	<li><p>Netmappings_iso: Conversion tables for the character sets
ISO-8859-2, -3, -4, -5, -6, -7, -8, -9, -10, 13, -14, and -15.</p>
	</li>
	<li><p>Netmappings_other: Conversion tables for the character sets
WINDOWS-1250, -1251, -1252, -1253, -1254, -1255, -1256, -1257, -1258;
code pages 037, 424, 437, 500, 737, 775, 850, 852, 855, 856, 857, 860, 861,
862, 863, 864, 865, 866, 869, 874, 875, 1006, 1026; JIS-0201; KOI8R; Macintosh
Roman encoding; Adobe Standard Encoding, Symbol Encoding, and Zapf Dingbats
Encodings.</p>
	</li>
      </ul>

<p>Even without these configuration files, the conversion module is able to
handle the encodings ISO-8859-1, US-ASCII, UTF-16, UTF-8, and the Java variant
of UTF-8.</p>

<p>The module Netstring_mt must be linked into multi-threaded applications;
otherwise some mutexes remain uninitialized.</p>

<p>The module Netstring_top loads several printers for abstract values (for
toploops).</p> 

    </sect2>

    <sect2><title>Installation</title>
      <p>
The Makefile defines the following goals:</p>
      <ul>
	<li>
	  <p>make install</p>
	  <p>installs the bytecode archive, the interface definitions, and if
present, the native archive in the default location of <em>findlib</em>
</p>
	</li>

	<li>
	  <p>make install-cgi</p>
	  <p>Installs a pseudo package "cgi" which is compatible with the old
cgi package. This has the effect that software searching the "cgi" package will
find the netstring package instead. This is recommended.</p>
	</li>

	<li>
	  <p>make install-base64</p> <p>Installs a pseudo package "base64"
which is compatible with the old base64 package. This has the effect that
software searching the "base64" package will find the netstring package
instead. This is recommended.</p>
	</li>

	<li>
	  <p>make uninstall</p>
	  <p>removes the package</p>
	</li>

	<li>
	  <p>make uninstall-cgi</p>
	  <p>removes the "cgi" compatibility package</p>
	</li>

	<li>
	  <p>make uninstall-base64</p>
	  <p>removes the "base64" compatibility package</p>
	</li>
      </ul>
    </sect2>


    <sect2>
      <title>Linking netstring with findlib</title>
      <p>The command
<code>
ocamlfind ocamlc ... -package netstring ... -linkpkg ...
</code>
links as much as possible code from netstring into your application: All
conversion tables; when -thread is specified, the initialization code for
multi-threaded programs; when a toploop is created, the code setting the value
printers.</p>

<p>The following predicates reduce the amount of linked code:</p>

      <ul>
	<li><p>netstring_only_iso: Only the conversion tables for the ISO-8859
series of character sets are linked.</p>
	</li>
	<li><p>netstring_minimum: No additional conversion tables are linked;
only ISO-8859-1 and the UTF encodings work.</p>
	</li>
      </ul>

<p>For example, the command may look like

<code>
ocamlfind ocamlc ... 
          -package netstring -predicates netstring_only_iso ... -linkpkg ...
</code>

to link only the ISO-8859 conversion tables.</p>
    </sect2>

  </sect1>
</readme>