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

Comparing IO-AIO/Makefile.PL (file contents):
Revision 1.4 by root, Sun Jul 31 19:04:45 2005 UTC vs.
Revision 1.15 by root, Sat May 10 18:06:41 2008 UTC

1use ExtUtils::MakeMaker; 1use ExtUtils::MakeMaker;
2 2
3use Config; 3use Config;
4 4
5require "autoconf.pm"; 5if ($^O =~ /win32/i or $^O =~ /mswin/) {
6 6
7autoconf::run_script(); 7 # configuration on windows is hardcoded - as always
8
9 warn "your platform is not standards-compliant, you have to port this module first\n";
10 warn "using some hardcoded config that will not work on your system\n";
11
12 $INC = "-I/Perl/lib/CORE -I/sdk/include -I/vc98/include -I/gtk/include -I/gtk/include/pango-1.0 -I/gtk/include/glib-2.0 -I/gtk/lib/glib-2.0/include/ -I/gtk/include/freetype2";
13 $LIBS = ["-L/gtk/lib -lpthreadVC2"];
14
15} else {
16
17 $INC = "";
18 $LIBS = ['-lpthread -lrt', '-lpthread', '-lpthreads', '-lpthreadVC2', ''];
19
20 if ($^O =~ /freebsd/i) {
21 print <<EOF;
22
23This package seems to deadlock or otherwise misbehave under FreeBSD. As
24documentation on FreeBSD threading is sorely lacking and confusing, I'll
25just call FreeBSD broken with regards to threading.
26
27If you find out whats wrong, please tell me.
28
29Some people had luck with using OPTIMIZE=-O instead of -O2, so you might
30want to try that.
31
32EOF
33 }
34
35 {
36 local %ENV = %ENV;
37
38 while (my ($k, $v) = each %Config) {
39 $ENV{$k} = $v;
40 }
41
42 $ENV{MAKE} = $Config{make};
43 $ENV{SHELL} = $Config{sh};
44 $ENV{CC} = $Config{cc};
45 $ENV{CPPFLAGS} = $Config{cppflags};
46 $ENV{CFLAGS} = $Config{ccflags};
47 $ENV{LDFLAGS} = $Config{ldflags};
48 $ENV{LIBS} = $Config{libs};
49 $ENV{LINKER} = $Config{ld}; # nonstandard
50
51 system $ENV{SHELL}, -c => "cd libeio && ./configure --prefix \Q$Config{prefixexp}\E"
52 and exit $? >> 8;
53 }
54}
55
56if ($^O =~ /linux/ && $Config{usemymalloc} eq "y") {
57 print <<EOF;
58
59***
60*** WARNING:
61***
62*** Your perl uses it's own memory allocator (-Dusemymalloc=y),
63*** which is known not to be threadsafe on GNU/Linux and probably
64*** other platforms (even when not used concurrently, it trashes
65*** the data structures of the system malloc running concurrently),
66*** for perls up to 5.8.8 and possibly later versions.
67***
68*** If you are unsure wether your perl has been fixed, your system
69*** is safe for other reasons, or you experience spurious segfaults,
70*** please compile your perl with -Dusemymalloc=n.
71***
72
73EOF
74}
8 75
9my $mm = MM->new({ 76my $mm = MM->new({
10 dist => { 77 dist => {
11 PREOP => 'pod2text AIO.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', 78 PREOP => 'pod2text AIO.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;',
12 COMPRESS => 'gzip -9v', 79 COMPRESS => 'gzip -9v',
13 SUFFIX => '.gz', 80 SUFFIX => '.gz',
14 }, 81 },
82 depend => {
83 "AIO.c" => "libeio/eio.h libeio/eio.c libeio/config.h",
84 },
15 NAME => "IO::AIO", 85 NAME => "IO::AIO",
16 VERSION_FROM => "AIO.pm", 86 VERSION_FROM => "AIO.pm",
17 LIBS => ['-lpthread -lrt', '-lpthread', '-lpthreads', ''], 87 INC => $INC,
88 LIBS => $LIBS,
89 PM => {
90 'AIO.pm' => '$(INST_LIBDIR)/AIO.pm',
91 },
18 clean => { FILES => "autoconf/config.h autoconf/config.log autoconf/config.status" }, 92 clean => { FILES => "libeio/config.h libeio/config.log libeio/config.status" },
19}); 93});
20 94
21$mm->flush; 95$mm->flush;
22 96

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines