mirror of
https://github.com/sqlite/sqlite.git
synced 2026-10-23 21:49:02 +03:00
Updates to build instructions, especially on Windows. Fix a harmless
compiler working in debug builds on Windows. FossilOrigin-Name: be245e136a550faa7c84694156c40dc9778f50b00016892c29a2314bef14b6b7
This commit is contained in:
@@ -113,7 +113,7 @@ For example:
|
||||
make sqldiff ;# The "sqldiff" command-line tool
|
||||
#### Targets below require tcl-dev ####
|
||||
make tclextension-install ;# Install the SQLite TCL extension
|
||||
make devtest ;# Run development tests
|
||||
make test ;# Run development tests
|
||||
make releasetest ;# Run full release tests
|
||||
make sqlite3_analyzer ;# Builds the "sqlite3_analyzer" tool
|
||||
|
||||
@@ -177,7 +177,7 @@ file:
|
||||
make sqldiff.exe
|
||||
#### Targets below require TCL development libraries ####
|
||||
make tclextension-install
|
||||
make devtest
|
||||
make test
|
||||
make releasetest
|
||||
make sqlite3_analyzer.exe
|
||||
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# Notes On Compiling SQLite On All Kinds Of Unix
|
||||
|
||||
## Executive Summary
|
||||
|
||||
1. Get a tarball of the canonical SQLite source tree and unpack it
|
||||
2. Run: `./configure`
|
||||
3. Run commands like: <ul>
|
||||
<li> `make sqlite3.c`
|
||||
<li> `make sqlite3`</ul>
|
||||
|
||||
## Details
|
||||
|
||||
Here are step-by-step instructions on how to build SQLite from
|
||||
canonical source on any modern machine that isn't Windows. These
|
||||
notes are tested (on 2024-10-11) on Ubuntu and on MacOS, but they
|
||||
@@ -77,7 +87,7 @@ guidance on building for Windows.
|
||||
for the following targets:
|
||||
<ul>
|
||||
<li> `make tclextension-install`
|
||||
<li> `make devtest`
|
||||
<li> `make test`
|
||||
<li> `make releasetest`
|
||||
<li> `make sqlite3_analyzer`
|
||||
</ul>
|
||||
|
||||
@@ -1,7 +1,19 @@
|
||||
# Notes On Compiling SQLite On Windows 11
|
||||
|
||||
## Executive Summary
|
||||
|
||||
1. Install Microsoft Visual Studio
|
||||
2. Get a "Native Tools Command Prompt"
|
||||
3. Get a tarball of the canonical SQLite source tree and unpack it
|
||||
4. Run commands like: <ul>
|
||||
<li> `make sqlite3.c`
|
||||
<li> `make sqlite3.exe`
|
||||
<li> `make sqlite3.dll`</ul>
|
||||
|
||||
## Details For Standard 64-bit Builds On Either x64 Or ARM
|
||||
|
||||
Below are step-by-step instructions on how to build SQLite from
|
||||
canonical source on a new Windows 11 PC, as of 2025-10-31.
|
||||
canonical source on a new Windows 11 PC, as of 2026-08-01.
|
||||
See [](./compile-for-unix.md) for a similar guide for unix-like
|
||||
systems, including MacOS.
|
||||
|
||||
@@ -70,25 +82,24 @@ systems, including MacOS.
|
||||
4. Download the SQLite source tree and unpack it. CD into the
|
||||
toplevel directory of the source tree.
|
||||
|
||||
5. Run the "`Makefile.msc`" makefile with an appropriate target.
|
||||
Examples:
|
||||
5. The source tree contains the "`make.bat`" batch script that
|
||||
simulations the behavior of Unix-style "make" using "`nmake`".
|
||||
So the build process for Windows is the same as for Unix:
|
||||
<ul>
|
||||
<li> `nmake /f makefile.msc`
|
||||
<li> `nmake /f makefile.msc sqlite3.c`
|
||||
<li> `nmake /f makefile.msc sqlite3.exe`
|
||||
<li> `nmake /f makefile.msc sqldiff.exe`
|
||||
<li> `nmake /f makefile.msc sqlite3_rsync.exe`
|
||||
<li> `make sqlite3.c`
|
||||
<li> `make sqlite3.exe`
|
||||
<li> `make sqldiff.exe`
|
||||
<li> `make sqlite3_rsync.exe`
|
||||
</ul>
|
||||
<p>No TCL is required for the nmake targets above. But for the ones
|
||||
<p>No TCL is required for the make targets above. But for the ones
|
||||
that follow, you will need a TCL installation, as described in step 3
|
||||
above. If you install TCL in some directory other than C:\\Tcl, then
|
||||
you will also need to add the "TCLDIR=<i><dir></i>" option on the
|
||||
nmake command line to tell nmake where your TCL is installed.
|
||||
<ul>
|
||||
<li> `nmake /f makefile.msc tclextension-install`
|
||||
<li> `nmake /f makefile.msc devtest`
|
||||
<li> `nmake /f makefile.msc releasetest`
|
||||
<li> `nmake /f makefile.msc sqlite3_analyzer.exe`
|
||||
<li> `make tclextension-install`
|
||||
<li> `make test`
|
||||
<li> `make releasetest`
|
||||
</ul>
|
||||
|
||||
It is not required that you run the "tclextension-install" target prior to
|
||||
@@ -102,9 +113,8 @@ systems, including MacOS.
|
||||
7. For a debugging build of the CLI, where the ".treetrace" and ".wheretrace"
|
||||
commands work, add the DEBUG=3 argument to nmake. Like this:
|
||||
<ul>
|
||||
<li> `nmake /f makefile.msc DEBUG=3 clean sqlite3.exe`
|
||||
<li> `make DEBUG=3 clean sqlite3`
|
||||
</ul>
|
||||
|
||||
|
||||
## 32-bit Builds
|
||||
|
||||
|
||||
18
manifest
18
manifest
@@ -1,5 +1,5 @@
|
||||
C The\suse\sof\ssqlite3_set_clientdata()\sto\slimit\srecursion\sin\s[4687e04d948b787c]\nis\sincorrect.\s\sFixed\shere.
|
||||
D 2026-07-31T22:45:45.106
|
||||
C Updates\sto\sbuild\sinstructions,\sespecially\son\sWindows.\s\sFix\sa\sharmless\ncompiler\sworking\sin\sdebug\sbuilds\son\sWindows.
|
||||
D 2026-08-01T15:08:48.942
|
||||
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
@@ -8,7 +8,7 @@ F LICENSE.md 6bc480fc673fb4acbc4094e77edb326267dd460162d7723c7f30bee2d3d9e97d
|
||||
F Makefile.in 5fda086f33b144da08119255da1d2557f983d0764a13707f05acf0159fd89ba5
|
||||
F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0
|
||||
F Makefile.msc 4f25c07ccb10cd4fb04eaefba912296664b26cf65152d51974f24272fcf4aa6d
|
||||
F README.md f00091ffb5c6379b783afb57ca5f443a5742e119082f37c407f64a5e16c56346
|
||||
F README.md 8a7487de00e6d6d360cec15cc114cbb397207e1b975901683561506401c6d48c
|
||||
F VERSION 99cf3be5f13d091183e4314b7fc2e0c0e69accfbe64608b45a313338bbdd7b62
|
||||
F art/icon-243x273.gif 9750b734f82fdb3dc43127753d5e6fbf3b62c9f4e136c2fbf573b2f57ea87af5
|
||||
F art/icon-80x90.gif 65509ce3e5f86a9cd64fe7fca2d23954199f31fe44c1e09e208c80fb83d87031
|
||||
@@ -57,8 +57,8 @@ F autosetup/teaish/tester.tcl 1799514c2652db49561b3386c5242b94534d1663f2cfac861a
|
||||
F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x
|
||||
F contrib/sqlitecon.tcl eb4c6578e08dd353263958da0dc620f8400b869a50d06e271ab0be85a51a08d3
|
||||
F doc/F2FS.txt c1d4a0ae9711cfe0e1d8b019d154f1c29e0d3abfe820787ba1e9ed7691160fcd
|
||||
F doc/compile-for-unix.md ebd6e461c71d43291e7e8c6487c9c2716bd997053556ec757509011e77e25581
|
||||
F doc/compile-for-windows.md 36601c95fa4070eebfe757684271d17a7c4a586912ba706d0b5e7817e1df54ad
|
||||
F doc/compile-for-unix.md e729dff2f54ce7afbb0a8bb6813dcbc8720b3838133c5c7449e39962e6fe5c62
|
||||
F doc/compile-for-windows.md 19f87b5b2bd980e0f91c31b2c9d3375e60b4d7901c9bf0c5d060f7cb48334706
|
||||
F doc/json-enhancements.md e356fc834781f1f1aa22ee300027a270b2c960122468499bf347bb123ce1ea4f
|
||||
F doc/jsonb.md acd77fc3a709f51242655ad7803510c886aa8304202fa9cf2abc5f5c4e9d7ae5
|
||||
F doc/lemon.html 2085fda0a90a94fe92159a79dccc5c30d5a2313524887a31659cd66162f17233
|
||||
@@ -696,7 +696,7 @@ F src/delete.c 59eeca3fb88c29329afc41bb803ee568b120d9dd7470b5f38ab55cc38390b451
|
||||
F src/expr.c 43c750797e82d5686c0f198d759f77d9c9166038837d7574d75d71649e09a335
|
||||
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
|
||||
F src/fkey.c 931f74cec1dc8038a0217ef340c91ce147dd1bbed08dc40c47ee0ec6edfffb08
|
||||
F src/func.c 208b4d073a1e823df8d0e19d0529093c09a9984851dcfda9808445541cefe6d0
|
||||
F src/func.c d833ab92ed95e84af60247e7d752cda33234d8979173442079d54d96e9853dd9
|
||||
F src/global.c 7eea537ac0c113ac55cb2dd4d8fc2a6a91ae478be34231b4efaffc46817fee85
|
||||
F src/hash.c 03c8c0f4be9e8bcb6de65aa26d34a61d48a9430747084a69f9469fbb00ea52ca
|
||||
F src/hash.h 46b92795a95bfefb210f52f0c316e9d7cdbcdd7e7fcfb0d8be796d3a5767cddf
|
||||
@@ -2218,8 +2218,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
|
||||
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
|
||||
P 180e75e07630b4fa7abdd28ad889e27031071555078989c40a8c10a1d2905338
|
||||
R 8d2d0a9b939ec4258bc739ddc737c04c
|
||||
P bf44a08adc94b8c7c69921a1292d56bec0cbd9f3ac772e31d8ea5866e9f46063
|
||||
R c754dcf7739c1f4243cfe1763468ec65
|
||||
U drh
|
||||
Z 050ff26189eb4a838917e6b965cbb5aa
|
||||
Z e200f72878b5b96a81f656ca3cb9100b
|
||||
# Remove this line to create a well-formed Fossil manifest.
|
||||
|
||||
@@ -1 +1 @@
|
||||
bf44a08adc94b8c7c69921a1292d56bec0cbd9f3ac772e31d8ea5866e9f46063
|
||||
be245e136a550faa7c84694156c40dc9778f50b00016892c29a2314bef14b6b7
|
||||
|
||||
@@ -2996,7 +2996,7 @@ static void percentSort(
|
||||
}
|
||||
}while( i<iGt );
|
||||
|
||||
assert( iLt>0 && iLt<iGt && iGt<n );
|
||||
assert( iLt>0 && iLt<iGt && (unsigned)iGt<n );
|
||||
testcase( iGt>iLt+1 );
|
||||
assert( a[iLt]==rPivot );
|
||||
assert( a[iLt-1]<=rPivot );
|
||||
|
||||
Reference in New Issue
Block a user