1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
3
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
4
<title>No Title</title>
5
<style type="text/css">
8
font-family: Verdana, sans-serif;
13
a:visited { color: #734559 }
15
.logo { position:absolute; margin:3px; }
31
.toolbar a { color: white; text-decoration: none; padding: 6px 12px; }
32
.toolbar a:visited { color: white; }
33
.toolbar a:hover { color: #044a64; background: white; }
35
.content { margin: 5%; }
36
.content dt { font-weight:bold; }
37
.content dd { margin-bottom: 25px; margin-left:20%; }
38
.content ul { padding:0px; padding-left: 15px; margin:0px; }
41
.se { background: url(images/se.gif) 100% 100% no-repeat #044a64}
42
.sw { background: url(images/sw.gif) 0% 100% no-repeat }
43
.ne { background: url(images/ne.gif) 100% 0% no-repeat }
44
.nw { background: url(images/nw.gif) 0% 0% no-repeat }
46
/* Things for "fancyformat" documents start here. */
47
.fancy img+p {font-style:italic}
48
.fancy .codeblock i { color: darkblue; }
49
.fancy h1,.fancy h2,.fancy h3,.fancy h4 {font-weight:normal;color:#044a64}
50
.fancy h2 { margin-left: 10px }
51
.fancy h3 { margin-left: 20px }
52
.fancy h4 { margin-left: 30px }
53
.fancy th {white-space:nowrap;text-align:left;border-bottom:solid 1px #444}
54
.fancy th, .fancy td {padding: 0.2em 1ex; vertical-align:top}
55
.fancy #toc a { color: darkblue ; text-decoration: none }
56
.fancy .todo { color: #AA3333 ; font-style : italic }
57
.fancy .todo:before { content: 'TODO:' }
58
.fancy p.todo { border: solid #AA3333 1px; padding: 1ex }
59
.fancy img { display:block; }
60
.fancy :link:hover, .fancy :visited:hover { background: wheat }
61
.fancy p,.fancy ul,.fancy ol { margin: 1em 5ex }
62
.fancy li p { margin: 1em 0 }
63
/* End of "fancyformat" specific rules. */
69
<div><!-- container div to satisfy validator -->
72
<img class="logo" src="images/sqlite370_banner.gif" alt="SQLite Logo"
74
<div><!-- IE hack to prevent disappearing logo--></div>
75
<div class="tagline">Small. Fast. Reliable.<br>Choose any three.</div>
77
<table width=100% style="clear:both"><tr><td>
78
<div class="se"><div class="sw"><div class="ne"><div class="nw">
79
<table width=100% style="padding:0;margin:0;cell-spacing:0"><tr>
82
<a href="about.html">About</a>
83
<a href="sitemap.html">Sitemap</a>
84
<a href="docs.html">Documentation</a>
85
<a href="download.html">Download</a>
86
<a href="copyright.html">License</a>
87
<a href="news.html">News</a>
88
<a href="support.html">Support</a>
91
gMsg = "Search SQLite Docs..."
92
function entersearch() {
93
var q = document.getElementById("q");
94
if( q.value == gMsg ) { q.value = "" }
95
q.style.color = "black"
96
q.style.fontStyle = "normal"
98
function leavesearch() {
99
var q = document.getElementById("q");
100
if( q.value == "" ) {
102
q.style.color = "#044a64"
103
q.style.fontStyle = "italic"
108
<div style="padding:0 1em 0px 0;white-space:nowrap">
109
<form name=f method="GET" action="http://www.sqlite.org/search">
110
<input id=q name=q type=text
111
onfocus="entersearch()" onblur="leavesearch()" style="width:24ex;padding:1px 1ex; border:solid white 1px; font-size:0.9em ; font-style:italic;color:#044a64;" value="Search SQLite Docs...">
112
<input type=submit value="Go" style="border:solid white 1px;background-color:#044a64;color:white;font-size:0.9em;padding:0 1ex">
116
</div></div></div></div>
118
<div class=startsearch></div>
120
<!-- title>Notes On How To Build MinGW As A Cross-Compiler</title -->
123
Notes On How To Build MinGW As A Cross-Compiler
126
<p><a href="http://www.mingw.org/">MinGW</a>, also known as
127
<a href="http://www.mingw.org/">Minimalist GNU For Windows</a>,
128
is a version of the popular GCC compiler that builds Win95/Win98/WinNT
129
binaries. See the website for details.</p>
131
<p>This page describes how you can build MinGW
132
from sources as a cross-compiler
133
running under Linux. Doing so will allow you to construct
134
WinNT binaries from the comfort and convenience of your
139
<p>Here are the steps:</p>
143
<p>Get a copy of source code. You will need the binutils, the
144
compiler, and the MinGW runtime. Each are available separately.
145
As of this writing, Mumit Khan has collected everything you need
146
together in one FTP site:
148
<a href="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</a>
150
The three files you will need are:</p>
153
<a href="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</a></li><li><a href="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</a></li><li><a href="ftp://ftp.nanotech.wisc.edu/pub/khan/gnu-win32/mingw32/snapshots/gcc-2.95.2-1/mingw-20000203.zip">mingw-20000203.zip</a>
157
<p>Put all the downloads in a directory out of the way. The sequel
158
will assume all downloads are in a directory named
159
<b>~/mingw/download</b>.</p>
164
Create a directory in which to install the new compiler suite and make
165
the new directory writable.
166
Depending on what directory you choose, you might need to become
167
root. The example shell commands that follow
168
will assume the installation directory is
169
<b>/opt/mingw</b> and that your user ID is <b>drh</b>.</p>
179
<p>Unpack the source tarballs into a separate directory.</p>
183
tar xzf ../download/binutils-*.tar.gz
184
tar xzf ../download/gcc-*.tar.gz
185
unzip ../download/mingw-*.zip
190
<p>Create a directory in which to put all the build products.</p>
197
<p>Configure and build binutils and add the results to your PATH.</p>
199
mkdir ~/mingw/bld/binutils
200
cd ~/mingw/bld/binutils
201
../../src/binutils/configure --prefix=/opt/mingw --target=i386-mingw32 -v
202
make 2>&1 | tee make.out
203
make install 2>&1 | tee make-install.out
204
export PATH=$PATH:/opt/mingw/bin
209
<p>Manually copy the runtime include files into the installation directory
210
before trying to build the compiler.</p>
212
mkdir /opt/mingw/i386-mingw32/include
213
cd ~/mingw/src/mingw-runtime*/mingw/include
214
cp -r * /opt/mingw/i386-mingw32/include
219
<p>Configure and build the compiler</p>
221
mkdir ~/mingw/bld/gcc
223
../../src/gcc-*/configure --prefix=/opt/mingw --target=i386-mingw32 -v
227
make 2>&1 | tee make.out
233
<p>Configure and build the MinGW runtime</p>
235
mkdir ~/mingw/bld/runtime
236
cd ~/mingw/bld/runtime
237
../../src/mingw-runtime*/configure --prefix=/opt/mingw --target=i386-mingw32 -v
238
make install-target-w32api
244
<p>And you are done...</p>