summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-01-20 21:41:29 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-01-20 21:41:29 +0000
commit5784c4396975b75809613b9cddb93dafc22a5517 (patch)
treee82d855a01f3f3e62349315141450debd2f0e126
parentbcdacaac9b1c345acb0b93039c34d3ab29a278a4 (diff)
Fixes to make ./configure prompt for libs if all else fails (discussed earlier with w00t).
The values prompted for are cached, so if you specify them then ./configure -update wont prompt again for them git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6408 e03df62e-2008-0410-955e-edbf42e46eb7
-rwxr-xr-xconfigure4
-rw-r--r--make/configure.pm15
-rw-r--r--make/utilities.pm25
3 files changed, 40 insertions, 4 deletions
diff --git a/configure b/configure
index 435860405..fdfcb5e7a 100755
--- a/configure
+++ b/configure
@@ -309,6 +309,7 @@ sub update
$has_epoll = $config{HAS_EPOLL};
$has_kqueue = $config{HAS_KQUEUE};
writefiles(1);
+ makecache();
print "Complete.\n";
exit;
}
@@ -331,6 +332,7 @@ sub modupdate
$has_epoll = $config{HAS_EPOLL};
$has_kqueue = $config{HAS_KQUEUE};
writefiles(0);
+ makecache();
print "Complete.\n";
exit;
}
@@ -710,8 +712,8 @@ if (($config{USE_GNUTLS} eq "n") && ($config{USE_OPENSSL} eq "n")) {
}
getosflags();
-makecache();
writefiles(1);
+makecache();
print "\n\n";
print "To build your server with these settings, please type '\033[1;32m$config{MAKEPROG}\033[0m' now.\n";
diff --git a/make/configure.pm b/make/configure.pm
index 7965436c2..7b0a35454 100644
--- a/make/configure.pm
+++ b/make/configure.pm
@@ -2,7 +2,7 @@ package make::configure;
use Exporter 'import';
use POSIX;
use make::utilities;
-@EXPORT = qw(promptnumeric dumphash is_dir getmodules getrevision getcompilerflags getlinkerflags getdependencies resolve_directory yesno showhelp);
+@EXPORT = qw(promptnumeric promptstring dumphash is_dir getmodules getrevision getcompilerflags getlinkerflags getdependencies resolve_directory yesno showhelp);
my $no_svn = 0;
@@ -139,6 +139,19 @@ sub promptnumeric($$)
}
}
+sub promptstring($$$)
+{
+ my ($prompt, $configitem, $default) = @_;
+ print "\nPlease enter the $prompt?\n";
+ print "[\033[1;32m$default\033[0m] -> ";
+ chomp($var = <STDIN>);
+ if ($var eq "")
+ {
+ $var = $default;
+ }
+ $main::config{$configitem} = $var;
+}
+
sub dumphash()
{
print "\n\033[1;32mPre-build configuration is complete!\033[0m\n\n";
diff --git a/make/utilities.pm b/make/utilities.pm
index 34d7b8c86..1285a7193 100644
--- a/make/utilities.pm
+++ b/make/utilities.pm
@@ -1,5 +1,6 @@
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);
@@ -71,7 +72,17 @@ sub pkgconfig_get_include_dirs($$$;$)
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
{
@@ -110,7 +121,17 @@ sub pkgconfig_get_lib_dirs($$$;$)
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
{