fix(build): make build-linux produce a statically linked musl binary
- Work around Dioxus 0.7.9 leaking getrandom_backend=wasm_js cfg into the musl server build by disabling DX's auto flag and setting it only for wasm32 in .cargo/config.toml. - Split build-linux into @client and @server steps so the server build can explicitly enable the server feature and target x86_64-unknown-linux-musl. - Configure the musl linker to use x86_64-linux-musl-gcc.
This commit is contained in:
parent
2caca3a48d
commit
0159b2321a
9
.cargo/config.toml
Normal file
9
.cargo/config.toml
Normal file
@ -0,0 +1,9 @@
|
||||
# Workaround for Dioxus 0.7.9 leaking the wasm_js getrandom backend cfg
|
||||
# into the server build. We disable DX's automatic flag in the Makefile
|
||||
# and set it only for the wasm32 target here.
|
||||
[target.wasm32-unknown-unknown]
|
||||
rustflags = ["--cfg", "getrandom_backend=\"wasm_js\""]
|
||||
|
||||
# Uncomment and adjust after installing a musl C toolchain:
|
||||
[target.x86_64-unknown-linux-musl]
|
||||
linker = "x86_64-linux-musl-gcc"
|
||||
3
Makefile
3
Makefile
@ -10,7 +10,8 @@ build-linux:
|
||||
@$(MAKE) build-editor
|
||||
@$(MAKE) highlight-css
|
||||
@tailwindcss -i input.css -o public/style.css --minify
|
||||
@dx build --release --debug-symbols=false --target x86_64-unknown-linux-musl
|
||||
@dx build @client --release --debug-symbols=false --wasm-js-cfg false
|
||||
@dx build @server --release --debug-symbols=false --target x86_64-unknown-linux-musl --wasm-js-cfg false --features server
|
||||
|
||||
highlight-css:
|
||||
@cargo run --bin generate_highlight_css
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user