Commit dde879bc4 for llama.cpp

commit dde879bc4f954b809892fd0d660515f42536394a
Author: Michael Taylor <162068037+mctylr-gh@users.noreply.github.com>
Date:   Sun Nov 1 02:46:43 2026 -0400

    sycl: Try PkgConfig for LevelZero includes / libs (#31076)

diff --git a/ggml/src/ggml-sycl/CMakeLists.txt b/ggml/src/ggml-sycl/CMakeLists.txt
index cba39a758..35d36e583 100644
--- a/ggml/src/ggml-sycl/CMakeLists.txt
+++ b/ggml/src/ggml-sycl/CMakeLists.txt
@@ -107,24 +107,36 @@ target_compile_options(ggml-sycl PRIVATE "-Wno-narrowing")

 message(STATUS "GGML_SYCL_SUPPORT_LEVEL_ZERO_API ${GGML_SYCL_SUPPORT_LEVEL_ZERO_API}")
 if (GGML_SYCL_SUPPORT_LEVEL_ZERO_API)
-    # Link against Level Zero loader for direct device memory allocation.
-    # Avoids sycl::malloc_device triggering DMA-buf/TTM system RAM staging
-    # in the xe kernel driver during multi-GPU inference.
-    find_path(LEVEL_ZERO_DEV_INCLUDE_DIR level_zero/ze_api.h HINTS ${ONEAPI_ROOT}/include ${LEVEL_ZERO_V1_SDK_PATH}/include)
-    find_library(ZE_LOADER_LIB ze_loader HINTS ${ONEAPI_ROOT}/lib ${LEVEL_ZERO_V1_SDK_LIB_PATH} ENV LD_LIBRARY_PATH)
-    if(ZE_LOADER_LIB AND LEVEL_ZERO_DEV_INCLUDE_DIR)
-        target_link_libraries(ggml-sycl PRIVATE ${ZE_LOADER_LIB})
-        target_compile_definitions(ggml-sycl PRIVATE GGML_SYCL_SUPPORT_LEVEL_ZERO_API)
-        message(STATUS "Level Zero loader found: ${ZE_LOADER_LIB}")
-        message(STATUS "Level Zero development headers found: ${LEVEL_ZERO_DEV_INCLUDE_DIR}")
+    find_package(PkgConfig)
+    if (PkgConfig_FOUND)
+        pkg_check_modules(LEVEL_ZERO level-zero)
+        if (LEVEL_ZERO_FOUND)
+            target_include_directories(ggml-sycl PRIVATE ${LEVEL_ZERO_INCLUDE_DIRS})
+            target_link_libraries(ggml-sycl PRIVATE ${LEVEL_ZERO_LINK_LIBRARIES})
+            target_compile_definitions(ggml-sycl PRIVATE GGML_SYCL_SUPPORT_LEVEL_ZERO_API)
+            message(STATUS "Level Zero loader found: ${LEVEL_ZERO_LINK_LIBRARIES}")
+            message(STATUS "Level Zero development headers found: ${LEVEL_ZERO_INCLUDE_DIRS}")
+        endif()
     else()
-        message(WARNING "Level Zero loader or development headers not found, "
-                        "Level Zero API support disabled. "
-                        "Please install the Level Zero SDK/development package "
-                        "to support Level Zero API features. "
-                        "Level Zero API is not mandatory for SYCL backend, "
-                        "but it is required by the special features for better "
-                        "function & performance on Intel GPUs.")
+        # Link against Level Zero loader for direct device memory allocation.
+        # Avoids sycl::malloc_device triggering DMA-buf/TTM system RAM staging
+        # in the xe kernel driver during multi-GPU inference.
+        find_path(LEVEL_ZERO_DEV_INCLUDE_DIR level_zero/ze_api.h HINTS ${ONEAPI_ROOT}/include ${LEVEL_ZERO_V1_SDK_PATH}/include)
+        find_library(ZE_LOADER_LIB ze_loader HINTS ${ONEAPI_ROOT}/lib ${LEVEL_ZERO_V1_SDK_LIB_PATH} ENV LD_LIBRARY_PATH)
+        if(ZE_LOADER_LIB AND LEVEL_ZERO_DEV_INCLUDE_DIR)
+            target_link_libraries(ggml-sycl PRIVATE ${ZE_LOADER_LIB})
+            target_compile_definitions(ggml-sycl PRIVATE GGML_SYCL_SUPPORT_LEVEL_ZERO_API)
+            message(STATUS "Level Zero loader found: ${ZE_LOADER_LIB}")
+            message(STATUS "Level Zero development headers found: ${LEVEL_ZERO_DEV_INCLUDE_DIR}")
+        else()
+            message(WARNING "Level Zero loader or development headers not found, "
+                            "Level Zero API support disabled. "
+                            "Please install the Level Zero SDK/development package "
+                            "to support Level Zero API features. "
+                            "Level Zero API is not mandatory for SYCL backend, "
+                            "but it is required by the special features for better "
+                            "function & performance on Intel GPUs.")
+        endif()
     endif()
 endif()