This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new cba993df85 risc-v/cmake: add support to Ubuntu stock toolchain
cba993df85 is described below
commit cba993df85f08728f936603413d686d7b395ef39
Author: Yanfeng Liu <[email protected]>
AuthorDate: Mon Jan 22 17:07:41 2024 +0800
risc-v/cmake: add support to Ubuntu stock toolchain
Ubuntu stock toolchain `gcc-riscv64-unknown-elf` complains about
current CMake system (see issue#11573). This tries to fix it so
that both newer XPack and stock toolchains can be used with CMake.
Signed-off-by: Yanfeng Liu <[email protected]>
---
arch/risc-v/src/cmake/Toolchain.cmake | 12 ++++++------
arch/risc-v/src/cmake/platform.cmake | 10 ++++++----
2 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/arch/risc-v/src/cmake/Toolchain.cmake
b/arch/risc-v/src/cmake/Toolchain.cmake
index a8abb18460..46abf64f28 100644
--- a/arch/risc-v/src/cmake/Toolchain.cmake
+++ b/arch/risc-v/src/cmake/Toolchain.cmake
@@ -271,21 +271,21 @@ if(${CONFIG_RISCV_TOOLCHAIN} STREQUAL GNU_RVG)
# These models can't cover all implementation of RISCV, but it's enough for
# most cases.
- set(PLATFORM_FLAGS)
+ set(LLVM_CPUFLAGS)
if(CONFIG_ARCH_RV32)
if(${ARCHCPUEXTFLAGS} STREQUAL imc)
- list(APPEND PLATFORM_FLAGS -mcpu=sifive-e20)
+ list(APPEND LLVM_CPUFLAGS -mcpu=sifive-e20)
elseif(${ARCHCPUEXTFLAGS} STREQUAL imac)
- list(APPEND PLATFORM_FLAGS -mcpu=sifive-e31)
+ list(APPEND LLVM_CPUFLAGS -mcpu=sifive-e31)
elseif(${ARCHCPUEXTFLAGS} STREQUAL imafc)
- list(APPEND PLATFORM_FLAGS -mcpu=sifive-e76)
+ list(APPEND LLVM_CPUFLAGS -mcpu=sifive-e76)
endif()
else()
if(${ARCHCPUEXTFLAGS} STREQUAL imac)
- list(APPEND PLATFORM_FLAGS -mcpu=sifive-s51)
+ list(APPEND LLVM_CPUFLAGS -mcpu=sifive-s51)
elseif(${ARCHCPUEXTFLAGS} STREQUAL imafdc)
- list(APPEND PLATFORM_FLAGS -mcpu=sifive-u54)
+ list(APPEND LLVM_CPUFLAGS -mcpu=sifive-u54)
endif()
endif()
diff --git a/arch/risc-v/src/cmake/platform.cmake
b/arch/risc-v/src/cmake/platform.cmake
index 79893f8388..404371d390 100644
--- a/arch/risc-v/src/cmake/platform.cmake
+++ b/arch/risc-v/src/cmake/platform.cmake
@@ -21,8 +21,10 @@
get_directory_property(NUTTX_EXTRA_FLAGS DIRECTORY ${CMAKE_SOURCE_DIR}
COMPILE_OPTIONS)
+separate_arguments(LIBPRT_CFLAGS NATIVE_COMMAND ${CMAKE_C_FLAGS})
+
execute_process(
- COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} ${NUTTX_EXTRA_FLAGS}
+ COMMAND ${CMAKE_C_COMPILER} ${LIBPRT_CFLAGS} ${NUTTX_EXTRA_FLAGS}
--print-libgcc-file-name
OUTPUT_STRIP_TRAILING_WHITESPACE
OUTPUT_VARIABLE extra_library)
@@ -31,7 +33,7 @@ list(APPEND EXTRA_LIB ${extra_library})
if(NOT CONFIG_LIBM)
execute_process(
- COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} ${NUTTX_EXTRA_FLAGS}
+ COMMAND ${CMAKE_C_COMPILER} ${LIBPRT_CFLAGS} ${NUTTX_EXTRA_FLAGS}
--print-file-name=libm.a
OUTPUT_STRIP_TRAILING_WHITESPACE
OUTPUT_VARIABLE extra_library)
@@ -40,7 +42,7 @@ endif()
if(CONFIG_LIBSUPCXX)
execute_process(
- COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} ${NUTTX_EXTRA_FLAGS}
+ COMMAND ${CMAKE_C_COMPILER} ${LIBPRT_CFLAGS} ${NUTTX_EXTRA_FLAGS}
--print-file-name=libsupc++.a
OUTPUT_STRIP_TRAILING_WHITESPACE
OUTPUT_VARIABLE extra_library)
@@ -49,7 +51,7 @@ endif()
if(CONFIG_ARCH_COVERAGE)
execute_process(
- COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} ${NUTTX_EXTRA_FLAGS}
+ COMMAND ${CMAKE_C_COMPILER} ${LIBPRT_CFLAGS} ${NUTTX_EXTRA_FLAGS}
--print-file-name=libgcov.a
OUTPUT_STRIP_TRAILING_WHITESPACE
OUTPUT_VARIABLE extra_library)