Skip to content

Commit 2b5f45d

Browse files
committed
Fix Level Zero Loader detection when statically linked
SYCL nightly and future builds now link libur_adapter_level_zero to the level zero loader statically, so detecting through readelf is no longer possible For this case, we instead set the default Level Zero Loader filename to be 'libze_loader.so.1,' which is likely to not change See: intel/llvm#17104
1 parent 63f5129 commit 2b5f45d

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

libsyclinterface/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ option(DPCTL_ENABLE_GLOG
4444

4545
set(DPCTL_LEVEL_ZERO_INCLUDE_DIR "" CACHE STRING "Level zero header path")
4646

47+
set(LIBZE_DEFAULT_LOADER_FILENAME "libze_loader.so.1" CACHE STRING "Default Level Zero Loader filename")
48+
4749
# Minimum version requirement only when oneAPI dpcpp is used.
4850
if(DPCTL_DPCPP_FROM_ONEAPI)
4951
find_package(IntelSyclCompiler 2021.3.0 REQUIRED)
@@ -74,6 +76,10 @@ if(DPCTL_ENABLE_L0_PROGRAM_CREATION)
7476
OUTPUT_STRIP_TRAILING_WHITESPACE
7577
ERROR_STRIP_TRAILING_WHITESPACE
7678
)
79+
# if libze_loader is statically linked, LIBZE_LOADER_FILENAME will be an empty string
80+
if ("x${LIBZE_LOADER_FILENAME}" STREQUAL "x")
81+
set(LIBZE_LOADER_FILENAME ${LIBZE_DEFAULT_LOADER_FILENAME})
82+
endif()
7783
set(LIBZE_LOADER_FILENAME ${LIBZE_LOADER_FILENAME} PARENT_SCOPE)
7884
endif()
7985
set(LIBZE_LOADER_FILENAME ${LIBZE_LOADER_FILENAME} PARENT_SCOPE)

0 commit comments

Comments
 (0)