0.3.6 on both PCs: igneumd.exe (built on PC 1 with GCC 13's mingw) shipped with the Mac toolchain's GCC 16 libstdc++-6.dll, which no longer exports seven symbols the exe imports (std::codecvt_utf8_utf16 and a stringbuf::seekpos); Windows refused the node with Entry Point Not Found. -C link-arg=-static had never removed the libstdc++ import (0.3.5's Mac-built exe carries it too). - packaging/windows/check-runtime-dlls.sh: objdump imports per DLL against the DLL's exports; shown to fail the 0.3.6 pairing (7 missing) and pass 0.3.5's; run by push-inputs.sh before signing and by make-payload.sh - push-inputs.sh: DLLs next to the exes first, then the Mac toolchain - jobbuild.rs: the PC's windows stage copies its own toolchain's three DLLs into the pack (unit test); build-job.mjs accepts the small DLL PE files and places them next to the exes - cross-build.sh: -static-libstdc++ added as a try (measured on the 0.3.7 build) - the six version files: 0.3.7
42 lines
1.4 KiB
TOML
42 lines
1.4 KiB
TOML
[package]
|
|
name = "igneum-app"
|
|
version = "0.3.7"
|
|
edition = "2021"
|
|
description = "Igneum Miner engine: supervises the node, the miner and the GPU workers, and serves the dashboard on 127.0.0.1"
|
|
license = "MIT"
|
|
publish = false
|
|
build = "build.rs" # Windows targets: links resources/igneum-app.rc (coin icon, version block) into the exe
|
|
|
|
[[bin]]
|
|
name = "igneum-app"
|
|
path = "src/main.rs"
|
|
|
|
# the publisher's manifest signer (packaging/ota/publish-manifest.sh); built here, never shipped
|
|
[[bin]]
|
|
name = "igneum-ota-sign"
|
|
path = "src/bin/ota-sign.rs"
|
|
|
|
# the Windows proof verifier wrapper (release 0.3.6): the node runs it as IGNEUM_PROOF_VERIFIER and it runs
|
|
# igneum-prove-host inside WSL2; shipped next to the engine by packaging/windows/make-payload.sh
|
|
[[bin]]
|
|
name = "igneum-prove-verify"
|
|
path = "src/bin/prove-verify.rs"
|
|
|
|
[dependencies]
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
k256 = { version = "0.13", default-features = false, features = ["arithmetic", "std"] }
|
|
sha3 = { version = "0.10", default-features = false }
|
|
getrandom = "0.2"
|
|
# over-the-air updates (src/manifest.rs, src/ota.rs): Ed25519 manifest signatures and sha256 of the downloads
|
|
ed25519-dalek = { version = "2", default-features = false, features = ["std"] }
|
|
sha2 = { version = "0.10", default-features = false }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[profile.release]
|
|
opt-level = 2
|
|
lto = "thin"
|
|
codegen-units = 4
|
|
strip = true
|