gen_darwin.sh 1011 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/bin/sh
  2. # This script is intended to run inside the go generate
  3. # working directory must be ../llm/llama.cpp
  4. # TODO - add hardening to detect missing tools (cmake, etc.)
  5. set -ex
  6. set -o pipefail
  7. echo "Starting darwin generate script"
  8. source $(dirname $0)/gen_common.sh
  9. init_vars
  10. CMAKE_DEFS="-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 ${CMAKE_DEFS}"
  11. case "${GOARCH}" in
  12. "amd64")
  13. CMAKE_DEFS="-DLLAMA_METAL=off -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_OSX_ARCHITECTURES=x86_64 ${CMAKE_DEFS}"
  14. BUILD_DIR="gguf/build/cpu"
  15. ;;
  16. "arm64")
  17. CMAKE_DEFS="-DLLAMA_METAL=on -DCMAKE_SYSTEM_PROCESSOR=arm64 -DCMAKE_OSX_ARCHITECTURES=arm64 ${CMAKE_DEFS}"
  18. BUILD_DIR="gguf/build/metal"
  19. ;;
  20. *)
  21. echo "GOARCH must be set"
  22. echo "this script is meant to be run from within go generate"
  23. exit 1
  24. ;;
  25. esac
  26. git_module_setup
  27. apply_patches
  28. build
  29. # Enable local debug/run usecase
  30. if [ -e "gguf/ggml-metal.metal" ]; then
  31. cp gguf/ggml-metal.metal ../../
  32. fi