fiddle_generated = $(fiddle_html) \
$(fiddle_dir)/fiddle.js \
$(fiddle_dir)/fiddle.wasm
+# fiddle_dummy_exports = ,comma,list of func bound solely for
+# experimentation and testing purposes in the WASM build.
+fiddle_dummy_exports = ,_fiddle_experiment,_fiddle_the_db,_fiddle_db_arg
clean-fiddle:
rm -f $(fiddle_generated)
clean: clean-fiddle
#emcc_opt = -O1
#emcc_opt = -O2
#emcc_opt = -O3
+# --js-library $(fiddle_dir)/_dummylib.js
emcc_opt = -Oz
emcc_flags = $(emcc_opt) $(SHELL_OPT) \
-sEXPORTED_RUNTIME_METHODS=ccall,cwrap \
- -sEXPORTED_FUNCTIONS=_fiddle_exec \
- -sEXIT_RUNTIME=1 \
+ -sEXPORTED_FUNCTIONS=_fiddle_exec$(fiddle_dummy_exports) \
--pre-js $(fiddle_dir)/module-pre.js \
--post-js $(fiddle_dir)/module-post.js \
--shell-file $(fiddle_dir)/fiddle.in.html \
-C Added\sthe\sstandard\ssqlite\slicense\sheader\sto\sthe\sthe\sfiddle\sJS\sfiles.\sMinor\sinternal\srenamings\sin\sthose\ssame\sfiles.
-D 2022-05-20T13:50:04.114
+C In\sthe\sshell\sWASM\sbuild,\scall\sopen_db()\searly\sso\sthat\swe\scan\sget\saccess\sto\sthe\sglobal\sdb\shandle\sfrom\scertain\sexperimentation-only\sfunction\swithout\shaving\sto\sfirst\srun\ssome\sSQL\scode.
+D 2022-05-21T00:01:45.485
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
-F Makefile.in 5dbc61c076215a580d59d1f21b5e62955d2e570321b63f00a31b188f1f5089a6
+F Makefile.in e3327ed68a4fd74f582db211b2762dda06d4a7f87220eaaaf97f63a200fdbefa
F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
F Makefile.msc b28a8a7a977e7312f6859f560348e1eb110c21bd6cf9fab0d16537c0a514eef3
F README.md 8b8df9ca852aeac4864eb1e400002633ee6db84065bd01b78c33817f97d31f5e
F src/resolve.c a4eb3c617027fd049b07432f3b942ea7151fa793a332a11a7d0f58c9539e104f
F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
F src/select.c 74060a09f66c0c056f3c61627e22cb484af0bbfa29d7d14dcf17c684742c15de
-F src/shell.c.in 198aed4b4d225acdaf89c19b1c32b5e1a5c5956ef25c6de993ec6ac872369215
+F src/shell.c.in c2d899a884cb0304cfd12e3d37c8152be5c578f8bed0e3dae53f92130363ccfc
F src/sqlite.h.in d15c307939039086adca159dd340a94b79b69827e74c6d661f343eeeaefba896
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
F src/sqlite3ext.h a988810c9b21c0dc36dc7a62735012339dc76fc7ab448fb0792721d30eacb69d
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 326f79ea54566a9302be99d920856f13b48f2c2ed265fa87d78ced367d4b1946
-R 76d9a4819c4f6ef4f9e021cade27fd08
+P 67e40d99ff84a6cb23c68bf0722a4f9dee29b8ad18d9e7aac7d1665e99901ba1
+R b8510496fc1cbfa1fe2f478924d15996
U stephan
-Z 966630693783fc252ee07d3554d16c4c
+Z 60d40b9749dd39838277861d3f9c9ebd
# Remove this line to create a well-formed Fossil manifest.
-67e40d99ff84a6cb23c68bf0722a4f9dee29b8ad18d9e7aac7d1665e99901ba1
\ No newline at end of file
+31706ef851f7d55e2fe865933ec03f42dfa8b49e6d1f12b6c016b5c1d3460504
\ No newline at end of file
#ifdef SQLITE_SHELL_WASM_MODE
+/* Only for emcc experimentation purposes. */
+int fiddle_experiment(int a,int b){
+ return a + b;
+}
+
+/* Only for emcc experimentation purposes.
+
+ Define this function in JS using:
+
+ emcc ... --js-library somefile.js
+
+ containing:
+
+mergeInto(LibraryManager.library, {
+ my_foo: function(){
+ console.debug("my_foo()",arguments);
+ }
+});
+*/
+/*extern void my_foo(sqlite3 *);*/
+/* Only for emcc experimentation purposes. */
+sqlite3 * fiddle_the_db(){
+ printf("fiddle_the_db(%p)\n", (const void*)globalDb);
+ /*my_foo(globalDb);*/
+ return globalDb;
+}
+/* Only for emcc experimentation purposes. */
+sqlite3 * fiddle_db_arg(sqlite3 *arg){
+ printf("fiddle_db_arg(%p)\n", (const void*)arg);
+ return arg;
+}
+
/*
** Trivial exportable function for emscripten. Needs to be exported using:
**
);
puts("WASM shell");
puts("Enter \".help\" for usage hints.");
- puts("Connected to a transient in-memory database.");
+ if(once>0) open_db(&shellState, 0);
+ if(shellState.db){
+ puts("Connected to a transient in-memory database.");
+ }else{
+ fprintf(stderr,"ERROR initializing db!\n");
+ return;
+ }
}
if(once<0){
puts("DB init failed. Not executing SQL.");