17 lines
688 B
Bash
Executable file
17 lines
688 B
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
rm -r stage0 || true
|
|
mkdir -p stage0/
|
|
for pkg in Init Std Lean; do
|
|
# ensure deterministic ordering
|
|
c_files="$pkg.c $(cd src; find $pkg -name '*.lean' | sed s/.lean/.c/ | LC_ALL=C sort | tr '\n' ' ')"
|
|
for f in $c_files; do mkdir -p $(dirname stage0/stdlib/$f); cp ${CP_PARAMS:-} $CSRCS/$f stage0/stdlib/$f; done
|
|
cat <<EOF >> stage0/stdlib/CMakeLists.txt
|
|
add_library ($pkg STATIC $c_files)
|
|
set_target_properties($pkg PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "\${CMAKE_BINARY_DIR}/lib/lean")
|
|
EOF
|
|
done
|
|
# don't copy untracked crap
|
|
git ls-files -z src | xargs -0 -I '{}' bash -c 'mkdir -p `dirname stage0/{}` && cp {} stage0/{}'
|
|
git add stage0
|