{ $cflags="-O"; }
}
$obj='.o';
+$asm_suffix='.s';
$ofile='-o ';
# EXE linking stuff
'rc4-x86_64' => 'crypto/rc4',
'rc4-md5-x86_64' => 'crypto/rc4',
'ghash-x86_64' => 'crypto/modes',
+ 'aesni-gcm-x86_64' => 'crypto/modes',
);
# If I were feeling more clever, these could probably be extracted
sub copy_scripts
{
- my ($src, @targets) = @_;
+ my ($sed, $src, @targets) = @_;
my $s = '';
foreach my $t (@targets)
{
# Copy first so we get file modes...
- $s .= "\$(TEST_D)/$t: \$(SRC_D)/$src/$t\n\tcp \$(SRC_D)/$src/$t \$(TEST_D)/$t\n\tsed -e 's/\\.\\.\\/apps/..\\/\$(OUT_D)/' -e 's/\\.\\.\\/util/..\\/\$(TEST_D)/' < \$(SRC_D)/$src/$t > \$(TEST_D)/$t\n\n";
+ $s .= "\$(TEST_D)/$t: \$(SRC_D)/$src/$t\n\tcp \$(SRC_D)/$src/$t \$(TEST_D)/$t\n";
+ $s .= "\tsed -e 's/\\.\\.\\/apps/..\\/\$(OUT_D)/' -e 's/\\.\\.\\/util/..\\/\$(TEST_D)/' < \$(SRC_D)/$src/$t > \$(TEST_D)/$t\n" if $sed;
+ $s .= "\n";
}
return $s;
}
-
sub get_tests
{
my ($makefile) = @_;
my %targets;
my %deps;
my %tests;
+ my %alltests;
while (my $line = <M>)
{
chomp $line;
foreach my $t (@t)
{
$targets{$t} = '';
+ $alltests{$t} = undef;
}
}
- if (($line =~ /^(\S+):(.*)$/ && exists $targets{$1})
- || $line =~ /^(test_ss .*):(.*)/)
+ if (($line =~ /^(?<t>\S+):(?<d>.*)$/ && exists $targets{$1})
+ || $line =~ /^(?<t>test_(ss|gen) .*):(?<d>.*)/)
{
- my $t = $1;
- $deps{$t} = $2;
+ my $t = $+{t};
+ $deps{$t} = $+{d};
$deps{$t} =~ s/#.*$//;
for (;;)
{
}
}
- delete $targets{test_jpake} if $no_jpake;
+ delete $alltests{test_jpake} if $no_jpake;
delete $targets{test_ige} if $no_ige;
- delete $targets{test_md2} if $no_md2;
- delete $targets{test_rc5} if $no_rc5;
+ delete $alltests{test_md2} if $no_md2;
+ delete $alltests{test_rc5} if $no_rc5;
my $tests;
foreach my $t (keys %tests)
$tests .= "$t = $tests{$t}\n";
}
- my $all = 'test:';
my $each;
foreach my $t (keys %targets)
{
next if $t eq '';
- if ($t =~ /^test_ss/)
- {
- $t =~ s/\s+/ \$(TEST_D)\//g;
- $all .= ' test_ss';
- }
- else
- {
- $all .= " $t";
- }
-
my $d = $deps{$t};
$d =~ s/\.\.\/apps/\$(BIN_D)/g;
$d =~ s/\.\.\/util/\$(TEST_D)/g;
$r =~ s/\.\.\/(\S+)/\$(SRC_D)\/$1/g;
$r = fixrules($r);
- $each .= "$t: test_scripts $d\n$r\n";
+ next if $r eq '';
+
+ $t =~ s/\s+/ \$(TEST_D)\//g;
+
+ $each .= "$t: test_scripts $d\n\t\@echo '$t test started'\n$r\t\@echo '$t test done'\n\n";
}
# FIXME: Might be a clever way to figure out what needs copying
my @copies = ( 'bctest',
- 'evptests.txt',
'testgen',
'cms-test.pl',
'tx509',
'v3-cert1.pem',
'v3-cert2.pem',
'testreq2.pem',
+ 'testp7.pem',
+ 'pkcs7-1.pem',
+ 'trsa',
+ 'testrsa.pem',
+ 'testsid.pem',
+ 'testss',
);
- my $copies = copy_scripts('test', @copies);
+ my $copies = copy_scripts(1, 'test', @copies);
+ $copies .= copy_scripts(0, 'test', ('smcont.txt'));
my @utils = ( 'shlib_wrap.sh',
'opensslwrap.sh',
);
- $copies .= copy_scripts('util', @utils);
+ $copies .= copy_scripts(1, 'util', @utils);
my @apps = ( 'CA.sh',
'openssl.cnf',
);
- $copies .= copy_scripts('apps', @apps);
+ $copies .= copy_scripts(1, 'apps', @apps);
- $scripts = "test_scripts: \$(TEST_D)/CA.sh \$(TEST_D)/opensslwrap.sh \$(TEST_D)/openssl.cnf ocsp\n";
+ $copies .= copy_scripts(1, 'crypto/evp', ('evptests.txt'));
+
+ $scripts = "test_scripts: \$(TEST_D)/CA.sh \$(TEST_D)/opensslwrap.sh \$(TEST_D)/openssl.cnf \$(TEST_D)/shlib_wrap.sh ocsp smime\n";
$scripts .= "\nocsp:\n\tcp -R test/ocsp-tests \$(TEST_D)\n";
+ $scripts .= "\smime:\n\tcp -R test/smime-certs \$(TEST_D)\n";
+
+ my $all = 'test: ' . join(' ', keys %alltests);
return "$scripts\n$copies\n$tests\n$all\n\n$each";
}