From: stephan Date: Fri, 4 Apr 2025 20:58:11 +0000 (+0000) Subject: Account for the Mac-specific -install_name linker flag. See [forum:5651662b8875ec0a... X-Git-Tag: version-3.49.2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=31eb27ef8398e08986f3a7938a0909d7aedc435f;p=thirdparty%2Fsqlite.git Account for the Mac-specific -install_name linker flag. See [forum:5651662b8875ec0a|forum post 5651662b8875ec0a]. FossilOrigin-Name: 8830f86335855e0cd508830a3c53590a734e0cd618d79e3eb1546a70b883d15e --- diff --git a/Makefile.in b/Makefile.in index 7926aa84dd..60cc228e9b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -122,10 +122,13 @@ LDFLAGS.rt = @LDFLAGS_RT@ CFLAGS.icu = @CFLAGS_ICU@ LDFLAGS.libsqlite3.soname = @LDFLAGS_LIBSQLITE3_SONAME@ # soname: see https://sqlite.org/src/forumpost/5a3b44f510df8ded -LDFLAGS.libsqlite3.os-specific = @LDFLAGS_MAC_CVERSION@ @LDFLAGS_OUT_IMPLIB@ +LDFLAGS.libsqlite3.os-specific = \ + @LDFLAGS_MAC_CVERSION@ @LDFLAGS_MAC_INSTALL_NAME@ @LDFLAGS_OUT_IMPLIB@ # os-specific: see # - https://sqlite.org/forum/forumpost/9dfd5b8fd525a5d7 # - https://sqlite.org/forum/forumpost/0c7fc097b2 +# - https://sqlite.org/forum/forumpost/5651662b8875ec0a + libsqlite3.DLL.basename = @SQLITE_DLL_BASENAME@ # DLL.basename: see https://sqlite.org/forum/forumpost/828fdfe904 libsqlite3.out.implib = @SQLITE_OUT_IMPLIB@ diff --git a/autoconf/Makefile.in b/autoconf/Makefile.in index f74c71d674..2f69082409 100644 --- a/autoconf/Makefile.in +++ b/autoconf/Makefile.in @@ -127,10 +127,8 @@ OPT_FEATURE_FLAGS = @OPT_FEATURE_FLAGS@ LDFLAGS.libsqlite3.soname = @LDFLAGS_LIBSQLITE3_SONAME@ # soname: see https://sqlite.org/src/forumpost/5a3b44f510df8ded -LDFLAGS.libsqlite3.os-specific = @LDFLAGS_MAC_CVERSION@ @LDFLAGS_OUT_IMPLIB@ -# os-specific: see -# - https://sqlite.org/forum/forumpost/9dfd5b8fd525a5d7 -# - https://sqlite.org/forum/forumpost/0c7fc097b2 +LDFLAGS.libsqlite3.os-specific = \ + @LDFLAGS_MAC_CVERSION@ @LDFLAGS_MAC_INSTALL_NAME@ @LDFLAGS_OUT_IMPLIB@ LDFLAGS.libsqlite3 = \ $(LDFLAGS.rpath) $(LDFLAGS.pthread) \ diff --git a/autosetup/sqlite-config.tcl b/autosetup/sqlite-config.tcl index 73a25256b9..5dc2bb0a28 100644 --- a/autosetup/sqlite-config.tcl +++ b/autosetup/sqlite-config.tcl @@ -1370,6 +1370,28 @@ proc sqlite-handle-mac-cversion {} { return $rc } +######################################################################## +# If this is a Mac platform, check for support for +# -Wl,-install_name,... and, if it's set, define +# LDFLAGS_MAC_INSTALL_NAME to a variant of that string which is +# intended to expand at make-time, else set LDFLAGS_MAC_INSTALL_NAME +# to an empty string. +# +# https://sqlite.org/forum/forumpost/5651662b8875ec0a +proc sqlite-handle-mac-install-name {} { + define LDFLAGS_MAC_INSTALL_NAME ""; # {-Wl,-install_name,"$(install-dir.lib)/$(libsqlite3.SO)"} + set rc 0 + if {[proj-looks-like-mac]} { + cc-with {-link 1} { + if {[cc-check-flags "-Wl,-install_name,/usr/local/lib/libsqlite3.dylib"]} { + define LDFLAGS_MAC_INSTALL_NAME {-Wl,-install_name,"$(install-dir.lib)/$(libsqlite3.SO)"} + set rc 1 + } + } + } + return $rc +} + ######################################################################## # Handles the --dll-basename configure flag. [define]'s # SQLITE_DLL_BASENAME to the DLL's preferred base name (minus @@ -1538,6 +1560,7 @@ proc sqlite-handle-env-quirks {} { sqlite-handle-dll-basename sqlite-handle-out-implib sqlite-handle-mac-cversion + sqlite-handle-mac-install-name } ######################################################################## diff --git a/manifest b/manifest index 1135cfd0c5..a493b12d52 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Fixes\sfor\stwo\sproblems\swith\sthe\sgenerate_series()\stable-valued\sfunction. -D 2025-03-22T23:03:58.992 +C Account\sfor\sthe\sMac-specific\s-install_name\slinker\sflag.\sSee\s[forum:5651662b8875ec0a|forum\spost\s5651662b8875ec0a]. +D 2025-04-04T20:58:11.918 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d -F Makefile.in 4ff9b301b59c66ef9d11c8d133cc62e09173bad4abc7d5eb801e45d5527f8fe6 +F Makefile.in d588d01af5f4f1e37468cd197b5614a64fabbab7be17b75728b75388f7e34f5e F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0 F Makefile.msc a9b95ae9807e17f9b0734ebe97d68032141c3f95286bb64593cb73b206f043cf F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159 @@ -16,7 +16,7 @@ F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2 F art/sqlite370.svg 40b7e2fe8aac3add5d56dd86ab8d427a4eca5bcb3fe4f8946cb3794e1821d531 F auto.def a8c935b5c3c0b27c6a8b1b788bb47b06cc0ca3e9e92dc1b87e4b02659ba95ff6 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac -F autoconf/Makefile.in c9a7007181df2a07d08bd63c6ba395ed38705aa218789726951aabebec32ee27 +F autoconf/Makefile.in ec1157e153ecad7c40bb8149250f10ef153dfa4514b93219e1342fe7caa6a533 F autoconf/Makefile.msc 0a071367537dc395285a5d624ac4f99f3a387b27cc5e89752423c0499e15aec4 F autoconf/README.first f1d3876e9a7852c22f275a6f06814e64934cecbc0b5b9617d64849094c1fd136 F autoconf/README.txt 7f01dc3915e2d68f329011073662369e62a0938a2c69398807823c57591cb288 @@ -50,7 +50,7 @@ F autosetup/cc.tcl c0fcc50ca91deff8741e449ddad05bcd08268bc31177e613a6343bbd1fd3e F autosetup/jimsh0.c a57c16e65dcffc9c76e496757cb3f7fb47e01ecbd1631a0a5e01751fc856f049 F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba F autosetup/proj.tcl 187d82550cfa55df00e285542e88278c51876d7813d63eaffb2fc5af40566d9f -F autosetup/sqlite-config.tcl 10ce07e919c265706be406bcb0093325b4f8600caf788a0d7cc71b88fd2605ce +F autosetup/sqlite-config.tcl fb01eaa907f691b9324094a6d055a7ff93a7f76742ccae2e5c0625ed8f73fcf9 F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9 F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad @@ -2209,10 +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 1a8f763c31be5603862d20f1ee2a71bde159516bb6025fc254a43e3076e882df -Q +75e72e3b0d0d689d39e00a01dc361dd6ce2649e68d200bf501ddcf04063041b2 -Q +c113e31b818d16770bec1edc980f6833dfb27c4d74178e66a778fbb5671c3a13 -R 1b6e386a4d5b596b2722675295470f92 -U drh -Z 60650cd8db8d35368d4944a33f657402 +P f5aea14e6e20ede782500615c4378725680c235eb8f6bbfbcdb1efd4adf6112e +Q +4947c1c78298253a51939adf6cf70ee233075db6d60cd7a183a4162c926e667c +R 1d26d42f5e937a2d7a072d0a37b64906 +U stephan +Z 3fee1580315dc8ceed66f36c20fa2ed9 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 1cf0cd5901..48bc632f84 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f5aea14e6e20ede782500615c4378725680c235eb8f6bbfbcdb1efd4adf6112e +8830f86335855e0cd508830a3c53590a734e0cd618d79e3eb1546a70b883d15e