From: stephan Date: Thu, 28 Aug 2025 17:05:37 +0000 (+0000) Subject: Add macros SQLITE_SCM_BRANCH/TAGS/DATETIME to sqlite3.h, pulled from the fossil-gener... X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8200750eb1b95ed00d1952f1cdb11b27d058c5dd;p=thirdparty%2Fsqlite.git Add macros SQLITE_SCM_BRANCH/TAGS/DATETIME to sqlite3.h, pulled from the fossil-generated manifest.tags. FossilOrigin-Name: db6b6240ad465f865dd2ca8fa0cdfba8b5315c45041b91b76efade6427c213e1 --- diff --git a/manifest b/manifest index de6c0f5280..20e5e893d9 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Remove\ssqlite3expert.h\sfrom\sthe\scompiler\sinvocation\sfor\sthat\stool,\sas\sit\s(A)\sdoesn't\sneed\sto\sbe\sthere\sand\s(B)\sit\scauses\ssome\scompilers\sproblems\s(as\sreported\sin\s[forum:a1085109e7db4cf3\s|\sforum\spost\sa1085109e7]).\sThis\sbug\swas\sfaithfully\scarried\sover\sfrom\sthe\slegacy\sbuild. -D 2025-08-28T15:04:52.123 +C Add\smacros\sSQLITE_SCM_BRANCH/TAGS/DATETIME\sto\ssqlite3.h,\spulled\sfrom\sthe\sfossil-generated\smanifest.tags. +D 2025-08-28T17:05:37.765 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -743,7 +743,7 @@ F src/resolve.c f8d1d011aba0964ff1bdccd049d4d2c2fec217efd90d202a4bb775e926b2c25d F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 F src/select.c b95181711d59c36d9789e67f76c4cfec64b99f9629a50be5e6566e117b87d957 F src/shell.c.in 51c8452b3e6b9a0dfa3df853dd16f147e5e4ae2002deb775cf8a2fccf01c3c6c -F src/sqlite.h.in ebfc0358de0e18aabee7fa918f2f846894e23bebc74160fbe265c99046ee61b8 +F src/sqlite.h.in d70f7a24ce74e28138b2eb26cfa4de6739f7ddd626678a9fdcf9f2c3d9c73184 F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479 F src/sqlite3ext.h 0bfd049bb2088cc44c2ad54f2079d1c6e43091a4e1ce8868779b75f6c1484f1e F src/sqliteInt.h 27c73e48878d31ef230ba867d1f8c3af6aed357fd93ccc605d3f1aae007ea62b @@ -2127,7 +2127,7 @@ F tool/mkshellc.tcl bab0a72a68384181a5706712dfdf6815f6526446d4e8aacace2de5e80cda F tool/mksourceid.c 36aa8020014aed0836fd13c51d6dc9219b0df1761d6b5f58ff5b616211b079b9 F tool/mksqlite3c-noext.tcl 351c55256213154cabb051a3c870ef9f4487de905015141ae50dc7578a901b84 F tool/mksqlite3c.tcl f11b63445c4840509248bd4aa151a81aea25d5415fef71943c8d436eba4f3b3c -F tool/mksqlite3h.tcl 989948c6a26e188e673d7c2f2f093ea3acd816ad6ac65bab596280075c8f3a45 +F tool/mksqlite3h.tcl 0534cef83dbe0e57be4f9ad6046ba017570a511cf230a087b12e68f1debaa31b F tool/mksqlite3internalh.tcl 46ef6ed6ccd3c36e23051109dd25085d8edef3887635cea25afa81c4adf4d4db F tool/mksrczip.tcl 81efd9974dbb36005383f2cd655520057a2ae5aa85ac2441a80c7c28f803ac52 F tool/mktoolzip.tcl c9f388b2b0751982aef29a0c1d80f7959dbe38065ebb4421c39844e92622b086 @@ -2171,8 +2171,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 6bf54bbc4d503e8ebeb804dfb318383770e85d434dacbbbd8f6dadc7595b1856 -R 905e8c152c3222011372dd2a87fab2fc +P 9f0a16f6e893d51f760a8c1e2cb4709fdd16ccb2c0258695767f8305f407f4ac +R 42bd2b0af056d03dddff1d16602c1c6c U stephan -Z 77f17eb3321ce5aa5d622e6b5493bd5d +Z 8ff1ad4d1f602036a79d7e8df971db32 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 431059d882..0fc6ec8167 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -9f0a16f6e893d51f760a8c1e2cb4709fdd16ccb2c0258695767f8305f407f4ac +db6b6240ad465f865dd2ca8fa0cdfba8b5315c45041b91b76efade6427c213e1 diff --git a/src/sqlite.h.in b/src/sqlite.h.in index 99e5dc14b6..11fd1d9a9b 100644 --- a/src/sqlite.h.in +++ b/src/sqlite.h.in @@ -149,6 +149,9 @@ extern "C" { #define SQLITE_VERSION "--VERS--" #define SQLITE_VERSION_NUMBER --VERSION-NUMBER-- #define SQLITE_SOURCE_ID "--SOURCE-ID--" +#define SQLITE_SCM_BRANCH "--SCM-BRANCH--" +#define SQLITE_SCM_TAGS "--SCM-TAGS--" +#define SQLITE_SCM_DATETIME "--SCM-DATETIME--" /* ** CAPI3REF: Run-Time Library Version Numbers diff --git a/tool/mksqlite3h.tcl b/tool/mksqlite3h.tcl index 6bbfa8c8bc..e7cf3eb34d 100644 --- a/tool/mksqlite3h.tcl +++ b/tool/mksqlite3h.tcl @@ -79,6 +79,13 @@ set nVersion [eval format "%d%03d%03d" [split $zVersion .]] # Get the source-id # +proc file-content {fn} { + set fd [open $fn rb] + set rv [string trim [read $fd]] + close $fd + return $rv +} + set PWD [pwd] cd $TOP set tmpfile $PWD/tmp-[clock millisec]-[expr {int(rand()*100000000000)}].txt @@ -89,10 +96,32 @@ if {![file exists $mksourceid] && [file exists ${mksourceid}.exe]} { set mksourceid ${mksourceid}.exe } exec $mksourceid manifest > $tmpfile -set fd [open $tmpfile rb] -set zSourceId [string trim [read $fd]] -close $fd +set zSourceId [file-content $tmpfile] file delete -force $tmpfile + +# Collect SQLITE_SCM_TAGS and SQLITE_SCM_DATETIME +set zVerTime [lindex [lindex [split [file-content manifest] "\n"] 1] 1]Z; # D-card +if {![file exists manifest.tags]} { + puts stderr "WARNING: building sqlite3.h without manifest.tags, which is generated by the SCM." + puts stderr "This means that we cannot record the tag/branch info. We will continue with " + puts stderr "a placeholder value. To remedy this, run the following command:\n" + puts stderr " fossil set manifest urt\n" + set zSourceId [string range $zSourceId 1 end-13]-experimental; # Keep SHA3 hash length + set zBranch "unknown" + set zTags "unknown" +} else { + # Read the list of tags from manifest.test + #set zTags [lindex [file-content manifest.tags] 1]; # just the branch name + set content [file-content manifest.tags]; +# puts "content=$content"; exit 1 + set zTags {} + foreach {x tag} [lassign $content - zBranch] { + if {$tag eq $zBranch} continue + lappend zTags $tag + } +} +#puts "zTags=$zTags zSourceId=$zSourceId;"; exit 1 + cd $PWD # Set up patterns for recognizing API declarations. @@ -157,6 +186,9 @@ foreach file $filelist { regsub -- --VERS-- $line $zVersion line regsub -- --VERSION-NUMBER-- $line $nVersion line regsub -- --SOURCE-ID-- $line "$zSourceId" line + regsub -- --SCM-BRANCH-- $line "$zBranch" line + regsub -- --SCM-TAGS-- $line "$zTags" line + regsub -- --SCM-DATETIME-- $line "$zVerTime" line if {[regexp $varpattern $line] && ![regexp {^ *typedef} $line]} { set line "SQLITE_API $line"