include a generic blake2 reference implementation

for non-x86 systems
This commit is contained in:
La Ancapo 2026-01-27 21:39:03 +01:00
parent e898870358
commit 4fbc4e4c70
7 changed files with 1840 additions and 5 deletions

View file

@ -11,6 +11,11 @@ category: Network, Stellar
build-type: Simple
tested-with: GHC == 9.12.3
Flag support_sse
Description: Use SSE optimized version of (BLAKE2, ARGON2)
Default: False
Manual: True
executable stellar-veritas
main-is: Main.hs
CPP-options: -DWITH_BYTESTRING_SUPPORT
@ -48,11 +53,22 @@ executable stellar-veritas
UnliftedFFITypes
c-sources: bundled/cbits/ref10/ed25519.c
bundled/cbits/argon2/argon2.c
bundled/cbits/blake2/sse/blake2s.c
bundled/cbits/blake2/sse/blake2sp.c
bundled/cbits/blake2/sse/blake2b.c
bundled/cbits/blake2/sse/blake2bp.c
include-dirs: bundled/cbits/ref10
bundled/cbits/ref10/include
bundled/cbits/argon2
bundled/cbits/blake2/sse
if arch(x86_64) || flag(support_sse)
C-sources: bundled/cbits/blake2/sse/blake2s.c
, bundled/cbits/blake2/sse/blake2sp.c
, bundled/cbits/blake2/sse/blake2b.c
, bundled/cbits/blake2/sse/blake2bp.c
include-dirs: bundled/cbits/blake2/sse
else
C-sources: bundled/cbits/blake2/ref/blake2s-ref.c
, bundled/cbits/blake2/ref/blake2sp-ref.c
, bundled/cbits/blake2/ref/blake2b-ref.c
, bundled/cbits/blake2/ref/blake2bp-ref.c
include-dirs: bundled/cbits/blake2/ref
if arch(x86_64) || flag(support_sse)
CPP-options: -DSUPPORT_SSE
if arch(i386)
CC-options: -msse2