xref: /freebsd/contrib/sqlite3/README.txt (revision 4fe1295c964fa712dd763e3852187da8724ef79a)
1d915215eSBaptiste DaroussinThis package contains:
2d915215eSBaptiste Daroussin
3d915215eSBaptiste Daroussin * the SQLite library amalgamation source code file: sqlite3.c
4d915215eSBaptiste Daroussin * the sqlite3.h and sqlite3ext.h header files that define the C-language
5d915215eSBaptiste Daroussin   interface to the sqlite3.c library file
6d915215eSBaptiste Daroussin * the shell.c file used to build the sqlite3 command-line shell program
7d915215eSBaptiste Daroussin * autoconf/automake installation infrastucture for building on POSIX
8d915215eSBaptiste Daroussin   compliant systems
9d915215eSBaptiste Daroussin * a Makefile.msc, sqlite3.rc, and Replace.cs for building with Microsoft
10d915215eSBaptiste Daroussin   Visual C++ on Windows
11d915215eSBaptiste Daroussin
12d915215eSBaptiste DaroussinSUMMARY OF HOW TO BUILD
13d915215eSBaptiste Daroussin=======================
14d915215eSBaptiste Daroussin
15d915215eSBaptiste Daroussin  Unix:      ./configure; make
16d915215eSBaptiste Daroussin  Windows:   nmake /f Makefile.msc
17d915215eSBaptiste Daroussin
18d915215eSBaptiste DaroussinBUILDING ON POSIX
19d915215eSBaptiste Daroussin=================
20d915215eSBaptiste Daroussin
21d915215eSBaptiste DaroussinThe generic installation instructions for autoconf/automake are found
22d915215eSBaptiste Daroussinin the INSTALL file.
23d915215eSBaptiste Daroussin
24d915215eSBaptiste DaroussinThe following SQLite specific boolean options are supported:
25d915215eSBaptiste Daroussin
26d915215eSBaptiste Daroussin  --enable-readline           use readline in shell tool   [default=yes]
27d915215eSBaptiste Daroussin  --enable-threadsafe         build a thread-safe library  [default=yes]
28d915215eSBaptiste Daroussin  --enable-dynamic-extensions support loadable extensions  [default=yes]
29d915215eSBaptiste Daroussin
30d915215eSBaptiste DaroussinThe default value for the CFLAGS variable (options passed to the C
31d915215eSBaptiste Daroussincompiler) includes debugging symbols in the build, resulting in larger
32d915215eSBaptiste Daroussinbinaries than are necessary. Override it on the configure command
33d915215eSBaptiste Daroussinline like this:
34d915215eSBaptiste Daroussin
35d915215eSBaptiste Daroussin  $ CFLAGS="-Os" ./configure
36d915215eSBaptiste Daroussin
37d915215eSBaptiste Daroussinto produce a smaller installation footprint.
38d915215eSBaptiste Daroussin
39d915215eSBaptiste DaroussinOther SQLite compilation parameters can also be set using CFLAGS. For
40d915215eSBaptiste Daroussinexample:
41d915215eSBaptiste Daroussin
42d915215eSBaptiste Daroussin  $ CFLAGS="-Os -DSQLITE_THREADSAFE=0" ./configure
43d915215eSBaptiste Daroussin
44d915215eSBaptiste Daroussin
45d915215eSBaptiste DaroussinBUILDING WITH MICROSOFT VISUAL C++
46d915215eSBaptiste Daroussin==================================
47d915215eSBaptiste Daroussin
48d915215eSBaptiste DaroussinTo compile for Windows using Microsoft Visual C++:
49d915215eSBaptiste Daroussin
50d915215eSBaptiste Daroussin  $ nmake /f Makefile.msc
51d915215eSBaptiste Daroussin
52d915215eSBaptiste DaroussinUsing Microsoft Visual C++ 2005 (or later) is recommended.  Several Windows
53d915215eSBaptiste Daroussinplatform variants may be built by adding additional macros to the NMAKE
54d915215eSBaptiste Daroussincommand line.
55d915215eSBaptiste Daroussin
56d915215eSBaptiste DaroussinBuilding for WinRT 8.0
57d915215eSBaptiste Daroussin----------------------
58d915215eSBaptiste Daroussin
59d915215eSBaptiste Daroussin  FOR_WINRT=1
60d915215eSBaptiste Daroussin
61d915215eSBaptiste DaroussinUsing Microsoft Visual C++ 2012 (or later) is required.  When using the
62d915215eSBaptiste Daroussinabove, something like the following macro will need to be added to the
63d915215eSBaptiste DaroussinNMAKE command line as well:
64d915215eSBaptiste Daroussin
65d915215eSBaptiste Daroussin  "NSDKLIBPATH=%WindowsSdkDir%\..\8.0\lib\win8\um\x86"
66d915215eSBaptiste Daroussin
67d915215eSBaptiste DaroussinBuilding for WinRT 8.1
68d915215eSBaptiste Daroussin----------------------
69d915215eSBaptiste Daroussin
70d915215eSBaptiste Daroussin  FOR_WINRT=1
71d915215eSBaptiste Daroussin
72d915215eSBaptiste DaroussinUsing Microsoft Visual C++ 2013 (or later) is required.  When using the
73d915215eSBaptiste Daroussinabove, something like the following macro will need to be added to the
74d915215eSBaptiste DaroussinNMAKE command line as well:
75d915215eSBaptiste Daroussin
76d915215eSBaptiste Daroussin  "NSDKLIBPATH=%WindowsSdkDir%\..\8.1\lib\winv6.3\um\x86"
77d915215eSBaptiste Daroussin
78d915215eSBaptiste DaroussinBuilding for UWP 10.0
79d915215eSBaptiste Daroussin---------------------
80d915215eSBaptiste Daroussin
81d915215eSBaptiste Daroussin  FOR_WINRT=1 FOR_UWP=1
82d915215eSBaptiste Daroussin
83d915215eSBaptiste DaroussinUsing Microsoft Visual C++ 2015 (or later) is required.  When using the
84d915215eSBaptiste Daroussinabove, something like the following macros will need to be added to the
85d915215eSBaptiste DaroussinNMAKE command line as well:
86d915215eSBaptiste Daroussin
87d915215eSBaptiste Daroussin  "NSDKLIBPATH=%WindowsSdkDir%\..\10\lib\10.0.10586.0\um\x86"
88d915215eSBaptiste Daroussin  "PSDKLIBPATH=%WindowsSdkDir%\..\10\lib\10.0.10586.0\um\x86"
89d915215eSBaptiste Daroussin  "NUCRTLIBPATH=%UniversalCRTSdkDir%\..\10\lib\10.0.10586.0\ucrt\x86"
90d915215eSBaptiste Daroussin
91d915215eSBaptiste DaroussinBuilding for the Windows 10 SDK
92d915215eSBaptiste Daroussin-------------------------------
93d915215eSBaptiste Daroussin
94d915215eSBaptiste Daroussin  FOR_WIN10=1
95d915215eSBaptiste Daroussin
96d915215eSBaptiste DaroussinUsing Microsoft Visual C++ 2015 (or later) is required.  When using the
97d915215eSBaptiste Daroussinabove, no other macros should be needed on the NMAKE command line.
98d915215eSBaptiste Daroussin
99d915215eSBaptiste DaroussinOther preprocessor defines
100d915215eSBaptiste Daroussin--------------------------
101d915215eSBaptiste Daroussin
102d915215eSBaptiste DaroussinAdditionally, preprocessor defines may be specified by using the OPTS macro
103d915215eSBaptiste Daroussinon the NMAKE command line.  However, not all possible preprocessor defines
104d915215eSBaptiste Daroussinmay be specified in this manner as some require the amalgamation to be built
105d915215eSBaptiste Daroussinwith them enabled (see http://www.sqlite.org/compile.html). For example, the
106d915215eSBaptiste Daroussinfollowing will work:
107d915215eSBaptiste Daroussin
108*4fe1295cSCy Schubert  "OPTS=-DSQLITE_ENABLE_STAT4=1 -DSQLITE_OMIT_JSON=1"
109d915215eSBaptiste Daroussin
110d915215eSBaptiste DaroussinHowever, the following will not compile unless the amalgamation was built
111d915215eSBaptiste Daroussinwith it enabled:
112d915215eSBaptiste Daroussin
113d915215eSBaptiste Daroussin  "OPTS=-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1"
114