1* README file for `recode' allout -*- outline -*-
2
3 Here is version 3.6 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.6.tar.gz
11
12 GNU mirrors usually hold a copy of non-pretest releases, the canonical
13 distribution point for the last such release is:
14
15 ftp://ftp.gnu.org/pub/gnu/recode/recode-3.6.tar.gz
16
17.* Introduction
18 ------------
19
20. + Presentation
21
22 The `recode' library converts files between character sets and usages.
23 It recognises or produces more than 300 different character sets and
24 transliterates files between almost any pair. When exact transliteration
25 are not possible, it gets rid of offending characters or falls back
26 on approximations. The `recode' program is a handy front-end to
27 the library.
28
29 The `recode' program and library have been written by Fran�ois Pinard,
30 yet it significantly reuses works from Keld Simonsen and Bruno Haible.
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.enst.fr/pub/unix/a2ps/autoconf-2.14a.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.020.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. Apply `PATCHES-AC' to Autoconf before installing it.
84 Have Perl installed before Automake and `help2man'.
85
86 Python 1.5 and Flex 2.5, or better, are needed for remaking `merged.c',
87 after you modify an `.l' source file.
88
89. + Mailing lists and collaboration
90
91 If you feel like receiving releases and pretest announcements for the
92 `recode' package, send a message to mailto:majordomo@iro.umontreal.ca
93 having, in its body, a line saying:
94
95 subscribe recode-announce
96
97 If you rather want to participate actively in discussions, pretesting
98 and development for `recode', do just as above, but this time, use:
99
100 subscribe recode-forum
101
102 Look into `http://www.iro.umontreal.ca/contrib/recode' for various
103 releases, pretests, and related files. In particular, button `Browse'
104 gives access to a weekly mirror of the current unpackaged work files,
105 while button `Folders' gives access to saved or pending correspondence.
106
107 Please do _not_ widely redistribute releases having a letter after
108 the version numbers, as these are meant for pretesting only, and might
109 not be stable enough for other usages.
110
111. + Report addresses
112
113 Send bug reports to `mailto:recode-bugs@iro.umontreal.ca'. A bug report
114 is an adequate description of the problem: your input, what you expected,
115 what you got, and why this is wrong. Diffs are welcome, but they only
116 describe a solution, from which the problem might be uneasy to infer.
117 If needed, submit actual data files with your report. Small data
118 files are preferred. Big files may sometimes be necessary, but do
119 not send them on the mailing list; rather take special arrangement
120 with the maintainer.
121
122 Your feedback will help us to make a better and more portable
123 package. Consider documentation errors as bugs, and report them
124 as such. If you develop anything pertaining to `recode' or have
125 suggestions, let us know and share your findings by writing at
126 `mailto:recode-forum@iro.umontreal.ca'.
127
128.* Installation hints
129 ------------------
130
131 Here are a few hints which might help installing `recode' on some systems.
132 Many may be applied by temporary presetting environment variables while
133 calling `./configure'. File `INSTALL' explains this.
134
135. + Compilation time
136
137 Some C compilers, like Apollo's, have a real hard time compiling
138 `merged.c'. If this is your case, avoid compiler optimisation.
139 From within the Bourne shell, you may use:
140
141 CFLAGS= ./configure
142
143 But if you want to give a hard time to your C optimiser on `merged.c',
144 for getting code that runs only a bit faster, just try:
145
146 CPPFLAGS=-DINLINE_HARDER ./configure
147
148. + Smallish systems
149
150 For 80286 based systems, it has been reported that some compilers
151 generate wrong code while optimising for *small* models. So, from
152 within the Bourne shell, do:
153
154 CFLAGS=-Ml LDFLAGS=-Ml ./configure
155
156 to force large memory model. For 80286 Xenix compiler, the last time
157 it was tried a while ago, one ought to use:
158
159 CFLAGS='-Ml -F2000' LDFLAGS=-Ml ./configure
160
161 Other systems have poor `pipe'/`popen' support or trash heavily when
162 processes fork. In this case, just before doing `make', edit `config.h'
163 and ensure `HAVE_PIPE' is *not* defined.
164