]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
In order to support package builds, like OpenBSD's, which set a custom soname on...
authorstephan <stephan@noemail.net>
Fri, 22 Nov 2024 16:24:55 +0000 (16:24 +0000)
committerstephan <stephan@noemail.net>
Fri, 22 Nov 2024 16:24:55 +0000 (16:24 +0000)
FossilOrigin-Name: 9c1c1b99837efe3704778c594a65e0cd4cd0a8ec492044d3bb07f1b37a692c6a

auto.def
manifest
manifest.uuid

index c49e7b949b8c2308849ec4e75a5e64436e6af124..8fa25846110177d5b0932c6e96ad37c675f984e0 100644 (file)
--- a/auto.def
+++ b/auto.def
@@ -204,7 +204,14 @@ set flags {
   linemacros           => {Enable #line macros in the amalgamation}
   dump-defines=0       => {Dump autosetup defines to $DUMP_DEFINES_TXT (for build debugging)}
   dynlink-tools        => {Dynamically link libsqlite3 to certain tools which normally statically embed it.}
-  soname:=legacy       => {SONAME for libsqlite3.so. Must be one of: none, auto, legacy}
+  soname:=legacy       =>
+    {SONAME for libsqlite3.so. "none", or not using this flag, sets no
+     soname. "legacy" sets it to its historical value of
+     libsqlite3.so.0.  A value matching the glob "libsqlite3.*" sets
+     it to that literal value. Any other value is assumed to be a
+     suffix which gets applied to "libsqlite3.so.",
+     e.g. --soname=9.10 equates to "libsqlite3.so.9.10".
+    }
   # --soname has a long story behind it: https://sqlite.org/src/forumpost/5a3b44f510df8ded
   # </developer>
 }
@@ -475,22 +482,27 @@ proj-check-rpath  ; # Determine proper rpath-handling flag
 apply {{} {
   define LDFLAGS_LIBSQLITE3_SONAME ""
   if {[proj-opt-was-provided soname]} {
-    set soname [opt-val soname]
+    set soname [join [opt-val soname] ""]
   } else {
     set soname none; # enabling soname breaks linking for the --dynlink-tools feature
   }
   switch -exact -- $soname {
-    none   { return 0 }
-    auto   { set soname libsqlite3.so.3 }
-    legacy { set soname libsqlite3.so.0 }
+    none - "" { return 0 }
+    auto      { set soname libsqlite3.so.3 }
+    legacy    { set soname libsqlite3.so.0 }
     default {
-      proj-fatal "Invalid value for --soname. Use one of (none, auto, legacy)."
+      if {[string match libsqlite3.* $soname]} {
+        # use it as-is
+      } else {
+        # Assume it's a suffix
+        set soname "libsqlite3.so.${soname}"
+      }
     }
   }
   msg-debug "soname=$soname"
   if {[proj-check-soname $soname]} {
     define LDFLAGS_LIBSQLITE3_SONAME [get-define LDFLAGS_SONAME_PREFIX]$soname
-    msg-result "Setting SONAME: [get-define LDFLAGS_LIBSQLITE3_SONAME]"
+    msg-result "Setting SONAME using: [get-define LDFLAGS_LIBSQLITE3_SONAME]"
   } elseif {[proj-opt-was-provided soname]} {
     # --soname was explicitly requested but not available, so fail fatally
     proj-fatal "This environment does not support SONAME."
index 83f3b6f2c0cae453b7db3f6577663e6dce9dc514..927edd7b249d03c65b2bd493ccb3b8d510656ec6 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Move\shandling\sof\sthe\stempstore\sfeature\sflag\sinto\sthe\sOPT_FEATURE_FLAGS\slist\sand\sremove\sthe\sCFLAGS.libsqlite3\smakefile\svar\swhich\sexists\ssolely\sto\saccount\sfor\sthe\stempstore\sbeing\stracked\sseparately\sfrom\sthe\sother\sfeature\sflags.
-D 2024-11-22T14:18:23.840
+C In\sorder\sto\ssupport\spackage\sbuilds,\slike\sOpenBSD's,\swhich\sset\sa\scustom\ssoname\son\slibsqlite3.so,\sextend\sthe\s--soname\sconfigure\sflag\sto\sallow\sarbitrary\ssoname\svalues.
+D 2024-11-22T16:24:55.926
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@ -13,7 +13,7 @@ F art/icon-80x90.gif 65509ce3e5f86a9cd64fe7fca2d23954199f31fe44c1e09e208c80fb83d
 F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
 F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
 F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2
-F auto.def 1674fbca9580feb23fe4ecc710e39b0fbfadf6190231490424ac2b2bbde5de67
+F auto.def 62eaab1eb8bad47950bcb604f2861a498e31e7d536656de67555d83b33bc9b6e
 F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903
 F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347
 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac
@@ -2199,8 +2199,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 64add0ac706101c53e2d2877fdc0d1ccd071814cae969768d2741cee05f23c01
-R 9816c1b559fff5885cdaa7805e52b14e
+P 2df5065d118ca4abcb4f285d07819e73c5e32f7e470d30eabc7e3d999ec8d0f2
+R c80d0be5b601602377ee64fea6d1d93b
 U stephan
-Z 4bea40264480222fb7de358654df9b7c
+Z 7d4e6781a8e821513a5e1b50822d0be1
 # Remove this line to create a well-formed Fossil manifest.
index a332296066969815a7d271d3489ac18a73021c4b..b7b4e236d456369f4c0a182909edc762ae1b4d18 100644 (file)
@@ -1 +1 @@
-2df5065d118ca4abcb4f285d07819e73c5e32f7e470d30eabc7e3d999ec8d0f2
+9c1c1b99837efe3704778c594a65e0cd4cd0a8ec492044d3bb07f1b37a692c6a