50 lines
1.4 KiB
Makefile
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
|