Reduce header interdependencies, initially in engine.h (the rest of the changes are the fallout). As this could break source code that doesn't directly include headers for interfaces it uses, changes to recursive includes are covered by the OPENSSL_NO_DEPRECATED symbol. It's better to define this when building and using openssl, and then adapt code where necessary - this is how to stay current. However the mechanism exists for the lethargic.
diff --git a/engines/e_4758_cca.c b/engines/e_4758_cca.c index b006ed8..3c8e5f6 100644 --- a/engines/e_4758_cca.c +++ b/engines/e_4758_cca.c
@@ -56,11 +56,11 @@ #include <stdio.h> #include <string.h> #include <openssl/crypto.h> -/* #include <openssl/pem.h> */ #include <openssl/dso.h> #include <openssl/x509.h> #include <openssl/objects.h> #include <openssl/engine.h> +#include <openssl/rand.h> #ifndef OPENSSL_NO_HW #ifndef OPENSSL_NO_HW_4758_CCA