OBS-URL: https://build.opensuse.org/package/show/X11:wxWidgets/wxWidgets-3_0?expand=0&rev=102
45 lines
2.1 KiB
Diff
45 lines
2.1 KiB
Diff
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__)
|