exclude disabled message digests
diff --git a/apps/progs.h b/apps/progs.h
index 610f21e..752385d 100644
--- a/apps/progs.h
+++ b/apps/progs.h
@@ -113,13 +113,27 @@
 	{FUNC_TYPE_GENERAL,"rand",rand_main},
 	{FUNC_TYPE_GENERAL,"engine",engine_main},
 	{FUNC_TYPE_GENERAL,"ocsp",ocsp_main},
+#ifndef OPENSSL_NO_MD2
 	{FUNC_TYPE_MD,"md2",dgst_main},
+#endif
+#ifndef OPENSSL_NO_MD4
 	{FUNC_TYPE_MD,"md4",dgst_main},
+#endif
+#ifndef OPENSSL_NO_MD5
 	{FUNC_TYPE_MD,"md5",dgst_main},
+#endif
+#ifndef OPENSSL_NO_SHA
 	{FUNC_TYPE_MD,"sha",dgst_main},
+#endif
+#ifndef OPENSSL_NO_SHA1
 	{FUNC_TYPE_MD,"sha1",dgst_main},
+#endif
+#ifndef OPENSSL_NO_MDC2
 	{FUNC_TYPE_MD,"mdc2",dgst_main},
+#endif
+#ifndef OPENSSL_NO_RMD160
 	{FUNC_TYPE_MD,"rmd160",dgst_main},
+#endif
 #ifndef OPENSSL_NO_AES
 	{FUNC_TYPE_CIPHER,"aes-128-cbc",enc_main},
 #endif
diff --git a/apps/progs.pl b/apps/progs.pl
index 1eed873..d6a40ed 100644
--- a/apps/progs.pl
+++ b/apps/progs.pl
@@ -44,7 +44,7 @@
 foreach ("md2","md4","md5","sha","sha1","mdc2","rmd160")
 	{
 	push(@files,$_);
-	printf "\t{FUNC_TYPE_MD,\"%s\",dgst_main},\n",$_;
+	printf "#ifndef OPENSSL_NO_".uc($_)."\n\t{FUNC_TYPE_MD,\"".$_."\",dgst_main},\n#endif\n";
 	}
 
 foreach (