]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/pxp/netstring/doc/INSTALL
Initial revision
[helm.git] / helm / DEVEL / pxp / netstring / doc / INSTALL
diff --git a/helm/DEVEL/pxp/netstring/doc/INSTALL b/helm/DEVEL/pxp/netstring/doc/INSTALL
new file mode 100644 (file)
index 0000000..cca3994
--- /dev/null
@@ -0,0 +1,128 @@
+******************************************************************************
+INSTALL - Netstring, string processing functions for the net
+******************************************************************************
+
+
+==============================================================================
+The "Netstring" package
+==============================================================================
+
+------------------------------------------------------------------------------
+Prerequisites
+------------------------------------------------------------------------------
+
+Netstring does not need any other packages besides the O'Caml core. Netstring 
+needs at least O'Caml 3.00. The installation procedure defined in the Makefile 
+requires findlib [1] to work [2]. 
+
+------------------------------------------------------------------------------
+Configuration
+------------------------------------------------------------------------------
+
+It is not necessary to configure "Netstring". 
+
+------------------------------------------------------------------------------
+Compilation
+------------------------------------------------------------------------------
+
+The Makefile defines the following goals: 
+
+-  make all
+   compiles with the bytecode compiler and creates netstring.cma, 
+   netstring_mt.cmo, netstring_top.cmo, netmappings_iso.cmo, and 
+   netmappings_other.cmo
+   
+-  make opt
+   compiles with the native compiler and creates netstring.cmxa, 
+   netstring_mt.cmx, netmappings_iso.cmx, and netmappings_other.cmx
+   
+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:
+
+-  Netmappings_iso: Conversion tables for the character sets ISO-8859-2, -3, 
+   -4, -5, -6, -7, -8, -9, -10, 13, -14, and -15.
+   
+-  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.
+   
+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.
+
+The module Netstring_mt must be linked into multi-threaded applications; 
+otherwise some mutexes remain uninitialized.
+
+The module Netstring_top loads several printers for abstract values (for 
+toploops).
+
+------------------------------------------------------------------------------
+Installation
+------------------------------------------------------------------------------
+
+The Makefile defines the following goals:
+
+-  make install
+   installs the bytecode archive, the interface definitions, and if present, 
+   the native archive in the default location of findlib 
+   
+-  make install-cgi
+   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.
+   
+-  make install-base64
+   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.
+   
+-  make uninstall
+   removes the package
+   
+-  make uninstall-cgi
+   removes the "cgi" compatibility package
+   
+-  make uninstall-base64
+   removes the "base64" compatibility package
+   
+------------------------------------------------------------------------------
+Linking netstring with findlib
+------------------------------------------------------------------------------
+
+The command 
+
+ocamlfind ocamlc ... -package netstring ... -linkpkg ...
+
+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.
+
+The following predicates reduce the amount of linked code:
+
+-  netstring_only_iso: Only the conversion tables for the ISO-8859 series of 
+   character sets are linked.
+   
+-  netstring_minimum: No additional conversion tables are linked; only 
+   ISO-8859-1 and the UTF encodings work.
+   
+For example, the command may look like 
+
+ocamlfind ocamlc ... 
+          -package netstring -predicates netstring_only_iso ... -linkpkg ...
+
+to link only the ISO-8859 conversion tables.
+
+
+--------------------------
+
+[1]   see http://www.ocaml-programming.de/packages/documentation/findlib/
+
+[2]   Findlib is a package manager, see the file ABOUT-FINDLIB.
+
+
+