Closed pdimov closed 5 years ago
Hi Peter,
The variadic and empty macros come from a PR I accepted long time ago. Do you know how to silent those warnings at the source level. Patch welcome.
For winapi, Andrei did a move to boost::winapi. Maybe this is still missing. Andrei, maybe you could help.
For tss_cleanup_implemented
I never understood that.
I don't have time to look at this just now.
Individual patches to fix any of this are welcome.
The warning should be fixed now (using system header).
For the tss_cleanup_implemented I have no idea.
Any PR will be more than welcome
The tss_cleanup_implemented
error seems to have two causes. First, under Cygwin, threadapi=win32
is chosen, whereas it should be pthread
(target-os
is cygwin
, not windows
.) I haven't been able to track down why it's chosen, will open an issue in Build.
Second, tss_hooks.hpp
only declares tss_cleanup_implemented
when BOOST_HAS_WINTHREADS
is defined, but the win32
sources are included on the basis of threadapi
, which in this case does not correspond to whether BOOST_HAS_WINTHREADS
is defined. The Jamfile defines BOOST_THREAD_WIN32
on threadapi=win32
, which is what presumably is the correct macro here.
I don't know why, but Boost.Thread decided that under Cygwin the thread api is windows and not posix :( Maybe Anthony remember why. I believe it was because it can and more services and more efficient are available.
Note that for Boost.Chrono, this is not the case, and I was asking to change this when Anthony maintained Boost.Thread.
Peter, do you plan to provide a patch for this issue after #352 patch?
After https://github.com/boostorg/build/issues/352 is resolved, Thread should build on Cygwin as threadapi=pthread
will be default.
Making it build with threadapi=win32
on Cygwin might also be possible, but I'm not sure if it'll be worth the effort.
After https://github.com/boostorg/build/commit/a5704a926bc7bc69311d472bb97f7a80c53d017a, Thread's tests now seem to work for me with toolset=gcc
and Cygwin.
Great. Glad to see that it works again, after so many years.
Peter, is there something to fix for this ticket yet? If no, maybe you can close it.
We can also fix the threadapi=win32
case under Cygwin, see #244. With that patch, there's only one failure, test_tss_lib
says there's no TSS cleanup in the static lib case, which there indeed isn't.
If you want to support Cygwin going forward, it might be worth adding it to Appveyor.
Apart from that, it looks like we're done here.
Do you have an example of setup for Appveyor? or even a PR would be better :)
Boost.System has Cygwin and Cygwin 64 configurations: https://github.com/boostorg/system/blob/develop/appveyor.yml#L26
Thanks
I'm running the tests for Boost.Pool under g++/Cygwin, and this is what I get:
This should presumably be
boost::winapi
?Also, there's this:
Additionally, with
cxxstd=03
I get these:...