ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/IO-AIO/Makefile.PL
Revision: 1.22
Committed: Mon Nov 1 22:03:43 2010 UTC (13 years, 6 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: rel-3_71, rel-3_7, rel-3_9, rel-3_8, rel-3_93, rel-3_92, rel-3_91
Changes since 1.21: +6 -9 lines
Log Message:
3.7

File Contents

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