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.1 by root, Sun Jul 10 17:07:44 2005 UTC vs.
Revision 1.37 by root, Tue Aug 14 14:03:15 2018 UTC

1use Canary::Stability IO::AIO => 1, 5.008002;
2
1use ExtUtils::MakeMaker; 3use ExtUtils::MakeMaker;
2 4
3use Config; 5use Config;
6
7if ($^O eq "MSWin32") {
8 # configuration on windows is hardcoded - as always
9
10 print STDERR <<EOF;
11
12***
13*** Your platform is not standards compliant. To get this module working, you need to
14*** download and install win32 pthread (http://sourceware.org/pthreads-win32/).
15***
16
17EOF
18
19 if(0){
20 if ($Config{cc} =~ /(?:^|\\|\/)gcc(?:|.*\.exe)$/) {
21 $INC = "$ENV{INC} -I/gtk/include";
22 $LIBS = ["$ENV{LIBS} -L/gtk/lib -lpthreadGC2"];
23 } else {
24 $INC = "$ENV{INC} -I/sdk/include -I/vc98/include -I/gtk/include";
25 $LIBS = ["$ENV{LIBS} -L/gtk/lib -lpthreadVC2"];
26 }
27 }
28
29 open my $fh, ">config.h"
30 or die "config.h: $!";
31 print $fh <<EOF;
32EOF
33
34} else {
35
36 $INC = "";
37 $LIBS = ['-lpthread', '-lpthreads', ''];
38
39 if ($^O =~ /bsd/i) {
40 print <<EOF;
41
42If you have problems with deadlocks or crashes on your system,
43make sure your perl has been linked with -lpthread (you might try
44LD_PRELOAD=/path/to/libpthread.so as a workaround). Also, pthread support
45under many BSDs is not the best - before reporting a bug in this module,
46make sure it's not an OS bug.
47
48EOF
49 }
50
51 {
52 local %ENV = %ENV;
53
54 while (my ($k, $v) = each %Config) {
55 $ENV{$k} = $v;
56 }
57
58 $ENV{MAKE} = $Config{make};
59 $ENV{SHELL} = $Config{sh};
60 $ENV{CC} = $Config{cc};
61 $ENV{CPPFLAGS} = "$Config{cppflags} -I$Config{archlibexp}/CORE";
62 $ENV{CFLAGS} = $Config{ccflags};
63 $ENV{LDFLAGS} = "$Config{ldflags} $Config{ccdlflags}";
64 $ENV{LINKER} = $Config{ld}; # nonstandard
65 $ENV{LIBS} = "-L$Config{archlibexp}/CORE -L$Config{privlibexp} -lperl $Config{libs}";
66
67 system $ENV{SHELL}, -c => "./configure --prefix \Q$Config{prefixexp}\E"
68 and exit $? >> 8;
69 }
70}
71
72if ($^O =~ /linux/ && $Config{usemymalloc} eq "y") {
73 print <<EOF;
74
75***
76*** WARNING:
77***
78*** Your perl uses its own memory allocator (-Dusemymalloc=y),
79*** which is known not to be threadsafe on GNU/Linux and probably
80*** other platforms (even when not used concurrently, it trashes
81*** the data structures of the system malloc running concurrently),
82*** for perls up to 5.8.8 and possibly later versions.
83***
84*** If you are unsure wether your perl has been fixed, your system
85*** is safe for other reasons, or you experience spurious segfaults,
86*** please compile your perl with -Dusemymalloc=n.
87***
88
89EOF
90}
4 91
5my $mm = MM->new({ 92my $mm = MM->new({
6 dist => { 93 dist => {
7 PREOP => 'pod2text AIO.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', 94 PREOP => 'pod2text AIO.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;',
8 COMPRESS => 'gzip -9v', 95 COMPRESS => 'gzip -9v',
9 SUFFIX => '.gz', 96 SUFFIX => '.gz',
10 }, 97 },
98 depend => {
99 "AIO.c" => "schmorp.h libeio/eio.h libeio/xthread.h libeio/etp.c libeio/eio.c config.h",
100 },
11 NAME => "IO::AIO", 101 NAME => "IO::AIO",
12 VERSION_FROM => "AIO.pm", 102 VERSION_FROM => "AIO.pm",
13 LIBS => ['-lpthread'], 103 INC => $INC,
104 LIBS => $LIBS,
105 EXE_FILES => ["bin/treescan"],
106 PM => {
107 'AIO.pm' => '$(INST_LIB)/IO/AIO.pm',
108 },
109 CONFIGURE_REQUIRES => { ExtUtils::MakeMaker => 6.52, Canary::Stability => 2001 },
110 PREREQ_PM => {
111 "common::sense" => 0,
112 },
113 clean => { FILES => "config.h libeio/config.h libeio/config.log libeio/config.status" },
14}); 114});
15 115
16$mm->flush; 116$mm->flush;
17 117

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines