Make SHA-256/-512 optional. Note that no-sha switches off *all* SHA.
authorAndy Polyakov <appro@openssl.org>
Sun, 25 Jul 2004 18:25:24 +0000 (18:25 +0000)
committerAndy Polyakov <appro@openssl.org>
Sun, 25 Jul 2004 18:25:24 +0000 (18:25 +0000)
crypto/sha/sha256.c
crypto/sha/sha512.c

index 21aa5d7..618ba3b 100644 (file)
@@ -4,6 +4,8 @@
  * according to the OpenSSL license [found in ../../LICENSE].
  * ====================================================================
  */
+#if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA256)
+
 #include <stdlib.h>
 #include <string.h>
 
@@ -311,3 +313,5 @@ void HASH_BLOCK_HOST_ORDER (SHA256_CTX *ctx, const void *in, size_t num)
 
 void HASH_BLOCK_DATA_ORDER (SHA256_CTX *ctx, const void *in, size_t num)
 {   sha256_block (ctx,in,num,0);   }
+
+#endif /* OPENSSL_NO_SHA256 */
index b328fe7..bd1a125 100644 (file)
@@ -4,6 +4,7 @@
  * according to the OpenSSL license [found in ../../LICENSE].
  * ====================================================================
  */
+#if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA512)
 /*
  * IMPLEMENTATION NOTES.
  *
@@ -344,7 +345,7 @@ static const SHA_LONG64 K512[80] = {
 #define Ch(x,y,z)      (((x) & (y)) ^ ((~(x)) & (z)))
 #define Maj(x,y,z)     (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))
 
-#if defined(OPENSSL_IA32_SSE2) && !defined(OPENSSL_NO_ASM)
+#if defined(OPENSSL_IA32_SSE2) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY)
 #define        GO_FOR_SSE2(ctx,in,num)         do {            \
        extern int      OPENSSL_ia32cap;                \
        void            sha512_block_sse2(void *,const void *,size_t);  \
@@ -490,3 +491,5 @@ static void sha512_block (SHA512_CTX *ctx, const void *in, size_t num)
 #endif
 
 #endif /* SHA512_ASM */
+
+#endif /* OPENSSL_NO_SHA512 */