diff options
author | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2013-06-10 17:28:13 +0200 |
---|---|---|
committer | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2013-06-10 17:28:55 +0200 |
commit | 8df088781c53221498e762f570d21948b7de2650 (patch) | |
tree | 633593a5eca7ca1ea9aa8e89a87b8cccc7ce5a88 /solenv/gbuild/platform/WNT_INTEL_GCC.mk | |
parent | fdd6008def896b5f1f7448553bd2985e6252ed60 (diff) |
Unbreak back MinGW64 build
Change-Id: I68410bc1a8b77877b07f60e6ace0f54c255de95f
Diffstat (limited to 'solenv/gbuild/platform/WNT_INTEL_GCC.mk')
-rw-r--r-- | solenv/gbuild/platform/WNT_INTEL_GCC.mk | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/solenv/gbuild/platform/WNT_INTEL_GCC.mk b/solenv/gbuild/platform/WNT_INTEL_GCC.mk index 7fec33ccff6b..49b0103b1562 100644 --- a/solenv/gbuild/platform/WNT_INTEL_GCC.mk +++ b/solenv/gbuild/platform/WNT_INTEL_GCC.mk @@ -25,6 +25,21 @@ gb_TMPDIR:=$(if $(TMPDIR),$(TMPDIR),/tmp) include $(GBUILDDIR)/platform/com_GCC_defs.mk include $(GBUILDDIR)/platform/windows.mk +# This has to do something with calling conventions, which are different +# for x86 and x64. Don't put it in the common part since it is breaking +# and conde that uses boost::bind +gb_CCVER := $(shell $(gb_CC) -dumpversion | $(gb_AWK) -F. -- \ + '{ print $$1*10000+$$2*100+$$3 }') +gb_GccLess470 := $(shell expr $(gb_CCVER) \< 40700) + +# Until GCC 4.6, MinGW used __cdecl by default, and BOOST_MEM_FN_ENABLE_CDECL +# would result in ambiguous calls to overloaded boost::bind; since GCC 4.7, +# MinGW uses __thiscall by default, so now needs BOOST_MEM_FN_ENABLE_CDECL for +# uses of boost::bind with functions annotated with SAL_CALL: +ifeq ($(gb_GccLess470),0) +gb_COMPILERDEFS += -DBOOST_MEM_FN_ENABLE_CDECL +endif + include $(GBUILDDIR)/platform/mingw.mk include $(GBUILDDIR)/platform/com_GCC_class.mk |