Junio C Hamano <gitster@xxxxxxxxx> writes: > Perhaps "Let's add another option ..., which is Nettle, and give it > preference over all others when multiple libraries are availalble" > or something along that line? > >> diff --git a/sha256/nettle.h b/sha256/nettle.h >> new file mode 100644 >> index 0000000000..9b2845babc >> --- /dev/null >> +++ b/sha256/nettle.h >> @@ -0,0 +1,28 @@ >> +#ifndef SHA256_GCRYPT_H >> +#define SHA256_GCRYPT_H > > Not really ;-) FWIW, I needed the following to successfully build with NETTLE_SHA256=YesPlease defined. The final linkage step complained about missing nettle_SHA256_{Init,Update,Final}() functions without the tweak. diff --git c/sha256/nettle.h w/sha256/nettle.h index 9b2845babc..8c93f29dda 100644 --- c/sha256/nettle.h +++ w/sha256/nettle.h @@ -1,21 +1,21 @@ -#ifndef SHA256_GCRYPT_H -#define SHA256_GCRYPT_H +#ifndef SHA256_NETTLE_H +#define SHA256_NETTLE_H #include <nettle/sha2.h> typedef struct sha256_ctx nettle_SHA256_CTX; -inline void nettle_SHA256_Init(nettle_SHA256_CTX *ctx) +static inline void nettle_SHA256_Init(nettle_SHA256_CTX *ctx) { sha256_init(ctx); } -inline void nettle_SHA256_Update(nettle_SHA256_CTX *ctx, const void *data, size_t len) +static inline void nettle_SHA256_Update(nettle_SHA256_CTX *ctx, const void *data, size_t len) { sha256_update(ctx, len, data); } -inline void nettle_SHA256_Final(unsigned char *digest, nettle_SHA256_CTX *ctx) +static inline void nettle_SHA256_Final(unsigned char *digest, nettle_SHA256_CTX *ctx) { sha256_digest(ctx, SHA256_DIGEST_SIZE, digest); }