1 add_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
7 # Include the RPC implemenation from libc.
8 target_include_directories(llvmlibc_rpc_server PRIVATE ${LIBC_SOURCE_DIR})
9 target_include_directories(llvmlibc_rpc_server PUBLIC ${LIBC_SOURCE_DIR}/include)
10 target_include_directories(llvmlibc_rpc_server PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
12 # Ignore unsupported clang attributes if we're using GCC.
13 target_compile_options(llvmlibc_rpc_server PUBLIC
14 $<$<CXX_COMPILER_ID:GNU>:-Wno-attributes>)
15 target_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})
25 # Install the server and associated header.
26 install(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)
31 install(TARGETS llvmlibc_rpc_server
32 ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX}"