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.13 by root, Sun Jul 8 09:09:34 2007 UTC vs.
Revision 1.23 by root, Thu Jul 14 22:36:17 2011 UTC

1use 5.008002;
2
1use ExtUtils::MakeMaker; 3use ExtUtils::MakeMaker;
2 4
3use Config; 5use Config;
4
5require "autoconf.pm";
6 6
7if ($^O =~ /win32/i or $^O =~ /mswin/) { 7if ($^O =~ /win32/i or $^O =~ /mswin/) {
8 8
9 # configuration on windows is hardcoded - as always 9 # configuration on windows is hardcoded - as always
10 10
11 warn "your platform is not standards-compliant, you have to port this module first\n"; 11 warn "your platform is not standards-compliant, you have to port this module first\n";
12 warn "using some hardcoded config that will not work on your system\n"; 12 warn "using some hardcoded config that will not work on your system\n";
13 13
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"; 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";
15 $LIBS = ["-L/gtk/lib"]; # -lpthreadVC2"]; 15 $LIBS = ["-L/gtk/lib -lpthreadVC2"];
16
17 open my $fh, ">libeio/config.h"
18 or die "libeio/config.h: $!";
19 print $fh <<EOF;
20EOF
16 21
17} else { 22} else {
18 23
19 $INC = ""; 24 $INC = "";
20 $LIBS = ['-lpthread -lrt', '-lpthread', '-lpthreads', '-lpthreadVC2', '']; 25 $LIBS = ['-lpthread', '-lpthreads', '-lpthreadVC2', ''];
21 26
22 if ($^O =~ /freebsd/i) { 27 if ($^O =~ /bsd/i) {
23 print <<EOF; 28 print <<EOF;
24 29
25This package seems to deadlock or otherwise misbehave under FreeBSD. As 30If you have problems with deadlocks or crashes on your system,
26documentation on FreeBSD threading is sorely lacking and confusing, I'll 31make sure your perl has been linked with -lpthread (you might try
27just call FreeBSD broken with regards to threading. 32LD_PRELOAD=/path/to/libpthread.so as a workaround). Also, pthread support
28 33under many BSDs is not the best - before reporting a bug in this module,
29If you find out whats wrong, please tell me. 34make 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 35
34EOF 36EOF
35 } 37 }
36 38
37 autoconf::run_script() 39 {
38 and die "\nconfigure failed, check it's output above and autoconf/config.log\n\n"; 40 local %ENV = %ENV;
41
42 while (my ($k, $v) = each %Config) {
43 $ENV{$k} = $v;
44 }
45
46 $ENV{MAKE} = $Config{make};
47 $ENV{SHELL} = $Config{sh};
48 $ENV{CC} = $Config{cc};
49 $ENV{CPPFLAGS} = $Config{cppflags};
50 $ENV{CFLAGS} = $Config{ccflags};
51 $ENV{LDFLAGS} = $Config{ldflags};
52 $ENV{LINKER} = $Config{ld}; # nonstandard
53
54 system $ENV{SHELL}, -c => "./configure --prefix \Q$Config{prefixexp}\E"
55 and exit $? >> 8;
56 }
39} 57}
40 58
41if ($^O =~ /linux/ && $Config{usemymalloc} eq "y") { 59if ($^O =~ /linux/ && $Config{usemymalloc} eq "y") {
42 print <<EOF; 60 print <<EOF;
43 61
62 dist => { 80 dist => {
63 PREOP => 'pod2text AIO.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', 81 PREOP => 'pod2text AIO.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;',
64 COMPRESS => 'gzip -9v', 82 COMPRESS => 'gzip -9v',
65 SUFFIX => '.gz', 83 SUFFIX => '.gz',
66 }, 84 },
85 depend => {
86 "AIO.c" => "libeio/eio.h libeio/xthread.h libeio/eio.c libeio/config.h",
87 },
67 NAME => "IO::AIO", 88 NAME => "IO::AIO",
68 VERSION_FROM => "AIO.pm", 89 VERSION_FROM => "AIO.pm",
69 INC => $INC, 90 INC => $INC,
70 LIBS => $LIBS, 91 LIBS => $LIBS,
92 EXE_FILES => ["bin/treescan"],
71 PM => { 93 PM => {
72 'AIO.pm' => '$(INST_LIBDIR)/AIO.pm', 94 'AIO.pm' => '$(INST_LIBDIR)/AIO.pm',
73 }, 95 },
96 PREREQ_PM => {
97 "common::sense" => 0,
98 },
74 clean => { FILES => "autoconf/config.h autoconf/config.log autoconf/config.status" }, 99 clean => { FILES => "libeio/config.h libeio/config.log libeio/config.status" },
75}); 100});
76 101
77$mm->flush; 102$mm->flush;
78 103

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines