File tree Expand file tree Collapse file tree 1 file changed +12
-9
lines changed Expand file tree Collapse file tree 1 file changed +12
-9
lines changed Original file line number Diff line number Diff line change @@ -292,21 +292,24 @@ function(_pybind11_generate_lto target prefer_thin_lto)
292
292
set (cxx_append ";-fno-fat-lto-objects" )
293
293
endif ()
294
294
295
- if (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le" OR CMAKE_SYSTEM_PROCESSOR MATCHES "mips64" )
296
- set (NO_FLTO_ARCH TRUE )
295
+ if (prefer_thin_lto )
296
+ set (thin "=thin" )
297
297
else ()
298
- set (NO_FLTO_ARCH FALSE )
298
+ set (thin "" )
299
299
endif ()
300
300
301
- if (CMAKE_CXX_COMPILER_ID MATCHES "Clang"
302
- AND prefer_thin_lto
303
- AND NOT NO_FLTO_ARCH )
301
+ if (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le" OR CMAKE_SYSTEM_PROCESSOR MATCHES "mips64" )
302
+ # Do nothing
303
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES emscripten )
304
+ # This compile is very costly when cross-compiling, so set this without checking
305
+ set (PYBIND11_LTO_CXX_FLAGS "-flto${thin}${cxx_append} " )
306
+ set (PYBIND11_LTO_LINKER_FLAGS "-flto${thin}${linker_append} " )
307
+ elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
304
308
_pybind11_return_if_cxx_and_linker_flags_work (
305
- HAS_FLTO_THIN "-flto= thin${cxx_append} " "-flto=thin${linker_append} "
309
+ HAS_FLTO_THIN "-flto${ thin} ${cxx_append} " "-flto=${ thin} ${linker_append} "
306
310
PYBIND11_LTO_CXX_FLAGS PYBIND11_LTO_LINKER_FLAGS )
307
311
endif ()
308
-
309
- if (NOT HAS_FLTO_THIN AND NOT NO_FLTO_ARCH )
312
+ if (DEFINED HAS_FLTO_THIN AND NOT HAS_FLTO_THIN )
310
313
_pybind11_return_if_cxx_and_linker_flags_work (
311
314
HAS_FLTO "-flto${cxx_append} " "-flto${linker_append} " PYBIND11_LTO_CXX_FLAGS
312
315
PYBIND11_LTO_LINKER_FLAGS )
You can’t perform that action at this time.
0 commit comments