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.3 by root, Sun Jul 31 18:14:48 2005 UTC vs.
Revision 1.31 by root, Mon Jun 10 01:50:24 2013 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines