diff options
author | Richard Levitte <levitte@openssl.org> | 2016-01-29 19:45:51 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-02-01 12:46:58 +0100 |
commit | 9fe2bb77c40f5fd3624b30f1b0c3cd8b791ca615 (patch) | |
tree | 466c23f4fe9dd83bfcf218bde29500c5aa2c0b55 /Configurations/00-base-templates.conf | |
parent | 1d852772355105cdb1cb0e7451b28358dd475e04 (diff) | |
download | openssl-9fe2bb77c40f5fd3624b30f1b0c3cd8b791ca615.tar.gz |
unified build scheme: a first introduction
The "unified" build scheme revolves around small information files,
build.info, which each describe their own bit of everything that needs
to be built, using a mini-language described in Configurations/README.
The information in build.info file contain references to source files
and final result. Object files are not mentioned at all, they are
simply from source files. Because of this, all the *_obj items in
Configurations/*.conf are renamed to *_asm_src and the files listed
in the values are change from object files to their corresponding
source files. For the sake of the other build schemes, Configure
generates corresponding *_obj entries in %target.
Furthermore, the "unified" build scheme supports having a build
directory tree separate from the source directry tree.
All paths in a build.info file is assumed to be relative to its
location, either within the source tree or within the build tree.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Diffstat (limited to 'Configurations/00-base-templates.conf')
-rw-r--r-- | Configurations/00-base-templates.conf | 203 |
1 files changed, 102 insertions, 101 deletions
diff --git a/Configurations/00-base-templates.conf b/Configurations/00-base-templates.conf index 3ef2141cc4..03a1af9ea4 100644 --- a/Configurations/00-base-templates.conf +++ b/Configurations/00-base-templates.conf @@ -1,23 +1,23 @@ %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 => "", - padlock_obj => "", - chacha_obj => "chacha_enc.o", - poly1305_obj => "", + cpuid_asm_src => "mem_clr.c", + 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 => "", unistd => "<unistd.h>", shared_target => "", @@ -25,25 +25,27 @@ shared_ldflag => "", shared_extension => "", build_scheme => "unixmake", + build_file => "Makefile", }, 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", - padlock_obj => "e_padlock-x86.o" + 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", }, x86_elf_asm => { template => 1, @@ -52,120 +54,119 @@ }, 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", - padlock_obj => "e_padlock-x86_64.o" + 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", + ec_asm_src => "ecp_nistz256.c ecp_nistz256-x86_64.s", + 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", }, 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", + 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", + md5_asm_src => "md5-ia64.s", + sha1_asm_src => "sha1-ia64.s sha256-ia64.s sha512-ia64.s", + rc4_asm_src => "rc4-ia64.s rc4_skey.s", + modes_asm_src => "ghash-ia64.s", 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", - poly1305_obj => "poly1305-sparcv9.o", + cpuid_asm_src => "sparcv9cap.s sparccpuid.s", + bn_asm_src => "bn-sparcv9.s sparcv9-mont.s sparcv9a-mont.s vis3-mont.s sparct4-mont.s sparcv9-gf2m.s", + ec_asm_src => "ecp_nistz256.c ecp_nistz256-sparcv9.s", + des_asm_src => "des_enc-sparc.s fcrypt_b.c dest4-sparcv9.s", + aes_asm_src => "aes_core.c aes_cbc.c aes-sparcv9.s aest4-sparcv9.s", + md5_asm_src => "md5-sparcv9.s", + sha1_asm_src => "sha1-sparcv9.s sha256-sparcv9.s sha512-sparcv9.s", + cmll_asm_src => "camellia.c cmll_misc.c cmll_cbc.c cmllt4-sparcv9.s", + modes_asm_src => "ghash-sparcv9.s", + poly1305_obj => "poly1305-sparcv9.S", perlasm_scheme => "void" }, sparcv8_asm => { template => 1, - cpuid_obj => "", - bn_obj => "sparcv8.o", - des_obj => "des_enc-sparc.o fcrypt_b.o", + cpuid_asm_src => "", + bn_asm_src => "sparcv8.s", + des_asm_src => "des_enc-sparc.s fcrypt_b.c", 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", + cpuid_asm_src => "alphacpuid.s", + bn_asm_src => "bn_asm.s alpha-mont.s", + sha1_asm_src => "sha1-alpha.s", + modes_asm_src => "ghash-alpha.s", 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", + bn_asm_src => "bn-mips.s mips-mont.s", + aes_asm_src => "aes_cbc.c aes-mips.S", + sha1_asm_src => "sha1-mips.S sha256-mips.S", }, mips64_asm => { inherit_from => [ "mips32_asm" ], template => 1, - sha1_obj => add("sha512-mips.o") + sha1_asm_src => add("sha512-mips.S") }, 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", + cpuid_asm_src => "s390xcap.s s390xcpuid.s", + bn_asm_src => "bn-s390x.s s390x-mont.s s390x-gf2m.s", + aes_asm_src => "aes-s390x.S aes-ctr.fake aes-xts.fake", + sha1_asm_src => "sha1-s390x.s sha256-s390x.s sha512-s390x.s", + rc4_asm_src => "rc4-s390x.s", + modes_asm_src => "ghash-s390x.s", }, 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", + cpuid_asm_src => "armcap.s armv4cpuid.s", + bn_asm_src => "bn_asm.s armv4-mont.s armv4-gf2m.s", + ec_asm_src => "ecp_nistz256.c ecp_nistz256-armv4.s", + aes_asm_src => "aes_cbc.c aes-armv4.S bsaes-armv7.S aesv8-armx.S", + sha1_asm_src => "sha1-armv4-large.s sha256-armv4.s sha512-armv4.s", + modes_asm_src => "ghash-armv4.s ghashv8-armx.s", 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", + cpuid_asm_src => "armcap.s arm64cpuid.s mem_clr.s", + ec_asm_src => "ecp_nistz256.c ecp_nistz256-armv8.s", + bn_asm_src => "bn_asm.s armv8-mont.s", + aes_asm_src => "aes_core.s aes_cbc.s aesv8-armx.s vpaes-armv8.s", + sha1_asm_src => "sha1-armv8.s sha256-armv8.s sha512-armv8.s", + modes_asm_src => "ghashv8-armx.s", }, 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", + cpuid_asm_src => "pariscid.s", + bn_asm_src => "bn_asm.s parisc-mont.s", + 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", 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", + cpuid_asm_src => "ppccpuid.s ppccap.s", + bn_asm_src => "bn-ppc.s ppc-mont.s ppc64-mont.s", + aes_asm_src => "aes_core.c aes_cbc.c aes-ppc.s vpaes-ppc.s aesp8-ppc.s", + sha1_asm_src => "sha1-ppc.s sha256-ppc.s sha512-ppc.s sha256p8-ppc.s sha512p8-ppc.s", + modes_asm_src => "ghashp8-ppc.s", }, ppc32_asm => { inherit_from => [ "ppc64_asm" ], |