]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Initial draft of archive generation for the wasm/js deliverables.
authorstephan <stephan@noemail.net>
Mon, 17 Oct 2022 17:34:41 +0000 (17:34 +0000)
committerstephan <stephan@noemail.net>
Mon, 17 Oct 2022 17:34:41 +0000 (17:34 +0000)
FossilOrigin-Name: f6cee114c71e11ca1f508c8f60be5753871cbd4fd6c45ce397824bddbf00ffd9

ext/wasm/GNUmakefile
ext/wasm/dist.make [new file with mode: 0644]
ext/wasm/fiddle.make
ext/wasm/wasmfs.make
manifest
manifest.uuid

index 78f49bb8b036a9a375d99a8ef263be5b573587ab..a683a914161f16b728b6f93be28bf15b488e020c 100644 (file)
@@ -521,9 +521,9 @@ endif
 
 ########################################################################
 # Create deliverables: TODO
-#ifneq (,$(filter dist,$(MAKECMDGOALS)))
-#include dist.make
-#endif
+ifneq (,$(filter dist,$(MAKECMDGOALS)))
+include dist.make
+endif
 
 ########################################################################
 # Push files to public wasm-testing.sqlite.org server
@@ -539,4 +539,3 @@ push:
     $(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." 
-
diff --git a/ext/wasm/dist.make b/ext/wasm/dist.make
new file mode 100644 (file)
index 0000000..84abe39
--- /dev/null
@@ -0,0 +1,62 @@
+#!/do/not/make
+#^^^ help emacs select edit mode
+#
+# Intended to include'd by ./GNUmakefile.
+#
+# 'make dist' rules for creating a distribution archive of the WASM/JS
+# pieces, noting that we only build a dist of the built files, not the
+# numerous pieces required to build them.
+#######################################################################
+MAKEFILE.dist := $(lastword $(MAKEFILE_LIST))
+
+
+########################################################################
+# Chicken/egg situation: we need $(version-info) to get the version
+# info for the archive name, but that binary may not yet be built, so
+# we have to use a temporary name for the archive.
+dist-name = sqlite-wasm-TEMP
+dist-archive = $(dist-name).zip
+
+#ifeq (0,1)
+#  $(info WARNING  *******************************************************************)
+#  $(info ** Be sure to create the desired build configuration before creating the)
+#  $(info ** distribution archive. Use one of the following targets to do so:)
+#  $(info **   o2: builds with -O2, resulting in the fastest builds)
+#  $(info **   oz: builds with -Oz, resulting in the smallest builds)
+#  $(info /WARNING *******************************************************************)
+#endif
+
+demo-123.html := $(dir.wasm)/demo-123.html
+demo-123-worker.html := $(dir.wasm)/demo-123-worker.html
+demo-123.js := $(dir.wasm)/demo-123.js
+demo-files := $(demo-123.js) $(demo-123.html) $(demo-123-worker.html)
+README-dist := $(dir.wasm)/README-dist.txt
+$(dist-archive): $(sqlite3.wasm) $(sqlite3.js) $(sqlite3-wasmfs.wasm) $(sqlite3-wasmfs.js)
+#$(dist-archive): $(sqlite3.h) $(sqlite3.c) $(sqlite3-wasm.c)
+$(dist-archive): $(MAKEFILE.dist) $(version-info) $(demo-files) $(README-dist)
+$(dist-archive): oz
+       rm -fr $(dist-name)
+       mkdir -p $(dist-name)/main $(dist-name)/wasmfs
+       cp -p $(README-dist) $(dist-name)/README.txt
+       cp -p $(sqlite3.wasm) $(sqlite3.js) $(dist-name)/main
+       cp -p $(demo-files) $(dist-name)/main
+       cp -p $(sqlite3-wasmfs.wasm) $(sqlite3-wasmfs.js) $(dist-name)/wasmfs
+       for i in $(demo-123.js) $(demo-123.html); do \
+    sed -e 's/\bsqlite3\.js\b/sqlite3-wasmfs.js/' $$i \
+      > $(dist-name)/wasmfs/$${i##*/} || exit; \
+  done
+       vnum=$$($(version-info) --version-number); \
+       vdir=sqlite-wasm-$$vnum; \
+       arc=$$vdir.zip; \
+       rm -f $$arc; \
+       mv $(dist-name) $$vdir; \
+       zip -qr $$arc $$vdir; \
+       rm -fr $$vdir; \
+       ls -la $$arc; \
+       unzip -l $$arc
+
+#$(shell $(version-info) --version-number)
+dist: $(dist-archive)
+clean-dist:
+       rm -f $(dist-archive)
+clean: clean-dist
index 585add4270b21419d75c3b87195594569f9d774e..6f900248111b6da24265c16b309ed32035453071 100644 (file)
@@ -46,11 +46,11 @@ fiddle.EXPORTED_FUNCTIONS.in := \
     EXPORTED_FUNCTIONS.api
 
 EXPORTED_FUNCTIONS.fiddle: $(fiddle.EXPORTED_FUNCTIONS.in) $(MAKEFILE.fiddle)
-       grep -h -v jaccwabyt $(fiddle.EXPORTED_FUNCTIONS.in) | sort -u > $@
+       sort -u $(fiddle.EXPORTED_FUNCTIONS.in) > $@
 
 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.cses := $(dir.top)/shell.c $(sqlite3-wasm.c)
 
 SOAP.js := sqlite3-opfs-async-proxy.js
 $(dir.fiddle)/$(SOAP.js): $(SOAP.js)
@@ -59,10 +59,10 @@ $(dir.fiddle)/$(SOAP.js): $(SOAP.js)
 $(eval $(call call-make-pre-js,fiddle-module))
 $(fiddle-module.js): $(MAKEFILE) $(MAKEFILE.fiddle) \
     EXPORTED_FUNCTIONS.fiddle EXPORTED_RUNTIME_METHODS.fiddle \
-    $(fiddle.cs) $(pre-post-fiddle-module.deps) $(dir.fiddle)/$(SOAP.js)
+    $(fiddle.cses) $(pre-post-fiddle-module.deps) $(dir.fiddle)/$(SOAP.js)
        $(emcc.bin) -o $@ $(fiddle.emcc-flags) \
     $(pre-post-common.flags) $(pre-post-fiddle-module.flags) \
-    $(fiddle.cs)
+    $(fiddle.cses)
        $(maybe-wasm-strip) $(fiddle-module.wasm)
        gzip < $@ > $@.gz
        gzip < $(fiddle-module.wasm) > $(fiddle-module.wasm).gz
index fa8320e585c1a62c64af3ca173feff3f4af916ca..ee7b9f12bccc11a919fc6f85bc82511fa52079c9 100644 (file)
@@ -9,7 +9,6 @@ MAKEFILE.wasmfs := $(lastword $(MAKEFILE_LIST))
 
 sqlite3-wasmfs.js     := sqlite3-wasmfs.js
 sqlite3-wasmfs.wasm   := sqlite3-wasmfs.wasm
-sqlite3-wasmfs.wasm.c := $(dir.api)/sqlite3-wasm.c
 
 CLEAN_FILES += $(sqlite3-wasmfs.js) $(sqlite3-wasmfs.wasm) \
     $(subst .js,.worker.js,$(sqlite3-wasmfs.js))
@@ -27,12 +26,6 @@ sqlite3-wasmfs.cflags += -pthread
 sqlite3-wasmfs.cflags += -I. -I.. -I$(dir.top)
 sqlite3-wasmfs.cflags += $(SQLITE_OPT) -DSQLITE_WASM_WASMFS
 
-sqlite3-wasmfs.extra.c :=
-ifeq (1,1)
-  # To get testing1.js to run with $(sqlite3-wasmfs.js) we need...
-  sqlite3-wasmfs.extra.c += $(jaccwabyt_test.c)
-endif
-
 ########################################################################
 # emcc flags specific to building the final .js/.wasm file...
 sqlite3-wasmfs.jsflags := -fPIC
@@ -42,12 +35,7 @@ sqlite3-wasmfs.jsflags += -sMODULARIZE
 sqlite3-wasmfs.jsflags += -sSTRICT_JS
 sqlite3-wasmfs.jsflags += -sDYNAMIC_EXECUTION=0
 sqlite3-wasmfs.jsflags += -sNO_POLYFILL
-ifeq (,$(sqlite3-wasmfs.extra.c))
-  sqlite3-wasmfs.jsflags += -sEXPORTED_FUNCTIONS=@$(dir.api)/EXPORTED_FUNCTIONS.sqlite3-api
-else
-  # need more exports for jaccwabyt test code...
-  sqlite3-wasmfs.jsflags += -sEXPORTED_FUNCTIONS=@$(dir.wasm)/EXPORTED_FUNCTIONS.api
-endif
+sqlite3-wasmfs.jsflags += -sEXPORTED_FUNCTIONS=@$(dir.api)/EXPORTED_FUNCTIONS.sqlite3-api
 sqlite3-wasmfs.jsflags += -sEXPORTED_RUNTIME_METHODS=FS,wasmMemory,allocateUTF8OnStack
                                             # wasmMemory ==> for -sIMPORTED_MEMORY
                                             # allocateUTF8OnStack ==> wasmfs internals
@@ -78,17 +66,17 @@ sqlite3-wasmfs.jsflags += $(sqlite3-wasmfs.fsflags)
 sqlite3-wasmfs.jsflags += -sWASM_BIGINT=$(emcc_enable_bigint)
 $(eval $(call call-make-pre-js,sqlite3-wasmfs))
 sqlite3-wasmfs.jsflags += $(pre-post-common.flags) $(pre-post-sqlite3-wasmfs.flags)
-$(sqlite3-wasmfs.js): $(sqlite3-wasmfs.wasm.c) $(sqlite3-wasm.c) $(sqlite3-wasmfs.extra.c) \
+$(sqlite3-wasmfs.js): $(sqlite3-wasm.c) \
     EXPORTED_FUNCTIONS.api $(MAKEFILE) $(MAKEFILE.wasmfs) \
     $(pre-post-sqlite3-wasmfs.deps)
        @echo "Building $@ ..."
        $(emcc.bin) -o $@ $(emcc_opt_full) $(emcc.flags) \
       $(sqlite3-wasmfs.cflags) $(sqlite3-wasmfs.jsflags) \
-     $(sqlite3-wasmfs.wasm.c) $(sqlite3-wasmfs.extra.c)
+     $(sqlite3-wasm.c)
        chmod -x $(sqlite3-wasmfs.wasm)
        $(maybe-wasm-strip) $(sqlite3-wasmfs.wasm)
        @ls -la $@ $(sqlite3-wasmfs.wasm)
-
+$(sqlite3-wasmfs.wasm): $(sqlite3-wasmfs.js)
 wasmfs: $(sqlite3-wasmfs.js)
 all: wasmfs
 
index b69cf38c6d26d1301672652a74e8a063365bfd1f..c6570296a39de567543e4cb5c1c10668193fe98c 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Repair\sversion-info.c\safter\sa\slocal\smishap\scaused\sall\sof\sthe\sintended\sedits\sfrom\s[36e197cb3d0c]/[e9b407a4d0a0]\sto\sget\sdeleted\sbefore\scheckin.\sSimplify\sversion-info\sbuild\s(only\srequires\ssqlite3.h,\snot\sthe\slibrary).
-D 2022-10-17T16:47:59.012
+C Initial\sdraft\sof\sarchive\sgeneration\sfor\sthe\swasm/js\sdeliverables.
+D 2022-10-17T17:34:41.824
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -473,7 +473,7 @@ F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04
 F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb
 F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
 F ext/wasm/EXPORTED_RUNTIME_METHODS.fiddle 0e88c8cfc3719e4b7e74980d9da664c709e68acf863e48386cda376edfd3bfb0
-F ext/wasm/GNUmakefile a483eb1baec9bf997261908ed56f34a1dfc44eb2353e438ec9b1d2a7045c1d50
+F ext/wasm/GNUmakefile 2fd83d7183bce3f9236fdd2dbe20a4ea37b1d7b26e1a422054ec63008319f065
 F ext/wasm/README.md 1e5b28158b74ab3ffc9d54fcbc020f0bbeb82c2ff8bbd904214c86c70e8a3066
 F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api 89983a8d122c35a90c65ec667844b95a78bcd04f3198a99c1e0c8368c1a0b03a
 F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287
@@ -503,7 +503,8 @@ F ext/wasm/demo-123.html 7c239c9951d1b113f9f532969ac039294cf1dcfee2b3ae0a2c1ed2b
 F ext/wasm/demo-123.js e0cbeb3495e14103763d5c49794a24d67cf3d78e0ed5b82843be70c0c2ee4b3b
 F ext/wasm/demo-kvvfs1.html 7d4f28873de67f51ac18c584b7d920825139866a96049a49c424d6f5a0ea5e7f
 F ext/wasm/demo-kvvfs1.js 105596bd2ccd0b1deb5fde8e99b536e8242d4bb5932fac0c8403ff3a6bc547e8
-F ext/wasm/fiddle.make 3f4efd62bc2a9c883bfcea52ae2755114a62d444d6d042df287f4aef301d6c6c
+F ext/wasm/dist.make d7076e90f04396f1cc54cb41ee106451496179c10d54bbdebb65ae7b1ae12211
+F ext/wasm/fiddle.make b609dfde299b4523d7123b7e0cecaa1a0aff0dd984e62cea653aae91f5063c90
 F ext/wasm/fiddle/emscripten.css 3d253a6fdb8983a2ac983855bfbdd4b6fa1ff267c28d69513dd6ef1f289ada3f
 F ext/wasm/fiddle/fiddle-worker.js 531859a471924a0ea48afa218e6877f0c164ca324d51e15843ed6ecc1c65c7ee
 F ext/wasm/fiddle/fiddle.html 5daf54e8f3d7777cbb1ca4f93affe28858dbfff25841cb4ab81d694efed28ec2
@@ -534,7 +535,7 @@ F ext/wasm/testing1.html 50575755e43232dbe4c2f97c9086b3118eb91ec2ee1fae931e6d766
 F ext/wasm/testing2.html a66951c38137ff1d687df79466351f3c734fa9c6d9cce71d3cf97c291b2167e3
 F ext/wasm/testing2.js 88f40ef3cd8201bdadd120a711c36bbf0ce56cc0eab1d5e7debb71fed7822494
 F ext/wasm/version-info.c 5fa356d38859d71a0369b5c37e1935def7413fcc8a4e349a39d9052c1d0479f4
-F ext/wasm/wasmfs.make 3cce1820006196de140f90f2da4b4ea657083fb5bfee7d125be43f7a85748c8f
+F ext/wasm/wasmfs.make 9a51480d0a5ef33dd1c06c305379775302b735cb27737c2490ea449575ca5e25
 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
 F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
 F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
@@ -2033,8 +2034,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 b6413a6dff8ac9b7088b1381afbbbf799e376455d11786530cc5fc825747ab53
-R 178294a2ffbab5bdb66a3de75a26d638
+P 6e511df500c63e27f932be9d601b641144562614dead99371477eca4594fb3fd
+R ac89799bd8dcc9e62a5727e545f26c38
 U stephan
-Z 39b6a8dbd3ac1d229c47b7711c3bc156
+Z 4dda775375ae46314750ace83110f63b
 # Remove this line to create a well-formed Fossil manifest.
index ccf652c86fc32aa59f7f8afd405ac39e8fa9f243..03196c2b8bbdfc72b1e25d96ddfbfa7b4ae7b717 100644 (file)
@@ -1 +1 @@
-6e511df500c63e27f932be9d601b641144562614dead99371477eca4594fb3fd
\ No newline at end of file
+f6cee114c71e11ca1f508c8f60be5753871cbd4fd6c45ce397824bddbf00ffd9
\ No newline at end of file