llama-cpp.mk 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. ################################################################################
  2. #
  3. # llama.cpp
  4. #
  5. ################################################################################
  6. LLAMA_CPP_VERSION = b6865
  7. LLAMA_CPP_SOURCE = $(LLAMA_CPP_VERSION).tar.gz
  8. LLAMA_CPP_SITE = https://github.com/ggml-org/llama.cpp/archive/refs/tags
  9. LLAMA_CPP_LICENSE = MIT
  10. LLAMA_CPP_LICENSE_FILES = LICENSE
  11. LLAMA_CPP_CPE_ID_VENDOR = ggml
  12. LLAMA_CPP_CPE_ID_PRODUCT = llama.cpp
  13. LLAMA_CPP_INSTALL_STAGING = YES
  14. LLAMA_CPP_CONF_OPTS = \
  15. -DLLAMA_BUILD_TESTS=OFF \
  16. -DLLAMA_BUILD_EXAMPLES=OFF \
  17. -DLLAMA_FATAL_WARNINGS=OFF
  18. ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
  19. LLAMA_CPP_DEPENDENCIES += libexecinfo
  20. LLAMA_CPP_LDFLAGS += -lexecinfo
  21. endif
  22. ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
  23. LLAMA_CPP_LDFLAGS += -latomic
  24. endif
  25. LLAMA_CPP_CONF_OPTS += \
  26. -DCMAKE_EXE_LINKER_FLAGS="$(LLAMA_CPP_LDFLAGS)"
  27. ifeq ($(BR2_STATIC_LIBS),y)
  28. LLAMA_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF \
  29. -DCMAKE_POSITION_INDEPENDENT_CODE=ON
  30. endif
  31. ifeq ($(BR2_PACKAGE_LIBCURL),y)
  32. LLAMA_CPP_CONF_OPTS += -DLLAMA_CURL=ON
  33. LLAMA_CPP_DEPENDENCIES += libcurl
  34. else
  35. LLAMA_CPP_CONF_OPTS += -DLLAMA_CURL=OFF
  36. endif
  37. ifeq ($(BR2_PACKAGE_LLAMA_CPP_TOOLS),y)
  38. LLAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_TOOLS=ON
  39. else
  40. LLAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_TOOLS=OFF
  41. endif
  42. ifeq ($(BR2_PACKAGE_LLAMA_CPP_SERVER),y)
  43. LLAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_SERVER=ON
  44. else
  45. LLAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_SERVER=OFF
  46. endif
  47. ifeq ($(BR2_PACKAGE_LLAMA_CPP_VULKAN),y)
  48. LLAMA_CPP_DEPENDENCIES += vulkan-loader
  49. LLAMA_CPP_CONF_OPTS += -DGGML_VULKAN=ON
  50. else
  51. LLAMA_CPP_CONF_OPTS += -DGGML_VULKAN=OFF
  52. endif
  53. ifeq ($(BR2_PACKAGE_OPENBLAS),y)
  54. LLAMA_CPP_DEPENDENCIES += openblas
  55. LLAMA_CPP_CONF_OPTS += -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS
  56. else
  57. LLAMA_CPP_CONF_OPTS += -DGGML_BLAS=OFF
  58. endif
  59. $(eval $(cmake-package))