2016-01-30 01:17:05 +00:00
|
|
|
# -*- Mode: perl -*-
|
2017-12-01 14:29:05 +00:00
|
|
|
my %targets=(
|
2016-02-27 10:25:33 +00:00
|
|
|
DEFAULTS => {
|
2015-05-18 00:54:28 +00:00
|
|
|
template => 1,
|
2016-01-30 01:17:05 +00:00
|
|
|
|
|
|
|
cflags => "",
|
2018-01-23 12:54:55 +00:00
|
|
|
cppflags => "",
|
|
|
|
lflags => "",
|
2016-01-30 01:17:05 +00:00
|
|
|
defines => [],
|
2018-02-08 22:26:22 +00:00
|
|
|
includes => [],
|
2018-03-06 20:09:05 +00:00
|
|
|
lib_cflags => "",
|
|
|
|
lib_cppflags => "",
|
|
|
|
lib_defines => [],
|
Configure - Get rid of the special thread_cflag, replace with thread_scheme
The thread_cflag setting filled a double role, as kinda sorta an
indicator of thread scheme, and as cflags. Some configs also added
lflags and ex_libs for multithreading regardless of if threading would
be enabled or not.
Instead of this, add threading cflags among in the cflag setting,
threading lflags in the lflag setting and so on if and only if threads
are enabled (which they are by default).
Also, for configs where there are no special cflags for threading (the
VMS configs are of that kind), this makes it possible to still clearly
mention what thread scheme is used.
The exact value of thread scheme is currently ignored except when it's
"(unknown)", and thereby only serves as a flag to tell if we know how
to build for multi-threading in a particular config. Yet, the
currently used values are "(unknown)", "pthreads", "uithreads" (a.k.a
solaris threads) and "winthreads".
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-02-27 15:51:34 +00:00
|
|
|
thread_scheme => "(unknown)", # Assume we don't know
|
2016-01-30 01:17:05 +00:00
|
|
|
thread_defines => [],
|
|
|
|
|
2016-02-18 17:43:56 +00:00
|
|
|
apps_aux_src => "",
|
2018-01-31 13:15:52 +00:00
|
|
|
apps_init_src => "",
|
2016-01-29 18:45:51 +00:00
|
|
|
cpuid_asm_src => "mem_clr.c",
|
2016-03-02 08:34:26 +00:00
|
|
|
uplink_aux_src => "",
|
2016-01-29 18:45:51 +00:00
|
|
|
bn_asm_src => "bn_asm.c",
|
|
|
|
ec_asm_src => "",
|
|
|
|
des_asm_src => "des_enc.c fcrypt_b.c",
|
|
|
|
aes_asm_src => "aes_core.c aes_cbc.c",
|
|
|
|
bf_asm_src => "bf_enc.c",
|
|
|
|
md5_asm_src => "",
|
|
|
|
cast_asm_src => "c_enc.c",
|
|
|
|
rc4_asm_src => "rc4_enc.c rc4_skey.c",
|
|
|
|
rmd160_asm_src => "",
|
|
|
|
rc5_asm_src => "rc5_enc.c",
|
|
|
|
wp_asm_src => "wp_block.c",
|
|
|
|
cmll_asm_src => "camellia.c cmll_misc.c cmll_cbc.c",
|
|
|
|
modes_asm_src => "",
|
|
|
|
padlock_asm_src => "",
|
|
|
|
chacha_asm_src => "chacha_enc.c",
|
|
|
|
poly1305_asm_src => "",
|
2018-04-22 08:42:59 +00:00
|
|
|
keccak1600_asm_src => "keccak1600.c",
|
2015-05-18 00:54:28 +00:00
|
|
|
|
|
|
|
unistd => "<unistd.h>",
|
2015-05-20 18:03:20 +00:00
|
|
|
shared_target => "",
|
|
|
|
shared_cflag => "",
|
2016-02-18 17:43:56 +00:00
|
|
|
shared_defines => [],
|
2015-05-20 18:03:20 +00:00
|
|
|
shared_ldflag => "",
|
2016-02-05 14:17:33 +00:00
|
|
|
shared_rcflag => "",
|
2015-05-20 18:03:20 +00:00
|
|
|
shared_extension => "",
|
2016-03-08 10:49:26 +00:00
|
|
|
|
2018-01-27 12:01:44 +00:00
|
|
|
#### Defaults for the benefit of the config targets who don't inherit
|
2018-09-20 10:23:27 +00:00
|
|
|
#### a BASE and assume Unix defaults
|
2018-01-27 12:01:44 +00:00
|
|
|
#### THESE WILL DISAPPEAR IN OpenSSL 1.2
|
|
|
|
build_scheme => [ "unified", "unix" ],
|
|
|
|
build_file => "Makefile",
|
2018-01-27 11:13:35 +00:00
|
|
|
|
Make "make variables" config attributes for overridable flags
With the support of "make variables" comes the possibility for the
user to override them. However, we need to make a difference between
defaults that we use (and that should be overridable by the user) and
flags that are crucial for building OpenSSL (should not be
overridable).
Typically, overridable flags are those setting optimization levels,
warnings levels, that kind of thing, while non-overridable flags are,
for example, macros that indicate aspects of how the config target
should be treated, such as L_ENDIAN and B_ENDIAN.
We do that differentiation by allowing upper case attributes in the
config targets, named exactly like the "make variables" we support,
and reserving the lower case attributes for non-overridable project
flags.
Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5534)
2018-03-06 19:35:30 +00:00
|
|
|
AR => "ar",
|
|
|
|
ARFLAGS => "r",
|
|
|
|
CC => "cc",
|
|
|
|
HASHBANGPERL => "/usr/bin/env perl",
|
|
|
|
RANLIB => sub { which("$config{cross_compile_prefix}ranlib")
|
2018-02-02 11:23:09 +00:00
|
|
|
? "ranlib" : "" },
|
Make "make variables" config attributes for overridable flags
With the support of "make variables" comes the possibility for the
user to override them. However, we need to make a difference between
defaults that we use (and that should be overridable by the user) and
flags that are crucial for building OpenSSL (should not be
overridable).
Typically, overridable flags are those setting optimization levels,
warnings levels, that kind of thing, while non-overridable flags are,
for example, macros that indicate aspects of how the config target
should be treated, such as L_ENDIAN and B_ENDIAN.
We do that differentiation by allowing upper case attributes in the
config targets, named exactly like the "make variables" we support,
and reserving the lower case attributes for non-overridable project
flags.
Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5534)
2018-03-06 19:35:30 +00:00
|
|
|
RC => "windres",
|
2018-01-27 12:01:44 +00:00
|
|
|
|
|
|
|
#### THESE WILL BE ENABLED IN OpenSSL 1.2
|
Make "make variables" config attributes for overridable flags
With the support of "make variables" comes the possibility for the
user to override them. However, we need to make a difference between
defaults that we use (and that should be overridable by the user) and
flags that are crucial for building OpenSSL (should not be
overridable).
Typically, overridable flags are those setting optimization levels,
warnings levels, that kind of thing, while non-overridable flags are,
for example, macros that indicate aspects of how the config target
should be treated, such as L_ENDIAN and B_ENDIAN.
We do that differentiation by allowing upper case attributes in the
config targets, named exactly like the "make variables" we support,
and reserving the lower case attributes for non-overridable project
flags.
Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5534)
2018-03-06 19:35:30 +00:00
|
|
|
#HASHBANGPERL => "PERL", # Only Unix actually cares
|
2016-02-27 10:25:33 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
BASE_common => {
|
2016-02-27 10:37:33 +00:00
|
|
|
template => 1,
|
2017-06-21 22:47:49 +00:00
|
|
|
|
|
|
|
enable => [],
|
|
|
|
disable => [],
|
|
|
|
|
2016-02-27 10:37:33 +00:00
|
|
|
defines =>
|
2016-04-12 13:28:06 +00:00
|
|
|
sub {
|
|
|
|
my @defs = ();
|
|
|
|
push @defs, "ZLIB" unless $disabled{zlib};
|
|
|
|
push @defs, "ZLIB_SHARED" unless $disabled{"zlib-dynamic"};
|
|
|
|
return [ @defs ];
|
|
|
|
},
|
2018-02-08 22:26:22 +00:00
|
|
|
includes =>
|
|
|
|
sub {
|
|
|
|
my @incs = ();
|
|
|
|
push @incs, $withargs{zlib_include}
|
|
|
|
if !$disabled{zlib} && $withargs{zlib_include};
|
|
|
|
return [ @incs ];
|
|
|
|
},
|
2016-02-27 10:25:33 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
BASE_unix => {
|
|
|
|
inherit_from => [ "BASE_common" ],
|
|
|
|
template => 1,
|
|
|
|
|
Make "make variables" config attributes for overridable flags
With the support of "make variables" comes the possibility for the
user to override them. However, we need to make a difference between
defaults that we use (and that should be overridable by the user) and
flags that are crucial for building OpenSSL (should not be
overridable).
Typically, overridable flags are those setting optimization levels,
warnings levels, that kind of thing, while non-overridable flags are,
for example, macros that indicate aspects of how the config target
should be treated, such as L_ENDIAN and B_ENDIAN.
We do that differentiation by allowing upper case attributes in the
config targets, named exactly like the "make variables" we support,
and reserving the lower case attributes for non-overridable project
flags.
Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5534)
2018-03-06 19:35:30 +00:00
|
|
|
AR => "ar",
|
|
|
|
ARFLAGS => "r",
|
|
|
|
CC => "cc",
|
2018-01-08 11:28:08 +00:00
|
|
|
lflags =>
|
|
|
|
sub { $withargs{zlib_lib} ? "-L".$withargs{zlib_lib} : () },
|
2016-02-27 10:37:33 +00:00
|
|
|
ex_libs =>
|
2018-01-08 11:28:08 +00:00
|
|
|
sub { !defined($disabled{zlib})
|
|
|
|
&& defined($disabled{"zlib-dynamic"})
|
|
|
|
? "-lz" : () },
|
Make "make variables" config attributes for overridable flags
With the support of "make variables" comes the possibility for the
user to override them. However, we need to make a difference between
defaults that we use (and that should be overridable by the user) and
flags that are crucial for building OpenSSL (should not be
overridable).
Typically, overridable flags are those setting optimization levels,
warnings levels, that kind of thing, while non-overridable flags are,
for example, macros that indicate aspects of how the config target
should be treated, such as L_ENDIAN and B_ENDIAN.
We do that differentiation by allowing upper case attributes in the
config targets, named exactly like the "make variables" we support,
and reserving the lower case attributes for non-overridable project
flags.
Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5534)
2018-03-06 19:35:30 +00:00
|
|
|
HASHBANGPERL => "/usr/bin/env perl", # Only Unix actually cares
|
|
|
|
RANLIB => sub { which("$config{cross_compile_prefix}ranlib")
|
2018-02-02 11:23:09 +00:00
|
|
|
? "ranlib" : "" },
|
Make "make variables" config attributes for overridable flags
With the support of "make variables" comes the possibility for the
user to override them. However, we need to make a difference between
defaults that we use (and that should be overridable by the user) and
flags that are crucial for building OpenSSL (should not be
overridable).
Typically, overridable flags are those setting optimization levels,
warnings levels, that kind of thing, while non-overridable flags are,
for example, macros that indicate aspects of how the config target
should be treated, such as L_ENDIAN and B_ENDIAN.
We do that differentiation by allowing upper case attributes in the
config targets, named exactly like the "make variables" we support,
and reserving the lower case attributes for non-overridable project
flags.
Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5534)
2018-03-06 19:35:30 +00:00
|
|
|
RC => "windres",
|
2016-02-27 10:37:33 +00:00
|
|
|
|
2018-11-13 17:28:41 +00:00
|
|
|
shared_extension => ".so",
|
|
|
|
|
2016-03-07 19:43:07 +00:00
|
|
|
build_scheme => [ "unified", "unix" ],
|
2016-02-27 10:25:33 +00:00
|
|
|
build_file => "Makefile",
|
|
|
|
},
|
|
|
|
|
|
|
|
BASE_Windows => {
|
|
|
|
inherit_from => [ "BASE_common" ],
|
|
|
|
template => 1,
|
|
|
|
|
2018-03-09 16:28:06 +00:00
|
|
|
lib_defines =>
|
|
|
|
sub {
|
|
|
|
my @defs = ();
|
|
|
|
unless ($disabled{"zlib-dynamic"}) {
|
|
|
|
my $zlib = $withargs{zlib_lib} // "ZLIB1";
|
2018-04-01 15:41:16 +00:00
|
|
|
push @defs, 'LIBZ=' . (quotify("perl", $zlib))[0];
|
2018-03-09 16:28:06 +00:00
|
|
|
}
|
|
|
|
return [ @defs ];
|
|
|
|
},
|
2016-02-27 10:37:33 +00:00
|
|
|
ex_libs =>
|
|
|
|
sub {
|
|
|
|
unless ($disabled{zlib}) {
|
|
|
|
if (defined($disabled{"zlib-dynamic"})) {
|
2016-10-24 13:11:29 +00:00
|
|
|
return $withargs{zlib_lib} // "ZLIB1";
|
2016-02-27 10:37:33 +00:00
|
|
|
}
|
|
|
|
}
|
2016-10-24 13:11:29 +00:00
|
|
|
return ();
|
|
|
|
},
|
2016-02-27 10:37:33 +00:00
|
|
|
|
Make "make variables" config attributes for overridable flags
With the support of "make variables" comes the possibility for the
user to override them. However, we need to make a difference between
defaults that we use (and that should be overridable by the user) and
flags that are crucial for building OpenSSL (should not be
overridable).
Typically, overridable flags are those setting optimization levels,
warnings levels, that kind of thing, while non-overridable flags are,
for example, macros that indicate aspects of how the config target
should be treated, such as L_ENDIAN and B_ENDIAN.
We do that differentiation by allowing upper case attributes in the
config targets, named exactly like the "make variables" we support,
and reserving the lower case attributes for non-overridable project
flags.
Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5534)
2018-03-06 19:35:30 +00:00
|
|
|
LD => "link",
|
|
|
|
LDFLAGS => "/nologo",
|
|
|
|
ldoutflag => "/out:",
|
|
|
|
AR => "lib",
|
|
|
|
ARFLAGS => "/nologo",
|
2016-03-02 15:12:22 +00:00
|
|
|
aroutflag => "/out:",
|
Make "make variables" config attributes for overridable flags
With the support of "make variables" comes the possibility for the
user to override them. However, we need to make a difference between
defaults that we use (and that should be overridable by the user) and
flags that are crucial for building OpenSSL (should not be
overridable).
Typically, overridable flags are those setting optimization levels,
warnings levels, that kind of thing, while non-overridable flags are,
for example, macros that indicate aspects of how the config target
should be treated, such as L_ENDIAN and B_ENDIAN.
We do that differentiation by allowing upper case attributes in the
config targets, named exactly like the "make variables" we support,
and reserving the lower case attributes for non-overridable project
flags.
Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5534)
2018-03-06 19:35:30 +00:00
|
|
|
RC => "rc",
|
2016-07-17 20:12:38 +00:00
|
|
|
rcoutflag => "/fo",
|
Make "make variables" config attributes for overridable flags
With the support of "make variables" comes the possibility for the
user to override them. However, we need to make a difference between
defaults that we use (and that should be overridable by the user) and
flags that are crucial for building OpenSSL (should not be
overridable).
Typically, overridable flags are those setting optimization levels,
warnings levels, that kind of thing, while non-overridable flags are,
for example, macros that indicate aspects of how the config target
should be treated, such as L_ENDIAN and B_ENDIAN.
We do that differentiation by allowing upper case attributes in the
config targets, named exactly like the "make variables" we support,
and reserving the lower case attributes for non-overridable project
flags.
Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5534)
2018-03-06 19:35:30 +00:00
|
|
|
MT => "mt",
|
|
|
|
MTFLAGS => "-nologo",
|
2016-07-14 07:23:36 +00:00
|
|
|
mtinflag => "-manifest ",
|
|
|
|
mtoutflag => "-outputresource:",
|
2016-03-02 15:12:22 +00:00
|
|
|
|
2018-11-13 17:28:41 +00:00
|
|
|
shared_extension => ".dll",
|
|
|
|
|
2016-03-02 15:12:22 +00:00
|
|
|
build_file => "makefile",
|
|
|
|
build_scheme => [ "unified", "windows" ],
|
2016-02-27 10:25:33 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
BASE_VMS => {
|
|
|
|
inherit_from => [ "BASE_common" ],
|
|
|
|
template => 1,
|
|
|
|
|
2018-02-08 22:26:22 +00:00
|
|
|
includes =>
|
|
|
|
add(sub {
|
|
|
|
my @incs = ();
|
|
|
|
# GNV$ZLIB_INCLUDE is the standard logical name for later
|
|
|
|
# zlib incarnations.
|
|
|
|
push @incs, 'GNV$ZLIB_INCLUDE:'
|
|
|
|
if !$disabled{zlib} && !$withargs{zlib_include};
|
|
|
|
return [ @incs ];
|
|
|
|
}),
|
|
|
|
|
2018-11-13 17:28:41 +00:00
|
|
|
shared_extension => ".exe",
|
|
|
|
|
2016-02-27 10:25:33 +00:00
|
|
|
build_file => "descrip.mms",
|
|
|
|
build_scheme => [ "unified", "VMS" ],
|
2015-05-18 00:54:28 +00:00
|
|
|
},
|
|
|
|
|
2016-02-18 17:43:56 +00:00
|
|
|
uplink_common => {
|
|
|
|
template => 1,
|
2018-01-31 13:15:52 +00:00
|
|
|
apps_init_src => add("../ms/applink.c"),
|
2016-03-02 08:34:26 +00:00
|
|
|
uplink_aux_src => add("../ms/uplink.c"),
|
2016-03-18 22:31:17 +00:00
|
|
|
defines => add("OPENSSL_USE_APPLINK"),
|
2016-02-18 17:43:56 +00:00
|
|
|
},
|
|
|
|
x86_uplink => {
|
|
|
|
inherit_from => [ "uplink_common" ],
|
|
|
|
template => 1,
|
2016-03-02 08:34:26 +00:00
|
|
|
uplink_aux_src => add("uplink-x86.s"),
|
2016-02-18 17:43:56 +00:00
|
|
|
},
|
|
|
|
x86_64_uplink => {
|
|
|
|
inherit_from => [ "uplink_common" ],
|
|
|
|
template => 1,
|
2016-03-02 08:34:26 +00:00
|
|
|
uplink_aux_src => add("uplink-x86_64.s"),
|
2016-02-18 17:43:56 +00:00
|
|
|
},
|
|
|
|
ia64_uplink => {
|
|
|
|
inherit_from => [ "uplink_common" ],
|
|
|
|
template => 1,
|
2016-03-02 08:34:26 +00:00
|
|
|
uplink_aux_src => add("uplink-ia64.s"),
|
2016-02-18 17:43:56 +00:00
|
|
|
},
|
|
|
|
|
2015-05-18 00:54:28 +00:00
|
|
|
x86_asm => {
|
|
|
|
template => 1,
|
2016-01-29 18:45:51 +00:00
|
|
|
cpuid_asm_src => "x86cpuid.s",
|
|
|
|
bn_asm_src => "bn-586.s co-586.s x86-mont.s x86-gf2m.s",
|
|
|
|
ec_asm_src => "ecp_nistz256.c ecp_nistz256-x86.s",
|
|
|
|
des_asm_src => "des-586.s crypt586.s",
|
|
|
|
aes_asm_src => "aes-586.s vpaes-x86.s aesni-x86.s",
|
|
|
|
bf_asm_src => "bf-586.s",
|
|
|
|
md5_asm_src => "md5-586.s",
|
|
|
|
cast_asm_src => "cast-586.s",
|
|
|
|
sha1_asm_src => "sha1-586.s sha256-586.s sha512-586.s",
|
|
|
|
rc4_asm_src => "rc4-586.s",
|
|
|
|
rmd160_asm_src => "rmd-586.s",
|
|
|
|
rc5_asm_src => "rc5-586.s",
|
|
|
|
wp_asm_src => "wp_block.c wp-mmx.s",
|
|
|
|
cmll_asm_src => "cmll-x86.s",
|
|
|
|
modes_asm_src => "ghash-x86.s",
|
|
|
|
padlock_asm_src => "e_padlock-x86.s",
|
2016-02-09 22:08:30 +00:00
|
|
|
chacha_asm_src => "chacha-x86.s",
|
|
|
|
poly1305_asm_src=> "poly1305-x86.s",
|
2015-05-18 00:54:28 +00:00
|
|
|
},
|
|
|
|
x86_elf_asm => {
|
|
|
|
template => 1,
|
|
|
|
inherit_from => [ "x86_asm" ],
|
|
|
|
perlasm_scheme => "elf"
|
|
|
|
},
|
|
|
|
x86_64_asm => {
|
|
|
|
template => 1,
|
2016-01-29 18:45:51 +00:00
|
|
|
cpuid_asm_src => "x86_64cpuid.s",
|
|
|
|
bn_asm_src => "asm/x86_64-gcc.c x86_64-mont.s x86_64-mont5.s x86_64-gf2m.s rsaz_exp.c rsaz-x86_64.s rsaz-avx2.s",
|
2018-02-19 14:09:33 +00:00
|
|
|
ec_asm_src => "ecp_nistz256.c ecp_nistz256-x86_64.s x25519-x86_64.s",
|
2016-01-29 18:45:51 +00:00
|
|
|
aes_asm_src => "aes-x86_64.s vpaes-x86_64.s bsaes-x86_64.s aesni-x86_64.s aesni-sha1-x86_64.s aesni-sha256-x86_64.s aesni-mb-x86_64.s",
|
|
|
|
md5_asm_src => "md5-x86_64.s",
|
|
|
|
sha1_asm_src => "sha1-x86_64.s sha256-x86_64.s sha512-x86_64.s sha1-mb-x86_64.s sha256-mb-x86_64.s",
|
|
|
|
rc4_asm_src => "rc4-x86_64.s rc4-md5-x86_64.s",
|
|
|
|
wp_asm_src => "wp-x86_64.s",
|
|
|
|
cmll_asm_src => "cmll-x86_64.s cmll_misc.c",
|
|
|
|
modes_asm_src => "ghash-x86_64.s aesni-gcm-x86_64.s",
|
|
|
|
padlock_asm_src => "e_padlock-x86_64.s",
|
2016-02-09 22:08:30 +00:00
|
|
|
chacha_asm_src => "chacha-x86_64.s",
|
|
|
|
poly1305_asm_src=> "poly1305-x86_64.s",
|
2018-04-22 10:56:31 +00:00
|
|
|
keccak1600_asm_src => "keccak1600-x86_64.s",
|
2015-05-18 00:54:28 +00:00
|
|
|
},
|
|
|
|
ia64_asm => {
|
|
|
|
template => 1,
|
2016-01-29 18:45:51 +00:00
|
|
|
cpuid_asm_src => "ia64cpuid.s",
|
|
|
|
bn_asm_src => "bn-ia64.s ia64-mont.s",
|
|
|
|
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",
|
2015-05-18 00:54:28 +00:00
|
|
|
perlasm_scheme => "void"
|
|
|
|
},
|
|
|
|
sparcv9_asm => {
|
|
|
|
template => 1,
|
2016-02-01 16:48:14 +00:00
|
|
|
cpuid_asm_src => "sparcv9cap.c sparccpuid.S",
|
2016-03-08 08:46:19 +00:00
|
|
|
bn_asm_src => "asm/sparcv8plus.S sparcv9-mont.S sparcv9a-mont.S vis3-mont.S sparct4-mont.S sparcv9-gf2m.S",
|
2016-02-01 16:48:14 +00:00
|
|
|
ec_asm_src => "ecp_nistz256.c ecp_nistz256-sparcv9.S",
|
2016-03-08 08:46:19 +00:00
|
|
|
des_asm_src => "des_enc-sparc.S fcrypt_b.c dest4-sparcv9.S",
|
2016-04-19 11:09:54 +00:00
|
|
|
aes_asm_src => "aes_core.c aes_cbc.c aes-sparcv9.S aest4-sparcv9.S aesfx-sparcv9.S",
|
2016-02-01 16:48:14 +00:00
|
|
|
md5_asm_src => "md5-sparcv9.S",
|
|
|
|
sha1_asm_src => "sha1-sparcv9.S sha256-sparcv9.S sha512-sparcv9.S",
|
2016-03-08 08:46:19 +00:00
|
|
|
cmll_asm_src => "camellia.c cmll_misc.c cmll_cbc.c cmllt4-sparcv9.S",
|
|
|
|
modes_asm_src => "ghash-sparcv9.S",
|
2016-02-13 16:44:45 +00:00
|
|
|
poly1305_asm_src=> "poly1305-sparcv9.S",
|
2015-05-18 00:54:28 +00:00
|
|
|
perlasm_scheme => "void"
|
|
|
|
},
|
|
|
|
sparcv8_asm => {
|
|
|
|
template => 1,
|
2016-01-29 18:45:51 +00:00
|
|
|
cpuid_asm_src => "",
|
2016-02-01 16:48:14 +00:00
|
|
|
bn_asm_src => "asm/sparcv8.S",
|
|
|
|
des_asm_src => "des_enc-sparc.S fcrypt_b.c",
|
2015-05-18 00:54:28 +00:00
|
|
|
perlasm_scheme => "void"
|
|
|
|
},
|
|
|
|
alpha_asm => {
|
|
|
|
template => 1,
|
2016-01-29 18:45:51 +00:00
|
|
|
cpuid_asm_src => "alphacpuid.s",
|
2016-05-03 11:17:30 +00:00
|
|
|
bn_asm_src => "bn_asm.c alpha-mont.S",
|
|
|
|
sha1_asm_src => "sha1-alpha.S",
|
|
|
|
modes_asm_src => "ghash-alpha.S",
|
2015-05-18 00:54:28 +00:00
|
|
|
perlasm_scheme => "void"
|
|
|
|
},
|
|
|
|
mips32_asm => {
|
|
|
|
template => 1,
|
2016-09-01 08:39:15 +00:00
|
|
|
bn_asm_src => "bn-mips.S mips-mont.S",
|
2016-01-29 18:45:51 +00:00
|
|
|
aes_asm_src => "aes_cbc.c aes-mips.S",
|
|
|
|
sha1_asm_src => "sha1-mips.S sha256-mips.S",
|
2015-05-18 00:54:28 +00:00
|
|
|
},
|
|
|
|
mips64_asm => {
|
|
|
|
inherit_from => [ "mips32_asm" ],
|
|
|
|
template => 1,
|
2016-05-04 13:34:02 +00:00
|
|
|
sha1_asm_src => add("sha512-mips.S"),
|
|
|
|
poly1305_asm_src=> "poly1305-mips.S",
|
2015-05-18 00:54:28 +00:00
|
|
|
},
|
|
|
|
s390x_asm => {
|
|
|
|
template => 1,
|
2016-03-11 15:47:02 +00:00
|
|
|
cpuid_asm_src => "s390xcap.c s390xcpuid.S",
|
2016-02-01 16:48:14 +00:00
|
|
|
bn_asm_src => "asm/s390x.S s390x-mont.S s390x-gf2m.s",
|
2016-01-29 18:45:51 +00:00
|
|
|
aes_asm_src => "aes-s390x.S aes-ctr.fake aes-xts.fake",
|
2016-02-13 16:44:45 +00:00
|
|
|
sha1_asm_src => "sha1-s390x.S sha256-s390x.S sha512-s390x.S",
|
2016-01-29 18:45:51 +00:00
|
|
|
rc4_asm_src => "rc4-s390x.s",
|
2016-02-13 16:44:45 +00:00
|
|
|
modes_asm_src => "ghash-s390x.S",
|
|
|
|
chacha_asm_src => "chacha-s390x.S",
|
|
|
|
poly1305_asm_src=> "poly1305-s390x.S",
|
2018-04-22 11:09:49 +00:00
|
|
|
keccak1600_asm_src => "keccak1600-s390x.S",
|
2015-05-18 00:54:28 +00:00
|
|
|
},
|
|
|
|
armv4_asm => {
|
|
|
|
template => 1,
|
2016-02-01 16:48:14 +00:00
|
|
|
cpuid_asm_src => "armcap.c armv4cpuid.S",
|
|
|
|
bn_asm_src => "bn_asm.c armv4-mont.S armv4-gf2m.S",
|
|
|
|
ec_asm_src => "ecp_nistz256.c ecp_nistz256-armv4.S",
|
2016-01-29 18:45:51 +00:00
|
|
|
aes_asm_src => "aes_cbc.c aes-armv4.S bsaes-armv7.S aesv8-armx.S",
|
2016-02-01 16:48:14 +00:00
|
|
|
sha1_asm_src => "sha1-armv4-large.S sha256-armv4.S sha512-armv4.S",
|
|
|
|
modes_asm_src => "ghash-armv4.S ghashv8-armx.S",
|
2016-02-10 10:59:45 +00:00
|
|
|
chacha_asm_src => "chacha-armv4.S",
|
|
|
|
poly1305_asm_src=> "poly1305-armv4.S",
|
2018-04-22 12:08:28 +00:00
|
|
|
keccak1600_asm_src => "keccak1600-armv4.S",
|
2015-05-18 00:54:28 +00:00
|
|
|
perlasm_scheme => "void"
|
|
|
|
},
|
|
|
|
aarch64_asm => {
|
|
|
|
template => 1,
|
2016-05-15 13:37:46 +00:00
|
|
|
cpuid_asm_src => "armcap.c arm64cpuid.S",
|
2016-02-01 16:48:14 +00:00
|
|
|
ec_asm_src => "ecp_nistz256.c ecp_nistz256-armv8.S",
|
|
|
|
bn_asm_src => "bn_asm.c armv8-mont.S",
|
|
|
|
aes_asm_src => "aes_core.c aes_cbc.c aesv8-armx.S vpaes-armv8.S",
|
|
|
|
sha1_asm_src => "sha1-armv8.S sha256-armv8.S sha512-armv8.S",
|
|
|
|
modes_asm_src => "ghashv8-armx.S",
|
2016-02-10 10:59:45 +00:00
|
|
|
chacha_asm_src => "chacha-armv8.S",
|
|
|
|
poly1305_asm_src=> "poly1305-armv8.S",
|
2018-04-22 11:00:28 +00:00
|
|
|
keccak1600_asm_src => "keccak1600-armv8.S",
|
2015-05-18 00:54:28 +00:00
|
|
|
},
|
|
|
|
parisc11_asm => {
|
|
|
|
template => 1,
|
2016-01-29 18:45:51 +00:00
|
|
|
cpuid_asm_src => "pariscid.s",
|
2016-02-01 16:48:14 +00:00
|
|
|
bn_asm_src => "bn_asm.c parisc-mont.s",
|
2016-01-29 18:45:51 +00:00
|
|
|
aes_asm_src => "aes_core.c aes_cbc.c aes-parisc.s",
|
|
|
|
sha1_asm_src => "sha1-parisc.s sha256-parisc.s sha512-parisc.s",
|
|
|
|
rc4_asm_src => "rc4-parisc.s",
|
|
|
|
modes_asm_src => "ghash-parisc.s",
|
2015-05-18 00:54:28 +00:00
|
|
|
perlasm_scheme => "32"
|
|
|
|
},
|
|
|
|
parisc20_64_asm => {
|
|
|
|
template => 1,
|
|
|
|
inherit_from => [ "parisc11_asm" ],
|
|
|
|
perlasm_scheme => "64",
|
|
|
|
},
|
2016-08-14 17:19:11 +00:00
|
|
|
ppc32_asm => {
|
2015-05-18 00:54:28 +00:00
|
|
|
template => 1,
|
2016-02-01 16:48:14 +00:00
|
|
|
cpuid_asm_src => "ppccpuid.s ppccap.c",
|
2016-11-10 15:21:54 +00:00
|
|
|
bn_asm_src => "bn-ppc.s ppc-mont.s",
|
2016-01-29 18:45:51 +00:00
|
|
|
aes_asm_src => "aes_core.c aes_cbc.c aes-ppc.s vpaes-ppc.s aesp8-ppc.s",
|
2016-11-10 15:21:54 +00:00
|
|
|
sha1_asm_src => "sha1-ppc.s sha256-ppc.s sha512-ppc.s sha256p8-ppc.s sha512p8-ppc.s",
|
2016-01-29 18:45:51 +00:00
|
|
|
modes_asm_src => "ghashp8-ppc.s",
|
2016-11-10 15:21:54 +00:00
|
|
|
chacha_asm_src => "chacha-ppc.s",
|
|
|
|
poly1305_asm_src=> "poly1305-ppc.s poly1305-ppcfp.s",
|
2015-05-18 00:54:28 +00:00
|
|
|
},
|
2016-08-14 17:19:11 +00:00
|
|
|
ppc64_asm => {
|
|
|
|
inherit_from => [ "ppc32_asm" ],
|
|
|
|
template => 1,
|
2018-07-25 08:24:42 +00:00
|
|
|
ec_asm_src => "ecp_nistz256.c ecp_nistz256-ppc64.s x25519-ppc64.s",
|
2018-04-22 11:45:12 +00:00
|
|
|
keccak1600_asm_src => "keccak1600-ppc64.s",
|
2015-05-18 00:54:28 +00:00
|
|
|
},
|
|
|
|
);
|