2013-05-27 19:19:58 +02:00
|
|
|
This package contains:
|
|
|
|
|
2016-02-10 14:17:14 +01:00
|
|
|
* the SQLite library amalgamation source code file: sqlite3.c
|
|
|
|
* the sqlite3.h and sqlite3ext.h header files that define the C-language
|
|
|
|
interface to the sqlite3.c library file
|
|
|
|
* the shell.c file used to build the sqlite3 command-line shell program
|
2016-01-23 22:57:46 +01:00
|
|
|
* autoconf/automake installation infrastucture for building on POSIX
|
2016-02-10 14:17:14 +01:00
|
|
|
compliant systems
|
2016-02-27 00:13:16 +01:00
|
|
|
* a Makefile.msc, sqlite3.rc, and Replace.cs for building with Microsoft
|
|
|
|
Visual C++ on Windows
|
2016-01-23 21:43:48 +01:00
|
|
|
|
2024-10-17 15:29:49 +02:00
|
|
|
WHY USE THIS PACKAGE?
|
|
|
|
=====================
|
|
|
|
|
|
|
|
The canonical make system for SQLite requires TCL as part of the build
|
|
|
|
process. Various TCL scripts are used to generate parts of the code and
|
|
|
|
TCL is used to run tests. But some people would prefer to build SQLite
|
|
|
|
using only generic tools and without having to install TCL. The purpose
|
|
|
|
of this package is to provide that capability.
|
|
|
|
|
|
|
|
This package contains a pre-build SQLite amalgamation file "sqlite3.c"
|
|
|
|
(and its associated header file "sqlite3.h"). Because the amalgamation
|
|
|
|
has been pre-built, no TCL is required.
|
|
|
|
|
|
|
|
REASONS TO USE THE CANONICAL BUILD SYSTEM RATHER THAN THIS PACKAGE
|
|
|
|
==================================================================
|
|
|
|
|
|
|
|
* the cononical build system allows you to run tests to verify that
|
|
|
|
the build worked
|
|
|
|
* the canonical build system supports more compile-time options
|
|
|
|
* the canonical build system works for any arbitrary check-in to
|
|
|
|
the SQLite source tree
|
|
|
|
|
|
|
|
Step-by-step instructions on how to build using the canonical make
|
|
|
|
system for SQLite can be found at:
|
|
|
|
|
|
|
|
https://sqlite.org/src/doc/trunk/doc/compile-for-unix.md
|
|
|
|
https://sqlite.org/src/doc/trunk/doc/compile-for-windows.md
|
|
|
|
|
|
|
|
|
|
|
|
SUMMARY OF HOW TO BUILD USING THIS PACKAGE
|
|
|
|
==========================================
|
2016-01-26 00:19:58 +01:00
|
|
|
|
2016-01-26 00:24:38 +01:00
|
|
|
Unix: ./configure; make
|
|
|
|
Windows: nmake /f Makefile.msc
|
2016-01-26 00:19:58 +01:00
|
|
|
|
2016-01-23 21:43:48 +01:00
|
|
|
BUILDING ON POSIX
|
|
|
|
=================
|
2013-05-27 19:19:58 +02:00
|
|
|
|
|
|
|
The generic installation instructions for autoconf/automake are found
|
|
|
|
in the INSTALL file.
|
|
|
|
|
|
|
|
The following SQLite specific boolean options are supported:
|
|
|
|
|
|
|
|
--enable-readline use readline in shell tool [default=yes]
|
|
|
|
--enable-threadsafe build a thread-safe library [default=yes]
|
|
|
|
--enable-dynamic-extensions support loadable extensions [default=yes]
|
|
|
|
|
2016-01-23 22:57:46 +01:00
|
|
|
The default value for the CFLAGS variable (options passed to the C
|
2013-05-27 19:19:58 +02:00
|
|
|
compiler) includes debugging symbols in the build, resulting in larger
|
|
|
|
binaries than are necessary. Override it on the configure command
|
|
|
|
line like this:
|
|
|
|
|
|
|
|
$ CFLAGS="-Os" ./configure
|
|
|
|
|
|
|
|
to produce a smaller installation footprint.
|
|
|
|
|
|
|
|
Other SQLite compilation parameters can also be set using CFLAGS. For
|
|
|
|
example:
|
|
|
|
|
2016-02-10 14:17:14 +01:00
|
|
|
$ CFLAGS="-Os -DSQLITE_THREADSAFE=0" ./configure
|
2013-05-27 19:19:58 +02:00
|
|
|
|
2016-01-23 21:43:48 +01:00
|
|
|
|
2016-01-23 22:57:46 +01:00
|
|
|
BUILDING WITH MICROSOFT VISUAL C++
|
|
|
|
==================================
|
2016-01-23 21:43:48 +01:00
|
|
|
|
2016-01-23 21:09:30 +01:00
|
|
|
To compile for Windows using Microsoft Visual C++:
|
|
|
|
|
2016-01-23 22:57:46 +01:00
|
|
|
$ nmake /f Makefile.msc
|
|
|
|
|
|
|
|
Using Microsoft Visual C++ 2005 (or later) is recommended. Several Windows
|
|
|
|
platform variants may be built by adding additional macros to the NMAKE
|
|
|
|
command line.
|
|
|
|
|
|
|
|
|
2016-01-26 00:19:58 +01:00
|
|
|
Other preprocessor defines
|
2016-01-23 22:57:46 +01:00
|
|
|
--------------------------
|
|
|
|
|
|
|
|
Additionally, preprocessor defines may be specified by using the OPTS macro
|
|
|
|
on the NMAKE command line. However, not all possible preprocessor defines
|
|
|
|
may be specified in this manner as some require the amalgamation to be built
|
|
|
|
with them enabled (see http://www.sqlite.org/compile.html). For example, the
|
|
|
|
following will work:
|
|
|
|
|
2022-02-17 15:33:13 +01:00
|
|
|
"OPTS=-DSQLITE_ENABLE_STAT4=1 -DSQLITE_OMIT_JSON=1"
|
2016-01-23 22:57:46 +01:00
|
|
|
|
|
|
|
However, the following will not compile unless the amalgamation was built
|
|
|
|
with it enabled:
|
|
|
|
|
|
|
|
"OPTS=-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1"
|