]> ruderich.org/simon Gitweb - blhc/blhc.git/blobdiff - bin/blhc
Correctly handle files with "c++" in their name.
[blhc/blhc.git] / bin / blhc
index 30bc35ae13278aad807e55ca360f1862e226fa34..383fcc15f06b0d0a3ea750d6104e4d9357fbd023 100755 (executable)
--- a/bin/blhc
+++ b/bin/blhc
@@ -224,7 +224,7 @@ while (my $line = <>) {
 
         } else {
             # Ignore lines with no compiler commands.
-            next if $line !~ /\b(cc\b|gcc\b|g\+\+|c\+\+)/;
+            next if $line !~ /\b(cc|gcc|g\+\+|c\+\+)(\s|\\)/;
 
             # Ignore false positives.
             #
@@ -271,8 +271,9 @@ foreach my $line (@input) {
 
     # Linker commands.
     if ($line =~ /\s-l[A-Za-z0-9.-]+(\s|\\|$)/
+            or $line =~ m{\s-o ([A-Za-z0-9_/.-]+/)?[A-Za-z0-9_-]+(\.so([0-9.])*|\.la)?(\s|\\|\$)}
             or $line =~ /^libtool: link: /
-            or $line =~ m{\s*/bin/bash .+?libtool\s+.+?\s+--mode=(re)?link}) {
+            or $line =~ m{\s*/bin/bash .+?libtool\s+(.+?\s+)?--mode=(re)?link}) {
         $compiler = 0;
         $linker   = 1;
     }