Browse Source

sha2: Build as part of CMakeLib

Mangle sha2 symbols to avoid conflict with system libs.
Brad King 14 years ago
parent
commit
73efd4a504
3 changed files with 55 additions and 0 deletions
  1. 2 0
      Source/CMakeLists.txt
  2. 2 0
      Source/cm_sha2.h
  3. 51 0
      Source/cm_sha2_mangle.h

+ 2 - 0
Source/CMakeLists.txt

@@ -261,6 +261,8 @@ SET(SRCS
   cmakewizard.cxx
   cmakewizard.h
 
+  cm_sha2.h
+  cm_sha2.c
   cm_utf8.h
   cm_utf8.c
   )

+ 2 - 0
Source/cm_sha2.h

@@ -36,6 +36,8 @@
 #ifndef __SHA2_H__
 #define __SHA2_H__
 
+#include "cm_sha2_mangle.h"
+
 /* CMake modification: use integer types from cmIML.  */
 #include "cmIML/INT.h"
 typedef cmIML_INT_uint8_t cm_sha2_uint8_t;

+ 51 - 0
Source/cm_sha2_mangle.h

@@ -0,0 +1,51 @@
+/*============================================================================
+  CMake - Cross Platform Makefile Generator
+  Copyright 2000-2011 Kitware, Inc., Insight Software Consortium
+
+  Distributed under the OSI-approved BSD License (the "License");
+  see accompanying file Copyright.txt for details.
+
+  This software is distributed WITHOUT ANY WARRANTY; without even the
+  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+  See the License for more information.
+============================================================================*/
+#ifndef cm_sha2_mangle_h
+#define cm_sha2_mangle_h
+
+/* Mangle sha2 symbol names to avoid possible conflict with
+   implementations in other libraries to which CMake links.  */
+#define SHA1_Data                  cmSHA1_Data
+#define SHA1_End                   cmSHA1_End
+#define SHA1_Final                 cmSHA1_Final
+#define SHA1_Init                  cmSHA1_Init
+#define SHA1_Internal_Transform    cmSHA1_Internal_Transform
+#define SHA1_Update                cmSHA1_Update
+#define SHA224_Data                cmSHA224_Data
+#define SHA224_End                 cmSHA224_End
+#define SHA224_Final               cmSHA224_Final
+#define SHA224_Init                cmSHA224_Init
+#define SHA224_Internal_Transform  cmSHA224_Internal_Transform
+#define SHA224_Update              cmSHA224_Update
+#define SHA256_Data                cmSHA256_Data
+#define SHA256_End                 cmSHA256_End
+#define SHA256_Final               cmSHA256_Final
+#define SHA256_Init                cmSHA256_Init
+#define SHA256_Internal_Init       cmSHA256_Internal_Init
+#define SHA256_Internal_Last       cmSHA256_Internal_Last
+#define SHA256_Internal_Transform  cmSHA256_Internal_Transform
+#define SHA256_Update              cmSHA256_Update
+#define SHA384_Data                cmSHA384_Data
+#define SHA384_End                 cmSHA384_End
+#define SHA384_Final               cmSHA384_Final
+#define SHA384_Init                cmSHA384_Init
+#define SHA384_Update              cmSHA384_Update
+#define SHA512_Data                cmSHA512_Data
+#define SHA512_End                 cmSHA512_End
+#define SHA512_Final               cmSHA512_Final
+#define SHA512_Init                cmSHA512_Init
+#define SHA512_Internal_Init       cmSHA512_Internal_Init
+#define SHA512_Internal_Last       cmSHA512_Internal_Last
+#define SHA512_Internal_Transform  cmSHA512_Internal_Transform
+#define SHA512_Update              cmSHA512_Update
+
+#endif