On Oct 2, 2016, at 6:21 AM, Oliver Kowalke
wrote: 2016-10-02 2:45 GMT+02:00 Paul Fultz II
: Boost.Context only builds for mingw if you have a MSVC assembler.
no - if you build boost.context on Windows you can use MSCV or MinGW. The library selects the assembler tool provided by the compiler, e.g. MSVC -> MASM, MinGW -> GNU as please take a look at boost's regression tests - maybe your informations are up-to-date
I did look at the assembly files. As there was only x86 `.S` files for elf and mach-o, I assumed they were missing, but the windows assembler are named like `*_gas.asm`. The different extension through me off. Sorry for the confusion.
However, the author has refused to accept those patches unfortunately.
the patches were incorrect
When I build boost on ubuntu for mingw, I disable Boost.Context, which would mean disabling Boost.Beast as well.
should not be a problem as long as you provide the correct properties at b2 command line (architecture, address-model, binary-format, abi ...) for cross compiling.
Awesome!
it is nearly impossible to provide assembler implementations for all combinations of architecture + address-model + abi + binary format + compiler/assembler (especially to have those systems to develop on)? but you are welcome to provide a correct/valid support for your combination/needs
Yes, I understand. I don’t expect it to support every combination out there, but mingw on linux is common. I do wonder, if on C++11, it could have an option to fallback on threads when its on an unsupported platform. It would work, just not efficiently.
Also, Boost.Asio works fine as it doesn’t use Boost.Coroutine nor Boost.Context.
boost.asio's spawn/yield uses boost.coroutine and works well too
I was unaware of this. I guess being header-only it depends on what features are used. Thanks, Paul