File relax-abi.diff of Package wxWidgets-3_0.20644

From 7f1d08d5bd5681d1a79ea2f0e2a7fa3c8fa10b1b Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Mon, 9 Jul 2018 00:36:15 +0200
Subject: [PATCH] Ignore all changes to g++ ABI version since 1002

Checking for the exact match of __GXX_ABI_VERSION created more problems
(including for both Fedora and Debian packagers, see
https://github.com/wxWidgets/wxWidgets/pull/828) than it solved
(approximately 0), so relax it and assume that future g++ versions will
remain broadly compatible with the current ABI, which seems like a safe
assumption so far.

It's not really clear if there is any value in having this ABI check at
all, or if we should remove CheckBuildOptions() and all the code calling
it entirely, as it seems that there is no way to trigger this check
during run-time without getting a link error first. But keep it for now,
just because it's simpler to keep it than to remove it.
---
 include/wx/build.h |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

Index: wxWidgets-3.0.2/include/wx/build.h
===================================================================
--- wxWidgets-3.0.2.orig/include/wx/build.h
+++ wxWidgets-3.0.2/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))
+        #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__)
openSUSE Build Service is sponsored by