[Libwebsockets] [PATCH] Add Linux io_uring in the list of recognized libev backends

Andy Green andy at warmcat.com
Fri Feb 21 09:11:56 CET 2020



On 2/21/20 4:38 AM, Olivier Langlois wrote:
> and also check libev version and only include the 2 latest backends
> only if
> lws is compiled against a recent enough libev version.

Thanks... I modified it the same way as I modified the AIO patch before 
pushing that, to check at cmake if the symbol exists in the lib instead 
of try to guague it by version, and pushed it on master.

https://libwebsockets.org/git/libwebsockets/commit?id=caaedd65883d195e50abf6af03888d5ffbc0e00c

Originally we tried to be compatible across openssl versions using the 
version tests way, but there were two problems, 1) dev versions may have 
the change in their code we're testing for, but not have the version 
step we use to judge it happen until the release, and 2) stuff can 
subsequently get deprecated meaning more breakage and work researching 
the version it stopped existing in, and fixing up these tests long after 
we have forgotten about this.  Mbedtls has the same problem to a lesser 
extent, and a new kind of problem 3) it's quite build-time configurable 
and you can switch off availability of apis easily by build-time 
choices.  The version might tell you what's in the source but the user 
or some upstream provider may have disabled the related apis for build.

Empirically testing for the symbols with a compiliability check (it 
doesn't need to run the code, so it's compatible with cross) at 
build-time avoids those problems.

-Andy


More information about the Libwebsockets mailing list