Thanks, that works for me; please install it into gnulib when you have the time.
I do have some minor stylistic suggestions, but they're not crucial: +GL_OPENSSL_INLINE void +GL_CRYPTO_FN(_init_ctx) (struct _gl_ctx *ctx) + { (void) OPENSSL_FN(_Init) ((_gl_CTX *) ctx); } Space before paren, here and elsewhere. +GL_OPENSSL_INLINE void* "void *", not "void*", here and elsewhere. + { return OPENSSL_FN() ((const unsigned char *)buf, len, res); } Space between ")" and "buf".