sqlite  autoconf-3350400
About: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. This archive contains all C source code combined into a single source file (the amalgamation) together with an configure script and makefile for building it.
  Fossies Dox: sqlite-autoconf-3350400.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

sqlite Documentation

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the steelblue colored "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies sqlite-autoconf-3350400.tar.gz contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).
README.txt

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
  • a Makefile.msc, sqlite3.rc, and Replace.cs for building with Microsoft Visual C++ on Windows

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"