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

Comparing EV/Makefile.PL (file contents):
Revision 1.52 by root, Sat Feb 4 20:12:17 2012 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*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
288 @anyevent, 292 @anyevent,
289 "common::sense" => 0, 293 "common::sense" => 0,
290 }, 294 },
291 VERSION_FROM => "EV.pm", 295 VERSION_FROM => "EV.pm",
292 PM => { 296 PM => {
293 'EV.pm' => '$(INST_LIBDIR)/EV.pm', 297 'EV.pm' => '$(INST_LIB)/EV.pm',
294 'EV/EVAPI.h' => '$(INST_LIBDIR)/EV/EVAPI.h', 298 'EV/EVAPI.h' => '$(INST_LIB)/EV/EVAPI.h',
295 'EV/MakeMaker.pm' => '$(INST_LIBDIR)/EV/MakeMaker.pm', 299 'EV/MakeMaker.pm' => '$(INST_LIB)/EV/MakeMaker.pm',
296 'libev/ev.h' => '$(INST_LIBDIR)/EV/ev.h', 300 'libev/ev.h' => '$(INST_LIB)/EV/ev.h',
297 'libev/ev.pod' => '$(INST_LIBDIR)/EV/libev.pod', 301 'libev/ev.pod' => '$(INST_LIB)/EV/libev.pod',
298 }, 302 },
299 MAN3PODS => { 303 MAN3PODS => {
300 'EV.pm' => '$(INST_MAN3DIR)/EV.$(MAN3EXT)', 304 'EV.pm' => '$(INST_MAN3DIR)/EV.$(MAN3EXT)',
301 'EV/MakeMaker.pm' => '$(INST_MAN3DIR)/EV::MakeMaker.$(MAN3EXT)', 305 'EV/MakeMaker.pm' => '$(INST_MAN3DIR)/EV::MakeMaker.$(MAN3EXT)',
302 '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