| 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__) |