SWDEV-351540 - ASAN packaging for rocm-core
Package only ASAN libraries
Component based install
Suffix "asan" added to package name
Change-Id: Ic758eefef27742df3a4a4301fd3661714de4bb36
[ROCm/rocm-core commit: 2acbecc1b9]
Этот коммит содержится в:
@@ -69,7 +69,7 @@ set( SRCS rocm_version.cpp )
|
||||
add_library( ${CORE_TARGET} ${SRCS} )
|
||||
|
||||
set( CXX_FLAGS ${CXX_FLAGS} -g -fPIC -fvisibility=hidden -W -Wall -Wextra -Wno-unused-parameter -Wformat-security -Wundef -Wshadow -Wpointer-arith -Wcast-qual -Wmissing-declarations -Wredundant-decls -Wunreachable-code -std=c++11 )
|
||||
set( CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-Wl,-z,nodelete -Wl,-no-undefined" )
|
||||
set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,nodelete -Wl,-no-undefined" )
|
||||
target_include_directories( ${CORE_TARGET} PRIVATE ${BUILD_DIR} )
|
||||
|
||||
## Set the VERSION and SOVERSION values
|
||||
@@ -77,17 +77,25 @@ set( SO_VERSION_STRING "${SO_MAJOR}.${SO_MINOR}.${ROCM_LIBPATCH_VERSION}" )
|
||||
set_property( TARGET ${CORE_TARGET} PROPERTY VERSION "${SO_VERSION_STRING}" )
|
||||
set_property( TARGET ${CORE_TARGET} PROPERTY SOVERSION "${SO_MAJOR}" )
|
||||
|
||||
if(ENABLE_ASAN_PACKAGING)
|
||||
# Only libraries required for ASAN Package
|
||||
set( CPACK_COMPONENTS_ALL asan )
|
||||
set(COMP_TYPE "asan")
|
||||
else()
|
||||
set( CPACK_COMPONENTS_ALL runtime )
|
||||
set(COMP_TYPE "runtime")
|
||||
endif()
|
||||
|
||||
#intallation directive
|
||||
file ( WRITE "${CMAKE_CURRENT_BINARY_DIR}/version" "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}-${BUILD_ID}\n" )
|
||||
install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/version DESTINATION .info )
|
||||
install ( TARGETS ${CORE_TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR} PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE )
|
||||
install ( FILES ${BUILD_DIR}/rocm_version.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
|
||||
install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/rocmmod DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
||||
|
||||
install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/version DESTINATION .info COMPONENT runtime )
|
||||
install ( TARGETS ${CORE_TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
COMPONENT ${COMP_TYPE} )
|
||||
install ( FILES ${BUILD_DIR}/rocm_version.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT runtime )
|
||||
install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/rocmmod DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime )
|
||||
|
||||
## Packaging directives
|
||||
set ( CPACK_PACKAGE_NAME ${CORE_TARGET} )
|
||||
set ( CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." )
|
||||
set ( CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR} )
|
||||
@@ -96,7 +104,6 @@ set ( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERS
|
||||
set ( CPACK_PACKAGE_CONTACT "ROCm Dev Support <rocm-dev.support@amd.com>" )
|
||||
set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "Radeon Open Compute (ROCm) Runtime software stack" )
|
||||
set ( CPACK_RESOURCE_FILE_LICENSE "${COPYRIGHT_FILE}" )
|
||||
|
||||
## packaging variables
|
||||
if ( DEFINED ROCM_LIBPATCH_VERSION )
|
||||
set ( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.${ROCM_LIBPATCH_VERSION}" )
|
||||
@@ -104,10 +111,18 @@ if ( DEFINED ROCM_LIBPATCH_VERSION )
|
||||
endif()
|
||||
|
||||
## Debian package specific variables
|
||||
set ( CPACK_DEB_COMPONENT_INSTALL ON )
|
||||
set ( CPACK_DEBIAN_RUNTIME_PACKAGE_NAME "${CORE_TARGET}" )
|
||||
# ASAN package name
|
||||
set ( CPACK_DEBIAN_ASAN_PACKAGE_NAME ${CORE_TARGET}-asan )
|
||||
message ( STATUS "Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}" )
|
||||
set ( CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT" )
|
||||
|
||||
## RPM package specific variables
|
||||
set ( CPACK_RPM_COMPONENT_INSTALL ON )
|
||||
set ( CPACK_RPM_RUNTIME_PACKAGE_NAME "${CORE_TARGET}" )
|
||||
# ASAN package name
|
||||
set ( CPACK_RPM_ASAN_PACKAGE_NAME ${CORE_TARGET}-asan )
|
||||
|
||||
## 'dist' breaks manual builds on debian systems due to empty Provides
|
||||
execute_process( COMMAND rpm --eval %{?dist}
|
||||
@@ -124,13 +139,17 @@ set ( CPACK_RPM_FILE_NAME "RPM-DEFAULT" )
|
||||
# Debian package specific variables
|
||||
set ( CPACK_DEBIAN_PACKAGE_DEPENDS ${DEB_DEPENDS_STRING} )
|
||||
set ( CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/RadeonOpenCompute/ROCm" )
|
||||
set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${BUILD_DIR}/postinst;${BUILD_DIR}/prerm" )
|
||||
if(NOT ENABLE_ASAN_PACKAGING)
|
||||
set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${BUILD_DIR}/postinst;${BUILD_DIR}/prerm" )
|
||||
endif()
|
||||
|
||||
## RPM package specific variables
|
||||
set ( CPACK_RPM_PACKAGE_REQUIRES ${RPM_DEPENDS_STRING} )
|
||||
set ( CPACK_RPM_PACKAGE_LICENSE "MIT" )
|
||||
set ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/postinst" )
|
||||
set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/prerm" )
|
||||
if(NOT ENABLE_ASAN_PACKAGING)
|
||||
set ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/postinst" )
|
||||
set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/prerm" )
|
||||
endif()
|
||||
|
||||
if ( DEFINED CPACK_PACKAGING_INSTALL_PREFIX )
|
||||
set ( CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "${CPACK_PACKAGING_INSTALL_PREFIX} ${CPACK_PACKAGING_INSTALL_PREFIX}/.info" )
|
||||
|
||||
Ссылка в новой задаче
Block a user