diff --git a/CMakeLists.txt b/CMakeLists.txt index 0fcacf8a3..1f8149d4a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -151,8 +151,6 @@ build_external(ircce ${HERMIT_ROOT}/usr/ircce "") add_dependencies(hermit ircce) ## Infiniband -#build_external(infiniband ${HERMIT_ROOT}/usr/rdma-core/libibverbs "") -#add_dependencies(hermit infiniband) build_external(rdma ${HERMIT_ROOT}/usr/rdma-core "") add_dependencies(hermit rdma) diff --git a/cmake/HermitCore.cmake b/cmake/HermitCore.cmake index 4d6ac9d00..66f3daf5c 100644 --- a/cmake/HermitCore.cmake +++ b/cmake/HermitCore.cmake @@ -83,6 +83,7 @@ set(HERMIT_KERNEL_INCLUDES # be found. if(NOT BOOTSTRAP) enable_language(C CXX Fortran Go) + #enable_language(C CXX Fortran) include(${CMAKE_CURRENT_LIST_DIR}/HermitCore-Paths.cmake) endif() diff --git a/include/hermit/CMakeLists.txt b/include/hermit/CMakeLists.txt index 5f4dee9b4..58c2b1473 100644 --- a/include/hermit/CMakeLists.txt +++ b/include/hermit/CMakeLists.txt @@ -13,3 +13,5 @@ install(FILES ${GENERATED_CONFIG_DIR}/hermit/config.asm DESTINATION ${TARGET_ARCH}/include/hermit/ COMPONENT bootstrap) + +file(COPY ibv.h DESTINATION "${LOCAL_PREFIX_ARCH_INCLUDE_DIR}/hermit") diff --git a/include/hermit/ibv.h b/include/hermit/ibv.h index c80a58063..2f5ea1c5f 100644 --- a/include/hermit/ibv.h +++ b/include/hermit/ibv.h @@ -34,7 +34,7 @@ #ifndef __IBV_H__ #define __IBV_H__ -//#include // GEHT NICHT +//#include // GEHT NICHT aus x86_64-hermit/include heraus. #ifdef __cplusplus extern "C" { diff --git a/kernel/ibv.c b/kernel/ibv.c index afe8f8c1d..f20813961 100644 --- a/kernel/ibv.c +++ b/kernel/ibv.c @@ -31,8 +31,7 @@ #include #include -#include // kernel/syscall.c: #include GEHT -/*#include */ // GEHT NICHT +#include // GEHT typedef struct { diff --git a/usr/rdma-core/CMakeLists.txt b/usr/rdma-core/CMakeLists.txt index 5e6f245a5..269aeb9cb 100644 --- a/usr/rdma-core/CMakeLists.txt +++ b/usr/rdma-core/CMakeLists.txt @@ -30,6 +30,12 @@ # not support symbol versions, such as uclibc. cmake_minimum_required(VERSION 2.8.11 FATAL_ERROR) + +set(TARGET_ARCH x86_64-hermit) # defined in HermitCore-Toolchain-x86.cmake. workaround. +#include(../../cmake/HermitCore.cmake) # results in go lang error and fopen() error +#include(../../cmake/HermitCore-Toolchain-x86.cmake) # results in fopen() missing. +include(../../cmake/HermitCore-Paths.cmake) + project(rdma-core C) # CMake likes to use -rdynamic too much, they fixed it in 3.4. diff --git a/usr/rdma-core/buildlib/publish_headers.cmake b/usr/rdma-core/buildlib/publish_headers.cmake index 5b309861d..0f1e9427e 100644 --- a/usr/rdma-core/buildlib/publish_headers.cmake +++ b/usr/rdma-core/buildlib/publish_headers.cmake @@ -9,6 +9,7 @@ function(publish_internal_headers DEST) endif() set(DDIR "${BUILD_INCLUDE}/${DEST}") + #message(STATUS "BUILD_INCLUDE: ${BUILD_INCLUDE}") file(MAKE_DIRECTORY "${DDIR}") foreach(SFIL ${ARGN}) diff --git a/usr/rdma-core/libibverbs/CMakeLists.txt b/usr/rdma-core/libibverbs/CMakeLists.txt index 863c395df..9fc3666b7 100644 --- a/usr/rdma-core/libibverbs/CMakeLists.txt +++ b/usr/rdma-core/libibverbs/CMakeLists.txt @@ -1,3 +1,6 @@ +#message(STATUS "TARGET_ARCH: ${TARGET_ARCH}") # include HermitCore.cmake in CMakeLists? +#message(STATUS "LOCAL_PREFIX_ARCH_INCLUDE_DIR: ${LOCAL_PREFIX_ARCH_INCLUDE_DIR}") + publish_headers(infiniband arch.h kern-abi.h @@ -40,3 +43,18 @@ target_link_libraries(ibverbs LINK_PRIVATE ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS} ) + +message(STATUS "LOCAL_PREFIX_ARCH_LIB_DIR : ${LOCAL_PREFIX_ARCH_LIB_DIR}") +message(STATUS "LOCAL_PREFIX_ARCH_INCLUDE_DIR : ${LOCAL_PREFIX_ARCH_INCLUDE_DIR}") + +file(COPY verbs.h DESTINATION "${LOCAL_PREFIX_ARCH_INCLUDE_DIR}") + +# This actually shouldn't work. Why does it work for ircce??? +#install(TARGETS ibverbs + #DESTINATION "${LOCAL_PREFIX_ARCH_LIB_DIR}/") +#install(FILES verbs.h + #DESTINATION "${LOCAL_PREFIX_ARCH_INCLUDE_DIR}/") + +#rdma_create_symlink("${CMAKE_CURRENT_SOURCE_DIR}/verbs.h" + #"${LOCAL_PREFIX_ARCH_INCLUDE_DIR}/verbs.h") # working + diff --git a/usr/tests/ib_test.c b/usr/tests/ib_test.c index c506d82be..f01226720 100644 --- a/usr/tests/ib_test.c +++ b/usr/tests/ib_test.c @@ -32,7 +32,9 @@ #include #include -#include // geht nicht +/*#include // GEHT, brauche ich aber nicht?*/ + +#include // Geht per cmake copy workaround #define N 255 @@ -48,7 +50,7 @@ int main(int argc, char** argv) // --------------------------------------------------------------------------- - /*struct ibv_device **dev_list;*/ + /*struct ibv_device **dev_list;*/ /*int num_devices;*/ printf("before get dev list.\n");