summaryrefslogtreecommitdiff
path: root/README.woe32
blob: d3845572604e07d3c1429863c40efb4ece284c6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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.

  Note that binaries created with MSVC 7.0 should not be distributed: They
  depend on a closed-source library 'msvcr70.dll' which is not normally part
  of a Woe32 installation. You cannot distribute 'msvcr70.dll' with the
  binaries - this would be a violation of the GPL and of the Microsoft EULA.
  You can distribute the binaries without including 'msvcr70.dll', but this
  will cause problems for users that don't have this library on their system.
  Therefore it is not recommended. This problem does not occur with MSVC 6.0
  and earlier.

- 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\Common7\Tools\vsvars32.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 MFLAGS=-MD
      or
         nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MD 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 MFLAGS=-MD 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 MFLAGS=-MD 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 MFLAGS=-MD
      or
         nmake -f Makefile.msvc MFLAGS=-MD 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 MFLAGS=-MD 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 MFLAGS=-MD 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.