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   Step 1: Build and install the libiconv library and the iconv.exe program
31   without internationalization. (This step is only needed the first time
32   you install GNU libiconv.)
33
34      For shared library (DLL):
35
36         nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD
37      or
38         nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD check
39                                                   [This runs the testsuite.]
40
41      For static library:
42
43         nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MD
44      or
45         nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MD check
46                                                   [This runs the testsuite.]
47
48      If you want to build both the shared and static library, you have to
49      unpack the libiconv sources twice in different directories. Don't mix
50      the two formats; you cannot use the iconv.h generated for the static
51      library together with the shared library or vice versa.
52
53      Install it:
54
55         nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD install
56      or
57         nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MD install
58
59      Remove traces of this preliminary build:
60
61         nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD distclean
62      or
63         nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MD distclean
64
65   Step 2: Build and install the GNU gettext package (version 0.12 or newer,
66   libintl library and various programs) using the same MFLAGS. Then come
67   back to here, to build GNU libiconv. (This step is only needed if you
68   haven't GNU gettext already installed.)
69
70   Step 3: Build and install the libiconv library and the iconv.exe program
71   with internationalization.
72
73      For shared library (DLL):
74
75         nmake -f Makefile.msvc DLL=1 MFLAGS=-MD
76      or
77         nmake -f Makefile.msvc DLL=1 MFLAGS=-MD check
78                                                    [This runs the testsuite.]
79
80      For static library:
81
82         nmake -f Makefile.msvc MFLAGS=-MD
83      or
84         nmake -f Makefile.msvc MFLAGS=-MD check    [This runs the testsuite.]
85
86      If you want to build both the shared and static library, you have to
87      unpack the libiconv sources twice in different directories. Don't mix
88      the two formats; you cannot use the iconv.h generated for the static
89      library together with the shared library or vice versa.
90
91      Install it:
92
93         nmake -f Makefile.msvc DLL=1 MFLAGS=-MD install
94      or
95         nmake -f Makefile.msvc MFLAGS=-MD install
96
97- Installation:
98
99   Manual minimal installation:
100
101      Copy include/iconv.h to your header file repository.
102      Copy lib/iconv.lib to your library repository.
103      If you built for shared library, also copy lib/iconv.dll into one of
104      the directories listed in your PATH, or into the directory containing
105      the executable which shall make use of libiconv.
106
107   Complete and automatic installation:
108
109         nmake -f Makefile.msvc DLL=1 MFLAGS=-MD install PREFIX=InstallBaseDirectory
110      or
111         nmake -f Makefile.msvc MFLAGS=-MD install PREFIX=InstallBaseDirectory
112
113      By default, the compiled package is installed under c:\usr. You can
114      specify a different directory by giving the installation base directory
115      in a PREFIX=... option in the install step. (DON'T give the PREFIX
116      already in the build step! This won't work.) You can also omit the
117      PREFIX=... option, thus installing everything under c:\usr, and then
118      move the installed package as a whole from c:\usr to a different
119      location.
120