90633c4abf6135db7bdabcba65472b2bc3235bc2
[openssl.git] / Configurations / 00-base-templates.conf
1 %targets=(
2     BASE => {
3         template        => 1,
4         cpuid_obj       => "mem_clr.o",
5         bn_obj          => "bn_asm.o",
6         ec_obj          => "",
7         des_obj         => "des_enc.o fcrypt_b.o",
8         aes_obj         => "aes_core.o aes_cbc.o",
9         bf_obj          => "bf_enc.o",
10         md5_obj         => "",
11         cast_obj        => "c_enc.o",
12         rc4_obj         => "rc4_enc.o rc4_skey.o",
13         rmd160_obj      => "",
14         rc5_obj         => "rc5_enc.o",
15         wp_obj          => "wp_block.o",
16         cmll_obj        => "camellia.o cmll_misc.o cmll_cbc.o",
17         modes_obj       => "",
18         engines_obj     => "",
19         chacha_obj      => "chacha_enc.o",
20         poly1305_obj    => "",
21
22         unistd          => "<unistd.h>",
23         build_scheme    => "unixmake",
24     },
25
26     x86_asm => {
27         template        => 1,
28         cpuid_obj       => "x86cpuid.o",
29         bn_obj          => "bn-586.o co-586.o x86-mont.o x86-gf2m.o",
30         ec_obj          => "ecp_nistz256.o ecp_nistz256-x86.o",
31         des_obj         => "des-586.o crypt586.o",
32         aes_obj         => "aes-586.o vpaes-x86.o aesni-x86.o",
33         bf_obj          => "bf-586.o",
34         md5_obj         => "md5-586.o",
35         sha1_obj        => "sha1-586.o sha256-586.o sha512-586.o",
36         rc4_obj         => "rc4-586.o",
37         rmd160_obj      => "rmd-586.o",
38         rc5_obj         => "rc5-586.o",
39         wp_obj          => "wp_block.o wp-mmx.o",
40         cmll_obj        => "cmll-x86.o",
41         modes_obj       => "ghash-x86.o",
42         engines_obj     => "e_padlock-x86.o"
43     },
44     x86_elf_asm => {
45         template        => 1,
46         inherit_from    => [ "x86_asm" ],
47         perlasm_scheme  => "elf"
48     },
49     x86_64_asm => {
50         template        => 1,
51         cpuid_obj       => "x86_64cpuid.o",
52         bn_obj          => "x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o",
53         ec_obj          => "ecp_nistz256.o ecp_nistz256-x86_64.o",
54         aes_obj         => "aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o",
55         md5_obj         => "md5-x86_64.o",
56         sha1_obj        => "sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o sha256-mb-x86_64.o",
57         rc4_obj         => "rc4-x86_64.o rc4-md5-x86_64.o",
58         wp_obj          => "wp-x86_64.o",
59         cmll_obj        => "cmll-x86_64.o cmll_misc.o",
60         modes_obj       => "ghash-x86_64.o aesni-gcm-x86_64.o",
61         engines_obj     => "e_padlock-x86_64.o"
62     },
63     ia64_asm => {
64         template        => 1,
65         cpuid_obj       => "ia64cpuid.o",
66         bn_obj          => "bn-ia64.o ia64-mont.o",
67         aes_obj         => "aes_core.o aes_cbc.o aes-ia64.o",
68         md5_obj         => "md5-ia64.o",
69         sha1_obj        => "sha1-ia64.o sha256-ia64.o sha512-ia64.o",
70         rc4_obj         => "rc4-ia64.o rc4_skey.o",
71         modes_obj       => "ghash-ia64.o",
72         perlasm_scheme  => "void"
73     },
74     sparcv9_asm => {
75         template        => 1,
76         cpuid_obj       => "sparcv9cap.o sparccpuid.o",
77         bn_obj          => "bn-sparcv9.o sparcv9-mont.o sparcv9a-mont.o vis3-mont.o sparct4-mont.o sparcv9-gf2m.o",
78         ec_obj          => "ecp_nistz256.o ecp_nistz256-sparcv9.o",
79         des_obj         => "des_enc-sparc.o fcrypt_b.o dest4-sparcv9.o",
80         aes_obj         => "aes_core.o aes_cbc.o aes-sparcv9.o aest4-sparcv9.o",
81         md5_obj         => "md5-sparcv9.o",
82         sha1_obj        => "sha1-sparcv9.o sha256-sparcv9.o sha512-sparcv9.o",
83         cmll_obj        => "camellia.o cmll_misc.o cmll_cbc.o cmllt4-sparcv9.o",
84         modes_obj       => "ghash-sparcv9.o",
85         perlasm_scheme  => "void"
86     },
87     sparcv8_asm => {
88         template        => 1,
89         cpuid_obj       => "",
90         bn_obj          => "sparcv8.o",
91         des_obj         => "des_enc-sparc.o fcrypt_b.o",
92         perlasm_scheme  => "void"
93     },
94     alpha_asm => {
95         template        => 1,
96         cpuid_obj       => "alphacpuid.o",
97         bn_obj          => "bn_asm.o alpha-mont.o",
98         sha1_obj        => "sha1-alpha.o",
99         modes_obj       => "ghash-alpha.o",
100         perlasm_scheme  => "void"
101     },
102     mips32_asm => {
103         template        => 1,
104         bn_obj          => "bn-mips.o mips-mont.o",
105         aes_obj         => "aes_cbc.o aes-mips.o",
106         sha1_obj        => "sha1-mips.o sha256-mips.o",
107     },
108     mips64_asm => {
109         inherit_from    => [ "mips32_asm" ],
110         template        => 1,
111         sha1_obj        => sub { join(" ", @_, "sha512-mips.o") }
112     },
113     s390x_asm => {
114         template        => 1,
115         cpuid_obj       => "s390xcap.o s390xcpuid.o",
116         bn_obj          => "bn-s390x.o s390x-mont.o s390x-gf2m.o",
117         aes_obj         => "aes-s390x.o aes-ctr.o aes-xts.o",
118         sha1_obj        => "sha1-s390x.o sha256-s390x.o sha512-s390x.o",
119         rc4_obj         => "rc4-s390x.o",
120         modes_obj       => "ghash-s390x.o",
121     },
122     armv4_asm => {
123         template        => 1,
124         cpuid_obj       => "armcap.o armv4cpuid.o",
125         bn_obj          => "bn_asm.o armv4-mont.o armv4-gf2m.o",
126         ec_obj          => "ecp_nistz256.o ecp_nistz256-armv4.o",
127         aes_obj         => "aes_cbc.o aes-armv4.o bsaes-armv7.o aesv8-armx.o",
128         sha1_obj        => "sha1-armv4-large.o sha256-armv4.o sha512-armv4.o",
129         modes_obj       => "ghash-armv4.o ghashv8-armx.o",
130         perlasm_scheme  => "void"
131     },
132     aarch64_asm => {
133         template        => 1,
134         cpuid_obj       => "armcap.o arm64cpuid.o mem_clr.o",
135         ec_obj          => "ecp_nistz256.o ecp_nistz256-armv8.o",
136         bn_obj          => "bn_asm.o armv8-mont.o",
137         aes_obj         => "aes_core.o aes_cbc.o aesv8-armx.o vpaes-armv8.o",
138         sha1_obj        => "sha1-armv8.o sha256-armv8.o sha512-armv8.o",
139         modes_obj       => "ghashv8-armx.o",
140     },
141     parisc11_asm => {
142         template        => 1,
143         cpuid_obj       => "pariscid.o",
144         bn_obj          => "bn_asm.o parisc-mont.o",
145         aes_obj         => "aes_core.o aes_cbc.o aes-parisc.o",
146         sha1_obj        => "sha1-parisc.o sha256-parisc.o sha512-parisc.o",
147         rc4_obj         => "rc4-parisc.o",
148         modes_obj       => "ghash-parisc.o",
149         perlasm_scheme  => "32"
150     },
151     parisc20_64_asm => {
152         template        => 1,
153         inherit_from    => [ "parisc11_asm" ],
154         bn_obj          => sub { my $r=join(" ",@_); $r=~s/bn_asm/pa-risc2W/; $r; },
155         perlasm_scheme  => "64",
156     },
157     ppc64_asm => {
158         template        => 1,
159         cpuid_obj       => "ppccpuid.o ppccap.o",
160         bn_obj          => "bn-ppc.o ppc-mont.o ppc64-mont.o",
161         aes_obj         => "aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o",
162         sha1_obj        => "sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o",
163         modes_obj       => "ghashp8-ppc.o",
164     },
165     ppc32_asm => {
166         inherit_from    => [ "ppc64_asm" ],
167         template        => 1
168     },
169 );