From eb164d0b12485292faee35770a4ce2f48976aa1f Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Sun, 30 Jan 2011 01:30:48 +0000 Subject: [PATCH] stop warnings about no previous prototype when compiling shared engines --- crypto/engine/engine.h | 3 +++ engines/e_capi.c | 2 ++ engines/e_gmp.c | 2 ++ engines/e_padlock.c | 10 ++++++++++ 4 files changed, 17 insertions(+) diff --git a/crypto/engine/engine.h b/crypto/engine/engine.h index a42e6b1f98..bfc453fa96 100644 --- a/crypto/engine/engine.h +++ b/crypto/engine/engine.h @@ -678,6 +678,7 @@ typedef struct st_dynamic_fns { * can be fully instantiated with IMPLEMENT_DYNAMIC_CHECK_FN(). */ typedef unsigned long (*dynamic_v_check_fn)(unsigned long ossl_version); #define IMPLEMENT_DYNAMIC_CHECK_FN() \ + OPENSSL_EXPORT unsigned long v_check(unsigned long v); \ OPENSSL_EXPORT unsigned long v_check(unsigned long v) { \ if(v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \ return 0; } @@ -700,6 +701,8 @@ typedef unsigned long (*dynamic_v_check_fn)(unsigned long ossl_version); typedef int (*dynamic_bind_engine)(ENGINE *e, const char *id, const dynamic_fns *fns); #define IMPLEMENT_DYNAMIC_BIND_FN(fn) \ + OPENSSL_EXPORT \ + int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); \ OPENSSL_EXPORT \ int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { \ if(ENGINE_get_static_state() == fns->static_state) goto skip_cbs; \ diff --git a/engines/e_capi.c b/engines/e_capi.c index 1925bad5c1..d4cfdfe4ec 100644 --- a/engines/e_capi.c +++ b/engines/e_capi.c @@ -1886,6 +1886,8 @@ static int cert_select_dialog(ENGINE *e, SSL *ssl, STACK_OF(X509) *certs) #include #ifndef OPENSSL_NO_DYNAMIC_ENGINE OPENSSL_EXPORT +int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); +OPENSSL_EXPORT int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { return 0; } IMPLEMENT_DYNAMIC_CHECK_FN() #else diff --git a/engines/e_gmp.c b/engines/e_gmp.c index c1f5601b62..a3d47151ea 100644 --- a/engines/e_gmp.c +++ b/engines/e_gmp.c @@ -471,6 +471,8 @@ static int bind_fn(ENGINE *e, const char *id) IMPLEMENT_DYNAMIC_BIND_FN(bind_fn) #else OPENSSL_EXPORT +int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); +OPENSSL_EXPORT int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { return 0; } #endif #endif /* !OPENSSL_NO_DYNAMIC_ENGINE */ diff --git a/engines/e_padlock.c b/engines/e_padlock.c index 240b1f9b57..ce7e086553 100644 --- a/engines/e_padlock.c +++ b/engines/e_padlock.c @@ -107,10 +107,14 @@ ) || \ (defined(_MSC_VER) && defined(_M_IX86)) # define COMPILE_HW_PADLOCK +# ifdef OPENSSL_NO_DYNAMIC_ENGINE static ENGINE *ENGINE_padlock (void); +# endif # endif #endif +#ifdef OPENSSL_NO_DYNAMIC_ENGINE + void ENGINE_load_padlock (void) { /* On non-x86 CPUs it just returns. */ @@ -123,6 +127,8 @@ void ENGINE_load_padlock (void) #endif } +#endif + #ifdef COMPILE_HW_PADLOCK /* We do these includes here to avoid header problems on platforms that do not have the VIA padlock anyway... */ @@ -196,6 +202,7 @@ padlock_bind_helper(ENGINE *e) return 1; } +#ifdef OPENSSL_NO_DYNAMIC_ENGINE /* Constructor */ static ENGINE * ENGINE_padlock(void) @@ -213,6 +220,7 @@ ENGINE_padlock(void) return eng; } +#endif /* Check availability of the engine */ static int @@ -1322,6 +1330,8 @@ static RAND_METHOD padlock_rand = { #else /* !COMPILE_HW_PADLOCK */ #ifndef OPENSSL_NO_DYNAMIC_ENGINE OPENSSL_EXPORT +int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); +OPENSSL_EXPORT int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { return 0; } IMPLEMENT_DYNAMIC_CHECK_FN() #endif -- 2.25.1