]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Account for the Mac-specific -instal_name linker flag, which is apparently needed...
authorstephan <stephan@noemail.net>
Fri, 4 Apr 2025 20:50:00 +0000 (20:50 +0000)
committerstephan <stephan@noemail.net>
Fri, 4 Apr 2025 20:50:00 +0000 (20:50 +0000)
FossilOrigin-Name: 4947c1c78298253a51939adf6cf70ee233075db6d60cd7a183a4162c926e667c

Makefile.in
autoconf/Makefile.in
autosetup/sqlite-config.tcl
manifest
manifest.uuid

index 9f33492b2d0d34b5aa9ca32e594ee4603d549287..57728b04980690da92170b3be0e84841639a2f58 100644 (file)
@@ -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@
index 923075c8ecce24cd4c4ba682699715d9bff7755f..633bfd41e1abee5009cff1893e478d3d95d67147 100644 (file)
@@ -125,10 +125,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) \
index a9375b130f8ffad1d9c212ca796612a928c63322..8a99d774e4e0dc3a617192526a12ee8e4fbf8c99 100644 (file)
@@ -1508,6 +1508,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
@@ -1680,6 +1702,7 @@ proc sqlite-handle-env-quirks {} {
   sqlite-handle-dll-basename
   sqlite-handle-out-implib
   sqlite-handle-mac-cversion
+  sqlite-handle-mac-install-name
   if {[llength [info proc sqlite-custom-handle-flags]] > 0} {
     # sqlite-custom-handle-flags is assumed to be imported via a
     # client-specific import: autosetup/sqlite-custom.tcl.
index 5931b1dca29524ba141c925779001c3408391209..2ed7ee6944d1d2c097bd212fc3a87842baf0adb1 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,10 +1,10 @@
-C Adapt\sthe\s--all\sflag\sto\sapply\sto\sa\sdifferent\sset\sof\sfeatures,\sand\sdefault\sto\senabled,\sfor\sthe\stcl-extension\sbuild.
-D 2025-04-04T16:17:02.677
+C Account\sfor\sthe\sMac-specific\s-instal_name\slinker\sflag,\swhich\sis\sapparently\sneeded\sfor\slinking\ssome\sthird-party\scode.\sSee\s[forum:5651662b8875ec0a|forum\spost\s5651662b8875ec0a].
+D 2025-04-04T20:50:00.816
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
-F Makefile.in 6fabbdf631cae9fb53a9926130da019f8e3b8838fcc561a4a37e7f4ba5b14812
+F Makefile.in c3e414df4dc8dfb12f1f6baf129fcb6d18cd0ebd3c9109370fb3fceeeef9a37a
 F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0
 F Makefile.msc bb2cc6f75bbcb2d690fbdd1489914a2febd5e99bad9c77538cb3330d304694c6
 F README.md a953c0cffd6e4f2501a306c00ee2b6e1e6630c25031e094629307fe99dd003d1
@@ -17,7 +17,7 @@ F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2
 F art/sqlite370.svg 40b7e2fe8aac3add5d56dd86ab8d427a4eca5bcb3fe4f8946cb3794e1821d531
 F auto.def 82c32443a91c1062f7a48beec37dbb2d8d03447b1286bce8df5ebb6d8d353f8a
 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac
-F autoconf/Makefile.in 10e274d965584af947be20213e0052112ee8dec928134d20e256f5fc4c51b758
+F autoconf/Makefile.in 78ff1feb1b934b2e9d24ae50a3b4ed9e53ef368b940b9cf10f5a68956ec6de93
 F autoconf/Makefile.msc 5bc67d3912444c40c6f96d003e5c90663e51abb83d204a520110b1b2038dcd8b
 F autoconf/README.first f1d3876e9a7852c22f275a6f06814e64934cecbc0b5b9617d64849094c1fd136
 F autoconf/README.txt 1a32296d8bbdd67110c79d224c92c05545a0b5bd0c272950025fe3c7c7b49580
@@ -52,7 +52,7 @@ F autosetup/find_tclconfig.tcl e64886ffe3b982d4df42cd28ed91fe0b5940c2c5785e126c1
 F autosetup/jimsh0.c a57c16e65dcffc9c76e496757cb3f7fb47e01ecbd1631a0a5e01751fc856f049
 F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba
 F autosetup/proj.tcl ad2cf7a01c3ff3571fea1da299910c76b00484f6662f3ba7a625051117837e8e
-F autosetup/sqlite-config.tcl 4349a7b68e100137b59b9fe27da7d622185a4932b95b77c7b7922800af5920bf
+F autosetup/sqlite-config.tcl ec2aeddaf2fd4e41686d6be6f152f31b6b485cfee20d059ad5c33a1d3031d452
 F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9
 F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x
 F contrib/sqlitecon.tcl eb4c6578e08dd353263958da0dc620f8400b869a50d06e271ab0be85a51a08d3
@@ -2216,8 +2216,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 26ef0ff4bfbb4425baa26fa5c8420f5da0603c38ef651104e566c7dc85bfaa3a
-R 5ab57a421300c0c0e5e98ecd6d96713d
+P b229c8f65acf41b57afacfde712c3a8040d3bd5139bd5e30d450669658185ddd
+R aebe7336d7b841479099c5bc94312574
 U stephan
-Z 68f06e0eff70f5e6c5a65134984dc57b
+Z b888f6d0253d65e6b8f1d274ddad43d2
 # Remove this line to create a well-formed Fossil manifest.
index b17172fa7d330b25444fbc8c2298fcbcf489ed09..7ebac3dac4b41d9ec65f16d835e6360751c1114b 100644 (file)
@@ -1 +1 @@
-b229c8f65acf41b57afacfde712c3a8040d3bd5139bd5e30d450669658185ddd
+4947c1c78298253a51939adf6cf70ee233075db6d60cd7a183a4162c926e667c