This is more user-friendly than GitHub links with their tons of files.
Also use the recently added #vX.Y.Z_msw anchor to link directly to MSW
binaries downloads from the corresponding file.
Closes https://github.com/wxWidgets/wxWidgets/pull/1820
Upgrade the submodule to a version which doesn't try to use SSE2 with
this old compiler, as it doesn't support the required intrinsics.
See https://github.com/wxWidgets/libpng/pull/4
This works around a problem in our build system which doesn't set rpath
correctly when linking our own libraries, which means that "qa" library,
for example, doesn't record the path to its "xml" library dependency.
We already worked around this by linking any program using "qa" with
"xml" too, however this doesn't do anything if "--as-needed" flag is in
effect, as is the case by default under Ubuntu 18.04, so make our
workaround work by forcefully disabling this flag.
Real solution would be to use -Wl,-rpath correctly and then stop linking
with "xml" library unnecessarily in e.g. test_gui bakefile.
Our tests don't compile under Mac when targeting 10.9 and using C++17 as
they try to use C++17 std::uncaught_exceptions() which is only available
since 10.12 under macOS.
We could avoid the use of this function in the tests in this build
configuration, but for now just target 10.12 instead. Yet another
alternative would be to downgrade to using C++14.
Somehow this wasn't necessary on the old Ubuntu version, but is needed
under Bionic.
Ideally configure shouldn't refuse to build everything if just Qt5OpenGL
is not found, and just disable OpenGL support, but this enhancement can
be done later.
Note that using C++98 results in tests build failure with clang as
libc++ doesn't allow using custom std::swap() specialization for
non-const references in its iter_swap(), it really requires using rvalue
references, which are, of course, only available in C++11 and later.
Move Precise (12.04) build to Trusty (4.04), move one of the existing
Trusty builds to Xenial (16.04) and all the other ones to Bionic (18.04)
to test under reasonably recent platforms too, and mostly.
No real changes, just remove patterns of the form "AAA*_BBB_CCC" as
everything they match is also matched by the "AAA*_CCC" pattern which is
also present.
See https://github.com/wxWidgets/wxWidgets/pull/1813
Unfortunately the fix of the previous commit broke the build because of
the existence of non-GUI functions using GUI-only wxWindowID class.
This will need to be fixed in a better way later, but for now add the
required header back.
See https://github.com/wxWidgets/wxWidgets/pull/1815
This #include was mistakenly added by e8b8b0288f (Make wxNewId() and
others return/take wxWindowID rather than int, 2019-12-18) and broke
compilation of the code including wx/utils.h as the first header,
because wx/windowid.h can't be included directly and must be only
included from wx/defs.h.
Fix this by just removing it, including any other header is enough to
pull this one in anyhow, via wx/defs.h.
See https://github.com/wxWidgets/wxWidgets/pull/1682
Closes https://github.com/wxWidgets/wxWidgets/pull/1815