-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
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
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
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.
-9f0a16f6e893d51f760a8c1e2cb4709fdd16ccb2c0258695767f8305f407f4ac
+db6b6240ad465f865dd2ca8fa0cdfba8b5315c45041b91b76efade6427c213e1
#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
# 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
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.
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"