summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
aecfca2)
LTO with static linking is still only working with the latest versions of gcc,
causing problems for some devs.
on a modern mingw toolchain LTO optimizations can still be enabled as:
```
CXXFLAGS='-flto' make -j ARCH=x86-64-modern COMP=mingw profile-build
```
fixes https://github.com/official-stockfish/Stockfish/issues/2769
closes https://github.com/official-stockfish/Stockfish/pull/2774
No functional change.
### needs access to the optimization flags.
ifeq ($(optimize),yes)
ifeq ($(debug), no)
### needs access to the optimization flags.
ifeq ($(optimize),yes)
ifeq ($(debug), no)
- ifeq ($(comp),$(filter $(comp),gcc clang mingw))
+ ifeq ($(comp),$(filter $(comp),gcc clang))
CXXFLAGS += -flto
LDFLAGS += $(CXXFLAGS)
endif
CXXFLAGS += -flto
LDFLAGS += $(CXXFLAGS)
endif
+
+# To use LTO and static linking on windows, the tool chain requires a recent gcc:
+# gcc version 10.1 in msys2 or TDM-GCC version 9.2 are know to work, older might not.
+# So, only enable it for a cross from Linux by default.
+ ifeq ($(comp),mingw)
+ ifeq ($(KERNEL),Linux)
+ CXXFLAGS += -flto
+ LDFLAGS += $(CXXFLAGS)
+ endif
+ endif