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