1
0
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:
drh
2026-08-01 15:08:48 +00:00
parent f034d515b4
commit e12c6f2590
6 changed files with 49 additions and 29 deletions

View File

@@ -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

View File

@@ -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>

View File

@@ -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>&lt;dir&gt;</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

View File

@@ -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.

View File

@@ -1 +1 @@
bf44a08adc94b8c7c69921a1292d56bec0cbd9f3ac772e31d8ea5866e9f46063
be245e136a550faa7c84694156c40dc9778f50b00016892c29a2314bef14b6b7

View File

@@ -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 );