mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Move fiddle build rules into the wasm-centric build files. Add rule to push wasm bits to the wasm test server.
FossilOrigin-Name: 113f8204dc4ac849d5632d3de1680b6e0da871e107ef484c8d7273799bee3d88
This commit is contained in:
164
Makefile.in
164
Makefile.in
@ -1527,166 +1527,8 @@ sqlite3.dll: $(REAL_LIBOBJ) sqlite3.def
|
|||||||
$(TCC) -shared -o $@ sqlite3.def \
|
$(TCC) -shared -o $@ sqlite3.def \
|
||||||
-Wl,"--strip-all" $(REAL_LIBOBJ)
|
-Wl,"--strip-all" $(REAL_LIBOBJ)
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# fiddle/wasm section
|
# Fiddle app
|
||||||
#
|
#
|
||||||
# Maintenance reminder: we can/should move this into the wasm-specific
|
fiddle: sqlite3.c shell.c
|
||||||
# GNU Make makefile, but we currently need it here for access to
|
make -C ext/wasm fiddle
|
||||||
# $(SHELL_OPT). The rest of the wasm-related bits are handled via GNU
|
|
||||||
# Make in ext/wasm/...
|
|
||||||
#
|
|
||||||
wasm_dir = ext/wasm
|
|
||||||
wasm_dir_abs = $(TOP)/ext/wasm
|
|
||||||
# ^^^ some emcc opts require absolute paths
|
|
||||||
fiddle_dir = $(wasm_dir)/fiddle
|
|
||||||
fiddle_dir_abs = $(TOP)/$(fiddle_dir)
|
|
||||||
fiddle_module_js = $(fiddle_dir)/fiddle-module.js
|
|
||||||
sqlite3_wasm_c = $(wasm_dir)/api/sqlite3-wasm.c
|
|
||||||
$(sqlite3_wasm_c): sqlite3.c
|
|
||||||
#emcc_opt = -O0
|
|
||||||
#emcc_opt = -O1
|
|
||||||
#emcc_opt = -O2
|
|
||||||
#emcc_opt = -O3
|
|
||||||
emcc_opt = -Oz
|
|
||||||
emcc_environment = web
|
|
||||||
# WASMFS/OPFS currently (2022-08-23) does not work with fiddle
|
|
||||||
# because (A) fiddle is primarily implemented as a Worker and (B) the
|
|
||||||
# Emscripten-based Worker loading process does not properly handle the
|
|
||||||
# case of nested Workers (necessary for it to load the WASMFS-specific
|
|
||||||
# Worker thread).
|
|
||||||
emcc_flags_wasmfs =
|
|
||||||
# To enable WASMFS/OPFS, uncomment these options:
|
|
||||||
#emcc_flags_wasmfs += -sWASMFS -pthread
|
|
||||||
#emcc_environment = web,worker
|
|
||||||
#emcc_flags_wasmfs += -DSQLITE_WASM_OPFS
|
|
||||||
#emcc_flags_wasmfs += -sPTHREAD_POOL_SIZE=2
|
|
||||||
#emcc_flags_wasmfs += -sPTHREAD_POOL_SIZE_STRICT=2
|
|
||||||
# (Thread pool settings may require tweaking.)
|
|
||||||
#/end of WASMFS/OPFS options.
|
|
||||||
emcc_flags = $(emcc_opt) \
|
|
||||||
-sALLOW_TABLE_GROWTH \
|
|
||||||
-sABORTING_MALLOC \
|
|
||||||
-sSTRICT_JS \
|
|
||||||
-sENVIRONMENT=$(emcc_environment) \
|
|
||||||
-sMODULARIZE \
|
|
||||||
-sEXPORTED_RUNTIME_METHODS=@$(wasm_dir_abs)/EXPORTED_RUNTIME_METHODS.fiddle \
|
|
||||||
-sDYNAMIC_EXECUTION=0 \
|
|
||||||
--minify 0 \
|
|
||||||
-I. $(SHELL_OPT) \
|
|
||||||
-DSQLITE_THREADSAFE=0 \
|
|
||||||
-DSQLITE_TEMP_STORE=3 \
|
|
||||||
-DSQLITE_OMIT_UTF16 \
|
|
||||||
-DSQLITE_OMIT_DEPRECATED \
|
|
||||||
-DSQLITE_OMIT_SHARED_CACHE \
|
|
||||||
'-DSQLITE_DEFAULT_UNIX_VFS="unix-none"' \
|
|
||||||
$(emcc_flags_wasmfs)
|
|
||||||
$(fiddle_module_js): Makefile $(sqlite3_wasm_c) shell.c \
|
|
||||||
$(wasm_dir)/EXPORTED_RUNTIME_METHODS.fiddle \
|
|
||||||
$(wasm_dir)/EXPORTED_FUNCTIONS.fiddle
|
|
||||||
emcc -o $@ $(emcc_flags) \
|
|
||||||
-sEXPORT_NAME=initFiddleModule \
|
|
||||||
-sEXPORTED_FUNCTIONS=@$(wasm_dir_abs)/EXPORTED_FUNCTIONS.fiddle \
|
|
||||||
-DSQLITE_SHELL_FIDDLE \
|
|
||||||
$(sqlite3_wasm_c) shell.c
|
|
||||||
gzip < $@ > $@.gz
|
|
||||||
gzip < $(fiddle_dir)/fiddle-module.wasm > $(fiddle_dir)/fiddle-module.wasm.gz
|
|
||||||
$(fiddle_dir)/fiddle.js.gz: $(fiddle_dir)/fiddle.js
|
|
||||||
gzip < $< > $@
|
|
||||||
|
|
||||||
fiddle_generated = $(fiddle_module_js) $(fiddle_module_js).gz \
|
|
||||||
$(fiddle_dir)/fiddle-module.wasm \
|
|
||||||
$(fiddle_dir)/fiddle-module.wasm.gz \
|
|
||||||
$(fiddle_dir)/fiddle.js.gz
|
|
||||||
|
|
||||||
clean-fiddle:
|
|
||||||
rm -f $(fiddle_generated)
|
|
||||||
clean: clean-fiddle
|
|
||||||
fiddle: $(fiddle_module_js) $(fiddle_dir)/fiddle.js.gz
|
|
||||||
wasm: fiddle
|
|
||||||
########################################################################
|
|
||||||
# Explanation of the emcc build flags follows. Full docs for these can
|
|
||||||
# be found at:
|
|
||||||
#
|
|
||||||
# https://github.com/emscripten-core/emscripten/blob/main/src/settings.js
|
|
||||||
#
|
|
||||||
# -sENVIRONMENT=web: elides bootstrap code related to non-web JS
|
|
||||||
# environments like node.js. Removing this makes the output a tiny
|
|
||||||
# tick larger but hypothetically makes it more portable to
|
|
||||||
# non-browser JS environments.
|
|
||||||
#
|
|
||||||
# -sMODULARIZE: changes how the generated code is structured to avoid
|
|
||||||
# declaring a global Module object and instead installing a function
|
|
||||||
# which loads and initializes the module. The function is named...
|
|
||||||
#
|
|
||||||
# -sEXPORT_NAME=jsFunctionName (see -sMODULARIZE)
|
|
||||||
#
|
|
||||||
# -sEXPORTED_RUNTIME_METHODS=@/absolute/path/to/file: a file
|
|
||||||
# containing a list of emscripten-supplied APIs, one per line, which
|
|
||||||
# must be exported into the generated JS. Must be an absolute path!
|
|
||||||
#
|
|
||||||
# -sEXPORTED_FUNCTIONS=@/absolute/path/to/file: a file containing a
|
|
||||||
# list of C functions, one per line, which must be exported via wasm
|
|
||||||
# so they're visible to JS. C symbols names in that file must all
|
|
||||||
# start with an underscore for reasons known only to the emcc
|
|
||||||
# developers. e.g., _sqlite3_open_v2 and _sqlite3_finalize. Must be
|
|
||||||
# an absolute path!
|
|
||||||
#
|
|
||||||
# -sSTRICT_JS ensures that the emitted JS code includes the 'use
|
|
||||||
# strict' option. Note that -sSTRICT is more broadly-scoped and
|
|
||||||
# results in build errors.
|
|
||||||
#
|
|
||||||
# -sALLOW_TABLE_GROWTH is required for (at a minimum) the UDF-binding
|
|
||||||
# feature. Without it, JS functions cannot be made to proxy C-side
|
|
||||||
# callbacks.
|
|
||||||
#
|
|
||||||
# -sABORTING_MALLOC causes the JS-bound _malloc() to abort rather than
|
|
||||||
# return 0 on OOM. If set to 0 then all code which uses _malloc()
|
|
||||||
# must, just like in C, check the result before using it, else
|
|
||||||
# they're likely to corrupt the JS/WASM heap by writing to its
|
|
||||||
# address of 0. It is, as of this writing, enabled in Emscripten by
|
|
||||||
# default but we enable it explicitly in case that default changes.
|
|
||||||
#
|
|
||||||
# -sDYNAMIC_EXECUTION=0 disables eval() and the Function constructor.
|
|
||||||
# If the build runs without these, it's preferable to use this flag
|
|
||||||
# because certain execution environments disallow those constructs.
|
|
||||||
# This flag is not strictly necessary, however.
|
|
||||||
#
|
|
||||||
# -sWASM_BIGINT is UNTESTED but "should" allow the int64-using C APIs
|
|
||||||
# to work with JS/wasm, insofar as the JS environment supports the
|
|
||||||
# BigInt type. That support requires an extremely recent browser:
|
|
||||||
# Safari didn't get that support until late 2020.
|
|
||||||
#
|
|
||||||
# --no-entry: for compiling library code with no main(). If this is
|
|
||||||
# not supplied and the code has a main(), it is called as part of the
|
|
||||||
# module init process. Note that main() is #if'd out of shell.c
|
|
||||||
# (renamed) when building in wasm mode.
|
|
||||||
#
|
|
||||||
# --pre-js/--post-js=FILE relative or absolute paths to JS files to
|
|
||||||
# prepend/append to the emcc-generated bootstrapping JS. It's
|
|
||||||
# easier/faster to develop with separate JS files (reduces rebuilding
|
|
||||||
# requirements) but certain configurations, namely -sMODULARIZE, may
|
|
||||||
# require using at least a --pre-js file. They can be used
|
|
||||||
# individually and need not be paired.
|
|
||||||
#
|
|
||||||
# -O0..-O3 and -Oz: optimization levels affect not only C-style
|
|
||||||
# optimization but whether or not the resulting generated JS code
|
|
||||||
# gets minified. -O0 compiles _much_ more quickly than -O3 or -Oz,
|
|
||||||
# and doesn't minimize any JS code, so is recommended for
|
|
||||||
# development. -O3 or -Oz are recommended for deployment, but
|
|
||||||
# primarily because -Oz will shrink the wasm file notably. JS-side
|
|
||||||
# minification makes little difference in terms of overall
|
|
||||||
# distributable size.
|
|
||||||
#
|
|
||||||
# --minify 0: disables minification of the generated JS code,
|
|
||||||
# regardless of optimization level. Minification of the JS has
|
|
||||||
# minimal overall effect in the larger scheme of things and results
|
|
||||||
# in JS files which can neither be edited nor viewed as text files in
|
|
||||||
# Fossil (which flags them as binary because of their extreme line
|
|
||||||
# lengths). Interestingly, whether or not the comments in the
|
|
||||||
# generated JS file get stripped is unaffected by this setting and
|
|
||||||
# depends entirely on the optimization level. Higher optimization
|
|
||||||
# levels reduce the size of the JS considerably even without
|
|
||||||
# minification.
|
|
||||||
#
|
|
||||||
########################################################################
|
|
||||||
|
@ -1,95 +1,11 @@
|
|||||||
# This GNU makefile exists primarily to simplify/speed up development
|
|
||||||
# of the sqlite3 WASM components. It is not part of the canonical
|
|
||||||
# build process.
|
|
||||||
#
|
|
||||||
# Maintenance notes: the fiddle build is currently performed in the
|
|
||||||
# top-level ../../Makefile.in. It may be moved into this file at some
|
|
||||||
# point, as GNU Make has been deemed acceptable for the WASM-related
|
|
||||||
# components (whereas POSIX Make is required for the more conventional
|
|
||||||
# components).
|
|
||||||
SHELL := $(shell which bash 2>/dev/null)
|
|
||||||
all:
|
|
||||||
emcc_opt ?= -O0
|
|
||||||
|
|
||||||
.PHONY: fiddle
|
|
||||||
ifneq (,$(wildcard /home/stephan))
|
|
||||||
fiddle_opt ?= $(emcc_opt)
|
|
||||||
else
|
|
||||||
fiddle_opt = -Os
|
|
||||||
endif
|
|
||||||
fiddle:
|
|
||||||
$(MAKE) -C ../.. fiddle -e emcc_opt=$(fiddle_opt)
|
|
||||||
all: fiddle
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(MAKE) -C ../../ clean-fiddle
|
|
||||||
-rm -f $(CLEAN_FILES)
|
|
||||||
|
|
||||||
MAKEFILE := $(lastword $(MAKEFILE_LIST))
|
|
||||||
dir.top := ../..
|
|
||||||
# Reminder: some Emscripten flags require absolute paths
|
|
||||||
dir.wasm := $(patsubst %/,%,$(dir $(abspath $(MAKEFILE))))
|
|
||||||
dir.api := api
|
|
||||||
dir.jacc := jaccwabyt
|
|
||||||
dir.common := common
|
|
||||||
CLEAN_FILES := *~ $(dir.jacc)/*~ $(dir.api)/*~ $(dir.common)/*~
|
|
||||||
|
|
||||||
sqlite3.c := $(dir.top)/sqlite3.c
|
|
||||||
$(sqlite3.c):
|
|
||||||
$(MAKE) -C $(dir.top) sqlite3.c
|
|
||||||
|
|
||||||
SQLITE_OPT = \
|
|
||||||
-DSQLITE_ENABLE_FTS4 \
|
|
||||||
-DSQLITE_ENABLE_RTREE \
|
|
||||||
-DSQLITE_ENABLE_EXPLAIN_COMMENTS \
|
|
||||||
-DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION \
|
|
||||||
-DSQLITE_ENABLE_STMTVTAB \
|
|
||||||
-DSQLITE_ENABLE_DBPAGE_VTAB \
|
|
||||||
-DSQLITE_ENABLE_DBSTAT_VTAB \
|
|
||||||
-DSQLITE_ENABLE_BYTECODE_VTAB \
|
|
||||||
-DSQLITE_ENABLE_OFFSET_SQL_FUNC \
|
|
||||||
-DSQLITE_OMIT_LOAD_EXTENSION \
|
|
||||||
-DSQLITE_OMIT_DEPRECATED \
|
|
||||||
-DSQLITE_OMIT_UTF16 \
|
|
||||||
-DSQLITE_OMIT_SHARED_CACHE \
|
|
||||||
-DSQLITE_THREADSAFE=0 \
|
|
||||||
-DSQLITE_TEMP_STORE=3 \
|
|
||||||
-DSQLITE_OS_KV_OPTIONAL=1
|
|
||||||
#SQLITE_OPT += -DSQLITE_ENABLE_MEMSYS5
|
|
||||||
# ^^^ MEMSYS5 is hypothetically useful for non-Emscripten builds but
|
|
||||||
# requires adding more infrastructure and fixing one spot in the
|
|
||||||
# sqlite3 internals which calls malloc() early on.
|
|
||||||
|
|
||||||
# SQLITE_OMIT_LOAD_EXTENSION: if this is true, sqlite3_vfs::xDlOpen
|
|
||||||
# and friends may be NULL.
|
|
||||||
|
|
||||||
.PHONY: release
|
|
||||||
release:
|
|
||||||
$(MAKE) "emcc_opt=-Os -g3 -flto" fiddle_opt=-Os
|
|
||||||
# ^^^^^ target-specific vars, e.g.:
|
|
||||||
# release: emcc_opt=...
|
|
||||||
# apparently only work for file targets, not PHONY targets?
|
|
||||||
#
|
|
||||||
# ^^^ -flto improves runtime speed at -O0 considerably but doubles
|
|
||||||
# build time.
|
|
||||||
#
|
|
||||||
# ^^^^ -O3, -Oz, -Os minify symbol names and there appears to be no
|
|
||||||
# way around that except to use -g3, but -g3 causes the binary file
|
|
||||||
# size to absolutely explode (approx. 5x larger). This minification
|
|
||||||
# utterly breaks the resulting module, making it unsable except as
|
|
||||||
# self-contained/self-referential-only code, as ALL of the exported
|
|
||||||
# symbols get minified names.
|
|
||||||
#
|
|
||||||
# However, we have an option for using -Oz or -Os:
|
|
||||||
#
|
|
||||||
# Build with (-Os -g3) or (-Oz -g3) then use wasm-strip, from the wabt
|
|
||||||
# tools package (https://github.com/WebAssembly/wabt), to strip the
|
|
||||||
# debugging symbols. That results in a small build with unmangled
|
|
||||||
# symbol names. -Oz gives ever-so-slightly better compression than
|
|
||||||
# -Os: not quite 1% in some completely unscientific tests. Runtime
|
|
||||||
# speed for the unit tests is all over the place either way so it's
|
|
||||||
# difficult to say whether -Os gives any speed benefit over -Oz.
|
|
||||||
########################################################################
|
########################################################################
|
||||||
|
# This GNU makefile drives the build of the sqlite3 WASM
|
||||||
|
# components. It is not part of the canonical build process.
|
||||||
|
########################################################################
|
||||||
|
SHELL := $(shell which bash 2>/dev/null)
|
||||||
|
MAKEFILE := $(lastword $(MAKEFILE_LIST))
|
||||||
|
all:
|
||||||
|
release: all
|
||||||
|
|
||||||
# Emscripten SDK home dir and related binaries...
|
# Emscripten SDK home dir and related binaries...
|
||||||
EMSDK_HOME ?= $(word 1,$(wildcard $(HOME)/src/emsdk $(HOME)/emsdk))
|
EMSDK_HOME ?= $(word 1,$(wildcard $(HOME)/src/emsdk $(HOME)/emsdk))
|
||||||
@ -117,13 +33,82 @@ ifeq (,$(wasm-strip))
|
|||||||
endif
|
endif
|
||||||
endif # 'make clean' check
|
endif # 'make clean' check
|
||||||
|
|
||||||
|
|
||||||
ifeq (,$(wasm-strip))
|
ifeq (,$(wasm-strip))
|
||||||
maybe-wasm-strip = echo "not wasm-stripping"
|
maybe-wasm-strip = echo "not wasm-stripping"
|
||||||
else
|
else
|
||||||
maybe-wasm-strip = $(wasm-strip)
|
maybe-wasm-strip = $(wasm-strip)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
dir.top := ../..
|
||||||
|
# Reminder: some Emscripten flags require absolute paths
|
||||||
|
dir.wasm := $(patsubst %/,%,$(dir $(abspath $(MAKEFILE))))
|
||||||
|
dir.api := api
|
||||||
|
dir.jacc := jaccwabyt
|
||||||
|
dir.common := common
|
||||||
|
dir.fiddle := fiddle
|
||||||
|
CLEAN_FILES := *~ $(dir.jacc)/*~ $(dir.api)/*~ $(dir.common)/*~
|
||||||
|
sqlite3.c := $(dir.top)/sqlite3.c
|
||||||
|
SQLITE_OPT = \
|
||||||
|
-DSQLITE_ENABLE_FTS4 \
|
||||||
|
-DSQLITE_ENABLE_RTREE \
|
||||||
|
-DSQLITE_ENABLE_EXPLAIN_COMMENTS \
|
||||||
|
-DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION \
|
||||||
|
-DSQLITE_ENABLE_STMTVTAB \
|
||||||
|
-DSQLITE_ENABLE_DBPAGE_VTAB \
|
||||||
|
-DSQLITE_ENABLE_DBSTAT_VTAB \
|
||||||
|
-DSQLITE_ENABLE_BYTECODE_VTAB \
|
||||||
|
-DSQLITE_ENABLE_OFFSET_SQL_FUNC \
|
||||||
|
-DSQLITE_OMIT_LOAD_EXTENSION \
|
||||||
|
-DSQLITE_OMIT_DEPRECATED \
|
||||||
|
-DSQLITE_OMIT_UTF16 \
|
||||||
|
-DSQLITE_OMIT_SHARED_CACHE \
|
||||||
|
-DSQLITE_THREADSAFE=0 \
|
||||||
|
-DSQLITE_TEMP_STORE=3 \
|
||||||
|
-DSQLITE_OS_KV_OPTIONAL=1 \
|
||||||
|
'-DSQLITE_DEFAULT_UNIX_VFS="unix-none"'
|
||||||
|
#SQLITE_OPT += -DSQLITE_ENABLE_MEMSYS5
|
||||||
|
# ^^^ MEMSYS5 is hypothetically useful for non-Emscripten builds but
|
||||||
|
# requires adding more infrastructure and fixing one spot in the
|
||||||
|
# sqlite3 internals which calls malloc() early on.
|
||||||
|
|
||||||
|
# SQLITE_OMIT_LOAD_EXTENSION: if this is true, sqlite3_vfs::xDlOpen
|
||||||
|
# and friends may be NULL.
|
||||||
|
|
||||||
|
ifneq (,$(filter release,$(MAKECMDGOALS)))
|
||||||
|
emcc_opt ?= -Oz -g3 -flto
|
||||||
|
else
|
||||||
|
emcc_opt ?= -O0 -g
|
||||||
|
# ^^^^ build times for -O levels higher than 0 are painful at
|
||||||
|
# dev-time.
|
||||||
|
endif
|
||||||
|
# ^^^ -flto improves runtime speed at -O0 considerably but doubles
|
||||||
|
# build time.
|
||||||
|
#
|
||||||
|
# ^^^^ -O3, -Oz, -Os minify symbol names and there appears to be no
|
||||||
|
# way around that except to use -g3, but -g3 causes the binary file
|
||||||
|
# size to absolutely explode (approx. 5x larger). This minification
|
||||||
|
# utterly breaks the resulting module, making it unsable except as
|
||||||
|
# self-contained/self-referential-only code, as ALL of the exported
|
||||||
|
# symbols get minified names.
|
||||||
|
#
|
||||||
|
# However, we have an option for using -Oz or -Os:
|
||||||
|
#
|
||||||
|
# Build with (-Os -g3) or (-Oz -g3) then use wasm-strip, from the wabt
|
||||||
|
# tools package (https://github.com/WebAssembly/wabt), to strip the
|
||||||
|
# debugging symbols. That results in a small build with unmangled
|
||||||
|
# symbol names. -Oz gives ever-so-slightly better compression than
|
||||||
|
# -Os: not quite 1% in some completely unscientific tests. Runtime
|
||||||
|
# speed for the unit tests is all over the place either way so it's
|
||||||
|
# difficult to say whether -Os gives any speed benefit over -Oz.
|
||||||
|
########################################################################
|
||||||
|
|
||||||
|
|
||||||
|
$(sqlite3.c):
|
||||||
|
$(MAKE) -C $(dir.top) sqlite3.c
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -f $(CLEAN_FILES)
|
||||||
|
|
||||||
ifeq (release,$(filter release,$(MAKECMDGOALS)))
|
ifeq (release,$(filter release,$(MAKECMDGOALS)))
|
||||||
ifeq (,$(wasm-strip))
|
ifeq (,$(wasm-strip))
|
||||||
$(error Cannot make release-quality binary because wasm-strip is not available. \
|
$(error Cannot make release-quality binary because wasm-strip is not available. \
|
||||||
@ -181,14 +166,13 @@ emcc.flags =
|
|||||||
#emcc.flags += -v # _very_ loud but also informative about what it's doing
|
#emcc.flags += -v # _very_ loud but also informative about what it's doing
|
||||||
# -g is needed to keep -O2 and higher from creating broken JS via
|
# -g is needed to keep -O2 and higher from creating broken JS via
|
||||||
# minification.
|
# minification.
|
||||||
emcc.flags += -g
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# emcc flags for .c/.o.
|
# emcc flags for .c/.o.
|
||||||
emcc.cflags :=
|
emcc.cflags :=
|
||||||
emcc.cflags += -std=c99 -fPIC
|
emcc.cflags += -std=c99 -fPIC
|
||||||
# -------------^^^^^^^^ we currently need c99 for WASM-specific sqlite3 APIs.
|
# -------------^^^^^^^^ we currently need c99 for WASM-specific sqlite3 APIs.
|
||||||
emcc.cflags += -I. -I$(dir.top) # $(SQLITE_OPT)
|
emcc.cflags += -I. -I$(dir.top)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# emcc flags specific to building the final .js/.wasm file...
|
# emcc flags specific to building the final .js/.wasm file...
|
||||||
@ -392,7 +376,6 @@ $(speedtest1.js): $(MAKEFILE) $(speedtest1.cs) $(post-js.js) \
|
|||||||
$(speedtest1.eflags) $(speedtest1-common.eflags) $(speedtest1.cflags) \
|
$(speedtest1.eflags) $(speedtest1-common.eflags) $(speedtest1.cflags) \
|
||||||
$(SQLITE_OPT) \
|
$(SQLITE_OPT) \
|
||||||
$(speedtest1.exit-runtime0) \
|
$(speedtest1.exit-runtime0) \
|
||||||
'-DSQLITE_DEFAULT_UNIX_VFS="unix-none"' \
|
|
||||||
-o $@ $(speedtest1.cs) -lm
|
-o $@ $(speedtest1.cs) -lm
|
||||||
$(maybe-wasm-strip) $(speedtest1.wasm)
|
$(maybe-wasm-strip) $(speedtest1.wasm)
|
||||||
ls -la $@ $(speedtest1.wasm)
|
ls -la $@ $(speedtest1.wasm)
|
||||||
@ -451,6 +434,8 @@ oz:
|
|||||||
########################################################################
|
########################################################################
|
||||||
# Sub-makes...
|
# Sub-makes...
|
||||||
|
|
||||||
|
include fiddle.make
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Some platforms do not support the WASMFS build. Raspberry Pi OS is one
|
# Some platforms do not support the WASMFS build. Raspberry Pi OS is one
|
||||||
# of them. As such platforms are discovered, add their (uname -m) name
|
# of them. As such platforms are discovered, add their (uname -m) name
|
||||||
@ -462,3 +447,19 @@ $(info This platform does not support the WASMFS build.)
|
|||||||
else
|
else
|
||||||
include wasmfs.make
|
include wasmfs.make
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Push files to public wasm-testing.sqlite.org server
|
||||||
|
wasm-testing.include = *.wasm *.js *.html \
|
||||||
|
batch-runner.list sql common fiddle jaccwabyt
|
||||||
|
wasm-testing.exclude = sql/speedtest1.sql
|
||||||
|
wasm-testing.dir = /jail/sites/wasm-testing
|
||||||
|
wasm-testing.dest ?= wasm-testing:$(wasm-testing.dir)
|
||||||
|
# ---------------------^^^^^^^^^^^^ ssh alias
|
||||||
|
push:
|
||||||
|
rsync -z -e ssh --ignore-times --chown=stephan:www-data --group -r \
|
||||||
|
$(patsubst %,--exclude=%,$(wasm-testing.exclude)) \
|
||||||
|
$(wasm-testing.include) $(wasm-testing.dest)
|
||||||
|
ssh wasm-testing 'cd $(wasm-testing.dir) && bash .gzip' || \
|
||||||
|
echo "SSH failed: it's likely that stale content will be served via old gzip files."
|
||||||
|
|
||||||
|
@ -10,17 +10,16 @@
|
|||||||
if(!Module.postRun) Module.postRun = [];
|
if(!Module.postRun) Module.postRun = [];
|
||||||
Module.postRun.push(function(Module/*the Emscripten-style module object*/){
|
Module.postRun.push(function(Module/*the Emscripten-style module object*/){
|
||||||
'use strict';
|
'use strict';
|
||||||
/* This function will contain:
|
/* This function will contain at least the following:
|
||||||
|
|
||||||
- post-js-header.js (this file)
|
- post-js-header.js (this file)
|
||||||
- sqlite3-api-prologue.js => Bootstrapping bits to attach the rest to
|
- sqlite3-api-prologue.js => Bootstrapping bits to attach the rest to
|
||||||
- sqlite3-api-whwasmutil.js => Replacements for much of Emscripten's glue
|
- common/whwasmutil.js => Replacements for much of Emscripten's glue
|
||||||
- sqlite3-api-jaccwabyt.js => Jaccwabyt (C/JS struct binding)
|
- jaccwaby/jaccwabyt.js => Jaccwabyt (C/JS struct binding)
|
||||||
- sqlite3-api-glue.js => glues previous parts together
|
- sqlite3-api-glue.js => glues previous parts together
|
||||||
- sqlite3-api-oo.js => SQLite3 OO API #1.
|
- sqlite3-api-oo.js => SQLite3 OO API #1
|
||||||
- sqlite3-api-worker.js => Worker-based API
|
- sqlite3-api-worker1.js => Worker-based API
|
||||||
|
- sqlite3-api-opfs.js => OPFS VFS
|
||||||
- sqlite3-api-cleanup.js => final API cleanup
|
- sqlite3-api-cleanup.js => final API cleanup
|
||||||
- post-js-footer.js => closes this postRun() function
|
- post-js-footer.js => closes this postRun() function
|
||||||
|
|
||||||
Whew!
|
|
||||||
*/
|
*/
|
||||||
|
160
ext/wasm/fiddle.make
Normal file
160
ext/wasm/fiddle.make
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
#!/do/not/make
|
||||||
|
#^^^ help emacs select edit mode
|
||||||
|
#
|
||||||
|
# Intended to include'd by ./GNUmakefile.
|
||||||
|
#######################################################################
|
||||||
|
MAKEFILE.fiddle := $(lastword $(MAKEFILE_LIST))
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# shell.c and its build flags...
|
||||||
|
make-np-0 := make -C $(dir.top) -n -p
|
||||||
|
make-np-1 := sed -e 's/(TOP)/(dir.top)/g'
|
||||||
|
$(eval $(shell $(make-np-0) | grep -e '^SHELL_OPT ' | $(make-np-1)))
|
||||||
|
$(eval $(shell $(make-np-0) | grep -e '^SHELL_SRC ' | $(make-np-1)))
|
||||||
|
# ^^^ can't do that in 1 invocation b/c newlines get stripped
|
||||||
|
ifeq (,$(SHELL_OPT))
|
||||||
|
$(error Could not parse SHELL_OPT from $(dir.top)/Makefile.)
|
||||||
|
endif
|
||||||
|
ifeq (,$(SHELL_SRC))
|
||||||
|
$(error Could not parse SHELL_SRC from $(dir.top)/Makefile.)
|
||||||
|
endif
|
||||||
|
$(dir.top)/shell.c: $(SHELL_SRC) $(dir.top)/tool/mkshellc.tcl
|
||||||
|
$(MAKE) -C $(dir.top) shell.c
|
||||||
|
# /shell.c
|
||||||
|
########################################################################
|
||||||
|
|
||||||
|
fiddle.emcc-flags = \
|
||||||
|
$(emcc.cflags) $(emcc_opt) \
|
||||||
|
--minify 0 \
|
||||||
|
-sALLOW_TABLE_GROWTH \
|
||||||
|
-sABORTING_MALLOC \
|
||||||
|
-sSTRICT_JS \
|
||||||
|
-sENVIRONMENT=web,worker \
|
||||||
|
-sMODULARIZE \
|
||||||
|
-sDYNAMIC_EXECUTION=0 \
|
||||||
|
-sEXPORT_NAME=initFiddleModule \
|
||||||
|
-sEXPORTED_RUNTIME_METHODS=@$(dir.wasm)/EXPORTED_RUNTIME_METHODS.fiddle \
|
||||||
|
-sEXPORTED_FUNCTIONS=@$(dir.wasm)/EXPORTED_FUNCTIONS.fiddle \
|
||||||
|
--post-js=$(post-js.js) \
|
||||||
|
$(SQLITE_OPT) $(SHELL_OPT) \
|
||||||
|
-D_POSIX_SOURCE \
|
||||||
|
-DSQLITE_SHELL_FIDDLE
|
||||||
|
# -D_POSIX_C_SOURCE is needed for strdup() with emcc
|
||||||
|
|
||||||
|
fiddle.EXPORTED_FUNCTIONS.in := \
|
||||||
|
EXPORTED_FUNCTIONS.fiddle.in \
|
||||||
|
EXPORTED_FUNCTIONS.api
|
||||||
|
|
||||||
|
EXPORTED_FUNCTIONS.fiddle: $(fiddle.EXPORTED_FUNCTIONS.in) $(MAKEFILE.fiddle)
|
||||||
|
grep -h -v jaccwabyt $(fiddle.EXPORTED_FUNCTIONS.in) | sort -u > $@
|
||||||
|
|
||||||
|
fiddle-module.js := $(dir.fiddle)/fiddle-module.js
|
||||||
|
fiddle-module.wasm := $(subst .js,.wasm,$(fiddle-module.js))
|
||||||
|
fiddle.cs := $(dir.top)/shell.c $(sqlite3-wasm.c)
|
||||||
|
|
||||||
|
$(fiddle-module.js): $(MAKEFILE) $(MAKEFILE.fiddle) \
|
||||||
|
EXPORTED_FUNCTIONS.fiddle EXPORTED_RUNTIME_METHODS.fiddle \
|
||||||
|
$(fiddle.cs) $(post-js.js)
|
||||||
|
$(emcc.bin) -o $@ $(fiddle.emcc-flags) $(fiddle.cs)
|
||||||
|
$(maybe-wasm-strip) $(fiddle-module.wasm)
|
||||||
|
gzip < $@ > $@.gz
|
||||||
|
gzip < $(fiddle-module.wasm) > $(fiddle-module.wasm).gz
|
||||||
|
|
||||||
|
$(dir.fiddle)/fiddle.js.gz: $(dir.fiddle)/fiddle.js
|
||||||
|
gzip < $< > $@
|
||||||
|
|
||||||
|
clean: clean-fiddle
|
||||||
|
clean-fiddle:
|
||||||
|
rm -f $(fiddle-module.js) $(fiddle-module.js).gz \
|
||||||
|
$(fiddle-module.wasm) $(fiddle-module.wasm).gz \
|
||||||
|
EXPORTED_FUNCTIONS.fiddle
|
||||||
|
.PHONY: fiddle
|
||||||
|
fiddle: $(fiddle-module.js) $(dir.fiddle)/fiddle.js.gz
|
||||||
|
all: fiddle
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Explanation of the emcc build flags follows. Full docs for these can
|
||||||
|
# be found at:
|
||||||
|
#
|
||||||
|
# https://github.com/emscripten-core/emscripten/blob/main/src/settings.js
|
||||||
|
#
|
||||||
|
# -sENVIRONMENT=web: elides bootstrap code related to non-web JS
|
||||||
|
# environments like node.js. Removing this makes the output a tiny
|
||||||
|
# tick larger but hypothetically makes it more portable to
|
||||||
|
# non-browser JS environments.
|
||||||
|
#
|
||||||
|
# -sMODULARIZE: changes how the generated code is structured to avoid
|
||||||
|
# declaring a global Module object and instead installing a function
|
||||||
|
# which loads and initializes the module. The function is named...
|
||||||
|
#
|
||||||
|
# -sEXPORT_NAME=jsFunctionName (see -sMODULARIZE)
|
||||||
|
#
|
||||||
|
# -sEXPORTED_RUNTIME_METHODS=@/absolute/path/to/file: a file
|
||||||
|
# containing a list of emscripten-supplied APIs, one per line, which
|
||||||
|
# must be exported into the generated JS. Must be an absolute path!
|
||||||
|
#
|
||||||
|
# -sEXPORTED_FUNCTIONS=@/absolute/path/to/file: a file containing a
|
||||||
|
# list of C functions, one per line, which must be exported via wasm
|
||||||
|
# so they're visible to JS. C symbols names in that file must all
|
||||||
|
# start with an underscore for reasons known only to the emcc
|
||||||
|
# developers. e.g., _sqlite3_open_v2 and _sqlite3_finalize. Must be
|
||||||
|
# an absolute path!
|
||||||
|
#
|
||||||
|
# -sSTRICT_JS ensures that the emitted JS code includes the 'use
|
||||||
|
# strict' option. Note that -sSTRICT is more broadly-scoped and
|
||||||
|
# results in build errors.
|
||||||
|
#
|
||||||
|
# -sALLOW_TABLE_GROWTH is required for (at a minimum) the UDF-binding
|
||||||
|
# feature. Without it, JS functions cannot be made to proxy C-side
|
||||||
|
# callbacks.
|
||||||
|
#
|
||||||
|
# -sABORTING_MALLOC causes the JS-bound _malloc() to abort rather than
|
||||||
|
# return 0 on OOM. If set to 0 then all code which uses _malloc()
|
||||||
|
# must, just like in C, check the result before using it, else
|
||||||
|
# they're likely to corrupt the JS/WASM heap by writing to its
|
||||||
|
# address of 0. It is, as of this writing, enabled in Emscripten by
|
||||||
|
# default but we enable it explicitly in case that default changes.
|
||||||
|
#
|
||||||
|
# -sDYNAMIC_EXECUTION=0 disables eval() and the Function constructor.
|
||||||
|
# If the build runs without these, it's preferable to use this flag
|
||||||
|
# because certain execution environments disallow those constructs.
|
||||||
|
# This flag is not strictly necessary, however.
|
||||||
|
#
|
||||||
|
# -sWASM_BIGINT is UNTESTED but "should" allow the int64-using C APIs
|
||||||
|
# to work with JS/wasm, insofar as the JS environment supports the
|
||||||
|
# BigInt type. That support requires an extremely recent browser:
|
||||||
|
# Safari didn't get that support until late 2020.
|
||||||
|
#
|
||||||
|
# --no-entry: for compiling library code with no main(). If this is
|
||||||
|
# not supplied and the code has a main(), it is called as part of the
|
||||||
|
# module init process. Note that main() is #if'd out of shell.c
|
||||||
|
# (renamed) when building in wasm mode.
|
||||||
|
#
|
||||||
|
# --pre-js/--post-js=FILE relative or absolute paths to JS files to
|
||||||
|
# prepend/append to the emcc-generated bootstrapping JS. It's
|
||||||
|
# easier/faster to develop with separate JS files (reduces rebuilding
|
||||||
|
# requirements) but certain configurations, namely -sMODULARIZE, may
|
||||||
|
# require using at least a --pre-js file. They can be used
|
||||||
|
# individually and need not be paired.
|
||||||
|
#
|
||||||
|
# -O0..-O3 and -Oz: optimization levels affect not only C-style
|
||||||
|
# optimization but whether or not the resulting generated JS code
|
||||||
|
# gets minified. -O0 compiles _much_ more quickly than -O3 or -Oz,
|
||||||
|
# and doesn't minimize any JS code, so is recommended for
|
||||||
|
# development. -O3 or -Oz are recommended for deployment, but
|
||||||
|
# primarily because -Oz will shrink the wasm file notably. JS-side
|
||||||
|
# minification makes little difference in terms of overall
|
||||||
|
# distributable size.
|
||||||
|
#
|
||||||
|
# --minify 0: disables minification of the generated JS code,
|
||||||
|
# regardless of optimization level. Minification of the JS has
|
||||||
|
# minimal overall effect in the larger scheme of things and results
|
||||||
|
# in JS files which can neither be edited nor viewed as text files in
|
||||||
|
# Fossil (which flags them as binary because of their extreme line
|
||||||
|
# lengths). Interestingly, whether or not the comments in the
|
||||||
|
# generated JS file get stripped is unaffected by this setting and
|
||||||
|
# depends entirely on the optimization level. Higher optimization
|
||||||
|
# levels reduce the size of the JS considerably even without
|
||||||
|
# minification.
|
||||||
|
#
|
||||||
|
########################################################################
|
@ -26,7 +26,6 @@ sqlite3-wasmfs.cflags += -std=c99 -fPIC -g
|
|||||||
sqlite3-wasmfs.cflags += -pthread
|
sqlite3-wasmfs.cflags += -pthread
|
||||||
sqlite3-wasmfs.cflags += -I. -I.. -I$(dir.top)
|
sqlite3-wasmfs.cflags += -I. -I.. -I$(dir.top)
|
||||||
sqlite3-wasmfs.cflags += $(SQLITE_OPT) -DSQLITE_WASM_WASMFS
|
sqlite3-wasmfs.cflags += $(SQLITE_OPT) -DSQLITE_WASM_WASMFS
|
||||||
sqlite3-wasmfs.cflags += '-DSQLITE_DEFAULT_UNIX_VFS="unix-none"'
|
|
||||||
|
|
||||||
sqlite3-wasmfs.extra.c :=
|
sqlite3-wasmfs.extra.c :=
|
||||||
ifeq (1,1)
|
ifeq (1,1)
|
||||||
|
21
manifest
21
manifest
@ -1,9 +1,9 @@
|
|||||||
C Correct\sa\stoo-strict\sis-opfs-available\scheck.
|
C Move\sfiddle\sbuild\srules\sinto\sthe\swasm-centric\sbuild\sfiles.\sAdd\srule\sto\spush\swasm\sbits\sto\sthe\swasm\stest\sserver.
|
||||||
D 2022-09-20T16:20:35.278
|
D 2022-09-21T08:39:03.936
|
||||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||||
F Makefile.in 50e421194df031f669667fdb238c54959ecbea5a0b97dd3ed776cffbeea926d5
|
F Makefile.in 2fbc1de74212fba94e0c3eca5549b894c91c1c17fb5e6fd23ca90a616523c5f5
|
||||||
F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
|
F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
|
||||||
F Makefile.msc d547a2fdba38a1c6cd1954977d0b0cc017f5f8fbfbc65287bf8d335808938016
|
F Makefile.msc d547a2fdba38a1c6cd1954977d0b0cc017f5f8fbfbc65287bf8d335808938016
|
||||||
F README.md 8b8df9ca852aeac4864eb1e400002633ee6db84065bd01b78c33817f97d31f5e
|
F README.md 8b8df9ca852aeac4864eb1e400002633ee6db84065bd01b78c33817f97d31f5e
|
||||||
@ -472,15 +472,15 @@ F ext/session/test_session.c f433f68a8a8c64b0f5bc74dc725078f12483301ad4ae8375205
|
|||||||
F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3
|
F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3
|
||||||
F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04
|
F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04
|
||||||
F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb
|
F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb
|
||||||
F ext/wasm/EXPORTED_FUNCTIONS.fiddle 7fb73f7150ab79d83bb45a67d257553c905c78cd3d693101699243f36c5ae6c3
|
F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 7fb73f7150ab79d83bb45a67d257553c905c78cd3d693101699243f36c5ae6c3 w ext/wasm/EXPORTED_FUNCTIONS.fiddle
|
||||||
F ext/wasm/EXPORTED_RUNTIME_METHODS.fiddle a004bd5eeeda6d3b28d16779b7f1a80305bfe009dfc7f0721b042967f0d39d02
|
F ext/wasm/EXPORTED_RUNTIME_METHODS.fiddle a004bd5eeeda6d3b28d16779b7f1a80305bfe009dfc7f0721b042967f0d39d02
|
||||||
F ext/wasm/GNUmakefile 0635cb6e90787b2d06ae51d903444214e8030274554a2406136881fed3c1fad6
|
F ext/wasm/GNUmakefile 45b2815443729ed7de33acb4a2716038f8a41005529cd96bac81f7f0d97d1ded
|
||||||
F ext/wasm/README.md e1ee1e7c321c6a250bf78a84ca6f5882890a237a450ba5a0649c7a8399194c52
|
F ext/wasm/README.md e1ee1e7c321c6a250bf78a84ca6f5882890a237a450ba5a0649c7a8399194c52
|
||||||
F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api 8a724a674bd2089eef9676b434c0ab709da00db33f73a94e4987e90169b1cd14
|
F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api 8a724a674bd2089eef9676b434c0ab709da00db33f73a94e4987e90169b1cd14
|
||||||
F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287
|
F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287
|
||||||
F ext/wasm/api/README.md d876597edd2b9542b6ea031adaaff1c042076fde7b670b1dc6d8a87b28a6631b
|
F ext/wasm/api/README.md d876597edd2b9542b6ea031adaaff1c042076fde7b670b1dc6d8a87b28a6631b
|
||||||
F ext/wasm/api/post-js-footer.js b64319261d920211b8700004d08b956a6c285f3b0bba81456260a713ed04900c
|
F ext/wasm/api/post-js-footer.js b64319261d920211b8700004d08b956a6c285f3b0bba81456260a713ed04900c
|
||||||
F ext/wasm/api/post-js-header.js 0e853b78db83cb1c06b01663549e0e8b4f377f12f5a2d9a4a06cb776c003880b
|
F ext/wasm/api/post-js-header.js 2e5c886398013ba2af88028ecbced1e4b22dc96a86467f1ecc5ba9e64ef90a8b
|
||||||
F ext/wasm/api/sqlite3-api-cleanup.js 8564a6077cdcaea9a9f428a019af8a05887f0131e6a2a1e72a7ff1145fadfe77
|
F ext/wasm/api/sqlite3-api-cleanup.js 8564a6077cdcaea9a9f428a019af8a05887f0131e6a2a1e72a7ff1145fadfe77
|
||||||
F ext/wasm/api/sqlite3-api-glue.js 366d580c8e5bf7fcf4c6dee6f646c31f5549bd417ea03a59a0acca00e8ecce30
|
F ext/wasm/api/sqlite3-api-glue.js 366d580c8e5bf7fcf4c6dee6f646c31f5549bd417ea03a59a0acca00e8ecce30
|
||||||
F ext/wasm/api/sqlite3-api-oo1.js f974e79d9af8f26bf33928c5730b0988cc706d14f59a5fe36394739b92249841
|
F ext/wasm/api/sqlite3-api-oo1.js f974e79d9af8f26bf33928c5730b0988cc706d14f59a5fe36394739b92249841
|
||||||
@ -500,6 +500,7 @@ F ext/wasm/demo-123.html aa281d33b7eefa755f3122b7b5a18f39a42dc5fb69c8879171bf14b
|
|||||||
F ext/wasm/demo-123.js 234655683e35a4543a23de7b10800d76b0369947b33e089e5613171fa7795afb
|
F ext/wasm/demo-123.js 234655683e35a4543a23de7b10800d76b0369947b33e089e5613171fa7795afb
|
||||||
F ext/wasm/demo-kvvfs1.html 7d4f28873de67f51ac18c584b7d920825139866a96049a49c424d6f5a0ea5e7f
|
F ext/wasm/demo-kvvfs1.html 7d4f28873de67f51ac18c584b7d920825139866a96049a49c424d6f5a0ea5e7f
|
||||||
F ext/wasm/demo-kvvfs1.js e884ea35022d772c0d1dd884b40011413696438394f605c6cd4808cfb1642a4a
|
F ext/wasm/demo-kvvfs1.js e884ea35022d772c0d1dd884b40011413696438394f605c6cd4808cfb1642a4a
|
||||||
|
F ext/wasm/fiddle.make 8b1018e8d91b6d3add93813302a4acf2e5693dd9882499e38eccaec73afb1f79
|
||||||
F ext/wasm/fiddle/emscripten.css 3d253a6fdb8983a2ac983855bfbdd4b6fa1ff267c28d69513dd6ef1f289ada3f
|
F ext/wasm/fiddle/emscripten.css 3d253a6fdb8983a2ac983855bfbdd4b6fa1ff267c28d69513dd6ef1f289ada3f
|
||||||
F ext/wasm/fiddle/fiddle-worker.js bccf46045be8824752876f3eec01c223be0616ccac184bffd0024cfe7a3262b8
|
F ext/wasm/fiddle/fiddle-worker.js bccf46045be8824752876f3eec01c223be0616ccac184bffd0024cfe7a3262b8
|
||||||
F ext/wasm/fiddle/fiddle.html 550c5aafce40bd218de9bf26192749f69f9b10bc379423ecd2e162bcef885c08
|
F ext/wasm/fiddle/fiddle.html 550c5aafce40bd218de9bf26192749f69f9b10bc379423ecd2e162bcef885c08
|
||||||
@ -529,7 +530,7 @@ F ext/wasm/testing1.html 50575755e43232dbe4c2f97c9086b3118eb91ec2ee1fae931e6d766
|
|||||||
F ext/wasm/testing1.js 507001a970fe8a8eb67b6c8d783e1c1daa3db2719f727c4551af29349410e538
|
F ext/wasm/testing1.js 507001a970fe8a8eb67b6c8d783e1c1daa3db2719f727c4551af29349410e538
|
||||||
F ext/wasm/testing2.html a66951c38137ff1d687df79466351f3c734fa9c6d9cce71d3cf97c291b2167e3
|
F ext/wasm/testing2.html a66951c38137ff1d687df79466351f3c734fa9c6d9cce71d3cf97c291b2167e3
|
||||||
F ext/wasm/testing2.js 25584bcc30f19673ce13a6f301f89f8820a59dfe044e0c4f2913941f4097fe3c
|
F ext/wasm/testing2.js 25584bcc30f19673ce13a6f301f89f8820a59dfe044e0c4f2913941f4097fe3c
|
||||||
F ext/wasm/wasmfs.make 0fbe3b4ef4e5e25ed61d7b581c48e6406dd688443d1b8d4daf94d779a8056c54
|
F ext/wasm/wasmfs.make b24fa0199ddf9720ae8b0c7751a5dbdb2501c8d7c57ecf8c2e0a80ebf4b2d00b
|
||||||
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
|
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
|
||||||
F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
|
F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
|
||||||
F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
|
F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
|
||||||
@ -2025,8 +2026,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
|||||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||||
P e3d36dcdd37e59f17a07d3611d08744eb86f439fab82a648490dd608bcaa3185
|
P 1b5f1b4a6c1457f98c258459e23e321fc59793de298fecb84031b87f02156cd5
|
||||||
R 4e567bfc74ed899d5a6221b9c0e9380f
|
R 00dda2c5015c98fa272f7dff83ac1143
|
||||||
U stephan
|
U stephan
|
||||||
Z 34a126210ea63cd6428a245b533d4ca4
|
Z c50873d6fe9ef43a35ee904cdd659788
|
||||||
# Remove this line to create a well-formed Fossil manifest.
|
# Remove this line to create a well-formed Fossil manifest.
|
||||||
|
@ -1 +1 @@
|
|||||||
1b5f1b4a6c1457f98c258459e23e321fc59793de298fecb84031b87f02156cd5
|
113f8204dc4ac849d5632d3de1680b6e0da871e107ef484c8d7273799bee3d88
|
Reference in New Issue
Block a user