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.22 by root, Mon Nov 1 22:03:43 2010 UTC vs.
Revision 1.36 by root, Tue Aug 14 09:29:50 2018 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines