[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