Add the possibility to build without the ENGINE framework.
PR: 287
diff --git a/demos/x509/mkcert.c b/demos/x509/mkcert.c
index 8304d30..c5e67b8 100644
--- a/demos/x509/mkcert.c
+++ b/demos/x509/mkcert.c
@@ -9,7 +9,9 @@
 #include <openssl/pem.h>
 #include <openssl/conf.h>
 #include <openssl/x509v3.h>
+#ifndef OPENSSL_NO_ENGINE
 #include <openssl/engine.h>
+#endif
 
 int mkcert(X509 **x509p, EVP_PKEY **pkeyp, int bits, int serial, int days);
 int add_ext(X509 *cert, int nid, char *value);
@@ -35,7 +37,9 @@
 	X509_free(x509);
 	EVP_PKEY_free(pkey);
 
+#ifndef OPENSSL_NO_ENGINE
 	ENGINE_cleanup();
+#endif
 	CRYPTO_cleanup_all_ex_data();
 
 	CRYPTO_mem_leaks(bio_err);
diff --git a/demos/x509/mkreq.c b/demos/x509/mkreq.c
index d69dcc3..3dfc65f 100644
--- a/demos/x509/mkreq.c
+++ b/demos/x509/mkreq.c
@@ -8,7 +8,9 @@
 #include <openssl/pem.h>
 #include <openssl/conf.h>
 #include <openssl/x509v3.h>
+#ifndef OPENSSL_NO_ENGINE
 #include <openssl/engine.h>
+#endif
 
 int mkreq(X509_REQ **x509p, EVP_PKEY **pkeyp, int bits, int serial, int days);
 int add_ext(STACK_OF(X509_REQUEST) *sk, int nid, char *value);
@@ -33,7 +35,9 @@
 	X509_REQ_free(req);
 	EVP_PKEY_free(pkey);
 
+#ifndef OPENSSL_NO_ENGINE
 	ENGINE_cleanup();
+#endif
 	CRYPTO_cleanup_all_ex_data();
 
 	CRYPTO_mem_leaks(bio_err);