[Libwebsockets] lwsws and plugins on master

Andy Green andy at warmcat.com
Sat Apr 9 01:59:37 CEST 2016



On 04/08/2016 07:00 PM, Andy Green wrote:
>
>
> On 04/08/2016 05:48 PM, Roger Light wrote:
>> Hi Andy,
>>
>>> However new features (libuv appeared right at the end of 1.7 release)
>>> are
>>> only tested on Linux by me.  We'll be in a similar situation next
>>> release
>>> with new features like lwsws plugins and dirent.h, microsoft decided
>>> to not
>>> provide dirent.h with their platform and plugins need to be done
>>> differently
>>> on windows.

>> Or more easily use the dynamic library loading functions provided by
>> libuv: http://docs.libuv.org/en/v1.x/dll.html
>
> Thanks... it looks like since these uses are all coming out of lwsws
> which is already on the libuv bandwagon they can get solved in a "should
> also work on windows" way like that.

I converted the lwsws conf.d scanning and the lws plugin loading to use 
libuv apis, it seems to work the same here.

https://github.com/warmcat/libwebsockets/commit/54a38e76f27f1ebca56d32a98d35495285d6f89b

I originally deleted the native unix api versions as part of the patch, 
but I got caught out again by Travis's Trusty instance only having a 
very old libuv without these apis.  So to satisfy travis it uses the 
native versions if #if UV_VERSION_MAJOR == 0.  But when I find out how 
to have Travis use a more modern libuv, those will be removed in favour 
of just the libuv versions.

Basically LWS_WITH_PLUGINS and LWS_WITH_LWSWS (both new features and off 
by default) imply LWS_WITH_LIBUV now.  Otherwise nothing else grew any 
dependency on it.

Anyway that should give us a shot at a smoother crossplatform ride, 
thanks again to the guys who advised it.

-Andy

> -Andy
>
>> Cheers,
>>
>> Roger
>>



More information about the Libwebsockets mailing list