Latest update
This commit is contained in:
@@ -241,6 +241,8 @@ my %targets=(
|
||||
aes_asm_src => "aes_core.c aes_cbc.c aes-ia64.s",
|
||||
sha1_asm_src => "sha1-ia64.s sha256-ia64.s sha512-ia64.s",
|
||||
modes_asm_src => "ghash-ia64.s",
|
||||
chacha_asm_src => "chacha-ia64.S",
|
||||
poly1305_asm_src=> "asm/poly1305-ia64.S",
|
||||
perlasm_scheme => "void"
|
||||
},
|
||||
sparcv9_asm => {
|
||||
|
||||
@@ -846,9 +846,15 @@ EOF
|
||||
}
|
||||
|
||||
sub src2obj {
|
||||
my $asmext = platform->asmext();
|
||||
my %args = @_;
|
||||
my @srcs = map { (my $x = $_) =~ s/\.s$/.asm/; $x } ( @{$args{srcs}} );
|
||||
my @srcs =
|
||||
map { my $x = $_;
|
||||
(platform->isasm($x) && grep { $x eq $_ } @generated)
|
||||
? platform->asm($x) : $x }
|
||||
( @{$args{srcs}} );
|
||||
my $obj = platform->obj($args{obj});
|
||||
my $dep = platform->dep($args{obj});
|
||||
my $deps = join(", -\n\t\t", @srcs, @{$args{deps}});
|
||||
|
||||
# Because VMS C isn't very good at combining a /INCLUDE path with
|
||||
@@ -860,26 +866,14 @@ EOF
|
||||
my $forward = dirname($args{srcs}->[0]);
|
||||
my $backward = abs2rel(rel2abs("."), rel2abs($forward));
|
||||
my $objd = abs2rel(rel2abs(dirname($obj)), rel2abs($forward));
|
||||
my $objn = basename($obj, platform->objext());
|
||||
my $objn = basename($obj);
|
||||
my $depd = abs2rel(rel2abs(dirname($dep)), rel2abs($forward));
|
||||
my $depn = basename($dep);
|
||||
my $srcs =
|
||||
join(", ", map { abs2rel(rel2abs($_), rel2abs($forward)) } @srcs);
|
||||
my $before = $unified_info{before}->{$obj} || "\@ !";
|
||||
my $after = $unified_info{after}->{$obj} || "\@ !";
|
||||
|
||||
if ($srcs[0] =~ /\.asm$/) {
|
||||
my $asflags = { shlib => ' $(LIB_ASFLAGS)',
|
||||
lib => ' $(LIB_ASFLAGS)',
|
||||
dso => ' $(DSO_ASFLAGS)',
|
||||
bin => ' $(BIN_ASFLAGS)' } -> {$args{intent}};
|
||||
return <<"EOF";
|
||||
$obj : $deps
|
||||
${before}
|
||||
SET DEFAULT $forward
|
||||
\$(AS) $asflags \$(ASOUTFLAG)${objd}${objn}.OBJ $srcs
|
||||
SET DEFAULT $backward
|
||||
EOF
|
||||
}
|
||||
|
||||
my $cflags;
|
||||
if ($args{attrs}->{noinst}) {
|
||||
$cflags = { shlib => '$(NO_INST_LIB_CFLAGS)',
|
||||
@@ -914,37 +908,37 @@ EOF
|
||||
my $incs_on = join("\n\t\@ ", @{$incs_cmds[0]}) || '!';
|
||||
my $incs_off = join("\n\t\@ ", @{$incs_cmds[1]}) || '!';
|
||||
|
||||
if ($srcs[0] =~ /\.asm$/) {
|
||||
if ($srcs[0] =~ /\Q${asmext}\E$/) {
|
||||
return <<"EOF";
|
||||
$obj.OBJ : $deps
|
||||
$obj : $deps
|
||||
${before}
|
||||
SET DEFAULT $forward
|
||||
\$(AS) $asflags \$(ASOUTFLAG)${objd}${objn}.OBJ $srcs
|
||||
\$(AS) $asflags \$(ASOUTFLAG)${objd}${objn} $srcs
|
||||
SET DEFAULT $backward
|
||||
${after}
|
||||
- PURGE $obj.OBJ
|
||||
- PURGE $obj
|
||||
EOF
|
||||
} elsif ($srcs[0] =~ /.S$/) {
|
||||
return <<"EOF";
|
||||
$obj.OBJ : $deps
|
||||
$obj : $deps
|
||||
${before}
|
||||
SET DEFAULT $forward
|
||||
\@ $incs_on
|
||||
\@ extradefines = "$defs"
|
||||
PIPE \$(CPP) ${cflags} $srcs | -
|
||||
\$(PERL) -ne "/^#(\\s*line)?\\s*[0-9]+\\s+""/ or print" -
|
||||
> ${objd}${objn}.asm
|
||||
> ${objd}${objn}-asm
|
||||
\@ DELETE/SYMBOL/LOCAL extradefines
|
||||
\@ $incs_off
|
||||
SET DEFAULT $backward
|
||||
${after}
|
||||
\$(AS) $asflags \$(ASOUTFLAG)$obj.OBJ $obj.asm
|
||||
- PURGE $obj.OBJ
|
||||
\$(AS) $asflags \$(ASOUTFLAG)$obj $obj-asm
|
||||
- PURGE $obj
|
||||
EOF
|
||||
}
|
||||
|
||||
my $depbuild = $disabled{makedepend} ? ""
|
||||
: " /MMS=(FILE=${objd}${objn}.D,TARGET=$obj)";
|
||||
: " /MMS=(FILE=${depd}${depn},TARGET=$obj)";
|
||||
|
||||
return <<"EOF";
|
||||
$obj : $deps
|
||||
@@ -952,7 +946,7 @@ $obj : $deps
|
||||
SET DEFAULT $forward
|
||||
\@ $incs_on
|
||||
\@ extradefines = "$defs"
|
||||
\$(CC) ${cflags}${depbuild} /OBJECT=${objd}${objn}.OBJ /REPOSITORY=$backward $srcs
|
||||
\$(CC) ${cflags}${depbuild} /OBJECT=${objd}${objn} /REPOSITORY=$backward $srcs
|
||||
\@ DELETE/SYMBOL/LOCAL extradefines
|
||||
\@ $incs_off
|
||||
SET DEFAULT $backward
|
||||
|
||||
@@ -601,8 +601,13 @@ EOF
|
||||
}
|
||||
|
||||
sub src2obj {
|
||||
my $asmext = platform->asmext();
|
||||
my %args = @_;
|
||||
my @srcs = map { (my $x = $_) =~ s/\.s$/.asm/; $x } ( @{$args{srcs}} );
|
||||
my @srcs =
|
||||
map { my $x = $_;
|
||||
(platform->isasm($x) && grep { $x eq $_ } @generated)
|
||||
? platform->asm($x) : $x }
|
||||
( @{$args{srcs}} );
|
||||
my $srcs = '"'.join('" "', @srcs).'"';
|
||||
my $deps = '"'.join('" "', @srcs, @{$args{deps}}).'"';
|
||||
my $incs = join("", map { ' /I "'.$_.'"' } @{$args{incs}});
|
||||
@@ -630,7 +635,7 @@ EOF
|
||||
}
|
||||
my $obj = platform->obj($args{obj});
|
||||
my $dep = platform->dep($args{obj});
|
||||
if ($srcs[0] =~ /\.asm$/) {
|
||||
if ($srcs[0] =~ /\Q${asmext}\E$/) {
|
||||
return <<"EOF";
|
||||
$obj: $deps
|
||||
\$(AS) $asflags \$(ASOUTFLAG)\$\@ $srcs
|
||||
|
||||
Reference in New Issue
Block a user