]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Updates to build instructions, especially on Windows. Fix a harmless master
authordrh <>
Sat, 1 Aug 2026 15:08:48 +0000 (15:08 +0000)
committerdrh <>
Sat, 1 Aug 2026 15:08:48 +0000 (15:08 +0000)
compiler working in debug builds on Windows.

FossilOrigin-Name: be245e136a550faa7c84694156c40dc9778f50b00016892c29a2314bef14b6b7

README.md
doc/compile-for-unix.md
doc/compile-for-windows.md
manifest
manifest.uuid
src/func.c

index 990befcd2db5268f4030af792fb69cc1b2a5b5fa..04011a9b990e38ce5c5ab38156eb40faf00698bf 100644 (file)
--- a/README.md
+++ b/README.md
@@ -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
  
index e3777618c580f200b1f5b03ebeb13384d688057d..636dded3ef98a33be8e0528a7936268d44f1cf2e 100644 (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>
index 30536d5fd8340c2949fee554ec39de1272930c9c..c5e3752c5d73c39d9c8367948160220eded789e2 100644 (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
 
index 3bfdb7d00969bb92355ca6738623185322f27499..178940f0b7e6d3264817212f9c66314161ec715d 100644 (file)
--- a/manifest
+++ b/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.
index 5382e23a3753d762a2f5514650e81bf11bc691b0..54c97868c16bd80b2acd121e7fc31ace2c40f505 100644 (file)
@@ -1 +1 @@
-bf44a08adc94b8c7c69921a1292d56bec0cbd9f3ac772e31d8ea5866e9f46063
+be245e136a550faa7c84694156c40dc9778f50b00016892c29a2314bef14b6b7
index 689c462034ef06112689a093d7bda398e69f8a98..3e47641828b1c2669b73cc7fe427e15cc00e9ce8 100644 (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 );