This makes WaitOnAddress/WakeByAddressSingle/WakeByAddressAll a mandatory
requirement. Thus, runtime detection of these APIs is now removed.
Also, linking with synchronization lib on Windows is now mandatory. The
library provides WaitOnAddress & co. which are now mandatory.
Legacy MinGW32 does not seem to support std::thread and other C++11
multithreading components. We are dropping support for this compiler
as we are no longer able to test it.
MinGW-w64 is still supported.
As a result of dependent libraries dropping support for C++03, Boost.Atomic
is no longer able to support C++03 and now requires C++11 as a minimum.
Drop C++03 compilers from the CI and update docs accordingly. No code changes
at this time.
Enabling AVX will allow to test future updates that will use these
instructions.
Since MSVC doesn't allow to enable instruction sets for the current CPU,
we enable AVX unconditionally there, in hope that AppVeyor CI runners
support AVX.
Also, different clang versions exhibit various issues in GitHub Actions
when "native" instruction set is enabled, so we also explicitly specify
the instruction set we want for GHA.
Switch to VS2019 image in attempt to work around the "unable to load
mspdbcore.dll (error code: 126)" errors on compilation for 32-bit x86.
Added calling an environment setup script from VS2019 to work around
missing msvcrt(d).lib errors caused by Boost.Build issue:
https://github.com/bfgroup/b2/issues/98
Also disabled logging of setting up header symlinks.