README
1 LIBCHARSET - portable character set determination library
2
3This library provides a function which determines the character set / encoding
4of text in the currently selected locale (the LC_CTYPE locale facet).
5
6It is useful for portable programs which need to process text in other
7encodings and locales than the currently selected one. Possible uses:
8
9 * Use of Unicode in POSIX compliant applications.
10 * Conversion of text between the current locale's encoding and UTF-8 (or
11 any other given encoding).
12 * Mail agents.
13
14In theory, this would be very simple: The Single Unix Specification (SUSV2)
15provides the nl_langinfo function, in such a way that
16
17 nl_langinfo (CODESET)
18
19returns the encoding name. But the nl_langinfo function still does not exist
20on some systems, and on those where it exists it returns unstandardized
21variations of the encoding names, like (on Solaris) "PCK" for "Shift_JIS".
22
23This library fixes these flaws and provides a function
24
25 const char * locale_charset (void);
26
27It determines the current locale's character encoding, and canonicalizes it
28into one of the canonical names listed in config.charset. The result must
29not be freed; it is statically allocated. If the canonical name cannot be
30determined, the result is a non-canonical name.
31
32
33Installation:
34
35As usual for GNU packages:
36
37 $ ./configure --prefix=/usr/local
38 $ make
39 $ make install
40
41
42This library is used in
43 GNU sh-utils, fileutils, textutils
44 GNU gettext
45 GNU clisp
46
47
48To integrate this library into your package:
49See file INTEGRATE.
50
51
52Distribution:
53 The libcharset directory of
54 ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
55
56Homepage:
57 http://www.haible.de/bruno/packages-libcharset.html
58
59
60Bruno Haible <bruno@clisp.org>
61
README.djgpp
README.woe32
1Installation on Woe32 (WinNT/2000/XP, Win95/98/ME):
2
3- Requires MS Visual C/C++ 4.0 or 5.0 or 6.0 or 7.0.
4
5 Note that binaries created with MSVC 7.0 should not be distributed: They
6 depend on a closed-source library 'msvcr70.dll' which is not normally part
7 of a Woe32 installation. You cannot distribute 'msvcr70.dll' with the
8 binaries - this would be a violation of the GPL and of the Microsoft EULA.
9 You can distribute the binaries without including 'msvcr70.dll', but this
10 will cause problems for users that don't have this library on their system.
11 Therefore it is not recommended. This problem does not occur with MSVC 6.0
12 and earlier.
13
14- Cannot build in a separate directory.
15
16- Build instructions:
17
18 Make sure that the MSVC4.0 or MSVC5.0 or MSVC6.0 or MSVC7.0 utilities
19 ("cl" etc.) are found in PATH. In a typical MSVC6.0 installation, this
20 can be achieved by running
21 C:\Program Files\Microsoft Visual Studio\VC98\bin\vcvars32.bat
22 In a typical MSVC7.0 installation, it can be achieved by running
23 C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\vsvars32.bat
24
25 Decide which compilation model you will use:
26 MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib
27 MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib
28 MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib
29
30 For shared library (DLL):
31
32 nmake -f Makefile.msvc DLL=1 MFLAGS=-MD
33
34 For static library:
35
36 nmake -f Makefile.msvc
37
38 If you want to build both the shared and static library, you have to
39 unpack the libiconv sources twice in different directories. Don't mix
40 the two formats; you cannot use the libcharset.h and localcharset.h
41 generated for the static library together with the shared library or
42 vice versa.
43
44- Installation:
45
46 Manual minimal installation:
47
48 Copy include/libcharset.h and include/localcharset.h to your header
49 file repository.
50 Copy lib/charset.lib to your library repository.
51 If you built for shared library, also copy lib/charset.dll into one of
52 the directories listed in your PATH, or into the directory containing
53 the executable which shall make use of libcharset.
54
55 Complete and automatic installation:
56
57 nmake -f Makefile.msvc DLL=1 MFLAGS=-MD install prefix=InstallBaseDirectory
58 or
59 nmake -f Makefile.msvc install prefix=InstallBaseDirectory
60