Skip to content

Commit 3e605c1

Browse files
W-M-Rxiaoxiang781216
authored andcommitted
clang/cmake: Fix clang cmake can't find libgcc, align with makefile
makefile: ifeq ($(CONFIG_BUILTIN_TOOLCHAIN),y) COMPILER_RT_LIB = $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name) ifeq ($(CONFIG_ARCH_TOOLCHAIN_CLANG),y) ifeq ($(wildcard $(COMPILER_RT_LIB)),) # if "--print-libgcc-file-name" unable to find the correct libgcc PATH # then go ahead and try "--print-file-name" COMPILER_RT_LIB := $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name $(notdir $(COMPILER_RT_LIB)))) endif endif endif Signed-off-by: wangmingrong1 <[email protected]>
1 parent fdeaf53 commit 3e605c1

File tree

1 file changed

+25
-8
lines changed

1 file changed

+25
-8
lines changed

arch/arm/src/cmake/clang.cmake

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -238,14 +238,31 @@ set(PREPROCESS ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} -E -P -x c)
238238
set(NUTTX_FIND_TOOLCHAIN_LIB_DEFINED true)
239239

240240
if(CONFIG_BUILTIN_TOOLCHAIN)
241-
function(nuttx_find_toolchain_lib)
242-
execute_process(
243-
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
244-
--print-file-name
245-
OUTPUT_STRIP_TRAILING_WHITESPACE
246-
OUTPUT_VARIABLE extra_lib_path)
247-
nuttx_add_extra_library(${extra_lib_path})
248-
endfunction()
241+
if(ARGN)
242+
function(nuttx_find_toolchain_lib)
243+
execute_process(
244+
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
245+
--print-file-name=${ARGN}
246+
OUTPUT_STRIP_TRAILING_WHITESPACE
247+
OUTPUT_VARIABLE extra_lib_path)
248+
nuttx_add_extra_library(${extra_lib_path})
249+
endfunction()
250+
else()
251+
function(nuttx_find_toolchain_lib)
252+
execute_process(
253+
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
254+
--print-libgcc-file-name
255+
OUTPUT_STRIP_TRAILING_WHITESPACE
256+
OUTPUT_VARIABLE libgcc_path)
257+
get_filename_component(libgcc_name ${libgcc_path} NAME)
258+
execute_process(
259+
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
260+
--print-file-name=${libgcc_name}
261+
OUTPUT_STRIP_TRAILING_WHITESPACE
262+
OUTPUT_VARIABLE libgcc)
263+
nuttx_add_extra_library(${libgcc})
264+
endfunction()
265+
endif()
249266
else()
250267
function(nuttx_find_toolchain_lib)
251268
if(ARGN)

0 commit comments

Comments
 (0)