Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | added winNT cross-compile documentation (CVS 117) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
8fc48dd4831dbd58a0c10b043686ea52 |
User & Date: | drh 2000-07-31 18:56:15.000 |
Context
2000-07-31
| ||
19:16 | :-) (CVS 118) (check-in: 4132d4760f user: drh tags: trunk) | |
18:56 | added winNT cross-compile documentation (CVS 117) (check-in: 8fc48dd483 user: drh tags: trunk) | |
14:10 | :-) (CVS 116) (check-in: a0246ddfb4 user: drh tags: trunk) | |
Changes
Changes to Makefile.in.
︙ | ︙ | |||
196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | arch.png: $(TOP)/www/arch.png cp $(TOP)/www/arch.png . opcode.html: $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c tclsh $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c >opcode.html # Files to be published on the website. # PUBLISH = \ sqlite.tar.gz \ index.html \ sqlite.html \ changes.html \ fileformat.html \ lang.html \ opcode.html \ arch.html \ arch.png \ vdbe.html \ | > > > > > > | > > | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | arch.png: $(TOP)/www/arch.png cp $(TOP)/www/arch.png . opcode.html: $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c tclsh $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c >opcode.html crosscompile.html: $(TOP)/www/crosscompile.tcl tclsh $(TOP)/www/crosscompile.tcl >crosscompile.html mingw.html: $(TOP)/www/mingw.tcl tclsh $(TOP)/www/mingw.tcl >mingw.html # Files to be published on the website. # PUBLISH = \ sqlite.tar.gz \ index.html \ sqlite.html \ changes.html \ fileformat.html \ lang.html \ opcode.html \ arch.html \ arch.png \ vdbe.html \ c_interface.html \ crosscompile.html \ mingw.html website: $(PUBLISH) publish: $(PUBLISH) chmod 0644 $(PUBLISH) scp $(PUBLISH) hwaci@oak.he.net:public_html/sw/sqlite clean: rm -f *.o sqlite libsqlite.a sqlite.h rm -f lemon lempar.c parse.* sqlite.tar.gz rm -f $(PUBLISH) rm -f *.da *.bb *.bbg gmon.out |
Changes to www/changes.tcl.
︙ | ︙ | |||
15 16 17 18 19 20 21 22 23 24 25 26 27 28 | proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2000 July 31} { <li>Finish the <a href="vdbe.html">VDBE tutorial</a>.</li> <li>Fix a configuration program for WindowsNT.</li> <li>Fix a configuration problem for HPUX.</li> } chng {2000 July 29} { <li>Better labels on column names of the result.</li> } | > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2000 July 31} { <li>Finish the <a href="vdbe.html">VDBE tutorial</a>.</li> <li>Added documentation on compiling to WindowsNT.</li> <li>Fix a configuration program for WindowsNT.</li> <li>Fix a configuration problem for HPUX.</li> } chng {2000 July 29} { <li>Better labels on column names of the result.</li> } |
︙ | ︙ |
Added www/crosscompile.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | # # Run this Tcl script to generate the crosscompile.html file. # set rcsid {$Id: crosscompile.tcl,v 1.1 2000/07/31 18:56:15 drh Exp $} puts {<html> <head> <title>Notes On How To Compile SQLite Using The MinGW Cross-Compiler</title> </head> <body bgcolor=white> <h1 align=center> Notes On How To Compile SQLite Using The MinGW Cross-Compiler </h1>} puts "<p align=center> (This page was last modified on [lrange $rcsid 3 4] GMT) </p>" puts { <p><a href="http://www.mingw.org/">MinGW</a> or <a href="http://www.mingw.org/">Minimalist GNU For Windows</a> is a version of the popular GCC compiler that build Win95/Win98/WinNT binaries. See the website for details.</p> <p>This page describes how you can use MinGW configured as a cross-compiler running under RedHat 6.0 Linux to generate a binary for SQLite that runs under WinNT.</p> } proc Code {body} { puts {<blockquote><pre>} regsub -all {&} [string trim $body] {\&} body regsub -all {>} $body {\>} body regsub -all {<} $body {\<} body regsub -all {\(\(\(} $body {<font color="#00671f"><u>} body regsub -all {\)\)\)} $body {</u></font>} body puts $body puts {</pre></blockquote>} } puts { <p>Here are the steps:</p> <ol> <li> <p>Get a copy of the MinGW compiler and all its associated tools that run under Linux. No binary versions of MinGW in this configuration are available for net downloads, as far as I know. You will probably have to download the source code and compile it all yourself. A <a href="mingw.html">separate bulletin</a> describes how this can be done. When you are done, make sure the compiler and all its associated tools are located somewhere on your PATH environment variable. </p> </li> <li> <p> Download the Win32 port of GDBM from <a href="http://www.roth.net/libs/gdbm/"> Roth Consulting</a>. You can FTP a ZIP archive of the sources directly from <a href="ftp://ftp.roth.net/pub/ntperl/gdbm/source/Win32_GDBM_Source.zip"> ftp://ftp.roth.net/pub/ntperl/gdbm/source/Win32_GDBM_Source.zip</a>. </p> </li> <li> <p>Make a directory and unpack the Win32 port of GDBM.</p> <blockquote><pre> mkdir roth cd roth unzip ../Win32_GDBM_Source.zip </pre></blockquote> </li> <li> <p>Manually build the GDBM library as follows:</p> <blockquote><pre> i386-mingw32-gcc -DWIN32=1 -O2 -c *.c i386-mingw32-ar cr libgdbm.a *.o i386-mingw32-ranlib libgdbm.a cd .. </pre></blockquote> </li> <li> <p> Download the SQLite tarball from <a href="http://www.hwaci.com/sw/sqlite/sqlite.tar.gz"> http://www.hwaci.com/sw/sqlite/sqlite.tar.gz</a>. Unpack the tarball and create a separate directory in which to build the executable and library. </p> <blockquote><pre> tar xzf sqlite.tar.gz mkdir sqlite-bld cd sqlite-bld </pre></blockquote> </li> <li> <p> Create a "hints" file that will tell the SQLite configuration script to use the MinGW cross-compiler rather than the native linux compiler. The hints file should looks something like this:</p> <blockquote><pre> cat >mingw.hints <<\END config_TARGET_CC=i386-mingw32-gcc config_TARGET_CFLAGS='-O2' config_TARGET_GDBM_LIBS=../roth/libgdbm.a config_TARGET_GDBM_INC=-I../roth config_TARGET_AR='i386-mingw32-ar cr' config_TARGET_RANLIB=i386-mingw32-ranlib config_TARGET_EXEEXT='.exe' END </pre></blockquote> </li> <li> <p>Configure and build SQLite:</p> <blockquote><pre> ../sqlite/configure --with-hints=./mingw.hints make </pre></blockquote> </li> </ol> } puts { <p><hr /></p> <p><a href="index.html"><img src="/goback.jpg" border=0 /> Back to the SQLite Home Page</a> </p> </body></html>} |
Changes to www/index.tcl.
1 2 3 | # # Run this TCL script to generate HTML for the index.html file. # | | | 1 2 3 4 5 6 7 8 9 10 11 | # # Run this TCL script to generate HTML for the index.html file. # set rcsid {$Id: index.tcl,v 1.20 2000/07/31 18:56:16 drh Exp $} puts {<html> <head><title>SQLite: An SQL Database Engine Built Atop GDBM</title></head> <body bgcolor=white> <h1 align=center>SQLite: An SQL Database Engine Built Atop <a href="http://www.gnu.org/software/gdbm/gdbm.html">GDBM</a></h1> <p align=center>} |
︙ | ︙ | |||
95 96 97 98 99 100 101 102 103 104 105 106 107 108 | <li>The <a href="lang.html">SQL Language</a> subset understood by SQLite.</li> <li>The <a href="c_interface.html">C/C++ Interface</a>.</li> <li>The <a href="fileformat.html">file format</a> used by SQLite databases.</li> <li>The <a href="arch.html">Architecture of the SQLite Library</a> describes how the library is put together.</li> <li>A description of the <a href="opcode.html">virtual machine</a> that SQLite uses to access the database.</li> </ul> </p> <p>The SQLite source code is 35% comment. These comments are another important source of information. </p> } | > > > > > | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | <li>The <a href="lang.html">SQL Language</a> subset understood by SQLite.</li> <li>The <a href="c_interface.html">C/C++ Interface</a>.</li> <li>The <a href="fileformat.html">file format</a> used by SQLite databases.</li> <li>The <a href="arch.html">Architecture of the SQLite Library</a> describes how the library is put together.</li> <li>A description of the <a href="opcode.html">virtual machine</a> that SQLite uses to access the database.</li> <li>Instructions for building <a href="crosscompile.html">SQLite for Win98/NT</a> using the MinGW cross-compiler. There are also instructions on <a href="mingw.html">building MinGW</a> in case you don't already have a copy.</li> </ul> </p> <p>The SQLite source code is 35% comment. These comments are another important source of information. </p> } |
︙ | ︙ |
Added www/mingw.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | # # Run this Tcl script to generate the crosscompile.html file. # set rcsid {$Id: mingw.tcl,v 1.1 2000/07/31 18:56:16 drh Exp $} puts {<html> <head> <title>Notes On How To Build MinGW As A Cross-Compiler</title> </head> <body bgcolor=white> <h1 align=center> Notes On How To Build MinGW As A Cross-Compiler </h1>} puts "<p align=center> (This page was last modified on [lrange $rcsid 3 4] GMT) </p>" puts { <p><a href="http://www.mingw.org/">MinGW</a> or <a href="http://www.mingw.org/">Minimalist GNU For Windows</a> is a version of the popular GCC compiler that build Win95/Win98/WinNT binaries. See the website for details.</p> <p>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.</p> } proc Link {path {file {}}} { if {$file!=""} { set path $path/$file } else { set file $path } puts "<a href=\"$path\">$file</a>" } puts { <p>Here are the steps:</p> <ol> <li> <p>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: } set ftpsite \ ftp://ftp.nanotech.wisc.edu/pub/khan/gnu-win32/mingw32/snapshots/gcc-2.95.2-1 Link $ftpsite puts { The three files you will need are:</p> <ul> <li>} Link $ftpsite binutils-19990818-1-src.tar.gz puts </li><li> Link $ftpsite gcc-2.95.2-1-src.tar.gz puts </li><li> Link $ftpsite mingw-20000203.zip puts {</li> </ul> <p>Put all the downloads in a directory out of the way. The sequel will assume all downloads are in a directory named <b>~/mingw/download</b>.</p> </li> <li> <p> 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 <b>/opt/mingw</b> and that your user ID is <b>drh</b>.</p> <blockquote><pre> su mkdir /opt/mingw chown drh /opt/mingw exit </pre></blockquote> </li> <li> <p>Unpack the source tarballs into a separate directory.</p> <blockquote><pre> mkdir ~/mingw/src cd ~/mingw/src tar xzf ../download/binutils-*.tar.gz tar xzf ../download/gcc-*.tar.gz unzip ../download/mingw-*.zip </pre></blockquote> </li> <li> <p>Create a directory in which to put all the build products.</p> <blockquote><pre> mkdir ~/mingw/bld </pre></blockquote> </li> <li> <p>Configure and build binutils and add the results to your PATH.</p> <blockquote><pre> 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 </pre></blockquote> </li> <li> <p>Manually copy the runtime include files into the installation directory before trying to build the compiler.</p> <blockquote><pre> mkdir /opt/mingw/i386-mingw32/include cd ~/mingw/src/mingw-runtime*/mingw/include cp -r * /opt/mingw/i386-mingw32/include </pre></blockquote> </li> <li> <p>Configure and build the compiler</p> <blockquote><pre> 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 </pre></blockquote> </li> <li> <p>Configure and build the MinGW runtime</p> <blockquote><pre> 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 </pre></blockquote> </li> </ol> <p>And you are done...</p> } puts { <p><hr /></p> <p><a href="index.html"><img src="/goback.jpg" border=0 /> Back to the SQLite Home Page</a> </p> </body></html>} |