@@ -44,6 +44,10 @@ option(DPCTL_ENABLE_GLOG
44
44
45
45
set (DPCTL_LEVEL_ZERO_INCLUDE_DIR "" CACHE STRING "Level zero header path" )
46
46
47
+ set (LIBZE_SET_LOADER_FILENAME "" CACHE STRING "User-provided Level Zero Loader filename" )
48
+
49
+ set (LIBZE_DEFAULT_LOADER_FILENAME "libze_loader.so.1" CACHE STRING "Default Level Zero Loader filename" )
50
+
47
51
# Minimum version requirement only when oneAPI dpcpp is used.
48
52
if (DPCTL_DPCPP_FROM_ONEAPI )
49
53
find_package (IntelSyclCompiler 2021.3.0 REQUIRED )
@@ -60,21 +64,28 @@ if(DPCTL_ENABLE_L0_PROGRAM_CREATION)
60
64
get_level_zero_headers ()
61
65
endif ()
62
66
if (UNIX )
63
- find_library (PI_LEVEL_ZERO_LIB
64
- NAMES pi_level_zero ur_adapter_level_zero
65
- HINTS ${IntelSyclCompiler_LIBRARY_DIR}
66
- )
67
- find_program (READELF_PROG readelf )
68
- find_program (GREP_PROG grep )
69
- execute_process (
70
- COMMAND ${READELF_PROG} -d ${PI_LEVEL_ZERO_LIB}
71
- COMMAND ${GREP_PROG} libze_loader
72
- COMMAND ${GREP_PROG} -Po "libze_loader[^\] ]*"
73
- OUTPUT_VARIABLE LIBZE_LOADER_FILENAME
74
- OUTPUT_STRIP_TRAILING_WHITESPACE
75
- ERROR_STRIP_TRAILING_WHITESPACE
76
- )
77
- set (LIBZE_LOADER_FILENAME ${LIBZE_LOADER_FILENAME} PARENT_SCOPE )
67
+ if ("x${LIBZE_SET_LOADER_FILENAME} " STREQUAL "x" )
68
+ find_library (PI_LEVEL_ZERO_LIB
69
+ NAMES pi_level_zero ur_adapter_level_zero
70
+ HINTS ${IntelSyclCompiler_LIBRARY_DIR}
71
+ )
72
+ find_program (READELF_PROG readelf )
73
+ find_program (GREP_PROG grep )
74
+ execute_process (
75
+ COMMAND ${READELF_PROG} -d ${PI_LEVEL_ZERO_LIB}
76
+ COMMAND ${GREP_PROG} libze_loader
77
+ COMMAND ${GREP_PROG} -Po "libze_loader[^\] ]*"
78
+ OUTPUT_VARIABLE LIBZE_LOADER_FILENAME
79
+ OUTPUT_STRIP_TRAILING_WHITESPACE
80
+ ERROR_STRIP_TRAILING_WHITESPACE
81
+ )
82
+ # if libze_loader is statically linked, LIBZE_LOADER_FILENAME will be an empty string
83
+ if ("x${LIBZE_LOADER_FILENAME} " STREQUAL "x" )
84
+ set (LIBZE_LOADER_FILENAME ${LIBZE_DEFAULT_LOADER_FILENAME} )
85
+ endif ()
86
+ else ()
87
+ set (LIBZE_LOADER_FILENAME ${LIBZE_SET_LOADER_FILENAME} )
88
+ endif ()
78
89
endif ()
79
90
set (LIBZE_LOADER_FILENAME ${LIBZE_LOADER_FILENAME} PARENT_SCOPE )
80
91
endif ()
0 commit comments