X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=make%2Futilities.pm;h=baba584ad240754030525f0d60fcaae7ec975302;hb=571714e28b26cc59cbc8d27098a5ba981240ee2d;hp=42dd6b547553b7a3775a51bb5ccf9f813e7b048f;hpb=4288b2a59959c1693bdbc7cbef849942b721c508;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/make/utilities.pm b/make/utilities.pm index 42dd6b547..baba584ad 100644 --- a/make/utilities.pm +++ b/make/utilities.pm @@ -29,6 +29,7 @@ use warnings FATAL => qw(all); use Exporter 'import'; use POSIX; +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); @@ -319,6 +320,15 @@ sub translate_functions($$) 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; @@ -395,7 +405,7 @@ sub translate_functions($$) my $tmpfile; do { - $tmpfile = tmpnam(); + $tmpfile = File::Temp::tmpnam(); } until sysopen(TF, $tmpfile, O_RDWR|O_CREAT|O_EXCL|O_NOFOLLOW, 0700); print "(Created and executed \e[1;32m$tmpfile\e[0m)\n"; print TF $1;