diff --git a/auto.def b/auto.def index 4871a98229..656ff53b4f 100644 --- a/auto.def +++ b/auto.def @@ -235,7 +235,7 @@ msg-result "Source dir = $srcdir" msg-result "Build dir = $::autosetup(builddir)" msg-result "Configuring SQLite version $PACKAGE_VERSION" -if {1} { +apply {{} { # # SQLITE_AUTORECONFIG contains make target rules for re-running the # configure script with the same arguments it was initially invoked @@ -248,13 +248,13 @@ if {1} { if {[string match {*[ &;$*"]*} $arg]} { return '$arg' } return $arg } - define-append SQLITE_AUTORECONFIG cd [squote $::autosetup(builddir)] && [squote $srcdir/configure] + define-append SQLITE_AUTORECONFIG cd [squote $::autosetup(builddir)] && [squote $::srcdir/configure] #{*}$::autosetup(argv) breaks with --flag='val with spaces', so... foreach arg $::autosetup(argv) { define-append SQLITE_AUTORECONFIG [squote $arg] } rename squote "" -} +}} # Are we cross-compiling? set isCrossCompiling [proj-is-cross-compiling] @@ -322,10 +322,20 @@ if {"" eq [proj-bin-define install]} { define CFLAGS [proj-get-env CFLAGS {-g -O2}] define BUILD_CFLAGS [proj-get-env BUILD_CFLAGS {-g}] +proj-if-opt-truthy dev { + # --enable-dev needs to come early so that the downstream tests + # which check for these flags will show the user their updated + # state. + proj-opt-set all 1 + proj-opt-set with-debug 1 + proj-opt-set amalgamation 0 + define CFLAGS [get-env CFLAGS {-O0 -g}] +} + ######################################################################## # Handle --with-wasi-sdk=DIR # -# This MUST be run early on because it may change the toolchain and +# This must be run early on because it may change the toolchain and # disable a number of config options. proc sqlite-check-wasi-sdk {} { set wasiSdkDir [opt-val with-wasi-sdk] ; # ??? [lindex [opt-val with-wasi-sdk] end] @@ -343,7 +353,7 @@ proc sqlite-check-wasi-sdk {} { # Disable numerous options which we know either can't work or are # not useful in this build... msg-result "Using wasi-sdk clang. Disabling CLI shell modifying config flags:" - # Boolean flags which must be switched off: + # Boolean (--enable-/--disable-) flags which must be switched off: foreach opt { editline gcov @@ -447,7 +457,7 @@ proj-check-rpath ; # Determine proper rpath-handling flag # # See discussion in/around: # https://sqlite.org/forum/forumpost/0c6fc6f46b2cb3 -proc sqlite-check-soname {} { +apply {{} { define LDFLAGS_SONAME_LIBSQLITE3 "" if {[proj-opt-was-provided soname]} { set soname [opt-val soname] @@ -469,19 +479,8 @@ proc sqlite-check-soname {} { } else { proj-fatal "This environment does not support SONAME." } - return sqlite-check-soname "" -} -sqlite-check-soname +}} -proj-if-opt-truthy dev { - # --enable-dev needs to come early so that the downstream tests - # which check for these flags will show the user their updated - # state. - proj-opt-set all 1 - proj-opt-set with-debug 1 - proj-opt-set amalgamation 0 - define CFLAGS [get-env CFLAGS {-O0 -g}] -} proj-define-for-opt shared ENABLE_SHARED "Build shared library?" @@ -718,7 +717,6 @@ proc sqlite-check-tcl {} { } } }; # sqlite-check-tcl - sqlite-check-tcl ######################################################################## @@ -1218,9 +1216,9 @@ proc sqlite-check-icu {} { sqlite-check-icu ######################################################################## -# Emscripten SDK for building the web-based wasm components. -# -proc sqlite-check-emsdk {} { +# Check for the Emscripten SDK for building the web-based wasm +# components. +apply {{} { set emccsh $::srcdir/tool/emcc.sh if {![get-define HAVE_WASI_SDK] && [proj-check-emsdk]} { define EMCC_WRAPPER $emccsh @@ -1230,8 +1228,7 @@ proc sqlite-check-emsdk {} { define EMCC_WRAPPER "" file delete -force $emccsh } -} -sqlite-check-emsdk +}} ######################################################################## # Check for log(3) in libm and die with an error if it is not @@ -1254,6 +1251,7 @@ proc affirm-have-math {featureName} { msg-result "Feature flags..." foreach {boolFlag featureFlag ifSetEvalThis} { all {} { + # The 'all' option must be first in this list. proj-opt-set fts4 proj-opt-set fts5 proj-opt-set geopoly @@ -1306,7 +1304,7 @@ foreach {boolFlag featureFlag} { ######################################################################### # Show the final feature flag sets: -if {1} { +apply {{} { set oFF [get-define OPT_FEATURE_FLAGS] if {"" ne $oFF} { define OPT_FEATURE_FLAGS [lsort -unique $oFF] @@ -1318,7 +1316,7 @@ if {1} { msg-result "Shell options: [get-define OPT_SHELL]" } unset oFF -} +}} ######################################################################## # "Re-export" the autoconf-conventional --XYZdir flags into something @@ -1337,20 +1335,13 @@ proj-remap-autoconf-dir-vars # Potential TODO (unclear): in sqlite3.pc.in, do we need to include # any CFLAGS_READLINE, CFLAGS_ZLIB, etc in its "Cflags:" section? proj-make-from-dot-in -touch Makefile sqlite3.pc -if {0} { - # Requires a hand-written sqlite_cfg.h.in... - proj-make-from-dot-in sqlite_cfg.h - # vs... -} else { - # Requires no input template... - make-config-header sqlite_cfg.h \ - -bare {SIZEOF_* HAVE_DECL_*} \ - -none {HAVE_CFLAG_* LDFLAGS_* SH_* SQLITE_AUTORECONFIG - TARGET_* USE_GCOV TCL_*} \ - -auto {HAVE_* PACKAGE_*} \ - -none * - proj-touch sqlite_cfg.h ; # help avoid frequent unnecessary @SQLITE_AUTORECONFIG@ -} +make-config-header sqlite_cfg.h \ + -bare {SIZEOF_* HAVE_DECL_*} \ + -none {HAVE_CFLAG_* LDFLAGS_* SH_* SQLITE_AUTORECONFIG + TARGET_* USE_GCOV TCL_*} \ + -auto {HAVE_* PACKAGE_*} \ + -none * +proj-touch sqlite_cfg.h ; # help avoid frequent unnecessary @SQLITE_AUTORECONFIG@ ######################################################################## # Some build-dev/debug-only output diff --git a/manifest b/manifest index e30f66e03f..09e0189083 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C buildtclext.tcl:\swork\saround\sa\scase,\sreported\sin\s[forum:0683a49cb02f31a1|forum\spost\s0683a49cb0],\sin\swhich\spackage\smaintainers\sedit\stheir\scopy\sof\stclConfig.sh\sto\schange\sthe\sTCL_SHLIB_LD\scommand. -D 2024-11-15T15:31:13.141 +C Generic\sauto.def\scleanups.\sNo\sfunctional\sdifferences. +D 2024-11-15T16:35:24.257 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d @@ -13,7 +13,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 538d9a162a8fe4811c0a4a22a2a07df40ea4c334f683b94231bfc2a18f14b913 +F auto.def a0f92f2d7762735da5f5728ffbcf44052d8b485b207ec87d13703b681dd7820f F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903 F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac @@ -2198,8 +2198,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 3e5b8077c6c6ce72ecab3110eb45943b9765372df789088982dbd6046a7c2523 -R 94ae9c25b190024c5b115d0e3a9b04f4 +P e24a3efec8c168b69d665ab20e8d715210208e6cf291ac93549fdd175a9009d6 +R c10328ada1a32fcd8e3a4906d06b0161 U stephan -Z 33e57c416f120305271764524e72e9c6 +Z 9ca9b894bda23cfd0311c07f841cb8fa # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index afec1a488e..2f7809ee3d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e24a3efec8c168b69d665ab20e8d715210208e6cf291ac93549fdd175a9009d6 +02aceb8c138b5b8f38c75aa0792efa12f14b002083df6141cf56ea0602d3174b