]>
Commit | Line | Data |
---|---|---|
5157e719 JR |
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 | |
5 | in one go. | |
6 | Author: Olly Betts <olly@survex.com> | |
7 | Forwarded: no | |
8 | Last-Update: 2015-06-29 | |
9 | ||
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()); | |
15 | ||
16 | + | |
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) { | |
20 | + int space; | |
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); | |
25 | + if (lib == prog) { | |
26 | + // Only difference is the ABI version, which apparently only | |
27 | + // affect obscure cases, so just warn. | |
28 | + wxLogWarning(msg.c_str()); | |
29 | + return false; | |
30 | + } | |
31 | + } | |
32 | + | |
33 | wxLogFatalError(msg.c_str()); | |
34 | ||
35 | // normally wxLogFatalError doesn't return |