← Back to team overview

kicad-developers team mailing list archive

Re: KiCad Coroutines

 

On 1/4/2016 7:08 AM, jp charras wrote:
> Le 04/01/2016 10:59, "Torsten Hüter" a écrit :
>> Mark,
>> You're right Pthreads should eventually work on Windows/MinGW too.
>> I don't know if their policy has changed, but the official documentation lists 
>> still MASM as requirement for Windows. I did no further research about the reasons.
>> Please read the (old) statement of our project leader here:
>> http://mingw-users.1079350.n2.nabble.com/Boost-Context-MinGW-EXPORT-keyword-td7582532.html
>> Quote from Wayne:
>> "[..] Good luck!  The KiCad project had the same issue.  We even submitted our
>> patch but they refused it.  The answer was always the same.  Use MASM
>> with no reasonable explanation as to why the gnu assembler was
>> unacceptable.
>> [..]
>> I'm beginning to regret using Boost in KiCad.
>> [..]"
>> I don't know if this opinion is still valid.

It is still valid.  However, the Boost project as of 1.59 is now
providing GNU assembly files for the context library on windows so
building them is not quite as bad as it used to be.  Unfortunately, the
assembly files they have provided are broken on x86_64 builds.  Why they
did not use the patches that we provided them I cannot say for sure but
at least they are addressing the issue.  I believe there is a new
maintainer for the Boost context library who seems to be willing to work
with users which is a big improvement over the previous situation.

> 
> Torsten,
> 
> Here is my opinion:
> 
> Building Boost libraries on Windows/MinGW is really a pain, due to the
> fact it is not officially supported.
> The last info I read about Boost mingw support is:
> "it works or perhaps it does not work",
> and experience show me each version of boost needed different
> workarounds to build them.
> 
> When we used the boost headers only, we did not have any issue (just
> sometimes bugs, like in any tool)
> The nightmare started when using boost libraries.
> The msys2 guys made a great work when supporting boost libraries. Thanks
> to them.
> But this is very annoying to be fully dependent of them.
> 
> AFAIK, boost libraries are mainly used in Avhttp and coroutines.
> Bye Avhttp (thanks, Mark).
> boost::coroutine still use them, and it was always a nightmare, since
> the beginning.
> 
> So, if an alternative implementation to boost::context exists, I will be
> *very* happy.
> 
> (Note: *very happy* is an understatement)
> 
>> --
>> My offer would be to test an alternative implementation, to drop another Boost 
>> dependency and build upon a standard library foundation.

I'm fine with this as long as @Tom is OK with it and it's not too
disruptive.

Cheers,

Wayne

>> Thanks,
>> Torsten
>> *Gesendet:* Montag, 04. Januar 2016 um 06:07 Uhr
>> *Von:* "Mark Roszko" <mark.roszko@xxxxxxxxx>
>> *An:* "Torsten Hüter" <torstenhtr@xxxxxx>
>> *Cc:* "KiCad Mailinglist" <kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> *Betreff:* Re: [Kicad-developers] KiCad Coroutines
>>  >Summary: Fibers (Windows) and Pthreads (all POSIX-compliant operating systems) 
>> seem to be the most promising alternatives for context switching
>>
>> Since msys2 uses mingw, it used to have a pthreads implementation when
>> I used it years ago. Not sure if the latest has a package for it.
> 
> 


References