]> ruderich.org/simon Gitweb - blhc/blhc.git/commitdiff
bin/blhc: Improve regex for libtool --mode=link (and relink).
authorSimon Ruderich <simon@ruderich.org>
Sun, 11 Mar 2012 17:39:09 +0000 (18:39 +0100)
committerSimon Ruderich <simon@ruderich.org>
Sun, 11 Mar 2012 17:49:38 +0000 (18:49 +0100)
Also add tests.

bin/blhc
t/logs/libtool
t/tests.t

index 73548dc2a36ffc53a9adf3f69967f428f0285601..30bc35ae13278aad807e55ca360f1862e226fa34 100755 (executable)
--- a/bin/blhc
+++ b/bin/blhc
@@ -272,7 +272,7 @@ foreach my $line (@input) {
     # Linker commands.
     if ($line =~ /\s-l[A-Za-z0-9.-]+(\s|\\|$)/
             or $line =~ /^libtool: link: /
-            or $line =~ m{\s*/bin/bash (\.\./)+libtool\s+--tag=CC\s+--mode=link}) {
+            or $line =~ m{\s*/bin/bash .+?libtool\s+.+?\s+--mode=(re)?link}) {
         $compiler = 0;
         $linker   = 1;
     }
index a948e7441379062830693c6372b46ba20c59a72b..d85ca4981790f5384f600b1c7adeb2f073b09ab3 100644 (file)
@@ -7,11 +7,15 @@ libtool: link: gcc -Wl,-z -Wl,relro -o test test.o
 /bin/bash ../libtool --tag=CC --mode=link gcc -Wl,-z,relro -o test.so test.o
 /bin/bash ../libtool --tag=CC   --mode=link gcc -Wl,-z,relro -o test.so test.o
   /bin/bash ../libtool --tag=CC   --mode=link gcc -Wl,-z,relro -o test.so test.o
+/bin/bash ../../libtool  --tag=CC --preserve-dup-deps  --mode=link gcc -Wl,-z,relro -o test.so test.o
+ /bin/bash /tmp/test/build/libtool  --silent --tag CC --mode=relink gcc -Wl,-z,relro -o test.so test.o
+ /bin/bash /tmp/test/build/libtool  --tag CXX --mode=relink g++ -Wl,-z,relro -o test.la test.o
 
 # Just to be sure, libtool won't do this. Note the test.c.
 /bin/bash ../libtool --tag=CC   --mode=link gcc -Wl,-z,relro -o test.so test.c
 
 libtool: install: /usr/bin/install -c ...
+/bin/bash ./libtool --mode=install /usr/bin/install -c ...
 /bin/bash ../../libtool --mode=install /usr/bin/install -c ...
   /bin/bash ../../libtool   --mode=install /usr/bin/install -c  ...
     /bin/bash ../../../libtool   --mode=install /usr/bin/install -c  ...
index ad33134576720c46c96f3cd0d0d7ea3b0d08c441..6904a7deb8177e1063b0042f0e47ea25c0fc5ab9 100644 (file)
--- a/t/tests.t
+++ b/t/tests.t
@@ -311,6 +311,9 @@ LDFLAGS missing (-fPIE -pie -Wl,-z,now): libtool: link: gcc -Wl,-z -Wl,relro -o
 LDFLAGS missing (-fPIE -pie -Wl,-z,now): /bin/bash ../libtool --tag=CC --mode=link gcc -Wl,-z,relro -o test.so test.o
 LDFLAGS missing (-fPIE -pie -Wl,-z,now): /bin/bash ../libtool --tag=CC   --mode=link gcc -Wl,-z,relro -o test.so test.o
 LDFLAGS missing (-fPIE -pie -Wl,-z,now):   /bin/bash ../libtool --tag=CC   --mode=link gcc -Wl,-z,relro -o test.so test.o
+LDFLAGS missing (-fPIE -pie -Wl,-z,now): /bin/bash ../../libtool  --tag=CC --preserve-dup-deps  --mode=link gcc -Wl,-z,relro -o test.so test.o
+LDFLAGS missing (-fPIE -pie -Wl,-z,now):  /bin/bash /tmp/test/build/libtool  --silent --tag CC --mode=relink gcc -Wl,-z,relro -o test.so test.o
+LDFLAGS missing (-fPIE -pie -Wl,-z,now):  /bin/bash /tmp/test/build/libtool  --tag CXX --mode=relink g++ -Wl,-z,relro -o test.la test.o
 CFLAGS missing (-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIE): /bin/bash ../libtool --tag=CC   --mode=link gcc -Wl,-z,relro -o test.so test.c
 CPPFLAGS missing (-D_FORTIFY_SOURCE=2): /bin/bash ../libtool --tag=CC   --mode=link gcc -Wl,-z,relro -o test.so test.c
 LDFLAGS missing (-fPIE -pie -Wl,-z,now): /bin/bash ../libtool --tag=CC   --mode=link gcc -Wl,-z,relro -o test.so test.c