Documentation Source Text

Check-in [55ab2074b0]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Better support for Windows in the howtocompile.html document.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 55ab2074b0f9365f9978c43a98c445cece933afa
User & Date: drh 2014-05-26 12:43:55
Context
2014-05-26
13:00
Additional remarks on the use of checklists in the testing.html document. check-in: 8a2b7d834e user: drh tags: trunk
12:43
Better support for Windows in the howtocompile.html document. check-in: 55ab2074b0 user: drh tags: trunk
11:56
Updates to the ALTER TABLE documentation. Provide a clear warning that RENAME TO does not rewrite referencing triggers and views. Provide two correct procedures for making other kinds of schema changes. check-in: d4418abf42 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to pages/howtocompile.in.

72
73
74
75
76
77
78
79
80






81
82
83
84
85
86
87
88
...
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
...
207
208
209
210
211
212
213






214
215
216
217
218
219
220
and passes that input into the SQLite database engine for processing.
</ul>

<p>All three of the above source files are contained in the
[amalgamation tarball] available on the [download page].</p>

<p>To build the CLI, simply put these three files in the same directory
and compile them together.  The command to compile C programs varies from
one machine to the next but on unix systems typically looks 






something like this:</p>

<blockquote><pre>
gcc shell.c sqlite3.c -lpthread -ldl
</pre></blockquote>

<p>The pthreads library is needed to make SQLite threadsafe.  But
since the CLI is single threaded,  we could instruct SQLite to build
................................................................................
<li>[SQLITE_OMIT_TRIGGER]
<li>[SQLITE_OMIT_VACUUM]
<li>[SQLITE_OMIT_VIEW]
<li>[SQLITE_OMIT_VIRTUALTABLE]
</ul>

<p>To build a custom amalgamation, first download the original individual
source files onto a unix or unix-like development platform.  (Any Linux or
Mac OS X machine will suffice.  Windows will work if loaded with
[http://www.cygwin.com/ | Cygwin].)  Be sure to get the original source
files not the "preprocessed source files".  One can obtain the complete
set of original source files either from the [download page] or directly
from the [http://www.sqlite.org/src | configuration management system].</p>

<p>Suppose the SQLite source tree is stored in a directory named "sqlite".
Plan to construct the amalgamation in a parallel directory named (for
example) "bld".  First construct an appropriate Makefile by either
................................................................................
making a copy of one of the template Makefiles at the top of the source tree.
Then hand edit this Makefile to include the desired compile-time options.
Finally run:</p>

<blockquote><pre>
make sqlite3.c
</pre></blockquote>







<p>The "sqlite3.c" make target will automatically construct the regular
"<b>sqlite3.c</b>" amalgamation source file, its header file
"<b>sqlite3.h</b>", and the "<b>tclsqlite3.c</b>" amalgamation source
file that includes the TCL interface.
Afterwards, the needed files can be copied into project directories and
compiled according to the procedures outlined above.</p>







|
<
>
>
>
>
>
>
|







 







|
<
|







 







>
>
>
>
>
>







72
73
74
75
76
77
78
79

80
81
82
83
84
85
86
87
88
89
90
91
92
93
...
194
195
196
197
198
199
200
201

202
203
204
205
206
207
208
209
...
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
and passes that input into the SQLite database engine for processing.
</ul>

<p>All three of the above source files are contained in the
[amalgamation tarball] available on the [download page].</p>

<p>To build the CLI, simply put these three files in the same directory
and compile them together.  Using MSVC:


<blockquote><pre>
cl shell.c sqlite3.c -Fesqlite3.exe
</pre></blockquote>

<p>On unix systems (or on Windows using cygwin or mingw+msys)
the command typically looks something like this:</p>

<blockquote><pre>
gcc shell.c sqlite3.c -lpthread -ldl
</pre></blockquote>

<p>The pthreads library is needed to make SQLite threadsafe.  But
since the CLI is single threaded,  we could instruct SQLite to build
................................................................................
<li>[SQLITE_OMIT_TRIGGER]
<li>[SQLITE_OMIT_VACUUM]
<li>[SQLITE_OMIT_VIEW]
<li>[SQLITE_OMIT_VIRTUALTABLE]
</ul>

<p>To build a custom amalgamation, first download the original individual
source files onto a unix or unix-like development platform.  

Be sure to get the original source
files not the "preprocessed source files".  One can obtain the complete
set of original source files either from the [download page] or directly
from the [http://www.sqlite.org/src | configuration management system].</p>

<p>Suppose the SQLite source tree is stored in a directory named "sqlite".
Plan to construct the amalgamation in a parallel directory named (for
example) "bld".  First construct an appropriate Makefile by either
................................................................................
making a copy of one of the template Makefiles at the top of the source tree.
Then hand edit this Makefile to include the desired compile-time options.
Finally run:</p>

<blockquote><pre>
make sqlite3.c
</pre></blockquote>

<p>Or on Windows with MSVC:

<blockquote><pre>
nmake /f Makefile.msc sqlite3.c
</pre></blockquote>

<p>The "sqlite3.c" make target will automatically construct the regular
"<b>sqlite3.c</b>" amalgamation source file, its header file
"<b>sqlite3.h</b>", and the "<b>tclsqlite3.c</b>" amalgamation source
file that includes the TCL interface.
Afterwards, the needed files can be copied into project directories and
compiled according to the procedures outlined above.</p>