From: stephan Date: Thu, 3 Nov 2022 22:51:20 +0000 (+0000) Subject: Add experimental esm target to ext/wasm/GNUmakefile to tell emcc to generate sqlite3... X-Git-Tag: version-3.40.0~35 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7d24ff29713e86730ffab173637fa022f24afca2;p=thirdparty%2Fsqlite.git Add experimental esm target to ext/wasm/GNUmakefile to tell emcc to generate sqlite3.mjs (ES6 module) instead of sqlite3.js. Related to discussion at [forum:ed4596cf8496a39b]. FossilOrigin-Name: e55d8eba83012492d85418dc0faedce5896027ecc70295a5ca1826f61a5edbaf --- diff --git a/ext/wasm/GNUmakefile b/ext/wasm/GNUmakefile index 993c668697..039dff410f 100644 --- a/ext/wasm/GNUmakefile +++ b/ext/wasm/GNUmakefile @@ -96,7 +96,7 @@ dir.dout := $(dir.wasm)/jswasm # dir.tmp = output dir for intermediary build files, as opposed to # end-user deliverables. dir.tmp := $(dir.wasm)/bld -#CLEAN_FILES += $(wildcard $(dir.dout)/*) $(wildcard $(dir.tmp)/*) +CLEAN_FILES += $(dir.tmp)/* $(dir.dout)/* ifeq (,$(wildcard $(dir.dout))) dir._tmp := $(shell mkdir -p $(dir.dout)) endif @@ -418,7 +418,20 @@ emcc.jsflags += -sWASM_BIGINT=$(emcc.WASM_BIGINT) # debugging info, _huge_. ######################################################################## -sqlite3.js := $(dir.dout)/sqlite3.js +######################################################################## +# AN EXPERIMENT: undocumented Emscripten feature: if the target file +# extension is "mjs", it defaults to ES6 module builds: +# https://github.com/emscripten-core/emscripten/issues/14383 +ifeq (,$(filter esm,$(MAKECMDGOALS))) +sqlite3.js.ext := js +else +esm.deps := $(filter-out esm,$(MAKECMDGOALS)) +esm: $(if $(esm.deps),$(esm.deps),all) +sqlite3.js.ext := mjs +endif +# /esm +######################################################################## +sqlite3.js := $(dir.dout)/sqlite3.$(sqlite3.js.ext) sqlite3.wasm := $(dir.dout)/sqlite3.wasm sqlite3-wasm.c := $(dir.api)/sqlite3-wasm.c # sqlite3-wasm.o vs sqlite3-wasm.c: building against the latter diff --git a/manifest b/manifest index 3942c53535..a64c5bbc8d 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Globally\sreplace\s''\swith\s""\sfor\sempty\sJS\sstrings\sto\splease\sC\spreprocessor. -D 2022-11-03T21:21:10.223 +C Add\sexperimental\sesm\starget\sto\sext/wasm/GNUmakefile\sto\stell\semcc\sto\sgenerate\ssqlite3.mjs\s(ES6\smodule)\sinstead\sof\ssqlite3.js.\sRelated\sto\sdiscussion\sat\s[forum:ed4596cf8496a39b]. +D 2022-11-03T22:51:20.329 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -487,7 +487,7 @@ F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3 F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04 F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c -F ext/wasm/GNUmakefile 78b64d110e66e18709c11437a74c29bc7855d85a713217db99127c7f304a332f +F ext/wasm/GNUmakefile 3aa8c160705ab9d9d4d552a1f4e630925a65a27df216befe2e9a956904434c1d F ext/wasm/README-dist.txt 2d670b426fc7c613b90a7d2f2b05b433088fe65181abead970980f0a4a75ea20 F ext/wasm/README.md ef39861aa21632fdbca0bdd469f78f0096f6449a720f3f39642594af503030e9 F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api 9120c2f8f51fa85f46dcf4dcb6b12f4a807d428f6089b99cdb08d8ddfcfd88b2 @@ -2054,8 +2054,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 70ee6ee014bc4e2c1daa9b4a8909cf76ccecf32de1eb39055f20d3d0b1daa1bd -R eaaf8a7ca25305cffe9e8f7e734e3ee8 +P e92e1f42bef94a1df29f66b4111ebfde93eba3759bc5d5a9c95f714508851346 +R 4cda7dd2938aaeec0aa59e31a649b872 U stephan -Z b98d96f31e9b735c045c03e6eefd13f8 +Z a58e3ce7633c7dbf732eedcffb48463a # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 8348da8467..9dbf0c1a1d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e92e1f42bef94a1df29f66b4111ebfde93eba3759bc5d5a9c95f714508851346 \ No newline at end of file +e55d8eba83012492d85418dc0faedce5896027ecc70295a5ca1826f61a5edbaf \ No newline at end of file