build: More fixes and tweaks to unify the builds

This commit is contained in:
Jeremy Wall 2024-07-02 20:45:50 -05:00
parent 6087d31aad
commit 63463fb5d6
5 changed files with 16 additions and 17 deletions

View File

@ -14,11 +14,8 @@
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST))) mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
mkfile_dir := $(dir $(mkfile_path)) mkfile_dir := $(dir $(mkfile_path))
sqlite_url := sqlite://$(mkfile_dir)/.session_store/store.db sqlite_url := sqlite://$(mkfile_dir)/.session_store/store.db
out := dist export out := dist
project := kitchen export project := kitchen
export out
export kitchen
kitchen: wasm kitchen/src/*.rs kitchen: wasm kitchen/src/*.rs
cd kitchen; cargo build cd kitchen; cargo build

View File

@ -1,6 +1,5 @@
{pkgs? (import <nixpkgs>) {}, {pkgs? (import <nixpkgs>) {},
version, version,
features ? "",
rust-wasm, rust-wasm,
wasm-bindgen, wasm-bindgen,
lockFile, lockFile,
@ -27,18 +26,15 @@ stdenv.mkDerivation {
cp -r ./cargo-vendor-dir/.cargo ./ cp -r ./cargo-vendor-dir/.cargo ./
cp -r $src/* ./ cp -r $src/* ./
''; '';
# TODO(jwall): Build this from the root rather than the src. # TODO(jwall): Use the makefile for as much of this as possible.
buildPhase = '' buildPhase = ''
mkdir -p $out mkdir -p $out
cd web cd web
cp -r static $out cp -r static $out
export project=kitchen
sh ../scripts/wasm-build.sh release sh ../scripts/wasm-build.sh release
#cargo build --lib --release --target wasm32-unknown-unknown --target-dir $out ${features} --offline sh ../scripts/wasm-opt.sh release
#wasm-bindgen $out/wasm32-unknown-unknown/release/kitchen_wasm.wasm --out-dir $out --typescript --target web
#sh ../scripts/wasm-opt.sh release
wasm-opt $out/kitchen_wasm_bg.wasm -o $out/kitchen_wasm_bg-opt.wasm -O
rm -f $out/kitchen_wasm_bg.wasm rm -f $out/kitchen_wasm_bg.wasm
mv $out/kitchen_wasm_bg-opt.wasm $out/kitchen_wasm_bg.wasm
cp -r index.html $out cp -r index.html $out
cp -r favicon.ico $out cp -r favicon.ico $out
rm -rf $out/release rm -rf $out/release

View File

@ -1,9 +1,11 @@
set -x set -x
buildtype=$1; buildtype=$1;
mkdir -p $out
if [ ${buildtype} = "release" ]; then if [ ${buildtype} = "release" ]; then
buildtype_flag="--release" buildtype_flag="--release"
fi fi
cargo build --lib ${buildtype_flag} --target wasm32-unknown-unknown --target-dir $out --features debug_logs cargo build --lib ${buildtype_flag} --target wasm32-unknown-unknown --target-dir $out --features debug_logs
wasm-bindgen $out/wasm32-unknown-unknown/${buildtype}/kitchen_wasm.wasm --out-dir $out --typescript --target web wasm-bindgen $out/wasm32-unknown-unknown/${buildtype}/${project}_wasm.wasm --out-dir $out --typescript --target web

View File

@ -1,6 +1,6 @@
set -x set -x
buildtype=$1; buildtype=$1;
wasm-opt $out/wasm32-unknown-unkown/${buildtype}/${project}_wasm.wasm --out-dir dist/ -O wasm-opt $out/wasm32-unknown-unknown/${buildtype}/${project}_wasm.wasm --output $out/${project}_wasm_bg-opt.wasm -O
rm -f $out/${project}_wasm_bg.wasm rm -f $out/${project}_wasm_bg.wasm
mv $out/${project}_wasm_bg-opt.wasm dist/${project}_wasm_bg.wasm mv $out/${project}_wasm_bg-opt.wasm $out/${project}_wasm_bg.wasm

View File

@ -47,7 +47,6 @@ features = ["serde"]
version = "0.4.0" version = "0.4.0"
[dependencies.wasm-bindgen] [dependencies.wasm-bindgen]
# we need wasm-bindgen v0.2.84 exactly
version = "= 0.2.89" version = "= 0.2.89"
[dependencies.web-sys] [dependencies.web-sys]
@ -71,7 +70,12 @@ features = [
"PopStateEvent", "PopStateEvent",
"Url", "Url",
"Window", "Window",
"Storage" "IdbFactory",
"IdbOpenDbRequest",
"IdbRequest",
"IdbDatabase",
"IdbRequestReadyState",
"Storage",
] ]
[dependencies.sycamore] [dependencies.sycamore]