Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | 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. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
bafab4ee5545c6cf6eafc5e352a7f25d |
User & Date: | stephan 2025-03-22 16:14:34.864 |
Context
2025-03-22
| ||
17:00 | Teach mkautoconfamal.sh to avoid copying autosetup/local.tcl and autosetup/*.auto except for autosetup/lib/CURRENT-BRANCH-NAME.auto (if any), the intent being to use lib/CURRENT-BRANCH-NAME.auto for branch-specific configuration customizations. (check-in: dfe24f13c4 user: stephan tags: trunk) | |
16:14 | 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. (check-in: bafab4ee55 user: stephan tags: trunk) | |
12:43 | Configure script internal cleanups and re-orgs. No functional changes. (check-in: f619e40fb0 user: stephan tags: trunk) | |
Changes
Changes to autosetup/sqlite-config.tcl.
︙ | ︙ | |||
176 177 178 179 180 181 182 183 184 185 186 187 188 189 | # Library-level features and defaults lib-features { {*} { threadsafe=1 => {Disable mutexing} with-tempstore:=no => {Use an in-RAM database for temporary tables: never,no,yes,always} load-extension=1 => {Disable loading of external extensions} math=1 => {Disable math functions} json=1 => {Disable JSON functions} memsys5 => {Enable MEMSYS5} memsys3 => {Enable MEMSYS3} fts3 => {Enable the FTS3 extension} fts4 => {Enable the FTS4 extension} fts5 => {Enable the FTS5 extension} | > > | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | # Library-level features and defaults lib-features { {*} { threadsafe=1 => {Disable mutexing} with-tempstore:=no => {Use an in-RAM database for temporary tables: never,no,yes,always} 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} json=1 => {Disable JSON functions} memsys5 => {Enable MEMSYS5} memsys3 => {Enable MEMSYS3} fts3 => {Enable the FTS3 extension} fts4 => {Enable the FTS4 extension} fts5 => {Enable the FTS5 extension} |
︙ | ︙ | |||
303 304 305 306 307 308 309 | If not provided, "libsqlite3" is usually assumed but on some platforms a platform-dependent default is used. On some platforms this flag gets automatically enabled if it is not provided. Use "default" to explicitly disable platform-dependent activation on such systems.} # out-implib: https://sqlite.org/forum/forumpost/0c7fc097b2 out-implib:=auto => {Enable use of --out-implib linker flag to generate an | | | | | 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | If not provided, "libsqlite3" is usually assumed but on some platforms a platform-dependent default is used. On some platforms this flag gets automatically enabled if it is not provided. Use "default" to explicitly disable platform-dependent activation on such systems.} # out-implib: https://sqlite.org/forum/forumpost/0c7fc097b2 out-implib:=auto => {Enable use of --out-implib linker flag to generate an "import library" for the DLL. The output's base name is specified by this flag's value, with "auto" meaning to figure out a name automatically. On some platforms this flag gets automatically enabled if it is not provided. Use "none" to explicitly disable this feature on such platforms.} } } # Options mostly for sqlite's own development developer { |
︙ | ︙ | |||
349 350 351 352 353 354 355 | } {*} { dump-defines=0 => {Dump autosetup defines to $::sqliteConfig(dump-defines-txt) (for build debugging)} } } | | > > > > > > > > > > > | | 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | } {*} { dump-defines=0 => {Dump autosetup defines to $::sqliteConfig(dump-defines-txt) (for build debugging)} } } }; # $allFlags 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 {} foreach {group XY} [subst -nobackslashes -nocommands \ [proj-strip-hash-comments $allFlags]] { foreach {X Y} $XY { if { $buildMode in $X || "*" in $X } { foreach y $Y { lappend opts $y |
︙ | ︙ | |||
1349 1350 1351 1352 1353 1354 1355 | } } } } if {$found} { msg-result "Loadable extension support enabled." } else { | | | 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 | } } } } if {$found} { msg-result "Loadable extension support enabled." } else { msg-result "Disabling loadable extension support. Use --enable-load-extension to enable them." sqlite-add-feature-flag {-DSQLITE_OMIT_LOAD_EXTENSION=1} } return $found } ######################################################################## # Handles the --enable-math flag. |
︙ | ︙ | |||
1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 | }] proj-opt-set dll-basename auto } } sqlite-handle-dll-basename sqlite-handle-out-implib sqlite-handle-mac-cversion } ######################################################################## # Perform some late-stage work and generate the configure-process # output file(s). proc sqlite-process-dot-in-files {} { ######################################################################## | > > > > > > | 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 | }] proj-opt-set dll-basename auto } } sqlite-handle-dll-basename sqlite-handle-out-implib 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 } } ######################################################################## # Perform some late-stage work and generate the configure-process # output file(s). proc sqlite-process-dot-in-files {} { ######################################################################## |
︙ | ︙ |