X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=make%2Futilities.pm;h=f2d645f3312cdd37bce35f601108fbb52474dddc;hb=0ca92e252e5a22f3378f1a6d621fee878fcbf09d;hp=baba584ad240754030525f0d60fcaae7ec975302;hpb=aec9540601a8ca8632d0a4e0c4cec1484cfef99a;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/make/utilities.pm b/make/utilities.pm index baba584ad..f2d645f33 100644 --- a/make/utilities.pm +++ b/make/utilities.pm @@ -20,28 +20,25 @@ # -package make::utilities; +BEGIN { + require 5.8.0; +} -require 5.8.0; +package make::utilities; use strict; use warnings FATAL => qw(all); use Exporter 'import'; -use POSIX; +use Fcntl; +use File::Path; use File::Temp; use Getopt::Long; -use Fcntl; -our @EXPORT = qw(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. +use POSIX; -# \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 promptstring($$$$$) { @@ -94,34 +91,10 @@ sub make_rpath($;$) return $output; } -sub extend_pkg_path() -{ - return if defined $ENV{DISABLE_EXTEND_PKG_PATH}; - if (!exists $ENV{PKG_CONFIG_PATH}) - { - $ENV{PKG_CONFIG_PATH} = "/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/libdata/pkgconfig:/usr/X11R6/libdata/pkgconfig"; - } - else - { - $ENV{PKG_CONFIG_PATH} .= ":/usr/local/lib/pkgconfig:/usr/local/libdata/pkgconfig:/usr/X11R6/libdata/pkgconfig"; - } -} - sub pkgconfig_get_include_dirs($$$;$) { my ($packagename, $headername, $defaults, $module) = @_; - my $key = "default_includedir_$packagename"; - if (exists $main::config{$key}) - { - print "Locating include directory for package \e[1;32m$packagename\e[0m for module \e[1;32m$module\e[0m... "; - my $ret = $main::config{$key}; - print "\e[1;32m$ret\e[0m (cached)\n"; - return $ret; - } - - extend_pkg_path(); - print "Locating include directory for package \e[1;32m$packagename\e[0m for module \e[1;32m$module\e[0m... "; my $v = `pkg-config --modversion $packagename 2>/dev/null`; @@ -194,8 +167,6 @@ sub pkgconfig_check_version($$;$) { my ($packagename, $version, $module) = @_; - extend_pkg_path(); - print "Checking version of package \e[1;32m$packagename\e[0m is >= \e[1;32m$version\e[0m... "; my $v = `pkg-config --modversion $packagename 2>/dev/null`; @@ -227,17 +198,6 @@ sub pkgconfig_get_lib_dirs($$$;$) { my ($packagename, $libname, $defaults, $module) = @_; - my $key = "default_libdir_$packagename"; - if (exists $main::config{$key}) - { - print "Locating library directory for package \e[1;32m$packagename\e[0m for module \e[1;32m$module\e[0m... "; - my $ret = $main::config{$key}; - print "\e[1;32m$ret\e[0m (cached)\n"; - return $ret; - } - - extend_pkg_path(); - print "Locating library directory for package \e[1;32m$packagename\e[0m for module \e[1;32m$module\e[0m... "; my $v = `pkg-config --modversion $packagename 2>/dev/null`; @@ -310,25 +270,6 @@ sub translate_functions($$) $module =~ /modules*\/(.+?)$/; $module = $1; - # This is only a cursory check, just designed to catch casual accidental use of backticks. - # There are pleanty of ways around it, but its not supposed to be for security, just checking - # that people are using the new configuration api as theyre supposed to and not just using - # backticks instead of eval(), being as eval has accountability. People wanting to get around - # the accountability will do so anyway. - if (($line =~ /`/) && ($line !~ /eval\(.+?`.+?\)/)) - { - die "Developers should no longer use backticks in configuration macros. Please use exec() and eval() macros instead. Offending line: $line (In module: $module)"; - } - - if ($line =~ /if(gt|lt)\("(.+?)","(.+?)"\)/) { - chomp(my $result = `$2 2>/dev/null`); - if (($1 eq 'gt' && $result le $3) || ($1 eq 'lt' && $result ge $3)) { - $line = substr $line, 0, $-[0]; - } else { - $line =~ s/if$1\("$2","$3"\)//; - } - } - if ($line =~ /ifuname\(\!"(\w+)"\)/) { my $uname = $1;