perlasm/x86[nm]asm.pl: make OPENSSL_instrument_bus[2] compile.
[oweals/openssl.git] / crypto / engine / eng_all.c
index 64ec2db901fceafde436937d61e885ce427cb805..5cd2d87f6706e4d882b90e2c21ac021d93b60f94 100644 (file)
  *
  */
 
-#include <openssl/err.h>
-#include <openssl/engine.h>
+#include "cryptlib.h"
 #include "eng_int.h"
 
 void ENGINE_load_builtin_engines(void)
        {
+       /* Some ENGINEs need this */
+       OPENSSL_cpuid_setup();
+#if 0
        /* There's no longer any need for an "openssl" ENGINE unless, one day,
         * it is the *only* way for standard builtin implementations to be be
         * accessed (ie. it would be possible to statically link binaries with
         * *no* builtin implementations). */
-#if 0
        ENGINE_load_openssl();
+#endif
+#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV)
+       ENGINE_load_cryptodev();
+#endif
+#if !defined(OPENSSL_NO_HW) && !defined(OPENSSL_NO_HW_AESNI)
+       ENGINE_load_aesni();
 #endif
        ENGINE_load_dynamic();
 #ifndef OPENSSL_NO_STATIC_ENGINE
@@ -96,14 +103,21 @@ void ENGINE_load_builtin_engines(void)
 #ifndef OPENSSL_NO_HW_UBSEC
        ENGINE_load_ubsec();
 #endif
+#ifndef OPENSSL_NO_HW_PADLOCK
+       ENGINE_load_padlock();
 #endif
-#if defined(__OpenBSD__) || defined(__FreeBSD__)
-       ENGINE_load_cryptodev();
 #endif
-#if defined(OPENSSL_USE_GMP) && !defined(OPENSSL_NO_HW_GMP)
+#ifndef OPENSSL_NO_GOST
+       ENGINE_load_gost();
+#endif
+#ifndef OPENSSL_NO_GMP
        ENGINE_load_gmp();
 #endif
+#if defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_NO_CAPIENG)
+       ENGINE_load_capi();
+#endif
 #endif
+       ENGINE_register_all_complete();
        }
 
 #if defined(__OpenBSD__) || defined(__FreeBSD__)