0
0
mirror of https://github.com/sqlite/sqlite.git synced 2024-11-21 19:29:09 +01:00

Improve common feature flag handling a bit.

FossilOrigin-Name: 8716c35eaa168677a10de7b4aa55d35c54035f5e685cc1a5890b940a41cc6ff7
This commit is contained in:
stephan 2024-09-25 14:58:09 +00:00
parent 13aea08683
commit 2615879760
4 changed files with 33 additions and 56 deletions

View File

@ -15,6 +15,10 @@
#
TOP = @abs_top_srcdir@
# Just testing expansions...
# LDFLAGS_ZLIB = @LDFLAGS_ZLIB@
# LDFLAGS_MATH = @LDFLAGS_MATH@
# C Compiler and options for use in building executables that
# will run on the platform that is doing the build.
#

View File

@ -434,22 +434,11 @@ if {0} {
# XXX fi
# XXX AC_SUBST BUILD_CC
hwaci-if-opt-truthy all {
hwaci-opt-set fts4
hwaci-opt-set fts5
hwaci-opt-set geopoly
hwaci-opt-set rtree
hwaci-opt-set session
}
#{
# hwaci-if-opt-truthy geopoly {}
#}
##########
# Do we want to support multithreaded use of sqlite
#
msg-checking "Checking whether to support threadsafe operation... "
msg-checking "Support threadsafe operation? "
hwaci-if-opt-truthy threadsafe {
msg-result yes
add-feature-flag -DSQLITE_THREADSAFE=1
@ -734,38 +723,6 @@ if {0} {
# XXX fi
}
if {0} {
#########
# See whether we should enable Full Text Search extensions
if {[opt-bool fts3]} {
}
msg-checking "Checking whether to support FTS3..."
# XXX if test "${enable_fts3}" = "yes" ; then
# XXX OPT_FEATURE_FLAGS="${OPT_FEATURE_FLAGS} -DSQLITE_ENABLE_FTS3"
msg-result "yes"
# XXX else
msg-result "no"
# XXX fi
if {[opt-bool fts4]} {
}
msg-checking "Checking whether to support FTS4..."
# XXX if test "${enable_fts4}" = "yes" -o "${enable_all}" = "yes" ; then
msg-result "yes"
# XXX OPT_FEATURE_FLAGS="${OPT_FEATURE_FLAGS} -DSQLITE_ENABLE_FTS4"
cc-check-function-in-lib log m
# XXX else
msg-result "no"
# XXX fi
if {[opt-bool fts5]} {
}
msg-checking "Checking whether to support FTS5..."
# XXX if test "${enable_fts5}" = "yes" -o "${enable_all}" = "yes" ; then
msg-result "yes"
# XXX OPT_FEATURE_FLAGS="${OPT_FEATURE_FLAGS} -DSQLITE_ENABLE_FTS5"
cc-check-function-in-lib log m
msg-result "no"
}
if {0} {
# is this still relevant?
@ -826,16 +783,29 @@ hwaci-if-opt-truthy gcov {
msg-result no
}
proc affirm-have-math {} {
if {![cc-check-function-in-lib log m]} {
user-error "Missing required math APIs"
}
define LDFLAGS_MATH [get-define lib_log ""]
}
########################################################################
# Handle various SQLITE_ENABLE_... feature flags.
foreach {boolFlag featureFlag ifSetEvalThis} {
fts4 -DSQLITE_ENABLE_FTS4 {cc-check-function-in-lib log m}
fts5 -DSQLITE_ENABLE_FTS5 {cc-check-function-in-lib log m}
all {} {
hwaci-opt-set fts4
hwaci-opt-set fts5
hwaci-opt-set geopoly
hwaci-opt-set rtree
hwaci-opt-set session
}
fts4 -DSQLITE_ENABLE_FTS4 {affirm-have-math}
fts5 -DSQLITE_ENABLE_FTS5 {affirm-have-math}
geopoly -DSQLITE_ENABLE_GEOPOLY {hwaci-opt-set rtree}
rtree -DSQLITE_ENABLE_RTREE {}
session {-DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_PREUPDATE_HOOK} {}
update-limit -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT {}
memsys5 -DSQLITE_ENABLE_MEMSYS5 {}
memsys3 {} {
if {[opt-bool memsys5]} {
msg-result "NOT enabling memsys3 because memsys5 is enabled."
@ -843,6 +813,7 @@ foreach {boolFlag featureFlag ifSetEvalThis} {
add-feature-flag -DSQLITE_ENABLE_MEMSYS3
}
}
memsys5 -DSQLITE_ENABLE_MEMSYS5 {}
} {
if {[hwaci-opt-truthy $boolFlag]} {
add-feature-flag $featureFlag
@ -901,7 +872,9 @@ unset oFF
hwaci-if-opt-truthy dump-defines {
global DUMP_DEFINES_FILE
msg-result "--dump-defines is creating file: $DUMP_DEFINES_FILE"
make-config-header $DUMP_DEFINES_FILE -bare {OPT_FEATURE_FLAGS SQLITE_OS_*} -auto {*}
make-config-header $DUMP_DEFINES_FILE \
-bare {OPT_FEATURE_FLAGS SQLITE_OS_* LDFLAGS_* USE_*} \
-auto {*}
# achtung: ^^^^ whichever SQLITE_OS_foo flag which is set to 0 will
# get _undefined_ here unless it's part of the -bare set.
}

View File

@ -1,9 +1,9 @@
C Lots\sof\swork\son\sauto.def\sand\sthe\sutility\stcl\slib.\sStill\slots\smore\sto\sdo.
D 2024-09-25T14:38:46.807
C Improve\scommon\sfeature\sflag\shandling\sa\sbit.
D 2024-09-25T14:58:09.490
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F Makefile.in cc79c614f589bda2a0995851ca652f1713490dc9f79867f3ad2c82121d07cbfa
F Makefile.in 7b3bc24530c2a6580d4b3a049a3f45246118fa2098ce5dd10ab76333f02f7246
F Makefile.linux-gcc f3842a0b1efbfbb74ac0ef60e56b301836d05b4d867d014f714fa750048f1ab6
F Makefile.msc e3c4723c27464acc31da4420b808c8d2690180ba2b915897bece0a9d5d2cecf6
F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159
@ -14,7 +14,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 acffcaef405d1a93e5af1a6bfc9ad175e045f0113b896e31812294155aa729e1
F auto.def e90da95aff732435d819c840799ae95743ef1bad622e8178c79fa509a9d34b28
F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903
F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347
F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac
@ -2232,8 +2232,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 8bea45fbbf8557760e792cdfcede72afa9e25dd7b90e4ce3297efebe8d0cfb1c
R cd70ad4d06f521a1f30a01bf2a129759
P 2141527a38ca8170e79b5b5e664378f0d8464055119f5b986e5d7b1be75e919e
R 6f04bd8bd4e606869da2c4023fe473ea
U stephan
Z 9f732b0583b6db454836916ab8f6e46b
Z f4464a4d74c89ea0380cf484c98507f9
# Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
2141527a38ca8170e79b5b5e664378f0d8464055119f5b986e5d7b1be75e919e
8716c35eaa168677a10de7b4aa55d35c54035f5e685cc1a5890b940a41cc6ff7