add script to update llama.cpp
This commit is contained in:
parent
924ce739f9
commit
5156e48c2a
1 changed files with 61 additions and 0 deletions
61
llama/update-llama-cpp.sh
Normal file
61
llama/update-llama-cpp.sh
Normal file
|
@ -0,0 +1,61 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
|
||||
status() { echo >&2 ">>> $*"; }
|
||||
error() { status "ERROR $*"; }
|
||||
usage() {
|
||||
echo "usage: $(basename $0) /path/to/repo"
|
||||
exit 1
|
||||
}
|
||||
|
||||
OUT=$(dirname $0)
|
||||
while getopts "hC:" OPTION; do
|
||||
case $OPTION in
|
||||
C) OUT=$OPTARG ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $(( $OPTIND - 1 ))
|
||||
[ $# -eq 1 ] || usage
|
||||
|
||||
status "updating source..."
|
||||
cp -a "$1"/*.{c,h,cpp,m,metal,cu} "$OUT"
|
||||
|
||||
status "removing incompatible files..."
|
||||
rm -f "$OUT"/build-info.h
|
||||
rm -f "$OUT"/ggml-{mpi,opencl}.*
|
||||
|
||||
SHA1=$(git -C $1 rev-parse @)
|
||||
|
||||
LICENSE=$(mktemp)
|
||||
cleanup() {
|
||||
rm -f $LICENSE
|
||||
}
|
||||
trap cleanup 0
|
||||
|
||||
cat <<EOF | sed 's/ *$//' >$LICENSE
|
||||
/**
|
||||
* llama.cpp - git $SHA1
|
||||
*
|
||||
$(sed 's/^/ * /' <$1/LICENSE)
|
||||
*/
|
||||
|
||||
EOF
|
||||
|
||||
for f in $OUT/*.{c,h,cpp,m,metal,cu}; do
|
||||
TMP=$(mktemp)
|
||||
status "updating license: $f"
|
||||
cat $LICENSE $f >$TMP
|
||||
mv $TMP $f
|
||||
done
|
||||
|
||||
status "touching up MacOS files..."
|
||||
TMP=$(mktemp)
|
||||
{
|
||||
echo "// +build darwin"
|
||||
echo
|
||||
} | cat - $OUT/ggml-metal.m >$TMP
|
||||
mv $TMP $OUT/ggml-metal.m
|
Loading…
Reference in a new issue