aboutsummaryrefslogtreecommitdiff
path: root/Configurations/00-base-templates.conf
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2015-05-18 02:54:28 +0200
committerRichard Levitte <levitte@openssl.org>2016-01-22 00:55:44 +0100
commit9e0724a1805fba20a897f6c7f95336f0da017ccf (patch)
tree8ad0bb12baabfc8770c45357fec0973dd7f3fd5a /Configurations/00-base-templates.conf
parentd74dfafd8bfb98e77ba07c4827362836e4160e94 (diff)
downloadopenssl-9e0724a1805fba20a897f6c7f95336f0da017ccf.zip
openssl-9e0724a1805fba20a897f6c7f95336f0da017ccf.tar.gz
openssl-9e0724a1805fba20a897f6c7f95336f0da017ccf.tar.bz2
Refactor config - move templates and template docs to Configurations
Move the documentation of the target configuration form to Configurations/README. Move initial assembler object templates to Configurations/00-BASE-templates.conf. Furthermore, remove all variables containing the names of the non-assembler object files and make a BASE template of them instead. The values from this templates are used as defaults as is. The remaining manipulation of data when assembler modules are used is done only when $no_asm is false. While doing this, clean out some other related variables that aren't used anywhere. Also, we had to move the resolution of the chosen target a bit, or the function 'asm' would never catch a true $no_asm... this hasn't mattered before we've moved it all to the BASE template, but now it does. At the same time, add the default for the 'unistd' key to the BASE template. Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'Configurations/00-base-templates.conf')
-rw-r--r--Configurations/00-base-templates.conf168
1 files changed, 168 insertions, 0 deletions
diff --git a/Configurations/00-base-templates.conf b/Configurations/00-base-templates.conf
new file mode 100644
index 0000000..064648f
--- /dev/null
+++ b/Configurations/00-base-templates.conf
@@ -0,0 +1,168 @@
+%targets=(
+ BASE => {
+ template => 1,
+ cpuid_obj => "mem_clr.o",
+ bn_obj => "bn_asm.o",
+ ec_obj => "",
+ des_obj => "des_enc.o fcrypt_b.o",
+ aes_obj => "aes_core.o aes_cbc.o",
+ bf_obj => "bf_enc.o",
+ md5_obj => "",
+ cast_obj => "c_enc.o",
+ rc4_obj => "rc4_enc.o rc4_skey.o",
+ rmd160_obj => "",
+ rc5_obj => "rc5_enc.o",
+ wp_obj => "wp_block.o",
+ cmll_obj => "camellia.o cmll_misc.o cmll_cbc.o",
+ modes_obj => "",
+ engines_obj => "",
+ chacha_obj => "chacha_enc.o",
+ poly1305_obj => "",
+
+ unistd => "<unistd.h>",
+ },
+
+ x86_asm => {
+ template => 1,
+ cpuid_obj => "x86cpuid.o",
+ bn_obj => "bn-586.o co-586.o x86-mont.o x86-gf2m.o",
+ ec_obj => "ecp_nistz256.o ecp_nistz256-x86.o",
+ des_obj => "des-586.o crypt586.o",
+ aes_obj => "aes-586.o vpaes-x86.o aesni-x86.o",
+ bf_obj => "bf-586.o",
+ md5_obj => "md5-586.o",
+ sha1_obj => "sha1-586.o sha256-586.o sha512-586.o",
+ rc4_obj => "rc4-586.o",
+ rmd160_obj => "rmd-586.o",
+ rc5_obj => "rc5-586.o",
+ wp_obj => "wp_block.o wp-mmx.o",
+ cmll_obj => "cmll-x86.o",
+ modes_obj => "ghash-x86.o",
+ engines_obj => "e_padlock-x86.o"
+ },
+ x86_elf_asm => {
+ template => 1,
+ inherit_from => [ "x86_asm" ],
+ perlasm_scheme => "elf"
+ },
+ x86_64_asm => {
+ template => 1,
+ cpuid_obj => "x86_64cpuid.o",
+ 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",
+ ec_obj => "ecp_nistz256.o ecp_nistz256-x86_64.o",
+ 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",
+ md5_obj => "md5-x86_64.o",
+ sha1_obj => "sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o sha256-mb-x86_64.o",
+ rc4_obj => "rc4-x86_64.o rc4-md5-x86_64.o",
+ wp_obj => "wp-x86_64.o",
+ cmll_obj => "cmll-x86_64.o cmll_misc.o",
+ modes_obj => "ghash-x86_64.o aesni-gcm-x86_64.o",
+ engines_obj => "e_padlock-x86_64.o"
+ },
+ ia64_asm => {
+ template => 1,
+ cpuid_obj => "ia64cpuid.o",
+ bn_obj => "bn-ia64.o ia64-mont.o",
+ aes_obj => "aes_core.o aes_cbc.o aes-ia64.o",
+ md5_obj => "md5-ia64.o",
+ sha1_obj => "sha1-ia64.o sha256-ia64.o sha512-ia64.o",
+ rc4_obj => "rc4-ia64.o rc4_skey.o",
+ modes_obj => "ghash-ia64.o",
+ perlasm_scheme => "void"
+ },
+ sparcv9_asm => {
+ template => 1,
+ cpuid_obj => "sparcv9cap.o sparccpuid.o",
+ bn_obj => "bn-sparcv9.o sparcv9-mont.o sparcv9a-mont.o vis3-mont.o sparct4-mont.o sparcv9-gf2m.o",
+ ec_obj => "ecp_nistz256.o ecp_nistz256-sparcv9.o",
+ des_obj => "des_enc-sparc.o fcrypt_b.o dest4-sparcv9.o",
+ aes_obj => "aes_core.o aes_cbc.o aes-sparcv9.o aest4-sparcv9.o",
+ md5_obj => "md5-sparcv9.o",
+ sha1_obj => "sha1-sparcv9.o sha256-sparcv9.o sha512-sparcv9.o",
+ cmll_obj => "camellia.o cmll_misc.o cmll_cbc.o cmllt4-sparcv9.o",
+ modes_obj => "ghash-sparcv9.o",
+ perlasm_scheme => "void"
+ },
+ sparcv8_asm => {
+ template => 1,
+ cpuid_obj => "",
+ bn_obj => "sparcv8.o",
+ des_obj => "des_enc-sparc.o fcrypt_b.o",
+ perlasm_scheme => "void"
+ },
+ alpha_asm => {
+ template => 1,
+ cpuid_obj => "alphacpuid.o",
+ bn_obj => "bn_asm.o alpha-mont.o",
+ sha1_obj => "sha1-alpha.o",
+ modes_obj => "ghash-alpha.o",
+ perlasm_scheme => "void"
+ },
+ mips32_asm => {
+ template => 1,
+ bn_obj => "bn-mips.o mips-mont.o",
+ aes_obj => "aes_cbc.o aes-mips.o",
+ sha1_obj => "sha1-mips.o sha256-mips.o",
+ },
+ mips64_asm => {
+ inherit_from => [ "mips32_asm" ],
+ template => 1,
+ sha1_obj => sub { join(" ", @_, "sha512-mips.o") }
+ },
+ s390x_asm => {
+ template => 1,
+ cpuid_obj => "s390xcap.o s390xcpuid.o",
+ bn_obj => "bn-s390x.o s390x-mont.o s390x-gf2m.o",
+ aes_obj => "aes-s390x.o aes-ctr.o aes-xts.o",
+ sha1_obj => "sha1-s390x.o sha256-s390x.o sha512-s390x.o",
+ rc4_obj => "rc4-s390x.o",
+ modes_obj => "ghash-s390x.o",
+ },
+ armv4_asm => {
+ template => 1,
+ cpuid_obj => "armcap.o armv4cpuid.o",
+ bn_obj => "bn_asm.o armv4-mont.o armv4-gf2m.o",
+ ec_obj => "ecp_nistz256.o ecp_nistz256-armv4.o",
+ aes_obj => "aes_cbc.o aes-armv4.o bsaes-armv7.o aesv8-armx.o",
+ sha1_obj => "sha1-armv4-large.o sha256-armv4.o sha512-armv4.o",
+ modes_obj => "ghash-armv4.o ghashv8-armx.o",
+ perlasm_scheme => "void"
+ },
+ aarch64_asm => {
+ template => 1,
+ cpuid_obj => "armcap.o arm64cpuid.o mem_clr.o",
+ ec_obj => "ecp_nistz256.o ecp_nistz256-armv8.o",
+ bn_obj => "bn_asm.o armv8-mont.o",
+ aes_obj => "aes_core.o aes_cbc.o aesv8-armx.o vpaes-armv8.o",
+ sha1_obj => "sha1-armv8.o sha256-armv8.o sha512-armv8.o",
+ modes_obj => "ghashv8-armx.o",
+ },
+ parisc11_asm => {
+ template => 1,
+ cpuid_obj => "pariscid.o",
+ bn_obj => "bn_asm.o parisc-mont.o",
+ aes_obj => "aes_core.o aes_cbc.o aes-parisc.o",
+ sha1_obj => "sha1-parisc.o sha256-parisc.o sha512-parisc.o",
+ rc4_obj => "rc4-parisc.o",
+ modes_obj => "ghash-parisc.o",
+ perlasm_scheme => "32"
+ },
+ parisc20_64_asm => {
+ template => 1,
+ inherit_from => [ "parisc11_asm" ],
+ bn_obj => sub { my $r=join(" ",@_); $r=~s/bn_asm/pa-risc2W/; $r; },
+ perlasm_scheme => "64",
+ },
+ ppc64_asm => {
+ template => 1,
+ cpuid_obj => "ppccpuid.o ppccap.o",
+ bn_obj => "bn-ppc.o ppc-mont.o ppc64-mont.o",
+ aes_obj => "aes_core.o aes_cbc.o aes-ppc.o vpaes-ppc.o aesp8-ppc.o",
+ sha1_obj => "sha1-ppc.o sha256-ppc.o sha512-ppc.o sha256p8-ppc.o sha512p8-ppc.o",
+ modes_obj => "ghashp8-ppc.o",
+ },
+ ppc32_asm => {
+ inherit_from => [ "ppc64_asm" ],
+ template => 1
+ },
+);