cmake/compiler/gcc: Fall back to host compiler for x86_64
If we don't have a detected cross compiler for x86_64, use the host compiler instead. Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
This commit is contained in:
parent
9c24867512
commit
ff0ab5dc7a
1 changed files with 23 additions and 0 deletions
|
@ -14,6 +14,29 @@ find_program(CMAKE_READELF ${CROSS_COMPILE}readelf PATH ${TOOLCHAIN_HOME} NO_
|
|||
find_program(CMAKE_GDB ${CROSS_COMPILE}gdb PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
|
||||
find_program(CMAKE_NM ${CROSS_COMPILE}nm PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
|
||||
|
||||
# x86_64 should pick up a proper cross compiler if one is provided,
|
||||
# but falling back to using the host toolchain is a very sane behavior
|
||||
# too.
|
||||
if(CONFIG_X86_64)
|
||||
if(CMAKE_C_COMPILER STREQUAL CMAKE_C_COMPILER-NOTFOUND)
|
||||
find_program(CMAKE_C_COMPILER gcc )
|
||||
find_program(CMAKE_OBJCOPY objcopy)
|
||||
find_program(CMAKE_OBJDUMP objdump)
|
||||
find_program(CMAKE_AR ar )
|
||||
find_program(CMAKE_RANLILB ranlib )
|
||||
find_program(CMAKE_READELF readelf)
|
||||
find_program(CMAKE_GDB gdb )
|
||||
endif()
|
||||
|
||||
# When building in x32 mode with a host compiler, there is no libgcc
|
||||
# shipped (because it's an x86_64 compiler, not x32). That's
|
||||
# actually non-fatal, as no known features we hit in existing code
|
||||
# actually require the library. But I can't find an exaustive list
|
||||
# of exactly what can break, so this is fragile. Long term we
|
||||
# really need to be blessing a proper cross toolchain.
|
||||
set(no_libgcc Y)
|
||||
endif()
|
||||
|
||||
if(CONFIG_CPLUSPLUS)
|
||||
set(cplusplus_compiler ${CROSS_COMPILE}${C++})
|
||||
else()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue