X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=bin%2Fblhc;h=10b39f388c9b1769d3e308b2903a01524b2e6ddf;hb=8ee5374c67a1ed7f48a40567e764865ad26a064e;hp=91a5f4943c29076d61bde0904dffc7aa8d38a74a;hpb=53e64de60f08fcb752b1f3ccb41c9e8555be8866;p=blhc%2Fblhc.git diff --git a/bin/blhc b/bin/blhc index 91a5f49..10b39f3 100755 --- a/bin/blhc +++ b/bin/blhc @@ -22,7 +22,6 @@ use strict; use warnings; use Getopt::Long (); -use Term::ANSIColor (); use Text::ParseWords (); our $VERSION = '0.01'; @@ -138,7 +137,7 @@ my $file_extension_regex = qr/ \s \S+ # Filename without extension. \. - ([^\\.,;:\s]+) # File extension. + ([^\/\\.,;:\s]+)# File extension. (?=\s|\\) # At end of word. Can't use \b because some files have non # word characters at the end and because \b matches double # extensions (like .cpp.o). Works always as all lines are @@ -331,7 +330,14 @@ sub is_non_verbose_build { } # False positives. + # + # C++ compiler setting. return 0 if $line =~ /^\s*C\+\+.+?:\s+(?:yes|no)\s*$/; + # "Compiling" with no file name. + if ($line =~ /^\s*(?:C|c)ompiling\s+(.+?)(?:\.\.\.)?$/) { + # $file_extension_regex may need spaces around the filename. + return 0 if not " $1 " =~ /$file_extension_regex/o; + } my $file = $1; @@ -442,6 +448,12 @@ along with this program. If not, see . exit 0; } +# Don't load Term::ANSIColor in buildd mode because Term::ANSIColor is not +# installed on Debian's buildds. +if (not $option_buildd) { + require Term::ANSIColor; +} + if ($option_all) { $option_pie = 1; $option_bindnow = 1; @@ -556,7 +568,7 @@ FILE: foreach my $file (@ARGV) { # Ignore compiler warnings for now. next if $line =~ /$warning_regex/o; - if ($line =~ /\033/) { # esc + if (not $option_buildd and $line =~ /\033/) { # esc # Remove all ANSI color sequences which are sometimes used in # non-verbose builds. $line = Term::ANSIColor::colorstrip($line);