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.23 by root, Thu Jul 14 22:36:17 2011 UTC vs.
Revision 1.38 by root, Sat Aug 25 19:55:48 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***
15 $LIBS = ["-L/gtk/lib -lpthreadVC2"]; 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 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
17 open my $fh, ">libeio/config.h" 29 open my $fh, ">config.h"
18 or die "libeio/config.h: $!"; 30 or die "config.h: $!";
19 print $fh <<EOF; 31 print $fh <<EOF;
20EOF 32EOF
21 33
22} else { 34} else {
23 35
24 $INC = ""; 36 $INC = "";
25 $LIBS = ['-lpthread', '-lpthreads', '-lpthreadVC2', '']; 37 $LIBS = ['-lpthread', '-lpthreads', ''];
26 38
27 if ($^O =~ /bsd/i) { 39 if ($^O =~ /bsd/i) {
28 print <<EOF; 40 print <<EOF;
29 41
30If you have problems with deadlocks or crashes on your system, 42If you have problems with deadlocks or crashes on your system,
44 } 56 }
45 57
46 $ENV{MAKE} = $Config{make}; 58 $ENV{MAKE} = $Config{make};
47 $ENV{SHELL} = $Config{sh}; 59 $ENV{SHELL} = $Config{sh};
48 $ENV{CC} = $Config{cc}; 60 $ENV{CC} = $Config{cc};
49 $ENV{CPPFLAGS} = $Config{cppflags}; 61 $ENV{CPPFLAGS} = "$Config{cppflags} -I$Config{archlibexp}/CORE";
50 $ENV{CFLAGS} = $Config{ccflags}; 62 $ENV{CFLAGS} = $Config{ccflags};
51 $ENV{LDFLAGS} = $Config{ldflags}; 63 $ENV{LDFLAGS} = "$Config{ldflags} $Config{ccdlflags}";
52 $ENV{LINKER} = $Config{ld}; # nonstandard 64 $ENV{LINKER} = $Config{ld}; # nonstandard
65 $ENV{LIBS} = "-L$Config{archlibexp}/CORE -L$Config{privlibexp} -lperl $Config{perllibs}";
53 66
54 system $ENV{SHELL}, -c => "./configure --prefix \Q$Config{prefixexp}\E" 67 system $ENV{SHELL}, -c => "./configure --prefix \Q$Config{prefixexp}\E"
55 and exit $? >> 8; 68 and exit $? >> 8;
56 } 69 }
57} 70}
60 print <<EOF; 73 print <<EOF;
61 74
62*** 75***
63*** WARNING: 76*** WARNING:
64*** 77***
65*** Your perl uses it's own memory allocator (-Dusemymalloc=y), 78*** Your perl uses its own memory allocator (-Dusemymalloc=y),
66*** which is known not to be threadsafe on GNU/Linux and probably 79*** which is known not to be threadsafe on GNU/Linux and probably
67*** other platforms (even when not used concurrently, it trashes 80*** other platforms (even when not used concurrently, it trashes
68*** the data structures of the system malloc running concurrently), 81*** the data structures of the system malloc running concurrently),
69*** for perls up to 5.8.8 and possibly later versions. 82*** for perls up to 5.8.8 and possibly later versions.
70*** 83***
79my $mm = MM->new({ 92my $mm = MM->new({
80 dist => { 93 dist => {
81 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 . ;',
82 COMPRESS => 'gzip -9v', 95 COMPRESS => 'gzip -9v',
83 SUFFIX => '.gz', 96 SUFFIX => '.gz',
84 }, 97 },
85 depend => { 98 depend => {
86 "AIO.c" => "libeio/eio.h libeio/xthread.h libeio/eio.c libeio/config.h", 99 "AIO.c" => "schmorp.h libeio/eio.h libeio/xthread.h libeio/etp.c libeio/eio.c config.h",
87 }, 100 },
88 NAME => "IO::AIO", 101 NAME => "IO::AIO",
89 VERSION_FROM => "AIO.pm", 102 VERSION_FROM => "AIO.pm",
90 INC => $INC, 103 INC => $INC,
91 LIBS => $LIBS, 104 LIBS => $LIBS,
92 EXE_FILES => ["bin/treescan"], 105 EXE_FILES => ["bin/treescan"],
93 PM => { 106 PM => {
94 'AIO.pm' => '$(INST_LIBDIR)/AIO.pm', 107 'AIO.pm' => '$(INST_LIB)/IO/AIO.pm',
95 }, 108 },
109 CONFIGURE_REQUIRES => { ExtUtils::MakeMaker => 6.52, Canary::Stability => 2001 },
96 PREREQ_PM => { 110 PREREQ_PM => {
97 "common::sense" => 0, 111 "common::sense" => 0,
98 }, 112 },
99 clean => { FILES => "libeio/config.h libeio/config.log libeio/config.status" }, 113 clean => { FILES => "config.h libeio/config.h libeio/config.log libeio/config.status" },
100}); 114});
101 115
102$mm->flush; 116$mm->flush;
103 117

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines