early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

39
externals/vcpkg/ports/nettle/compile.patch vendored Executable file
View File

@@ -0,0 +1,39 @@
diff --git a/examples/Makefile.in b/examples/Makefile.in
index eb6a81790..1d927079c 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -11,7 +11,7 @@ PRE_CPPFLAGS = -I.. -I$(top_srcdir)
PRE_LDFLAGS = -L..
OPENSSL_LIBFLAGS = @OPENSSL_LIBFLAGS@
-BENCH_LIBS = @BENCH_LIBS@ -lm
+BENCH_LIBS = @BENCH_LIBS@
HOGWEED_TARGETS = rsa-keygen$(EXEEXT) rsa-sign$(EXEEXT) \
rsa-verify$(EXEEXT) rsa-encrypt$(EXEEXT) rsa-decrypt$(EXEEXT) \
diff --git a/streebog.c b/streebog.c
index 7ad619d5e..85609a473 100644
--- a/streebog.c
+++ b/streebog.c
@@ -1233,7 +1233,7 @@ streebog512_compress (struct streebog512_ctx *ctx, const uint8_t *input, uint64_
static void
streebog_final (struct streebog512_ctx *ctx)
{
- uint64_t Z[8] = {};
+ uint64_t Z[8] = {0,0,0,0,0,0,0,0};
unsigned int i;
/* PAD. It does not count towards message length */
diff --git a/Makefile.in b/Makefile.in
index b65ff4960..3887d0c8f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -322,7 +322,7 @@ $(LIBHOGWEED_FORLINK): $(hogweed_OBJS) $(LIBNETTLE_FORLINK)
# For building the various *data.c programs. -lm needed for shadata.
%$(EXEEXT_FOR_BUILD): %.c
- $(CC_FOR_BUILD) $< $(CFLAGS) -lm -o $@
+ $(CC_FOR_BUILD) $< $(CFLAGS) -o $@
# Explicit dependency.
eccdata$(EXEEXT_FOR_BUILD): mini-gmp.c mini-gmp.h

View File

@@ -0,0 +1,36 @@
diff --git a/configure.ac b/configure.ac
index 90ea1ea..58cfe88 100644
--- a/configure.ac
+++ b/configure.ac
@@ -354,25 +354,25 @@ if test "x$ABI" != xstandard ; then
else
# The dash builtin pwd tries to be "helpful" and remember
# symlink names. Use -P option, and hope it's portable enough.
- test -d /usr/lib${ABI} \
- && (cd /usr/lib${ABI} && pwd -P | grep >/dev/null "/lib${ABI}"'$') \
- && libdir='${exec_prefix}/'"lib${ABI}"
+ test -d /usr/lib \
+ && (cd /usr/lib && pwd -P | grep >/dev/null "/lib"'$') \
+ && libdir='${exec_prefix}/'"lib"
fi
;;
# On freebsd, it seems 32-bit libraries are in lib32,
# and 64-bit in lib. Don't know about "kfreebsd", does
# it follow the Linux fhs conventions?
*:freebsd*:32)
- libdir='${exec_prefix}/lib32'
+ libdir='${exec_prefix}/lib'
;;
*:freebsd*:64)
libdir='${exec_prefix}/lib'
;;
*:irix*:32)
- libdir='${exec_prefix}/lib32'
+ libdir='${exec_prefix}/lib'
;;
*:irix*:64)
- libdir='${exec_prefix}/lib64'
+ libdir='${exec_prefix}/lib'
;;
*)
AC_MSG_WARN([Don't know where to install $ABI-bit libraries on this system.]); dnl '

13
externals/vcpkg/ports/nettle/flags.patch vendored Executable file
View File

@@ -0,0 +1,13 @@
diff --git a/Makefile.in b/Makefile.in
index e5ccfc7..922aa0c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -309,7 +309,7 @@ $(LIBHOGWEED_FORLINK): $(hogweed_OBJS) $(LIBNETTLE_FORLINK)
# For building the various *data.c programs. -lm needed for shadata.
%$(EXEEXT_FOR_BUILD): %.c
- $(CC_FOR_BUILD) $< -lm -o $@
+ $(CC_FOR_BUILD) $< $(CFLAGS) -lm -o $@
# Explicit dependency.
eccdata$(EXEEXT_FOR_BUILD): mini-gmp.c mini-gmp.h

288
externals/vcpkg/ports/nettle/hogweed-x64.def vendored Executable file
View File

@@ -0,0 +1,288 @@
EXPORTS
_nettle_ecc_curve448_modp
_nettle_ecc_curve25519_modp
_nettle_ecc_secp521r1_modp
_nettle_ecc_secp384r1_modp
_nettle_ecc_secp256r1_redc
_nettle_ecc_secp224r1_modp
_nettle_ecc_secp192r1_modp
nettle_ed448_shake256_verify
nettle_ed448_shake256_sign
nettle_ed448_shake256_public_key
_nettle_ed448_shake256
nettle_ed25519_sha512_verify
nettle_ed25519_sha512_sign
nettle_ed25519_sha512_public_key
_nettle_ed25519_sha512
_nettle_eddsa_verify
_nettle_eddsa_verify_itch
_nettle_eddsa_sign
_nettle_eddsa_sign_itch
_nettle_eddsa_public_key
_nettle_eddsa_public_key_itch
_nettle_eddsa_hash
_nettle_eddsa_expand_key
_nettle_eddsa_decompress
_nettle_eddsa_decompress_itch
_nettle_eddsa_compress
_nettle_eddsa_compress_itch
_nettle_curve448_eh_to_x
nettle_curve448_mul
nettle_curve448_mul_g
_nettle_curve25519_eh_to_x
nettle_curve25519_mul
nettle_curve25519_mul_g
nettle_gostdsa_vko
nettle_gostdsa_verify
nettle_ecc_gostdsa_verify
nettle_ecc_gostdsa_verify_itch
nettle_gostdsa_sign
nettle_ecc_gostdsa_sign
nettle_ecc_gostdsa_sign_itch
nettle_ecdsa_generate_keypair
nettle_ecdsa_verify
nettle_ecc_ecdsa_verify
nettle_ecc_ecdsa_verify_itch
nettle_ecdsa_sign
nettle_ecc_ecdsa_sign
nettle_ecc_ecdsa_sign_itch
nettle_ecc_point_mul_g
nettle_ecc_point_mul
nettle_ecc_scalar_clear
nettle_ecc_scalar_get
nettle_ecc_scalar_init
nettle_ecc_scalar_set
nettle_ecc_point_clear
nettle_ecc_point_get
nettle_ecc_point_init
nettle_ecc_point_set
_nettle_ecc_mod_random
nettle_ecc_scalar_random
_nettle_ecc_hash
_nettle_gost_hash
_nettle_ecc_mul_a
_nettle_ecc_mul_g
_nettle_ecc_mul_m
_nettle_ecc_mul_a_eh
_nettle_ecc_mul_g_eh
_nettle_ecc_add_thh
_nettle_ecc_add_th
_nettle_ecc_dup_th
_nettle_ecc_add_ehh
_nettle_ecc_add_eh
_nettle_ecc_dup_eh
_nettle_ecc_eh_to_a
_nettle_ecc_add_jjj
_nettle_ecc_add_jja
_nettle_ecc_dup_jj
_nettle_ecc_a_to_j
_nettle_ecc_j_to_a
nettle_ecc_bit_size
nettle_ecc_size
nettle_ecc_size_a
nettle_ecc_size_j
_nettle_secp_521r1
nettle_get_secp_521r1
_nettle_secp_384r1
nettle_get_secp_384r1
_nettle_secp_256r1
nettle_get_secp_256r1
_nettle_secp_224r1
nettle_get_secp_224r1
_nettle_secp_192r1
nettle_get_secp_192r1
_nettle_gost_gc512a
nettle_get_gost_gc512a
_nettle_gost_gc256b
nettle_get_gost_gc256b
_nettle_curve448
_nettle_curve25519
_nettle_ecc_pm1_redc
_nettle_ecc_pp1_redc
_nettle_ecc_mod_add
_nettle_ecc_mod_addmul_1
_nettle_ecc_mod_mul
_nettle_ecc_mod_mul_1
_nettle_ecc_mod_mul_canonical
_nettle_ecc_mod_pow_2k
_nettle_ecc_mod_pow_2k_mul
_nettle_ecc_mod_sqr
_nettle_ecc_mod_sqr_canonical
_nettle_ecc_mod_sub
_nettle_ecc_mod_submul_1
_nettle_ecc_mod_inv
_nettle_ecc_mod
_nettle_cnd_copy
_nettle_gmp_alloc
_nettle_gmp_alloc_limbs
_nettle_gmp_free
_nettle_gmp_free_limbs
_nettle_mpn_get_base256
_nettle_mpn_get_base256_le
_nettle_mpn_set_base256
_nettle_mpn_set_base256_le
_nettle_mpz_limbs_cmp
_nettle_mpz_limbs_copy
_nettle_mpz_limbs_read_n
_nettle_mpz_set_n
_nettle_sec_tabselect
_nettle_sec_sub_1
_nettle_sec_add_1
nettle_dsa_openssl_private_key_from_der_iterator
nettle_dsa_params_from_der_iterator
nettle_dsa_public_key_from_der_iterator
nettle_openssl_provate_key_from_der
nettle_rsa_keypair_from_der
nettle_rsa_private_key_from_der_iterator
nettle_rsa_public_key_from_der_iterator
nettle_asn1_der_decode_bitstring
nettle_asn1_der_decode_bitstring_last
nettle_asn1_der_decode_constructed
nettle_asn1_der_decode_constructed_last
nettle_asn1_der_get_bignum
nettle_asn1_der_get_uint32
nettle_asn1_der_iterator_first
nettle_asn1_der_iterator_next
nettle_rsa_keypair_to_openpgp
nettle_pgp_armor
nettle_pgp_crc24
nettle_pgp_put_header
nettle_pgp_put_header_length
nettle_pgp_put_length
nettle_pgp_put_mpi
nettle_pgp_put_public_rsa_key
nettle_pgp_put_rsa_sha1_signature
nettle_pgp_put_string
nettle_pgp_put_sub_packet
nettle_pgp_put_uint16
nettle_pgp_put_uint32
nettle_pgp_put_userid
nettle_pgp_sub_packet_end
nettle_pgp_sub_packet_start
nettle_dsa_keypair_from_sexp_alist
nettle_dsa_sha1_keypair_from_sexp
nettle_dsa_sha256_keypair_from_sexp
nettle_dsa_signature_from_sexp
nettle_dsa_keypair_to_sexp
nettle_dsa_sha256_verify
nettle_dsa_sha256_verify_digest
nettle_dsa_sha256_sign
nettle_dsa_sha256_sign_digest
nettle_dsa_sha1_verify
nettle_dsa_sha1_verify_digest
nettle_dsa_sha1_sign
nettle_dsa_sha1_sign_digest
_nettle_dsa_hash
nettle_dsa_generate_keypair
nettle_dsa_verify
nettle_dsa_sign
nettle_dsa_generate_params
nettle_dsa_compat_generate_keypair
nettle_dsa_private_key_clear
nettle_dsa_private_key_init
nettle_dsa_public_key_clear
nettle_dsa_public_key_init
nettle_dsa_params_clear
nettle_dsa_params_init
nettle_dsa_signature_clear
nettle_dsa_signature_init
nettle_rsa_keypair_from_sexp
nettle_rsa_keypair_from_sexp_alist
nettle_rsa_keypair_to_sexp
_nettle_rsa_blind
_nettle_rsa_unblind
nettle_rsa_generate_keypair
nettle_rsa_decrypt_tr
nettle_rsa_sec_decrypt
nettle_rsa_decrypt
nettle_rsa_encrypt
nettle_rsa_pss_sha384_verify_digest
nettle_rsa_pss_sha512_verify_digest
nettle_rsa_pss_sha384_sign_digest_tr
nettle_rsa_pss_sha512_sign_digest_tr
nettle_rsa_pss_sha256_verify_digest
nettle_rsa_pss_sha256_sign_digest_tr
nettle_rsa_sha512_verify
nettle_rsa_sha512_verify_digest
nettle_rsa_sha512_sign_digest_tr
nettle_rsa_sha512_sign_tr
nettle_rsa_sha512_sign
nettle_rsa_sha512_sign_digest
nettle_rsa_sha256_verify
nettle_rsa_sha256_verify_digest
nettle_rsa_sha256_sign_digest_tr
nettle_rsa_sha256_sign_tr
nettle_rsa_sha256_sign
nettle_rsa_sha256_sign_digest
nettle_rsa_sha1_verify
nettle_rsa_sha1_verify_digest
nettle_rsa_sha1_sign_digest_tr
nettle_rsa_sha1_sign_tr
nettle_rsa_sha1_sign
nettle_rsa_sha1_sign_digest
nettle_rsa_md5_verify
nettle_rsa_md5_verify_digest
nettle_rsa_md5_sign_digest_tr
nettle_rsa_md5_sign_tr
nettle_rsa_md5_sign
nettle_rsa_md5_sign_digest
nettle_rsa_pkcs1_verify
nettle_rsa_pkcs1_sign_tr
nettle_rsa_pkcs1_sign
_nettle_rsa_sec_compute_root
_nettle_rsa_sec_compute_root_itch
_nettle_rsa_verify
_nettle_rsa_verify_recover
_nettle_rsa_sec_compute_root_tr
nettle_rsa_compute_root_tr
nettle_rsa_compute_root
nettle_rsa_private_key_clear
nettle_rsa_private_key_init
nettle_rsa_private_key_prepare
_nettle_rsa_check_size
nettle_rsa_public_key_clear
nettle_rsa_public_key_init
nettle_rsa_public_key_prepare
nettle_pss_mgf1
nettle_pss_encode_mgf1
nettle_pss_verify_mgf1
nettle_pkcs1_rsa_sha512_encode
nettle_pkcs1_rsa_sha512_encode_digest
nettle_pkcs1_rsa_sha256_encode
nettle_pkcs1_rsa_sha256_encode_digest
nettle_pkcs1_rsa_sha1_encode
nettle_pkcs1_rsa_sha1_encode_digest
nettle_pkcs1_rsa_md5_encode
nettle_pkcs1_rsa_md5_encode_digest
nettle_pkcs1_rsa_digest_encode
_nettle_pkcs1_sec_decrypt
_nettle_pkcs1_sec_decrypt_variable
nettle_pkcs1_decrypt
nettle_pkcs1_encrypt
_nettle_pkcs1_signature_prefix
nettle_mpz_set_sexp
_nettle_generate_pocklington_prime
nettle_random_prime
nettle_mpz_random
nettle_mpz_random_size
nettle_mpz_get_str_256
nettle_mpz_init_set_str_256_s
nettle_mpz_init_set_str_256_u
nettle_mpz_set_str_256_s
nettle_mpz_set_str_256_u
nettle_mpz_sizeinbase_256_s
nettle_mpz_sizeinbase_256_u
nettle_sexp_transport_format
nettle_sexp_transport_vformat
nettle_sexp_transport_iterator_first
nettle_sexp_format
nettle_sexp_vformat
nettle_sexp_iterator_assoc
nettle_sexp_iterator_check_type
nettle_sexp_iterator_check_types
nettle_sexp_iterator_enter_list
nettle_sexp_iterator_exit_list
nettle_sexp_iterator_first
nettle_sexp_iterator_get_uint32
nettle_sexp_iterator_next
nettle_sexp_iterator_subexpr

281
externals/vcpkg/ports/nettle/hogweed-x86.def vendored Executable file
View File

@@ -0,0 +1,281 @@
EXPORTS
nettle_ed448_shake256_verify
nettle_ed448_shake256_sign
nettle_ed448_shake256_public_key
_nettle_ed448_shake256
nettle_ed25519_sha512_verify
nettle_ed25519_sha512_sign
nettle_ed25519_sha512_public_key
_nettle_ed25519_sha512
_nettle_eddsa_verify
_nettle_eddsa_verify_itch
_nettle_eddsa_sign
_nettle_eddsa_sign_itch
_nettle_eddsa_public_key
_nettle_eddsa_public_key_itch
_nettle_eddsa_hash
_nettle_eddsa_expand_key
_nettle_eddsa_decompress
_nettle_eddsa_decompress_itch
_nettle_eddsa_compress
_nettle_eddsa_compress_itch
_nettle_curve448_eh_to_x
nettle_curve448_mul
nettle_curve448_mul_g
_nettle_curve25519_eh_to_x
nettle_curve25519_mul
nettle_curve25519_mul_g
nettle_gostdsa_vko
nettle_gostdsa_verify
nettle_ecc_gostdsa_verify
nettle_ecc_gostdsa_verify_itch
nettle_gostdsa_sign
nettle_ecc_gostdsa_sign
nettle_ecc_gostdsa_sign_itch
nettle_ecdsa_generate_keypair
nettle_ecdsa_verify
nettle_ecc_ecdsa_verify
nettle_ecc_ecdsa_verify_itch
nettle_ecdsa_sign
nettle_ecc_ecdsa_sign
nettle_ecc_ecdsa_sign_itch
nettle_ecc_point_mul_g
nettle_ecc_point_mul
nettle_ecc_scalar_clear
nettle_ecc_scalar_get
nettle_ecc_scalar_init
nettle_ecc_scalar_set
nettle_ecc_point_clear
nettle_ecc_point_get
nettle_ecc_point_init
nettle_ecc_point_set
_nettle_ecc_mod_random
nettle_ecc_scalar_random
_nettle_ecc_hash
_nettle_gost_hash
_nettle_ecc_mul_a
_nettle_ecc_mul_g
_nettle_ecc_mul_m
_nettle_ecc_mul_a_eh
_nettle_ecc_mul_g_eh
_nettle_ecc_add_thh
_nettle_ecc_add_th
_nettle_ecc_dup_th
_nettle_ecc_add_ehh
_nettle_ecc_add_eh
_nettle_ecc_dup_eh
_nettle_ecc_eh_to_a
_nettle_ecc_add_jjj
_nettle_ecc_add_jja
_nettle_ecc_dup_jj
_nettle_ecc_a_to_j
_nettle_ecc_j_to_a
nettle_ecc_bit_size
nettle_ecc_size
nettle_ecc_size_a
nettle_ecc_size_j
_nettle_secp_521r1
nettle_get_secp_521r1
_nettle_secp_384r1
nettle_get_secp_384r1
_nettle_secp_256r1
nettle_get_secp_256r1
_nettle_secp_224r1
nettle_get_secp_224r1
_nettle_secp_192r1
nettle_get_secp_192r1
_nettle_gost_gc512a
nettle_get_gost_gc512a
_nettle_gost_gc256b
nettle_get_gost_gc256b
_nettle_curve448
_nettle_curve25519
_nettle_ecc_pm1_redc
_nettle_ecc_pp1_redc
_nettle_ecc_mod_add
_nettle_ecc_mod_addmul_1
_nettle_ecc_mod_mul
_nettle_ecc_mod_mul_1
_nettle_ecc_mod_mul_canonical
_nettle_ecc_mod_pow_2k
_nettle_ecc_mod_pow_2k_mul
_nettle_ecc_mod_sqr
_nettle_ecc_mod_sqr_canonical
_nettle_ecc_mod_sub
_nettle_ecc_mod_submul_1
_nettle_ecc_mod_inv
_nettle_ecc_mod
_nettle_cnd_copy
_nettle_gmp_alloc
_nettle_gmp_alloc_limbs
_nettle_gmp_free
_nettle_gmp_free_limbs
_nettle_mpn_get_base256
_nettle_mpn_get_base256_le
_nettle_mpn_set_base256
_nettle_mpn_set_base256_le
_nettle_mpz_limbs_cmp
_nettle_mpz_limbs_copy
_nettle_mpz_limbs_read_n
_nettle_mpz_set_n
_nettle_sec_tabselect
_nettle_sec_sub_1
_nettle_sec_add_1
nettle_dsa_openssl_private_key_from_der_iterator
nettle_dsa_params_from_der_iterator
nettle_dsa_public_key_from_der_iterator
nettle_openssl_provate_key_from_der
nettle_rsa_keypair_from_der
nettle_rsa_private_key_from_der_iterator
nettle_rsa_public_key_from_der_iterator
nettle_asn1_der_decode_bitstring
nettle_asn1_der_decode_bitstring_last
nettle_asn1_der_decode_constructed
nettle_asn1_der_decode_constructed_last
nettle_asn1_der_get_bignum
nettle_asn1_der_get_uint32
nettle_asn1_der_iterator_first
nettle_asn1_der_iterator_next
nettle_rsa_keypair_to_openpgp
nettle_pgp_armor
nettle_pgp_crc24
nettle_pgp_put_header
nettle_pgp_put_header_length
nettle_pgp_put_length
nettle_pgp_put_mpi
nettle_pgp_put_public_rsa_key
nettle_pgp_put_rsa_sha1_signature
nettle_pgp_put_string
nettle_pgp_put_sub_packet
nettle_pgp_put_uint16
nettle_pgp_put_uint32
nettle_pgp_put_userid
nettle_pgp_sub_packet_end
nettle_pgp_sub_packet_start
nettle_dsa_keypair_from_sexp_alist
nettle_dsa_sha1_keypair_from_sexp
nettle_dsa_sha256_keypair_from_sexp
nettle_dsa_signature_from_sexp
nettle_dsa_keypair_to_sexp
nettle_dsa_sha256_verify
nettle_dsa_sha256_verify_digest
nettle_dsa_sha256_sign
nettle_dsa_sha256_sign_digest
nettle_dsa_sha1_verify
nettle_dsa_sha1_verify_digest
nettle_dsa_sha1_sign
nettle_dsa_sha1_sign_digest
_nettle_dsa_hash
nettle_dsa_generate_keypair
nettle_dsa_verify
nettle_dsa_sign
nettle_dsa_generate_params
nettle_dsa_compat_generate_keypair
nettle_dsa_private_key_clear
nettle_dsa_private_key_init
nettle_dsa_public_key_clear
nettle_dsa_public_key_init
nettle_dsa_params_clear
nettle_dsa_params_init
nettle_dsa_signature_clear
nettle_dsa_signature_init
nettle_rsa_keypair_from_sexp
nettle_rsa_keypair_from_sexp_alist
nettle_rsa_keypair_to_sexp
_nettle_rsa_blind
_nettle_rsa_unblind
nettle_rsa_generate_keypair
nettle_rsa_decrypt_tr
nettle_rsa_sec_decrypt
nettle_rsa_decrypt
nettle_rsa_encrypt
nettle_rsa_pss_sha384_verify_digest
nettle_rsa_pss_sha512_verify_digest
nettle_rsa_pss_sha384_sign_digest_tr
nettle_rsa_pss_sha512_sign_digest_tr
nettle_rsa_pss_sha256_verify_digest
nettle_rsa_pss_sha256_sign_digest_tr
nettle_rsa_sha512_verify
nettle_rsa_sha512_verify_digest
nettle_rsa_sha512_sign_digest_tr
nettle_rsa_sha512_sign_tr
nettle_rsa_sha512_sign
nettle_rsa_sha512_sign_digest
nettle_rsa_sha256_verify
nettle_rsa_sha256_verify_digest
nettle_rsa_sha256_sign_digest_tr
nettle_rsa_sha256_sign_tr
nettle_rsa_sha256_sign
nettle_rsa_sha256_sign_digest
nettle_rsa_sha1_verify
nettle_rsa_sha1_verify_digest
nettle_rsa_sha1_sign_digest_tr
nettle_rsa_sha1_sign_tr
nettle_rsa_sha1_sign
nettle_rsa_sha1_sign_digest
nettle_rsa_md5_verify
nettle_rsa_md5_verify_digest
nettle_rsa_md5_sign_digest_tr
nettle_rsa_md5_sign_tr
nettle_rsa_md5_sign
nettle_rsa_md5_sign_digest
nettle_rsa_pkcs1_verify
nettle_rsa_pkcs1_sign_tr
nettle_rsa_pkcs1_sign
_nettle_rsa_sec_compute_root
_nettle_rsa_sec_compute_root_itch
_nettle_rsa_verify
_nettle_rsa_verify_recover
_nettle_rsa_sec_compute_root_tr
nettle_rsa_compute_root_tr
nettle_rsa_compute_root
nettle_rsa_private_key_clear
nettle_rsa_private_key_init
nettle_rsa_private_key_prepare
_nettle_rsa_check_size
nettle_rsa_public_key_clear
nettle_rsa_public_key_init
nettle_rsa_public_key_prepare
nettle_pss_mgf1
nettle_pss_encode_mgf1
nettle_pss_verify_mgf1
nettle_pkcs1_rsa_sha512_encode
nettle_pkcs1_rsa_sha512_encode_digest
nettle_pkcs1_rsa_sha256_encode
nettle_pkcs1_rsa_sha256_encode_digest
nettle_pkcs1_rsa_sha1_encode
nettle_pkcs1_rsa_sha1_encode_digest
nettle_pkcs1_rsa_md5_encode
nettle_pkcs1_rsa_md5_encode_digest
nettle_pkcs1_rsa_digest_encode
_nettle_pkcs1_sec_decrypt
_nettle_pkcs1_sec_decrypt_variable
nettle_pkcs1_decrypt
nettle_pkcs1_encrypt
_nettle_pkcs1_signature_prefix
nettle_mpz_set_sexp
_nettle_generate_pocklington_prime
nettle_random_prime
nettle_mpz_random
nettle_mpz_random_size
nettle_mpz_get_str_256
nettle_mpz_init_set_str_256_s
nettle_mpz_init_set_str_256_u
nettle_mpz_set_str_256_s
nettle_mpz_set_str_256_u
nettle_mpz_sizeinbase_256_s
nettle_mpz_sizeinbase_256_u
nettle_sexp_transport_format
nettle_sexp_transport_vformat
nettle_sexp_transport_iterator_first
nettle_sexp_format
nettle_sexp_vformat
nettle_sexp_iterator_assoc
nettle_sexp_iterator_check_type
nettle_sexp_iterator_check_types
nettle_sexp_iterator_enter_list
nettle_sexp_iterator_exit_list
nettle_sexp_iterator_first
nettle_sexp_iterator_get_uint32
nettle_sexp_iterator_next
nettle_sexp_iterator_subexpr

View File

@@ -0,0 +1,67 @@
diff --git a/Makefile.in b/Makefile.in
index b65ff4960..3887d0c8f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -27,7 +27,7 @@ PRE_CPPFLAGS = -I.
EXTRA_CFLAGS = $(CCPIC)
# FIXME: Add configuration of LIBEXT?
-LIBTARGETS = @IF_STATIC@ libnettle.a @IF_HOGWEED@ libhogweed.a
+LIBTARGETS = @IF_STATIC@ $(LIBNETTLE_FILE) @IF_HOGWEED@ $(LIBHOGWEED_FILE)
SHLIBTARGETS = @IF_SHARED@ $(LIBNETTLE_FORLINK) @IF_HOGWEED@ $(LIBHOGWEED_FORLINK)
getopt_SOURCES = getopt.c getopt1.c
@@ -277,13 +277,13 @@ nettle_OBJS = $(nettle_SOURCES:.c=.$(OBJEXT)) \
hogweed_OBJS = $(hogweed_SOURCES:.c=.$(OBJEXT)) \
$(OPT_HOGWEED_OBJS) @IF_MINI_GMP@ mini-gmp.$(OBJEXT)
-libnettle.a: $(nettle_OBJS)
+$(LIBNETTLE_FILE): $(nettle_OBJS)
-rm -f $@
$(AR) $(ARFLAGS) $@ $(nettle_OBJS)
$(RANLIB) $@
echo nettle > libnettle.stamp
-libhogweed.a: $(hogweed_OBJS)
+$(LIBHOGWEED_FILE): $(hogweed_OBJS)
-rm -f $@
$(AR) $(ARFLAGS) $@ $(hogweed_OBJS)
$(RANLIB) $@
diff --git a/configure.ac b/configure.ac
index e95f1c825..1d7ef36bb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -662,8 +665,8 @@ case "$host_os" in
# linking to the DLL, is installed into the lib dir.
case "$host_os" in
mingw32*)
- LIBNETTLE_FORLINK='libnettle-$(LIBNETTLE_MAJOR).dll'
- LIBHOGWEED_FORLINK='libhogweed-$(LIBHOGWEED_MAJOR).dll'
+ LIBNETTLE_FORLINK='nettle-$(LIBNETTLE_MAJOR).dll'
+ LIBHOGWEED_FORLINK='hogweed-$(LIBHOGWEED_MAJOR).dll'
;;
cygwin*)
LIBNETTLE_FORLINK='cygnettle-$(LIBNETTLE_MAJOR).dll'
@@ -684,16 +687,16 @@ case "$host_os" in
W64_ABI=yes
fi
LIBNETTLE_SONAME=''
- LIBNETTLE_FILE='libnettle.dll.a'
+ LIBNETTLE_FILE='nettle.lib'
LIBNETTLE_FILE_SRC='$(LIBNETTLE_FILE)'
- LIBNETTLE_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,--out-implib=$(LIBNETTLE_FILE) -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive'
+ LIBNETTLE_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBNETTLE_FILE) -Wl,-DEF:nettle.def'
- LIBNETTLE_LIBS='-Wl,--no-whole-archive $(LIBS)'
+ LIBNETTLE_LIBS='$(LIBS)'
LIBHOGWEED_SONAME=''
- LIBHOGWEED_FILE='libhogweed.dll.a'
+ LIBHOGWEED_FILE='hogweed.lib'
LIBHOGWEED_FILE_SRC='$(LIBHOGWEED_FILE)'
- LIBHOGWEED_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,--out-implib=$(LIBHOGWEED_FILE) -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive'
+ LIBHOGWEED_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBHOGWEED_FILE) -Wl,-DEF:hogweed.def'
- LIBHOGWEED_LIBS='-Wl,--no-whole-archive $(LIBS) libnettle.dll.a'
+ LIBHOGWEED_LIBS='$(LIBS) $(LIBNETTLE_FILE)'
IF_DLL=''
;;
darwin*)

509
externals/vcpkg/ports/nettle/nettle-x64.def vendored Executable file
View File

@@ -0,0 +1,509 @@
EXPORTS
_nettle_sha256_compress_sha_ni
_nettle_sha1_compress_sha_ni
_nettle_salsa20_2core
_nettle_memxor_sse2
_nettle_aes_decrypt_aesni
_nettle_aes_encrypt_aesni
_nettle_cpuid
_nettle_gcm_hash8
_nettle_aes_decrypt
_nettle_aes_encrypt
_nettle_sha256_compress
nettle_memxor
nettle_sha1_compress
nettle_xts_aes256_decrypt_message
nettle_xts_aes256_encrypt_message
nettle_xts_aes256_set_decrypt_key
nettle_xts_aes256_set_encrypt_key
nettle_xts_aes128_decrypt_message
nettle_xts_aes128_encrypt_message
nettle_xts_aes128_set_decrypt_key
nettle_xts_aes128_set_encrypt_key
nettle_xts_decrypt_message
nettle_xts_encrypt_message
nettle_yarrow_key_event_estimate
nettle_yarrow_key_event_init
nettle_yarrow256_fast_reseed
nettle_yarrow256_init
nettle_yarrow256_is_seeded
nettle_yarrow256_needed_sources
nettle_yarrow256_random
nettle_yarrow256_seed
nettle_yarrow256_slow_reseed
nettle_yarrow256_update
_nettle_write_le64
_nettle_write_le32
_nettle_write_be32
nettle_version_major
nettle_version_minor
nettle_umac128_digest
nettle_umac128_set_key
nettle_umac128_set_nonce
nettle_umac128_update
nettle_umac96_digest
nettle_umac96_set_key
nettle_umac96_set_nonce
nettle_umac96_update
nettle_umac64_digest
nettle_umac64_set_key
nettle_umac64_set_nonce
nettle_umac64_update
nettle_umac32_digest
nettle_umac32_set_key
nettle_umac32_set_nonce
nettle_umac32_update
_nettle_umac_set_key
_nettle_umac_poly128
_nettle_umac_poly64
_nettle_umac_l3
_nettle_umac_l3_init
_nettle_umac_l2
_nettle_umac_l2_final
_nettle_umac_l2_init
_nettle_umac_nh_n
_nettle_umac_nh
nettle_twofish128
nettle_twofish192
nettle_twofish256
nettle_twofish128_set_key
nettle_twofish192_set_key
nettle_twofish256_set_key
nettle_twofish_decrypt
nettle_twofish_encrypt
nettle_twofish_set_key
nettle_streebog256
nettle_streebog512
nettle_streebog256_digest
nettle_streebog256_init
nettle_streebog512_digest
nettle_streebog512_init
nettle_streebog512_update
nettle_serpent128
nettle_serpent192
nettle_serpent256
nettle_serpent_decrypt
nettle_serpent_encrypt
nettle_serpent128_set_key
nettle_serpent192_set_key
nettle_serpent256_set_key
nettle_serpent_set_key
nettle_sha3_256_shake
nettle_sha3_512
nettle_sha3_512_digest
nettle_sha3_512_init
nettle_sha3_512_update
nettle_sha3_384
nettle_sha3_384_digest
nettle_sha3_384_init
nettle_sha3_384_update
nettle_sha3_256
nettle_sha3_256_digest
nettle_sha3_256_init
nettle_sha3_256_update
nettle_sha3_224
nettle_sha3_224_digest
nettle_sha3_224_init
nettle_sha3_224_update
nettle_sha3_permute
_nettle_sha3_pad
_nettle_sha3_update
nettle_sha512_256
nettle_sha512_224
nettle_sha512
nettle_sha384
_nettle_sha512_compress
nettle_sha384_digest
nettle_sha384_init
nettle_sha512_224_digest
nettle_sha512_224_init
nettle_sha512_256_digest
nettle_sha512_256_init
nettle_sha512_digest
nettle_sha512_init
nettle_sha512_update
nettle_sha256
nettle_sha224
_nettle_sha256_compress_x86_64
nettle_sha224_digest
nettle_sha224_init
nettle_sha256_digest
nettle_sha256_init
nettle_sha256_update
nettle_sha1
_nettle_sha1_compress_x86_64
nettle_sha1_digest
nettle_sha1_init
nettle_sha1_update
nettle_salsa20_256_set_key
nettle_salsa20_128_set_key
nettle_salsa20_set_nonce
nettle_salsa20_set_key
nettle_salsa20r12_crypt
nettle_salsa20_crypt
_nettle_salsa20_crypt
_nettle_salsa20_core
nettle_ripemd160
_nettle_ripemd160_compress
nettle_ripemd160_digest
nettle_ripemd160_init
nettle_ripemd160_update
nettle_realloc
nettle_xrealloc
_nettle_poly1305_block
_nettle_poly1305_digest
_nettle_poly1305_set_key
nettle_poly1305_aes_digest
nettle_poly1305_aes_set_key
nettle_poly1305_aes_set_nonce
nettle_poly1305_aes_update
nettle_pbkdf2_hmac_sha512
nettle_pbkdf2_hmac_sha384
nettle_pbkdf2_hmac_sha256
nettle_pbkdf2_hmac_sha1
nettle_pbkdf2_hmac_gosthash94cp
nettle_pbkdf2
_nettle_macs
nettle_get_macs
_nettle_hashes
nettle_get_hashes
_nettle_ciphers
nettle_get_ciphers
_nettle_armors
nettle_get_armors
_nettle_aeads
nettle_get_aeads
nettle_lookup_hash
nettle_memxor3
_nettle_memxor_x86_64
nettle_memeql_sec
nettle_md5
nettle_MD5Final
nettle_MD5Init
nettle_MD5Update
nettle_md5_compress
nettle_md5_digest
nettle_md5_init
nettle_md5_update
nettle_md4
nettle_md4_digest
nettle_md4_init
nettle_md4_update
nettle_md2
nettle_md2_digest
nettle_md2_init
nettle_md2_update
nettle_hkdf_expand
nettle_hkdf_extract
nettle_knuth_lfib_get
nettle_knuth_lfib_get_array
nettle_knuth_lfib_init
nettle_knuth_lfib_random
nettle_hmac_streebog256
nettle_hmac_streebog512
nettle_hmac_sha512
nettle_hmac_sha384
nettle_hmac_sha256
nettle_hmac_sha224
nettle_hmac_sha1
nettle_hmac_ripemd160
nettle_hmac_md5
nettle_hmac_streebog256_digest
nettle_hmac_streebog256_set_key
nettle_hmac_streebog512_digest
nettle_hmac_streebog512_set_key
nettle_hmac_streebog512_update
nettle_hmac_sha512_digest
nettle_hmac_sha512_set_key
nettle_hmac_sha512_update
nettle_hmac_sha384_digest
nettle_hmac_sha384_set_key
nettle_hmac_sha256_digest
nettle_hmac_sha256_set_key
nettle_hmac_sha256_update
nettle_hmac_sha224_digest
nettle_hmac_sha224_set_key
nettle_hmac_sha1_digest
nettle_hmac_sha1_set_key
nettle_hmac_sha1_update
nettle_hmac_ripemd160_digest
nettle_hmac_ripemd160_set_key
nettle_hmac_ripemd160_update
nettle_hmac_md5_digest
nettle_hmac_md5_set_key
nettle_hmac_md5_update
nettle_hmac_gosthash94_digest
nettle_hmac_gosthash94_set_key
nettle_hmac_gosthash94_update
nettle_hmac_gosthash94cp_digest
nettle_hmac_gosthash94cp_set_key
nettle_hmac_gosthash94cp_update
nettle_hmac_digest
nettle_hmac_set_key
nettle_hmac_update
nettle_gosthash94
nettle_gosthash94cp
nettle_gosthash94_digest
nettle_gosthash94_init
nettle_gosthash94_update
nettle_gosthash94cp_digest
nettle_gosthash94cp_update
_nettle_gost28147_encrypt_block
_nettle_gost28147_param_CryptoPro_3411
_nettle_gost28147_param_test_3411
nettle_cmac_des3
nettle_cmac_aes256
nettle_cmac_aes128
nettle_cmac_des3_digest
nettle_cmac_des3_set_key
nettle_cmac_des3_update
nettle_cmac_aes256_digest
nettle_cmac_aes256_set_key
nettle_cmac_aes256_update
nettle_cmac_aes128_digest
nettle_cmac_aes128_set_key
nettle_cmac_aes128_update
nettle_cmac64_digest
nettle_cmac64_init
nettle_cmac64_set_key
nettle_cmac64_update
nettle_cmac128_digest
nettle_cmac128_init
nettle_cmac128_set_key
nettle_cmac128_update
nettle_gcm_camellia256
nettle_gcm_camellia256_decrypt
nettle_gcm_camellia256_digest
nettle_gcm_camellia256_encrypt
nettle_gcm_camellia256_set_iv
nettle_gcm_camellia256_set_key
nettle_gcm_camellia256_update
nettle_gcm_camellia128
nettle_gcm_camellia128_decrypt
nettle_gcm_camellia128_digest
nettle_gcm_camellia128_encrypt
nettle_gcm_camellia128_set_iv
nettle_gcm_camellia128_set_key
nettle_gcm_camellia128_update
nettle_gcm_aes256
nettle_gcm_aes256_decrypt
nettle_gcm_aes256_digest
nettle_gcm_aes256_encrypt
nettle_gcm_aes256_set_iv
nettle_gcm_aes256_set_key
nettle_gcm_aes256_update
nettle_gcm_aes192
nettle_gcm_aes192_decrypt
nettle_gcm_aes192_digest
nettle_gcm_aes192_encrypt
nettle_gcm_aes192_set_iv
nettle_gcm_aes192_set_key
nettle_gcm_aes192_update
nettle_gcm_aes128
nettle_gcm_aes128_decrypt
nettle_gcm_aes128_digest
nettle_gcm_aes128_encrypt
nettle_gcm_aes128_set_iv
nettle_gcm_aes128_set_key
nettle_gcm_aes128_update
nettle_gcm_aes_decrypt
nettle_gcm_aes_digest
nettle_gcm_aes_encrypt
nettle_gcm_aes_set_iv
nettle_gcm_aes_set_key
nettle_gcm_aes_update
nettle_gcm_decrypt
nettle_gcm_digest
nettle_gcm_encrypt
nettle_gcm_set_iv
nettle_gcm_set_key
nettle_gcm_update
nettle_eax_aes128
nettle_eax_aes128_decrypt
nettle_eax_aes128_digest
nettle_eax_aes128_encrypt
nettle_eax_aes128_set_key
nettle_eax_aes128_set_nonce
nettle_eax_aes128_update
nettle_eax_decrypt
nettle_eax_digest
nettle_eax_encrypt
nettle_eax_set_key
nettle_eax_set_nonce
nettle_eax_update
nettle_des3_decrypt
nettle_des3_encrypt
nettle_des3_set_key
nettle_des_check_parity
nettle_des_decrypt
nettle_des_encrypt
nettle_des_fix_parity
nettle_des_set_key
_nettle_ctr_crypt16
nettle_ctr_crypt
nettle_chacha_set_counter
nettle_chacha_set_counter32
nettle_chacha_set_nonce
nettle_chacha_set_nonce96
nettle_chacha_set_key
nettle_chacha_poly1305
nettle_chacha_poly1305_decrypt
nettle_chacha_poly1305_digest
nettle_chacha_poly1305_encrypt
nettle_chacha_poly1305_set_key
nettle_chacha_poly1305_set_nonce
nettle_chacha_poly1305_update
_nettle_chacha_core
nettle_chacha_crypt
nettle_chacha_crypt32
nettle_cnd_memcpy
nettle_siv_cmac_aes256_decrypt_message
nettle_siv_cmac_aes256_encrypt_message
nettle_siv_cmac_aes256_set_key
nettle_siv_cmac_aes128_decrypt_message
nettle_siv_cmac_aes128_encrypt_message
nettle_siv_cmac_aes128_set_key
nettle_siv_cmac_decrypt_message
nettle_siv_cmac_encrypt_message
nettle_siv_cmac_set_key
nettle_cfb8_decrypt
nettle_cfb8_encrypt
nettle_cfb_decrypt
nettle_cfb_encrypt
nettle_ccm_aes256_decrypt
nettle_ccm_aes256_decrypt_message
nettle_ccm_aes256_digest
nettle_ccm_aes256_encrypt
nettle_ccm_aes256_encrypt_message
nettle_ccm_aes256_set_key
nettle_ccm_aes256_set_nonce
nettle_ccm_aes256_update
nettle_ccm_aes192_decrypt
nettle_ccm_aes192_decrypt_message
nettle_ccm_aes192_digest
nettle_ccm_aes192_encrypt
nettle_ccm_aes192_encrypt_message
nettle_ccm_aes192_set_key
nettle_ccm_aes192_set_nonce
nettle_ccm_aes192_update
nettle_ccm_aes128_decrypt
nettle_ccm_aes128_decrypt_message
nettle_ccm_aes128_digest
nettle_ccm_aes128_encrypt
nettle_ccm_aes128_encrypt_message
nettle_ccm_aes128_set_key
nettle_ccm_aes128_set_nonce
nettle_ccm_aes128_update
nettle_ccm_decrypt
nettle_ccm_decrypt_message
nettle_ccm_digest
nettle_ccm_encrypt
nettle_ccm_encrypt_message
nettle_ccm_set_nonce
nettle_ccm_update
nettle_cbc_decrypt
nettle_cbc_encrypt
nettle_cast128
nettle_cast128_decrypt
nettle_cast128_encrypt
nettle_cast128_set_key
nettle_cast5_set_key
nettle_camellia256
nettle_camellia192_set_decrypt_key
nettle_camellia256_invert_key
nettle_camellia256_set_decrypt_key
nettle_camellia256_crypt
nettle_camellia192_set_encrypt_key
nettle_camellia256_set_encrypt_key
nettle_camellia192
nettle_camellia128
nettle_camellia128_invert_key
nettle_camellia_set_decrypt_key
nettle_camellia128_crypt
nettle_camellia128_set_encrypt_key
_nettle_camellia_invert_key
_nettle_camellia_absorb
_nettle_camellia_table
_nettle_camellia_crypt
nettle_buffer_init
nettle_buffer_clear
nettle_buffer_copy
nettle_buffer_grow
nettle_buffer_init_realloc
nettle_buffer_init_size
nettle_buffer_reset
nettle_buffer_space
nettle_buffer_write
nettle_base64url
nettle_base64url_decode_init
nettle_base64url_encode_init
nettle_base64
nettle_base64_decode_final
nettle_base64_decode_init
nettle_base64_decode_single
nettle_base64_decode_update
nettle_base64_encode_final
nettle_base64_encode_group
nettle_base64_encode_init
nettle_base64_encode_raw
nettle_base64_encode_single
nettle_base64_encode_update
nettle_base16
nettle_base16_decode_final
nettle_base16_decode_init
nettle_base16_decode_single
nettle_base16_decode_update
nettle_base16_encode_single
nettle_base16_encode_update
nettle_blowfish_bcrypt_hash
nettle_blowfish_bcrypt_verify
_nettle_blowfish_encround
_nettle_blowfish_initial_ctx
nettle_blowfish128_set_key
nettle_blowfish_decrypt
nettle_blowfish_encrypt
nettle_blowfish_set_key
nettle_arctwo128
nettle_arctwo40
nettle_arctwo64
nettle_arctwo_gutmann128
nettle_arctwo128_set_key
nettle_arctwo128_set_key_gutmann
nettle_arctwo40_set_key
nettle_arctwo64_set_key
nettle_arctwo_decrypt
nettle_arctwo_encrypt
nettle_arctwo_set_key
nettle_arctwo_set_key_ekb
nettle_arctwo_set_key_gutmann
nettle_arcfour_crypt
nettle_arcfour128_set_key
nettle_arcfour_set_key
nettle_aes256
nettle_aes256_invert_key
nettle_aes256_set_decrypt_key
nettle_aes256_set_encrypt_key
nettle_aes192
nettle_aes192_invert_key
nettle_aes192_set_decrypt_key
nettle_aes192_set_encrypt_key
nettle_aes128
nettle_aes128_invert_key
nettle_aes128_set_decrypt_key
nettle_aes128_set_encrypt_key
nettle_aes_invert_key
nettle_aes_set_decrypt_key
nettle_aes_set_encrypt_key
_nettle_aes_set_key
_nettle_aes_invert
_nettle_aes_encrypt_table
nettle_aes128_encrypt
nettle_aes192_encrypt
nettle_aes256_encrypt
nettle_aes_encrypt
_nettle_aes_encrypt_x86_64
nettle_aes128_decrypt
nettle_aes192_decrypt
nettle_aes256_decrypt
nettle_aes_decrypt
_nettle_aes_decrypt_x86_64

496
externals/vcpkg/ports/nettle/nettle-x86.def vendored Executable file
View File

@@ -0,0 +1,496 @@
EXPORTS
nettle_xts_aes256_decrypt_message
nettle_xts_aes256_encrypt_message
nettle_xts_aes256_set_decrypt_key
nettle_xts_aes256_set_encrypt_key
nettle_xts_aes128_decrypt_message
nettle_xts_aes128_encrypt_message
nettle_xts_aes128_set_decrypt_key
nettle_xts_aes128_set_encrypt_key
nettle_xts_decrypt_message
nettle_xts_encrypt_message
nettle_yarrow_key_event_estimate
nettle_yarrow_key_event_init
nettle_yarrow256_fast_reseed
nettle_yarrow256_init
nettle_yarrow256_is_seeded
nettle_yarrow256_needed_sources
nettle_yarrow256_random
nettle_yarrow256_seed
nettle_yarrow256_slow_reseed
nettle_yarrow256_update
_nettle_write_le64
_nettle_write_le32
_nettle_write_be32
nettle_version_major
nettle_version_minor
nettle_umac128_digest
nettle_umac128_set_key
nettle_umac128_set_nonce
nettle_umac128_update
nettle_umac96_digest
nettle_umac96_set_key
nettle_umac96_set_nonce
nettle_umac96_update
nettle_umac64_digest
nettle_umac64_set_key
nettle_umac64_set_nonce
nettle_umac64_update
nettle_umac32_digest
nettle_umac32_set_key
nettle_umac32_set_nonce
nettle_umac32_update
_nettle_umac_set_key
_nettle_umac_poly128
_nettle_umac_poly64
_nettle_umac_l3
_nettle_umac_l3_init
_nettle_umac_l2
_nettle_umac_l2_final
_nettle_umac_l2_init
_nettle_umac_nh_n
_nettle_umac_nh
nettle_twofish128
nettle_twofish192
nettle_twofish256
nettle_twofish128_set_key
nettle_twofish192_set_key
nettle_twofish256_set_key
nettle_twofish_decrypt
nettle_twofish_encrypt
nettle_twofish_set_key
nettle_streebog256
nettle_streebog512
nettle_streebog256_digest
nettle_streebog256_init
nettle_streebog512_digest
nettle_streebog512_init
nettle_streebog512_update
nettle_serpent128
nettle_serpent192
nettle_serpent256
nettle_serpent_decrypt
nettle_serpent_encrypt
nettle_serpent128_set_key
nettle_serpent192_set_key
nettle_serpent256_set_key
nettle_serpent_set_key
nettle_sha3_256_shake
nettle_sha3_512
nettle_sha3_512_digest
nettle_sha3_512_init
nettle_sha3_512_update
nettle_sha3_384
nettle_sha3_384_digest
nettle_sha3_384_init
nettle_sha3_384_update
nettle_sha3_256
nettle_sha3_256_digest
nettle_sha3_256_init
nettle_sha3_256_update
nettle_sha3_224
nettle_sha3_224_digest
nettle_sha3_224_init
nettle_sha3_224_update
nettle_sha3_permute
_nettle_sha3_pad
_nettle_sha3_update
nettle_sha512_256
nettle_sha512_224
nettle_sha512
nettle_sha384
_nettle_sha512_compress
nettle_sha384_digest
nettle_sha384_init
nettle_sha512_224_digest
nettle_sha512_224_init
nettle_sha512_256_digest
nettle_sha512_256_init
nettle_sha512_digest
nettle_sha512_init
nettle_sha512_update
nettle_sha256
nettle_sha224
_nettle_sha256_compress
nettle_sha224_digest
nettle_sha224_init
nettle_sha256_digest
nettle_sha256_init
nettle_sha256_update
nettle_sha1
nettle_sha1_compress
nettle_sha1_digest
nettle_sha1_init
nettle_sha1_update
nettle_salsa20_256_set_key
nettle_salsa20_128_set_key
nettle_salsa20_set_nonce
nettle_salsa20_set_key
nettle_salsa20r12_crypt
nettle_salsa20_crypt
_nettle_salsa20_crypt
_nettle_salsa20_core
nettle_ripemd160
_nettle_ripemd160_compress
nettle_ripemd160_digest
nettle_ripemd160_init
nettle_ripemd160_update
nettle_realloc
nettle_xrealloc
_nettle_poly1305_block
_nettle_poly1305_digest
_nettle_poly1305_set_key
nettle_poly1305_aes_digest
nettle_poly1305_aes_set_key
nettle_poly1305_aes_set_nonce
nettle_poly1305_aes_update
nettle_pbkdf2_hmac_sha512
nettle_pbkdf2_hmac_sha384
nettle_pbkdf2_hmac_sha256
nettle_pbkdf2_hmac_sha1
nettle_pbkdf2_hmac_gosthash94cp
nettle_pbkdf2
_nettle_macs
nettle_get_macs
_nettle_hashes
nettle_get_hashes
_nettle_ciphers
nettle_get_ciphers
_nettle_armors
nettle_get_armors
_nettle_aeads
nettle_get_aeads
nettle_lookup_hash
nettle_memxor3
nettle_memxor
nettle_memeql_sec
nettle_md5
nettle_MD5Final
nettle_MD5Init
nettle_MD5Update
nettle_md5_compress
nettle_md5_digest
nettle_md5_init
nettle_md5_update
nettle_md4
nettle_md4_digest
nettle_md4_init
nettle_md4_update
nettle_md2
nettle_md2_digest
nettle_md2_init
nettle_md2_update
nettle_hkdf_expand
nettle_hkdf_extract
nettle_knuth_lfib_get
nettle_knuth_lfib_get_array
nettle_knuth_lfib_init
nettle_knuth_lfib_random
nettle_hmac_streebog256
nettle_hmac_streebog512
nettle_hmac_sha512
nettle_hmac_sha384
nettle_hmac_sha256
nettle_hmac_sha224
nettle_hmac_sha1
nettle_hmac_ripemd160
nettle_hmac_md5
nettle_hmac_streebog256_digest
nettle_hmac_streebog256_set_key
nettle_hmac_streebog512_digest
nettle_hmac_streebog512_set_key
nettle_hmac_streebog512_update
nettle_hmac_sha512_digest
nettle_hmac_sha512_set_key
nettle_hmac_sha512_update
nettle_hmac_sha384_digest
nettle_hmac_sha384_set_key
nettle_hmac_sha256_digest
nettle_hmac_sha256_set_key
nettle_hmac_sha256_update
nettle_hmac_sha224_digest
nettle_hmac_sha224_set_key
nettle_hmac_sha1_digest
nettle_hmac_sha1_set_key
nettle_hmac_sha1_update
nettle_hmac_ripemd160_digest
nettle_hmac_ripemd160_set_key
nettle_hmac_ripemd160_update
nettle_hmac_md5_digest
nettle_hmac_md5_set_key
nettle_hmac_md5_update
nettle_hmac_gosthash94_digest
nettle_hmac_gosthash94_set_key
nettle_hmac_gosthash94_update
nettle_hmac_gosthash94cp_digest
nettle_hmac_gosthash94cp_set_key
nettle_hmac_gosthash94cp_update
nettle_hmac_digest
nettle_hmac_set_key
nettle_hmac_update
nettle_gosthash94
nettle_gosthash94cp
nettle_gosthash94_digest
nettle_gosthash94_init
nettle_gosthash94_update
nettle_gosthash94cp_digest
nettle_gosthash94cp_update
_nettle_gost28147_encrypt_block
_nettle_gost28147_param_CryptoPro_3411
_nettle_gost28147_param_test_3411
nettle_cmac_des3
nettle_cmac_aes256
nettle_cmac_aes128
nettle_cmac_des3_digest
nettle_cmac_des3_set_key
nettle_cmac_des3_update
nettle_cmac_aes256_digest
nettle_cmac_aes256_set_key
nettle_cmac_aes256_update
nettle_cmac_aes128_digest
nettle_cmac_aes128_set_key
nettle_cmac_aes128_update
nettle_cmac64_digest
nettle_cmac64_init
nettle_cmac64_set_key
nettle_cmac64_update
nettle_cmac128_digest
nettle_cmac128_init
nettle_cmac128_set_key
nettle_cmac128_update
nettle_gcm_camellia256
nettle_gcm_camellia256_decrypt
nettle_gcm_camellia256_digest
nettle_gcm_camellia256_encrypt
nettle_gcm_camellia256_set_iv
nettle_gcm_camellia256_set_key
nettle_gcm_camellia256_update
nettle_gcm_camellia128
nettle_gcm_camellia128_decrypt
nettle_gcm_camellia128_digest
nettle_gcm_camellia128_encrypt
nettle_gcm_camellia128_set_iv
nettle_gcm_camellia128_set_key
nettle_gcm_camellia128_update
nettle_gcm_aes256
nettle_gcm_aes256_decrypt
nettle_gcm_aes256_digest
nettle_gcm_aes256_encrypt
nettle_gcm_aes256_set_iv
nettle_gcm_aes256_set_key
nettle_gcm_aes256_update
nettle_gcm_aes192
nettle_gcm_aes192_decrypt
nettle_gcm_aes192_digest
nettle_gcm_aes192_encrypt
nettle_gcm_aes192_set_iv
nettle_gcm_aes192_set_key
nettle_gcm_aes192_update
nettle_gcm_aes128
nettle_gcm_aes128_decrypt
nettle_gcm_aes128_digest
nettle_gcm_aes128_encrypt
nettle_gcm_aes128_set_iv
nettle_gcm_aes128_set_key
nettle_gcm_aes128_update
nettle_gcm_aes_decrypt
nettle_gcm_aes_digest
nettle_gcm_aes_encrypt
nettle_gcm_aes_set_iv
nettle_gcm_aes_set_key
nettle_gcm_aes_update
nettle_gcm_decrypt
nettle_gcm_digest
nettle_gcm_encrypt
nettle_gcm_set_iv
nettle_gcm_set_key
nettle_gcm_update
nettle_eax_aes128
nettle_eax_aes128_decrypt
nettle_eax_aes128_digest
nettle_eax_aes128_encrypt
nettle_eax_aes128_set_key
nettle_eax_aes128_set_nonce
nettle_eax_aes128_update
nettle_eax_decrypt
nettle_eax_digest
nettle_eax_encrypt
nettle_eax_set_key
nettle_eax_set_nonce
nettle_eax_update
nettle_des3_decrypt
nettle_des3_encrypt
nettle_des3_set_key
nettle_des_check_parity
nettle_des_decrypt
nettle_des_encrypt
nettle_des_fix_parity
nettle_des_set_key
_nettle_ctr_crypt16
nettle_ctr_crypt
nettle_chacha_set_counter
nettle_chacha_set_counter32
nettle_chacha_set_nonce
nettle_chacha_set_nonce96
nettle_chacha_set_key
nettle_chacha_poly1305
nettle_chacha_poly1305_decrypt
nettle_chacha_poly1305_digest
nettle_chacha_poly1305_encrypt
nettle_chacha_poly1305_set_key
nettle_chacha_poly1305_set_nonce
nettle_chacha_poly1305_update
_nettle_chacha_core
nettle_chacha_crypt
nettle_chacha_crypt32
nettle_cnd_memcpy
nettle_siv_cmac_aes256_decrypt_message
nettle_siv_cmac_aes256_encrypt_message
nettle_siv_cmac_aes256_set_key
nettle_siv_cmac_aes128_decrypt_message
nettle_siv_cmac_aes128_encrypt_message
nettle_siv_cmac_aes128_set_key
nettle_siv_cmac_decrypt_message
nettle_siv_cmac_encrypt_message
nettle_siv_cmac_set_key
nettle_cfb8_decrypt
nettle_cfb8_encrypt
nettle_cfb_decrypt
nettle_cfb_encrypt
nettle_ccm_aes256_decrypt
nettle_ccm_aes256_decrypt_message
nettle_ccm_aes256_digest
nettle_ccm_aes256_encrypt
nettle_ccm_aes256_encrypt_message
nettle_ccm_aes256_set_key
nettle_ccm_aes256_set_nonce
nettle_ccm_aes256_update
nettle_ccm_aes192_decrypt
nettle_ccm_aes192_decrypt_message
nettle_ccm_aes192_digest
nettle_ccm_aes192_encrypt
nettle_ccm_aes192_encrypt_message
nettle_ccm_aes192_set_key
nettle_ccm_aes192_set_nonce
nettle_ccm_aes192_update
nettle_ccm_aes128_decrypt
nettle_ccm_aes128_decrypt_message
nettle_ccm_aes128_digest
nettle_ccm_aes128_encrypt
nettle_ccm_aes128_encrypt_message
nettle_ccm_aes128_set_key
nettle_ccm_aes128_set_nonce
nettle_ccm_aes128_update
nettle_ccm_decrypt
nettle_ccm_decrypt_message
nettle_ccm_digest
nettle_ccm_encrypt
nettle_ccm_encrypt_message
nettle_ccm_set_nonce
nettle_ccm_update
nettle_cbc_decrypt
nettle_cbc_encrypt
nettle_cast128
nettle_cast128_decrypt
nettle_cast128_encrypt
nettle_cast128_set_key
nettle_cast5_set_key
nettle_camellia256
nettle_camellia192_set_decrypt_key
nettle_camellia256_invert_key
nettle_camellia256_set_decrypt_key
nettle_camellia256_crypt
nettle_camellia192_set_encrypt_key
nettle_camellia256_set_encrypt_key
nettle_camellia192
nettle_camellia128
nettle_camellia128_invert_key
nettle_camellia_set_decrypt_key
nettle_camellia128_crypt
nettle_camellia128_set_encrypt_key
_nettle_camellia_invert_key
_nettle_camellia_absorb
_nettle_camellia_table
_nettle_camellia_crypt
nettle_buffer_init
nettle_buffer_clear
nettle_buffer_copy
nettle_buffer_grow
nettle_buffer_init_realloc
nettle_buffer_init_size
nettle_buffer_reset
nettle_buffer_space
nettle_buffer_write
nettle_base64url
nettle_base64url_decode_init
nettle_base64url_encode_init
nettle_base64
nettle_base64_decode_final
nettle_base64_decode_init
nettle_base64_decode_single
nettle_base64_decode_update
nettle_base64_encode_final
nettle_base64_encode_group
nettle_base64_encode_init
nettle_base64_encode_raw
nettle_base64_encode_single
nettle_base64_encode_update
nettle_base16
nettle_base16_decode_final
nettle_base16_decode_init
nettle_base16_decode_single
nettle_base16_decode_update
nettle_base16_encode_single
nettle_base16_encode_update
nettle_blowfish_bcrypt_hash
nettle_blowfish_bcrypt_verify
_nettle_blowfish_encround
_nettle_blowfish_initial_ctx
nettle_blowfish128_set_key
nettle_blowfish_decrypt
nettle_blowfish_encrypt
nettle_blowfish_set_key
nettle_arctwo128
nettle_arctwo40
nettle_arctwo64
nettle_arctwo_gutmann128
nettle_arctwo128_set_key
nettle_arctwo128_set_key_gutmann
nettle_arctwo40_set_key
nettle_arctwo64_set_key
nettle_arctwo_decrypt
nettle_arctwo_encrypt
nettle_arctwo_set_key
nettle_arctwo_set_key_ekb
nettle_arctwo_set_key_gutmann
nettle_arcfour_crypt
nettle_arcfour128_set_key
nettle_arcfour_set_key
nettle_aes256
nettle_aes256_invert_key
nettle_aes256_set_decrypt_key
nettle_aes256_set_encrypt_key
nettle_aes192
nettle_aes192_invert_key
nettle_aes192_set_decrypt_key
nettle_aes192_set_encrypt_key
nettle_aes128
nettle_aes128_invert_key
nettle_aes128_set_decrypt_key
nettle_aes128_set_encrypt_key
nettle_aes_invert_key
nettle_aes_set_decrypt_key
nettle_aes_set_encrypt_key
_nettle_aes_set_key
_nettle_aes_invert
_nettle_aes_encrypt_table
nettle_aes128_encrypt
nettle_aes192_encrypt
nettle_aes256_encrypt
nettle_aes_encrypt
_nettle_aes_encrypt
nettle_aes128_decrypt
nettle_aes192_decrypt
nettle_aes256_decrypt
nettle_aes_decrypt
_nettle_aes_decrypt

116
externals/vcpkg/ports/nettle/portfile.cmake vendored Executable file
View File

@@ -0,0 +1,116 @@
vcpkg_list(SET patches)
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
vcpkg_list(SET patches
yasm.patch # the asm changes are a downgrade to an older version
compile.patch
libname-windows.patch # Apply common libtool rules for lib naming.
)
endif()
vcpkg_from_gitlab(
GITLAB_URL https://git.lysator.liu.se/
OUT_SOURCE_PATH SOURCE_PATH
REPO nettle/nettle
REF 52bacacaf4339fd78289f58919732f1f35bea1c1 #v3.7.3
SHA512 0130d14195274eeec11e8299793e3037f4b84d8fb4b5c5c9392b63ee693ed5713434070744b1a44e14a6a5090d655917c1dd296e2011cd99e3c316ef5d8ee395
HEAD_REF master
PATCHES
fix-InstallLibPath.patch
flags.patch
${patches}
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
vcpkg_list(SET OPTIONS --disable-static)
else()
vcpkg_list(SET OPTIONS --disable-shared)
endif()
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
set(ENV{CCAS} "${CURRENT_HOST_INSTALLED_DIR}/tools/yasm/yasm${VCPKG_HOST_EXECUTABLE_SUFFIX}")
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
set(asmflag win64)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
set(asmflag win32)
endif()
set(ENV{ASMFLAGS} "-Xvc -f ${asmflag} -pgas -rraw")
vcpkg_list(APPEND OPTIONS
ac_cv_func_memset=yes
nettle_cv_asm_type_percent_function=no
nettle_cv_asm_align_log=no
)
endif()
if(VCPKG_CROSSCOMPILING)
# Silly trick to make configure accept CC_FOR_BUILD but in reallity CC_FOR_BUILD is deactivated.
set(ENV{CC_FOR_BUILD} "touch a.out | touch conftest${VCPKG_HOST_EXECUTABLE_SUFFIX} | true")
endif()
vcpkg_configure_make(
SOURCE_PATH ${SOURCE_PATH}
AUTOCONFIG
OPTIONS
--disable-documentation
--disable-openssl
${OPTIONS}
)
set(tool_names des ecc) # aes gcm sha twofish?
list(TRANSFORM tool_names APPEND "data")
list(TRANSFORM tool_names APPEND "${VCPKG_HOST_EXECUTABLE_SUFFIX}")
if(VCPKG_CROSSCOMPILING)
list(TRANSFORM tool_names PREPEND "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}/")
file(COPY ${tool_names} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/")
if(NOT VCPKG_BUILD_TYPE)
file(COPY ${tool_names} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/")
endif()
endif()
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
# def files are created by running 'llvm-nm <libname> | findstr /R /C:"[RT] _*nettle_"' on the static build and replacing '00[0-9abcdef]+ [RT]' with spaces
# please update the defs if the version is bumped
set(build_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/")
configure_file(
"${CURRENT_PORT_DIR}/nettle-${VCPKG_TARGET_ARCHITECTURE}.def"
"${build_dir}/nettle.def"
COPYONLY
)
configure_file(
"${CURRENT_PORT_DIR}/hogweed-${VCPKG_TARGET_ARCHITECTURE}.def"
"${build_dir}/hogweed.def"
COPYONLY
)
if(NOT VCPKG_BUILD_TYPE)
set(build_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/")
configure_file(
"${CURRENT_PORT_DIR}/nettle-${VCPKG_TARGET_ARCHITECTURE}.def"
"${build_dir}/nettle.def"
COPYONLY
)
configure_file("${CURRENT_PORT_DIR}/hogweed-${VCPKG_TARGET_ARCHITECTURE}.def"
"${build_dir}/hogweed.def"
COPYONLY
)
endif()
endif()
endif()
vcpkg_install_make()
if(NOT VCPKG_CROSSCOMPILING)
list(TRANSFORM tool_names PREPEND "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/")
file(COPY ${tool_names} DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}")
endif()
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL "${SOURCE_PATH}/COPYINGv3"
DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}"
RENAME copyright
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR VCPKG_TARGET_IS_LINUX)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()

View File

@@ -0,0 +1,44 @@
diff --git a/SMP/libnettle.vcxproj b/SMP/libnettle.vcxproj
index 51fa24113..5d418b53e 100644
--- a/SMP/libnettle.vcxproj
+++ b/SMP/libnettle.vcxproj
@@ -245,7 +245,7 @@ del /f /q $(OutDir)\licenses\nettle.txt
</ClCompile>
<Link>
<ModuleDefinitionFile>libnettle.def</ModuleDefinitionFile>
- <AdditionalDependencies>gmpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>gmp.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>mkdir "$(OutDir)"\include
@@ -359,7 +359,7 @@ del /f /q $(OutDir)\licenses\nettle.txt
</ClCompile>
<Link>
<ModuleDefinitionFile>libnettle.def</ModuleDefinitionFile>
- <AdditionalDependencies>gmpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>gmp.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>mkdir "$(OutDir)"\include
diff --git a/SMP/libhogweed.vcxproj b/SMP/libhogweed.vcxproj
index 8f2f433bc..dae3458d8 100644
--- a/SMP/libhogweed.vcxproj
+++ b/SMP/libhogweed.vcxproj
@@ -247,7 +247,7 @@ del /f /q $(OutDir)\licenses\nettle.txt
</ClCompile>
<Link>
<ModuleDefinitionFile>libhogweed.def</ModuleDefinitionFile>
- <AdditionalDependencies>nettled.lib;gmpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>nettled.lib;gmp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/IGNORE:4006,4221,4078 %(AdditionalOptions)</AdditionalOptions>
</Link>
<PostBuildEvent>
@@ -362,7 +362,7 @@ del /f /q $(OutDir)\licenses\nettle.txt
</ClCompile>
<Link>
<ModuleDefinitionFile>libhogweed.def</ModuleDefinitionFile>
- <AdditionalDependencies>nettled.lib;gmpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>nettled.lib;gmp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/IGNORE:4006,4221,4078 %(AdditionalOptions)</AdditionalOptions>
</Link>
<PostBuildEvent>

22
externals/vcpkg/ports/nettle/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,22 @@
{
"name": "nettle",
"version": "3.7.3",
"description": "Nettle is a low-level cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space.",
"homepage": "https://git.lysator.liu.se/nettle/nettle",
"license": null,
"dependencies": [
"gmp",
{
"name": "nettle",
"host": true
},
{
"name": "yasm",
"host": true,
"features": [
"tools"
],
"platform": "windows"
}
]
}

96
externals/vcpkg/ports/nettle/yasm.patch vendored Executable file
View File

@@ -0,0 +1,96 @@
diff --git a/Makefile.in b/Makefile.in
index b65ff4960..3887d0c8f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -291,7 +291,7 @@ libhogweed.a: $(hogweed_OBJS)
%.$(OBJEXT): %.asm $(srcdir)/m4-utils.m4 $(srcdir)/asm.m4 config.m4 machine.m4
$(M4) $(srcdir)/m4-utils.m4 $(srcdir)/asm.m4 config.m4 machine.m4 $< >$*.s
- $(COMPILE) -c $*.s
+ $(COMPILE_AS) -o $*.$(OBJEXT) $*.s
%.$(OBJEXT): %.c
$(COMPILE) -c $< \
diff --git a/config.make.in b/config.make.in
index f8e1f74ef..3ae593385 100644
--- a/config.make.in
+++ b/config.make.in
@@ -73,6 +73,7 @@ TEST_SHLIB_DIR = ${abs_top_builddir}/.lib
# flags before CPPFLAGS and LDFLAGS. While EXTRA_CFLAGS are added at the end.
COMPILE = $(CC) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(CFLAGS) $(EXTRA_CFLAGS) $(DEP_FLAGS)
+COMPILE_AS = $(CCAS) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(ASMFLAGS) $(DEP_FLAGS)
COMPILE_CXX = $(CXX) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DEP_FLAGS)
LINK = $(CC) $(CFLAGS) $(PRE_LDFLAGS) $(LDFLAGS)
LINK_CXX = $(CXX) $(CXXFLAGS) $(PRE_LDFLAGS) $(LDFLAGS)
diff --git a/configure.ac b/configure.ac
index e95f1c825..1d7ef36bb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -118,6 +118,9 @@ LSH_RPATH_INIT([`echo $with_lib_path | sed 's/:/ /g'` \
# Checks for programs.
AC_PROG_CC
+# Copied from gmp
+test -n "$CCAS" || CCAS="$CC -c"
+AC_SUBST(CCAS)
NETTLE_CHECK_IFUNC
@@ -302,7 +305,7 @@ ABI=standard
case "$host_cpu" in
[x86_64 | amd64])
AC_TRY_COMPILE([
-#if defined(__x86_64__) || defined(__arch64__)
+#if defined(__x86_64__) || defined(__arch64__) || defined(_M_AMD64)
#error 64-bit x86
#endif
], [], [
diff --git a/x86_64/aes.m4 b/x86_64/aes.m4
index 3bec9eae2..85cafc046 100644
--- a/x86_64/aes.m4
+++ b/x86_64/aes.m4
@@ -77,9 +77,9 @@ define(`AES_STORE', `
dnl AES_ROUND(table,a,b,c,d,out,ptr)
dnl Computes one word of the AES round. Leaves result in $6.
define(`AES_ROUND', `
- movzb LREG($2), $7
+ movzbq LREG($2), $7
movl AES_TABLE0 ($1, $7, 4),$6
- movzb HREG($3), XREG($7)
+ movzbq HREG($3), XREG($7)
xorl AES_TABLE1 ($1, $7, 4),$6
movl $4,XREG($7)
shr `$'16,$7
@@ -94,7 +94,7 @@ dnl Computes one word of the final round. Leaves result in $6. Also
dnl performs the first substitution step, on the least significant
dnl byte, and rotates 8 bits.
define(`AES_FINAL_ROUND', `
- movzb LREG($1),$7
+ movzbq LREG($1),$7
movzbl ($5, $7), $6
movl $2,XREG($7)
andl `$'0x0000ff00,XREG($7)
@@ -113,18 +113,18 @@ dnl each of eax, ebx, ecx and edx, and also rotates
dnl the words one byte to the left.
dnl Uses that AES_SBOX == 0
define(`AES_SUBST_BYTE', `
- movzb LREG($1),$6
+ movzbq LREG($1),$6
movb ($5, $6),LREG($1)
roll `$'8,$1
- movzb LREG($2),$6
+ movzbq LREG($2),$6
movb ($5, $6),LREG($2)
roll `$'8,$2
- movzb LREG($3),$6
+ movzbq LREG($3),$6
movb ($5, $6),LREG($3)
roll `$'8,$3
- movzb LREG($4),$6
+ movzbq LREG($4),$6
movb ($5, $6),LREG($4)
roll `$'8,$4')dnl