Files
nim-ngtcp2/boringssl.nim
2025-10-15 21:40:54 -04:00

310 lines
16 KiB
Nim

# libcrypto + libssl sources without cmake, no-asm, no fips, no tests, tools
# TODO: look into use assembly files for perf
# ----- toolchain + includes -----
{.passc: "-DBORINGSSL_IMPLEMENTATION -DOPENSSL_NO_ASM -DS2N_BN_HIDE_SYMBOLS".}
{.localPassC: "-ffunction-sections -fdata-sections -fno-exceptions -fno-rtti".}
{.passc: "-I./libs/boringssl/include".}
when not defined(release):
{.localPassC: "-DNDEBUG".}
# link stdc++/pthread as needed
when defined(macosx):
{.localPassC: "-lc++".}
elif defined(linux):
{.localPassC: "-D_XOPEN_SOURCE=700".}
{.localPassC: "-lstdc++".}
elif defined(windows):
{.
localPassC:
"-D_HAS_EXCEPTIONS=0 -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS"
.}
# ----- generated sources -----
{.compile: "./libs/boringssl/crypto/fipsmodule/bcm.cc".}
{.compile: "./libs/boringssl/crypto/aes/aes.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_bitstr.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_bool.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_d2i_fp.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_dup.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_gentm.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_i2d_fp.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_int.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_mbstr.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_object.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_octet.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_strex.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_strnid.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_time.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_type.cc".}
{.compile: "./libs/boringssl/crypto/asn1/a_utctm.cc".}
{.compile: "./libs/boringssl/crypto/asn1/asn1_lib.cc".}
{.compile: "./libs/boringssl/crypto/asn1/asn1_par.cc".}
{.compile: "./libs/boringssl/crypto/asn1/asn_pack.cc".}
{.compile: "./libs/boringssl/crypto/asn1/f_int.cc".}
{.compile: "./libs/boringssl/crypto/asn1/f_string.cc".}
{.compile: "./libs/boringssl/crypto/asn1/posix_time.cc".}
{.compile: "./libs/boringssl/crypto/asn1/tasn_dec.cc".}
{.compile: "./libs/boringssl/crypto/asn1/tasn_enc.cc".}
{.compile: "./libs/boringssl/crypto/asn1/tasn_fre.cc".}
{.compile: "./libs/boringssl/crypto/asn1/tasn_new.cc".}
{.compile: "./libs/boringssl/crypto/asn1/tasn_typ.cc".}
{.compile: "./libs/boringssl/crypto/asn1/tasn_utl.cc".}
{.compile: "./libs/boringssl/crypto/base64/base64.cc".}
{.compile: "./libs/boringssl/crypto/bio/bio.cc".}
{.compile: "./libs/boringssl/crypto/bio/bio_mem.cc".}
{.compile: "./libs/boringssl/crypto/bio/connect.cc".}
{.compile: "./libs/boringssl/crypto/bio/errno.cc".}
{.compile: "./libs/boringssl/crypto/bio/fd.cc".}
{.compile: "./libs/boringssl/crypto/bio/file.cc".}
{.compile: "./libs/boringssl/crypto/bio/hexdump.cc".}
{.compile: "./libs/boringssl/crypto/bio/pair.cc".}
{.compile: "./libs/boringssl/crypto/bio/printf.cc".}
{.compile: "./libs/boringssl/crypto/bio/socket.cc".}
{.compile: "./libs/boringssl/crypto/bio/socket_helper.cc".}
{.compile: "./libs/boringssl/crypto/blake2/blake2.cc".}
{.compile: "./libs/boringssl/crypto/bn/bn_asn1.cc".}
{.compile: "./libs/boringssl/crypto/bn/convert.cc".}
{.compile: "./libs/boringssl/crypto/bn/div.cc".}
{.compile: "./libs/boringssl/crypto/bn/exponentiation.cc".}
{.compile: "./libs/boringssl/crypto/bn/sqrt.cc".}
{.compile: "./libs/boringssl/crypto/buf/buf.cc".}
{.compile: "./libs/boringssl/crypto/bytestring/asn1_compat.cc".}
{.compile: "./libs/boringssl/crypto/bytestring/ber.cc".}
{.compile: "./libs/boringssl/crypto/bytestring/cbb.cc".}
{.compile: "./libs/boringssl/crypto/bytestring/cbs.cc".}
{.compile: "./libs/boringssl/crypto/bytestring/unicode.cc".}
{.compile: "./libs/boringssl/crypto/chacha/chacha.cc".}
{.compile: "./libs/boringssl/crypto/cipher/derive_key.cc".}
{.compile: "./libs/boringssl/crypto/cipher/e_aesctrhmac.cc".}
{.compile: "./libs/boringssl/crypto/cipher/e_aeseax.cc".}
{.compile: "./libs/boringssl/crypto/cipher/e_aesgcmsiv.cc".}
{.compile: "./libs/boringssl/crypto/cipher/e_chacha20poly1305.cc".}
{.compile: "./libs/boringssl/crypto/cipher/e_des.cc".}
{.compile: "./libs/boringssl/crypto/cipher/e_null.cc".}
{.compile: "./libs/boringssl/crypto/cipher/e_rc2.cc".}
{.compile: "./libs/boringssl/crypto/cipher/e_rc4.cc".}
{.compile: "./libs/boringssl/crypto/cipher/e_tls.cc".}
{.compile: "./libs/boringssl/crypto/cipher/get_cipher.cc".}
{.compile: "./libs/boringssl/crypto/cipher/tls_cbc.cc".}
{.compile: "./libs/boringssl/crypto/cms/cms.cc".}
{.compile: "./libs/boringssl/crypto/conf/conf.cc".}
{.compile: "./libs/boringssl/crypto/cpu_aarch64_apple.cc".}
{.compile: "./libs/boringssl/crypto/cpu_aarch64_fuchsia.cc".}
{.compile: "./libs/boringssl/crypto/cpu_aarch64_linux.cc".}
{.compile: "./libs/boringssl/crypto/cpu_aarch64_openbsd.cc".}
{.compile: "./libs/boringssl/crypto/cpu_aarch64_sysreg.cc".}
{.compile: "./libs/boringssl/crypto/cpu_aarch64_win.cc".}
{.compile: "./libs/boringssl/crypto/cpu_arm_freebsd.cc".}
{.compile: "./libs/boringssl/crypto/cpu_arm_linux.cc".}
{.compile: "./libs/boringssl/crypto/cpu_intel.cc".}
{.compile: "./libs/boringssl/crypto/crypto.cc".}
{.compile: "./libs/boringssl/crypto/curve25519/curve25519.cc".}
{.compile: "./libs/boringssl/crypto/curve25519/curve25519_64_adx.cc".}
{.compile: "./libs/boringssl/crypto/curve25519/spake25519.cc".}
{.compile: "./libs/boringssl/crypto/des/des.cc".}
{.compile: "./libs/boringssl/crypto/dh/dh_asn1.cc".}
{.compile: "./libs/boringssl/crypto/dh/params.cc".}
{.compile: "./libs/boringssl/crypto/digest/digest_extra.cc".}
{.compile: "./libs/boringssl/crypto/dsa/dsa.cc".}
{.compile: "./libs/boringssl/crypto/dsa/dsa_asn1.cc".}
{.compile: "./libs/boringssl/crypto/ec/ec_asn1.cc".}
{.compile: "./libs/boringssl/crypto/ec/ec_derive.cc".}
{.compile: "./libs/boringssl/crypto/ec/hash_to_curve.cc".}
{.compile: "./libs/boringssl/crypto/ecdh/ecdh.cc".}
{.compile: "./libs/boringssl/crypto/ecdsa/ecdsa_asn1.cc".}
{.compile: "./libs/boringssl/crypto/ecdsa/ecdsa_p1363.cc".}
{.compile: "./libs/boringssl/crypto/engine/engine.cc".}
{.compile: "./libs/boringssl/crypto/err/err.cc".}
{.compile: "./libs/boringssl/crypto/evp/evp.cc".}
{.compile: "./libs/boringssl/crypto/evp/evp_asn1.cc".}
{.compile: "./libs/boringssl/crypto/evp/evp_ctx.cc".}
{.compile: "./libs/boringssl/crypto/evp/p_dh.cc".}
{.compile: "./libs/boringssl/crypto/evp/p_dh_asn1.cc".}
{.compile: "./libs/boringssl/crypto/evp/p_dsa_asn1.cc".}
{.compile: "./libs/boringssl/crypto/evp/p_ec.cc".}
{.compile: "./libs/boringssl/crypto/evp/p_ec_asn1.cc".}
{.compile: "./libs/boringssl/crypto/evp/p_ed25519.cc".}
{.compile: "./libs/boringssl/crypto/evp/p_ed25519_asn1.cc".}
{.compile: "./libs/boringssl/crypto/evp/p_hkdf.cc".}
{.compile: "./libs/boringssl/crypto/evp/p_rsa.cc".}
{.compile: "./libs/boringssl/crypto/evp/p_rsa_asn1.cc".}
{.compile: "./libs/boringssl/crypto/evp/p_x25519.cc".}
{.compile: "./libs/boringssl/crypto/evp/p_x25519_asn1.cc".}
{.compile: "./libs/boringssl/crypto/evp/pbkdf.cc".}
{.compile: "./libs/boringssl/crypto/evp/print.cc".}
{.compile: "./libs/boringssl/crypto/evp/scrypt.cc".}
{.compile: "./libs/boringssl/crypto/evp/sign.cc".}
{.compile: "./libs/boringssl/crypto/ex_data.cc".}
{.compile: "./libs/boringssl/crypto/fipsmodule/fips_shared_support.cc".}
{.compile: "./libs/boringssl/crypto/fuzzer_mode.cc".}
{.compile: "./libs/boringssl/crypto/hpke/hpke.cc".}
{.compile: "./libs/boringssl/crypto/hrss/hrss.cc".}
{.compile: "./libs/boringssl/crypto/kyber/kyber.cc".}
{.compile: "./libs/boringssl/crypto/lhash/lhash.cc".}
{.compile: "./libs/boringssl/crypto/md4/md4.cc".}
{.compile: "./libs/boringssl/crypto/md5/md5.cc".}
{.compile: "./libs/boringssl/crypto/mem.cc".}
{.compile: "./libs/boringssl/crypto/mldsa/mldsa.cc".}
{.compile: "./libs/boringssl/crypto/mlkem/mlkem.cc".}
{.compile: "./libs/boringssl/crypto/obj/obj.cc".}
{.compile: "./libs/boringssl/crypto/obj/obj_xref.cc".}
{.compile: "./libs/boringssl/crypto/pem/pem_all.cc".}
{.compile: "./libs/boringssl/crypto/pem/pem_info.cc".}
{.compile: "./libs/boringssl/crypto/pem/pem_lib.cc".}
{.compile: "./libs/boringssl/crypto/pem/pem_oth.cc".}
{.compile: "./libs/boringssl/crypto/pem/pem_pk8.cc".}
{.compile: "./libs/boringssl/crypto/pem/pem_pkey.cc".}
{.compile: "./libs/boringssl/crypto/pem/pem_x509.cc".}
{.compile: "./libs/boringssl/crypto/pem/pem_xaux.cc".}
{.compile: "./libs/boringssl/crypto/pkcs7/pkcs7.cc".}
{.compile: "./libs/boringssl/crypto/pkcs7/pkcs7_x509.cc".}
{.compile: "./libs/boringssl/crypto/pkcs8/p5_pbev2.cc".}
{.compile: "./libs/boringssl/crypto/pkcs8/pkcs8.cc".}
{.compile: "./libs/boringssl/crypto/pkcs8/pkcs8_x509.cc".}
{.compile: "./libs/boringssl/crypto/poly1305/poly1305.cc".}
{.compile: "./libs/boringssl/crypto/poly1305/poly1305_arm.cc".}
{.compile: "./libs/boringssl/crypto/poly1305/poly1305_vec.cc".}
{.compile: "./libs/boringssl/crypto/pool/pool.cc".}
{.compile: "./libs/boringssl/crypto/rand/deterministic.cc".}
{.compile: "./libs/boringssl/crypto/rand/fork_detect.cc".}
{.compile: "./libs/boringssl/crypto/rand/forkunsafe.cc".}
{.compile: "./libs/boringssl/crypto/rand/getentropy.cc".}
{.compile: "./libs/boringssl/crypto/rand/ios.cc".}
{.compile: "./libs/boringssl/crypto/rand/passive.cc".}
{.compile: "./libs/boringssl/crypto/rand/rand.cc".}
{.compile: "./libs/boringssl/crypto/rand/trusty.cc".}
{.compile: "./libs/boringssl/crypto/rand/urandom.cc".}
{.compile: "./libs/boringssl/crypto/rand/windows.cc".}
{.compile: "./libs/boringssl/crypto/rc4/rc4.cc".}
{.compile: "./libs/boringssl/crypto/refcount.cc".}
{.compile: "./libs/boringssl/crypto/rsa/rsa_asn1.cc".}
{.compile: "./libs/boringssl/crypto/rsa/rsa_crypt.cc".}
{.compile: "./libs/boringssl/crypto/rsa/rsa_extra.cc".}
{.compile: "./libs/boringssl/crypto/rsa/rsa_print.cc".}
{.compile: "./libs/boringssl/crypto/sha/sha1.cc".}
{.compile: "./libs/boringssl/crypto/sha/sha256.cc".}
{.compile: "./libs/boringssl/crypto/sha/sha512.cc".}
{.compile: "./libs/boringssl/crypto/siphash/siphash.cc".}
{.compile: "./libs/boringssl/crypto/slhdsa/slhdsa.cc".}
{.compile: "./libs/boringssl/crypto/spake2plus/spake2plus.cc".}
{.compile: "./libs/boringssl/crypto/stack/stack.cc".}
{.compile: "./libs/boringssl/crypto/thread.cc".}
{.compile: "./libs/boringssl/crypto/thread_none.cc".}
{.compile: "./libs/boringssl/crypto/thread_pthread.cc".}
{.compile: "./libs/boringssl/crypto/thread_win.cc".}
{.compile: "./libs/boringssl/crypto/trust_token/pmbtoken.cc".}
{.compile: "./libs/boringssl/crypto/trust_token/trust_token.cc".}
{.compile: "./libs/boringssl/crypto/trust_token/voprf.cc".}
{.compile: "./libs/boringssl/crypto/x509/a_digest.cc".}
{.compile: "./libs/boringssl/crypto/x509/a_sign.cc".}
{.compile: "./libs/boringssl/crypto/x509/a_verify.cc".}
{.compile: "./libs/boringssl/crypto/x509/algorithm.cc".}
{.compile: "./libs/boringssl/crypto/x509/asn1_gen.cc".}
{.compile: "./libs/boringssl/crypto/x509/by_dir.cc".}
{.compile: "./libs/boringssl/crypto/x509/by_file.cc".}
{.compile: "./libs/boringssl/crypto/x509/i2d_pr.cc".}
{.compile: "./libs/boringssl/crypto/x509/name_print.cc".}
{.compile: "./libs/boringssl/crypto/x509/policy.cc".}
{.compile: "./libs/boringssl/crypto/x509/rsa_pss.cc".}
{.compile: "./libs/boringssl/crypto/x509/t_crl.cc".}
{.compile: "./libs/boringssl/crypto/x509/t_req.cc".}
{.compile: "./libs/boringssl/crypto/x509/t_x509.cc".}
{.compile: "./libs/boringssl/crypto/x509/t_x509a.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_akey.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_akeya.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_alt.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_bcons.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_bitst.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_conf.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_cpols.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_crld.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_enum.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_extku.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_genn.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_ia5.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_info.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_int.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_lib.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_ncons.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_ocsp.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_pcons.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_pmaps.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_prn.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_purp.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_skey.cc".}
{.compile: "./libs/boringssl/crypto/x509/v3_utl.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_att.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_cmp.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_d2.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_def.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_ext.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_lu.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_obj.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_req.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_set.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_trs.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_txt.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_v3.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_vfy.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509_vpm.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509cset.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509name.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509rset.cc".}
{.compile: "./libs/boringssl/crypto/x509/x509spki.cc".}
{.compile: "./libs/boringssl/crypto/x509/x_algor.cc".}
{.compile: "./libs/boringssl/crypto/x509/x_all.cc".}
{.compile: "./libs/boringssl/crypto/x509/x_attrib.cc".}
{.compile: "./libs/boringssl/crypto/x509/x_crl.cc".}
{.compile: "./libs/boringssl/crypto/x509/x_exten.cc".}
{.compile: "./libs/boringssl/crypto/x509/x_name.cc".}
{.compile: "./libs/boringssl/crypto/x509/x_pubkey.cc".}
{.compile: "./libs/boringssl/crypto/x509/x_req.cc".}
{.compile: "./libs/boringssl/crypto/x509/x_sig.cc".}
{.compile: "./libs/boringssl/crypto/x509/x_spki.cc".}
{.compile: "./libs/boringssl/crypto/x509/x_x509.cc".}
{.compile: "./libs/boringssl/crypto/x509/x_x509a.cc".}
{.compile: "./libs/boringssl/crypto/xwing/xwing.cc".}
{.compile: "./libs/boringssl/gen/crypto//err_data.cc".}
{.compile: "./libs/boringssl/ssl/bio_ssl.cc".}
{.compile: "./libs/boringssl/ssl/d1_both.cc".}
{.compile: "./libs/boringssl/ssl/d1_lib.cc".}
{.compile: "./libs/boringssl/ssl/d1_pkt.cc".}
{.compile: "./libs/boringssl/ssl/d1_srtp.cc".}
{.compile: "./libs/boringssl/ssl/dtls_method.cc".}
{.compile: "./libs/boringssl/ssl/dtls_record.cc".}
{.compile: "./libs/boringssl/ssl/encrypted_client_hello.cc".}
{.compile: "./libs/boringssl/ssl/extensions.cc".}
{.compile: "./libs/boringssl/ssl/handoff.cc".}
{.compile: "./libs/boringssl/ssl/handshake.cc".}
{.compile: "./libs/boringssl/ssl/handshake_client.cc".}
{.compile: "./libs/boringssl/ssl/handshake_server.cc".}
{.compile: "./libs/boringssl/ssl/s3_both.cc".}
{.compile: "./libs/boringssl/ssl/s3_lib.cc".}
{.compile: "./libs/boringssl/ssl/s3_pkt.cc".}
{.compile: "./libs/boringssl/ssl/ssl_aead_ctx.cc".}
{.compile: "./libs/boringssl/ssl/ssl_asn1.cc".}
{.compile: "./libs/boringssl/ssl/ssl_buffer.cc".}
{.compile: "./libs/boringssl/ssl/ssl_cert.cc".}
{.compile: "./libs/boringssl/ssl/ssl_cipher.cc".}
{.compile: "./libs/boringssl/ssl/ssl_credential.cc".}
{.compile: "./libs/boringssl/ssl/ssl_file.cc".}
{.compile: "./libs/boringssl/ssl/ssl_key_share.cc".}
{.compile: "./libs/boringssl/ssl/ssl_lib.cc".}
{.compile: "./libs/boringssl/ssl/ssl_privkey.cc".}
{.compile: "./libs/boringssl/ssl/ssl_session.cc".}
{.compile: "./libs/boringssl/ssl/ssl_stat.cc".}
{.compile: "./libs/boringssl/ssl/ssl_transcript.cc".}
{.compile: "./libs/boringssl/ssl/ssl_versions.cc".}
{.compile: "./libs/boringssl/ssl/ssl_x509.cc".}
{.compile: "./libs/boringssl/ssl/t1_enc.cc".}
{.compile: "./libs/boringssl/ssl/tls13_both.cc".}
{.compile: "./libs/boringssl/ssl/tls13_client.cc".}
{.compile: "./libs/boringssl/ssl/tls13_enc.cc".}
{.compile: "./libs/boringssl/ssl/tls13_server.cc".}
{.compile: "./libs/boringssl/ssl/tls_method.cc".}
{.compile: "./libs/boringssl/ssl/tls_record.cc".}
{.compile: "./libs/boringssl/decrepit/x509/x509_decrepit.cc".}