]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Extend the set of --flags which get cleared/unset when using --with-wasi-sdk.
authorstephan <stephan@noemail.net>
Thu, 7 Nov 2024 16:59:15 +0000 (16:59 +0000)
committerstephan <stephan@noemail.net>
Thu, 7 Nov 2024 16:59:15 +0000 (16:59 +0000)
FossilOrigin-Name: 2a2419ef742c9f37c32be04d417337c1fa22503305d2df154fa38b2b69eae943

auto.def
autosetup/README.md
autosetup/proj.tcl
manifest
manifest.uuid

index 8e17e634055c0b15ea4782a8a7cdd627a1b0a9c7..bf3a99c513c3ca4119a6a805d47e6c9c4ad8808e 100644 (file)
--- a/auto.def
+++ b/auto.def
@@ -73,7 +73,7 @@ set DUMP_DEFINES_JSON ""; #./config.defines.json
 #   --disable-readline ==> boolean false
 #
 # Trying to pass --readline or --readline=1 or --readline=0 will
-# result in an "unrecognized option" error, despite the the options
+# result in an "unrecognized option" error, despite the the [options]
 # call listing the flag as "readline".
 #
 # The behavior described above can lead lead to some confusion when
@@ -91,7 +91,7 @@ set DUMP_DEFINES_JSON ""; #./config.defines.json
 #   --enable-FLAG
 #
 # Non-boolean flags, in contrast, use the names specifically given to
-# them in the 'options' invocation. e.g. "with-tcl" is the --with-tcl
+# them in the [options] invocation. e.g. "with-tcl" is the --with-tcl
 # flag. Autosetup may, however, choose to automatically alter the help
 # text, as demonstrated here:
 #
@@ -130,7 +130,7 @@ set flags {
   # </build-modes>
   # <lib-feature>
   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}
   largefile=1          => {Disable large file support}
   load-extension=1     => {Disable loading of external extensions}
   math=1               => {Disable math functions}
@@ -251,12 +251,12 @@ if {1} {
 set isCrossCompiling [proj-is-cross-compiling]
 
 define OPT_FEATURE_FLAGS {} ; # -DSQLITE_OMIT/ENABLE flags.
-define OPT_SHELL {}         ; # CFLAGS for the sqlite3 CLI app
+define OPT_SHELL {}         ; # Feature-related CFLAGS for the sqlite3 CLI app
 ########################################################################
-# Adds $args, if not empty, to OPT_FEATURE_FLAGS.
-# If the first arg is -shell then it strips that arg
-# and passes the remaining args th sqlite-add-shell-opt
-# in addition to adding them to OPT_FEATURE_FLAGS.
+# Adds $args, if not empty, to OPT_FEATURE_FLAGS.  If the first arg is
+# -shell then it strips that arg and passes the remaining args the
+# sqlite-add-shell-opt in addition to adding them to
+# OPT_FEATURE_FLAGS.
 proc sqlite-add-feature-flag {args} {
   set shell ""
   if {"-shell" eq [lindex $args 0]} {
@@ -328,23 +328,40 @@ proc sqlite-check-wasi-sdk {} {
   }
   msg-result "Checking WASI SDK directory \[$wasiSdkDir]... "
   #puts "prefix = [prefix $wasiSdkDir/bin {clang ld}]"
-  proj-affirm-files-exist -v {*}[prefix "$wasiSdkDir/bin/" {clang wasm-ld}]
+  proj-affirm-files-exist -v {*}[prefix "$wasiSdkDir/bin/" {clang wasm-ld ar}]
   define HAVE_WASI_SDK 1
   define WASI_SDK_DIR $wasiSdkDir
   # 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 and forcing:"
+  msg-result "Using wasi-sdk clang. Disabling CLI shell modifying config flags:"
+  # Boolean flags which must be switched off:
   foreach opt {
     editline
     gcov
+    icu-collations
     load-extension
     readline
     shared
     tcl
     threadsafe
   } {
-    msg-result "  --disable-$opt"
-    proj-opt-set $opt 0
+    if {[opt-bool $opt]} {
+      msg-result "  --disable-$opt"
+      proj-opt-set $opt 0
+    }
+  }
+  # Non-boolean flags which need to be cleared:
+  foreach opt {
+    with-emsdk
+    with-icu-config
+    with-icu-ldflags
+    with-linenoise
+    with-tcl
+  } {
+    if {[proj-opt-was-provided $opt]} {
+      msg-result "  removing --$opt"
+      proj-opt-set $opt ""
+    }
   }
   # Remember that we now have a discrepancy beteween
   # $::isCrossCompiling and [proj-is-cross-compiling].
@@ -410,8 +427,9 @@ if {[cc-check-includes zlib.h] && [proj-check-function-in-lib deflate z]} {
 }
 
 proj-check-rpath  ; # Determine proper rpath-handling flag
-if {0 && [proj-check-soname libsqlite3.so.3]} {
-  # It's not yet clear whether we gain anything from setting -soname
+if {[proj-check-soname libsqlite3.so.3]} {
+  # It's not yet clear whether we gain anything from setting -soname,
+  # but not having it has been a source of anxiety for some users.
   define LDFLAGS_SONAME_LIBSQLITE3 [get-define LDFLAGS_SONAME_PREFIX]libsqlite3.so.3
 } else {
   define LDFLAGS_SONAME_LIBSQLITE3 ""
@@ -768,14 +786,14 @@ proj-if-opt-truthy threadsafe {
 if {1} {
   set ts [opt-val with-tempstore no]
   set tsn 1
-  msg-checking "Use an in-ram database for temporary tables? "
+  msg-checking "Use an in-RAM database for temporary tables? "
   switch -- $ts {
     never  { set tsn 0 }
     no     { set tsn 1 }
     yes    { set tsn 2 }
     always { set tsn 3 }
     default {
-      user-error "Invalid with-tempstore value \[$ts]. Use one of: never, no, yes, always"
+      user-error "Invalid --with-tempstore value '$ts'. Use one of: never, no, yes, always"
     }
   }
   msg-result $ts
@@ -1179,8 +1197,8 @@ foreach {boolFlag featureFlag ifSetEvalThis} {
 }
 
 ########################################################################
-# Invert the above loop's logic for some explicit SQLITE_OMIT_...
-# cases. If config option $boolFlag is set, [sqlite-add-feature-flag
+# Invert the above loop's logic for some SQLITE_OMIT_...  cases. If
+# config option $boolFlag is false, [sqlite-add-feature-flag
 # $featureFlag], where $featureFlag is intended to be
 # -DSQLITE_OMIT_...
 foreach {boolFlag featureFlag} {
@@ -1196,17 +1214,19 @@ foreach {boolFlag featureFlag} {
 
 #########################################################################
 # Show the final feature flag sets:
-set oFF [get-define OPT_FEATURE_FLAGS]
-if {"" ne $oFF} {
-  define OPT_FEATURE_FLAGS [lsort -unique $oFF]
-  msg-result "Library feature flags: [get-define OPT_FEATURE_FLAGS]"
-}
-set oFF [get-define OPT_SHELL]
-if {"" ne $oFF} {
-  define OPT_SHELL [lsort -unique $oFF]
-  msg-result "Shell options: [get-define OPT_SHELL]"
+if {1} {
+  set oFF [get-define OPT_FEATURE_FLAGS]
+  if {"" ne $oFF} {
+    define OPT_FEATURE_FLAGS [lsort -unique $oFF]
+    msg-result "Library feature flags: [get-define OPT_FEATURE_FLAGS]"
+  }
+  set oFF [get-define OPT_SHELL]
+  if {"" ne $oFF} {
+    define OPT_SHELL [lsort -unique $oFF]
+    msg-result "Shell options: [get-define OPT_SHELL]"
+  }
+  unset oFF
 }
-unset oFF
 
 ########################################################################
 # "Re-export" the autoconf-conventional --XYZdir flags into something
index f80a46aad047eb5d2438a10926325416c5458cd6..1385f664fccdf0bfb48915ec8d7b52c467403917 100644 (file)
@@ -122,11 +122,12 @@ In (mostly) alphabetical order:
   The shell-specific counterpart of `sqlite-add-feature-flag`.
 
 - **`user-notice msg`**\  
-  Queues `$msg` to be sent to stderr, but not until either
-  `show-notices` is called or the next time autosetup would output
-  something. This can be used to generate warnings between a "checking
-  for..." message and its resulting "yes/no/whatever" message in such
-  a way as to not spoil the layout of such messages.
+  Queues `$msg` to be sent to stderr, but does not emit it until
+  either `show-notices` is called or the next time autosetup would
+  output something (it internally calls `show-notices`). This can be
+  used to generate warnings between a "checking for..." message and
+  its resulting "yes/no/whatever" message in such a way as to not
+  spoil the layout of such messages.
 
 <a name="tclcompat"></a>
 Ensuring TCL Compatibility
index b2c527e622fc71d950c125defc967ec8519dceb4..662ea5e8be6a2153f5aca112605deb89ab755ea2 100644 (file)
@@ -594,7 +594,8 @@ proc proj-check-compile-commands {{configFlag {}}} {
 ########################################################################
 # @proj-touch filename
 #
-# Runs the 'touch' command on one or more files, ignoring any errors.
+# Runs the 'touch' external command on one or more files, ignoring any
+# errors.
 proc proj-touch {filename} {
   catch { exec touch {*}$filename }
 }
index 902eb0341a30efd5f0ab5ec5c42316ad0f7d3bc1..ada1e9c77fe3c8c14a8cf50ea9af3080e44566e7 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Doc\stouchups\sin\sthe\sline-editing\sfeature\scheck\scode.
-D 2024-11-07T15:23:54.771
+C Extend\sthe\sset\sof\s--flags\swhich\sget\scleared/unset\swhen\susing\s--with-wasi-sdk.
+D 2024-11-07T16:59:15.970
 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 8adbbcff2808b47c6ea7e55c8303e89e9364906a73dd2ffc55f8171e74366393
+F auto.def 6fc759447a556c36ac78d426d9c243cd0e2896b25fb76965fb33d05e88e83b60
 F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903
 F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347
 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac
@@ -37,7 +37,7 @@ F autoconf/tea/win/rules.vc 94a18c3e453535459b4a643983acca52fb8756e79055bd2ad4b0
 F autoconf/tea/win/targets.vc 96a25a1fa6e9e9cfb348fd3760a5395b4ce8acafc8ed10f0412937ec200d5dbd
 F autosetup/LICENSE 41a26aebdd2cd185d1e2b210f71b7ce234496979f6b35aef2cbf6b80cbed4ce4
 F autosetup/README.autosetup a78ff8c4a3d2636a4268736672a74bf14a82f42687fcf0631a70c516075c031e
-F autosetup/README.md 8f2f1cc05913a9d1267f32eb8325f77b3ac6b45cd7d8f6149667efcd90ddbcaa
+F autosetup/README.md 839e78a356545cbf81c2924566db72508c7e92e8c0ef35a8520dd8f49743383b
 F autosetup/autosetup 9416ffdcdd6e2dbf7f6d1e5c890078518930f8af7722a950eacc28c7f151d2d6 x
 F autosetup/autosetup-config.guess dfa101c5e8220e864d5e9c72a85e87110df60260d36cb951ad0a85d6d9eaa463 x
 F autosetup/autosetup-config.sub a38fb074d0dece01cf919e9fb534a26011608aa8fa606490864295328526cd73 x
@@ -50,7 +50,7 @@ F autosetup/cc.tcl c0fcc50ca91deff8741e449ddad05bcd08268bc31177e613a6343bbd1fd3e
 F autosetup/default.auto 5cdf016de2140e50f1db190a02039dc42fb390af1dda4cc4853e3042a9ef0e82
 F autosetup/jimsh0.c d40e381ea4526a067590e7b91bd4b2efa6d4980d286f908054c647b3df4aee14
 F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba
-F autosetup/proj.tcl 5afbe391eae951567752ba8f0b4ecc05acd5a261e4417161623adda448154ad5
+F autosetup/proj.tcl 638db0bc38e0890610c8dd2dbabb80d3ddf19c9a77d4baad2f2ebf5fb74c384d
 F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9
 F autosetup/tmake.auto eaebc74ad538dfdd3c817c27eefc31930c20510c4f3a3704071f6cb0629ed71f
 F autosetup/tmake.tcl a275793ec1b6f8708179af0acef1f6f10d46c2920739743f7a8720c6d700c7a9
@@ -2200,8 +2200,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 c5389d39a90047683e80ae9081d5d10aaa95da00dfc8a133b4a1a6949a11620d
-R 54316963f5f6d26ad35729ed06088c2e
+P bb5656bdc905947df205432e108ca6724393061a27028e23bf35b4bf48505d4f
+R 8db0443b3cc341b10691e841478e8610
 U stephan
-Z e2fe9fb1c41d92d4fc9e1c534eca8ef3
+Z c32c37eb256587dabe07c86fffbf93af
 # Remove this line to create a well-formed Fossil manifest.
index a80268072a65d6fdb172417ab0944f8b6c8fc104..9984ef2f343fe34a4a10d2b30a57e7d898d18c8d 100644 (file)
@@ -1 +1 @@
-bb5656bdc905947df205432e108ca6724393061a27028e23bf35b4bf48505d4f
+2a2419ef742c9f37c32be04d417337c1fa22503305d2df154fa38b2b69eae943