From 6ac6bedc80167db7b82ff650b5728ca17a9447f7 Mon Sep 17 00:00:00 2001 From: stephan Date: Tue, 22 Oct 2024 12:56:00 +0000 Subject: [PATCH] Teach ext/wasm/GNUmakefile to use tool/emcc.sh and fix a syntax error in tool/emcc.sh.in. Work around a JimTCL incompatibility in tool/mkshellc.tcl. FossilOrigin-Name: 24e0f6ecc67615a2a8c2df08aa47a782cf692fb1a5a59246eab83c0232e78edc --- auto.def | 2 +- ext/wasm/GNUmakefile | 13 ++++--------- manifest | 18 +++++++++--------- manifest.uuid | 2 +- tool/emcc.sh.in | 2 +- tool/mkshellc.tcl | 3 ++- 6 files changed, 18 insertions(+), 22 deletions(-) diff --git a/auto.def b/auto.def index 43cfb5f753..0b1a48e934 100644 --- a/auto.def +++ b/auto.def @@ -838,7 +838,7 @@ define cross_compiling ${cross_compiling} ######################################################################## # Emscripten SDK for building the web-based wasm components. # -if {0 eq [get-define HAVE_WASI_SDK] && [hwaci-check-emsdk]} { +if {![get-define HAVE_WASI_SDK] && [hwaci-check-emsdk]} { set wrapper $srcdir/tool/emcc.sh define EMCC_WRAPPER $wrapper hwaci-make-from-dot-in $wrapper diff --git a/ext/wasm/GNUmakefile b/ext/wasm/GNUmakefile index 918f52655d..19ad759905 100644 --- a/ext/wasm/GNUmakefile +++ b/ext/wasm/GNUmakefile @@ -38,7 +38,7 @@ ######################################################################## default: all #default: quick -SHELL := $(firstword $(wildcard /usr/local/bin/bash /usr/bin/bash /bin/bash)) +SHELL := $(firstword $(shell which bash) $(wildcard /usr/local/bin/bash /usr/bin/bash /bin/bash)) ifeq (,$(SHELL)) $(error Cannot find the bash shell) endif @@ -174,14 +174,9 @@ ifeq (1,$(MAKING_CLEAN)) emcc.bin := echo emcc.version := unknown else - emcc.bin := $(shell which emcc 2>/dev/null) - ifeq (,$(emcc.bin)) - ifneq (,$(EMSDK_HOME)) - emcc.bin := $(wildcard $(EMSDK_HOME)/upstream/emscripten/emcc) - endif - ifeq (,$(emcc.bin)) - $(error Cannot find emcc in path.) - endif + emcc.bin := $(dir.tool)/emcc.sh + ifeq (,$(wildcard $(emcc.bin))) + $(error Configure script did not find emcc.) endif emcc.version := $(shell $(emcc.bin) --version | sed -n 1p | sed -e 's/^.* \([3-9][^ ]*\) .*$$/\1/;') $(info using emcc version [$(emcc.version)]) diff --git a/manifest b/manifest index fdea4ff68f..87c9f44a67 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C After\sdiscussing\s[4d4423df8d14]\swith\sSteve\sBennett,\sdo\snot\sprepend\s$prefix/bin\sto\sthe\ssearch\spath\sfor\sbinaries,\sas\sthat\spath\sis\scommonly\sused\sfor\scross-compiled\stargets\sand\swe\swant\sbinaries\swhich\swill\srun\son\sthe\sbuild\shost. -D 2024-10-22T03:56:21.378 +C Teach\sext/wasm/GNUmakefile\sto\suse\stool/emcc.sh\sand\sfix\sa\ssyntax\serror\sin\stool/emcc.sh.in.\sWork\saround\sa\sJimTCL\sincompatibility\sin\stool/mkshellc.tcl. +D 2024-10-22T12:56:00.929 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -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 8bdc3871a7acb7091841aacc7dee8131f2e529c8fdb09b939085adc846fee144 +F auto.def 2539fa219ed9689601fa1568f0ebe09de028c1916e1dcba154f2b906bbeadc63 F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903 F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac @@ -627,7 +627,7 @@ F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3 F ext/userauth/user-auth.txt ca7e9ee82ca4e1c1744295f8184dd70edfae1992865d26c64303f539eb6c084c F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c -F ext/wasm/GNUmakefile 128f8e9830dd8c50c14558649a6f13a2742e9d48223cc67485779baeebbc7391 +F ext/wasm/GNUmakefile 311aa0d5edc7006409962cc77cc26560d92f9be69c2c4302e8bbc68189fd02db F ext/wasm/README-dist.txt 6382cb9548076fca472fb3330bbdba3a55c1ea0b180ff9253f084f07ff383576 F ext/wasm/README.md a8a2962c3aebdf8d2104a9102e336c5554e78fc6072746e5daf9c61514e7d193 F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff @@ -2136,7 +2136,7 @@ F tool/custom.txt 24ed55e71c5edae0067ba159bbf09240d58b160331f7716e95816cd3aa0ba5 F tool/dbhash.c 5da0c61032d23d74f2ab84ffc5740f0e8abec94f2c45c0b4306be7eb3ae96df0 F tool/dbtotxt.c ca48d34eaca6d6b6e4bd6a7be2b72caf34475869054240244c60fa7e69a518d6 F tool/dbtotxt.md c9a57af8739957ef36d2cfad5c4b1443ff3688ed33e4901ee200c8b651f43f3c -F tool/emcc.sh.in ccd415e9784d8efdb6e29bd2289bff57d37a928122620a244fcb99f445ae276c +F tool/emcc.sh.in 5a3534af8d437747cf4141abaab3db558756f4a1ac8f3ebf28a16ffa26209921 F tool/enlargedb.c 3e8b2612b985cfa7e3e8800031ee191b43ae80de96abb5abbd5eada62651ee21 F tool/extract-sqlite3h.tcl 069ceab0cee26cba99952bfa08c0b23e35941c837acabe143f0c355d96c9e2eb x F tool/extract.c 054069d81b095fbdc189a6f5d4466e40380505e2 @@ -2165,7 +2165,7 @@ F tool/mkopcodec.tcl 33d20791e191df43209b77d37f0ff0904620b28465cca6990cf8d60da61 F tool/mkopcodeh.tcl 2b4e6967a670ef21bf53a164964c35c6163277d002a4c6f56fa231d68c88d023 F tool/mkopts.tcl 680f785fdb09729fd9ac50632413da4eadbdf9071535e3f26d03795828ab07fa F tool/mkpragmatab.tcl 32e359ccb21011958a821955254bd7a5fa7915d01a8c16fed91ffc8b40cb4adf -F tool/mkshellc.tcl b7adf08b82de60811d2cb6af05ff59fc17e5cd6f3e98743c14eaaa3f8971fed0 +F tool/mkshellc.tcl 2bc29c201933ae72a16a79070fe80aded80c24ea487ecd2f8df20c2973c87bfc F tool/mksourceid.c 36aa8020014aed0836fd13c51d6dc9219b0df1761d6b5f58ff5b616211b079b9 F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97 F tool/mksqlite3c-noext.tcl 4f7cfef5152b0c91920355cbfc1d608a4ad242cb819f1aea07f6d0274f584a7f @@ -2240,8 +2240,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 339b48af1728f6acb4c3a02f84bd432466dcc728d3d01f9728e82f3c6aedb002 -R 14a9823295475261e592b5a3cbc7b5e0 +P f2008a7d797263de25eaed60d4b6bd5c87cdb917bb92cfc8700f91e6416d744c +R 82fed5141642968aff8ff825cd13834f U stephan -Z da5168a3b869cb4b5385423bf4ef4565 +Z ede5ca6f72a35dcc638e3268758ee837 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index d6656dcfd8..a5ccc7bd34 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f2008a7d797263de25eaed60d4b6bd5c87cdb917bb92cfc8700f91e6416d744c +24e0f6ecc67615a2a8c2df08aa47a782cf692fb1a5a59246eab83c0232e78edc diff --git a/tool/emcc.sh.in b/tool/emcc.sh.in index 3edc65fb42..fb849545f8 100644 --- a/tool/emcc.sh.in +++ b/tool/emcc.sh.in @@ -16,7 +16,7 @@ EMSDK_HOME="@EMSDK_HOME@" EMSDK_ENV="@EMSDK_ENV@" emcc="@BIN_EMCC@" -if [x = "x${emcc}" ]; then +if [ x = "x${emcc}" ]; then emcc=`which emcc 2>/dev/null` fi diff --git a/tool/mkshellc.tcl b/tool/mkshellc.tcl index 4f16a772e3..af9804e4fa 100644 --- a/tool/mkshellc.tcl +++ b/tool/mkshellc.tcl @@ -34,7 +34,8 @@ set in [open $topdir/src/shell.c.in] fconfigure $in -translation binary proc omit_redundant_typedefs {line} { global typedef_seen - if {[regexp {^typedef .*\y([a-zA-Z0-9_]+);} $line all typename]} { + if {[regexp {^typedef .* ([a-zA-Z0-9_]+);} $line all typename]} { + # --------------------\y jimtcl does not support \y if {[info exists typedef_seen($typename)]} { return "/* [string map {/* // */ //} $line] */" }