From 9de4c04a0acec02cc10fc8ee26fc692463703b10 Mon Sep 17 00:00:00 2001 From: Aditya Atluri Date: Wed, 30 Mar 2016 07:54:18 -0500 Subject: [PATCH] Revert to multiple output files than single .a lib --- CMakeLists.txt | 23 +++++++++++++++++++++-- bin/hipcc | 2 +- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a5114e8ee2..686ebf0aca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,10 +66,29 @@ src/hip_peer.cpp src/hip_stream.cpp src/staging_buffer.cpp) -add_library(hip_hcc STATIC ${SOURCE_FILES}) +add_library(hip_hcc OBJECT src/hip_hcc.cpp) +add_library(device_util OBJECT src/device_util.cpp) +add_library(hip_device OBJECT src/hip_device.cpp) +add_library(hip_error OBJECT src/hip_error.cpp) +add_library(hip_event OBJECT src/hip_event.cpp) +add_library(hip_memory OBJECT src/hip_memory.cpp) +add_library(hip_peer OBJECT src/hip_peer.cpp) +add_library(hip_stream OBJECT src/hip_stream.cpp) +add_library(staging_buffer OBJECT src/staging_buffer.cpp) -install(TARGETS hip_hcc DESTINATION ${HIP_INSTALL_DIR}/lib) + +#install(TARGETS hip_hcc DESTINATION ${HIP_INSTALL_DIR}/lib) if(NOT ${HIP_INSTALL_DIR} MATCHES ${CMAKE_CURRENT_SOURCE_DIR}) +install(FILES ${PROJECT_BINARY_DIR}/CMakeFiles/device_util.dir/src/device_util.cpp.o DESTINATION ${HIP_INSTALL_DIR}/lib) +install(FILES ${PROJECT_BINARY_DIR}/CMakeFiles/hip_hcc.dir/src/hip_hcc.cpp.o DESTINATION ${HIP_INSTALL_DIR}/lib) +install(FILES ${PROJECT_BINARY_DIR}/CMakeFiles/hip_device.dir/src/hip_device.cpp.o DESTINATION ${HIP_INSTALL_DIR}/lib) +install(FILES ${PROJECT_BINARY_DIR}/CMakeFiles/hip_error.dir/src/hip_error.cpp.o DESTINATION ${HIP_INSTALL_DIR}/lib) +install(FILES ${PROJECT_BINARY_DIR}/CMakeFiles/hip_event.dir/src/hip_event.cpp.o DESTINATION ${HIP_INSTALL_DIR}/lib) +install(FILES ${PROJECT_BINARY_DIR}/CMakeFiles/hip_memory.dir/src/hip_memory.cpp.o DESTINATION ${HIP_INSTALL_DIR}/lib) +install(FILES ${PROJECT_BINARY_DIR}/CMakeFiles/hip_peer.dir/src/hip_peer.cpp.o DESTINATION ${HIP_INSTALL_DIR}/lib) +install(FILES ${PROJECT_BINARY_DIR}/CMakeFiles/hip_stream.dir/src/hip_stream.cpp.o DESTINATION ${HIP_INSTALL_DIR}/lib) +install(FILES ${PROJECT_BINARY_DIR}/CMakeFiles/staging_buffer.dir/src/staging_buffer.cpp.o DESTINATION ${HIP_INSTALL_DIR}/lib) + install(DIRECTORY src DESTINATION ${HIP_INSTALL_DIR}) install(DIRECTORY bin DESTINATION ${HIP_INSTALL_DIR} USE_SOURCE_PERMISSIONS) install(DIRECTORY include DESTINATION ${HIP_INSTALL_DIR}) diff --git a/bin/hipcc b/bin/hipcc index 3ef1ad1a8a..b2b8bfd566 100755 --- a/bin/hipcc +++ b/bin/hipcc @@ -183,7 +183,7 @@ if ($hasCU and $HIP_PLATFORM eq 'hcc') { if ($needHipHcc) { #$HIPLDFLAGS .= " -L/opt/hip/lib -lhip_hcc" ; - $HIPLDFLAGS .= " -L$HIP_PATH/lib -lhip_hcc" ; + $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/staging_buffer.cpp.o"; } # hipcc currrently requires separate compilation of source files, ie it is not possible to pass