hare

[hare] The Hare programming language
git clone https://git.torresjrjr.com/hare.git
Log | Files | Refs | README | LICENSE

commit a8f7d7c6e462ad01a845ae7b3caa3c46ad6bc951
parent f88a995c95b3110a4f8114e37556bf26b41c92d7
Author: Armin Preiml <apreiml@strohwolke.at>
Date:   Tue, 29 Nov 2022 13:24:02 +0100

gen-stdlib: add crypto::rsa

Signed-off-by: Armin Preiml <apreiml@strohwolke.at>

Diffstat:
Mscripts/gen-stdlib | 22++++++++++++++++++++++
Mstdlib.mk | 41+++++++++++++++++++++++++++++++++++++++++
2 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/scripts/gen-stdlib b/scripts/gen-stdlib @@ -431,6 +431,27 @@ crypto_random() { gen_ssa -pfreebsd crypto::random rt io errors } +gensrcs_crypto_rsa() { + gen_srcs crypto::rsa core.ha errors.ha keys.ha pkcs1.ha $* +} + +genssa_crypto_rsa() { + gen_ssa crypto::rsa bufio bytes crypto::bigint crypto::math \ + crypto::sha1 crypto::sha256 crypto::sha512 endian errors hash \ + io types $* +} + +crypto_rsa() { + if [ $testing -eq 0 ] + then + gensrcs_crypto_rsa + genssa_crypto_rsa + else + gensrcs_crypto_rsa +test/core.ha +test/keys.ha +test/pkcs1.ha + genssa_crypto_rsa + fi +} + crypto_salsa() { if [ $testing -eq 0 ] then @@ -1442,6 +1463,7 @@ crypto::hmac crypto::mac crypto::math crypto::random linux freebsd +crypto::rsa crypto::poly1305 crypto::salsa crypto::sha1 diff --git a/stdlib.mk b/stdlib.mk @@ -241,6 +241,12 @@ stdlib_deps_linux += $(stdlib_crypto_random_linux) stdlib_crypto_random_freebsd = $(HARECACHE)/crypto/random/crypto_random-freebsd.o stdlib_deps_freebsd += $(stdlib_crypto_random_freebsd) +# gen_lib crypto::rsa (any) +stdlib_crypto_rsa_any = $(HARECACHE)/crypto/rsa/crypto_rsa-any.o +stdlib_deps_any += $(stdlib_crypto_rsa_any) +stdlib_crypto_rsa_linux = $(stdlib_crypto_rsa_any) +stdlib_crypto_rsa_freebsd = $(stdlib_crypto_rsa_any) + # gen_lib crypto::poly1305 (any) stdlib_crypto_poly1305_any = $(HARECACHE)/crypto/poly1305/crypto_poly1305-any.o stdlib_deps_any += $(stdlib_crypto_poly1305_any) @@ -960,6 +966,19 @@ $(HARECACHE)/crypto/random/crypto_random-freebsd.ssa: $(stdlib_crypto_random_fre @HARECACHE=$(HARECACHE) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::random \ -t$(HARECACHE)/crypto/random/crypto_random.td $(stdlib_crypto_random_freebsd_srcs) +# crypto::rsa (+any) +stdlib_crypto_rsa_any_srcs = \ + $(STDLIB)/crypto/rsa/core.ha \ + $(STDLIB)/crypto/rsa/errors.ha \ + $(STDLIB)/crypto/rsa/keys.ha \ + $(STDLIB)/crypto/rsa/pkcs1.ha + +$(HARECACHE)/crypto/rsa/crypto_rsa-any.ssa: $(stdlib_crypto_rsa_any_srcs) $(stdlib_rt) $(stdlib_bufio_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_bigint_$(PLATFORM)) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_crypto_sha1_$(PLATFORM)) $(stdlib_crypto_sha256_$(PLATFORM)) $(stdlib_crypto_sha512_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_types_$(PLATFORM)) + @printf 'HAREC \t$@\n' + @mkdir -p $(HARECACHE)/crypto/rsa + @HARECACHE=$(HARECACHE) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::rsa \ + -t$(HARECACHE)/crypto/rsa/crypto_rsa.td $(stdlib_crypto_rsa_any_srcs) + # crypto::poly1305 (+any) stdlib_crypto_poly1305_any_srcs = \ $(STDLIB)/crypto/poly1305/poly1305.ha @@ -2422,6 +2441,12 @@ testlib_deps_linux += $(testlib_crypto_random_linux) testlib_crypto_random_freebsd = $(TESTCACHE)/crypto/random/crypto_random-freebsd.o testlib_deps_freebsd += $(testlib_crypto_random_freebsd) +# gen_lib crypto::rsa (any) +testlib_crypto_rsa_any = $(TESTCACHE)/crypto/rsa/crypto_rsa-any.o +testlib_deps_any += $(testlib_crypto_rsa_any) +testlib_crypto_rsa_linux = $(testlib_crypto_rsa_any) +testlib_crypto_rsa_freebsd = $(testlib_crypto_rsa_any) + # gen_lib crypto::poly1305 (any) testlib_crypto_poly1305_any = $(TESTCACHE)/crypto/poly1305/crypto_poly1305-any.o testlib_deps_any += $(testlib_crypto_poly1305_any) @@ -3159,6 +3184,22 @@ $(TESTCACHE)/crypto/random/crypto_random-freebsd.ssa: $(testlib_crypto_random_fr @HARECACHE=$(TESTCACHE) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::random \ -t$(TESTCACHE)/crypto/random/crypto_random.td $(testlib_crypto_random_freebsd_srcs) +# crypto::rsa (+any) +testlib_crypto_rsa_any_srcs = \ + $(STDLIB)/crypto/rsa/core.ha \ + $(STDLIB)/crypto/rsa/errors.ha \ + $(STDLIB)/crypto/rsa/keys.ha \ + $(STDLIB)/crypto/rsa/pkcs1.ha \ + $(STDLIB)/crypto/rsa/+test/core.ha \ + $(STDLIB)/crypto/rsa/+test/keys.ha \ + $(STDLIB)/crypto/rsa/+test/pkcs1.ha + +$(TESTCACHE)/crypto/rsa/crypto_rsa-any.ssa: $(testlib_crypto_rsa_any_srcs) $(testlib_rt) $(testlib_bufio_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_bigint_$(PLATFORM)) $(testlib_crypto_math_$(PLATFORM)) $(testlib_crypto_sha1_$(PLATFORM)) $(testlib_crypto_sha256_$(PLATFORM)) $(testlib_crypto_sha512_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_types_$(PLATFORM)) + @printf 'HAREC \t$@\n' + @mkdir -p $(TESTCACHE)/crypto/rsa + @HARECACHE=$(TESTCACHE) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::rsa \ + -t$(TESTCACHE)/crypto/rsa/crypto_rsa.td $(testlib_crypto_rsa_any_srcs) + # crypto::poly1305 (+any) testlib_crypto_poly1305_any_srcs = \ $(STDLIB)/crypto/poly1305/poly1305.ha \