diff --git a/projects/rocr-runtime/runtime/hsa-runtime/CMakeLists.txt b/projects/rocr-runtime/runtime/hsa-runtime/CMakeLists.txt
index bd7eb45a77..d2655c7169 100644
--- a/projects/rocr-runtime/runtime/hsa-runtime/CMakeLists.txt
+++ b/projects/rocr-runtime/runtime/hsa-runtime/CMakeLists.txt
@@ -302,15 +302,20 @@ endif()
install ( TARGETS ${CORE_RUNTIME_TARGET} EXPORT ${CORE_RUNTIME_NAME}Targets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary )
+install ( TARGETS ${CORE_RUNTIME_TARGET}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT asan )
# Install license
+install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR}-asan COMPONENT asan )
install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary )
# Install public headers
install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hsa COMPONENT dev )
-
+# Disable header path migration helpers for ASAN package
+if(NOT ENABLE_ASAN_PACKAGING)
# Option to build header path migration helpers.
-option(INCLUDE_PATH_COMPATIBILITY "Generate backward compatible headers and include paths. Use of these headers will warn when included." ON)
+ option(INCLUDE_PATH_COMPATIBILITY "Generate backward compatible headers and include paths. Use of these headers will warn when included." ON)
+endif()
if(INCLUDE_PATH_COMPATIBILITY)
# To enable/disable #error in wrapper header files
if(NOT DEFINED ROCM_HEADER_WRAPPER_WERROR)
@@ -395,6 +400,10 @@ set ( ENABLE_LDCONFIG ON CACHE BOOL "Set library links and caches using ldconfig
## Only pack the "binary" and "dev" components, post install script will add the directory link.
set ( CPACK_COMPONENTS_ALL binary dev )
+# ASAN Package will have libraries and license file
+if(ENABLE_ASAN_PACKAGING)
+ set(CPACK_COMPONENTS_ALL asan)
+endif()
set ( CPACK_DEB_COMPONENT_INSTALL ON)
set ( CPACK_RPM_COMPONENT_INSTALL ON)
set ( CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." )
@@ -402,6 +411,7 @@ set ( CPACK_PACKAGE_VERSION ${PACKAGE_VERSION_STRING} )
set ( CPACK_PACKAGE_CONTACT "AMD HSA Support
")
set ( CPACK_COMPONENT_BINARY_DESCRIPTION "AMD Heterogeneous System Architecture HSA - Linux HSA Runtime for Boltzmann (ROCm) platforms" )
set ( CPACK_COMPONENT_DEV_DESCRIPTION "AMD Heterogeneous System Architecture HSA development package.\n This package contains the headers and cmake files for the hsa-rocr package." )
+set ( CPACK_COMPONENT_ASAN_DESCRIPTION "AMD Heterogeneous System Architecture HSA - Linux HSA instrumented libraries for Boltzmann (ROCm) platforms" )
set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md" )
if ( DEFINED ENV{ROCM_LIBPATCH_VERSION} )
@@ -412,6 +422,7 @@ endif()
# Debian package specific variables
set ( CPACK_DEBIAN_BINARY_PACKAGE_NAME "hsa-rocr")
set ( CPACK_DEBIAN_DEV_PACKAGE_NAME "hsa-rocr-dev")
+set ( CPACK_DEBIAN_ASAN_PACKAGE_NAME "hsa-rocr-asan")
if ( DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE} )
set ( CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE} )
else()
@@ -428,10 +439,12 @@ set ( CPACK_DEBIAN_BINARY_PACKAGE_CONTROL_EXTRA "DEBIAN/Binary/postinst;DEBIAN/B
# package dependencies
set( CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS "libdrm-amdgpu-amdgpu1 | libdrm-amdgpu1, libnuma1, libelf1")
+set( CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS "libdrm-amdgpu-amdgpu1 | libdrm-amdgpu1, libnuma1, libelf1")
set( CPACK_DEBIAN_BINARY_PACKAGE_RECOMMENDS "libdrm-amdgpu-amdgpu1")
set ( CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "hsa-rocr, hsakmt-roct-dev" )
if ( ROCM_DEP_ROCMCORE )
string ( APPEND CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS ", rocm-core" )
+ string ( APPEND CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS ", rocm-core-asan" )
endif()
# Declare package relationships (hsa-ext-rocr-dev is a legacy package that we subsume)
set ( CPACK_DEBIAN_PACKAGE_BREAKS "hsa-ext-rocr-dev" )
@@ -442,6 +455,7 @@ set ( EL7_DISTRO "FALSE" )
checksetel7(EL7_DISTRO)
set ( CPACK_RPM_BINARY_PACKAGE_NAME "hsa-rocr" )
set ( CPACK_RPM_DEV_PACKAGE_NAME "hsa-rocr-devel" )
+set ( CPACK_RPM_ASAN_PACKAGE_NAME "hsa-rocr-asan" )
if ( DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE} )
set ( CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE} )
else()
@@ -462,14 +476,17 @@ set ( CPACK_RPM_BINARY_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/R
# package dependencies
if (${EL7_DISTRO} STREQUAL "TRUE")
set ( CPACK_RPM_BINARY_PACKAGE_REQUIRES "libdrm-amdgpu, numactl-libs" )
+ set ( CPACK_RPM_ASAN_PACKAGE_REQUIRES "libdrm-amdgpu, numactl-libs" )
else()
set ( CPACK_RPM_BINARY_PACKAGE_REQUIRES "(libdrm-amdgpu or libdrm or libdrm_amdgpu1), (libnuma1 or numactl-libs)" )
+ set ( CPACK_RPM_ASAN_PACKAGE_REQUIRES "(libdrm-amdgpu or libdrm or libdrm_amdgpu1), (libnuma1 or numactl-libs)" )
set ( CPACK_RPM_USER_BINARY_SPECFILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/hsa-rocr.spec.in" )
set ( CPACK_RPM_PACKAGE_RECOMMENDS "libdrm-amdgpu" )
endif()
set ( CPACK_RPM_DEV_PACKAGE_REQUIRES "hsa-rocr , hsakmt-roct-devel" )
if ( ROCM_DEP_ROCMCORE )
string ( APPEND CPACK_RPM_BINARY_PACKAGE_REQUIRES " rocm-core" )
+ string ( APPEND CPACK_RPM_ASAN_PACKAGE_REQUIRES " rocm-core-asan" )
endif()
# Declare package relationships (hsa-ext-rocr-dev is a legacy package that we subsume)
set ( CPACK_RPM_PACKAGE_PROVIDES "hsa-ext-rocr-dev hsa-rocr-dev" )