Add more from the std

This commit is contained in:
2026-03-20 10:30:23 +01:00
parent 48a75485b6
commit a134536d2f
92 changed files with 440 additions and 25793 deletions

View File

@@ -21,6 +21,11 @@ update-std:
@just patch-std
cp_std path:
@echo "Linking {{ path }}"
@mkdir {{ "std/src" / parent_directory(path) }} -p
@ln -fs {{ RUST_SRC / "std/src" / path }} {{ "std/src" / parent_directory(path) }}
real_cp_std path:
@echo "Copying {{ path }}"
@mkdir {{ "std/src" / parent_directory(path) }} -p
@cp {{ RUST_SRC / "std/src" / path }} {{ "std/src" / path }}
@@ -43,7 +48,9 @@ setup-std:
ln -fs {{ RUST_SRC / "profiler_builtins" }} "."
ln -fs {{ RUST_SRC / "test" }} "."
@# Complete
@just cp_std "../build.rs"
@sed -i "59a\ || target_os == \"survos\"" std/build.rs
@just cp_std "alloc.rs"
@just cp_std "ascii.rs"
@just cp_std "backtrace.rs"
@@ -61,51 +68,38 @@ setup-std:
@just cp_std "process.rs"
@just cp_std "random.rs"
@just cp_std "rt.rs"
# @just cp_std "tests_helpers.rs"
@just cp_std "tests_helpers.rs"
@just cp_std "time.rs"
@# Complete
ln -fs {{ RUST_SRC / "std/src/backtrace" }} "std/src/"
@just cp_std "backtrace"
@# Complete
ln -fs {{ RUST_SRC / "std/src/collections" }} "std/src/"
@just cp_std "collections"
@# Complete
ln -fs {{ RUST_SRC / "std/src/ffi" }} "std/src/"
@just cp_std "ffi"
@# Complete
ln -fs {{ RUST_SRC / "std/src/fs" }} "std/src/"
@just cp_std "fs"
@# Complete
ln -fs {{ RUST_SRC / "std/src/hash" }} "std/src/"
@just cp_std "hash"
@# Complete
ln -fs {{ RUST_SRC / "std/src/io" }} "std/src/"
@just cp_std "io"
@# Complete
ln -fs {{ RUST_SRC / "std/src/net" }} "std/src/"
@just cp_std "net"
@# Complete
ln -fs {{ RUST_SRC / "std/src/num" }} "std/src/"
@just cp_std "num"
@# Complete
@just cp_std "os/raw/mod.rs"
@just cp_std "os/raw/tests.rs"
@just cp_std "os/mod.rs"
@# Complete
ln -fs {{ RUST_SRC / "std/src/prelude" }} "std/src/"
@just cp_std "prelude"
@# Complete
ln -fs {{ RUST_SRC / "std/src/process" }} "std/src/"
@just cp_std "process"
@# Complete
ln -fs {{ RUST_SRC / "std/src/sync" }} "std/src/"
@just cp_std "sync"
@# Complete
@just cp_std "sys/alloc/mod.rs"
@just cp_std "sys/args/mod.rs"
@just real_cp_std "sys/args/mod.rs"
@just cp_std "sys/args/unsupported.rs"
@just cp_std "sys/env/mod.rs"
@@ -124,7 +118,7 @@ setup-std:
@just cp_std "sys/helpers/wstr.rs"
@just cp_std "sys/io/error/generic.rs"
@just cp_std "sys/io/error/mod.rs"
@just real_cp_std "sys/io/error/mod.rs"
@just cp_std "sys/io/io_slice/unsupported.rs"
@just cp_std "sys/io/is_terminal/unsupported.rs"
@just cp_std "sys/io/kernel_copy/mod.rs"
@@ -140,7 +134,7 @@ setup-std:
@just cp_std "sys/os_str/bytes.rs"
@just cp_std "sys/os_str/mod.rs"
@just cp_std "sys/pal/mod.rs"
@just real_cp_std "sys/pal/mod.rs"
@just cp_std "sys/pal/unsupported/mod.rs"
@just cp_std "sys/pal/unsupported/common.rs"
@just cp_std "sys/pal/unsupported/os.rs"
@@ -162,7 +156,7 @@ setup-std:
@just cp_std "sys/process/env.rs"
@just cp_std "sys/process/unsupported.rs"
@just cp_std "sys/random/mod.rs"
@just real_cp_std "sys/random/mod.rs"
@just cp_std "sys/random/unsupported.rs"
@just cp_std "sys/stdio/mod.rs"
@@ -184,7 +178,7 @@ setup-std:
@just cp_std "sys/thread/mod.rs"
@just cp_std "sys/thread/unsupported.rs"
@just cp_std "sys/thread_local/mod.rs"
@just real_cp_std "sys/thread_local/mod.rs"
@just cp_std "sys/thread_local/no_threads.rs"
@just cp_std "sys/thread_local/os.rs"
@@ -198,8 +192,115 @@ setup-std:
@just cp_std "sys/exit.rs"
@just cp_std "sys/mod.rs"
@# Complete
ln -fs {{ RUST_SRC / "std/src/thread" }} "std/src/"
@just cp_std "thread"
STD_FILES := "alloc.rs \
ascii.rs \
backtrace.rs \
bstr.rs \
env.rs \
error.rs \
fs.rs \
keyword_docs.rs \
lib.rs \
macros.rs \
panic.rs \
panicking.rs \
pat.rs \
path.rs \
process.rs \
random.rs \
rt.rs \
tests_helpers.rs \
time.rs \
backtrace \
collections \
ffi \
fs \
hash \
io \
net \
num \
os/raw/mod.rs \
os/raw/tests.rs \
os/mod.rs \
prelude \
process \
sync \
sys/alloc/mod.rs \
sys/args/mod.rs \
sys/args/unsupported.rs \
sys/env/mod.rs \
sys/env/common.rs \
sys/env/unsupported.rs \
sys/fd/mod.rs \
sys/fs/mod.rs \
sys/fs/common.rs \
sys/fs/unsupported.rs \
sys/helpers/mod.rs \
sys/helpers/small_c_string.rs \
sys/helpers/tests.rs \
sys/helpers/wstr.rs \
sys/io/error/generic.rs \
sys/io/error/mod.rs \
sys/io/io_slice/unsupported.rs \
sys/io/is_terminal/unsupported.rs \
sys/io/kernel_copy/mod.rs \
sys/io/mod.rs \
sys/net/connection/mod.rs \
sys/net/connection/unsupported.rs \
sys/net/hostname/mod.rs \
sys/net/hostname/unsupported.rs \
sys/net/mod.rs \
sys/os_str/bytes/tests.rs \
sys/os_str/bytes.rs \
sys/os_str/mod.rs \
sys/pal/mod.rs \
sys/pal/unsupported/mod.rs \
sys/pal/unsupported/common.rs \
sys/pal/unsupported/os.rs \
sys/path/mod.rs \
sys/path/unix.rs \
sys/personality/dwarf/eh.rs \
sys/personality/dwarf/mod.rs \
sys/personality/dwarf/tests.rs \
sys/personality/mod.rs \
sys/pipe/mod.rs \
sys/pipe/unsupported.rs \
sys/platform_version/mod.rs \
sys/process/mod.rs \
sys/process/env.rs \
sys/process/unsupported.rs \
sys/random/mod.rs \
sys/random/unsupported.rs \
sys/stdio/mod.rs \
sys/stdio/unsupported.rs \
sys/sync/condvar/mod.rs \
sys/sync/condvar/no_threads.rs \
sys/sync/mutex/mod.rs \
sys/sync/mutex/no_threads.rs \
sys/sync/once/mod.rs \
sys/sync/once/no_threads.rs \
sys/sync/rwlock/mod.rs \
sys/sync/rwlock/no_threads.rs \
sys/sync/thread_parking/mod.rs \
sys/sync/thread_parking/unsupported.rs \
sys/sync/mod.rs \
sys/sync/once_box.rs \
sys/thread/mod.rs \
sys/thread/unsupported.rs \
sys/thread_local/mod.rs \
sys/thread_local/no_threads.rs \
sys/thread_local/os.rs \
sys/time/mod.rs \
sys/time/unsupported.rs \
sys/backtrace.rs \
sys/cmath.rs \
sys/configure_builtins.rs \
sys/env_consts.rs \
sys/exit.rs \
sys/mod.rs \
thread"
build-sysroot: update-std
RUSTFLAGS="-Zforce-unstable-if-unmarked -C relocation-model=pic -C link-arg=-pie" cargo build --target ../riscv64.json
@@ -208,35 +309,11 @@ build-sysroot: update-std
cp target/riscv64/debug/deps/*.rlib ../sysroot/lib/rustlib/riscv64/lib
clean:
cargo clean
# cargo clean
rm ../sysroot/lib/rustlib/riscv64/lib/* -rf
rm -f alloc
rm -f compiler-builtins
rm -f panic_abort
rm -f panic_unwind
rm -f windows_link
rm -f portable-simd
rm -f unwind
rm -f std_detect
rm -f stdarch
rm -f rustc-std-workspace-alloc
rm -f rustc-std-workspace-core
rm -f proc_macro
rm -f profiler_builtins
rm -f test
for file in {{ STD_FILES }}; do \
rm -rf std/src/$file; \
done
rm -rf std/src/backtrace
rm -rf std/src/thread
rm -rf std/src/sync
rm -rf std/src/collections
rm -rf std/src/ffi
rm -rf std/src/fs
rm -rf std/src/num
rm -rf std/src/net
rm -rf std/src/io
rm -rf std/src/hash
rm -rf std/src/prelude
rm -rf std/src/process
# rm -f Cargo.toml
rm -rf std/build.rs