sglang_v0.5.2/pytorch_2.8.0/third_party/XNNPACK/cmake/riscv64.toolchain

53 lines
2.2 KiB
Plaintext

# Copyright 2022 Google LLC
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_PROCESSOR riscv64)
SET(VLEN "512" CACHE STRING "Vector Length for QEMU.")
IF(NOT VLEN MATCHES "^(32|64|128|256|512|1024|2048|4096|8192|16384|32768|65536)$")
MESSAGE(FATAL_ERROR "User specified VLEN=${VLEN} is invalid.")
ENDIF()
IF(NOT RISCV_TOOLCHAIN_ROOT)
SET(CMAKE_C_COMPILER "riscv64-linux-gnu-gcc")
SET(CMAKE_ASM_COMPILER "riscv64-linux-gnu-gcc")
SET(CMAKE_CXX_COMPILER "riscv64-linux-gnu-g++")
SET(CMAKE_FIND_ROOT_PATH "/usr/riscv64-linux-gnu")
SET(CMAKE_INCLUDE_PATH "/usr/include/riscv64-linux-gnu")
SET(CMAKE_LIBRARY_PATH "/usr/lib/riscv64-linux-gnu")
SET(CMAKE_PROGRAM_PATH "/usr/bin/riscv64-linux-gnu")
ELSE()
MESSAGE(STATUS "RISCV_TOOLCHAIN_ROOT=${RISCV_TOOLCHAIN_ROOT} is defined during compilation.")
SET(CMAKE_C_COMPILER "${RISCV_TOOLCHAIN_ROOT}/bin/riscv64-unknown-linux-gnu-clang")
SET(CMAKE_ASM_COMPILER "${RISCV_TOOLCHAIN_ROOT}/bin/riscv64-unknown-linux-gnu-clang")
SET(CMAKE_CXX_COMPILER "${RISCV_TOOLCHAIN_ROOT}/bin/riscv64-unknown-linux-gnu-clang++")
SET(CMAKE_FIND_ROOT_PATH "${RISCV_TOOLCHAIN_ROOT}/sysroot/")
SET(CMAKE_INCLUDE_PATH "${RISCV_TOOLCHAIN_ROOT}/sysroot/usr/include/")
SET(CMAKE_LIBRARY_PATH "${RISCV_TOOLCHAIN_ROOT}/sysroot/usr/lib/")
SET(CMAKE_PROGRAM_PATH "${RISCV_TOOLCHAIN_ROOT}/sysroot/usr/bin/")
ENDIF()
SET(CMAKE_CROSSCOMPILING TRUE)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
IF(NOT XNNPACK_ENABLE_RISCV_VECTOR)
SET(QEMU_OPTION -L ${CMAKE_FIND_ROOT_PATH})
ELSE()
SET(QEMU_OPTION -cpu rv64,zba=true,zbb=true,zbc=true,zbs=true,v=true,vlen=${VLEN},elen=64,vext_spec=v1.0 -L ${CMAKE_FIND_ROOT_PATH})
ENDIF()
IF(NOT RISCV_QEMU_ROOT)
SET(CMAKE_CROSSCOMPILING_EMULATOR "qemu-riscv64;${QEMU_OPTION}")
ELSE()
SET(CMAKE_CROSSCOMPILING_EMULATOR "${RISCV_QEMU_ROOT}/bin/qemu-riscv64;${QEMU_OPTION}")
ENDIF()
MESSAGE(STATUS "CMAKE_CROSSCOMPILING_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}")