]> git.llucax.com Git - software/libev.git/blobdiff - README.embed
fix stop function of idle/check/prepare/child
[software/libev.git] / README.embed
index b99a737d0622160367543425bc6e03b4adcaf3aa..925c13e881aefafec2009487baec13a5e8c21e5f 100644 (file)
@@ -61,10 +61,17 @@ FILESETS
         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,18 +82,6 @@ PREPROCESSOR SYMBOLS
         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 <ev.h> 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.
-
-    EV_EVENT_H
-
-        Similarly to EV_H, this macro cna be used to override event.c's idea
-        of where the event.h header can be found.
-
     EV_USE_MONOTONIC
 
         If undefined or defined to be "1", libev will try to detect the
@@ -142,18 +137,17 @@ PREPROCESSOR SYMBOLS
        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 <ev.h> 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
 
@@ -170,6 +164,36 @@ PREPROCESSOR SYMBOLS
        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