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