From: stephan Date: Sat, 15 Feb 2025 16:24:52 +0000 (+0000) Subject: DLL installation rules no longer create versioned symlinks on platforms where the... X-Git-Tag: version-3.49.1~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8a61fe879d8f023013d208ede09faa3992fdea84;p=thirdparty%2Fsqlite.git DLL installation rules no longer create versioned symlinks on platforms where the DLL extension is '.dll' (cygwin, msys2, etc.), as suggested in [forum:28bb79638844c328|forum post 28bb79638844c328]. FossilOrigin-Name: d94ad545776ad5cdbd637c1532e0be5f0364eee31484ede97ec4173b2b76f781 --- diff --git a/autoconf/Makefile.in b/autoconf/Makefile.in index c6cde3c181..65108ee5d0 100644 --- a/autoconf/Makefile.in +++ b/autoconf/Makefile.in @@ -87,7 +87,7 @@ install-dir.all = $(install-dir.bin) $(install-dir.include) \ $(install-dir.lib) $(install-dir.man1) \ $(install-dir.pkgconfig) $(install-dir.all): - if [ ! -d "$@" ]; then $(INSTALL) -d "$@"; fi + @if [ ! -d "$@" ]; then set -x; $(INSTALL) -d "$@"; fi # ^^^^ on some platforms, install -d fails if the target already exists. @@ -161,8 +161,10 @@ install-so-1: $(install-dir.lib) $(libsqlite3.SO) $(INSTALL) $(libsqlite3.SO).a "$(install-dir.lib)"; \ fi @echo "Setting up $(libsqlite3.SO) version symlinks..."; \ - cd "$(install-dir.lib)" || exit $$?; \ - if [ x.dylib = x$(T.dll) ]; then \ + if [ x.dll = x$(T.dll) ]; then \ + echo "No library symlinks needed on this platform"; \ + elif [ x.dylib = x$(T.dll) ]; then \ + cd "$(install-dir.lib)" || exit $$?; \ rm -f libsqlite3.0$(T.dll) libsqlite3.$(PACKAGE_VERSION)$(T.dll) || exit $$?; \ dllname=libsqlite3.$(PACKAGE_VERSION)$(T.dll); \ mv $(libsqlite3.SO) $$dllname || exit $$?; \ @@ -170,6 +172,7 @@ install-so-1: $(install-dir.lib) $(libsqlite3.SO) ln -s $$dllname libsqlite3.0$(T.dll) || exit $$?; \ ls -la $$dllname $(libsqlite3.SO) libsqlite3.0$(T.dll); \ else \ + cd "$(install-dir.lib)" || exit $$?; \ rm -f $(libsqlite3.SO).0 $(libsqlite3.SO).$(PACKAGE_VERSION) || exit $$?; \ mv $(libsqlite3.SO) $(libsqlite3.SO).$(PACKAGE_VERSION) || exit $$?; \ ln -s $(libsqlite3.SO).$(PACKAGE_VERSION) $(libsqlite3.SO) || exit $$?; \ diff --git a/main.mk b/main.mk index 1f45ef0470..75e8cfa21e 100644 --- a/main.mk +++ b/main.mk @@ -436,7 +436,7 @@ install-dir.all = $(install-dir.bin) $(install-dir.include) \ $(install-dir.lib) $(install-dir.man1) \ $(install-dir.pkgconfig) $(install-dir.all): - if [ ! -d "$@" ]; then $(INSTALL) -d "$@"; fi + @if [ ! -d "$@" ]; then set -x; $(INSTALL) -d "$@"; fi # ^^^^ on some platforms, install -d fails if the target already exists. # @@ -1421,19 +1421,17 @@ so: $(libsqlite3.SO)-$(ENABLE_SHARED) all: so # -# Install the $(libsqlite3.SO) as $(libsqlite3.SO).$(PACKAGE_VERSION) -# and create symlinks which point to it: +# On most Unix-like platforms, install the $(libsqlite3.SO) as +# $(libsqlite3.SO).$(PACKAGE_VERSION) and create symlinks which point +# to it: # # - libsqlite3.so.$(PACKAGE_VERSION) # - libsqlite3.so.0 =symlink-> libsqlite3.so.$(PACKAGE_VERSION) (see below) # - libsqlite3.so =symlink-> libsqlite3.so.3 # -# N.B. we initially had a link named libsqlite3.so.3 but it's -# unnecessary unless we want to set SONAME to libsqlite3.so.3, which -# is also unnecessary. -# -# N.B. different transformations are applied on systems where $(T.dll) -# is ".dylib" and none of the following docs apply on such systems. +# The symlinks are not added on platforms where $(T.dll) is ".dll", +# and different transformations take place on platforms where $(T.dll) +# is ".dylib". # # The link named libsqlite3.so.0 is provided in an attempt to reduce # downstream disruption when performing upgrades from pre-3.48 to a @@ -1475,8 +1473,10 @@ install-so-1: $(install-dir.lib) $(libsqlite3.SO) $(INSTALL) $(libsqlite3.SO).a "$(install-dir.lib)"; \ fi @echo "Setting up $(libsqlite3.SO) version symlinks..."; \ - cd "$(install-dir.lib)" || exit $$?; \ - if [ x.dylib = x$(T.dll) ]; then \ + if [ x.dll = x$(T.dll) ]; then \ + echo "No library symlinks needed on this platform"; \ + elif [ x.dylib = x$(T.dll) ]; then \ + cd "$(install-dir.lib)" || exit $$?; \ rm -f libsqlite3.0$(T.dll) libsqlite3.$(PACKAGE_VERSION)$(T.dll) || exit $$?; \ dllname=libsqlite3.$(PACKAGE_VERSION)$(T.dll); \ mv $(libsqlite3.SO) $$dllname || exit $$?; \ @@ -1484,6 +1484,7 @@ install-so-1: $(install-dir.lib) $(libsqlite3.SO) ln -s $$dllname libsqlite3.0$(T.dll) || exit $$?; \ ls -la $$dllname $(libsqlite3.SO) libsqlite3.0$(T.dll); \ else \ + cd "$(install-dir.lib)" || exit $$?; \ rm -f $(libsqlite3.SO).0 $(libsqlite3.SO).$(PACKAGE_VERSION) || exit $$?; \ mv $(libsqlite3.SO) $(libsqlite3.SO).$(PACKAGE_VERSION) || exit $$?; \ ln -s $(libsqlite3.SO).$(PACKAGE_VERSION) $(libsqlite3.SO) || exit $$?; \ diff --git a/manifest b/manifest index 2e61348c4c..0c15714bd3 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C A\scleaner\sworkaround\sfor\s[6a21d6a2]. -D 2025-02-15T14:13:35.291 +C DLL\sinstallation\srules\sno\slonger\screate\sversioned\ssymlinks\son\splatforms\swhere\sthe\sDLL\sextension\sis\s'.dll'\s(cygwin,\smsys2,\setc.),\sas\ssuggested\sin\s[forum:28bb79638844c328|forum\spost\s28bb79638844c328]. +D 2025-02-15T16:24:52.713 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d @@ -16,7 +16,7 @@ F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2 F art/sqlite370.svg 40b7e2fe8aac3add5d56dd86ab8d427a4eca5bcb3fe4f8946cb3794e1821d531 F auto.def eddf6aef976e2c1a56c0accc3244945e0b22ec6799074c40be160e5a9a5662b0 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac -F autoconf/Makefile.in 0c71fcc6b2bd1703799a8e5b8f137ba64aad9bdee43c3cc23598cd0d6ce95715 +F autoconf/Makefile.in 40106236dd97053cbeed7f47880375fb402c89f6dc7b8effe363c791f8ef3ca3 F autoconf/Makefile.msc 0a071367537dc395285a5d624ac4f99f3a387b27cc5e89752423c0499e15aec4 F autoconf/README.first f1d3876e9a7852c22f275a6f06814e64934cecbc0b5b9617d64849094c1fd136 F autoconf/README.txt 7f01dc3915e2d68f329011073662369e62a0938a2c69398807823c57591cb288 @@ -702,7 +702,7 @@ F ext/wasm/tests/opfs/concurrency/test.js d08889a5bb6e61937d0b8cbb78c9efbefbf65a F ext/wasm/tests/opfs/concurrency/worker.js 0a8c1a3e6ebb38aabbee24f122693f1fb29d599948915c76906681bb7da1d3d2 F ext/wasm/wasmfs.make 68999f5bd8c489239592d59a420f8c627c99169bbd6fa16a404751f757b9f702 F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0 -F main.mk 46b638c7639e1be0b1bcb4cbf6c87b88a3b30cc6092cb393c130bc2a5b464c72 +F main.mk 2565d78bf8a8eeea4d6f57d8fa4294983f73fc8b8866fcb706742172b542fdd9 F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504 F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421 @@ -2209,9 +2209,9 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P adf042fba614e1fbe694cf111b7c8f5408eb64031b799870495748c51c7d458c -Q +334ed723d0fc0b202f79a9746459181f637ca99c54864a4aa11629eecb4b8d0c -R 4237d77fc38e973d11e33188aecfedaf +P 467804412230450c63ec47e8f903e58dce971a4752c242c3fa6b1249e535d2ac +Q +d743410665df8ba962db6e1f245d929b005d0add77be95af3c3c7f87a1c758fb +R 0f8ef3938c3ebaf76f4692ee90d5a839 U stephan -Z ab0e4cdf9606a351803bd0412a5cf86c +Z d230e95005f5cf3684b9f3a7df0fb526 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 4c1cc8d6e5..ef16286767 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -467804412230450c63ec47e8f903e58dce971a4752c242c3fa6b1249e535d2ac +d94ad545776ad5cdbd637c1532e0be5f0364eee31484ede97ec4173b2b76f781