mirror of
https://github.com/saymrwulf/xous-core.git
synced 2026-11-04 04:27:34 +00:00
This pulls together many disparate repositories into one xous-core repository. Signed-off-by: Sean Cross <sean@xobs.io>
46 lines
2.2 KiB
PowerShell
46 lines
2.2 KiB
PowerShell
$rust_root=(Get-Location).ToString() + "\rust"
|
|
$env:RUSTC_BOOTSTRAP=1
|
|
$env:RUST_TARGET_PATH="$rust_root\xous-sysroot"
|
|
$env:RUSTFLAGS="--sysroot $rust_root\xous-sysroot"
|
|
$env:CC="riscv64-unknown-elf-gcc"
|
|
$env:AR="riscv64-unknown-elf-ar"
|
|
|
|
# Get the current rust tag (currently 1.41.0)
|
|
$rust_tag=(rustc -Vv | Select-String "release: ").ToString().Replace("release: ", "")
|
|
|
|
# Clone the latest Rust source
|
|
# git stash
|
|
Write-Output "Checking out Rust $rust_tag-xous..."
|
|
git clone 'git@github.com:xous-os/rust.git' rust
|
|
git checkout $rust_tag-xous
|
|
git submodule init
|
|
git submodule sync
|
|
git submodule update
|
|
|
|
Set-Location $rust_root/src
|
|
git clone --recursive https://github.com/rust-lang/compiler-builtins.git
|
|
|
|
mkdir -Force $rust_root\xous-sysroot
|
|
mkdir -Force $rust_root\xous-sysroot\lib\rustlib\riscv32imac-unknown-xous-elf\lib
|
|
|
|
Write-Output "Creating riscv32imac-unknown-xous-elf.json..."
|
|
$orig_json=(rustc --target riscv32imac-unknown-none-elf --print target-spec-json -Z unstable-options | Where-Object { $_ -notmatch "is-builtin" })
|
|
$orig_json.replace('"os": "none",', '"os": "xous",') | Out-File -FilePath $rust_root\xous-sysroot\riscv32imac-unknown-xous-elf.json -Encoding ascii
|
|
|
|
Set-Location $rust_root/src/libcore
|
|
cargo build --release --target riscv32imac-unknown-xous-elf
|
|
Copy-Item $rust_root/target/riscv32imac-unknown-xous-elf/release/libcore.rlib $rust_root\xous-sysroot\lib\rustlib\riscv32imac-unknown-xous-elf\lib
|
|
|
|
Set-Location $rust_root/src/liballoc
|
|
cargo build --release --target riscv32imac-unknown-xous-elf
|
|
Copy-Item $rust_root/target/riscv32imac-unknown-xous-elf/release/liballoc.rlib $rust_root\xous-sysroot\lib\rustlib\riscv32imac-unknown-xous-elf\lib
|
|
|
|
Set-Location $rust_root/src/compiler-builtins
|
|
cargo build --release --target riscv32imac-unknown-xous-elf --features mem
|
|
Copy-Item target/riscv32imac-unknown-xous-elf/release/libcompiler_builtins.rlib $rust_root\xous-sysroot\lib\rustlib\riscv32imac-unknown-xous-elf\lib
|
|
|
|
Set-Location $rust_root/src/libstd
|
|
cargo build --release --target riscv32imac-unknown-xous-elf
|
|
Copy-Item $rust_root/target/riscv32imac-unknown-xous-elf/release/libstd.rlib $rust_root\xous-sysroot\lib\rustlib\riscv32imac-unknown-xous-elf\lib
|
|
|
|
Set-Location $rust_root
|