Files
riscv64-kernel/crates/io/justfile

50 lines
1.4 KiB
Makefile

RUST_SRC := `rustc --print sysroot` / "lib/rustlib/src/rust/library/std/src"
copy-io:
#!/usr/bin/env bash
set -e
FILES=(
"io/error/repr_unpacked.rs"
"io/error/repr_bitpacked.rs"
"io/error.rs"
"io/buffered/mod.rs"
"io/buffered/linewriter.rs"
"io/buffered/linewritershim.rs"
"io/buffered/bufwriter.rs"
"io/buffered/bufreader.rs"
"io/buffered/bufreader/buffer.rs"
"io/copy.rs"
"io/cursor.rs"
"io/impls.rs"
"io/prelude.rs"
"io/util.rs"
"io/mod.rs"
)
for f in "${FILES[@]}"; do
echo "Processing $f..."
DEST="src/$f"
mkdir -p "$(dirname "$DEST")"
cp "{{ RUST_SRC }}/$f" "$DEST"
sed -i -E -n '$!N; /^#\[cfg\(test\)\]\nmod tests/d; P; D' "$DEST"
if [[ "$f" == "io/error.rs" ]]; then
sed -i "s/alloc::/alloc_crate::/g" "$DEST"
fi
if [[ "$f" == "io/mod.rs" ]]; then
sed -i "/mod pipe/d" "$DEST"
sed -i "/self::pipe/d" "$DEST"
sed -i "/mod stdio/d" "$DEST"
sed -i "/stdio::/d" "$DEST"
sed -i "/self::stdio/d" "$DEST"
sed -i "/feature = \"is_terminal\"/d" "$DEST"
sed -i "/feature = \"print_internals\"/d" "$DEST"
sed -i "/feature = \"internal_output_capture\"/d" "$DEST"
sed -i "/feature = \"anonymous_pipe\"/d" "$DEST"
fi
done