2022-12-10 10:37:44 +00:00
|
|
|
# See linux/toolchain-x86_64.cmake for details about multiple load of toolchain file.
|
|
|
|
include_guard(GLOBAL)
|
|
|
|
|
2021-10-16 22:23:55 +00:00
|
|
|
set (CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
|
|
|
|
|
|
|
|
set (CMAKE_SYSTEM_NAME "Linux")
|
|
|
|
set (CMAKE_SYSTEM_PROCESSOR "riscv64")
|
|
|
|
set (CMAKE_C_COMPILER_TARGET "riscv64-linux-gnu")
|
|
|
|
set (CMAKE_CXX_COMPILER_TARGET "riscv64-linux-gnu")
|
|
|
|
set (CMAKE_ASM_COMPILER_TARGET "riscv64-linux-gnu")
|
|
|
|
|
2021-11-28 01:37:55 +00:00
|
|
|
# Will be changed later, but somehow needed to be set here.
|
|
|
|
set (CMAKE_AR "ar")
|
|
|
|
set (CMAKE_RANLIB "ranlib")
|
|
|
|
|
2021-10-16 22:23:55 +00:00
|
|
|
set (TOOLCHAIN_PATH "${CMAKE_CURRENT_LIST_DIR}/../../contrib/sysroot/linux-riscv64")
|
|
|
|
|
|
|
|
set (CMAKE_SYSROOT "${TOOLCHAIN_PATH}")
|
|
|
|
|
2022-01-17 04:33:47 +00:00
|
|
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --gcc-toolchain=${TOOLCHAIN_PATH}")
|
|
|
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --gcc-toolchain=${TOOLCHAIN_PATH}")
|
|
|
|
set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} --gcc-toolchain=${TOOLCHAIN_PATH}")
|
2021-10-16 22:23:55 +00:00
|
|
|
|
2023-05-07 17:31:47 +00:00
|
|
|
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=bfd")
|
2021-10-16 22:23:55 +00:00
|
|
|
|
2022-08-14 03:57:55 +00:00
|
|
|
# Currently, lld does not work with the error:
|
|
|
|
# ld.lld: error: section size decrease is too large
|
|
|
|
# But GNU BinUtils work.
|
|
|
|
set (LINKER_NAME "riscv64-linux-gnu-ld.bfd" CACHE STRING "Linker name" FORCE)
|
|
|
|
|
2021-10-16 22:23:55 +00:00
|
|
|
set (HAS_PRE_1970_EXITCODE "0" CACHE STRING "Result from TRY_RUN" FORCE)
|
|
|
|
set (HAS_PRE_1970_EXITCODE__TRYRUN_OUTPUT "" CACHE STRING "Output from TRY_RUN" FORCE)
|
|
|
|
|
|
|
|
set (HAS_POST_2038_EXITCODE "0" CACHE STRING "Result from TRY_RUN" FORCE)
|
|
|
|
set (HAS_POST_2038_EXITCODE__TRYRUN_OUTPUT "" CACHE STRING "Output from TRY_RUN" FORCE)
|