c: add rv64 cmake toolchain file

This commit is contained in:
Mark Poliakov 2025-02-26 19:17:55 +02:00
parent e3916868d2
commit bbdcfd947a

View File

@ -0,0 +1,22 @@
if (NOT DEFINED ENV{CROSS_TOOLCHAIN_PREFIX})
message(FATAL_ERROR "CROSS_TOOLCHAIN_PREFIX=... must be specified.")
endif()
set(CROSS_TOOLCHAIN_PREFIX "$ENV{CROSS_TOOLCHAIN_PREFIX}")
set(CMAKE_SYSTEM_NAME yggdrasil)
set(CMAKE_C_COMPILER "${CROSS_TOOLCHAIN_PREFIX}/bin/clang")
set(CMAKE_CXX_COMPILER "${CROSS_TOOLCHAIN_PREFIX}/bin/clang++")
# Specify the target triple for your custom OS.
set(CMAKE_C_COMPILER_TARGET "riscv64-unknown-yggdrasil")
set(CMAKE_ASM_COMPILER_TARGET "riscv64-unknown-yggdrasil")
# Disable default system libraries
# set(CMAKE_EXE_LINKER_FLAGS "-nostdlib")
# set(CMAKE_SHARED_LINKER_FLAGS "-v")
set(CMAKE_C_FLAGS "--target=riscv64-unknown-yggdrasil -fPIC")
set(CMAKE_CXX_FLAGS "--target=riscv64-unknown-yggdrasil -march=rv64gc -nostdlib++ -fPIC -D_LIBCPP_HAS_NO_TREE_BARRIER")
# Specify any additional include paths or linker flags as needed