From afb879858067f0fda250ffa0a5762e62c4d16a64 Mon Sep 17 00:00:00 2001 From: stephan Date: Fri, 1 Nov 2024 01:56:27 +0000 Subject: [PATCH] When configuring with --with-wasi-sdk, ensure that we use that SDK's 'ar' tool instead of whatever is in the PATH. When pushing/popping the define var scope for the jimsh compatility check, include more defines per consultation with autosetup's creator. FossilOrigin-Name: 2dcc465a7090811ddbc210673f37b4c3a4439c501874abefd403efe1e98f5b17 --- auto.def | 10 ++++++++-- autosetup/proj.tcl | 5 +++-- manifest | 16 ++++++++-------- manifest.uuid | 2 +- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/auto.def b/auto.def index e8c7773b4d..46a0721731 100644 --- a/auto.def +++ b/auto.def @@ -360,11 +360,12 @@ proc sqlite-check-wasi-sdk {} { # host_alias=wasm32-wasi # target=wasm32-wasi # - # Merely changing CC and LD to the wasi-sdk's is enough to get + # Merely changing CC, LD, and AR to the wasi-sdk's is enough to get # sqlite3.o building in WASM format. # define CC "${wasiSdkDir}/bin/clang" define LD "${wasiSdkDir}/bin/wasm-ld" + define AR "${wasiSdkDir}/bin/ar" #define STRIP "${wasiSdkDir}/bin/strip" return 1 }; # sqlite-check-wasi-sdk @@ -659,10 +660,15 @@ proc sqlite-determine-codegen-tcl {} { msg-result "Checking for TCL to use for code generation... " define CFLAGS_JIMSH {} set cgtcl [opt-val with-tclsh jimsh] - define-push {CC} { + set flagsToRestore {CC CFLAGS CPPFLAGS LDFLAGS LINKFLAGS LIBS CROSS} + define-push $flagsToRestore { # We have to swap CC to CC_FOR_BUILD for purposes of the various # [cc-...] tests below. Recall that --with-wasi-sdk may have # swapped out CC with one which is not appropriate for this block. + # Per consulation with autosetup's creator, doing this properly + # requires us to [define-push] the whole $flagsToRestore list + # (plus a few others which are not relevant in this tree). + foreach flag $flagsToRestore {define $flag ""} define CC [get-define CC_FOR_BUILD] if {"jimsh" ne $cgtcl} { # When --with-tclsh=X is used, use that for all TCL purposes, diff --git a/autosetup/proj.tcl b/autosetup/proj.tcl index a607a0d149..537b281dde 100644 --- a/autosetup/proj.tcl +++ b/autosetup/proj.tcl @@ -1005,8 +1005,9 @@ proc proj-redefine-cc-for-build {} { ######################################################################## # Attempts to determine whether the given linenoise header file is of -# the "antirez" or "msteveb" flavor. It returns 1 for antirez, 2 for -# msteveb, and 0 if it's neither. +# the "antirez" or "msteveb" flavor. It returns 2 for msteveb, else 1 +# (it does not validate that the header otherwise contains the +# linenoise API). proc proj-which-linenoise {dotH} { set srcHeader [proj-file-content $dotH] if {[string match *userdata* $srcHeader]} { diff --git a/manifest b/manifest index fb07f0a2c5..23504255f1 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C In\stestrunner.tcl,\sonly\sshow\sthe\sETC\son\sthe\sstatus\sline\sif\sit\swill\sfit\swithin\nthe\s80-character\sline\slimit. -D 2024-10-31T18:29:55.322 +C When\sconfiguring\swith\s--with-wasi-sdk,\sensure\sthat\swe\suse\sthat\sSDK's\s'ar'\stool\sinstead\sof\swhatever\sis\sin\sthe\sPATH.\sWhen\spushing/popping\sthe\sdefine\svar\sscope\sfor\sthe\sjimsh\scompatility\scheck,\sinclude\smore\sdefines\sper\sconsultation\swith\sautosetup's\screator. +D 2024-11-01T01:56:27.462 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md c5b4009dca54d127d2d6033c22fd9cc34f53bedb6ef12c7cbaa468381c74ab28 @@ -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 5e5bac1b983628125722a64ab8fce9ea1755c5483a078704ac27de7f99f32f2b +F auto.def 9cf971c8877aa7b999c3b3b41fe802feea49a50ea98afc0f9964cfc5cc69057b F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903 F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac @@ -49,7 +49,7 @@ F autosetup/cc.tcl 7e2fe943ae9d45cf39e9f5b05b6230df8e719415edea5af06c30eb68680bd F autosetup/default.auto 5cdf016de2140e50f1db190a02039dc42fb390af1dda4cc4853e3042a9ef0e82 F autosetup/jimsh0.c 27ea5f221359ef6c58780fc6c185aadbf8d3bee9a021331a3e5de0eba0dc6de6 F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba -F autosetup/proj.tcl b1a10140de41c4538959feec4032bc40b83d7b8f235e7b331040da87988b36e4 +F autosetup/proj.tcl 68362ca12e1a32fe73ece32b59a8e8e02a3983295f2dd82c9c4700507bade02c F autosetup/system.tcl 3a39d6e0b3bfba526fd39afe07c1d0d325e5a31925013a1ba7c671e1128e31bb F autosetup/tmake.auto eaebc74ad538dfdd3c817c27eefc31930c20510c4f3a3704071f6cb0629ed71f F autosetup/tmake.tcl a275793ec1b6f8708179af0acef1f6f10d46c2920739743f7a8720c6d700c7a9 @@ -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 207ca21bd7060a163da60b432f61ffaad8bedb6c0d59f090f9c5addb5b56d82d -R 65cc2e74cca41252a2309f0b7a90695b -U drh -Z 2c689aa6cac5108020ff6901e85b9ecd +P 45a3213d23f4691732ba2eb54d440355ce5757aad4cec8eb92f53b4bd7e7f5cd +R b36a62b0c9c5b7166714591dccfa9711 +U stephan +Z ff7715650889932fe27891a2e68d9d47 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 0e3e9259a8..536ff23a71 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -45a3213d23f4691732ba2eb54d440355ce5757aad4cec8eb92f53b4bd7e7f5cd +2dcc465a7090811ddbc210673f37b4c3a4439c501874abefd403efe1e98f5b17