mirror of
https://github.com/leanprover/lean4.git
synced 2026-03-17 18:34:06 +00:00
34 lines
1009 B
Bash
Executable File
34 lines
1009 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
rm -rf stage0 || true
|
|
# don't copy untracked files
|
|
# `:!` is git glob flavor for exclude patterns
|
|
for f in $(git ls-files src ':!:src/lake/*' ':!:src/Leanc.lean'); do
|
|
if [[ $f == *.lean ]]; then
|
|
f=${f#src/}
|
|
f=${f%.lean}.c
|
|
mkdir -p $(dirname stage0/stdlib/$f)
|
|
cp ${CP_C_PARAMS:-} $CSRCS/$f stage0/stdlib/$f
|
|
else
|
|
mkdir -p $(dirname stage0/$f)
|
|
cp $f stage0/$f
|
|
fi
|
|
done
|
|
|
|
# special handling for Lake files due to its nested directory
|
|
# copy the README to ensure the `stage0/src/lake` directory is committed
|
|
for f in $(git ls-files 'src/lake/Lake/*' src/lake/Lake.lean src/lake/LakeMain.lean src/lake/README.md ':!:src/lakefile.toml'); do
|
|
if [[ $f == *.lean ]]; then
|
|
f=${f#src/lake}
|
|
f=${f%.lean}.c
|
|
mkdir -p $(dirname stage0/stdlib/$f)
|
|
cp ${CP_C_PARAMS:-} $CSRCS/$f stage0/stdlib/$f
|
|
else
|
|
mkdir -p $(dirname stage0/$f)
|
|
cp $f stage0/$f
|
|
fi
|
|
done
|
|
|
|
git add stage0
|