[Libwebsockets] recent changes breaking DomTerm

Per Bothner per at bothner.com
Fri Jan 26 19:52:16 CET 2018


DomTerm trunk now works with libwebsockets trunk.  Yeah! I fixed
any regressions that I noticed so far, but I will continue testing.
Thanks for you help.

Below some comments/suggestions on LWS_WITH_ZIP_FOPS now defaulting to off.

On 01/22/2018 11:43 PM, Andy Green wrote:
>> (1) This change:
>>      commit 5b74d7108b5cfcc3a6ee3dcad521e0f0c3a18d0c
>>      Date:   Tue Nov 14 11:25:54 2017 +0800
>> changed the LWS_WITH_ZIP_FOPS default.  This took me a while to
>> figure out, party because it was confounded by other issues (see below).
>>
>> Some questions (I apologize if I missed some discussion on the list):
> 
> Unfortunately "discussing things on the list", unless someone else started the conversation just tends to be me announcing things into silence.
> 
>> (a) Why did the default change?  Of course "to reduce library size"
>> is a perfectly reasonable answer, but I want to understand if there are other reasons.
> 
> It's to reduce the footprint of the default library for code coverage purposes.  And while it's valuable for those that do, most users don't use it, so it should be off by default.
> 
>> (b) I'm concerned that if the default changed, people who distribute
>> compiled libwebsockets might stick with the default, which might complicate
>> building DomTerm using a system libwebsockets package.
> 
> Yeah.  It's a reasonable concern.
> 
> Lwsws should also be on by default in packaging.  There are lots of other features like ACME support now in master that should be on.

Would it make sense to have a cmake option that that turns on
LWS_WITH_ZIP_FOPS and other options that are recommended/suggested for
library packagers?

Something like LWS_PACKAGE_DEFAULTS or LWS_PACKAGING_RECOMMENDED?
This could be mentioned in READMEs/README.build.md

One might argue that LWS_PACKAGE_DEFAULTS=1 *might* be a reasonable default,
assuming most people are running machines with plenty of memory, and the
people running on more constrained systems will probably have to customize
their build for their specific needs anyway.

Are people running "small" systems generally using static libraries?
If so, that provides a way for them to "automatically" only link in
what they need - assuming the library avoids static cross-module dependencies.
-- 
	--Per Bothner
per at bothner.com   http://per.bothner.com/



More information about the Libwebsockets mailing list