blob: d73a23e3192cb7805b0e862ab61b7419b023bdf1 [file] [log] [blame] [edit]
From ad21cc332ac906b9ae8f238ab135cbe410e78eba Mon Sep 17 00:00:00 2001
From: Nathan Ridge <zeratul976@hotmail.com>
Date: Fri, 19 Jun 2015 01:44:55 -0400
Subject: [PATCH] Relax the ABI compatibility requirements for GCC.
Allow a library and an application to differ in __GXX_ABI_VERSION
within the range 1002-1008. The ABI changes made in this range
do not affect wxWidgets.
---
include/wx/build.h | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/include/wx/build.h b/include/wx/build.h
index 473e0c9..75b4f80 100644
--- a/include/wx/build.h
+++ b/include/wx/build.h
@@ -52,8 +52,17 @@
// GCC and Intel C++ share same C++ ABI (and possibly others in the future),
// check if compiler versions are compatible:
#if defined(__GXX_ABI_VERSION)
+ // The changes between ABI versions 1002 through 1008 (documented at
+ // https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html
+ // under -fabi-version) don't affect wxWidgets, so we allow a library
+ // and an application to differ within that range.
+ #if ((__GXX_ABI_VERSION >= 1002) && (__GXX_ABI_VERSION <= 1008))
+ #define wxGXX_EFFECTIVE_ABI_VERSION 1002
+ #else
+ #define wxGXX_EFFECTIVE_ABI_VERSION __GXX_ABI_VERSION
+ #endif
#define __WX_BO_COMPILER \
- ",compiler with C++ ABI " __WX_BO_STRINGIZE(__GXX_ABI_VERSION)
+ ",compiler with C++ ABI " __WX_BO_STRINGIZE(wxGXX_EFFECTIVE_ABI_VERSION)
#elif defined(__GNUG__)
#define __WX_BO_COMPILER ",GCC " \
__WX_BO_STRINGIZE(__GNUC__) "." __WX_BO_STRINGIZE(__GNUC_MINOR__)