Installation on Woe32 (WinNT/2000/XP, Win95/98/ME): - Requires MS Visual C/C++ 4.0 or 5.0 or 6.0 or 7.0. - Cannot build in a separate directory. - Build instructions: Make sure that the MSVC4.0 or MSVC5.0 or MSVC6.0 or MSVC7.0 utilities ("cl" etc.) are found in PATH. In a typical MSVC6.0 installation, this can be achieved by running C:\Program Files\Microsoft Visual Studio\VC98\bin\vcvars32.bat In a typical MSVC7.0 installation, it can be achieved by running C:\Program Files\Microsoft Visual Studio .NET\VC7\bin\vcvars32.bat Decide which compilation model you will use: MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib Step 1: Build and install the libiconv library and the iconv.exe program without internationalization. (This step is only needed the first time you install GNU libiconv.) For shared library (DLL): nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD or nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD check [This runs the testsuite.] For static library: nmake -f Makefile.msvc NO_NLS=1 or nmake -f Makefile.msvc NO_NLS=1 check [This runs the testsuite.] If you want to build both the shared and static library, you have to unpack the libiconv sources twice in different directories. Don't mix the two formats; you cannot use the iconv.h generated for the static library together with the shared library or vice versa. Install it: nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD install or nmake -f Makefile.msvc NO_NLS=1 install Remove traces of this preliminary build: nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD distclean or nmake -f Makefile.msvc NO_NLS=1 distclean Step 2: Build and install the GNU gettext package (version 0.12 or newer, libintl library and various programs) using the same MFLAGS. Then come back to here, to build GNU libiconv. (This step is only needed if you haven't GNU gettext already installed.) Step 3: Build and install the libiconv library and the iconv.exe program with internationalization. For shared library (DLL): nmake -f Makefile.msvc DLL=1 MFLAGS=-MD or nmake -f Makefile.msvc DLL=1 MFLAGS=-MD check [This runs the testsuite.] For static library: nmake -f Makefile.msvc or nmake -f Makefile.msvc check [This runs the testsuite.] If you want to build both the shared and static library, you have to unpack the libiconv sources twice in different directories. Don't mix the two formats; you cannot use the iconv.h generated for the static library together with the shared library or vice versa. Install it: nmake -f Makefile.msvc DLL=1 MFLAGS=-MD install or nmake -f Makefile.msvc install - Installation: Manual minimal installation: Copy include/iconv.h to your header file repository. Copy lib/iconv.lib to your library repository. If you built for shared library, also copy lib/iconv.dll into one of the directories listed in your PATH, or into the directory containing the executable which shall make use of libiconv. Complete and automatic installation: nmake -f Makefile.msvc DLL=1 MFLAGS=-MD install PREFIX=InstallBaseDirectory or nmake -f Makefile.msvc install PREFIX=InstallBaseDirectory By default, the compiled package is installed under c:\usr. You can specify a different directory by giving the installation base directory in a PREFIX=... option in the install step. (DON'T give the PREFIX already in the build step! This won't work.) You can also omit the PREFIX=... option, thus installing everything under c:\usr, and then move the installed package as a whole from c:\usr to a different location.