Skip to content

Commit c89b542

Browse files
committed
[UR] Add UR_USE_DEBUG_POSTFIX option
Instead of implicitly adding the `d` suffix to library names make this optional. `DEBUG_POSTFIX` appears to be broken on Windows, the place it's most useful, as `urinfo.exe` still attempts to load `ur_loader.dll` when it should be looking for `ur_loaderd.dll`. Switching this over to `OUTPUT_NAME ${name}d` fixes this.
1 parent bbfaca7 commit c89b542

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed

unified-runtime/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ set(UR_CONFORMANCE_TARGET_TRIPLES "" CACHE STRING
5959
set(UR_CONFORMANCE_AMD_ARCH "" CACHE STRING "AMD device target ID to build CTS binaries for")
6060
option(UR_CONFORMANCE_ENABLE_MATCH_FILES "Enable CTS match files" ON)
6161
option(UR_CONFORMANCE_TEST_LOADER "Also test the loader in the conformance tests" OFF)
62+
option(UR_USE_DEBUG_POSTFIX "Enable debug postfix 'd' for libraries" OFF)
6263
set(UR_ADAPTER_LEVEL_ZERO_SOURCE_DIR "" CACHE PATH
6364
"Path to external 'level_zero' adapter source dir")
6465
set(UR_ADAPTER_OPENCL_SOURCE_DIR "" CACHE PATH

unified-runtime/cmake/helpers.cmake

+3-1
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,9 @@ function(add_ur_library name)
205205
target_link_options(${name} PRIVATE
206206
$<$<STREQUAL:$<TARGET_LINKER_FILE_NAME:${name}>,link.exe>:LINKER:/DEPENDENTLOADFLAG:0x2000>
207207
)
208-
set_target_properties(${name} PROPERTIES DEBUG_POSTFIX d)
208+
endif()
209+
if(UR_USE_DEBUG_POSTFIX)
210+
set_target_properties(${name} PROPERTIES OUTPUT_NAME ${name}d)
209211
endif()
210212
if(UR_EXTERNAL_DEPENDENCIES)
211213
add_dependencies(${name} ${UR_EXTERNAL_DEPENDENCIES})

unified-runtime/source/common/ur_util.hpp

+11-3
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,23 @@ int ur_duplicate_fd(int pid, int fd_in);
5959
defined(SANITIZER_THREAD)
6060
#define SANITIZER_ANY
6161
#endif
62+
6263
///////////////////////////////////////////////////////////////////////////////
64+
#if UR_USE_DEBUG_POSTFIX
65+
#define LIBRARY_NAME(NAME) NAME "d"
66+
#else
67+
#define LIBRARY_NAME(NAME) NAME
68+
#endif
69+
6370
#if defined(_WIN32)
64-
#define MAKE_LIBRARY_NAME(NAME, VERSION) NAME ".dll"
71+
#define MAKE_LIBRARY_NAME(NAME, VERSION) LIBRARY_NAME(NAME) ".dll"
6572
#define STATIC_LIBRARY_EXTENSION ".lib"
6673
#else
6774
#if defined(__APPLE__)
68-
#define MAKE_LIBRARY_NAME(NAME, VERSION) "lib" NAME "." VERSION ".dylib"
75+
#define MAKE_LIBRARY_NAME(NAME, VERSION) \
76+
"lib" LIBRARY_NAME(NAME) "." VERSION ".dylib"
6977
#else
70-
#define MAKE_LIBRARY_NAME(NAME, VERSION) "lib" NAME ".so." VERSION
78+
#define MAKE_LIBRARY_NAME(NAME, VERSION) "lib" LIBRARY_NAME(NAME) ".so." VERSION
7179
#endif
7280
#define STATIC_LIBRARY_EXTENSION ".a"
7381
#endif

unified-runtime/source/loader/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ add_ur_library(ur_loader
2121
)
2222
install_ur_library(ur_loader)
2323

24+
target_compile_definitions(ur_loader PRIVATE
25+
UR_USE_DEBUG_POSTFIX=$<BOOL:${UR_USE_DEBUG_POSTFIX}>
26+
)
27+
2428
if (MSVC)
2529
set(TARGET_LIBNAME ur_loader)
2630
string(TOUPPER ${TARGET_LIBNAME} TARGET_LIBNAME)

0 commit comments

Comments
 (0)