diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-01-20 21:41:29 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-01-20 21:41:29 +0000 |
commit | 5784c4396975b75809613b9cddb93dafc22a5517 (patch) | |
tree | e82d855a01f3f3e62349315141450debd2f0e126 /make | |
parent | bcdacaac9b1c345acb0b93039c34d3ab29a278a4 (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
Diffstat (limited to 'make')
-rw-r--r-- | make/configure.pm | 15 | ||||
-rw-r--r-- | make/utilities.pm | 25 |
2 files changed, 37 insertions, 3 deletions
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 { |