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.17 by root, Tue May 20 05:51:11 2008 UTC vs.
Revision 1.37 by root, Tue Aug 14 14:03:15 2018 UTC

1use v5.8.8; 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***
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";
15 $LIBS = ["-L/gtk/lib -lpthreadVC2"]; 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
16 33
17} else { 34} else {
18 35
19 $INC = ""; 36 $INC = "";
20 $LIBS = ['-lpthread', '-lpthreads', '-lpthreadVC2', '']; 37 $LIBS = ['-lpthread', '-lpthreads', ''];
21 38
22 if ($^O =~ /freebsd/i) { 39 if ($^O =~ /bsd/i) {
23 print <<EOF; 40 print <<EOF;
24 41
25This package seems to deadlock or otherwise misbehave under FreeBSD. As 42If you have problems with deadlocks or crashes on your system,
26documentation on FreeBSD threading is sorely lacking and confusing, I'll 43make sure your perl has been linked with -lpthread (you might try
27just call FreeBSD broken with regards to threading. 44LD_PRELOAD=/path/to/libpthread.so as a workaround). Also, pthread support
28 45under many BSDs is not the best - before reporting a bug in this module,
29If you find out whats wrong, please tell me. 46make sure it's not an OS bug.
30
31Some people had luck with using OPTIMIZE=-O instead of -O2, so you might
32want to try that.
33 47
34EOF 48EOF
35 } 49 }
36 50
37 { 51 {
42 } 56 }
43 57
44 $ENV{MAKE} = $Config{make}; 58 $ENV{MAKE} = $Config{make};
45 $ENV{SHELL} = $Config{sh}; 59 $ENV{SHELL} = $Config{sh};
46 $ENV{CC} = $Config{cc}; 60 $ENV{CC} = $Config{cc};
47 $ENV{CPPFLAGS} = $Config{cppflags}; 61 $ENV{CPPFLAGS} = "$Config{cppflags} -I$Config{archlibexp}/CORE";
48 $ENV{CFLAGS} = $Config{ccflags}; 62 $ENV{CFLAGS} = $Config{ccflags};
49 $ENV{LDFLAGS} = $Config{ldflags}; 63 $ENV{LDFLAGS} = "$Config{ldflags} $Config{ccdlflags}";
50 $ENV{LIBS} = $Config{libs};
51 $ENV{LINKER} = $Config{ld}; # nonstandard 64 $ENV{LINKER} = $Config{ld}; # nonstandard
65 $ENV{LIBS} = "-L$Config{archlibexp}/CORE -L$Config{privlibexp} -lperl $Config{libs}";
52 66
53 system $ENV{SHELL}, -c => "./configure --prefix \Q$Config{prefixexp}\E" 67 system $ENV{SHELL}, -c => "./configure --prefix \Q$Config{prefixexp}\E"
54 and exit $? >> 8; 68 and exit $? >> 8;
55 } 69 }
56} 70}
59 print <<EOF; 73 print <<EOF;
60 74
61*** 75***
62*** WARNING: 76*** WARNING:
63*** 77***
64*** Your perl uses it's own memory allocator (-Dusemymalloc=y), 78*** Your perl uses its own memory allocator (-Dusemymalloc=y),
65*** 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
66*** other platforms (even when not used concurrently, it trashes 80*** other platforms (even when not used concurrently, it trashes
67*** the data structures of the system malloc running concurrently), 81*** the data structures of the system malloc running concurrently),
68*** for perls up to 5.8.8 and possibly later versions. 82*** for perls up to 5.8.8 and possibly later versions.
69*** 83***
78my $mm = MM->new({ 92my $mm = MM->new({
79 dist => { 93 dist => {
80 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 . ;',
81 COMPRESS => 'gzip -9v', 95 COMPRESS => 'gzip -9v',
82 SUFFIX => '.gz', 96 SUFFIX => '.gz',
83 }, 97 },
84 depend => { 98 depend => {
85 "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",
86 }, 100 },
87 NAME => "IO::AIO", 101 NAME => "IO::AIO",
88 VERSION_FROM => "AIO.pm", 102 VERSION_FROM => "AIO.pm",
89 INC => $INC, 103 INC => $INC,
90 LIBS => $LIBS, 104 LIBS => $LIBS,
105 EXE_FILES => ["bin/treescan"],
91 PM => { 106 PM => {
92 'AIO.pm' => '$(INST_LIBDIR)/AIO.pm', 107 'AIO.pm' => '$(INST_LIB)/IO/AIO.pm',
93 }, 108 },
109 CONFIGURE_REQUIRES => { ExtUtils::MakeMaker => 6.52, Canary::Stability => 2001 },
110 PREREQ_PM => {
111 "common::sense" => 0,
112 },
94 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" },
95}); 114});
96 115
97$mm->flush; 116$mm->flush;
98 117

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines