1 |
use ExtUtils::MakeMaker; |
2 |
# See lib/ExtUtils/MakeMaker.pm for details of how to influence |
3 |
# the contents of the Makefile that is written. |
4 |
|
5 |
my $ver = `fusermount -V`; |
6 |
my $ver2 = `mount_fusefs -V`; |
7 |
chomp(my $ver3 = `mount_fusefs -V 2>&1 | head -n1`); |
8 |
$ver =~ s/^.*?version:\s+//; |
9 |
$ver2 =~ s/^.*?version:\s+//; |
10 |
$ver3 =~ s/^.*?version\s+//; |
11 |
if (! $ver && ! $ver2 && ! $ver3) { |
12 |
# make CPANPLUS happy and don't report errors if fuse isn't installed |
13 |
die("No support for os: $^O\n", |
14 |
"You need to have fuse-dev (or similar) package installed and have sufficient permissions in order to install this module\n" |
15 |
); |
16 |
} |
17 |
if ($ver && $ver + 0 < 2.5) { |
18 |
die "Fuse perl bindings need Linux fuse version 2.5 or newer\n"; |
19 |
} elsif ($ver2 && $ver2 + 0 < 0.3) { |
20 |
die "Fuse perl bindings need FreeBSD fuse version 0.3 or newer\n"; |
21 |
} elsif ($^O eq 'darwin' && $ver3 && !(($ver3 ge "0.1.0b006") || ($ver3 eq "0.1.0"))) { |
22 |
# the "ge" string-compare check will match all later revs and all later |
23 |
# betas, but not the final release of the current rev (0.1.0). |
24 |
die "Fuse perl bindings need MacFUSE version 0.1.0b006 or newer, your version is \"$ver3\"\n"; |
25 |
} else { |
26 |
warn "fuse version found: ", $ver || $ver2 || $ver3, "\n"; |
27 |
} |
28 |
|
29 |
my $inc = '-DFUSE_USE_VERSION=25 ' . `pkg-config --cflags fuse` || '-I ../include -D_FILE_OFFSET_BITS=64'; |
30 |
my $obj = `pkg-config --libs fuse` || '-lfuse'; |
31 |
my $def = '-Wall -g -ggdb'; |
32 |
$def .= ' -D__FreeBSD__=10 -D_FILE_OFFSET_BITS=64' if $^O eq 'darwin'; |
33 |
|
34 |
WriteMakefile( |
35 |
'NAME' => 'Fuse', |
36 |
'VERSION_FROM' => 'Fuse.pm', # finds $VERSION |
37 |
'PREREQ_PM' => {}, # e.g., Module::Name => 1.1 |
38 |
($] >= 5.005 ? ## Add these new keywords supported since 5.005 |
39 |
(ABSTRACT_FROM => 'Fuse.pm', # retrieve abstract from module |
40 |
AUTHOR => 'Mark Glines <mark@glines.org>') : ()), |
41 |
'LIBS' => [''], # e.g., '-lm' |
42 |
'DEFINE' => $def, # e.g., '-DHAVE_SOMETHING' |
43 |
# Insert -I. if you add *.h files later: |
44 |
'INC' => $inc, # e.g., '-I/usr/include/other' |
45 |
# Un-comment this if you add C files to link with later: |
46 |
'OBJECT' => "$obj Fuse.o -lpthread", # link all the C files too |
47 |
); |
48 |
|
49 |
sub MY::postamble { |
50 |
return <<'MAKE_MORE'; |
51 |
|
52 |
sf: |
53 |
svn2cvs.pl file:///home/dpavlin/private/svn/fuse/perl-llin :ext:dpavlin@fuse.cvs.sourceforge.net:/cvsroot/fuse perl |
54 |
|
55 |
MAKE_MORE |
56 |
}; |