'Getopt::Long' => 0,
'Pod::Usage' => 0,
'Term::ANSIColor' => 0,
+ 'Text::ParseWords' => 0,
},
);
$build->create_build_script;
use Getopt::Long ();
use Term::ANSIColor ();
+use Text::ParseWords ();
our $VERSION = '0.01';
my $non_verbose = is_non_verbose_build($line);
# One line may contain multiple commands (";"). Treat each one as single
- # line.
- my @line = split /(?<!\\);/, $line;
+ # line. parse_line() is slow, only use it when necessary.
+ my @line = (not $line =~ /;/)
+ ? ($line)
+ : Text::ParseWords::parse_line(';', 1, $line);
foreach $line (@line) {
# Add newline, drop all other whitespace at the end of a line.
$line =~ s/\s+$//;
echo bad; \
fi; \
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=1 -c test-b.c
+
+gcc -c test.c `echo -g -O2 -fstack-protector --param=ssp-buffer-size=4 echo -Wformat -Wformat-security -Werror=format-security | sed 's/.../; s/.../'` -o test.o
+gcc -c test.c `echo -g -O2 -fstack-protector --param=ssp-buffer-size=4 echo -Wformat -Wformat-security -Werror=format-security | sed "s/.../; s/.../"` -o test.o
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -c test-b.c
# Escaped ";" - not really useful, just to check it works.
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security \; -Werror=format-security -D_FORTIFY_SOURCE=2 -c test-a.c
+
+gcc -c test.c `echo -g -O2 -fstack-protector --param=ssp-buffer-size=4 echo -Wformat -Wformat-security -Werror=format-security | sed 's/.../; s/.../'` -D_FORTIFY_SOURCE=2 -o test.o
+gcc -c test.c `echo -g -O2 -fstack-protector --param=ssp-buffer-size=4 echo -Wformat -Wformat-security -Werror=format-security | sed "s/.../; s/.../"` -D_FORTIFY_SOURCE=2 -o test.o
CFLAGS missing (-g -O2 --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security): \ gcc -D_FORTIFY_SOURCE=2 -fstack-protector -c test-b.c
CPPFLAGS missing (-D_FORTIFY_SOURCE=2): gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security \; -Werror=format-security -D_FORTIFY_SOURCE=1 -c test-a.c
CPPFLAGS missing (-D_FORTIFY_SOURCE=2): \ gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=1 -c test-b.c
+CPPFLAGS missing (-D_FORTIFY_SOURCE=2): gcc -c test.c `echo -g -O2 -fstack-protector --param=ssp-buffer-size=4 echo -Wformat -Wformat-security -Werror=format-security | sed \'s/.../; s/.../\'` -o test.o
+CPPFLAGS missing (-D_FORTIFY_SOURCE=2): gcc -c test.c `echo -g -O2 -fstack-protector --param=ssp-buffer-size=4 echo -Wformat -Wformat-security -Werror=format-security | sed "s/.../; s/.../"` -o test.o
';
is_blhc 'bad-library', '--all', 8,