mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-16 10:16:07 +00:00
Not all compiles/linkers support the GCC flags to not include standard defines, include files and libraries. So make these parameters such that the toolchain can define them when supported. Also, according to documentation, -nostdlib does the same for both -nostartfiles and -nodefaultlibs. So remove the redundant ones. Signed-off-by: Daniel Leung <daniel.leung@intel.com>
28 lines
809 B
CMake
28 lines
809 B
CMake
# Configuration for host installed llvm
|
|
#
|
|
|
|
set(NOSTDINC "")
|
|
|
|
# Note that NOSYSDEF_CFLAG may be an empty string, and
|
|
# set_ifndef() does not work with empty string.
|
|
if(NOT DEFINED NOSYSDEF_CFLAG)
|
|
set(NOSYSDEF_CFLAG -undef)
|
|
endif()
|
|
|
|
foreach(file_name include include-fixed)
|
|
execute_process(
|
|
COMMAND ${CMAKE_C_COMPILER} --print-file-name=${file_name}
|
|
OUTPUT_VARIABLE _OUTPUT
|
|
)
|
|
string(REGEX REPLACE "\n" "" _OUTPUT ${_OUTPUT})
|
|
|
|
list(APPEND NOSTDINC ${_OUTPUT})
|
|
endforeach()
|
|
|
|
foreach(isystem_include_dir ${NOSTDINC})
|
|
list(APPEND isystem_include_flags -isystem ${isystem_include_dir})
|
|
endforeach()
|
|
|
|
set(CMAKE_REQUIRED_FLAGS -nostartfiles -nostdlib ${isystem_include_flags} -Wl,--unresolved-symbols=ignore-in-object-files)
|
|
string(REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
|