1*7f2fe78bSCy SchubertThis directory builds a verto library with only a private built-in 2*7f2fe78bSCy Schubertmodule, for use when the system has no installed verto library. The 3*7f2fe78bSCy Schubertbundled verto cannot dynamically load modules. From the upstream 4*7f2fe78bSCy Schubertlibverto, we take only verto.c and verto-libev.c, and we only build 5*7f2fe78bSCy Schubertthe former; the latter is stored here for comparison purposes. We use 6*7f2fe78bSCy Schuberta stub implementation of module.c to disable dynamic loading support. 7*7f2fe78bSCy Schubert 8*7f2fe78bSCy SchubertThis private module uses an embedded libev with renamed symbols (so we 9*7f2fe78bSCy Schubertdon't leak libev symbols into the namespace on platforms where we 10*7f2fe78bSCy Schubertcan't control the export list). libev has built-in support for this 11*7f2fe78bSCy Schubertkind of embedding, so we don't have to modify the libev sources. 12*7f2fe78bSCy SchubertFollowing libev's documentation, the following files have been copied 13*7f2fe78bSCy Schubertfrom the ev sources: 14*7f2fe78bSCy Schubert 15*7f2fe78bSCy Schubert ev.h 16*7f2fe78bSCy Schubert ev_vars.h 17*7f2fe78bSCy Schubert ev_wrap.h 18*7f2fe78bSCy Schubert ev.c 19*7f2fe78bSCy Schubert ev_select.c 20*7f2fe78bSCy Schubert ev_poll.c 21*7f2fe78bSCy Schubert ev_win32.c 22*7f2fe78bSCy Schubert Symbols.ev 23*7f2fe78bSCy Schubert 24*7f2fe78bSCy Schubert(Symbols.ev wasn't included in the 4.04 tar file due to an oversight, 25*7f2fe78bSCy Schubertso it is taken from the appropriate tag in libev's source repository.) 26*7f2fe78bSCy Schubert 27*7f2fe78bSCy SchubertTo rename the exported symbols, we create rename.h from Symbols.ev. 28*7f2fe78bSCy SchubertWe also use Symbols.ev to construct the library export list. 29*7f2fe78bSCy Schubert(Renaming libev's symbols would be unnecessary if libev's embedding 30*7f2fe78bSCy Schuberthad support for making its API symbols static, but it currently does 31*7f2fe78bSCy Schubertnot.) The source file verto-k5ev.c wraps ev.c with appropriate 32*7f2fe78bSCy Schubertembedding defines, and then defines the libverto module functions 33*7f2fe78bSCy Schubertusing the slightly modified contents of libverto's verto-libev.c. The 34*7f2fe78bSCy Schubertresulting module table is embedded into verto.c using the 35*7f2fe78bSCy SchubertBUILTIN_MODULE define. 36*7f2fe78bSCy Schubert 37*7f2fe78bSCy SchubertThe libverto and libev upstream project pages are at: 38*7f2fe78bSCy Schubert 39*7f2fe78bSCy Schubert https://github.com/latchset/libverto/ 40*7f2fe78bSCy Schubert http://software.schmorp.de/pkg/libev.html 41