-
Notifications
You must be signed in to change notification settings - Fork 31
/
Makefile.PL
121 lines (92 loc) · 2.98 KB
/
Makefile.PL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# The -*- perl -*- script writes the Makefile for perl-ldap
# $Id: Makefile.PL,v 1.11 2003/03/09 11:00:50 chrisridd Exp $
use 5.004;
use ExtUtils::MakeMaker;
use Getopt::Std;
use Config;
#--- Configure ---
if (!getopts("hs") || $opt_h) {
die <<"EDQ";
Usage: perl $0 [-h] [-s] [ MAKEMAKER_ARGS ]
-h Display this message
-s Install scripts from bin directory
EDQ
}
#--- Distribution section ---
$DISTNAME = 'perl-ldap';
$VERSION_FROM = 'lib/Net/LDAP.pm';
$AUTHOR = 'Graham Barr <gbarr@pobox.com>';
($ABSTRACT = <<"EDQ") =~ s/\n/\\n/g;
perl-ldap is a library of modules implementing an LDAP client. The aim
of the perl-ldap project is to implement a very portable LDAP client in
perl by relying on as little compiled code as possible.
EDQ
#--- Check for required modules ---
my $missing = 0;
$| = 1;
sub check_module {
my($module,$version) = @_;
print substr("$module ............................",0,30);
my $ok = eval {
my $file = $module;
$file =~ s#::#/#g;
require $file . ".pm";
$module->VERSION($version) if defined $version;
1;
};
$missing++ unless $ok;
$@ =~ s/^(Can't locate \S* in \@INC).*/$1/s;
print $ok ? "ok\n" : "** FAILED **\n$@\n";
$ok;
}
print "\nChecking for OPTIONAL modules\n\n";
check_module('URI',1.08) && check_module('URI::ldap',1.10) or print <<"EDQ","\n";
The URI::ldap module is needed ONLY IF you want to parse LDAP URLs
EDQ
check_module('Digest::MD5') or print <<"EDQ","\n";
The Digest::MD5 module is needed ONLY IF intend to use CRAM-MD5 SASL authentication
EDQ
check_module('IO::Socket::SSL',0.81) or print <<"EDQ","\n";
The IO::Socket::SSL module is needed ONLY IF you intend to use LDAPS
EDQ
check_module('XML::SAX::Base') or print <<"EDQ","\n";
The XML::SAX::Base module is needed ONLY IF you intend to read/write DSML files
EDQ
check_module('MIME::Base64') or print <<"EDQ","\n";
The MIME::Base64 module is needed ONLY IF you intend to read/write LDIF files
EDQ
check_module('Authen::SASL', 2.00) or print <<"EDQ","\n";
If you intend to use SASL authentication you need at least version 2.00
EDQ
print "\n",<<"EDQ","\n" if $missing;
****************************************************************************
You are missing some modules that MAY be needed for some of the features
in perl-ldap to work correctly. Read the above messages and download
any required modules from http://www.perl.com/CPAN
****************************************************************************
EDQ
#--- Write the Makefile ---
my %PL_FILES = map { ($a = $_) =~ s/\.PL// ? ($_,$a) : () } glob('bin/*.PL');
my @ppd;
if ($] >= 5.00503) {
@ppd = (
AUTHOR => $AUTHOR,
ABSTRACT => $ABSTRACT,
);
}
WriteMakefile(
VERSION_FROM => $VERSION_FROM,
NAME => $DISTNAME,
EXE_FILES => $opt_s ? [ values %PL_FILES ] : [],
PL_FILES => \%PL_FILES,
clean => {FILES => 'temp'},
PREREQ_PM => { 'Convert::ASN1' => 0.07 },
@ppd,
);
sub MY::postamble {
<<EOS;
run_mkmanf :
./mkmanf
distdir : run_mkmanf
EOS
}