Make directed_test support static libs

1.Make directed_test apps linked against static libs
    of hip, rocclr, rocr, roct and amd_comgr.
    2.Remove custom_target amdhip64_static_combiner.
    3.Support EXCLUDE_HIP_LIB_TYPE <static|shared>.
    4.Simplify argument list parsing.
    5.Install rocclr when rocm is installed.
    6.Fix some original small bugs.

Revert "Revert "Make directed_test support static libs""
This reverts commit 5b7533e49f.

Change-Id: I918eeae94487e5e2ff5bfde083667ac65fb6e702
This commit is contained in:
Tao Sang committed 2020-10-26 12:39:58 -04:00
1 parent 2bf7282bd5
commit bcd067f462
20 files changed
+322 -271

No files matched your search

+12 -1
View File
@@ -7,23 +7,34 @@ popd () {
command popd "$@" > /dev/null
}
ROCMDIR=@ROCM_PATH@
ROCMLIBDIR=$ROCMDIR/lib
ROCCLRDIR=$ROCMDIR/rocclr
ROCCLRLIBDIR=$ROCMDIR/rocclr/lib
HIPDIR=$ROCMDIR/hip
HIPLIBDIR=$ROCMDIR/hip/lib
# Soft-link to library files
ROCCLRLIBFILES=$(ls -A $ROCCLRLIBDIR | grep -v "cmake\|[-/$]")
HIPLIBFILES=$(ls -A $HIPLIBDIR | grep -v "cmake\|[-/$]")
mkdir -p $ROCMLIBDIR
mkdir -p $ROCMLIBDIR/cmake
pushd $ROCMLIBDIR
for f in $ROCCLRLIBFILES
do
ln -s -r -f $ROCCLRLIBDIR/$f $(basename $f)
done
for f in $HIPLIBFILES
do
ln -s -r -f $HIPLIBDIR/$f $(basename $f)
done
# Make the hip cmake directory link.
pushd cmake
ln -s -r -f $ROCCLRLIBDIR/cmake/rocclr rocclr
ln -s -r -f $HIPLIBDIR/cmake/hip hip
popd
popd
+13 -2
View File
@@ -10,19 +10,30 @@ popd () {
ROCMDIR=@ROCM_PATH@
ROCMLIBDIR=$ROCMDIR/lib
ROCCLRDIR=$ROCMDIR/rocclr
ROCCLRLIBDIR=$ROCMDIR/rocclr/lib
HIPDIR=$ROCMDIR/hip
HIPLIBDIR=$ROCMDIR/hip/lib
([ ! -d $ROCMDIR ] || [ ! -d $HIPDIR ]) && exit 0
([ ! -d $ROCMLIBDIR ] || [ ! -d $HIPLIBDIR ]) && exit 0
([ ! -d $ROCMDIR ] || [ ! -d $ROCCLRDIR ] || [ ! -d $HIPDIR ]) && exit 0
([ ! -d $ROCMLIBDIR ] || [ ! -d $ROCCLRLIBDIR ] || [ ! -d $HIPLIBDIR ]) && exit 0
# Remove soft-links to libraries
ROCCLRLIBFILES=$(ls -A $ROCCLRLIBDIR | grep -v [-/$])
HIPLIBFILES=$(ls -A $HIPLIBDIR | grep -v [-/$])
pushd $ROCMLIBDIR
for f in $ROCCLRLIBFILES; do
[ -e $f ] || continue
rm $(basename $f)
done
for f in $HIPLIBFILES; do
[ -e $f ] || continue
rm $(basename $f)
done
pushd cmake
unlink rocclr
unlink hip
popd
rmdir --ignore-fail-on-non-empty cmake
+18
View File
@@ -12,6 +12,24 @@ endif()
install(FILES @PROJECT_BINARY_DIR@/.hipInfo DESTINATION lib)
install(FILES @PROJECT_BINARY_DIR@/hip-config.cmake @PROJECT_BINARY_DIR@/hip-config-version.cmake DESTINATION lib/cmake/hip)
#############################
# Rocclr install
#############################
set(ROCclr_BUILD_DIR "@ROCclr_DIR@/../../..")
set(ROCclr_LIB_DIR "@ROCM_PATH@/rocclr/lib")
set(ROCclr_CMAKE_DDIR "@ROCM_PATH@/rocclr/lib/cmake/rocclr")
set(ROCclr_CMAKE_SDIR "${ROCclr_BUILD_DIR}/CMakeFiles/Export/lib/cmake/rocclr")
install(FILES ${ROCclr_BUILD_DIR}/libamdrocclr_static.a DESTINATION ${ROCclr_LIB_DIR})
install(FILES @ROCclr_DIR@/ROCclrConfig.cmake DESTINATION ${ROCclr_CMAKE_DDIR})
install(FILES @ROCclr_DIR@/rocclr-config-version.cmake DESTINATION ${ROCclr_CMAKE_DDIR})
file(GLOB _rocclr_target_files ${ROCclr_CMAKE_SDIR}/rocclr-targets*.cmake)
foreach(_rocclr_target_file ${_rocclr_target_files})
message(STATUS "_rocclr_target_file: ${_rocclr_target_file}")
endforeach()
install(FILES ${_rocclr_target_files} DESTINATION ${ROCclr_CMAKE_DDIR})
#############################
# Packaging steps
#############################