summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
a40ded2)
Instead of binding link time optimization to the choice of
popcount support, do the right thing and add -flto option
when gcc 4.5 or later is detected.
Although it should be supported also under mingw, it happens
that it doesn't, at least on my 4.6.1 due to some known bugs.
Thanks to Mike for helping me with this patch.
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
### 3.10 popcnt
ifeq ($(popcnt),yes)
### 3.10 popcnt
ifeq ($(popcnt),yes)
- CXXFLAGS += -DUSE_POPCNT
-
- ### For gcc we add also msse3 support and Link Time Optimization, note that
- ### this is a mix of compile and link time options because the lto link phase
- ### needs access to the optimization flags.
- ifeq ($(comp),gcc)
- CXXFLAGS += -msse3 -flto
- LDFLAGS += $(CXXFLAGS)
- endif
+ CXXFLAGS += -msse3 -DUSE_POPCNT
+endif
+
+### 3.11 Link Time Optimization, it works since gcc 4.5 but not on mingw.
+### This is a mix of compile and link time options because the lto link phase
+### needs access to the optimization flags.
+ifeq ($(comp),gcc)
+ GCC_MAJOR := `gcc -dumpversion | cut -f1 -d.`
+ GCC_MINOR := `gcc -dumpversion | cut -f2 -d.`
+ ifeq (1,$(shell expr \( $(GCC_MAJOR) \> 4 \) \| \( $(GCC_MAJOR) \= 4 \& $(GCC_MINOR) \>= 5 \)))
+ CXXFLAGS += -flto
+ LDFLAGS += $(CXXFLAGS)
+ endif
endif
### ==========================================================================
endif
### ==========================================================================