sybperl
view release on metacpan or search on metacpan
util/config.pl view on Meta::CPAN
sub getExtraLibs {
my $dir = shift;
my $cfg = shift;
my $syb_version = shift;
my $lib = "$dir/lib";
#print "Checking extra libs for version $syb_version in $lib\n";
opendir(DIR, "$lib") || die "Can't access $lib: $!";
my %files = map { $_ =~ s/lib([^\.]+)\..*/$1/; $_ => 1 } grep(/lib/ && -f "$dir/lib/$_", readdir(DIR));
closedir(DIR);
my %x = map {$_ => 1} split(' ', $cfg);
my $f;
my $dlext = $Config{dlext} || 'so';
foreach $f (keys(%x)) {
my $file = $f;
$file =~ s/-l//;
next if($file =~ /^-/);
delete($x{$f}) unless (exists($files{$file}) || $f =~ /dnet_stub/);
}
foreach $f (qw(insck tli sdna dnet_stub tds skrb gss)) {
$x{"-l$f"} = 1 if exists $files{$f} && -f "$dir/lib/lib$f.$dlext";
}
if($syb_version gt '11') {
delete($x{-linsck});
delete($x{-ltli});
}
# if($version ge '12.5.1') {
# delete($x{-lskrb});
# }
join(' ', keys(%x));
}
sub checkLib {
my $dir = shift;
opendir(DIR, "$dir/lib") || die "Can't access $dir/lib: $!";
my @files = grep(/libct|libsybct/i, readdir(DIR));
closedir(DIR);
if(grep(/libsybct/, @files)) {
$newlibnames = 1;
} else {
$newlibnames = 0;
}
scalar(@files);
}
sub putEnv {
my $sattr = shift;
my $data = shift;
my $replace = '';
if($$sattr{EMBED_SYBASE}) {
if($$sattr{EMBED_SYBASE_USE_HOME}) {
$replace = qq(
BEGIN {
if(!\$ENV{'SYBASE'}) {
if(\@_ = getpwnam("sybase")) {
\$ENV{'SYBASE'} = \$_[7];
} else {
\$ENV{'SYBASE'} = '$$sattr{SYBASE}';
}
}
}
);
} else {
$replace = qq(
BEGIN {
if(!\$ENV{'SYBASE'}) {
\$ENV{'SYBASE'} = '$$sattr{SYBASE}';
}
}
);
}
}
$data =~ s/\#__SYBASE_START.*\#__SYBASE_END/\#__SYBASE_START\n$replace\n\#__SYBASE_END/s;
$data;
}
sub getPkgVersion {
my $file = shift;
my $ver;
open(IN, $file) || die "Can't open $file: $!";
while(<IN>) {
chomp;
if(/VERSION\s*=\s*(\S+)/) {
$ver = $1;
}
}
close(IN);
#warn "Got version $ver from $file\n";
warn "Can't find VERSION in $file!\n" unless $ver;
return $ver;
}
1;
( run in 0.512 second using v1.01-cache-2.11-cpan-71847e10f99 )