commit: cbf4efdad952074b3adc412c87ad766d40165293 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Wed Nov 30 23:02:32 2016 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Thu Dec 1 22:39:33 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbf4efda
cmake-utils.eclass: Set assembler correctly, #601292 Use <CMAKE_ASM_COMPILER> in the assembly compile command in order to fix building assembly files. It turns out that <CMAKE_C_COMPILER> is no longer correctly evaluated in that command once it is no longer set explicitly in the toolchain file and passed through the environment instead. Pass ASM and ASMFLAGS (equal to CC and CFLAGS) appropriately to enforce using the correct compiler. eclass/cmake-utils.eclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass index b21435b..784ae44 100644 --- a/eclass/cmake-utils.eclass +++ b/eclass/cmake-utils.eclass @@ -517,7 +517,7 @@ enable_cmake-utils_src_configure() { includes="<INCLUDES>" fi cat > "${build_rules}" <<- _EOF_ || die - SET (CMAKE_ASM_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> ${includes} ${CFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "ASM compile command" FORCE) + SET (CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> <DEFINES> ${includes} ${CPPFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "ASM compile command" FORCE) SET (CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> ${includes} ${CPPFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "C compile command" FORCE) SET (CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <DEFINES> ${includes} ${CPPFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "C++ compile command" FORCE) SET (CMAKE_Fortran_COMPILE_OBJECT "<CMAKE_Fortran_COMPILER> <DEFINES> ${includes} ${FCFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "Fortran compile command" FORCE) @@ -532,6 +532,8 @@ enable_cmake-utils_src_configure() { # Bug 542530, export those instead of setting paths in toolchain file local -x CC=$(tc-getCC) CXX=$(tc-getCXX) FC=$(tc-getFC) local -x PKG_CONFIG=$(tc-getPKG_CONFIG) + # Bug 601292, set the compiler for assembly as well + local -x ASM=$(tc-getCC) ASMFLAGS=${CFLAGS} if tc-is-cross-compiler; then local sysname