Compare commits

...

2 Commits

Author SHA1 Message Date
xfy
56adbcf227 build: strip symbols from release binaries
Some checks failed
CI / check (push) Failing after 6m6s
CI / build (push) Has been skipped
2026-06-16 17:53:05 +08:00
xfy
0159b2321a 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.
2026-06-16 17:53:05 +08:00
3 changed files with 12 additions and 1 deletions

9
.cargo/config.toml Normal file
View 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"

View File

@ -50,6 +50,7 @@ debug = false
opt-level = 3
lto = "thin"
codegen-units = 1
strip = "symbols"
[features]
default = ["web", "server"]

View File

@ -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