blob: 17af8ba564fb12c60f0aa27afffb2d1267a6caa2 [file] [log] [blame]
if (NOT TARGET pico_clib_interface)
pico_add_library(pico_clib_interface)
# ---- newlib ----
pico_add_library(pico_newlib_interface)
target_sources(pico_newlib_interface INTERFACE
${CMAKE_CURRENT_LIST_DIR}/newlib_interface.c
)
# ---- picolibc ----
pico_add_library(pico_picolibc_interface)
target_sources(pico_picolibc_interface INTERFACE
${CMAKE_CURRENT_LIST_DIR}/picolibc_interface.c
)
# replacing the functions is fine it seems
#target_compile_definitions(pico_picolibc_interface INTERFACE
# PICO_STDIO_SHORT_CIRCUIT_CLIB_FUNCS=0
#)
# ---- llvm_libc ----
pico_add_library(pico_llvm_libc_interface)
target_sources(pico_llvm_libc_interface INTERFACE
${CMAKE_CURRENT_LIST_DIR}/llvm_libc_interface.c
)
target_include_directories(pico_llvm_libc_interface SYSTEM INTERFACE
${CMAKE_CURRENT_LIST_DIR}/include/llvm_libc
)
target_link_libraries(pico_llvm_libc_interface INTERFACE pico_atomic)
pico_mirrored_target_link_libraries(pico_llvm_libc_interface INTERFACE pico_stdio)
if (NOT PICO_CLIB)
set(PICO_CLIB newlib)
endif()
target_link_libraries(pico_clib_interface INTERFACE pico_${PICO_CLIB}_interface)
endif()