[nettle] Switch from yasm to clang (#30175)

* Add export list generation [skip actions]

* Refresh exports using dumpbin

* [nettle] Update to 3.8.1 [skip actions]

* Disable testsuite and examples [skip actions]

* Update exports for x64 [skip actions]

* Update exports for x86 [skip actions]

* Finish update

* [shiftmedia-libgnutls] Fix 'supports'

* Build arm

* Switch from yasm to clang

* Revise msvc support patch

* Add feature to control tools

* Fix DLL installation

* [skip actions]

* Cleanup
This commit is contained in:
Kai Pastor 2023-05-09 00:54:25 +02:00 committed by GitHub
parent f55c3b5fd6
commit 1f94beda2b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 1816 additions and 111 deletions

View File

@ -7,19 +7,33 @@ index d00b565..c465d0b 100644
%.$(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) -c $*.s
+ $(COMPILE_AS) -c $*.s -o $@
%.$(OBJEXT): %.c
$(COMPILE) -c $< \
diff --git a/aclocal.m4 b/aclocal.m4
index 1d218a0..1ff02c8 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -301,7 +301,7 @@ AC_DEFUN([GMP_TRY_ASSEMBLE],
[cat >conftest.s <<EOF
[$1]
EOF
-gmp_assemble="$CC $CFLAGS $CPPFLAGS -c conftest.s >conftest.out 2>&1"
+gmp_assemble="$CCAS $CPPFLAGS $ASMFLAGS -c conftest.s >conftest.out 2>&1"
if AC_TRY_EVAL(gmp_assemble); then
cat conftest.out >&AC_FD_CC
ifelse([$2],,:,[$2])
diff --git a/config.make.in b/config.make.in
index f8e1f74..4668884 100644
--- a/config.make.in
+++ b/config.make.in
@@ -73,6 +73,8 @@ TEST_SHLIB_DIR = ${abs_top_builddir}/.lib
@@ -73,6 +73,9 @@ 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)
+CCAS = @CCAS@
+ASMFLAGS = @ASMFLAGS@
+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)
@ -28,13 +42,32 @@ diff --git a/configure.ac b/configure.ac
index 1012718..8db139d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -118,6 +118,9 @@ LSH_RPATH_INIT([`echo $with_lib_path | sed 's/:/ /g'` \
@@ -134,6 +134,10 @@ LSH_RPATH_INIT([`echo $with_lib_path | sed 's/:/ /g'` \
# Checks for programs.
AC_PROG_CC
+# Copied from gmp
+test -n "$CCAS" || CCAS='$(CC)'
+AC_SUBST(CCAS)
+AC_SUBST(ASMFLAGS)
NETTLE_CHECK_IFUNC
@@ -321,7 +325,7 @@ W64_ABI=no # For x86_64 windows
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
], [], [
@@ -374,7 +378,7 @@ case "$host_cpu" in
;;
aarch64*)
AC_TRY_COMPILE([
-#if defined(__aarch64__)
+#if defined(__aarch64__) || defined(_M_ARM64)
#error 64-bit arm
#endif
], [], [

View File

@ -0,0 +1,282 @@
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_itch
_nettle_eddsa_verify
_nettle_eddsa_sign_itch
_nettle_eddsa_sign
_nettle_eddsa_public_key_itch
_nettle_eddsa_public_key
_nettle_eddsa_hash
_nettle_eddsa_expand_key
_nettle_eddsa_decompress_itch
_nettle_eddsa_decompress
_nettle_eddsa_compress_itch
_nettle_eddsa_compress
_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_itch
nettle_ecc_gostdsa_verify
nettle_gostdsa_sign
nettle_ecc_gostdsa_sign_itch
nettle_ecc_gostdsa_sign
nettle_ecdsa_generate_keypair
nettle_ecdsa_verify
nettle_ecc_ecdsa_verify_itch
nettle_ecc_ecdsa_verify
nettle_ecdsa_sign
nettle_ecc_ecdsa_sign_itch
nettle_ecc_ecdsa_sign
nettle_ecc_point_mul_g
nettle_ecc_point_mul
nettle_ecc_scalar_init
nettle_ecc_scalar_clear
nettle_ecc_scalar_set
nettle_ecc_scalar_get
nettle_ecc_point_init
nettle_ecc_point_clear
nettle_ecc_point_set
nettle_ecc_point_get
nettle_ecc_scalar_random
_nettle_ecc_mod_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_zero_p
_nettle_ecc_mod_equal_p
_nettle_ecc_mod_add
_nettle_ecc_mod_sub
_nettle_ecc_mod_mul_1
_nettle_ecc_mod_addmul_1
_nettle_ecc_mod_submul_1
_nettle_ecc_mod_mul
_nettle_ecc_mod_sqr
_nettle_ecc_mod_mul_canonical
_nettle_ecc_mod_sqr_canonical
_nettle_ecc_mod_pow_2k
_nettle_ecc_mod_pow_2k_mul
_nettle_ecc_mod_inv
_nettle_ecc_mod
_nettle_cnd_copy
_nettle_sec_zero_p
_nettle_mpz_limbs_copy
_nettle_mpz_set_n
_nettle_mpn_set_base256
_nettle_mpn_set_base256_le
_nettle_mpn_get_base256
_nettle_mpn_get_base256_le
_nettle_gmp_alloc_limbs
_nettle_gmp_free_limbs
_nettle_gmp_alloc
_nettle_gmp_free
_nettle_sec_tabselect
_nettle_sec_sub_1
_nettle_sec_add_1
nettle_dsa_params_from_der_iterator
nettle_dsa_public_key_from_der_iterator
nettle_dsa_openssl_private_key_from_der_iterator
nettle_openssl_provate_key_from_der
nettle_rsa_public_key_from_der_iterator
nettle_rsa_private_key_from_der_iterator
nettle_rsa_keypair_from_der
nettle_asn1_der_get_bignum
nettle_asn1_der_iterator_first
nettle_asn1_der_iterator_next
nettle_asn1_der_decode_constructed
nettle_asn1_der_decode_constructed_last
nettle_asn1_der_decode_bitstring
nettle_asn1_der_decode_bitstring_last
nettle_asn1_der_get_uint32
nettle_rsa_keypair_to_openpgp
nettle_pgp_put_uint32
nettle_pgp_put_uint16
nettle_pgp_put_mpi
nettle_pgp_put_string
nettle_pgp_put_length
nettle_pgp_put_header
nettle_pgp_put_header_length
nettle_pgp_sub_packet_start
nettle_pgp_put_sub_packet
nettle_pgp_sub_packet_end
nettle_pgp_put_public_rsa_key
nettle_pgp_put_rsa_sha1_signature
nettle_pgp_put_userid
nettle_pgp_crc24
nettle_pgp_armor
nettle_dsa_signature_from_sexp
nettle_dsa_keypair_from_sexp_alist
nettle_dsa_sha1_keypair_from_sexp
nettle_dsa_sha256_keypair_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_public_key_init
nettle_dsa_public_key_clear
nettle_dsa_private_key_init
nettle_dsa_private_key_clear
nettle_dsa_params_init
nettle_dsa_params_clear
nettle_dsa_signature_init
nettle_dsa_signature_clear
nettle_rsa_keypair_from_sexp_alist
nettle_rsa_keypair_from_sexp
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_tr
nettle_rsa_sha512_sign_digest_tr
nettle_rsa_sha512_sign
nettle_rsa_sha512_sign_digest
nettle_rsa_sha256_verify
nettle_rsa_sha256_verify_digest
nettle_rsa_sha256_sign_tr
nettle_rsa_sha256_sign_digest_tr
nettle_rsa_sha256_sign
nettle_rsa_sha256_sign_digest
nettle_rsa_sha1_verify
nettle_rsa_sha1_verify_digest
nettle_rsa_sha1_sign_tr
nettle_rsa_sha1_sign_digest_tr
nettle_rsa_sha1_sign
nettle_rsa_sha1_sign_digest
nettle_rsa_md5_verify
nettle_rsa_md5_verify_digest
nettle_rsa_md5_sign_tr
nettle_rsa_md5_sign_digest_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_itch
_nettle_rsa_sec_compute_root
_nettle_rsa_verify
_nettle_rsa_verify_recover
nettle_rsa_compute_root_tr
_nettle_rsa_sec_compute_root_tr
nettle_rsa_private_key_init
nettle_rsa_private_key_clear
nettle_rsa_private_key_prepare
nettle_rsa_compute_root
nettle_rsa_public_key_init
nettle_rsa_public_key_clear
nettle_rsa_public_key_prepare
_nettle_rsa_check_size
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_random_prime
_nettle_generate_pocklington_prime
nettle_mpz_random_size
nettle_mpz_random
nettle_mpz_sizeinbase_256_s
nettle_mpz_sizeinbase_256_u
nettle_mpz_get_str_256
nettle_mpz_set_str_256_s
nettle_mpz_init_set_str_256_s
nettle_mpz_set_str_256_u
nettle_mpz_init_set_str_256_u
nettle_sexp_transport_format
nettle_sexp_transport_vformat
nettle_sexp_transport_iterator_first
nettle_sexp_format
nettle_sexp_vformat
nettle_sexp_iterator_first
nettle_sexp_iterator_next
nettle_sexp_iterator_enter_list
nettle_sexp_iterator_exit_list
nettle_sexp_iterator_subexpr
nettle_sexp_iterator_get_uint32
nettle_sexp_iterator_check_type
nettle_sexp_iterator_check_types
nettle_sexp_iterator_assoc

View File

@ -0,0 +1,282 @@
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_itch
_nettle_eddsa_verify
_nettle_eddsa_sign_itch
_nettle_eddsa_sign
_nettle_eddsa_public_key_itch
_nettle_eddsa_public_key
_nettle_eddsa_hash
_nettle_eddsa_expand_key
_nettle_eddsa_decompress_itch
_nettle_eddsa_decompress
_nettle_eddsa_compress_itch
_nettle_eddsa_compress
_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_itch
nettle_ecc_gostdsa_verify
nettle_gostdsa_sign
nettle_ecc_gostdsa_sign_itch
nettle_ecc_gostdsa_sign
nettle_ecdsa_generate_keypair
nettle_ecdsa_verify
nettle_ecc_ecdsa_verify_itch
nettle_ecc_ecdsa_verify
nettle_ecdsa_sign
nettle_ecc_ecdsa_sign_itch
nettle_ecc_ecdsa_sign
nettle_ecc_point_mul_g
nettle_ecc_point_mul
nettle_ecc_scalar_init
nettle_ecc_scalar_clear
nettle_ecc_scalar_set
nettle_ecc_scalar_get
nettle_ecc_point_init
nettle_ecc_point_clear
nettle_ecc_point_set
nettle_ecc_point_get
nettle_ecc_scalar_random
_nettle_ecc_mod_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_zero_p
_nettle_ecc_mod_equal_p
_nettle_ecc_mod_add
_nettle_ecc_mod_sub
_nettle_ecc_mod_mul_1
_nettle_ecc_mod_addmul_1
_nettle_ecc_mod_submul_1
_nettle_ecc_mod_mul
_nettle_ecc_mod_sqr
_nettle_ecc_mod_mul_canonical
_nettle_ecc_mod_sqr_canonical
_nettle_ecc_mod_pow_2k
_nettle_ecc_mod_pow_2k_mul
_nettle_ecc_mod_inv
_nettle_ecc_mod
_nettle_cnd_copy
_nettle_sec_zero_p
_nettle_mpz_limbs_copy
_nettle_mpz_set_n
_nettle_mpn_set_base256
_nettle_mpn_set_base256_le
_nettle_mpn_get_base256
_nettle_mpn_get_base256_le
_nettle_gmp_alloc_limbs
_nettle_gmp_free_limbs
_nettle_gmp_alloc
_nettle_gmp_free
_nettle_sec_tabselect
_nettle_sec_sub_1
_nettle_sec_add_1
nettle_dsa_params_from_der_iterator
nettle_dsa_public_key_from_der_iterator
nettle_dsa_openssl_private_key_from_der_iterator
nettle_openssl_provate_key_from_der
nettle_rsa_public_key_from_der_iterator
nettle_rsa_private_key_from_der_iterator
nettle_rsa_keypair_from_der
nettle_asn1_der_get_bignum
nettle_asn1_der_iterator_first
nettle_asn1_der_iterator_next
nettle_asn1_der_decode_constructed
nettle_asn1_der_decode_constructed_last
nettle_asn1_der_decode_bitstring
nettle_asn1_der_decode_bitstring_last
nettle_asn1_der_get_uint32
nettle_rsa_keypair_to_openpgp
nettle_pgp_put_uint32
nettle_pgp_put_uint16
nettle_pgp_put_mpi
nettle_pgp_put_string
nettle_pgp_put_length
nettle_pgp_put_header
nettle_pgp_put_header_length
nettle_pgp_sub_packet_start
nettle_pgp_put_sub_packet
nettle_pgp_sub_packet_end
nettle_pgp_put_public_rsa_key
nettle_pgp_put_rsa_sha1_signature
nettle_pgp_put_userid
nettle_pgp_crc24
nettle_pgp_armor
nettle_dsa_signature_from_sexp
nettle_dsa_keypair_from_sexp_alist
nettle_dsa_sha1_keypair_from_sexp
nettle_dsa_sha256_keypair_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_public_key_init
nettle_dsa_public_key_clear
nettle_dsa_private_key_init
nettle_dsa_private_key_clear
nettle_dsa_params_init
nettle_dsa_params_clear
nettle_dsa_signature_init
nettle_dsa_signature_clear
nettle_rsa_keypair_from_sexp_alist
nettle_rsa_keypair_from_sexp
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_tr
nettle_rsa_sha512_sign_digest_tr
nettle_rsa_sha512_sign
nettle_rsa_sha512_sign_digest
nettle_rsa_sha256_verify
nettle_rsa_sha256_verify_digest
nettle_rsa_sha256_sign_tr
nettle_rsa_sha256_sign_digest_tr
nettle_rsa_sha256_sign
nettle_rsa_sha256_sign_digest
nettle_rsa_sha1_verify
nettle_rsa_sha1_verify_digest
nettle_rsa_sha1_sign_tr
nettle_rsa_sha1_sign_digest_tr
nettle_rsa_sha1_sign
nettle_rsa_sha1_sign_digest
nettle_rsa_md5_verify
nettle_rsa_md5_verify_digest
nettle_rsa_md5_sign_tr
nettle_rsa_md5_sign_digest_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_itch
_nettle_rsa_sec_compute_root
_nettle_rsa_verify
_nettle_rsa_verify_recover
nettle_rsa_compute_root_tr
_nettle_rsa_sec_compute_root_tr
nettle_rsa_private_key_init
nettle_rsa_private_key_clear
nettle_rsa_private_key_prepare
nettle_rsa_compute_root
nettle_rsa_public_key_init
nettle_rsa_public_key_clear
nettle_rsa_public_key_prepare
_nettle_rsa_check_size
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_random_prime
_nettle_generate_pocklington_prime
nettle_mpz_random_size
nettle_mpz_random
nettle_mpz_sizeinbase_256_s
nettle_mpz_sizeinbase_256_u
nettle_mpz_get_str_256
nettle_mpz_set_str_256_s
nettle_mpz_init_set_str_256_s
nettle_mpz_set_str_256_u
nettle_mpz_init_set_str_256_u
nettle_sexp_transport_format
nettle_sexp_transport_vformat
nettle_sexp_transport_iterator_first
nettle_sexp_format
nettle_sexp_vformat
nettle_sexp_iterator_first
nettle_sexp_iterator_next
nettle_sexp_iterator_enter_list
nettle_sexp_iterator_exit_list
nettle_sexp_iterator_subexpr
nettle_sexp_iterator_get_uint32
nettle_sexp_iterator_check_type
nettle_sexp_iterator_check_types
nettle_sexp_iterator_assoc

View File

@ -1,26 +0,0 @@
diff --git a/Makefile.in b/Makefile.in
index 6e1585b..88c8b05 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -491,8 +491,8 @@ install-static: $(LIBTARGETS)
done
install-dll-nettle:
- $(MKDIR_P) $(DESTDIR)$(bindir)
- $(INSTALL_DATA) $(LIBNETTLE_FORLINK) $(DESTDIR)$(bindir)/$(LIBNETTLE_FORLINK)
+ $(MKDIR_P) $(DESTDIR)$(libdir)/../bin
+ $(INSTALL_DATA) $(LIBNETTLE_FORLINK) $(DESTDIR)$(libdir)/../bin/$(LIBNETTLE_FORLINK)
install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle
$(MKDIR_P) $(DESTDIR)$(libdir)
@@ -504,8 +504,8 @@ install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle
&& $(LN_S) $(LIBNETTLE_FILE) $(LIBNETTLE_FORLINK))
install-dll-hogweed:
- $(MKDIR_P) $(DESTDIR)$(bindir)
- $(INSTALL_DATA) $(LIBHOGWEED_FORLINK) $(DESTDIR)$(bindir)/$(LIBHOGWEED_FORLINK)
+ $(MKDIR_P) $(DESTDIR)$(libdir)/../bin
+ $(INSTALL_DATA) $(LIBHOGWEED_FORLINK) $(DESTDIR)$(libdir)/../bin/$(LIBHOGWEED_FORLINK)
install-shared-hogweed: $(LIBHOGWEED_FORLINK) @IF_DLL@ install-dll-hogweed
$(MKDIR_P) $(DESTDIR)$(libdir)

View File

@ -0,0 +1,85 @@
diff --git a/Makefile.in b/Makefile.in
index 6e1585b..88c8b05 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -29,8 +29,9 @@ include config.make
PRE_CPPFLAGS = -I.
EXTRA_CFLAGS = $(CCPIC)
-LIBTARGETS = @IF_STATIC@ libnettle.a @IF_HOGWEED@ libhogweed.a
+LIBTARGETS = @IF_STATIC@ @LIBNETTLE_ARCHIVE@ @IF_HOGWEED@ @LIBHOGWEED_ARCHIVE@
SHLIBTARGETS = @IF_SHARED@ $(LIBNETTLE_FORLINK) @IF_HOGWEED@ $(LIBHOGWEED_FORLINK)
+MSVC_TARGET = @MSVC_TARGET@
getopt_SOURCES = getopt.c getopt1.c
getopt_TARGETS = $(getopt_SOURCES:.c=.$(OBJEXT))
@@ -279,13 +280,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_ARCHIVE@: $(nettle_OBJS)
-rm -f $@
$(AR) $(ARFLAGS) $@ $(nettle_OBJS)
$(RANLIB) $@
echo nettle > libnettle.stamp
-libhogweed.a: $(hogweed_OBJS)
+@LIBHOGWEED_ARCHIVE@: $(hogweed_OBJS)
-rm -f $@
$(AR) $(ARFLAGS) $@ $(hogweed_OBJS)
$(RANLIB) $@
@@ -491,8 +492,8 @@ install-static: $(LIBTARGETS)
done
install-dll-nettle:
- $(MKDIR_P) $(DESTDIR)$(bindir)
- $(INSTALL_DATA) $(LIBNETTLE_FORLINK) $(DESTDIR)$(bindir)/$(LIBNETTLE_FORLINK)
+ $(MKDIR_P) $(DESTDIR)$(libdir)/../bin
+ $(INSTALL_DATA) $(LIBNETTLE_FORLINK) $(DESTDIR)$(libdir)/../bin/$(LIBNETTLE_FORLINK)
install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle
$(MKDIR_P) $(DESTDIR)$(libdir)
@@ -504,8 +505,8 @@ install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle
&& $(LN_S) $(LIBNETTLE_FILE) $(LIBNETTLE_FORLINK))
install-dll-hogweed:
- $(MKDIR_P) $(DESTDIR)$(bindir)
- $(INSTALL_DATA) $(LIBHOGWEED_FORLINK) $(DESTDIR)$(bindir)/$(LIBHOGWEED_FORLINK)
+ $(MKDIR_P) $(DESTDIR)$(libdir)/../bin
+ $(INSTALL_DATA) $(LIBHOGWEED_FORLINK) $(DESTDIR)$(libdir)/../bin/$(LIBHOGWEED_FORLINK)
install-shared-hogweed: $(LIBHOGWEED_FORLINK) @IF_DLL@ install-dll-hogweed
$(MKDIR_P) $(DESTDIR)$(libdir)
diff --git a/configure.ac b/configure.ac
index d50d1f5..2464514 100644
--- a/configure.ac
+++ b/configure.ac
@@ -877,6 +877,27 @@ case "$host_os" in
LIBHOGWEED_LIBS='libnettle.so $(LIBS)'
;;
esac
+AC_ARG_VAR(MSVC_TARGET,[Enable msvc and set target architecture])
+case "$MSVC_TARGET" in
+x86|x64|arm|arm64)
+ LIBNETTLE_ARCHIVE='nettle.lib'
+ LIBNETTLE_FORLINK='nettle-$(LIBNETTLE_MAJOR).dll'
+ LIBNETTLE_FILE='nettle.lib'
+ LIBNETTLE_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBNETTLE_FILE) -Wl,-DEF:$(srcdir)/nettle-$(MSVC_TARGET).def'
+ LIBNETTLE_LIBS='$(LIBS)'
+ LIBHOGWEED_FILE='hogweed.lib'
+ LIBHOGWEED_ARCHIVE='hogweed.lib'
+ LIBHOGWEED_FORLINK='hogweed-$(LIBHOGWEED_MAJOR).dll'
+ LIBHOGWEED_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBHOGWEED_FILE) -Wl,-DEF:$(srcdir)/hogweed-$(MSVC_TARGET).def'
+ LIBHOGWEED_LIBS='$(LIBNETTLE_FILE) $(LIBS)'
+ ;;
+*)
+ LIBNETTLE_ARCHIVE='libnettle.a'
+ LIBHOGWEED_ARCHIVE='libhogweed.a'
+ ;;
+esac
+AC_SUBST(LIBNETTLE_ARCHIVE)
+AC_SUBST(LIBHOGWEED_ARCHIVE)
ASM_SYMBOL_PREFIX=''
ASM_ELF_STYLE='no'

518
ports/nettle/nettle-arm.def Normal file
View File

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

View File

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

View File

@ -1,11 +1,3 @@
vcpkg_list(SET extra_patches)
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
vcpkg_list(APPEND extra_patches
yasm.patch # the asm changes are a downgrade to an older version
libname-windows.patch # libtool rules for lib naming, exports
)
endif()
vcpkg_from_gitlab(
GITLAB_URL https://git.lysator.liu.se/
OUT_SOURCE_PATH SOURCE_PATH
@ -19,53 +11,72 @@ vcpkg_from_gitlab(
compile.patch
host-tools.patch
ccas.patch
install-dll.patch
${extra_patches}
msvc-support.patch
)
# Temporarily set to 1 to re-generate the lists of exported symbols.
# This is needed when the version is bumped.
vcpkg_cmake_get_vars(cmake_vars_file)
include("${cmake_vars_file}")
# Maintainer switch: Temporarily set this to 1 to re-generate the lists
# of exported symbols. This is needed when the version is bumped.
set(GENERATE_SYMBOLS 0)
if(GENERATE_SYMBOLS)
if(VCPKG_TARGET_IS_MINGW OR NOT VCPKG_TARGET_IS_WINDOWS)
set(GENERATE_SYMBOLS 0)
else()
if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC")
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
else()
set(GENERATE_SYMBOLS 0)
endif()
endif()
vcpkg_list(SET OPTIONS)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
vcpkg_list(APPEND OPTIONS --disable-static)
else()
vcpkg_list(APPEND OPTIONS --disable-shared)
endif()
if("tools" IN_LIST FEATURES)
vcpkg_list(APPEND OPTIONS --enable-tools)
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)
# As in gmp
set(disable_assembly OFF)
set(ccas "")
set(asmflags "")
if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC")
vcpkg_list(APPEND OPTIONS ac_cv_func_memset=yes)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
string(APPEND asmflags " --target=i686-pc-windows-msvc -m32")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
string(APPEND asmflags " --target=x86_64-pc-windows-msvc")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
string(APPEND asmflags " --target=arm64-pc-windows-msvc")
else()
set(disable_assembly ON)
endif()
if(NOT disable_assembly)
vcpkg_find_acquire_program(CLANG)
set(ccas "${CLANG}")
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
)
else()
vcpkg_list(APPEND OPTIONS "CCAS=") # configure will use CC
set(ccas "${VCPKG_DETECTED_CMAKE_C_COMPILER}")
endif()
if(disable_assembly)
vcpkg_list(APPEND OPTIONS "--enable-assembler=no")
elseif(ccas)
cmake_path(GET ccas PARENT_PATH ccas_dir)
vcpkg_add_to_path("${ccas_dir}")
cmake_path(GET ccas FILENAME ccas_command)
vcpkg_list(APPEND OPTIONS "CCAS=${ccas_command}" "ASMFLAGS=${asmflags}")
endif()
if(VCPKG_CROSSCOMPILING)
set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}")
endif()
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
file(GLOB def_files "${CMAKE_CURRENT_LIST_DIR}/*.def")
file(COPY ${def_files} DESTINATION "${SOURCE_PATH}")
vcpkg_list(APPEND OPTIONS "MSVC_TARGET=${VCPKG_TARGET_ARCHITECTURE}")
else()
vcpkg_list(APPEND OPTIONS "MSVC_TARGET=no")
endif()
vcpkg_configure_make(
SOURCE_PATH "${SOURCE_PATH}"
AUTOCONFIG
@ -77,40 +88,8 @@ vcpkg_configure_make(
OPTIONS_DEBUG
--disable-tools
)
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()
vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug")
vcpkg_fixup_pkgconfig()
if(NOT VCPKG_CROSSCOMPILING)
set(tool_names desdata eccdata) # aes gcm sha twofish?
@ -120,9 +99,14 @@ if(NOT VCPKG_CROSSCOMPILING)
vcpkg_copy_tool_dependencies("${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")
if("tools" IN_LIST FEATURES)
vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin")
endif()
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/debug/share"
"${CURRENT_PACKAGES_DIR}/debug/include"
)
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYINGv3")

View File

@ -1,6 +1,7 @@
{
"name": "nettle",
"version": "3.8.1",
"port-version": 1,
"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,
@ -11,12 +12,8 @@
"host": true
},
{
"name": "yasm",
"host": true,
"features": [
"tools"
],
"platform": "windows"
"name": "vcpkg-cmake-get-vars",
"host": true
}
],
"features": {

View File

@ -1,11 +1,11 @@
{
"name": "shiftmedia-libgnutls",
"version": "3.7.6",
"port-version": 1,
"port-version": 2,
"description": "Unofficial GnuTLS fork with added custom native Visual Studio project build tools. ",
"homepage": "https://github.com/ShiftMediaProject/gnutls",
"license": "LGPL-2.1-only",
"supports": "windows",
"supports": "windows & !arm & !mingw",
"dependencies": [
"gettext",
"gmp",

View File

@ -1052,8 +1052,6 @@ nanodbc:x64-linux=skip
nativefiledialog:arm-uwp=fail
nativefiledialog:x64-uwp=fail
netcdf-cxx4:x64-windows-static-md=fail
nettle:arm-uwp=fail
nettle:arm64-windows=fail
ngspice:x64-android=fail
ngspice:x64-windows-static=fail
nmap:arm-neon-android=fail

View File

@ -5534,7 +5534,7 @@
},
"nettle": {
"baseline": "3.8.1",
"port-version": 0
"port-version": 1
},
"networkdirect-sdk": {
"baseline": "2.0.1",
@ -7358,7 +7358,7 @@
},
"shiftmedia-libgnutls": {
"baseline": "3.7.6",
"port-version": 1
"port-version": 2
},
"shiftmedia-libgpg-error": {
"baseline": "1.45",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "7734b67cb656bf12488ea137779b56d8865bbb02",
"version": "3.8.1",
"port-version": 1
},
{
"git-tree": "1ca3c1210bb511a4d94b53684fcb557e92678d7b",
"version": "3.8.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "44e16573e54fa8a8c8599c0b2cb82a0d1f829e22",
"version": "3.7.6",
"port-version": 2
},
{
"git-tree": "1af7188530a656fe2103e74844333d8c37c5232d",
"version": "3.7.6",