From 065b91948ce4cb4043a4c915576eaaff624a199c Mon Sep 17 00:00:00 2001 From: root Date: Wed, 19 Dec 2007 01:59:29 +0000 Subject: add and document Symbol.* files --- ev.pod | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'ev.pod') diff --git a/ev.pod b/ev.pod index 901d76e..8f85af4 100644 --- a/ev.pod +++ b/ev.pod @@ -2447,6 +2447,31 @@ their default definitions. One possible use for overriding these is to avoid the C as first argument in all cases, or to use method calls instead of plain function calls in C++. +=head2 EXPORTED API SYMBOLS + +If you need to re-export the API (e.g. via a dll) and you need a list of +exported symbols, you can use the provided F files which list +all public symbols, one per line: + + Symbols.ev for libev proper + Symbols.event for the libevent emulation + +This can also be used to rename all public symbols to avoid clashes with +multiple versions of libev linked together (which is obviously bad in +itself, but sometimes it is inconvinient to avoid this). + +A sed comamnd like this will create wrapper C<#define>'s that you need to +include before including F: + + wrap.h + +This would create a file F which essentially looks like this: + + #define ev_backend myprefix_ev_backend + #define ev_check_start myprefix_ev_check_start + #define ev_check_stop myprefix_ev_check_stop + ... + =head2 EXAMPLES For a real-world example of a program the includes libev -- cgit v1.2.3