Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 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
4b3865b
build: add Rust to CI docker image, cross-compile targets
kwvg Feb 2, 2026
1ed08e5
build: add minimal stub crate to validate Rust integration
kwvg Feb 2, 2026
db8e474
lint: exclude `rust/` from linters
kwvg Jan 11, 2026
be3bde0
build: introduce barebones Autotools integration with Rust
kwvg Feb 2, 2026
731cc7b
build: propagate SDK version to Rust compiler
kwvg Jan 15, 2026
b36de5d
build: propagate macOS SDK path to Rust compiler
kwvg Jan 18, 2026
972bf2e
build: use debug profile for Rust components if `--enable-debug` set
kwvg Jan 16, 2026
778b924
build: propagate target build variables to Rust components
kwvg Jan 17, 2026
c45e735
build: propagate host build variables to Rust components
kwvg Jan 22, 2026
62c01c7
debug: Add log that validates successful FFI invocation at init
kwvg Jan 15, 2026
19a15a8
depends: integrate Rust and `cxxbridge` into depends
kwvg Feb 6, 2026
8bec48e
build: drop Rust from CI docker image
kwvg Jan 12, 2026
689a910
depends: add support for vendored crates for offline builds
kwvg Feb 6, 2026
3216045
fix: avoid triggering `rustup` if building from depends
kwvg Jan 16, 2026
925c2a6
fix: workaround `Directory renamed before its status could be extracted`
kwvg Jan 16, 2026
e011d45
fix: copy native binaries for access within Guix context
kwvg Jan 17, 2026
8908b57
fix: patch loader paths to Guix store locations
kwvg Jan 29, 2026
e2d9839
refactor: split rust runner (builder) and standard library (cross)
kwvg Feb 6, 2026
e15d840
build: switch to Rust 1.85.1, use musl stdlib to avoid Guix glibc issues
kwvg Jan 28, 2026
eac4f6e
build: update to macOS 15.2 SDK from Xcode 16.0
kwvg Feb 6, 2026
2572d05
build: unset `C{,PLUS}_INCLUDE_PATH` to avoid cross-toolchain conflict
kwvg Jan 18, 2026
30aaf2c
fix: include resource directory in search path for include resolution
kwvg Jan 18, 2026
2456890
fix: resolve issues with dist builds
kwvg Feb 2, 2026
409e205
contrib: add `Cargo.lock` update script
kwvg Feb 6, 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"

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

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

# Windows
[target.x86_64-pc-windows-gnu]
linker = "x86_64-w64-mingw32-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