]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/OpensslLib/OpensslLib.inf
CryptoPkg/OpensslLib: Switch to upstream fix for OpenSSL RT#3964
[mirror_edk2.git] / CryptoPkg / Library / OpensslLib / OpensslLib.inf
index dbf8a96217327b6943826d02a2988df80ad9e81b..9b6e860337a538fcedf845370513a4005daf5018 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 #  This module provides openSSL Library implementation.\r
 #\r
-#  Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>\r
 #  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
 #  which accompanies this distribution.  The full text of the license may be found at\r
   MODULE_TYPE                    = BASE\r
   VERSION_STRING                 = 1.0\r
   LIBRARY_CLASS                  = OpensslLib\r
-  DEFINE OPENSSL_PATH            = openssl-1.0.2c\r
-  DEFINE OPENSSL_FLAGS           = -DOPENSSL_SYSNAME_UWIN -DOPENSSL_SYS_UEFI -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SOCK -DOPENSSL_NO_CMS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_ERR -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_ENGINE -DGETPID_IS_MEANINGLESS -DOPENSSL_NO_STDIO -DOPENSSL_NO_POSIX_IO -DOPENSSL_NO_FP_API -DOPENSSL_NO_DGRAM -DOPENSSL_NO_ASM\r
-  DEFINE OPENSSL_EXFLAGS         = -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_SHA0 -DOPENSSL_NO_LHASH -DOPENSSL_NO_HW -DOPENSSL_NO_OCSP -DOPENSSL_NO_LOCKING -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_RIPEMD -DOPENSSL_NO_RC2 -DOPENSSL_NO_IDEA -DOPENSSL_NO_BF -DOPENSSL_NO_CAST -DOPENSSL_NO_WHIRLPOOL -DOPENSSL_NO_DSA -DOPENSSL_NO_EC -DOPENSSL_NO_ECDH -DOPENSSL_NO_ECDSA -DOPENSSL_NO_SRP -DOPENSSL_NO_ENGINE\r
-\r
-#\r
-# OPENSSL_FLAGS is set to define the following flags to be compatible with\r
-# EDK II build system and UEFI executiuon environment\r
-#\r
-#   OPENSSL_SYSNAME_UWIN\r
-#   OPENSSL_SYS_UEFI\r
-#   L_ENDIAN\r
-#   _CRT_SECURE_NO_DEPRECATE\r
-#   _CRT_NONSTDC_NO_DEPRECATE\r
-#   OPENSSL_NO_CAMELLIA\r
-#   OPENSSL_NO_SEED\r
-#   OPENSSL_NO_RC5\r
-#   OPENSSL_NO_MDC2\r
-#   OPENSSL_NO_SOCK\r
-#   OPENSSL_NO_CMS\r
-#   OPENSSL_NO_JPAKE\r
-#   OPENSSL_NO_CAPIENG\r
-#   OPENSSL_NO_ERR\r
-#   OPENSSL_NO_KRB5\r
-#   OPENSSL_NO_DYNAMIC_ENGINE\r
-#   GETPID_IS_MEANINGLESS\r
-#   OPENSSL_NO_STDIO\r
-#   OPENSSL_NO_POSIX_IO\r
-#   OPENSSL_NO_FP_API\r
-#   OPENSSL_NO_DGRAM\r
-#   OPENSSL_NO_ASM\r
-#\r
+  DEFINE OPENSSL_PATH            = openssl-1.0.2f\r
+  DEFINE OPENSSL_FLAGS           = -DL_ENDIAN -DOPENSSL_SMALL_FOOTPRINT -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE\r
 \r
 #\r
 #  VALID_ARCHITECTURES           = IA32 X64 IPF ARM AARCH64\r
   #\r
   # PQUEUE\r
   #\r
-  $(OPENSSL_PATH)/crypto/pqueue/pqueue.c\r
+  #$(OPENSSL_PATH)/crypto/pqueue/pqueue.c\r
 \r
   #\r
   # TS\r
   #\r
-  $(OPENSSL_PATH)/crypto/ts/ts_err.c\r
-  $(OPENSSL_PATH)/crypto/ts/ts_req_utils.c\r
-  $(OPENSSL_PATH)/crypto/ts/ts_req_print.c\r
-  $(OPENSSL_PATH)/crypto/ts/ts_rsp_utils.c\r
-  $(OPENSSL_PATH)/crypto/ts/ts_rsp_print.c\r
-  $(OPENSSL_PATH)/crypto/ts/ts_rsp_sign.c\r
-  $(OPENSSL_PATH)/crypto/ts/ts_rsp_verify.c\r
-  $(OPENSSL_PATH)/crypto/ts/ts_verify_ctx.c\r
-  $(OPENSSL_PATH)/crypto/ts/ts_lib.c\r
-  $(OPENSSL_PATH)/crypto/ts/ts_conf.c\r
-  $(OPENSSL_PATH)/crypto/ts/ts_asn1.c\r
+  #$(OPENSSL_PATH)/crypto/ts/ts_err.c\r
+  #$(OPENSSL_PATH)/crypto/ts/ts_req_utils.c\r
+  #$(OPENSSL_PATH)/crypto/ts/ts_req_print.c\r
+  #$(OPENSSL_PATH)/crypto/ts/ts_rsp_utils.c\r
+  #$(OPENSSL_PATH)/crypto/ts/ts_rsp_print.c\r
+  #$(OPENSSL_PATH)/crypto/ts/ts_rsp_sign.c\r
+  #$(OPENSSL_PATH)/crypto/ts/ts_rsp_verify.c\r
+  #$(OPENSSL_PATH)/crypto/ts/ts_verify_ctx.c\r
+  #$(OPENSSL_PATH)/crypto/ts/ts_lib.c\r
+  #$(OPENSSL_PATH)/crypto/ts/ts_conf.c\r
+  #$(OPENSSL_PATH)/crypto/ts/ts_asn1.c\r
 \r
   #\r
   # SRP - Disabled by OPENSSL_NO_SRP\r
 [LibraryClasses]\r
   DebugLib\r
 \r
+[LibraryClasses.ARM]\r
+  ArmSoftFloatLib\r
+\r
 [BuildOptions]\r
   #\r
   # Disables the following Visual Studio compiler warnings brought by openssl source, so we do not break the build with /WX option:\r
   # C4305: truncation from type1 to type2 of smaller size\r
   # C4306: conversion from type1 to type2 of greater size\r
   # C4702: Potentially uninitialized local variable name used\r
+  # C4311: pointer truncation from 'type' to 'type'\r
   #\r
-  MSFT:*_*_IA32_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -DTHIRTY_TWO_BIT /wd4244 /wd4701 /wd4702 /wd4706\r
-  MSFT:*_*_X64_CC_FLAGS     = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -DSIXTY_FOUR_BIT /wd4133 /wd4244 /wd4245 /wd4267 /wd4701 /wd4305 /wd4306 /wd4702 /wd4706\r
-  MSFT:*_*_IPF_CC_FLAGS     = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -DSIXTY_FOUR_BIT /wd4133 /wd4244 /wd4245 /wd4267 /wd4701 /wd4305 /wd4306 /wd4702 /wd4706\r
+  MSFT:*_*_IA32_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4244 /wd4701 /wd4702 /wd4706\r
+  MSFT:*_*_X64_CC_FLAGS     = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4133 /wd4244 /wd4245 /wd4267 /wd4701 /wd4305 /wd4306 /wd4702 /wd4706 /wd4311\r
+  MSFT:*_*_IPF_CC_FLAGS     = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4133 /wd4244 /wd4245 /wd4267 /wd4701 /wd4305 /wd4306 /wd4702 /wd4706\r
 \r
-  INTEL:*_*_IA32_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DTHIRTY_TWO_BIT\r
-  INTEL:*_*_X64_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DSIXTY_FOUR_BIT\r
-  INTEL:*_*_IPF_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DSIXTY_FOUR_BIT\r
+  INTEL:*_*_IA32_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
+  INTEL:*_*_X64_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
+  INTEL:*_*_IPF_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
 \r
-  GCC:*_*_IA32_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w -DTHIRTY_TWO_BIT\r
-  GCC:*_*_X64_CC_FLAGS      = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w -DSIXTY_FOUR_BIT_LONG\r
-  GCC:*_*_IPF_CC_FLAGS      = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w -DSIXTY_FOUR_BIT_LONG\r
-  GCC:*_*_ARM_CC_FLAGS      = $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w -DTHIRTY_TWO_BIT\r
-  GCC:*_*_AARCH64_CC_FLAGS  = $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w -DSIXTY_FOUR_BIT_LONG\r
+  GCC:*_*_IA32_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w\r
+  GCC:*_*_X64_CC_FLAGS      = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w -UNO_BUILTIN_VA_FUNCS\r
+  GCC:*_*_IPF_CC_FLAGS      = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w\r
+  GCC:*_*_ARM_CC_FLAGS      = $(OPENSSL_FLAGS) -w\r
+  GCC:*_*_AARCH64_CC_FLAGS  = $(OPENSSL_FLAGS) -w\r
 \r
   # suppress the following warnings in openssl so we don't break the build with warnings-as-errors:\r
   # 1295: Deprecated declaration <entity> - give arg types\r
   #  513: a value of type <type> cannot be assigned to an entity of type <type>\r
   #  188: enumerated type mixed with another type (i.e. passing an integer as an enum without a cast)\r
   # 1296: Extended constant initialiser used\r
-  RVCT:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) --library_interface=aeabi_clib99 --fpu=vfpv3 -DTHIRTY_TWO_BIT --diag_suppress=1296,1295,550,1293,111,68,177,223,144,513,188\r
-  XCODE:*_*_IA32_CC_FLAGS   = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w -DTHIRTY_TWO_BIT\r
-  XCODE:*_*_X64_CC_FLAGS    = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w -DSIXTY_FOUR_BIT_LONG\r
+  #  128: loop is not reachable - may be emitted inappropriately if code follows a conditional return\r
+  #       from the function that evaluates to true at compile time\r
+  #  546: transfer of control bypasses initialization - may be emitted inappropriately if the uninitialized\r
+  #       variable is never referenced after the jump\r
+  #    1: ignore "#1-D: last line of file ends without a newline"\r
+  RVCT:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS) --library_interface=aeabi_clib99 --diag_suppress=1296,1295,550,1293,111,68,177,223,144,513,188,128,546,1 -JCryptoPkg/Include\r
+  XCODE:*_*_IA32_CC_FLAGS   = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w\r
+  XCODE:*_*_X64_CC_FLAGS    = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w\r