summaryrefslogtreecommitdiffstats
path: root/README.woe32
blob: 03a1ef9c5a39a76bfc2556d8f88b9f4ff9369342 (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
Installation on Woe32 (WinNT/2000/XP/Vista/7, Win95/98/ME):

This file explains how to create binaries for the mingw execution environment.
For how to create binaries for the cygwin environment, please see the normal
INSTALL file.  MS Visual C/C++ with "nmake" is no longer supported.

I recommend to use the cygwin environment as the development environment
and mingw only as the target (runtime, deployment) environment.
For this, you need to install
  - cygwin,
  - the mingw runtime package, also from the cygwin site.

You must not install cygwin programs directly under /usr/local -
because the mingw compiler and linker would pick up the include files
and libraries from there, thus introducing an undesired dependency to
cygwin. You can for example achieve this by using the
configure option --prefix=/usr/local/cygwin each time you build a
program for cygwin.

Building for mingw is then achieved through the following preparation
and configure commands:

   PATH=/usr/local/mingw/bin:$PATH
   export PATH
   ./configure --host=i586-pc-mingw32 --prefix=/usr/local/mingw \
     CC="gcc-3 -mno-cygwin" \
     CXX="g++-3 -mno-cygwin" \
     CPPFLAGS="-Wall -I/usr/local/mingw/include" \
     LDFLAGS="-L/usr/local/mingw/lib"

The -mno-cygwin option tells the cygwin compiler and linker to build for
mingw. The -I and -L option are so that packages previously built for the
same environment are found. The --host option tells the various
tools that you are building for mingw, not cygwin.

It is also possible to build 64-bit mode binaries, by using the development
tool chain from the mingw-w64 project <http://mingw-w64.sourceforge.net/>
and the configure options:
   --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 \
   CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ \
   LD=x86_64-w64-mingw32-ld NM=x86_64-w64-mingw32-nm \
   AR=x86_64-w64-mingw32-ar RANLIB=x86_64-w64-mingw32-ranlib

Dependencies:

This package depends on GNU libiconv. (See the file DEPENDENCIES.) Before
building this package, you need to build GNU libiconv, in the same development
environment, with the same configure options, and install it ("make install").