Files
guru/sci-ml/ollama/files/ollama-9999-make-installing-runtime-deps-optional.patch
T
2026-09-07 16:45:38 +02:00

121 lines
4.5 KiB
Diff

From dc76193516672ab84fc0aed1d5b3076ce3f334e7 Mon Sep 17 00:00:00 2001
From: Paul Zander <negril.nx+gentoo@gmail.com>
Date: Tue, 17 Feb 2026 12:52:29 +0100
Subject: make installing runtime deps optional
Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 40c22f4b..375ddff5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -84,6 +84,8 @@ set(GGML_VERSION_MINOR 0)
set(GGML_VERSION_PATCH 0)
set(GGML_VERSION "${GGML_VERSION_MAJOR}.${GGML_VERSION_MINOR}.${GGML_VERSION_PATCH}")
+option(OLLAMA_INSTALL_RUNTIME_DEPS "Install the dependencies of library as well" ON)
+
set(GGML_CPU ON)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src)
set_property(TARGET ggml PROPERTY EXCLUDE_FROM_ALL TRUE)
@@ -102,12 +104,16 @@ foreach(variant ${CPU_VARIANTS})
endforeach()
install(TARGETS ggml-base ${CPU_VARIANTS}
- RUNTIME_DEPENDENCIES
- PRE_EXCLUDE_REGEXES ".*"
+ RUNTIME_DEPENDENCY_SET base
RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CPU
LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CPU
FRAMEWORK DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CPU
)
+if(OLLAMA_INSTALL_RUNTIME_DEPS)
+install(RUNTIME_DEPENDENCY_SET base
+ PRE_EXCLUDE_REGEXES ".*"
+)
+endif()
check_language(CUDA)
if(CMAKE_CUDA_COMPILER)
@@ -119,13 +125,18 @@ if(CMAKE_CUDA_COMPILER)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src/ggml-cuda)
target_include_directories(ggml-cuda PRIVATE ${GGML_INCLUDE_DIRS})
install(TARGETS ggml-cuda
+ RUNTIME_DEPENDENCY_SET cuda
+ RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CUDA
+ LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CUDA
+ )
+ if(OLLAMA_INSTALL_RUNTIME_DEPS)
+ install(RUNTIME_DEPENDENCY_SET cuda
RUNTIME_DEPENDENCIES
DIRECTORIES ${CUDAToolkit_BIN_DIR} ${CUDAToolkit_BIN_DIR}/x64 ${CUDAToolkit_LIBRARY_DIR}
PRE_INCLUDE_REGEXES cublas cublasLt cudart
PRE_EXCLUDE_REGEXES ".*"
- RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CUDA
- LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CUDA
)
+ endif()
endif()
set(WINDOWS_AMDGPU_TARGETS_EXCLUDE_REGEX "^gfx(908|90a|1200|1201):xnack[+-]$"
@@ -162,13 +173,12 @@ if(CMAKE_HIP_COMPILER)
RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT HIP
LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT HIP
)
+ if(OLLAMA_INSTALL_RUNTIME_DEPS)
install(RUNTIME_DEPENDENCY_SET rocm
DIRECTORIES ${HIP_BIN_INSTALL_DIR} ${HIP_LIB_INSTALL_DIR}
PRE_INCLUDE_REGEXES hipblas rocblas amdhip64 rocsolver amd_comgr hsa-runtime64 rocsparse tinfo rocprofiler-register roctx64 rocroller drm drm_amdgpu numa elf
PRE_EXCLUDE_REGEXES ".*"
POST_EXCLUDE_REGEXES "system32"
- RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT HIP
- LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT HIP
)
foreach(HIP_LIB_BIN_INSTALL_DIR IN ITEMS ${HIP_BIN_INSTALL_DIR} ${HIP_LIB_INSTALL_DIR})
@@ -177,6 +187,7 @@ if(CMAKE_HIP_COMPILER)
break()
endif()
endforeach()
+ endif()
endif()
endif()
@@ -186,12 +197,16 @@ if(NOT APPLE)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src/ggml-vulkan)
target_include_directories(ggml-vulkan PRIVATE ${GGML_INCLUDE_DIRS})
install(TARGETS ggml-vulkan
- RUNTIME_DEPENDENCIES
- PRE_INCLUDE_REGEXES vulkan
- PRE_EXCLUDE_REGEXES ".*"
+ RUNTIME_DEPENDENCY_SET vulkan
RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT Vulkan
LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT Vulkan
)
+ if(OLLAMA_INSTALL_RUNTIME_DEPS)
+ install(RUNTIME_DEPENDENCY_SET vulkan
+ PRE_INCLUDE_REGEXES vulkan
+ PRE_EXCLUDE_REGEXES ".*"
+ )
+ endif()
endif()
endif()
@@ -236,6 +251,7 @@ if(MLX_ENGINE)
LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT MLX
FRAMEWORK DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT MLX
)
+ if(OLLAMA_INSTALL_RUNTIME_DEPS)
install(RUNTIME_DEPENDENCY_SET mlx_runtime_deps
DIRECTORIES ${MLX_RUNTIME_DIRS}
PRE_INCLUDE_REGEXES ${MLX_INCLUDE_REGEXES}
@@ -375,4 +391,5 @@ if(MLX_ENGINE)
COMPONENT MLX_VENDOR)
endif()
endif()
+ endif()
endif()
--
2.54.0