Makefile.subs.pl
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:2k
- 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: $basedirn";
- if ($basedir =~ / /) {
- die "nA space has been detected in the base directory. This is not " .
- "supportednPlease rename the folder and try again.nn";
- }
- }
- 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;
- }
- }
- }