Notes On How To Build MinGW As A Cross-Compiler
(This page was last modified on 2003/03/30 18:58:58 UTC)
http://www.mingw.org/
MinGW
or
http://www.mingw.org/
Minimalist GNU For Windows
is a version of the popular GCC compiler that builds Win95/Win98/WinNT
binaries.  See the website for details.
This page describes how you can build MinGW
from sources as a cross-compiler
running under Linux.  Doing so will allow you to construct
WinNT binaries from the comfort and convenience of your
Unix desktop.
Here are the steps:
Get a copy of source code.  You will need the binutils, the
compiler, and the MinGW runtime.  Each are available separately.
As of this writing, Mumit Khan has collected everything you need
together in one FTP site:
ftp://ftp.nanotech.wisc.edu/pub/khan/gnu-win32/mingw32/snapshots/gcc-2.95.2-1
ftp://ftp.nanotech.wisc.edu/pub/khan/gnu-win32/mingw32/snapshots/gcc-2.95.2-1
The three files you will need are:
ftp://ftp.nanotech.wisc.edu/pub/khan/gnu-win32/mingw32/snapshots/gcc-2.95.2-1/binutils-19990818-1-src.tar.gz
binutils-19990818-1-src.tar.gz
ftp://ftp.nanotech.wisc.edu/pub/khan/gnu-win32/mingw32/snapshots/gcc-2.95.2-1/gcc-2.95.2-1-src.tar.gz
gcc-2.95.2-1-src.tar.gz
ftp://ftp.nanotech.wisc.edu/pub/khan/gnu-win32/mingw32/snapshots/gcc-2.95.2-1/mingw-20000203.zip
mingw-20000203.zip
Put all the downloads in a directory out of the way.  The sequel
will assume all downloads are in a directory named
~/mingw/download
.
Create a directory in which to install the new compiler suite and make
the new directory writable.
Depending on what directory you choose, you might need to become
root.  The example shell commands that follow
will assume the installation directory is
/opt/mingw
and that your user ID is
drh
.
su
mkdir /opt/mingw
chown drh /opt/mingw
exit
Unpack the source tarballs into a separate directory.
mkdir ~/mingw/src
cd ~/mingw/src
tar xzf ../download/binutils-*.tar.gz
tar xzf ../download/gcc-*.tar.gz
unzip ../download/mingw-*.zip
Create a directory in which to put all the build products.
mkdir ~/mingw/bld
Configure and build binutils and add the results to your PATH.
mkdir ~/mingw/bld/binutils
cd ~/mingw/bld/binutils
../../src/binutils/configure --prefix=/opt/mingw --target=i386-mingw32 -v
make 2>&1 | tee make.out
make install 2>&1 | tee make-install.out
export PATH=$PATH:/opt/mingw/bin
Manually copy the runtime include files into the installation directory
before trying to build the compiler.
mkdir /opt/mingw/i386-mingw32/include
cd ~/mingw/src/mingw-runtime*/mingw/include
cp -r * /opt/mingw/i386-mingw32/include
Configure and build the compiler
mkdir ~/mingw/bld/gcc
cd ~/mingw/bld/gcc
../../src/gcc-*/configure --prefix=/opt/mingw --target=i386-mingw32 -v
cd gcc
make installdirs
cd ..
make 2>&1 | tee make.out
make install
Configure and build the MinGW runtime
mkdir ~/mingw/bld/runtime
cd ~/mingw/bld/runtime
../../src/mingw-runtime*/configure --prefix=/opt/mingw --target=i386-mingw32 -v
make install-target-w32api
make install
And you are done...
index.html
Back to the SQLite Home Page
