--- cvsroot/libev/README.embed 2007/11/09 17:07:59 1.12 +++ cvsroot/libev/README.embed 2007/11/11 03:13:07 1.21 @@ -35,7 +35,8 @@ ev.c ev_vars.h ev_wrap.h - ev_win32.c + + ev_win32.c required on win32 platforms only ev_select.c only when select backend is enabled (which is is by default) ev_poll.c only when poll backend is enabled (disabled by default) @@ -61,10 +62,17 @@ event.h event.c +AUTOCONF SUPPORT + + Instead of using EV_STANDALONE=1 and providing your config in whatever + way you want, you can also m4_include([libev.m4]) in your configure.ac + and leave EV_STANDALONE off. ev.c will then include "config.h" and + configure itself accordingly. + PREPROCESSOR SYMBOLS Libev can be configured via a variety of preprocessor symbols you have to define - before including any of its files. The default is not to build for mulciplicity + before including any of its files. The default is not to build for multiplicity and only include the select backend. EV_STANDALONE @@ -75,12 +83,6 @@ will also not define any of the structs usually found in "event.h" that are not directly supported by libev code alone. - EV_H - - The name of the ev.h header file used to include it. The default - if undefined is in event.h and "ev.h" in ev.c. This can be used - to virtually rename the ev.h header file - EV_USE_MONOTONIC If undefined or defined to be "1", libev will try to detect the @@ -136,18 +138,17 @@ will be detected at runtime and routed around by disabling this backend. - EV_COMMON - - By default, all watchers have a "void *data" member. By redefining - this macro to a something else you can include more and other types - of members. You have to define it each time you include one of the - files, though, and it must be identical each time. + EV_H - For example, the perl EV module uses this: + The name of the ev.h header file used to include it. The default + if undefined is in event.h and "ev.h" in ev.c. This can + be used to virtually rename the ev.h header file in case of + conflicts. - #define EV_COMMON \ - SV *self; /* contains this struct */ \ - SV *cb_sv, *fh /* note no trailing ";" */ + EV_EVENT_H + + Similarly to EV_H, this macro cna be used to override event.c's idea + of how the event.h header can be found. EV_PROTOTYPES @@ -164,6 +165,36 @@ event loop pointer argument. Instead, all functions act on the single default loop. + EV_PERIODICS + + If undefined or defined to be "1", then periodic timers are + supported, otherwise not. This saves a few kb of code. + + EV_COMMON + + By default, all watchers have a "void *data" member. By redefining + this macro to a something else you can include more and other types + of members. You have to define it each time you include one of the + files, though, and it must be identical each time. + + For example, the perl EV module uses this: + + #define EV_COMMON \ + SV *self; /* contains this struct */ \ + SV *cb_sv, *fh /* note no trailing ";" */ + + EV_CB_DECLARE(type) + EV_CB_INVOKE(watcher,revents) + ev_set_cb(ev,cb) + + Can be used to change the callback member declaration in each + watcher, and the way callbacks are invoked and set. Must expand + to a struct member definition and a statement, respectively. See + the ev.v header file for their default definitions. One possible + use for overriding these is to avoid the ev_loop pointer as first + argument in all cases, or to use method calls instead of plain + function calls in C++. + EXAMPLES For a real-world example of a program the includes libev