[llvm] [libsycl] Move and rename the shared library (PR #188770)
Sergey Semenov via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 27 09:39:32 PDT 2026
https://github.com/sergey-semenov updated https://github.com/llvm/llvm-project/pull/188770
>From e484402a777e7b66d355034e387939cd28089f74 Mon Sep 17 00:00:00 2001
From: Sergey Semenov <sergey.semenov at intel.com>
Date: Thu, 26 Mar 2026 05:35:19 -0700
Subject: [PATCH 1/3] [libsycl] Move and rename the shared library
Align the shared library with other runtime libraries:
- Rename from libsycl.so to libLLVMSYCL.so
- Make build dir independent from LLVM_ENABLE_PER_TARGET_RUNTIME_DIR
and install dir dependent on it.
---
libsycl/CMakeLists.txt | 15 ++++++++-------
libsycl/src/CMakeLists.txt | 4 ++--
libsycl/tools/sycl-ls/CMakeLists.txt | 2 +-
3 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/libsycl/CMakeLists.txt b/libsycl/CMakeLists.txt
index f75216978f69a..8a414b1730c6a 100644
--- a/libsycl/CMakeLists.txt
+++ b/libsycl/CMakeLists.txt
@@ -37,22 +37,23 @@ option(LIBSYCL_ENABLE_PEDANTIC "Compile with pedantic enabled." OFF)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
+if(LLVM_LIBRARY_OUTPUT_INTDIR)
+ set(LIBSYCL_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+else()
+ set(LIBSYCL_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBSYCL_LIBDIR_SUFFIX})
+endif()
+
if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
set(LIBSYCL_TARGET_SUBDIR ${LLVM_DEFAULT_TARGET_TRIPLE})
if(LIBSYCL_LIBDIR_SUBDIR)
string(APPEND LIBSYCL_TARGET_SUBDIR /${LIBSYCL_LIBDIR_SUBDIR})
endif()
cmake_path(NORMAL_PATH LIBSYCL_TARGET_SUBDIR)
- set(LIBSYCL_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LIBSYCL_TARGET_SUBDIR})
set(LIBSYCL_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LIBSYCL_TARGET_SUBDIR} CACHE STRING
"Path where built libsycl libraries should be installed.")
unset(LIBSYCL_TARGET_SUBDIR)
else()
- if(LLVM_LIBRARY_OUTPUT_INTDIR)
- set(LIBSYCL_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
- else()
- set(LIBSYCL_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBSYCL_LIBDIR_SUFFIX})
- endif()
set(LIBSYCL_INSTALL_LIBRARY_DIR lib${LIBSYCL_LIBDIR_SUFFIX} CACHE STRING
"Path where built libsycl libraries should be installed.")
endif()
@@ -115,7 +116,7 @@ add_custom_command(
install(DIRECTORY "${LIBSYCL_SOURCE_INCLUDE_DIR}/sycl" DESTINATION ${LIBSYCL_INCLUDE_DIR} COMPONENT sycl-headers)
install(DIRECTORY "${LIBSYCL_SOURCE_INCLUDE_DIR}/CL" DESTINATION ${LIBSYCL_INCLUDE_DIR} COMPONENT sycl-headers)
-set(LIBSYCL_LIB_NAME "sycl")
+set(LIBSYCL_LIB_NAME "LLVMSYCL")
set(LIBSYCL_SHARED_OUTPUT_NAME "${LIBSYCL_LIB_NAME}")
if (CMAKE_SYSTEM_NAME STREQUAL Windows)
if (CMAKE_MSVC_RUNTIME_LIBRARY AND (NOT CMAKE_MSVC_RUNTIME_LIBRARY MATCHES "DLL$"))
diff --git a/libsycl/src/CMakeLists.txt b/libsycl/src/CMakeLists.txt
index 67ba7d28968de..c7d078d2322ae 100644
--- a/libsycl/src/CMakeLists.txt
+++ b/libsycl/src/CMakeLists.txt
@@ -105,6 +105,6 @@ add_sycl_rt_library(${LIBSYCL_LIB_NAME}
${LIBSYCL_SOURCES})
install(TARGETS ${LIBSYCL_RT_LIBS}
- ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX}" COMPONENT libsycl
- LIBRARY DESTINATION "lib${LLVM_LIBDIR_SUFFIX}" COMPONENT libsycl
+ ARCHIVE DESTINATION ${LIBSYCL_INSTALL_LIBRARY_DIR} COMPONENT libsycl
+ LIBRARY DESTINATION ${LIBSYCL_INSTALL_LIBRARY_DIR} COMPONENT libsycl
RUNTIME DESTINATION "bin" COMPONENT libsycl)
diff --git a/libsycl/tools/sycl-ls/CMakeLists.txt b/libsycl/tools/sycl-ls/CMakeLists.txt
index 82eb3e644e5b1..e34ba77c88c37 100644
--- a/libsycl/tools/sycl-ls/CMakeLists.txt
+++ b/libsycl/tools/sycl-ls/CMakeLists.txt
@@ -3,7 +3,7 @@ add_executable(sycl-ls sycl-ls.cpp)
target_include_directories(sycl-ls SYSTEM PRIVATE ${LLVM_MAIN_INCLUDE_DIR})
target_link_libraries(sycl-ls PRIVATE LLVMSupport LLVMObject)
-add_dependencies(sycl-ls sycl)
+add_dependencies(sycl-ls ${LIBSYCL_LIB_NAME})
target_include_directories(sycl-ls PRIVATE ${LIBSYCL_BUILD_INCLUDE_DIR})
target_link_libraries(sycl-ls
>From 38c27457c68fc0bbc4bbafdd0adc3ff1bc673939 Mon Sep 17 00:00:00 2001
From: Sergey Semenov <sergey.semenov at intel.com>
Date: Fri, 27 Mar 2026 07:47:11 -0700
Subject: [PATCH 2/3] Update lit.cfg.py
---
libsycl/test/lit.cfg.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libsycl/test/lit.cfg.py b/libsycl/test/lit.cfg.py
index 67ab5d2e83294..377be90791ef0 100644
--- a/libsycl/test/lit.cfg.py
+++ b/libsycl/test/lit.cfg.py
@@ -117,7 +117,7 @@ def __exit__(self, exc_type, exc_value, exc_traceback):
config.substitutions.append(
(
"%sycl_options",
- " -lsycl"
+ " -lLLVMSYCL"
+ " -isystem "
+ config.libsycl_include
+ " -isystem "
>From 3bd99fbd9da547c7ad85ed07fc0cf0b0f9335fd2 Mon Sep 17 00:00:00 2001
From: Sergey Semenov <sergey.semenov at intel.com>
Date: Fri, 27 Mar 2026 09:39:11 -0700
Subject: [PATCH 3/3] Revert build dir change
---
libsycl/CMakeLists.txt | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/libsycl/CMakeLists.txt b/libsycl/CMakeLists.txt
index 8a414b1730c6a..6f55838c7b2e3 100644
--- a/libsycl/CMakeLists.txt
+++ b/libsycl/CMakeLists.txt
@@ -37,23 +37,22 @@ option(LIBSYCL_ENABLE_PEDANTIC "Compile with pedantic enabled." OFF)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-
-if(LLVM_LIBRARY_OUTPUT_INTDIR)
- set(LIBSYCL_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
-else()
- set(LIBSYCL_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBSYCL_LIBDIR_SUFFIX})
-endif()
-
if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
set(LIBSYCL_TARGET_SUBDIR ${LLVM_DEFAULT_TARGET_TRIPLE})
if(LIBSYCL_LIBDIR_SUBDIR)
string(APPEND LIBSYCL_TARGET_SUBDIR /${LIBSYCL_LIBDIR_SUBDIR})
endif()
cmake_path(NORMAL_PATH LIBSYCL_TARGET_SUBDIR)
+ set(LIBSYCL_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LIBSYCL_TARGET_SUBDIR})
set(LIBSYCL_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LIBSYCL_TARGET_SUBDIR} CACHE STRING
"Path where built libsycl libraries should be installed.")
unset(LIBSYCL_TARGET_SUBDIR)
else()
+ if(LLVM_LIBRARY_OUTPUT_INTDIR)
+ set(LIBSYCL_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+ else()
+ set(LIBSYCL_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBSYCL_LIBDIR_SUFFIX})
+ endif()
set(LIBSYCL_INSTALL_LIBRARY_DIR lib${LIBSYCL_LIBDIR_SUFFIX} CACHE STRING
"Path where built libsycl libraries should be installed.")
endif()
More information about the llvm-commits
mailing list