Commit 5a8df673 authored by Ramon Nou's avatar Ramon Nou Committed by Ramon Nou
Browse files

Added cmake option to disable libc interception compilation

parent 1b3feefc
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -34,7 +34,11 @@

add_library(gkfs_intercept SHARED)
add_library(gkfs_user_lib SHARED)

if (GKFS_BUILD_LIBC_INTERCEPTION)
    add_library(gkfs_libc_intercept SHARED)
endif()

add_library(gkfs_user_lib_autoinit SHARED)

target_sources(gkfs_intercept
@@ -104,7 +108,7 @@ target_sources(
    rpc/forward_malleability.cpp
    syscalls/detail/syscall_info.c syscalls/util.S
)

if (GKFS_BUILD_LIBC_INTERCEPTION)
target_sources(
    gkfs_libc_intercept
    PRIVATE gkfs_functions.cpp
@@ -130,6 +134,7 @@ target_sources(
    syscalls/detail/syscall_info.c syscalls/util.S
   
)
endif ()

target_compile_definitions(gkfs_user_lib PUBLIC BYPASS_SYSCALL)
target_link_options(gkfs_user_lib PRIVATE -z noexecstack)
@@ -137,8 +142,10 @@ target_link_options(gkfs_user_lib PRIVATE -z noexecstack)
target_compile_definitions(gkfs_user_lib_autoinit PUBLIC BYPASS_SYSCALL ENABLE_INIT)
target_link_options(gkfs_user_lib_autoinit PRIVATE -z noexecstack)

if (GKFS_BUILD_LIBC_INTERCEPTION)
target_compile_definitions(gkfs_libc_intercept PUBLIC BYPASS_SYSCALL ENABLE_INIT)
target_link_options(gkfs_libc_intercept PRIVATE -z noexecstack)
endif ()

if (GKFS_ENABLE_AGIOS)
    target_compile_definitions(gkfs_intercept PUBLIC GKFS_ENABLE_AGIOS)
@@ -188,6 +195,7 @@ target_link_libraries(
    Microsoft.GSL::GSL
)

if (GKFS_BUILD_LIBC_INTERCEPTION)
target_link_libraries(
    gkfs_libc_intercept
    PRIVATE metadata distributor env_util arithmetic path_util rpc_utils
@@ -198,7 +206,7 @@ target_link_libraries(
    Threads::Threads
    Microsoft.GSL::GSL
)

endif ()

install(
    TARGETS gkfs_intercept
@@ -235,6 +243,7 @@ install(
    PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs
)

if (GKFS_BUILD_LIBC_INTERCEPTION)
set_target_properties(gkfs_libc_intercept
    PROPERTIES
    PUBLIC_HEADER "../../include/client/void_syscall_intercept.hpp"
@@ -247,3 +256,4 @@ install(
    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
    PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs
)
endif ()
 No newline at end of file