From c023bbf009348fc4512edabc1e77bbfa4aff415a Mon Sep 17 00:00:00 2001 From: Ariel Abreu Date: Wed, 9 Mar 2022 17:57:19 -0500 Subject: [PATCH] mldr: Only build mldr32 when building 32-bit targets --- src/startup/mldr/CMakeLists.txt | 36 ++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/startup/mldr/CMakeLists.txt b/src/startup/mldr/CMakeLists.txt index fe8902c96..b4b024208 100644 --- a/src/startup/mldr/CMakeLists.txt +++ b/src/startup/mldr/CMakeLists.txt @@ -9,16 +9,10 @@ set_source_files_properties(${CMAKE_BINARY_DIR}/src/external/darlingserver/src/r ) add_library(mldr_dserver_rpc ${CMAKE_BINARY_DIR}/src/external/darlingserver/src/rpc.c) -add_library(mldr32_dserver_rpc ${CMAKE_BINARY_DIR}/src/external/darlingserver/src/rpc.c) add_dependencies(mldr_dserver_rpc generate_dserver_rpc_wrappers) -add_dependencies(mldr32_dserver_rpc generate_dserver_rpc_wrappers) target_compile_options(mldr_dserver_rpc PRIVATE -include ${CMAKE_CURRENT_SOURCE_DIR}/resources/dserver-rpc-defs.h) -target_compile_options(mldr32_dserver_rpc PRIVATE -include ${CMAKE_CURRENT_SOURCE_DIR}/resources/dserver-rpc-defs.h) - -target_compile_options(mldr32_dserver_rpc PRIVATE -m32) -target_link_options(mldr32_dserver_rpc PRIVATE -m32) set(mldr_sources mldr.c @@ -29,23 +23,33 @@ set(mldr_sources add_executable(mldr ${mldr_sources}) -add_executable(mldr32 ${mldr_sources}) -target_compile_options(mldr32 PRIVATE -m32) -target_link_options(mldr32 PRIVATE -m32) - target_compile_options(mldr PRIVATE -pthread) -target_compile_options(mldr32 PRIVATE -pthread) target_link_options(mldr PRIVATE -pthread) -target_link_options(mldr32 PRIVATE -pthread) target_link_libraries(mldr PRIVATE -lrt -ldl mldr_dserver_rpc) -target_link_libraries(mldr32 PRIVATE -lrt -ldl mldr32_dserver_rpc) - -install(TARGETS mldr mldr32 DESTINATION libexec/darling/usr/libexec/darling) include(setcap) + +install(TARGETS mldr DESTINATION libexec/darling/usr/libexec/darling) setcap(libexec/darling/usr/libexec/darling/mldr cap_sys_rawio,cap_sys_resource+ep) -setcap(libexec/darling/usr/libexec/darling/mldr32 cap_sys_rawio,cap_sys_resource+ep) configure_file(darling.conf.in darling.conf @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/darling.conf" DESTINATION lib/binfmt.d) + +if (BUILD_TARGET_32BIT) + add_library(mldr32_dserver_rpc ${CMAKE_BINARY_DIR}/src/external/darlingserver/src/rpc.c) + add_dependencies(mldr32_dserver_rpc generate_dserver_rpc_wrappers) + target_compile_options(mldr32_dserver_rpc PRIVATE -include ${CMAKE_CURRENT_SOURCE_DIR}/resources/dserver-rpc-defs.h) + target_compile_options(mldr32_dserver_rpc PRIVATE -m32) + target_link_options(mldr32_dserver_rpc PRIVATE -m32) + + add_executable(mldr32 ${mldr_sources}) + target_compile_options(mldr32 PRIVATE -m32) + target_link_options(mldr32 PRIVATE -m32) + target_compile_options(mldr32 PRIVATE -pthread) + target_link_options(mldr32 PRIVATE -pthread) + target_link_libraries(mldr32 PRIVATE -lrt -ldl mldr32_dserver_rpc) + + install(TARGETS mldr32 DESTINATION libexec/darling/usr/libexec/darling) + setcap(libexec/darling/usr/libexec/darling/mldr32 cap_sys_rawio,cap_sys_resource+ep) +endif() -- 2.51.2