Make it easier to switch between HIP library formats

Change-Id: Id16406795a81f4bb64dbcb76b9b8763ffe59aac6
このコミットが含まれているのは:
Maneesh Gupta
2016-08-19 13:07:22 +05:30
コミット 1d12e8cb1c
2個のファイルの変更21行の追加17行の削除
+15 -12
ファイルの表示
@@ -114,11 +114,14 @@ else()
endif()
# Set if we need to build shared or static library
if(NOT DEFINED ENV{HIP_USE_SHARED_LIBRARY})
set(HIP_USE_SHARED_LIBRARY 0)
else()
set(HIP_USE_SHARED_LIBRARY $ENV{HIP_USE_SHARED_LIBRARY})
if(NOT DEFINED HIP_LIB_TYPE)
if(NOT DEFINED ENV{HIP_LIB_TYPE})
set(HIP_LIB_TYPE 0)
else()
set(HIP_LIB_TYPE $ENV{HIP_LIB_TYPE})
endif()
endif()
add_to_config(_buildInfo HIP_LIB_TYPE)
# Check if we need to build clang hipify
if(NOT DEFINED BUILD_CLANG_HIPIFY)
@@ -177,11 +180,12 @@ if(HIP_PLATFORM STREQUAL "hcc")
src/unpinned_copy_engine.cpp
src/hip_module.cpp)
if(${HIP_USE_SHARED_LIBRARY} EQUAL 1)
add_library(hip_hcc SHARED ${SOURCE_FILES})
else()
#add_library(hip_hcc STATIC ${SOURCE_FILES})
if(${HIP_LIB_TYPE} EQUAL 0)
add_library(hip_hcc OBJECT ${SOURCE_FILES})
elseif(${HIP_LIB_TYPE} EQUAL 1)
add_library(hip_hcc STATIC ${SOURCE_FILES})
else()
add_library(hip_hcc SHARED ${SOURCE_FILES})
endif()
# Generate .buildInfo
@@ -200,11 +204,10 @@ add_custom_target(doc COMMAND HIP_PATH=${CMAKE_CURRENT_SOURCE_DIR} doxygen ${CMA
#############################
# Install hip_hcc if platform is hcc
if(HIP_PLATFORM STREQUAL "hcc")
if(${HIP_USE_SHARED_LIBRARY} EQUAL 1)
install(TARGETS hip_hcc DESTINATION lib)
else()
#install(TARGETS hip_hcc DESTINATION lib)
if(${HIP_LIB_TYPE} EQUAL 0)
install(DIRECTORY ${PROJECT_BINARY_DIR}/CMakeFiles/hip_hcc.dir/src/ DESTINATION lib)
else()
install(TARGETS hip_hcc DESTINATION lib)
endif()
# Install .buildInfo
+6 -5
ファイルの表示
@@ -252,13 +252,14 @@ if ($setStdLib eq 0 and $HIP_PLATFORM eq 'hcc')
}
if ($needHipHcc) {
$HIP_USE_SHARED_LIBRARY = $ENV{'HIP_USE_SHARED_LIBRARY'} // 0;
$HIP_LIB_TYPE = $hipConfig{'HIP_LIB_TYPE'} // 0;
#$HIPLDFLAGS .= " -L/opt/rocm/hip/lib -lhip_hcc" ;
if ($HIP_USE_SHARED_LIBRARY) {
$HIPLDFLAGS .= " -L$HIP_PATH/lib -Wl,--rpath=$HIP_PATH/lib -lhip_hcc";
} else {
if ($HIP_LIB_TYPE eq 0) {
$HIPLDFLAGS .= " $HIP_PATH/lib/device_util.cpp.o $HIP_PATH/lib/hip_device.cpp.o $HIP_PATH/lib/hip_error.cpp.o $HIP_PATH/lib/hip_event.cpp.o $HIP_PATH/lib/hip_hcc.cpp.o $HIP_PATH/lib/hip_memory.cpp.o $HIP_PATH/lib/hip_peer.cpp.o $HIP_PATH/lib/hip_stream.cpp.o $HIP_PATH/lib/unpinned_copy_engine.cpp.o $HIP_PATH/lib/hip_ldg.cpp.o $HIP_PATH/lib/hip_fp16.cpp.o $HIP_PATH/lib/hip_context.cpp.o $HIP_PATH/lib/hip_module.cpp.o";
} elsif ($HIP_LIB_TYPE eq 1) {
$HIPLDFLAGS .= " -L$HIP_PATH/lib -lhip_hcc" ;
} else {
$HIPLDFLAGS .= " -L$HIP_PATH/lib -Wl,--rpath=$HIP_PATH/lib -lhip_hcc";
}
}