From 5784c4396975b75809613b9cddb93dafc22a5517 Mon Sep 17 00:00:00 2001 From: brain Date: Sat, 20 Jan 2007 21:41:29 +0000 Subject: 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 --- make/configure.pm | 15 ++++++++++++++- make/utilities.pm | 25 +++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 3 deletions(-) (limited to 'make') 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 = ); + 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 { -- cgit v1.2.3