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.8 by root, Wed Feb 1 23:43:17 2006 UTC vs.
Revision 1.16 by root, Sun May 11 00:01:03 2008 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines