1 * README file for `recode' allout -*- outline -*-
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
8 The canonical distribution point for this version is:
10 http://www.iro.umontreal.ca/contrib/recode/recode-3.5c.tar.gz
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:
16 ftp://ftp.gnu.org/pub/gnu/recode/recode-3.5.tar.gz
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.
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.
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
46 Besides those configure options documented in files `INSTALL' and
47 `ABOUT-NLS', a few extra options may be accepted after `./configure':
49 . - `--disable-shared'
50 . - `--disable-static'
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.
58 to force the assomption that the C compiler uses GNU ld.
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'.
68 For comprehensive modifications to `recode', you might need tools beyond
69 those used in simple installations. If not done already, get:
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
82 Make sure GNU `m4' is fully installed before you start installing
83 Autoconf. Have Perl installed before Automake and `help2man'.
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.
88 . + Mailing lists and collaboration
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:
94 subscribe recode-announce
96 If you rather want to participate actively in discussions, pretesting
97 and development for `recode', do just as above, but this time, use:
99 subscribe recode-forum
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.
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.
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
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'.
127 .* Installation hints
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.
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:
141 DEFAULT_CHARSET=AtariST ./configure
143 If you prefer to not have any usual charset at all, then use:
145 DEFAULT_CHARSET= ./configure
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.
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:
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:
162 CPPFLAGS=-DINLINE_HARDER ./configure
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:
170 CFLAGS=-Ml LDFLAGS=-Ml ./configure
172 to force large memory model. For 80286 Xenix compiler, the last time
173 it was tried a while ago, one ought to use:
175 CFLAGS='-Ml -F2000' LDFLAGS=-Ml ./configure
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.