From 8df088781c53221498e762f570d21948b7de2650 Mon Sep 17 00:00:00 2001 From: Fridrich Štrba Date: Mon, 10 Jun 2013 17:28:13 +0200 Subject: Unbreak back MinGW64 build Change-Id: I68410bc1a8b77877b07f60e6ace0f54c255de95f --- solenv/gbuild/platform/WNT_INTEL_GCC.mk | 15 +++++++++++++++ solenv/gbuild/platform/WNT_X86_64_GCC.mk | 2 +- solenv/gbuild/platform/mingw.mk | 12 ------------ 3 files changed, 16 insertions(+), 13 deletions(-) (limited to 'solenv/gbuild/platform') 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 diff --git a/solenv/gbuild/platform/WNT_X86_64_GCC.mk b/solenv/gbuild/platform/WNT_X86_64_GCC.mk index 4466b05c5fa5..4d2ab0017ed9 100644 --- a/solenv/gbuild/platform/WNT_X86_64_GCC.mk +++ b/solenv/gbuild/platform/WNT_X86_64_GCC.mk @@ -18,7 +18,7 @@ # gb_COMPILERDEFAULTOPTFLAGS := -Os -gb_CPUDEFS := -D_M_AMD64 +gb_CPUDEFS := -D_M_AMD64 -D_M_X64 gb_TMPDIR:=$(if $(TMPDIR),$(TMPDIR),/tmp) # please make generic modifications to either of these diff --git a/solenv/gbuild/platform/mingw.mk b/solenv/gbuild/platform/mingw.mk index 7a81b939827b..2a1550626c13 100644 --- a/solenv/gbuild/platform/mingw.mk +++ b/solenv/gbuild/platform/mingw.mk @@ -19,10 +19,6 @@ gb_PROGRAMDIRNAME := program -gb_CCVER := $(shell $(gb_CC) -dumpversion | $(gb_AWK) -F. -- \ - '{ print $$1*10000+$$2*100+$$3 }') -gb_GccLess470 := $(shell expr $(gb_CCVER) \< 40700) - gb_RC := $(WINDRES) gb_COMPILERDEFS += \ @@ -31,14 +27,6 @@ gb_COMPILERDEFS += \ -D_MSC_EXTENSIONS \ -D_FORCENAMELESSUNION \ -# 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 - gb_RCDEFS := \ -DWINVER=0x0400 \ -DWIN32 \ -- cgit