blob: 6c6dde00be73fadb0f855eeced5a1bbcb9b053c2 [file] [log] [blame]
yang.lid6fe6242022-01-13 14:44:24 +08001# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
2
3# SPDX-License-Identifier: MIT
4
shijie.xiong377f17a2024-07-26 15:02:36 +08005set(SPLIT_ARCH_DIR $ENV{SPLIT_ARCH_DIR})
6if(NOT SPLIT_ARCH_DIR)
7 set(SOC_DIR $ENV{SDK_BASE}/soc/$ENV{ARCH}/$ENV{SOC})
8else()
9 set(SOC_DIR $ENV{SDK_BASE}/soc/$ENV{ARCH}/${SPLIT_ARCH_DIR}/$ENV{SOC})
10endif()
11
12if(EXISTS ${SOC_DIR}/toolchain_path.cmake)
13 include(${SOC_DIR}/toolchain_path.cmake)
14endif()
15
bin.chen1a426d32021-10-13 10:52:36 +080016include("${CMAKE_CURRENT_LIST_DIR}/find_compiler.cmake")
17
18set(CMAKE_SYSTEM_NAME Generic)
19
20# Find GCC for RISCV.
21aml_find_compiler(COMPILER_CC riscv-none-embed-gcc)
22aml_find_compiler(COMPILER_CXX riscv-none-embed-g++)
23set(COMPILER_ASM "${COMPILER_CC}" CACHE INTERNAL "")
24aml_find_compiler(COMPILER_OBJCOPY riscv-none-embed-objcopy)
25aml_find_compiler(COMPILER_OBJDUMP riscv-none-embed-objdump)
26
xiaohu.huanga1268fd2022-06-07 11:10:48 +080027# Specify the cross compiler.
bin.chen1a426d32021-10-13 10:52:36 +080028set(CMAKE_C_COMPILER ${COMPILER_CC} CACHE FILEPATH "C compiler")
29set(CMAKE_CXX_COMPILER ${COMPILER_CXX} CACHE FILEPATH "C++ compiler")
30set(CMAKE_ASM_COMPILER ${COMPILER_ASM} CACHE FILEPATH "ASM compiler")
31#set(CMAKE_C_LINK_EXECUTABLE ${COMPILER_LD} CACHE FILEPATH "LD linker")
32set(CMAKE_OBJCOPY_COMPILER ${COMPILER_OBJCOPY} CACHE FILEPATH "objcopy compiler")
33set(CMAKE_OBJDUMP_COMPILER ${COMPILER_OBJDUMP} CACHE FILEPATH "objdump compiler")
34# Disable compiler checks.
35set(CMAKE_C_COMPILER_FORCED TRUE)
36set(CMAKE_CXX_COMPILER_FORCED TRUE)
37
38# Add target system root to cmake find path.
39get_filename_component(COMPILER_DIR "${COMPILER_CC}" DIRECTORY)
40get_filename_component(CMAKE_FIND_ROOT_PATH "${COMPILER_DIR}" DIRECTORY)
41
42# Look for includes and libraries only in the target system prefix.
43#set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
44#set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
45
46# Helper variables to abstracts some common compiler flags.
47set(COMPILER_NO_WARNINGS "-w" CACHE INTERNAL "")