]> ruderich.org/simon Gitweb - blhc/blhc.git/blobdiff - bin/blhc
Detect more CXX non-verbose builds.
[blhc/blhc.git] / bin / blhc
index 527a09866e59214cdb620e007c8f74796e94084b..bcae721394c72702bf21630df02e75c71211be77 100755 (executable)
--- a/bin/blhc
+++ b/bin/blhc
@@ -30,7 +30,9 @@ our $VERSION = '0.01';
 # CONSTANTS/VARIABLES
 
 # Regex to catch compiler commands.
-my $cc_regex = qr/(?:x86_64-linux-gnu-)?(?:(?<!\.)cc|gcc|g\+\+|c\+\+)(?:-[\d.]+)?/;
+my $cc_regex = qr/(?:[a-z0-9_]+-(?:linux|kfreebsd)-gnu(?:eabi|eabihf)?-)?
+                  (?:(?<!\.)cc|gcc|g\+\+|c\+\+)
+                  (?:-[\d.]+)?/x;
 # Regex to catch (GCC) compiler warnings.
 my $warning_regex = qr/^(.+?):([0-9]+):[0-9]+: warning: (.+?) \[(.+?)\]$/;
 
@@ -166,7 +168,7 @@ sub is_non_verbose_build {
     my ($line, $next_line, $skip_ref) = @_;
 
     if (not ($line =~ /^checking if you want to see long compiling messages\.\.\. no/
-                or $line =~ /^\s*\[?(?:CC|CCLD|LD)\]?\s+(.+?)$/
+                or $line =~ /^\s*\[?(?:CC|CCLD|CXX|CXXLD|LD)\]?\s+(.+?)$/
                 or $line =~ /^\s*(?:C|c)ompiling\s+(.+?)(?:\.\.\.)?$/
                 or $line =~ /^\s*(?:B|b)uilding (?:program|shared library)\s+(.+?)$/
                 or $line =~ /^\s*\[[\d ]+%\] Building (?:C|CXX) object (.+?)$/)) {
@@ -343,6 +345,10 @@ while (my $line = <>) {
                     or $line =~ /^\s*(?:- )?(?:CC|CXX)\s*=\s*$cc_regex\s*$/
                     or $line =~ /^\s*-- Check for working (?:C|CXX) compiler: /
                     or $line =~ /^\s*(?:echo )?Using [A-Z_]+\s*=\s*/;
+            # Debian buildd output.
+            next if $line =~ /^\s*Depends: .*?$cc_regex.*?$/
+                    and $line !~ /\s-./; # option, prevent false negatives
+
 
             push @input, $line;
         }