version 1.36, 2011/03/18 15:13:33 |
version 1.37, 2011/03/18 15:14:59 |
|
|
$cfg = OpenBSD::PkgConfig->read_file($f); |
$cfg = OpenBSD::PkgConfig->read_file($f); |
}; |
}; |
if (!$@) { |
if (!$@) { |
return $cfg; |
return validate_config($f, $cfg); |
} else { |
} else { |
print STDERR $@, "\n" if $D; |
print STDERR $@, "\n" if $D; |
} |
} |
|
|
} else { |
} else { |
return $configs{$name} = find_config($name); |
return $configs{$name} = find_config($name); |
} |
} |
|
} |
|
|
|
# Required elements for a valid .pc file: Name, Description, Version |
|
sub validate_config |
|
{ |
|
my ($f, $cfg) = @_; |
|
my @required_elems = ('Name', 'Description', 'Version'); |
|
my $e; |
|
|
|
foreach (@required_elems) { |
|
$e = $cfg->get_property($_, $variables); |
|
if (!defined $e) { |
|
print STDERR "incomplete or corrupt file: $f\n" if $D; |
|
return undef; |
|
} |
|
} |
|
|
|
return $cfg; |
} |
} |
|
|
# pkg-config won't install a pkg-config.pc file itself, but it may be |
# pkg-config won't install a pkg-config.pc file itself, but it may be |