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