1 | Installation 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. |
---|