1 Description: Relax error about mismatching C++ ABI version to warning
2 In practice, the differences between ABI versions 2 and 8 don't seem to be
3 incompatible since they apparently only affect obscure corner cases. So
4 relax this error to a warning so we don't have to rebuild the entire wx world
6 Author: Olly Betts <olly@survex.com>
8 Last-Update: 2015-06-29
10 --- wxwidgets3.0-3.0.2.orig/src/common/appbase.cpp
11 +++ wxwidgets3.0-3.0.2/src/common/appbase.cpp
12 @@ -762,6 +762,23 @@ bool wxAppConsoleBase::CheckBuildOptions
13 msg.Printf(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
14 lib.c_str(), progName.c_str(), prog.c_str());
17 + int l_off = lib.Find("compiler with C++ ABI ");
18 + int p_off = prog.Find("compiler with C++ ABI ");
19 + if (l_off != wxNOT_FOUND && p_off != wxNOT_FOUND) {
21 + space = lib.Find(' ', l_off);
22 + lib.erase(l_off, space - l_off);
23 + space = prog.Find(' ', l_off);
24 + prog.erase(p_off, space - p_off);
26 + // Only difference is the ABI version, which apparently only
27 + // affect obscure cases, so just warn.
28 + wxLogWarning(msg.c_str());
33 wxLogFatalError(msg.c_str());
35 // normally wxLogFatalError doesn't return