mirror of
https://github.com/openssl/openssl.git
synced 2025-04-06 20:20:50 +08:00
Configure: add mechanism to specify uplink target architecture
As preparation for moving uplink file specs to build.info files, we must make sure there is still some base information to help select the correct files. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
This commit is contained in:
parent
0ee7b9fe7f
commit
b19fe714e9
@ -1280,6 +1280,7 @@ my %targets = (
|
||||
sys_id => "WIN64I",
|
||||
bn_asm_src => sub { return undef unless @_;
|
||||
my $r=join(" ",@_); $r=~s|bn-ia64.s|bn_asm.c|; $r; },
|
||||
uplink_arch => 'ia64',
|
||||
perlasm_scheme => "ias",
|
||||
multilib => "-ia64",
|
||||
},
|
||||
@ -1293,6 +1294,7 @@ my %targets = (
|
||||
sys_id => "WIN64A",
|
||||
bn_asm_src => sub { return undef unless @_;
|
||||
my $r=join(" ",@_); $r=~s|asm/x86_64-gcc|bn_asm|; $r; },
|
||||
uplink_arch => 'x86_64',
|
||||
perlasm_scheme => "auto",
|
||||
multilib => "-x64",
|
||||
},
|
||||
@ -1306,6 +1308,7 @@ my %targets = (
|
||||
asflags => sub { vc_win32_info()->{asflags} },
|
||||
sys_id => "WIN32",
|
||||
bn_ops => add("BN_LLONG"),
|
||||
uplink_arch => 'x86',
|
||||
perlasm_scheme => sub { vc_win32_info()->{perlasm_scheme} },
|
||||
# "WOW" stands for "Windows on Windows", and "VC-WOW" engages
|
||||
# some installation path heuristics in windows-makefile.tmpl...
|
||||
@ -1387,15 +1390,16 @@ my %targets = (
|
||||
cflags => "-m32",
|
||||
sys_id => "MINGW32",
|
||||
bn_ops => add("BN_LLONG"),
|
||||
uplink_arch => 'x86',
|
||||
perlasm_scheme => "coff",
|
||||
shared_rcflag => "--target=pe-i386",
|
||||
multilib => "",
|
||||
},
|
||||
"mingw64" => {
|
||||
# As for OPENSSL_USE_APPLINK. Applink makes it possible to use
|
||||
# As for uplink_arch. Applink makes it possible to use
|
||||
# .dll compiled with one compiler with application compiled with
|
||||
# another compiler. It's possible to engage Applink support in
|
||||
# mingw64 build, but it's not done, because till mingw64
|
||||
# mingw64 build, but it's not done, because until mingw64
|
||||
# supports structured exception handling, one can't seriously
|
||||
# consider its binaries for using with non-mingw64 run-time
|
||||
# environment. And as mingw64 is always consistent with itself,
|
||||
@ -1404,6 +1408,7 @@ my %targets = (
|
||||
cflags => "-m64",
|
||||
sys_id => "MINGW64",
|
||||
bn_ops => add("SIXTY_FOUR_BIT"),
|
||||
uplink_arch => undef,
|
||||
perlasm_scheme => "mingw64",
|
||||
shared_rcflag => "--target=pe-x86-64",
|
||||
multilib => "64",
|
||||
|
@ -18,6 +18,7 @@ my %targets = (
|
||||
sys_id => "WIN64A",
|
||||
bn_asm_src => sub { return undef unless @_;
|
||||
my $r=join(" ",@_); $r=~s|asm/x86_64-gcc|bn_asm|; $r; },
|
||||
uplink_arch => 'x86_64',
|
||||
perlasm_scheme => "masm",
|
||||
},
|
||||
);
|
||||
|
@ -165,6 +165,11 @@ In each table entry, the following keys are significant:
|
||||
that use dlopen() et al but do not have
|
||||
fcntl.h), "DL" (shl_load() et al), "WIN32"
|
||||
and "VMS".
|
||||
uplink_arch => The architecture to be used for compiling uplink
|
||||
source. This acts as a selector in build.info files.
|
||||
This is separate from asm_arch because it's compiled
|
||||
even when 'no-asm' is given, even though it contains
|
||||
assembler source.
|
||||
perlasm_scheme => The perlasm method used to create the
|
||||
assembler files used when compiling with
|
||||
assembler implementations.
|
||||
|
@ -1135,6 +1135,10 @@ foreach my $feature (@{$target{enable}}) {
|
||||
delete $disabled{$feature};
|
||||
}
|
||||
}
|
||||
|
||||
# If uplink_arch isn't defined, disable uplink
|
||||
$disabled{uplink} = 'no uplink_arch' unless (defined $target{uplink_arch});
|
||||
|
||||
disable(); # Run a cascade now
|
||||
|
||||
$target{CXXFLAGS}//=$target{CFLAGS} if $target{CXX};
|
||||
|
Loading…
x
Reference in New Issue
Block a user