ladybird/Meta/gn/secondary/Userland/Libraries/LibCrypto/BUILD.gn
devgianlu 4b3715ccba
Some checks are pending
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Build Dev Container Image / build (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (arm64, macos-15, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (x86_64, ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
LibCrypto: Replace {Unsigned,Signed}BigInteger impl with LibTomMath
Replace the implementation of maths in `UnsignedBigInteger`
and `SignedBigInteger` with LibTomMath. This gives benefits in terms of
less code to maintain, correctness and speed.

These changes also remove now-unsued methods and improve the error
propagation for functions allocating lots of memory. Additionally, the
new implementation is always trimmed and won't have dangling zeros when
exporting it.
2025-05-23 11:57:21 +02:00

35 lines
839 B
Text

shared_library("LibCrypto") {
output_name = "crypto"
include_dirs = [ "//Userland/Libraries" ]
cflags_cc = [ "-Wvla" ]
deps = [
"//AK",
"//Meta/gn/build/libs/openssl",
"//Userland/Libraries/LibCore",
]
sources = [
"ASN1/ASN1.cpp",
"ASN1/DER.cpp",
"ASN1/PEM.cpp",
"Authentication/GHash.cpp",
"Authentication/Poly1305.cpp",
"BigFraction/BigFraction.cpp",
"BigInt/SignedBigInteger.cpp",
"BigInt/UnsignedBigInteger.cpp",
"Checksum/Adler32.cpp",
"Checksum/CRC32.cpp",
"Checksum/cksum.cpp",
"Cipher/AES.cpp",
"Cipher/ChaCha20.cpp",
"Curves/Curve25519.cpp",
"Curves/Ed25519.cpp",
"Curves/X25519.cpp",
"Curves/X448.cpp",
"Hash/BLAKE2b.cpp",
"Hash/MD5.cpp",
"Hash/SHA1.cpp",
"Hash/SHA2.cpp",
"PK/RSA.cpp",
"SecureRandom.cpp",
]
}