[Openmp-commits] [openmp] [OpenMP][AIX] Not to create symbolic links to libomp.so on AIX (PR #165890)
Kelvin Li via Openmp-commits
openmp-commits at lists.llvm.org
Fri Oct 31 11:05:14 PDT 2025
https://github.com/kkwli updated https://github.com/llvm/llvm-project/pull/165890
>From 99e3074b41e0781782c1cf79c6bda85a10f435ee Mon Sep 17 00:00:00 2001
From: Kelvin Li <kli at ca.ibm.com>
Date: Fri, 31 Oct 2025 13:05:15 -0400
Subject: [PATCH 1/2] [OpenMP][AIX] Not to create symbolic links to libomp.so
on AIX
On AIX, it generates libomp for both static and dynamic. There is
no need to create symbolic links to libom.so.
---
openmp/runtime/src/CMakeLists.txt | 40 ++++++++++++++++++++-----------
1 file changed, 26 insertions(+), 14 deletions(-)
diff --git a/openmp/runtime/src/CMakeLists.txt b/openmp/runtime/src/CMakeLists.txt
index 6ac047a833fe5..c554e61512e08 100644
--- a/openmp/runtime/src/CMakeLists.txt
+++ b/openmp/runtime/src/CMakeLists.txt
@@ -254,23 +254,35 @@ set(LIBOMP_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
# Add symbolic links to libomp
if(NOT WIN32)
- add_custom_command(TARGET omp POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E create_symlink ${LIBOMP_LIB_FILE}
- libgomp${LIBOMP_LIBRARY_SUFFIX}
- COMMAND ${CMAKE_COMMAND} -E create_symlink ${LIBOMP_LIB_FILE}
- libiomp5${LIBOMP_LIBRARY_SUFFIX}
- WORKING_DIRECTORY ${LIBOMP_LIBRARY_DIR}
- )
- if(LIBOMP_ENABLE_SHARED)
- if(APPLE)
- set(VERSIONED_LIBGOMP_NAME libgomp.1${LIBOMP_LIBRARY_SUFFIX})
- else()
- set(VERSIONED_LIBGOMP_NAME libgomp${LIBOMP_LIBRARY_SUFFIX}.1)
- endif()
+ if(AIX)
+ # On AIX, libomp.a is for both static and shared
+ set(LIBOMP_AIX_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX})
add_custom_command(TARGET omp POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E create_symlink ${LIBOMP_LIB_FILE} ${VERSIONED_LIBGOMP_NAME}
+ COMMAND ${CMAKE_COMMAND} -E create_symlink
+ ${LIBOMP_LIB_NAME}${LIBOMP_AIX_SUFFIX} libgomp${LIBOMP_AIX_SUFFIX}
+ COMMAND ${CMAKE_COMMAND} -E create_symlink
+ ${LIBOMP_LIB_NAME}${LIBOMP_AIX_SUFFIX} libiomp5${LIBOMP_AIX_SUFFIX}
WORKING_DIRECTORY ${LIBOMP_LIBRARY_DIR}
)
+ else()
+ add_custom_command(TARGET omp POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${LIBOMP_LIB_FILE}
+ libiomp5${LIBOMP_LIBRARY_SUFFIX}
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${LIBOMP_LIB_FILE}
+ libgomp${LIBOMP_LIBRARY_SUFFIX}
+ WORKING_DIRECTORY ${LIBOMP_LIBRARY_DIR}
+ )
+ if(LIBOMP_ENABLE_SHARED)
+ if(APPLE)
+ set(VERSIONED_LIBGOMP_NAME libgomp.1${LIBOMP_LIBRARY_SUFFIX})
+ else()
+ set(VERSIONED_LIBGOMP_NAME libgomp${LIBOMP_LIBRARY_SUFFIX}.1)
+ endif()
+ add_custom_command(TARGET omp POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${LIBOMP_LIB_FILE} ${VERSIONED_LIBGOMP_NAME}
+ WORKING_DIRECTORY ${LIBOMP_LIBRARY_DIR}
+ )
+ endif()
endif()
endif()
>From f854d34f6780aab106546323a2b43c8fa50373dd Mon Sep 17 00:00:00 2001
From: Kelvin Li <kli at ca.ibm.com>
Date: Fri, 31 Oct 2025 14:04:24 -0400
Subject: [PATCH 2/2] Update openmp/runtime/src/CMakeLists.txt
Co-authored-by: Xing Xue <xingxue at outlook.com>
---
openmp/runtime/src/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/openmp/runtime/src/CMakeLists.txt b/openmp/runtime/src/CMakeLists.txt
index c554e61512e08..5dd7f4b33612d 100644
--- a/openmp/runtime/src/CMakeLists.txt
+++ b/openmp/runtime/src/CMakeLists.txt
@@ -255,7 +255,7 @@ set(LIBOMP_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
# Add symbolic links to libomp
if(NOT WIN32)
if(AIX)
- # On AIX, libomp.a is for both static and shared
+ # On AIX, libomp.a is the name for both static and shared objects.
set(LIBOMP_AIX_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX})
add_custom_command(TARGET omp POST_BUILD
COMMAND ${CMAKE_COMMAND} -E create_symlink
More information about the Openmp-commits
mailing list