1add_library(llvmlibc_rpc_server STATIC 2 ${LIBC_SOURCE_DIR}/src/stdio/printf_core/writer.cpp 3 ${LIBC_SOURCE_DIR}/src/stdio/printf_core/converter.cpp 4 rpc_server.cpp 5) 6 7# Include the RPC implemenation from libc. 8target_include_directories(llvmlibc_rpc_server PRIVATE ${LIBC_SOURCE_DIR}) 9target_include_directories(llvmlibc_rpc_server PUBLIC ${LIBC_SOURCE_DIR}/include) 10target_include_directories(llvmlibc_rpc_server PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) 11 12# Ignore unsupported clang attributes if we're using GCC. 13target_compile_options(llvmlibc_rpc_server PUBLIC 14 $<$<CXX_COMPILER_ID:GNU>:-Wno-attributes>) 15target_compile_definitions(llvmlibc_rpc_server PUBLIC 16 LIBC_COPT_USE_C_ASSERT 17 LIBC_COPT_MEMCPY_USE_EMBEDDED_TINY 18 LIBC_TYPES_LONG_DOUBLE_IS_FLOAT64 19 LIBC_COPT_ARRAY_ARG_LIST 20 LIBC_COPT_PRINTF_DISABLE_WRITE_INT 21 LIBC_COPT_PRINTF_DISABLE_INDEX_MODE 22 LIBC_COPT_PRINTF_DISABLE_STRERROR 23 LIBC_NAMESPACE=${LIBC_NAMESPACE}) 24 25# Install the server and associated header. 26install(FILES ${LIBC_SOURCE_DIR}/shared/rpc.h 27 ${LIBC_SOURCE_DIR}/shared/rpc_util.h 28 ${LIBC_SOURCE_DIR}/shared/rpc_opcodes.h 29 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/shared 30 COMPONENT libc-headers) 31install(TARGETS llvmlibc_rpc_server 32 ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX}" 33 COMPONENT libc) 34