From: stephan Date: Sat, 15 Feb 2025 16:12:28 +0000 (+0000) Subject: DLL installation rules no longer create versioned symlinks on platforms where the... X-Git-Tag: major-release~280 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=984f699ccb04322a5edee5f9ebda7131e2493558;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: d743410665df8ba962db6e1f245d929b005d0add77be95af3c3c7f87a1c758fb --- 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 a63fa2a814..00e519d216 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. # @@ -1427,19 +1427,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 @@ -1481,8 +1479,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 $$?; \ @@ -1490,6 +1490,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 60ccc5f65f..9f60cfd2ce 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C A\scleaner\sworkaround\sfor\s[6a21d6a2],\sprovided\sby\sautosetup's\screator. -D 2025-02-15T14:12:24.766 +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:12:28.303 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 4f09fead3bf7de337242896f107c5d03cd8f7b39754315ab091a2e4d02892c40 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 a127ee141eb7db341d0c949a743a45d1b068b31ac3f1f09cf3b2870b2f18739f +F main.mk 840f0b3ac055a026930e52eb9d6300753e91ddd9fcbafe30395201908ad35e61 F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504 F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421 @@ -2207,8 +2207,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 01b9ed73ca6e72411dcf5a81f445c15c5bc42fa068fc7eca485ac72635b9d2fc -R 4a76560a1c5bc38f5777d5f7ba110253 +P 334ed723d0fc0b202f79a9746459181f637ca99c54864a4aa11629eecb4b8d0c +R 09a6356f5a88db966518edd4cb1e0940 U stephan -Z 15f10168d95dbdd3c940ff559a29ad5c +Z b289b7542f84beb5087c6c73ca65d385 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index db6cfe8045..5f6eb79423 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -334ed723d0fc0b202f79a9746459181f637ca99c54864a4aa11629eecb4b8d0c +d743410665df8ba962db6e1f245d929b005d0add77be95af3c3c7f87a1c758fb