]> granicus.if.org Git - recode/blob - README
Version 3.5c
[recode] / README
1 * README file for `recode'                      allout -*- outline -*-
2
3   Here is version 3.5c for the Free `recode' program and library.  Glance
4   through this `README' file before starting configuration.  Make sure
5   you read files `ABOUT-NLS' and `INSTALL' if you are not familiar with
6   them already.
7
8   The canonical distribution point for this version is:
9
10      http://www.iro.umontreal.ca/contrib/recode/recode-3.5c.tar.gz
11
12   yet the second URL (the FTP one) might disappear one day.  GNU mirrors
13   usually hold a copy of non-pretest releases, the canonical distribution
14   point for the last such release is:
15
16      ftp://ftp.gnu.org/pub/gnu/recode/recode-3.5.tar.gz
17
18 .* Introduction
19    ------------
20
21 . + Presentation
22
23     The `recode' library converts files between character sets and usages.
24     The library recognises or produces nearly 150 different character sets
25     and is able to transliterate files between almost any pair.  When exact
26     transliteration are not possible, it may get rid of the offending
27     characters or fall back on approximations.  Most RFC 1345 character sets
28     are supported.  The `recode' program is a handy front-end to the library.
29
30     The `recode' program and library have been written by François Pinard.
31     It is an evolving package, and specifications might change in future
32     releases.  Option `-f' is now fairly implemented, yet not fully.
33
34 . + See files
35
36         ABOUT-NLS     how to customise this program to your language
37         BACKLOG       summary of pending mail and articles
38         COPYING       copying conditions for the program
39         COPYING.LIB   copying conditions for the library
40         INSTALL       compilation and installation instructions
41         NEWS          major changes in the current release
42         THANKS        partial list of contributors
43
44 . + Configure options
45
46     Besides those configure options documented in files `INSTALL' and
47     `ABOUT-NLS', a few extra options may be accepted after `./configure':
48
49 .  - `--disable-shared'
50 .  - `--disable-static'
51
52      to inhibit the building of shared libraries or static libraries; the
53      default is to always build static libraries, and to attempt building
54      shared libraries if there is some known recipe for this.
55
56 .  - `--with-gnu-ld'
57
58      to force the assomption that the C compiler uses GNU ld.
59
60 .  - `--with-dmalloc'
61
62      to trigger a debugging feature for looking at memory management
63      problems, it pre-requires Gray Watson's package, which is available as
64      `ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz'.
65
66 . + Maintenance tools
67
68     For comprehensive modifications to `recode', you might need tools beyond
69     those used in simple installations.  If not done already, get:
70
71     autoconf    ftp://ftp.gnu.org/pub/gnu/autoconf/autoconf-2.13.tar.gz
72     automake    ftp://sourceware.cygnus.com/pub/automake/automake-1.4.tar.gz
73     flex        ftp://ftp.gnu.org/pub/gnu/flex/flex-2.5.4a.tar.gz
74     gettext     ftp://ftp.cygnus.com/pub/home/drepper/gettext-0.10.35.tar.gz
75     help2man    http://www.ozemail.com.au/~bod/help2man-1.019.tar.gz
76     libtool     http://www.oranda.demon.co.uk/dist/libtool-1.3.4.tar.gz
77     m4          ftp://ftp.seindal.dk/pub/rene/gnu/m4-1.4n.tar.gz
78     perl        ftp://ftp.gnu.org/pub/gnu/perl/perl-5.005.03.tar.gz
79     python      ftp://ftp.python.org/pub/python/src/py152.tgz
80     tar         ftp://ftp.gnu.org/pub/gnu/tar/tar-1.12.tar.gz
81
82     Make sure GNU `m4' is fully installed before you start installing
83     Autoconf.  Have Perl installed before Automake and `help2man'.
84
85     Python 1.5 and Flex 2.5, or better, are needed for remaking `merged.c',
86     after you modify or add an `.l' source file.
87
88 . + Mailing lists and collaboration
89
90     If you feel like receiving releases and pretest announcements for the
91     `recode' package, send a message to mailto:majordomo@iro.umontreal.ca
92     having, in its body, a line saying:
93
94         subscribe recode-announce
95
96     If you rather want to participate actively in discussions, pretesting
97     and development for `recode', do just as above, but this time, use:
98
99         subscribe recode-forum
100
101     Look into `http://www.iro.umontreal.ca/contrib/recode' for various
102     releases, pretests, and related files.  In particular, subdirectory
103     `dist/' contains a weekly mirror of the current unpackaged work files,
104     while subdirectory `rmail/' contains saved or pending correspondence.
105
106     Please do _not_ widely redistribute releases having a letter after
107     the version numbers, as these are meant for pretesting only, and might
108     not be stable enough for other usages.
109
110 . + Report addresses
111
112     Send bug reports to `mailto:recode-bugs@iro.umontreal.ca'.  A bug report
113     is an adequate description of the problem: your input, what you expected,
114     what you got, and why this is wrong.  Diffs are welcome, but they only
115     describe a solution, from which the problem might be uneasy to infer.
116     If needed, submit actual data files with your report.  Small data
117     files are preferred.  Big files may sometimes be necessary, but do
118     not send them on the mailing list; rather take special arrangement
119     with the maintainer.
120
121     Your feedback will help us to make a better and more portable
122     package.  Consider documentation errors as bugs, and report them
123     as such.  If you develop anything pertaining to `recode' or have
124     suggestions, let us know and share your findings by writing at
125     `mailto:recode-forum@iro.umontreal.ca'.
126
127 .* Installation hints
128    ------------------
129
130    Here are a few hints which might help installing `recode' on some systems.
131    Many may be applied by temporary presetting environment variables while
132    calling `./configure'.  File `INSTALL' explains this.
133
134 . + Default charset
135
136     You may override the usual charset while configuring.  The usual
137     charset is implied when a charset name is omitted or empty, and when
138     `DEFAULT_CHARSET' is unset in the environment at run time.  For example,
139     on an AtariST using `bash', one could do:
140
141         DEFAULT_CHARSET=AtariST ./configure
142
143     If you prefer to not have any usual charset at all, then use:
144
145         DEFAULT_CHARSET= ./configure
146
147     that is, define `DEFAULT_CHARSET' to the empty string before configuring.
148     When installed this way, `recode' will not accept omitted charsets at
149     run time, unless `DEFAULT_CHARSET' is set to some value in the environment.
150
151 . + Compilation time
152
153     Some C compilers, like Apollo's, have a real hard time compiling
154     `merged.c'.  If this is your case, avoid compiler optimisation.
155     From within the Bourne shell, you may use:
156
157         CFLAGS= ./configure
158
159     But if you want to give a hard time to your C optimiser on `merged.c',
160     for getting code that runs only a bit faster, just try:
161
162         CPPFLAGS=-DINLINE_HARDER ./configure
163
164 . + Smallish systems
165
166     For 80286 based systems, it has been reported that some compilers
167     generate wrong code while optimising for *small* models.  So, from
168     within the Bourne shell, do:
169
170         CFLAGS=-Ml LDFLAGS=-Ml ./configure
171
172     to force large memory model.  For 80286 Xenix compiler, the last time
173     it was tried a while ago, one ought to use:
174
175         CFLAGS='-Ml -F2000' LDFLAGS=-Ml ./configure
176
177     Other systems have poor `pipe'/`popen' support or trash heavily when
178     processes fork.  In this case, just before doing `make', edit `config.h'
179     and ensure `HAVE_PIPE' is *not* defined.