package make::utilities;
use Exporter 'import';
+use make::configure;
use POSIX;
@EXPORT = qw(make_rpath pkgconfig_get_include_dirs pkgconfig_get_lib_dirs translate_functions);
sub pkgconfig_get_include_dirs($$$;$)
{
my ($packagename, $headername, $defaults, $module) = @_;
+
+ if (exists $config{$key})
+ {
+ my $key = "default_includedir_$packagename";
+ $ret = $config{$key};
+ return $ret;
+ }
+
extend_pkg_path();
print "Locating include directory for package \033[1;32m$packagename\033[0m for module \033[1;32m$module\033[0m... ";
chomp($ret);
if (($ret eq " ") || (!defined $ret))
{
- print "\033[1;32mUsing defaults\033[0m\n";
+ my $key = "default_includedir_$packagename";
+ if (exists $config{$key})
+ {
+ $ret = $config{$key};
+ }
+ else
+ {
+ $headername =~ s/^\///;
+ promptstring("path to the directory containing $headername", $key, "/usr/include");
+ $ret = $config{$key};
+ }
}
else
{
sub pkgconfig_get_lib_dirs($$$;$)
{
my ($packagename, $libname, $defaults, $module) = @_;
+
+ if (exists $config{$key})
+ {
+ my $key = "default_libdir_$packagename";
+ $ret = $config{$key};
+ return $ret;
+ }
+
extend_pkg_path();
print "Locating library directory for package \033[1;32m$packagename\033[0m for module \033[1;32m$module\033[0m... ";
chomp($ret);
if (($ret eq " ") || (!defined $ret))
{
- print "\033[1;32mUsing defaults\033[0m\n";
+ my $key = "default_libdir_$packagename";
+ if (exists $config{$key})
+ {
+ $ret = $config{$key};
+ }
+ else
+ {
+ $libname =~ s/^\///;
+ promptstring("path to the directory containing $libname", $key, "/usr/lib");
+ $ret = $config{$key};
+ }
}
else
{
do
{
$tmpfile = tmpnam();
- } until sysopen(TF, $tmpfile, O_RDWR|O_CREAT|O_EXCL, 0700);
+ } until sysopen(TF, $tmpfile, O_RDWR|O_CREAT|O_EXCL|O_NOFOLLOW, 0700);
print "(Created and executed \033[1;32m$tmpfile\033[0m)\n";
print TF $1;
close TF;