From: drh <> Date: Thu, 11 Dec 2025 18:16:39 +0000 (+0000) Subject: Update build instructions for Windows to explain how to link against X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b304b0d165b9d49b2abc2152f00a1fca4ad63612;p=thirdparty%2Fsqlite.git Update build instructions for Windows to explain how to link against ZLIB. FossilOrigin-Name: e785a80e4100c368dca8d73cb662cff4d0fd76734fa0f3fa9b5754a380f7c746 --- diff --git a/doc/compile-for-windows.md b/doc/compile-for-windows.md index 0e59c83fed..30536d5fd8 100644 --- a/doc/compile-for-windows.md +++ b/doc/compile-for-windows.md @@ -180,3 +180,39 @@ statically linked so that it does not depend on separate DLL: 6. After your executable is built, you can verify that it does not depend on the TCL DLL by running:
+ +## Linking Against ZLIB + +Some feature (such as zip-file support in the CLI) require the ZLIB +compression library. That library is more or less universally available +on unix platforms, but is seldom provided on Windows. You will probably +need to provide it yourself. Here the the steps needed: + + 1. Download the zlib-1.3.1.tar.gz tarball (or a similar version). + Unpack the tarball sources. You can put them wherever you like. + For the purposes of this document, let's assume you put the source + tree in c:\\zlib-64. Note: If you are building for both x64 and + x86, you will need separate builds of ZLIB for each, thus separate + build directories. + + 2. Before building SQLite (as described above) first make these + environment changes. The lead-programmer for SQLite (who writes + these words) has BAT files named "env-x64.bat" and "env-x32.bat" + and "env-arm64.bat" that make these changes, and he runs those + BAT file whenever he starts a new shell. These are the settings + needed: +dumpbin /dependents sqlite3_analyzer.exe
+ set USE_ZLIB=1+ + 3. Because the settings in step 2 specify "BUILD_ZLIB=0", you will need + to build the library at least once. I recommand: +
+ set BUILD_ZLIB=0
+ set ZLIBDIR=c:\\zlib-64 +
+ make clean sqlite3.exe BUILD_ZLIB=1 ++ + 4. After making the environment changes specified in steps 1 through 3 + above, you then build and test SQLite as you normally would. The + environment variable changes will cause ZLIB to be linked automatically. diff --git a/manifest b/manifest index 8219fcbde4..547a61abc2 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Adjust\sthe\sMSVC\sMakefile\sso\sthat\swhen\sit\sinvokes\sthe\szlib\smakefile,\sit\nchanges\sCFLAGS\sto\suse\sthe\scorrect\s-M\scompiler\soption\sto\smatch\sSQLite. -D 2025-12-11T17:49:17.143 +C Update\sbuild\sinstructions\sfor\sWindows\sto\sexplain\show\sto\slink\sagainst\nZLIB. +D 2025-12-11T18:16:39.432 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -57,7 +57,7 @@ F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x F contrib/sqlitecon.tcl eb4c6578e08dd353263958da0dc620f8400b869a50d06e271ab0be85a51a08d3 F doc/F2FS.txt c1d4a0ae9711cfe0e1d8b019d154f1c29e0d3abfe820787ba1e9ed7691160fcd F doc/compile-for-unix.md c9dce1ddd4bf0d25efccc5c63eb047e78c01ce06a6ff29c73e0a8af4a0f4adbc -F doc/compile-for-windows.md f9e74d74da88f384edd5809f825035e071608f00f7f39c0e448df7b3982f979c +F doc/compile-for-windows.md 36601c95fa4070eebfe757684271d17a7c4a586912ba706d0b5e7817e1df54ad F doc/json-enhancements.md e356fc834781f1f1aa22ee300027a270b2c960122468499bf347bb123ce1ea4f F doc/jsonb.md acd77fc3a709f51242655ad7803510c886aa8304202fa9cf2abc5f5c4e9d7ae5 F doc/lemon.html 2085fda0a90a94fe92159a79dccc5c30d5a2313524887a31659cd66162f17233 @@ -2184,8 +2184,8 @@ F tool/version-info.c 33d0390ef484b3b1cb685d59362be891ea162123cea181cb8e6d2cf6dd F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 117f4093f08e0abbde2041f70898220e237e250664f6ede6d4eb2a8a44050466 -R c998c3d860ebe4cf53a525410c0f4746 +P ba003c7c74fb4dd665a8ec6dea7d030f1e7e9cbb13e60bb728860ebffdff5aaf +R 1c99cad3fd8583fa54bc224ab3f05c00 U drh -Z abb40a60815ce668f787767a2f5f6cee +Z c4c875edc56563f1723c026f14c53914 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 1f28077ef7..427688d1c0 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ba003c7c74fb4dd665a8ec6dea7d030f1e7e9cbb13e60bb728860ebffdff5aaf +e785a80e4100c368dca8d73cb662cff4d0fd76734fa0f3fa9b5754a380f7c746