(library (name cryptokit) (public_name cryptokit)
 (libraries unix zarith)
 (wrapped false)
 (modules CryptokitBignum Cryptokit)
 (foreign_stubs
  (language c)
  (flags -DCAML_NAME_SPACE
         -DBLAKE3_NO_SSE2 -DBLAKE3_NO_SSE41 -DBLAKE3_NO_AVX2 -DBLAKE3_NO_AVX512
         -DBLAKE3_USE_NEON=0
         (:include flags.sexp))
  (names aesni
         arcfour
         stubs-arcfour
         blowfish
         stubs-blowfish
         d3des
         stubs-des
         rijndael-alg-fst
         ripemd160
         stubs-ripemd160
         sha1
         stubs-sha1
         sha256
         stubs-sha256
         sha512
         stubs-sha512
         stubs-aes
         stubs-md5
         stubs-misc
         stubs-rng
         stubs-zlib
         keccak
         stubs-sha3
         chacha20
         stubs-chacha20
         blake2
         stubs-blake2
         ghash
         pclmul
         stubs-ghash
         poly1305-donna
         stubs-poly1305
         siphash
         stubs-siphash
         blake3
         blake3_dispatch
         blake3_portable
         stubs-blake3))
  (c_library_flags (:include library_flags.sexp))
  (flags :standard -safe-string -w -7 -w -27 -w -37))

; compute flags
(rule
 (alias configure)
 (targets flags.sexp library_flags.sexp)
 (action (run config/flags.exe)))
