New "algorithm define" OPENSSL_NO_GMP. Update mkdef.pl and Configure script
to use it.
diff --git a/Configure b/Configure
index 581a701..1cf439d 100755
--- a/Configure
+++ b/Configure
@@ -582,6 +582,7 @@
 my $no_krb5=0;   # but "no-krb5" is implied unless "--with-krb5-..." is used
 my $no_asm=0;
 my $no_dso=0;
+my $no_gmp=0;
 my @skip=();
 my $Makefile="Makefile";
 my $des_locl="crypto/des/des_locl.h";
@@ -611,6 +612,7 @@
 # All of the following is disabled by default (RC5 was enabled before 0.9.8):
 
 my %disabled = ( # "what"         => "comment"
+		 "gmp"		  => "default",
                  "mdc2"           => "default",
                  "rc5"            => "default",
                  "shared"         => "default",
diff --git a/crypto/engine/eng_all.c b/crypto/engine/eng_all.c
index 93c54d0..86b2f9a 100644
--- a/crypto/engine/eng_all.c
+++ b/crypto/engine/eng_all.c
@@ -102,7 +102,7 @@
 #if defined(__OpenBSD__) || defined(__FreeBSD__)
 	ENGINE_load_cryptodev();
 #endif
-#if defined(OPENSSL_USE_GMP) && !defined(OPENSSL_NO_HW_GMP)
+#if !defined(OPENSSL_NO_GMP) && !defined(OPENSSL_NO_HW_GMP)
 	ENGINE_load_gmp();
 #endif
 #endif
diff --git a/crypto/engine/engine.h b/crypto/engine/engine.h
index 14fefea..e25090c 100644
--- a/crypto/engine/engine.h
+++ b/crypto/engine/engine.h
@@ -341,7 +341,9 @@
 void ENGINE_load_atalla(void);
 void ENGINE_load_chil(void);
 void ENGINE_load_cswift(void);
+#ifndef OPENSSL_NO_GMP
 void ENGINE_load_gmp(void);
+#endif
 void ENGINE_load_nuron(void);
 void ENGINE_load_sureware(void);
 void ENGINE_load_ubsec(void);
diff --git a/util/mkdef.pl b/util/mkdef.pl
index e2a83c9..e6064ba 100755
--- a/util/mkdef.pl
+++ b/util/mkdef.pl
@@ -93,7 +93,7 @@
 			 # External "algorithms"
 			 "FP_API", "STDIO", "SOCK", "KRB5",
 			 # Engines
-			 "STATIC_ENGINE", "ENGINE", "HW",
+			 "STATIC_ENGINE", "ENGINE", "HW", "GMP",
 			 # Deprecated functions
 			 "DEPRECATED" );
 
@@ -112,7 +112,8 @@
 my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2;
 my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5;
 my $no_ec; my $no_ecdsa; my $no_ecdh; my $no_engine; my $no_hw;
-my $no_fp_api; my $no_static_engine; my $no_deprecated;
+my $no_fp_api; my $no_static_engine; my $no_gmp; my $no_deprecated;
+
 
 foreach (@ARGV, split(/ /, $options))
 	{
@@ -184,6 +185,7 @@
 	elsif (/^no-krb5$/)	{ $no_krb5=1; }
 	elsif (/^no-engine$/)	{ $no_engine=1; }
 	elsif (/^no-hw$/)	{ $no_hw=1; }
+	elsif (/^no-gmp$/)	{ $no_gmp=1; }
 	}
 
 
@@ -1084,6 +1086,7 @@
 			if ($keyword eq "HW" && $no_hw) { return 0; }
 			if ($keyword eq "FP_API" && $no_fp_api) { return 0; }
 			if ($keyword eq "STATIC_ENGINE" && $no_static_engine) { return 0; }
+			if ($keyword eq "GMP" && $no_gmp) { return 0; }
 			if ($keyword eq "DEPRECATED" && $no_deprecated) { return 0; }
 
 			# Nothing recognise as true