1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-06-12 04:41:58 +03:00

Add a mechanism to the configure script to allow certain client-specific builds to extend or override the configure options without having to edit sqlite-config.tcl, the goal being to reduce merge conflicts in those builds when updating sqlite-config.tcl from the canonical copy.

FossilOrigin-Name: bafab4ee5545c6cf6eafc5e352a7f25dfcbc7e58d4cc9064d05658c39de2af0d
This commit is contained in:
stephan
2025-03-22 16:14:34 +00:00
parent d877b56688
commit 515b51f635
3 changed files with 32 additions and 13 deletions

View File

@ -180,6 +180,8 @@ proc sqlite-configure {buildMode configScript} {
threadsafe=1 => {Disable mutexing} threadsafe=1 => {Disable mutexing}
with-tempstore:=no => {Use an in-RAM database for temporary tables: never,no,yes,always} with-tempstore:=no => {Use an in-RAM database for temporary tables: never,no,yes,always}
load-extension=1 => {Disable loading of external extensions} load-extension=1 => {Disable loading of external extensions}
# ^^^ one of the downstream custom builds overrides the load-extension default to 0, which
# confuses the --help text generator. https://github.com/msteveb/autosetup/issues/77
math=1 => {Disable math functions} math=1 => {Disable math functions}
json=1 => {Disable JSON functions} json=1 => {Disable JSON functions}
memsys5 => {Enable MEMSYS5} memsys5 => {Enable MEMSYS5}
@ -307,9 +309,9 @@ proc sqlite-configure {buildMode configScript} {
# out-implib: https://sqlite.org/forum/forumpost/0c7fc097b2 # out-implib: https://sqlite.org/forum/forumpost/0c7fc097b2
out-implib:=auto out-implib:=auto
=> {Enable use of --out-implib linker flag to generate an => {Enable use of --out-implib linker flag to generate an
"import library" for the DLL. The output's base name name is "import library" for the DLL. The output's base name is
specified by the value, with "auto" meaning to figure out a specified by this flag's value, with "auto" meaning to figure
name automatically. On some platforms this flag gets out a name automatically. On some platforms this flag gets
automatically enabled if it is not provided. Use "none" to automatically enabled if it is not provided. Use "none" to
explicitly disable this feature on such platforms.} explicitly disable this feature on such platforms.}
} }
@ -353,9 +355,20 @@ proc sqlite-configure {buildMode configScript} {
(for build debugging)} (for build debugging)}
} }
} }
}; # $allOpts }; # $allFlags
# Filter allOpts to create the set of [options] legal for this build set allFlags [proj-strip-hash-comments $allFlags]
# ^^^ lappend of [sqlite-custom-flags] introduces weirdness if
# we delay [proj-strip-hash-comments] until after that.
if {[llength [info proc sqlite-custom-flags]] > 0} {
# sqlite-custom-flags is assumed to be imported via a
# client-specific import: autosetup/local.tcl, autosetup/*.auto,
# or autosetup/*/*.auto.
lappend allFlags sqlite-custom-flags [sqlite-custom-flags]
}
# Filter allFlags to create the set of [options] legal for this build
set opts {} set opts {}
foreach {group XY} [subst -nobackslashes -nocommands \ foreach {group XY} [subst -nobackslashes -nocommands \
[proj-strip-hash-comments $allFlags]] { [proj-strip-hash-comments $allFlags]] {
@ -1353,7 +1366,7 @@ proc sqlite-handle-load-extension {} {
if {$found} { if {$found} {
msg-result "Loadable extension support enabled." msg-result "Loadable extension support enabled."
} else { } else {
msg-result "Disabling loadable extension support. Use --enable-load-extensions to enable them." msg-result "Disabling loadable extension support. Use --enable-load-extension to enable them."
sqlite-add-feature-flag {-DSQLITE_OMIT_LOAD_EXTENSION=1} sqlite-add-feature-flag {-DSQLITE_OMIT_LOAD_EXTENSION=1}
} }
return $found return $found
@ -1579,6 +1592,12 @@ proc sqlite-handle-env-quirks {} {
sqlite-handle-dll-basename sqlite-handle-dll-basename
sqlite-handle-out-implib sqlite-handle-out-implib
sqlite-handle-mac-cversion sqlite-handle-mac-cversion
if {[llength [info proc sqlite-handle-custom-flags]] > 0} {
# sqlite-handle-custom-flags is assumed to be imported via a
# client-specific import: autosetup/local.tcl, autosetup/*.auto,
# or autosetup/*/*.auto.
sqlite-handle-custom-flags
}
} }
######################################################################## ########################################################################

View File

@ -1,5 +1,5 @@
C Configure\sscript\sinternal\scleanups\sand\sre-orgs.\sNo\sfunctional\schanges. C Add\sa\smechanism\sto\sthe\sconfigure\sscript\sto\sallow\scertain\sclient-specific\sbuilds\sto\sextend\sor\soverride\sthe\sconfigure\soptions\swithout\shaving\sto\sedit\ssqlite-config.tcl,\sthe\sgoal\sbeing\sto\sreduce\smerge\sconflicts\sin\sthose\sbuilds\swhen\supdating\ssqlite-config.tcl\sfrom\sthe\scanonical\scopy.
D 2025-03-22T12:43:22.020 D 2025-03-22T16:14:34.864
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@ -50,7 +50,7 @@ F autosetup/cc.tcl c0fcc50ca91deff8741e449ddad05bcd08268bc31177e613a6343bbd1fd3e
F autosetup/jimsh0.c a57c16e65dcffc9c76e496757cb3f7fb47e01ecbd1631a0a5e01751fc856f049 F autosetup/jimsh0.c a57c16e65dcffc9c76e496757cb3f7fb47e01ecbd1631a0a5e01751fc856f049
F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba
F autosetup/proj.tcl 49faf960df88a374686234105def663dbfc297ab79c87686df0a0b973dd77018 F autosetup/proj.tcl 49faf960df88a374686234105def663dbfc297ab79c87686df0a0b973dd77018
F autosetup/sqlite-config.tcl 6e1dce27dfb69910bc28c3d3d4e33470fffc3c68f1d6a87799d34a2cc27f79dd F autosetup/sqlite-config.tcl c7c8dc9b864f0212bda4a1dfd30777f3757ff12d7b18adce1420c0f717c4c284
F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9 F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9
F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x
F contrib/sqlitecon.tcl eb4c6578e08dd353263958da0dc620f8400b869a50d06e271ab0be85a51a08d3 F contrib/sqlitecon.tcl eb4c6578e08dd353263958da0dc620f8400b869a50d06e271ab0be85a51a08d3
@ -2216,8 +2216,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
P 6d2e57bd34c562a9cd618c178c3f92b869bf5420907057b8d2438b16a7f91d46 P f619e40fb05d3e09dca2ad9d9bbf38c66b4b93dd3d4e7c2071db28e671ee6a9c
R 62beb2007ca701c04bb0d952df27e3be R f67c95dd2f17cb92eaf9fc59dd22ee04
U stephan U stephan
Z 0c3e870740ca71059ff9bfd7fd177692 Z 9a64dbd75b7ea845562f9902f8b1107a
# Remove this line to create a well-formed Fossil manifest. # Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
f619e40fb05d3e09dca2ad9d9bbf38c66b4b93dd3d4e7c2071db28e671ee6a9c bafab4ee5545c6cf6eafc5e352a7f25dfcbc7e58d4cc9064d05658c39de2af0d