summaryrefslogtreecommitdiff
path: root/cleopatre/application/spidnetsnmp/perl/SNMP/Makefile.PL
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/application/spidnetsnmp/perl/SNMP/Makefile.PL')
-rw-r--r--cleopatre/application/spidnetsnmp/perl/SNMP/Makefile.PL363
1 files changed, 0 insertions, 363 deletions
diff --git a/cleopatre/application/spidnetsnmp/perl/SNMP/Makefile.PL b/cleopatre/application/spidnetsnmp/perl/SNMP/Makefile.PL
deleted file mode 100644
index 928cb67a7e..0000000000
--- a/cleopatre/application/spidnetsnmp/perl/SNMP/Makefile.PL
+++ /dev/null
@@ -1,363 +0,0 @@
-use ExtUtils::MakeMaker;
-require 5;
-use Config;
-use Getopt::Long;
-my $lib_version;
-my %MakeParams = ();
-my $opts;
-
-# See lib/ExtUtils/MakeMaker.pm for details of how to influence
-# the contents of the Makefile that is written.
-
-%MakeParams = InitMakeParams();
-
-WriteMakefile(%MakeParams);
-
-Check_Version();
-
-GetTestInfo();
-
-sub InitMakeParams {
- my %Params = (
- NAME => 'SNMP',
- dist => { SUFFIX => "gz", COMPRESS => "gzip -9f"},
- MAN3PODS => { 'SNMP.pm' => '$(INST_MAN3DIR)/SNMP.3' },
- XSPROTOARG => '-noprototypes', # XXX remove later?
- VERSION_FROM => 'SNMP.pm',
- realclean => { FILES => 'host' },
- );
-
- if ($ENV{'OSTYPE'} eq 'msys') {
- $Params{'DEFINE'} = "-DMINGW_PERL";
- }
-
- my ($snmp_lib, $snmp_llib, $sep);
- if (($Config{'osname'} eq 'MSWin32' && $ENV{'OSTYPE'} ne 'msys')) {
- $opts = NetSNMPGetOpts();
- $Params{'DEFINE'} = "-DMSVC_PERL";
- $sep = '\\';
- $snmp_lib_file = 'netsnmp.lib';
- $snmp_link_lib = 'netsnmp';
-
- if (lc($opts->{'debug'}) eq "true") {
- $lib_dir = 'lib\\debug';
- }
- else {
- $lib_dir = 'lib\\release';
- }
-
- if (lc($opts->{'insource'}) eq "true") {
- $Params{'LIBS'} = "-L$basedir\\win32\\$lib_dir\\ -l$snmp_link_lib";
- }
- else {
- my @LibDirs = split (';',$ENV{LIB});
- my $LibDir;
- if ($opts->{'prefix'}) {
- push (@LibDirs,"$ENV{'NET-SNMP-PATH'}${sep}lib");
- }
- $noLibDir = 1;
- while ($noLibDir) {
- $LibDir = find_files(["$snmp_lib_file"],\@LibDirs);
- if ($LibDir ne '') {
- $noLibDir = 0;
- # Put quotes around LibDir to allow spaces in paths
- $LibDir = '"' . $LibDir . '"';
- }
- else
- {
- @LibDirs = ();
- $LibDirs[0] = prompt("The Net-SNMP library ($snmp_lib_file) could not be found.\nPlease enter the directory where it is located:");
- $LibDirs[0] =~ s/\\$//;
- }
- }
- $Params{LIBS} = "-L$LibDir -l$snmp_link_lib";
- }
-
- $Params{'INC'} = "-I$basedir\\include\\ -I$basedir\\include\\net-snmp\\ -I$basedir\\win32\\ ";
- }
- else {
- $opts = NetSNMPGetOpts();
- $Params{'LDDLFLAGS'} = "$Config{lddlflags} " . `$opts->{'nsconfig'} --ldflags`;
- if (!$ENV{'NETSNMP_LIBS'}) {
- $Params{'LIBS'} = `$opts->{'nsconfig'} --libs`;
- chomp($Params{'LIBS'});
- } else {
- $Params{'LIBS'} = $ENV{'NETSNMP_LIBS'};
- }
- if (!$ENV{'NETSNMP_CCFLAGS'}) {
- $Params{'CCFLAGS'} = `$opts->{'nsconfig'} --cflags`;
- chomp($Params{'CCFLAGS'});
- $Params{'CCFLAGS'} .= " " . $Config{'ccflags'};
- } else {
- $Params{'CCFLAGS'} = $ENV{'NETSNMP_CCFLAGS'};
- }
- $lib_version = `$opts->{'nsconfig'} --version`;
- if (lc($opts->{'insource'}) eq "true") {
- $Params{'LIBS'} = "-L../../snmplib/.libs -L../../snmplib/ " . $Params{'LIBS'};
- $Params{'CCFLAGS'} = "-I../../include " . $Params{'CCFLAGS'};
-# } else {
-# $Params{'PREREQ_PM'} = { 'NetSNMP::default_store' => 0.01 };
- }
- $Params{'CCFLAGS'} =~ s/ -W(all|inline|strict-prototypes|write-strings|cast-qual|no-char-subscripts)//g; # ignore developer warnings
- if (!$ENV{'NETSNMP_PREFIX'}) {
- $prefix = `$opts->{'nsconfig'} --prefix`;
- chomp($prefix);
- $sep = '/';
- } else {
- $prefix = $ENV{'NETSNMP_PREFIX'};
- }
- if ($Params{'LIBS'} eq "" || $Params{'CCFLAGS'} eq "") {
- die "You need to install net-snmp first (I can't find net-snmp-config)";
- }
- }
-
- return(%Params);
-
-}
-
-sub GetTestInfo {
- my $sep = ($^O =~ /win32/i ? '\\' : '/');
- my $info_file = "t${sep}snmptest.cmd";
- my $snmpd_path1 = "${prefix}${sep}sbin";
- my $snmpd_path2 = "${sep}usr${sep}sbin";
- my $snmpd_path3 = "${sep}usr${sep}bin";
- my $win32_snmpd_path = $ENV{'NET-SNMP-PATH'} . $sep . "bin";
-
- open(H, ">$info_file") || die "Error: could not open file '$info_file'($!)";
-
- my ($mibdir, $snmpd, $snmptrapd);
-
- # Windows
- if ($Config{'osname'} eq 'MSWin32' && $ENV{'OSTYPE'} ne 'msys') {
- if (lc ($opts->{'insource'}) eq "true") {
- $mibdir = "../../mibs";
- if (lc($opts->{'debug'}) eq "true") {
- $snmpd = "../../win32/bin/debug";
- $snmptrapd = "../../win32/bin/debug";
- }
- else {
- $snmpd = "../../win32/bin/release";
- $snmptrapd = "../../win32/bin/release";
- }
- } else {
- $mibdir = $ENV{'NET-SNMP-PATH'} . "${sep}share${sep}snmp${sep}mibs";
- $snmpd = find_files(["snmpd.exe"], [$win32_snmpd_path]);
- $snmptrapd = find_files(["snmptrapd.exe"], [$win32_snmpd_path]);
- }
- }
-
- # Unix
- else {
- if (lc($opts->{'insource'}) eq "true") {
- $mibdir = "../../mibs";
- $snmpd = "../../agent/snmpd";
- $snmptrapd = "../../apps/snmptrapd";
- } else {
- $mibdir = "${prefix}${sep}share${sep}snmp${sep}mibs";
- $snmpd = find_files(["snmpd"], [$snmpd_path1, $snmpd_path2]);
- $snmptrapd = find_files(["snmptrapd"], [$snmpd_path1, $snmpd_path2]);
- }
- }
-
- $mibdir = find_files(["NET-SNMP-MIB.txt"],[$mibdir]);
-
- $mibdir ||= prompt("Unable to locate the MIBs, Please enter the path: ",
- $mibdir);
- $snmpd ||= prompt("Unable to locate \"snmpd\". Please enter the path: ",
- $snmpd_path1);
- $snmptrapd ||=
- prompt("Unable to locate \"snmptrapd\". Please enter the path: ",
- $snmpd_path1);
-
- if ($Config{'osname'} eq 'MSWin32' && $ENV{'OSTYPE'} ne 'msys') {
- $snmpd = $snmpd . $sep . "snmpd.exe";
- $snmptrapd = $snmptrapd . $sep . "snmptrapd.exe";
- }
- else {
- if ($ENV{'OSTYPE'} eq 'msys') {
- $snmpd =~ s/snmpd$/snmpd.exe/;
- $snmptrapd =~ s/snmptrapd$/snmptrapd.exe/;
- }
- else
- {
- $snmpd =~ s/($sep)?(snmpd)?$/${sep}snmpd/;
- $snmptrapd =~ s/($sep)?(snmptrapd)?$/${sep}snmptrapd/;
- }
- }
-
- print H "SNMPD => $snmpd\n";
- print H "SNMPTRAPD => $snmptrapd\n";
- print H "MIBDIR => $mibdir\n";
-
- if (!(lc($opts->{'insource'}) eq "true")) {
- if (-e $snmpd and -r $snmpd) {
- if (not -x $snmpd) {
- warn("Error: $snmpd not executable. 'make test' will not work.\n");
- }
- } else {
- warn("Error: $snmpd does not exist or is unreadable. 'make test' will not work.\n");
- }
-
- if (-e $snmptrapd and -r $snmptrapd) {
- if (not -x $snmptrapd) {
- warn("Error: $snmptrapd not executable. 'make test' will not work.\n");
- }
- } else {
- warn("Error: $snmptrapd does not exist or is unreadable. 'make test' will not work.\n");
- }
- }
-# end of else
- close H;
-}
-
-sub HasSSL {
- my $config_header = shift;
- my $has_ssl;
- unless (open(C,"<$config_header")) {
- warn("Unable to open $config_header, assuming no SSL\n");
- return undef;
- }
- while (<C>) {
- $has_ssl++, last if /^\s*#define\s+NETSNMP_USE_OPENSSL/;
- }
- close C;
- return $has_ssl;
-}
-# common subroutines -- DO NOT EDIT.
-# They are imported from the Makefile.subs.pl file
-sub NetSNMPGetOpts {
- my %ret;
- my $rootpath = shift;
- $rootpath = "../" if (!$rootpath);
- $rootpath .= '/' if ($rootpath !~ /\/$/);
-
- if (($Config{'osname'} eq 'MSWin32' && $ENV{'OSTYPE'} ne 'msys')) {
-
- # Grab command line options first. Only used if environment variables are not set
- GetOptions("NET-SNMP-IN-SOURCE=s" => \$ret{'insource'},
- "NET-SNMP-PATH=s" => \$ret{'prefix'},
- "NET-SNMP-DEBUG=s" => \$ret{'debug'});
-
- if ($ENV{'NET-SNMP-IN-SOURCE'})
- {
- $ret{'insource'} = $ENV{'NET-SNMP-IN-SOURCE'};
- undef ($ret{'prefix'});
- }
- elsif ($ENV{'NET-SNMP-PATH'})
- {
- $ret{'prefix'} = $ENV{'NET-SNMP-PATH'};
- }
-
- if ($ENV{'NET-SNMP-DEBUG'})
- {
- $ret{'debug'} = $ENV{'NET-SNMP-DEBUG'};
- }
-
- # Update environment variables in case they are needed
- $ENV{'NET-SNMP-IN-SOURCE'} = $ret{'insource'};
- $ENV{'NET-SNMP-PATH'} = $ret{'prefix'};
- $ENV{'NET-SNMP-DEBUG'} = $ret{'debug'};
-
- $basedir = `%COMSPEC% /c cd`;
- chomp $basedir;
- $basedir =~ /(.*?)\\perl.*/;
- $basedir = $1;
- print "Net-SNMP base directory: $basedir\n";
- if ($basedir =~ / /) {
- die "\nA space has been detected in the base directory. This is not " .
- "supported\nPlease rename the folder and try again.\n\n";
- }
- }
- else
- {
- if ($ENV{'NET-SNMP-CONFIG'} &&
- $ENV{'NET-SNMP-IN-SOURCE'}) {
- # have env vars, pull from there
- $ret{'nsconfig'} = $ENV{'NET-SNMP-CONFIG'};
- $ret{'insource'} = $ENV{'NET-SNMP-IN-SOURCE'};
- } else {
- # don't have env vars, pull from command line and put there
- GetOptions("NET-SNMP-CONFIG=s" => \$ret{'nsconfig'},
- "NET-SNMP-IN-SOURCE=s" => \$ret{'insource'});
-
- if (lc($ret{'insource'}) eq "true" && $ret{'nsconfig'} eq "") {
- $ret{'nsconfig'}="sh ROOTPATH../net-snmp-config";
- } elsif ($ret{'nsconfig'} eq "") {
- $ret{'nsconfig'}="net-snmp-config";
- }
-
- $ENV{'NET-SNMP-CONFIG'} = $ret{'nsconfig'};
- $ENV{'NET-SNMP-IN-SOURCE'} = $ret{'insource'};
- }
- }
-
- $ret{'nsconfig'} =~ s/ROOTPATH/$rootpath/;
-
- $ret{'rootpath'} = $rootpath;
-
- \%ret;
-}
-
-sub find_files {
- my($f,$d) = @_;
- my ($dir,$found,$file);
- for $dir (@$d){
- $found = 0;
- for $file (@$f) {
- $found++ if -f "$dir/$file";
- }
- if ($found == @$f) {
- return $dir;
- }
- }
-}
-
-
-sub Check_Version {
- if (($Config{'osname'} ne 'MSWin32' || $ENV{'OSTYPE'} eq 'msys')) {
- my $foundversion = 0;
- return if ($ENV{'NETSNMP_DONT_CHECK_VERSION'});
- open(I,"<Makefile");
- while (<I>) {
- if (/^VERSION = (.*)/) {
- my $perlver = $1;
- my $srcver = $lib_version;
- chomp($srcver);
- my $srcfloat = floatize_version($srcver);
- $perlver =~ s/pre/0./;
- # we allow for perl/CPAN-only revisions beyond the default
- # version formatting of net-snmp itself.
- $perlver =~ s/(\.\d{5}).*/\1/;
- $perlver =~ s/0*$//;
- if ($srcfloat ne $perlver) {
- if (!$foundversion) {
- print STDERR "ERROR:
-Net-SNMP installed version: $srcver => $srcfloat
-Perl Module Version: $perlver
-
-These versions must match for perfect support of the module. It is possible
-that different versions may work together, but it is strongly recommended
-that you make these two versions identical. You can get the Net-SNMP
-source code and the associated perl modules directly from
-
- http://www.net-snmp.org/
-
-If you want to continue anyway please set the NETSNMP_DONT_CHECK_VERSION
-environmental variable to 1 and re-run the Makefile.PL script.\n";
- exit(1);
- }
- }
- $foundversion = 1;
- last;
- }
- }
- close(I);
- die "ERROR: Couldn't find version number of this module\n"
- if (!$foundversion);
- }
-}
-
-sub floatize_version {
- my ($major, $minor, $patch, $opps) = ($_[0] =~ /^(\d+)\.(\d+)\.?(\d*)\.?(\d*)/);
- return $major + $minor/100 + $patch/10000 + $opps/100000;
-}