X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=make%2Futilities.pm;h=dc286da5ed5e2029c0bdf56a41955870c954013a;hb=3e0ac4917242a6d62452e7c70aea25dc7bc1e39d;hp=9d791870a9b27c796963aa9f06409d367f837fa7;hpb=f71e6bf9cb41811f18864f5d4eecb26e29d03f25;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/make/utilities.pm b/make/utilities.pm index 9d791870a..dc286da5e 100644 --- a/make/utilities.pm +++ b/make/utilities.pm @@ -32,76 +32,12 @@ use warnings FATAL => qw(all); use Exporter 'import'; use Fcntl; use File::Path; -use File::Spec::Functions qw(rel2abs); use Getopt::Long; use POSIX; -our @EXPORT = qw(module_installed prompt_bool prompt_dir prompt_string get_cpu_count make_rpath pkgconfig_get_include_dirs pkgconfig_get_lib_dirs pkgconfig_check_version translate_functions promptstring); - -# Parse the output of a *_config program, -# such as pcre_config, take out the -L -# directive and return an rpath for it. - -# \e[1;32msrc/Makefile\e[0m +our @EXPORT = qw(make_rpath pkgconfig_get_include_dirs pkgconfig_get_lib_dirs pkgconfig_check_version translate_functions promptstring); my %already_added = (); -my $if_skip_lines = 0; - -sub module_installed($) -{ - my $module = shift; - eval("use $module;"); - return !$@; -} - -sub prompt_bool($$$) { - my ($interactive, $question, $default) = @_; - my $answer = prompt_string($interactive, $question, $default ? 'y' : 'n'); - return $answer =~ /y/i; -} - -sub prompt_dir($$$) { - my ($interactive, $question, $default) = @_; - my ($answer, $create) = (undef, 'y'); - do { - $answer = rel2abs(prompt_string($interactive, $question, $default)); - $create = prompt_bool($interactive && !-d $answer, "$answer does not exist. Create it?", 'y'); - my $mkpath = eval { - mkpath($answer, 0, 0750); - return 1; - }; - unless (defined $mkpath) { - print "Error: unable to create $answer!\n\n"; - $create = 0; - } - } while (!$create); - return $answer; -} - -sub prompt_string($$$) { - my ($interactive, $question, $default) = @_; - return $default unless $interactive; - print $question, "\n"; - print "[\e[1;32m$default\e[0m] => "; - chomp(my $answer = ); - print "\n"; - return $answer ? $answer : $default; -} - -sub get_cpu_count { - my $count = 1; - if ($^O =~ /bsd/) { - $count = `sysctl -n hw.ncpu`; - } elsif ($^O eq 'darwin') { - $count = `sysctl -n hw.activecpu`; - } elsif ($^O eq 'linux') { - $count = `getconf _NPROCESSORS_ONLN`; - } elsif ($^O eq 'solaris') { - $count = `psrinfo -p`; - } - chomp($count); - return $count; -} sub promptstring($$$$$) { @@ -137,6 +73,7 @@ sub promptstring($$$$$) sub make_rpath($;$) { my ($executable, $module) = @_; + return "" if defined $ENV{DISABLE_RPATH}; chomp(my $data = `$executable`); my $output = ""; while ($data =~ /-L(\S+)/) @@ -144,10 +81,10 @@ sub make_rpath($;$) my $libpath = $1; if (!exists $already_added{$libpath}) { - print "Adding extra library path to \e[1;32m$module\e[0m ... \e[1;32m$libpath\e[0m\n"; + print "Adding runtime library path to \e[1;32m$module\e[0m ... \e[1;32m$libpath\e[0m\n"; $already_added{$libpath} = 1; } - $output .= "-Wl,-rpath -Wl,$libpath -L$libpath " unless defined $main::opt_disablerpath; + $output .= "-Wl,-rpath -Wl,$libpath -L$libpath "; $data =~ s/-L(\S+)//; } return $output; @@ -433,6 +370,7 @@ sub translate_functions($$) close TF; my $replace = `perl $tmpfile`; chomp($replace); + unlink($tmpfile); $line =~ s/eval\("(.+?)"\)/$replace/; } while ($line =~ /pkgconflibs\("(.+?)","(.+?)","(.+?)"\)/) @@ -478,7 +416,7 @@ sub translate_functions($$) print "\nMake sure you have pkg-config installed\n"; print "\nIn the case of gnutls configuration errors on debian,\n"; print "Ubuntu, etc, you should ensure that you have installed\n"; - print "gnutls-bin as well as gnutls-dev and gnutls.\n"; + print "gnutls-bin as well as libgnutls-dev and libgnutls.\n"; exit; } else