2016-02-23 15:07:39 +00:00
|
|
|
This package contains:
|
|
|
|
|
|
|
|
* 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
|
|
|
|
* autoconf/automake installation infrastucture for building on POSIX
|
|
|
|
compliant systems
|
2016-12-05 20:29:15 +00:00
|
|
|
* a Makefile.msc, sqlite3.rc, and Replace.cs for building with Microsoft
|
|
|
|
Visual C++ on Windows
|
2016-02-23 15:07:39 +00:00
|
|
|
|
|
|
|
SUMMARY OF HOW TO BUILD
|
|
|
|
=======================
|
|
|
|
|
|
|
|
Unix: ./configure; make
|
|
|
|
Windows: nmake /f Makefile.msc
|
|
|
|
|
|
|
|
BUILDING ON POSIX
|
|
|
|
=================
|
|
|
|
|
|
|
|
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]
|
|
|
|
|
|
|
|
The default value for the CFLAGS variable (options passed to the C
|
|
|
|
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:
|
|
|
|
|
|
|
|
$ CFLAGS="-Os -DSQLITE_THREADSAFE=0" ./configure
|
|
|
|
|
|
|
|
|
|
|
|
BUILDING WITH MICROSOFT VISUAL C++
|
|
|
|
==================================
|
|
|
|
|
|
|
|
To compile for Windows using Microsoft Visual C++:
|
|
|
|
|
|
|
|
$ 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.
|
|
|
|
|
|
|
|
Building for WinRT 8.0
|
|
|
|
----------------------
|
|
|
|
|
|
|
|
FOR_WINRT=1
|
|
|
|
|
|
|
|
Using Microsoft Visual C++ 2012 (or later) is required. When using the
|
|
|
|
above, something like the following macro will need to be added to the
|
|
|
|
NMAKE command line as well:
|
|
|
|
|
|
|
|
"NSDKLIBPATH=%WindowsSdkDir%\..\8.0\lib\win8\um\x86"
|
|
|
|
|
|
|
|
Building for WinRT 8.1
|
|
|
|
----------------------
|
|
|
|
|
|
|
|
FOR_WINRT=1
|
|
|
|
|
|
|
|
Using Microsoft Visual C++ 2013 (or later) is required. When using the
|
|
|
|
above, something like the following macro will need to be added to the
|
|
|
|
NMAKE command line as well:
|
|
|
|
|
|
|
|
"NSDKLIBPATH=%WindowsSdkDir%\..\8.1\lib\winv6.3\um\x86"
|
|
|
|
|
|
|
|
Building for UWP 10.0
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
FOR_WINRT=1 FOR_UWP=1
|
|
|
|
|
|
|
|
Using Microsoft Visual C++ 2015 (or later) is required. When using the
|
|
|
|
above, something like the following macros will need to be added to the
|
|
|
|
NMAKE command line as well:
|
|
|
|
|
|
|
|
"NSDKLIBPATH=%WindowsSdkDir%\..\10\lib\10.0.10586.0\um\x86"
|
|
|
|
"PSDKLIBPATH=%WindowsSdkDir%\..\10\lib\10.0.10586.0\um\x86"
|
|
|
|
"NUCRTLIBPATH=%UniversalCRTSdkDir%\..\10\lib\10.0.10586.0\ucrt\x86"
|
|
|
|
|
|
|
|
Building for the Windows 10 SDK
|
|
|
|
-------------------------------
|
|
|
|
|
|
|
|
FOR_WIN10=1
|
|
|
|
|
|
|
|
Using Microsoft Visual C++ 2015 (or later) is required. When using the
|
|
|
|
above, no other macros should be needed on the NMAKE command line.
|
|
|
|
|
|
|
|
Other preprocessor defines
|
|
|
|
--------------------------
|
|
|
|
|
|
|
|
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:
|
|
|
|
|
|
|
|
"OPTS=-DSQLITE_ENABLE_STAT4=1 -DSQLITE_ENABLE_JSON1=1"
|
|
|
|
|
|
|
|
However, the following will not compile unless the amalgamation was built
|
|
|
|
with it enabled:
|
|
|
|
|
|
|
|
"OPTS=-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1"
|