Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
44a6875
build: make list of cross compilers more explicit, switch to ARMv8
kwvg Jan 22, 2026
a829b87
build: add Rust to CI docker image, cross-compile targets
kwvg Jan 12, 2026
d3c281c
build: add minimal stub crate to validate Rust integration
kwvg Jan 16, 2026
3bab316
lint: exclude `rust/` from linters
kwvg Jan 11, 2026
4c6112e
build: introduce barebones Autotools integration with Rust
kwvg Jan 24, 2026
7072ae7
build: propagate SDK version to Rust compiler
kwvg Jan 15, 2026
7ab541b
build: propagate macOS SDK path to Rust compiler
kwvg Jan 18, 2026
04f682a
build: use debug profile for Rust components if `--enable-debug` set
kwvg Jan 16, 2026
ffbeb8d
build: propagate target build variables to Rust components
kwvg Jan 17, 2026
16a7939
build: propagate host build variables to Rust components
kwvg Jan 22, 2026
edfa023
debug: Add log that validates successful FFI invocation at init
kwvg Jan 15, 2026
2161d20
depends: integrate Rust and `cxxbridge` into depends
kwvg Jan 17, 2026
e7b1fbc
build: drop Rust from CI docker image
kwvg Jan 12, 2026
b9cf9bd
depends: add support for vendored crates for offline builds
kwvg Jan 24, 2026
be5c60e
fix: avoid triggering `rustup` if building from depends
kwvg Jan 16, 2026
5163cc8
fix: workaround `Directory renamed before its status could be extracted`
kwvg Jan 16, 2026
7966f00
fix: copy native binaries for access within Guix context
kwvg Jan 17, 2026
a571997
fix: patch loader paths to Guix store locations
kwvg Jan 22, 2026
e94f721
refactor: split rust runner (builder) and standard library (cross)
kwvg Jan 18, 2026
4dfc2b5
build: switch to Rust 1.85.1, use musl stdlib to avoid Guix glibc issues
kwvg Jan 18, 2026
aad3628
build: update to macOS 15.2 SDK from Xcode 16.0
kwvg Jan 22, 2026
9a6795c
build: unset `C{,PLUS}_INCLUDE_PATH` to avoid cross-toolchain conflict
kwvg Jan 18, 2026
fd7954e
fix: include resource directory in search path for include resolution
kwvg Jan 18, 2026
68f1157
fix: resolve issues with dist builds
kwvg Jan 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .cargo/config.toml.offline
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Linux
[target.aarch64-unknown-linux-musl]
linker = "aarch64-linux-gnu-gcc"

[target.armv7-unknown-linux-musleabihf]
linker = "arm-linux-gnueabihf-gcc"

[target.powerpc64le-unknown-linux-musl]
linker = "powerpc64le-linux-gnu-gcc"

[target.riscv64gc-unknown-linux-musl]
linker = "riscv64-linux-gnu-gcc"

[target.x86_64-unknown-linux-musl]
linker = "x86-64-linux-gnu-gcc"

# Windows
[target.x86_64-pc-windows-gnu]
linker = "x86_64-w64-mingw32-gcc"

# macOS
# [target.aarch64-apple-darwin]
# linker = "aarch64-apple-darwin-gcc"

# [target.x86_64-apple-darwin]
# linker = "x86_64-apple-darwin-gcc"

[source.crates-io]
replace-with = "vendored-sources"

[source.vendored-sources]
# The directory for this source is set to RUST_VENDORED_SOURCES by rust/Makefile.am
20 changes: 10 additions & 10 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,13 @@ jobs:
file: ./contrib/containers/ci/ci-slim.Dockerfile
name: dashcore-ci-slim

depends-arm-linux:
name: arm-linux-gnueabihf
depends-aarch64-linux:
name: aarch64-linux-gnu
uses: ./.github/workflows/build-depends.yml
needs: [container, cache-sources]
if: ${{ vars.SKIP_ARM_LINUX == '' }}
with:
build-target: arm-linux
build-target: aarch64-linux
container-path: ${{ needs.container.outputs.path }}

depends-linux64:
Expand Down Expand Up @@ -131,16 +131,16 @@ jobs:
with:
container-path: ${{ needs.container-slim.outputs.path }}

src-arm-linux:
name: arm-linux-build
src-aarch64-linux:
name: aarch64-linux-build
uses: ./.github/workflows/build-src.yml
needs: [container, depends-arm-linux]
needs: [container, depends-aarch64-linux]
with:
build-target: arm-linux
build-target: aarch64-linux
container-path: ${{ needs.container.outputs.path }}
depends-key: ${{ needs.depends-arm-linux.outputs.key }}
depends-host: ${{ needs.depends-arm-linux.outputs.host }}
depends-dep-opts: ${{ needs.depends-arm-linux.outputs.dep-opts }}
depends-key: ${{ needs.depends-aarch64-linux.outputs.key }}
depends-host: ${{ needs.depends-aarch64-linux.outputs.host }}
depends-dep-opts: ${{ needs.depends-aarch64-linux.outputs.dep-opts }}

src-linux64:
name: linux64-build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/guix-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:
runs-on: ubuntu-24.04-arm
strategy:
matrix:
build_target: [x86_64-linux-gnu, arm-linux-gnueabihf, aarch64-linux-gnu, riscv64-linux-gnu, powerpc64-linux-gnu, x86_64-w64-mingw32, x86_64-apple-darwin, arm64-apple-darwin]
build_target: [x86_64-linux-gnu, aarch64-linux-gnu, riscv64-linux-gnu, powerpc64-linux-gnu, x86_64-w64-mingw32, x86_64-apple-darwin, arm64-apple-darwin]

timeout-minutes: 480
steps:
Expand Down
23 changes: 23 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -175,3 +175,26 @@ test/lint/.cppcheck/*
# Editor and tooling
.vscode/
compile_commands.json

# Generated by Cargo
# will have compiled files and executables
debug
target

# Cargo configuration
.cargo/.configured-for-*
.cargo/config
.cargo/config.toml

# These are backup files generated by rustfmt
**/*.rs.bk

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

# Generated by cargo mutants
# Contains mutation testing data
**/mutants.out*/

# FFI bridge
gen
Loading
Loading