ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/EV/Makefile.PL
(Generate patch)

Comparing EV/Makefile.PL (file contents):
Revision 1.50 by root, Thu Dec 30 07:43:03 2010 UTC vs.
Revision 1.54 by root, Tue Oct 22 10:43:05 2013 UTC

182EV needs the functions pthread_atfork and clock_gettime. On most systems 182EV needs the functions pthread_atfork and clock_gettime. On most systems
183you need some special libraries for this (such as -lrt and -lpthread). You 183you need some special libraries for this (such as -lrt and -lpthread). You
184can specify additional libraries to provide these calls (and any other 184can specify additional libraries to provide these calls (and any other
185required by EV) now, or accept the default. 185required by EV) now, or accept the default.
186 186
187On GNU/Linux systems, EV uses the LSB 3.1 __register_atfork function
188to avoid the dependency on libpthread, and directly uses the clock_gettime
189syscall to avoid a dependency on librt.
190
187EOF 191EOF
188 192
189my $solaris_libs = $^O =~ /solaris/i ? "-lsocket -lnsl" : ""; 193my $solaris_libs = $^O =~ /solaris/i ? "-lsocket -lnsl" : "";
190#my $librt = $^O =~ /linux/i ? "-lpthread" : "-lpthread -lrt"; 194my $librt = $^O =~ /linux/i ? "" : "-lpthread -lrt";
191my $librt = "-lpthread -lrt"; 195my $LIBS = exists $ENV{EV_LIBS} ? $ENV{EV_LIBS} : "$librt $solaris_libs";
192my $LIBS = prompt "Extra libraries for pthread_atfork and clock_gettime?", "$librt $solaris_libs"; 196$LIBS = prompt "Extra libraries for pthread_atfork and clock_gettime?", $LIBS;
193 197
194 198
195print <<EOF; 199print <<EOF;
196 200
197*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 201*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
245 249
246*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 250*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
247 251
248 252
249Very rarely, people want to tweak EV even more, e.g. to exclude 253Very rarely, people want to tweak EV even more, e.g. to exclude
250or incldue certain watcher types or backends. Thisc na be done by adding 254or include certain watcher types or backends. This can be done by adding
251extra -D options here, or via the EV_EXTRA_DEFS environment variable. 255extra -D options here, or via the EV_EXTRA_DEFS environment variable.
256
257For example, if you run into compile problems because of missing memory
258fences (or you just want extra performance), you can tell EV to not support
259smp and threads via -DEV_NO_THREADS.
260
252Normal persons just press enter. 261Normal persons just press enter.
253 262
254EOF 263EOF
255 264
256$DEFINE .= " " . prompt "Any extra -D options?", "$ENV{EV_EXTRA_DEFS}"; 265$DEFINE .= " " . prompt "Any extra -D options?", "$ENV{EV_EXTRA_DEFS}";
283 @anyevent, 292 @anyevent,
284 "common::sense" => 0, 293 "common::sense" => 0,
285 }, 294 },
286 VERSION_FROM => "EV.pm", 295 VERSION_FROM => "EV.pm",
287 PM => { 296 PM => {
288 'EV.pm' => '$(INST_LIBDIR)/EV.pm', 297 'EV.pm' => '$(INST_LIB)/EV.pm',
289 'EV/EVAPI.h' => '$(INST_LIBDIR)/EV/EVAPI.h', 298 'EV/EVAPI.h' => '$(INST_LIB)/EV/EVAPI.h',
290 'EV/MakeMaker.pm' => '$(INST_LIBDIR)/EV/MakeMaker.pm', 299 'EV/MakeMaker.pm' => '$(INST_LIB)/EV/MakeMaker.pm',
291 'libev/ev.h' => '$(INST_LIBDIR)/EV/ev.h', 300 'libev/ev.h' => '$(INST_LIB)/EV/ev.h',
292 'libev/ev.pod' => '$(INST_LIBDIR)/EV/libev.pod', 301 'libev/ev.pod' => '$(INST_LIB)/EV/libev.pod',
293 }, 302 },
294 MAN3PODS => { 303 MAN3PODS => {
295 'EV.pm' => '$(INST_MAN3DIR)/EV.$(MAN3EXT)', 304 'EV.pm' => '$(INST_MAN3DIR)/EV.$(MAN3EXT)',
296 'EV/MakeMaker.pm' => '$(INST_MAN3DIR)/EV::MakeMaker.$(MAN3EXT)', 305 'EV/MakeMaker.pm' => '$(INST_MAN3DIR)/EV::MakeMaker.$(MAN3EXT)',
297 'libev/ev.pod' => '$(INST_MAN3DIR)/EV::libev.$(MAN3EXT)', 306 'libev/ev.pod' => '$(INST_MAN3DIR)/EV::libev.$(MAN3EXT)',

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines