File reorganization with backward compatibility

SWDEV-291455 -  Binary , header files and libraries installed in bin,include and lib folder under /opt/rocm-ver
Prebuilt ras library with updated search path
cmake config files in lib/cmake/rdc
grpc,sp3,hsaco and private libraries installed in lib/rdc
config  installed in share/rdc
authentication and python_binding installed in libexec/rdc
Backward compatibility added for header files and libraries

Depends-On: I3f3d192935923f71737b3fe55ded536654a73dd7
Change-Id: Ia1a6cadc59034b155631a1ee5fdbe692d2a8a71b


[ROCm/rdc commit: 52a3463147]
This commit is contained in:
Ranjith Ramakrishnan
2022-06-22 18:48:38 -07:00
والد d8f996d16d
کامیت 3df8b88ca6
13فایلهای تغییر یافته به همراه165 افزوده شده و 42 حذف شده
+20 -15
مشاهده پرونده
@@ -38,6 +38,8 @@ option(BUILD_RASLIB "Build targets for raslib" OFF)
# When cmake -DBUILD_ROCRTEST=off, it will not build the librdc_rocr.so
# which requires the Rocm run time.
option(BUILD_ROCRTEST "Build targets for librdc_rocr.so" ON)
#File reorganization enable/disable
option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" ON)
if( NOT EXISTS "${CMAKE_SOURCE_DIR}/raslib/.git" AND BUILD_RASLIB)
message( FATAL_ERROR "The git submodule raslib is not available. Please run
@@ -211,24 +213,24 @@ set(CLIENT_COMPONENT "client")
if(BUILD_STANDALONE)
install(DIRECTORY ${GRPC_ROOT}/lib
USE_SOURCE_PERMISSIONS
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/grpc
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc
COMPONENT ${SERVER_COMPONENT})
# In SLES, The libprotobuf is created under lib64 folder, install it as well
if(EXISTS ${GRPC_ROOT}/lib64)
install(DIRECTORY ${GRPC_ROOT}/lib64/
USE_SOURCE_PERMISSIONS
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/grpc/lib
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc/lib
COMPONENT ${SERVER_COMPONENT})
endif()
endif()
# Also include dev setup for people do not want to build grpc
install(DIRECTORY ${GRPC_ROOT}/bin
USE_SOURCE_PERMISSIONS
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/grpc
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc
COMPONENT ${SERVER_COMPONENT})
install(DIRECTORY ${GRPC_ROOT}/include
USE_SOURCE_PERMISSIONS
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/grpc
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc
COMPONENT ${SERVER_COMPONENT})
add_subdirectory("server")
@@ -266,8 +268,8 @@ set(CONF_LIBS "librdc_bootstrap.so")
configure_file(rdc-config.cmake.in
"${PROJECT_BINARY_DIR}/rdc-config.cmake" @ONLY)
# ... for the install tree
set(CONF_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}${RDC_CLIENT_INSTALL_PREFIX}/rdc/include")
set(CONF_LIB_DIR "${CMAKE_INSTALL_PREFIX}${RDC_CLIENT_INSTALL_PREFIX}/rdc/lib")
set(CONF_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
set(CONF_LIB_DIR "${CMAKE_INSTALL_PREFIX}${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
set(CONF_LIBS "librdc_bootstrap.so")
configure_file(rdc-config.cmake.in
@@ -279,10 +281,10 @@ configure_file(rdc-config-version.cmake.in
install(FILES
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/rdc-config.cmake"
"${PROJECT_BINARY_DIR}/rdc-config-version.cmake"
DESTINATION "${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib/cmake" COMPONENT dev)
DESTINATION "${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/${RDC}" COMPONENT dev)
# Install the export set for use with the install-tree
install(EXPORT rdcTargets DESTINATION
"${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib/cmake" COMPONENT dev)
"${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/${RDC}" COMPONENT dev)
# License file
@@ -291,21 +293,21 @@ install( FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${RDC_CLIENT_INSTALL_P
# Python binding and example
install(DIRECTORY ${PROJECT_SOURCE_DIR}/python_binding
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}/${RDC}
COMPONENT ${CLIENT_COMPONENT})
install(DIRECTORY ${PROJECT_SOURCE_DIR}/example
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/${RDC}
COMPONENT ${CLIENT_COMPONENT})
# Prebuild packages to install
install(FILES ${PROJECT_SOURCE_DIR}/ras_prebuild/librdc_ras.so
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
COMPONENT ${CLIENT_COMPONENT})
install(DIRECTORY ${PROJECT_SOURCE_DIR}/ras_prebuild/config
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/${RDC}
COMPONENT ${CLIENT_COMPONENT})
install(DIRECTORY ${PROJECT_SOURCE_DIR}/ras_prebuild/sp3
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
COMPONENT ${CLIENT_COMPONENT})
@@ -337,7 +339,10 @@ configure_file(
configure_file(
"${PROJECT_SOURCE_DIR}/src/RPM_postun.in"
"${PROJECT_SOURCE_DIR}/RPM/rpm_postun" FILE_PERMISSIONS ${INST_SCR_PERM})
#backward compatibility for file reorganization
if(FILE_REORG_BACKWARD_COMPATIBILITY)
include(rdc-backward-compat.cmake)
endif()
if ( DEFINED ENV{ROCM_LIBPATCH_VERSION} )
set ( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}" )
message ( "Using CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}" )
@@ -159,10 +159,10 @@ endif ()
## Add the install directives for the runtime library.
install(TARGETS ${CLIENT_LIB}
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
COMPONENT ${CLIENT_COMPONENT})
install(DIRECTORY ${SOURCE_DIR}/authentication
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}/${RDC}
COMPONENT ${CLIENT_COMPONENT})
# Generate Doxygen documentation for client api manual
@@ -190,10 +190,10 @@ if (DOXYGEN_FOUND AND LATEX_FOUND)
add_dependencies(${CLIENT_LIB} docs)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/docs/${RDC_MANUAL_NAME}.pdf
COMPONENT ${CLIENT_COMPONENT})
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}
COMPONENT ${CLIENT_COMPONENT} RENAME ${RDC_MANUAL_NAME}.pdf)
install(FILES ${PROJECT_SOURCE_DIR}/README.md
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/docs/
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}
COMPONENT ${CLIENT_COMPONENT})
else()
message("Doxygen or Latex is not found. Will not generate documents.")
@@ -0,0 +1,28 @@
/*
Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#ifndef @include_guard@
#define @include_guard@
#pragma message("This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with rdc")
@include_statements@
#endif
@@ -10,8 +10,8 @@ librdc = "librdc_bootstrap.so"
# Search librdc_bootstrap.so paths
current_folder = os.path.dirname(os.path.realpath(__file__))
rdc_paths = [ "", # without path
current_folder+"/../lib/", # package installation
current_folder+"/../lib64/", # package installation
current_folder+"/../../../lib/", # package installation
current_folder+"/../../../lib64/", # package installation
current_folder+"/../build/rdc_libs/" # build from source code
]
فایل باینری نشان داده نشده است.
@@ -0,0 +1,80 @@
# Copyright (c) 2022 Advanced Micro Devices, Inc. All Rights Reserved.
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
cmake_minimum_required(VERSION 3.16.8)
set(RDC_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
set(RDC_WRAPPER_DIR ${RDC_BUILD_DIR}/wrapper_dir)
set(RDC_WRAPPER_INC_DIR ${RDC_WRAPPER_DIR}/include/rdc)
set(RDC_WRAPPER_LIB_DIR ${RDC_WRAPPER_DIR}/lib)
set(RDC_SRC_INC_DIR ${RDC_SRC_ROOT}/include/rdc)
#use header template file and generate wrapper header files
function(generate_wrapper_header)
file(MAKE_DIRECTORY ${RDC_WRAPPER_INC_DIR})
#Only rdc.h header file used in packaging
# set include guard
set(include_guard "RDC_WRAPPER_INCLUDE_RDC_H")
#set #include statement
set(file_name "rdc.h")
set(include_statements "#include \"../../../${CMAKE_INSTALL_INCLUDEDIR}/rdc/${file_name}\"\n")
configure_file(${RDC_SRC_ROOT}/header_template.hpp.in ${RDC_WRAPPER_INC_DIR}/${file_name})
endfunction()
#function to create symlink to libraries
function(create_library_symlink)
file(MAKE_DIRECTORY ${RDC_WRAPPER_LIB_DIR})
set(LIB_RDC "librdc.so")
set(LIB_RDC_BOOTSTRAP "librdc_bootstrap.so")
set(LIB_RDC_CLIENT "librdc_client.so")
set(MAJ_VERSION "${VERSION_MAJOR}")
set(SO_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}")
set(library_files "${LIB_RDC}" "${LIB_RDC}.${MAJ_VERSION}" "${LIB_RDC}.${SO_VERSION}")
set(library_files "${library_files}" "${LIB_RDC_BOOTSTRAP}" "${LIB_RDC_BOOTSTRAP}.${MAJ_VERSION}" "${LIB_RDC_BOOTSTRAP}.${SO_VERSION}" )
set(library_files "${library_files}" "${LIB_RDC_CLIENT}" "${LIB_RDC_CLIENT}.${MAJ_VERSION}" "${LIB_RDC_CLIENT}.${SO_VERSION}" )
foreach(file_name ${library_files})
add_custom_target(link_${file_name} ALL
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E create_symlink
../../${CMAKE_INSTALL_LIBDIR}/${file_name} ${RDC_WRAPPER_LIB_DIR}/${file_name})
endforeach()
# Symlink for private libraries
set(LIB_RDC_ROCR "librdc_rocr.so")
set(LIB_RDC_RAS "librdc_ras.so")
set(LIB_RDC_CLIENT_SMI "librdc_client_smi.so")
set(library_files "${LIB_RDC_ROCR}" "${LIB_RDC_ROCR}.${MAJ_VERSION}" "${LIB_RDC_ROCR}.${SO_VERSION}" )
set(library_files "${library_files}" "${LIB_RDC_CLIENT_SMI}" "${LIB_RDC_CLIENT_SMI}.${MAJ_VERSION}" "${LIB_RDC_CLIENT_SMI}.${SO_VERSION}" )
set(library_files "${library_files}" "${LIB_RDC_RAS}")
foreach(file_name ${library_files})
add_custom_target(link_${file_name} ALL
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E create_symlink
../../${CMAKE_INSTALL_LIBDIR}/${RDC}/${file_name} ${RDC_WRAPPER_LIB_DIR}/${file_name})
endforeach()
endfunction()
#Use template header file and generate wrapper header files
generate_wrapper_header()
install(DIRECTORY ${RDC_WRAPPER_INC_DIR} DESTINATION DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/include COMPONENT ${CLIENT_COMPONENT})
# Create symlink to library files
create_library_symlink()
install(DIRECTORY ${RDC_WRAPPER_LIB_DIR} DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC} COMPONENT ${CLIENT_COMPONENT})
@@ -68,7 +68,7 @@ set(COMMON_DIR "${PROJECT_SOURCE_DIR}/common")
## Set RUNPATH if ROCM_RPATH is defined and passed by the environment
## RUNPATH should help to run "rdcd" without the usage of ldconfig
if (DEFINED ENV{ROCM_RPATH})
set (LIB_RUNPATH "\$ORIGIN/../lib:\$ORIGIN/../lib64:\$ORIGIN/../grpc/lib:\$ORIGIN/../grpc/lib64")
set (LIB_RUNPATH "\$ORIGIN/../lib:\$ORIGIN/../lib64:\$ORIGIN/../lib/rdc:\$ORIGIN/../lib64/rdc:\$ORIGIN/../grpc/lib:\$ORIGIN/../grpc/lib64:\$ORIGIN/../lib/rdc/grpc/lib:\$ORIGIN/../lib/rdc/grpc/lib64")
set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--enable-new-dtags -Wl,--no-as-needed -Wl,-z,origin")
set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:${LIB_RUNPATH}")
set (CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
@@ -321,29 +321,37 @@ endif ()
target_include_directories(${BOOTSTRAP_LIB}
PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:${RDC_CLIENT_INSTALL_PREFIX}/rdc/include>"
"$<INSTALL_INTERFACE:${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}>"
)
## Add the install directives for the runtime library.
if(BUILD_STANDALONE)
install(TARGETS ${BOOTSTRAP_LIB} ${RDC_LIB} ${RDCCLIENT_LIB} ${DIAGNOSTIC_LIB}
install(TARGETS ${BOOTSTRAP_LIB} ${RDC_LIB} ${RDCCLIENT_LIB}
EXPORT rdcTargets
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
COMPONENT ${CLIENT_COMPONENT})
install(TARGETS ${DIAGNOSTIC_LIB}
EXPORT rdcTargets
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
COMPONENT ${CLIENT_COMPONENT})
else()
install(TARGETS ${BOOTSTRAP_LIB} ${RDC_LIB} ${DIAGNOSTIC_LIB}
install(TARGETS ${BOOTSTRAP_LIB} ${RDC_LIB}
EXPORT rdcTargets
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
COMPONENT ${CLIENT_COMPONENT})
install(TARGETS ${DIAGNOSTIC_LIB}
EXPORT rdcTargets
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
COMPONENT ${CLIENT_COMPONENT})
endif()
install(FILES ${SOURCE_DIR}/include/rdc/rdc.h
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/include/rdc
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/${RDC}
COMPONENT ${CLIENT_COMPONENT})
# Install the kernel files
install(DIRECTORY ${PROJECT_SOURCE_DIR}/rdc_libs/rdc_modules/kernels/hsaco
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
COMPONENT ${CLIENT_COMPONENT})
@@ -548,6 +548,8 @@ std::string search_hsaco_full_path(const char* hsaco_file_name,
path_to_search.push_back(std::string("./")+hsaco_file_name);
path_to_search.push_back(app_dir+"/"+hsaco_file_name);
path_to_search.push_back(lib_dir+"/"+hsaco_file_name);
path_to_search.push_back(lib_dir+"/rdc/hsaco/"+ agent_name
+ "/" + hsaco_file_name);
path_to_search.push_back(lib_dir+"/hsaco/"+ agent_name
+ "/" + hsaco_file_name);
// for dev structure
@@ -92,8 +92,8 @@ add_executable(${RDCI_EXE} "${RDCI_SRC_LIST}")
## RUNPATH should help to run "rdci" without the usage of ldconfig
if (DEFINED ENV{ROCM_RPATH})
set(RDC_RUNPATH "\$ORIGIN:\$ORIGIN/../lib:\$ORIGIN/../lib64")
set(GRPC_RUNPATH "\$ORIGIN/../grpc/lib:\$ORIGIN/../grpc/lib64")
set(RDC_RUNPATH "\$ORIGIN:\$ORIGIN/../lib:\$ORIGIN/../lib64:\$ORIGIN/../lib/rdc:\$ORIGIN/../lib64/rdc")
set(GRPC_RUNPATH "\$ORIGIN/../grpc/lib:\$ORIGIN/../grpc/lib64:\$ORIGIN/../lib/rdc/grpc/lib:\$ORIGIN/../lib/rdc/grpc/lib64")
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--enable-new-dtags -Wl,--rpath,${RDC_RUNPATH}:${GRPC_RUNPATH} -Wl,--no-as-needed -Wl,-z,origin")
set(CMAKE_SKIP_BUILD_RPATH TRUE)
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
@@ -116,7 +116,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${RDCI_EXE}
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE
COMPONENT ${CLIENT_COMPONENT}
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/bin)
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
@@ -89,7 +89,7 @@ link_directories(${RSMI_LIB_DIR} "${GRPC_ROOT}/lib" "${GRPC_ROOT}/lib64")
## Set RUNPATH if ROCM_RPATH is defined and passed by the environment
## RUNPATH should help to run "rdcd" without the usage of ldconfig
if (DEFINED ENV{ROCM_RPATH})
set (GRPC_RUNPATH "\$ORIGIN/../lib:\$ORIGIN/../grpc/lib:\$ORIGIN/../grpc/lib64")
set (GRPC_RUNPATH "\$ORIGIN/../lib:\$ORIGIN/../lib64:\$ORIGIN/../lib/rdc:\$ORIGIN/../lib64/rdc;\$ORIGIN/../grpc/lib:\$ORIGIN/../grpc/lib64:\$ORIGIN/../lib/rdc/grpc/lib:\$ORIGIN/../lib/rdc/grpc/lib64")
set (CMAKE_EXE_LINKER_FLAGS "-Wl,--enable-new-dtags -Wl,--no-as-needed -Wl,-z,origin")
set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:${GRPC_RUNPATH}")
set (CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
@@ -119,10 +119,10 @@ target_link_libraries(${SERVER_DAEMON_EXE} ${RDCD_EXTRA_LIB} pthread rt grpc grp
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SERVER_DAEMON_EXE}
PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE GROUP_READ
GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/rdc/bin
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}
COMPONENT ${SERVER_COMPONENT})
install(FILES ${PROJECT_BINARY_DIR}/${SERVICE_FILE_NAME}
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/rdc/lib
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
COMPONENT ${SERVER_COMPONENT})
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
@@ -22,7 +22,7 @@ case "$1" in
configure)
do_create_rdc_user
#Symlink RDC Service
ln -s -f -r /@RDC_CLIENT_INSTALL_PREFIX@/rdc/lib/rdc.service /lib/systemd/system/rdc.service
ln -s -f -r /@RDC_CLIENT_INSTALL_PREFIX@/lib/rdc.service /lib/systemd/system/rdc.service
reload_systemd
exit 0
;;
@@ -19,7 +19,7 @@ reload_systemd() {
do_create_rdc_user
#Symlink RDC Service
ln -s -f -r /@RDC_CLIENT_INSTALL_PREFIX@/rdc/lib/rdc.service @DISTRO_ROOT@/rdc.service
ln -s -f -r /@RDC_CLIENT_INSTALL_PREFIX@/lib/rdc.service @DISTRO_ROOT@/rdc.service
#Request systemctl to reload file since RDC is adding new file/service
reload_systemd
@@ -43,8 +43,8 @@ endif()
# Required Defines first:
set(RDC_CLIENT_INSTALL_PREFIX "opt/rocm")
set(RDC_INC_DIR ${ROCM_DIR}/${RDC_CLIENT_INSTALL_PREFIX}/include)
set(RDC_LIB_DIR ${ROCM_DIR}/${RDC_CLIENT_INSTALL_PREFIX}/rdc/lib)
set(RDC_INC_DIR ${ROCM_DIR}/${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
set(RDC_LIB_DIR ${ROCM_DIR}/${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
#
# Determine RDC Header files are present
@@ -155,7 +155,7 @@ aux_source_directory(${RDCTST_ROOT}/functional functionalSources)
# to be linked against for building ROC Perf applications
#
link_directories(${ROCM_DIR}/lib)
link_directories(${ROCM_DIR}/${CMAKE_INSTALL_LIBDIR})
#
# Source files for building rocrtst
#
@@ -166,7 +166,7 @@ add_executable(${RDCTST} ${rdctstSources} ${functionalSources})
# Header file include path
target_include_directories(${RDCTST} PRIVATE ${RDC_INC_DIR}
PRIVATE ${ROCM_DIR}/include
PRIVATE ${ROCM_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
PRIVATE ${RDCTST_ROOT}/..
PRIVATE ${RDCTST_ROOT}/gtest/include)