Skip to content

Commit e50f841

Browse files
authored
fix: do not use LTS on mips64 and ppc64le (#3557)
1 parent 39fbc79 commit e50f841

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

tools/pybind11Common.cmake

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,13 +318,21 @@ function(_pybind11_generate_lto target prefer_thin_lto)
318318
set(cxx_append ";-fno-fat-lto-objects")
319319
endif()
320320

321-
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND prefer_thin_lto)
321+
if(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le" OR CMAKE_SYSTEM_PROCESSOR MATCHES "mips64")
322+
set(NO_FLTO_ARCH TRUE)
323+
else()
324+
set(NO_FLTO_ARCH FALSE)
325+
endif()
326+
327+
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang"
328+
AND prefer_thin_lto
329+
AND NOT NO_FLTO_ARCH)
322330
_pybind11_return_if_cxx_and_linker_flags_work(
323331
HAS_FLTO_THIN "-flto=thin${cxx_append}" "-flto=thin${linker_append}"
324332
PYBIND11_LTO_CXX_FLAGS PYBIND11_LTO_LINKER_FLAGS)
325333
endif()
326334

327-
if(NOT HAS_FLTO_THIN)
335+
if(NOT HAS_FLTO_THIN AND NOT NO_FLTO_ARCH)
328336
_pybind11_return_if_cxx_and_linker_flags_work(
329337
HAS_FLTO "-flto${cxx_append}" "-flto${linker_append}" PYBIND11_LTO_CXX_FLAGS
330338
PYBIND11_LTO_LINKER_FLAGS)

0 commit comments

Comments
 (0)