Junio C Hamano <gitster@xxxxxxxxx> writes: > 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. > ... Another glitch. As "make hdr-check" is pretty much indiscriminatory, my build failed on a box without libnettle-dev (hence /usr/include/nettle/sha2.h missing). diff --git a/Makefile b/Makefile index ce99aecc31..52a9f97997 100644 --- a/Makefile +++ b/Makefile @@ -3098,6 +3098,9 @@ $(SP_OBJ): %.sp: %.c %.o sparse: $(SP_OBJ) EXCEPT_HDRS := $(GENERATED_H) unicode-width.h compat/% xdiff/% +ifndef NETTLE_SHA256 + EXCEPT_HDRS += sha256/nettle.h +endif ifndef GCRYPT_SHA256 EXCEPT_HDRS += sha256/gcrypt.h endif diff --git a/sha256/nettle.h b/sha256/nettle.h index 159239a785..8c93f29dda 100644 --- a/sha256/nettle.h +++ b/sha256/nettle.h @@ -5,17 +5,17 @@ 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); }