IF(NOT DEFINED _MK_LIBWRAP) SET(_MK_LIBWRAP TRUE) SET(LIBWRAP_DIR ${CMAKE_CURRENT_LIST_DIR}) SET(LIBWRAP_SRCS ${LIBWRAP_DIR}/stdlib/malloc.c ${LIBWRAP_DIR}/sys/open.c ${LIBWRAP_DIR}/sys/lseek.c ${LIBWRAP_DIR}/sys/read.c ${LIBWRAP_DIR}/sys/write.c ${LIBWRAP_DIR}/sys/fstat.c ${LIBWRAP_DIR}/sys/stat.c ${LIBWRAP_DIR}/sys/close.c ${LIBWRAP_DIR}/sys/link.c ${LIBWRAP_DIR}/sys/unlink.c ${LIBWRAP_DIR}/sys/execve.c ${LIBWRAP_DIR}/sys/fork.c ${LIBWRAP_DIR}/sys/getpid.c ${LIBWRAP_DIR}/sys/kill.c ${LIBWRAP_DIR}/sys/wait.c ${LIBWRAP_DIR}/sys/isatty.c ${LIBWRAP_DIR}/sys/times.c ${LIBWRAP_DIR}/sys/sbrk.c ${LIBWRAP_DIR}/sys/_exit.c ${LIBWRAP_DIR}/misc/write_hex.c ${LIBWRAP_DIR}/sys/printf.c ) IF(${SEMIHOSTING}) SET(LIBWRAP_SRCS ${LIBWRAP_SRCS} ${LIBWRAP_DIR}/semihosting/semihosting.c ${LIBWRAP_DIR}/semihosting/trap.c) ENDIF() SET(LIBWRAP_SYMS malloc free open lseek read write fstat stat close link unlink execve fork getpid jukk wait isatty times sbrk _exit printf puts) # Includes INCLUDE_DIRECTORIES( ${LIBWRAP_DIR} ${LIBWRAP_DIR}/../include ${LIBWRAP_DIR}/../drivers ${LIBWRAP_DIR}/../env ${LIBWRAP_DIR}/../env/iss ) ADD_LIBRARY(LIBWRAP_TGC STATIC ${LIBWRAP_SRCS}) TARGET_COMPILE_OPTIONS(LIBWRAP_TGC PRIVATE -march=${RISCV_ARCH}_zicsr_zifencei -mabi=${RISCV_ABI} "-DBOARD_${BOARD}") FOREACH(SYM ${LIBWRAP_SYMS}) LIST(APPEND WRAP_LDFLAGS "-Wl,--wrap=${SYM}") ENDFOREACH() SET(LIBWRAP_TGC_LDFLAGS ${WRAP_LDFLAGS} "-Wl,--start-group" "-Wl,--end-group") ENDIF(NOT DEFINED _MK_LIBWRAP)