]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/OpensslLib/OpensslLib.inf
CryptoPkg: Update OpensslLib module files for openssl-1.0.2c support
[mirror_edk2.git] / CryptoPkg / Library / OpensslLib / OpensslLib.inf
index f564145c5af9204b82fac3b6176bf0b88c85da70..dbf8a96217327b6943826d02a2988df80ad9e81b 100644 (file)
@@ -20,9 +20,9 @@
   MODULE_TYPE                    = BASE\r
   VERSION_STRING                 = 1.0\r
   LIBRARY_CLASS                  = OpensslLib\r
-  DEFINE OPENSSL_PATH            = openssl-0.9.8zf\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_FP_API -DOPENSSL_NO_DGRAM -DOPENSSL_NO_ASM\r
-  DEFINE OPENSSL_EXFLAGS         = -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_MD2 -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_ENGINE\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
@@ -46,6 +46,7 @@
 #   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
 [Sources]\r
   $(OPENSSL_PATH)/e_os.h\r
   $(OPENSSL_PATH)/crypto/cryptlib.c\r
-  $(OPENSSL_PATH)/crypto/dyn_lck.c\r
   $(OPENSSL_PATH)/crypto/mem.c\r
   $(OPENSSL_PATH)/crypto/mem_clr.c\r
   $(OPENSSL_PATH)/crypto/mem_dbg.c\r
   $(OPENSSL_PATH)/crypto/cversion.c\r
   $(OPENSSL_PATH)/crypto/ex_data.c\r
-\r
-  #\r
-  # Not required for UEFI.\r
-  #\r
-  # $(OPENSSL_PATH)/crypto/tmdiff.c\r
-\r
   $(OPENSSL_PATH)/crypto/cpt_err.c\r
   $(OPENSSL_PATH)/crypto/ebcdic.c\r
   $(OPENSSL_PATH)/crypto/uid.c\r
   $(OPENSSL_PATH)/crypto/o_time.c\r
   $(OPENSSL_PATH)/crypto/o_str.c\r
   $(OPENSSL_PATH)/crypto/o_dir.c\r
+  $(OPENSSL_PATH)/crypto/o_fips.c\r
   $(OPENSSL_PATH)/crypto/o_init.c\r
-  $(OPENSSL_PATH)/crypto/fips_err.c\r
+  $(OPENSSL_PATH)/crypto/fips_ers.c\r
 \r
   #\r
-  # DIsabled by OPENSSL_NO_MD2\r
+  # OBJECTS\r
+  #\r
+  $(OPENSSL_PATH)/crypto/objects/o_names.c\r
+  $(OPENSSL_PATH)/crypto/objects/obj_dat.c\r
+  $(OPENSSL_PATH)/crypto/objects/obj_lib.c\r
+  $(OPENSSL_PATH)/crypto/objects/obj_err.c\r
+  $(OPENSSL_PATH)/crypto/objects/obj_xref.c\r
+\r
+  #\r
+  # MD4\r
   #\r
-  # $(OPENSSL_PATH)/crypto/md2/md2_dgst.c\r
-  # $(OPENSSL_PATH)/crypto/md2/md2_one.c\r
   $(OPENSSL_PATH)/crypto/md4/md4_dgst.c\r
   $(OPENSSL_PATH)/crypto/md4/md4_one.c\r
+\r
+  #\r
+  # MD5\r
+  #\r
   $(OPENSSL_PATH)/crypto/md5/md5_dgst.c\r
   $(OPENSSL_PATH)/crypto/md5/md5_one.c\r
+\r
+  #\r
+  # SHA\r
+  #\r
   $(OPENSSL_PATH)/crypto/sha/sha_dgst.c\r
   $(OPENSSL_PATH)/crypto/sha/sha1dgst.c\r
   $(OPENSSL_PATH)/crypto/sha/sha_one.c\r
   $(OPENSSL_PATH)/crypto/sha/sha1_one.c\r
   $(OPENSSL_PATH)/crypto/sha/sha256.c\r
   $(OPENSSL_PATH)/crypto/sha/sha512.c\r
+\r
+  #\r
+  # MDC2 - Disabled by OPENSSL_NO_MDC2\r
+  #\r
+  # $(OPENSSL_PATH)/crypto/mdc2/mdc2dgst.c\r
+  # $(OPENSSL_PATH)/crypto/mdc2/mdc2_one.c\r
+\r
+  #\r
+  # HMAC\r
+  #\r
   $(OPENSSL_PATH)/crypto/hmac/hmac.c\r
+  $(OPENSSL_PATH)/crypto/hmac/hm_ameth.c\r
+  $(OPENSSL_PATH)/crypto/hmac/hm_pmeth.c\r
 \r
   #\r
-  # Disabled by OPENSSL_NO_RIPEMD\r
+  # RIPEMD - Disabled by OPENSSL_NO_RIPEMD\r
   #\r
   # $(OPENSSL_PATH)/crypto/ripemd/rmd_dgst.c\r
   # $(OPENSSL_PATH)/crypto/ripemd/rmd_one.c\r
 \r
-  $(OPENSSL_PATH)/crypto/des/des_lib.c\r
-  $(OPENSSL_PATH)/crypto/des/set_key.c\r
-  $(OPENSSL_PATH)/crypto/des/ecb_enc.c\r
+  #\r
+  # WHIRLPOOL - Disabled by OPENSSL_NO_WHIRLPOOL\r
+  #\r
+  # $(OPENSSL_PATH)/crypto/whrlpool/wp_dgst.c\r
+  # $(OPENSSL_PATH)/crypto/whrlpool/wp_block.c\r
+\r
+  #\r
+  # DES\r
+  #\r
+  $(OPENSSL_PATH)/crypto/des/cbc_cksm.c\r
   $(OPENSSL_PATH)/crypto/des/cbc_enc.c\r
-  $(OPENSSL_PATH)/crypto/des/ecb3_enc.c\r
   $(OPENSSL_PATH)/crypto/des/cfb64enc.c\r
-  $(OPENSSL_PATH)/crypto/des/cfb64ede.c\r
   $(OPENSSL_PATH)/crypto/des/cfb_enc.c\r
-  $(OPENSSL_PATH)/crypto/des/ofb64ede.c\r
+  $(OPENSSL_PATH)/crypto/des/ecb3_enc.c\r
+  $(OPENSSL_PATH)/crypto/des/ecb_enc.c\r
   $(OPENSSL_PATH)/crypto/des/enc_read.c\r
   $(OPENSSL_PATH)/crypto/des/enc_writ.c\r
+  $(OPENSSL_PATH)/crypto/des/fcrypt.c\r
   $(OPENSSL_PATH)/crypto/des/ofb64enc.c\r
   $(OPENSSL_PATH)/crypto/des/ofb_enc.c\r
-  $(OPENSSL_PATH)/crypto/des/str2key.c\r
   $(OPENSSL_PATH)/crypto/des/pcbc_enc.c\r
   $(OPENSSL_PATH)/crypto/des/qud_cksm.c\r
   $(OPENSSL_PATH)/crypto/des/rand_key.c\r
+  $(OPENSSL_PATH)/crypto/des/rpc_enc.c\r
+  $(OPENSSL_PATH)/crypto/des/set_key.c\r
   $(OPENSSL_PATH)/crypto/des/des_enc.c\r
   $(OPENSSL_PATH)/crypto/des/fcrypt_b.c\r
-  $(OPENSSL_PATH)/crypto/des/fcrypt.c\r
   $(OPENSSL_PATH)/crypto/des/xcbc_enc.c\r
-  $(OPENSSL_PATH)/crypto/des/rpc_enc.c\r
-  $(OPENSSL_PATH)/crypto/des/cbc_cksm.c\r
+  $(OPENSSL_PATH)/crypto/des/str2key.c\r
+  $(OPENSSL_PATH)/crypto/des/cfb64ede.c\r
+  $(OPENSSL_PATH)/crypto/des/ofb64ede.c\r
   $(OPENSSL_PATH)/crypto/des/ede_cbcm_enc.c\r
   $(OPENSSL_PATH)/crypto/des/des_old.c\r
   $(OPENSSL_PATH)/crypto/des/des_old2.c\r
   $(OPENSSL_PATH)/crypto/des/read2pwd.c\r
 \r
   #\r
-  # Disabled by OPENSSL_NO_RC2\r
+  # AES\r
+  #\r
+  $(OPENSSL_PATH)/crypto/aes/aes_core.c\r
+  $(OPENSSL_PATH)/crypto/aes/aes_misc.c\r
+  $(OPENSSL_PATH)/crypto/aes/aes_ecb.c\r
+  $(OPENSSL_PATH)/crypto/aes/aes_cbc.c\r
+  $(OPENSSL_PATH)/crypto/aes/aes_cfb.c\r
+  $(OPENSSL_PATH)/crypto/aes/aes_ofb.c\r
+  $(OPENSSL_PATH)/crypto/aes/aes_ctr.c\r
+  $(OPENSSL_PATH)/crypto/aes/aes_ige.c\r
+  $(OPENSSL_PATH)/crypto/aes/aes_wrap.c\r
+\r
+  #\r
+  # RC2 - Disabled by OPENSSL_NO_RC2\r
   #\r
   # $(OPENSSL_PATH)/crypto/rc2/rc2_ecb.c\r
   # $(OPENSSL_PATH)/crypto/rc2/rc2_skey.c\r
   # $(OPENSSL_PATH)/crypto/rc2/rc2cfb64.c\r
   # $(OPENSSL_PATH)/crypto/rc2/rc2ofb64.c\r
 \r
-  $(OPENSSL_PATH)/crypto/rc4/rc4_enc.c\r
+  #\r
+  # RC4\r
+  #\r
   $(OPENSSL_PATH)/crypto/rc4/rc4_skey.c\r
-  $(OPENSSL_PATH)/crypto/rc4/rc4_fblk.c\r
+  $(OPENSSL_PATH)/crypto/rc4/rc4_enc.c\r
+  $(OPENSSL_PATH)/crypto/rc4/rc4_utl.c\r
+\r
+  #\r
+  # RC5 - Disabled by OPENSSL_NO_RC5\r
+  #\r
+  # $(OPENSSL_PATH)/crypto/rc5/rc5_skey.c\r
+  # $(OPENSSL_PATH)/crypto/rc5/rc5_ecb.c\r
+  # $(OPENSSL_PATH)/crypto/rc5/rc5_enc.c\r
+  # $(OPENSSL_PATH)/crypto/rc5/rc5cfb64.c\r
+  # $(OPENSSL_PATH)/crypto/rc5/rc5ofb64.c\r
 \r
   #\r
-  # Disabled by OPENSSL_NO_IDEA\r
+  # IDEA - Disabled by OPENSSL_NO_IDEA\r
   #\r
   # $(OPENSSL_PATH)/crypto/idea/i_cbc.c\r
   # $(OPENSSL_PATH)/crypto/idea/i_cfb64.c\r
   # $(OPENSSL_PATH)/crypto/idea/i_ofb64.c\r
   # $(OPENSSL_PATH)/crypto/idea/i_ecb.c\r
   # $(OPENSSL_PATH)/crypto/idea/i_skey.c\r
+\r
   #\r
-  # Disabled by OPENSSL_NO_BF\r
+  # BLOWFISH - Disabled by OPENSSL_NO_BF\r
   #\r
   # $(OPENSSL_PATH)/crypto/bf/bf_skey.c\r
   # $(OPENSSL_PATH)/crypto/bf/bf_ecb.c\r
   # $(OPENSSL_PATH)/crypto/bf/bf_enc.c\r
   # $(OPENSSL_PATH)/crypto/bf/bf_cfb64.c\r
   # $(OPENSSL_PATH)/crypto/bf/bf_ofb64.c\r
+\r
   #\r
-  # Disabled by OPENSSL_NO_CAST\r
+  # CAST - Disabled by OPENSSL_NO_CAST\r
   #\r
   # $(OPENSSL_PATH)/crypto/cast/c_skey.c\r
   # $(OPENSSL_PATH)/crypto/cast/c_ecb.c\r
   # $(OPENSSL_PATH)/crypto/cast/c_cfb64.c\r
   # $(OPENSSL_PATH)/crypto/cast/c_ofb64.c\r
 \r
-  $(OPENSSL_PATH)/crypto/aes/aes_misc.c\r
-  $(OPENSSL_PATH)/crypto/aes/aes_ecb.c\r
-  $(OPENSSL_PATH)/crypto/aes/aes_cfb.c\r
-  $(OPENSSL_PATH)/crypto/aes/aes_ofb.c\r
-  $(OPENSSL_PATH)/crypto/aes/aes_ctr.c\r
-  $(OPENSSL_PATH)/crypto/aes/aes_ige.c\r
-  $(OPENSSL_PATH)/crypto/aes/aes_wrap.c\r
-  $(OPENSSL_PATH)/crypto/aes/aes_core.c\r
-  $(OPENSSL_PATH)/crypto/aes/aes_cbc.c\r
+  #\r
+  # CAMELLIA - Disabled by OPENSSL_NO_CAMELLIA\r
+  #\r
+  # $(OPENSSL_PATH)/crypto/camellia/camellia.c\r
+  # $(OPENSSL_PATH)/crypto/camellia/cmll_misc.c\r
+  # $(OPENSSL_PATH)/crypto/camellia/cmll_ecb.c\r
+  # $(OPENSSL_PATH)/crypto/camellia/cmll_cbc.c\r
+  # $(OPENSSL_PATH)/crypto/camellia/cmll_ofb.c\r
+  # $(OPENSSL_PATH)/crypto/camellia/cmll_cfb.c\r
+  # $(OPENSSL_PATH)/crypto/camellia/cmll_ctr.c\r
+  # $(OPENSSL_PATH)/crypto/camellia/cmll_utl.c\r
+\r
+  #\r
+  # SEED - Disabled by OPENSSL_NO_SEED\r
+  #\r
+  # $(OPENSSL_PATH)/crypto/seed/seed.c\r
+  # $(OPENSSL_PATH)/crypto/seed/seed_ecb.c\r
+  # $(OPENSSL_PATH)/crypto/seed/seed_cbc.c\r
+  # $(OPENSSL_PATH)/crypto/seed/seed_cfb.c\r
+  # $(OPENSSL_PATH)/crypto/seed/seed_ofb.c\r
+\r
+  #\r
+  # MODES\r
+  #\r
+  $(OPENSSL_PATH)/crypto/modes/cbc128.c\r
+  $(OPENSSL_PATH)/crypto/modes/ctr128.c\r
+  $(OPENSSL_PATH)/crypto/modes/cts128.c\r
+  $(OPENSSL_PATH)/crypto/modes/cfb128.c\r
+  $(OPENSSL_PATH)/crypto/modes/ofb128.c\r
+  $(OPENSSL_PATH)/crypto/modes/gcm128.c\r
+  $(OPENSSL_PATH)/crypto/modes/ccm128.c\r
+  $(OPENSSL_PATH)/crypto/modes/xts128.c\r
+  $(OPENSSL_PATH)/crypto/modes/wrap128.c\r
+\r
+  #\r
+  # BIGNUM\r
+  #\r
   $(OPENSSL_PATH)/crypto/bn/bn_add.c\r
   $(OPENSSL_PATH)/crypto/bn/bn_div.c\r
   $(OPENSSL_PATH)/crypto/bn/bn_exp.c\r
   $(OPENSSL_PATH)/crypto/bn/bn_gf2m.c\r
   $(OPENSSL_PATH)/crypto/bn/bn_nist.c\r
   $(OPENSSL_PATH)/crypto/bn/bn_depr.c\r
-  $(OPENSSL_PATH)/crypto/bn/bn_x931p.c\r
   $(OPENSSL_PATH)/crypto/bn/bn_const.c\r
-  $(OPENSSL_PATH)/crypto/bn/bn_opt.c\r
+  $(OPENSSL_PATH)/crypto/bn/bn_x931p.c\r
+\r
+  #\r
+  # ELLIPTIC CURVE - Disabled by OPENSSL_NO_EC\r
+  #\r
+  # $(OPENSSL_PATH)/crypto/ec/ec_lib.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ecp_smpl.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ecp_mont.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ecp_nist.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec_cvt.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec_mult.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec_err.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec_curve.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec_check.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec_print.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec_asn1.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec_key.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec2_smpl.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec2_mult.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec_ameth.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec_pmeth.c\r
+  # $(OPENSSL_PATH)/crypto/ec/eck_prn.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ecp_nistp224.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ecp_nistp256.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ecp_nistp521.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ecp_nistputil.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ecp_oct.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec2_oct.c\r
+  # $(OPENSSL_PATH)/crypto/ec/ec_oct.c\r
+\r
+  #\r
+  # RSA\r
+  #\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_eay.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_gen.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_lib.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_null.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_pss.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_x931.c\r
-  $(OPENSSL_PATH)/crypto/rsa/rsa_x931g.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_asn1.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_depr.c\r
-  $(OPENSSL_PATH)/crypto/rsa/rsa_eng.c\r
+  $(OPENSSL_PATH)/crypto/rsa/rsa_ameth.c\r
+  $(OPENSSL_PATH)/crypto/rsa/rsa_prn.c\r
+  $(OPENSSL_PATH)/crypto/rsa/rsa_pmeth.c\r
+  $(OPENSSL_PATH)/crypto/rsa/rsa_crpt.c\r
 \r
   #\r
-  # Disabled by OPENSSL_NO_DSA\r
+  # DSA - Disabled by OPENSSL_NO_DSA\r
   #\r
   # $(OPENSSL_PATH)/crypto/dsa/dsa_gen.c\r
   # $(OPENSSL_PATH)/crypto/dsa/dsa_key.c\r
   # $(OPENSSL_PATH)/crypto/dsa/dsa_err.c\r
   # $(OPENSSL_PATH)/crypto/dsa/dsa_ossl.c\r
   # $(OPENSSL_PATH)/crypto/dsa/dsa_depr.c\r
-  # $(OPENSSL_PATH)/crypto/dsa/dsa_utl.c\r
+  # $(OPENSSL_PATH)/crypto/dsa/dsa_ameth.c\r
+  # $(OPENSSL_PATH)/crypto/dsa/dsa_pmeth.c\r
+  # $(OPENSSL_PATH)/crypto/dsa/dsa_prn.c\r
 \r
-  $(OPENSSL_PATH)/crypto/dso/dso_dl.c\r
-  $(OPENSSL_PATH)/crypto/dso/dso_dlfcn.c\r
-  $(OPENSSL_PATH)/crypto/dso/dso_err.c\r
-  $(OPENSSL_PATH)/crypto/dso/dso_lib.c\r
-  $(OPENSSL_PATH)/crypto/dso/dso_null.c\r
-  $(OPENSSL_PATH)/crypto/dso/dso_openssl.c\r
-  $(OPENSSL_PATH)/crypto/dso/dso_win32.c\r
-  $(OPENSSL_PATH)/crypto/dso/dso_vms.c\r
+  #\r
+  # ECDSA - Disabled by OPENSSL_NO_ECDSA\r
+  #\r
+  # $(OPENSSL_PATH)/crypto/ecdsa/ecs_lib.c\r
+  # $(OPENSSL_PATH)/crypto/ecdsa/ecs_asn1.c\r
+  # $(OPENSSL_PATH)/crypto/ecdsa/ecs_ossl.c\r
+  # $(OPENSSL_PATH)/crypto/ecdsa/ecs_sign.c\r
+  # $(OPENSSL_PATH)/crypto/ecdsa/ecs_vrf.c\r
+  # $(OPENSSL_PATH)/crypto/ecdsa/ecs_err.c\r
+\r
+  #\r
+  # DIFFIE-HELLMAN\r
+  #\r
   $(OPENSSL_PATH)/crypto/dh/dh_asn1.c\r
   $(OPENSSL_PATH)/crypto/dh/dh_gen.c\r
   $(OPENSSL_PATH)/crypto/dh/dh_key.c\r
   $(OPENSSL_PATH)/crypto/dh/dh_check.c\r
   $(OPENSSL_PATH)/crypto/dh/dh_err.c\r
   $(OPENSSL_PATH)/crypto/dh/dh_depr.c\r
+  $(OPENSSL_PATH)/crypto/dh/dh_ameth.c\r
+  $(OPENSSL_PATH)/crypto/dh/dh_pmeth.c\r
+  $(OPENSSL_PATH)/crypto/dh/dh_prn.c\r
+  $(OPENSSL_PATH)/crypto/dh/dh_rfc5114.c\r
+  # $(OPENSSL_PATH)/crypto/dh/dh_kdf.c\r
 \r
   #\r
-  # Disabled by OPENSSL_NO_EC\r
-  #\r
-  # $(OPENSSL_PATH)/crypto/ec/ec_lib.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ecp_smpl.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ecp_mont.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ecp_nist.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ec_cvt.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ec_mult.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ec_err.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ec_curve.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ec_check.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ec_print.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ec_asn1.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ec_key.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ec2_smpl.c\r
-  # $(OPENSSL_PATH)/crypto/ec/ec2_mult.c\r
-  #\r
-  # Disabled by OPENSSL_NO_ECDH\r
+  # ECDH - Disabled by OPENSSL_NO_ECDH\r
   #\r
   # $(OPENSSL_PATH)/crypto/ecdh/ech_lib.c\r
   # $(OPENSSL_PATH)/crypto/ecdh/ech_ossl.c\r
   # $(OPENSSL_PATH)/crypto/ecdh/ech_key.c\r
   # $(OPENSSL_PATH)/crypto/ecdh/ech_err.c\r
+  # $(OPENSSL_PATH)/crypto/ecdh/ech_kdf.c\r
+\r
   #\r
-  # Disabled by OPENSSL_NO_ECDSA\r
+  # DSO\r
   #\r
-  # $(OPENSSL_PATH)/crypto/ecdsa/ecs_lib.c\r
-  # $(OPENSSL_PATH)/crypto/ecdsa/ecs_asn1.c\r
-  # $(OPENSSL_PATH)/crypto/ecdsa/ecs_ossl.c\r
-  # $(OPENSSL_PATH)/crypto/ecdsa/ecs_sign.c\r
-  # $(OPENSSL_PATH)/crypto/ecdsa/ecs_vrf.c\r
-  # $(OPENSSL_PATH)/crypto/ecdsa/ecs_err.c\r
+  $(OPENSSL_PATH)/crypto/dso/dso_dl.c\r
+  $(OPENSSL_PATH)/crypto/dso/dso_dlfcn.c\r
+  $(OPENSSL_PATH)/crypto/dso/dso_err.c\r
+  $(OPENSSL_PATH)/crypto/dso/dso_lib.c\r
+  $(OPENSSL_PATH)/crypto/dso/dso_null.c\r
+  $(OPENSSL_PATH)/crypto/dso/dso_openssl.c\r
+  $(OPENSSL_PATH)/crypto/dso/dso_win32.c\r
+  $(OPENSSL_PATH)/crypto/dso/dso_vms.c\r
+  $(OPENSSL_PATH)/crypto/dso/dso_beos.c\r
+\r
+  #\r
+  # ENGINE - Disabled by OPENSSL_NO_ENGINE\r
+  #\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_err.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_lib.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_list.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_init.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_ctrl.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_table.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_pkey.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_fat.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_all.c\r
+  # $(OPENSSL_PATH)/crypto/engine/tb_rsa.c\r
+  # $(OPENSSL_PATH)/crypto/engine/tb_dsa.c\r
+  # $(OPENSSL_PATH)/crypto/engine/tb_ecdsa.c\r
+  # $(OPENSSL_PATH)/crypto/engine/tb_dh.c\r
+  # $(OPENSSL_PATH)/crypto/engine/tb_ecdh.c\r
+  # $(OPENSSL_PATH)/crypto/engine/tb_rand.c\r
+  # $(OPENSSL_PATH)/crypto/engine/tb_store.c\r
+  # $(OPENSSL_PATH)/crypto/engine/tb_cipher.c\r
+  # $(OPENSSL_PATH)/crypto/engine/tb_digest.c\r
+  # $(OPENSSL_PATH)/crypto/engine/tb_pkmeth.c\r
+  # $(OPENSSL_PATH)/crypto/engine/tb_asnmth.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_openssl.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_cnf.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_dyn.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_cryptodev.c\r
+  # $(OPENSSL_PATH)/crypto/engine/eng_rdrand.c\r
 \r
+  #\r
+  # BUFFER\r
+  #\r
   $(OPENSSL_PATH)/crypto/buffer/buffer.c\r
   $(OPENSSL_PATH)/crypto/buffer/buf_str.c\r
   $(OPENSSL_PATH)/crypto/buffer/buf_err.c\r
+\r
+  #\r
+  # BIO\r
+  #\r
   $(OPENSSL_PATH)/crypto/bio/bio_lib.c\r
   $(OPENSSL_PATH)/crypto/bio/bio_cb.c\r
   $(OPENSSL_PATH)/crypto/bio/bio_err.c\r
   $(OPENSSL_PATH)/crypto/bio/bss_null.c\r
   $(OPENSSL_PATH)/crypto/bio/bss_fd.c\r
   $(OPENSSL_PATH)/crypto/bio/bss_file.c\r
+  $(OPENSSL_PATH)/crypto/bio/bss_sock.c\r
+  $(OPENSSL_PATH)/crypto/bio/bss_conn.c\r
   $(OPENSSL_PATH)/crypto/bio/bf_null.c\r
   $(OPENSSL_PATH)/crypto/bio/bf_buff.c\r
-\r
   #\r
-  # Not required for UEFI.\r
+  # Not Required by UEFI.\r
   #\r
   # $(OPENSSL_PATH)/crypto/bio/b_print.c\r
-\r
   $(OPENSSL_PATH)/crypto/bio/b_dump.c\r
+  $(OPENSSL_PATH)/crypto/bio/b_sock.c\r
+  $(OPENSSL_PATH)/crypto/bio/bss_acpt.c\r
   $(OPENSSL_PATH)/crypto/bio/bf_nbio.c\r
   $(OPENSSL_PATH)/crypto/bio/bss_log.c\r
   $(OPENSSL_PATH)/crypto/bio/bss_bio.c\r
   $(OPENSSL_PATH)/crypto/bio/bss_dgram.c\r
+\r
+  #\r
+  # STACK\r
+  #\r
   $(OPENSSL_PATH)/crypto/stack/stack.c\r
+\r
+  #\r
+  # LHASH\r
+  #\r
   $(OPENSSL_PATH)/crypto/lhash/lhash.c\r
   $(OPENSSL_PATH)/crypto/lhash/lh_stats.c\r
+\r
+  #\r
+  # RAND\r
+  #\r
   $(OPENSSL_PATH)/crypto/rand/md_rand.c\r
   $(OPENSSL_PATH)/crypto/rand/randfile.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_lib.c\r
-  $(OPENSSL_PATH)/crypto/rand/rand_eng.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_err.c\r
-  $(OPENSSL_PATH)/crypto/rand/rand_egd.c\r
-  $(OPENSSL_PATH)/crypto/rand/rand_win.c\r
+  $(OPENSSL_PATH)/crypto/rand/rand_egd.c\r
+  $(OPENSSL_PATH)/crypto/rand/rand_win.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_unix.c\r
-  $(OPENSSL_PATH)/crypto/rand/rand_os2.c\r
-  $(OPENSSL_PATH)/crypto/rand/rand_nw.c\r
+  # $(OPENSSL_PATH)/crypto/rand/rand_os2.c\r
+  # $(OPENSSL_PATH)/crypto/rand/rand_nw.c\r
+\r
+  #\r
+  # ERR\r
+  #\r
   $(OPENSSL_PATH)/crypto/err/err.c\r
-  $(OPENSSL_PATH)/crypto/err/err_def.c\r
   $(OPENSSL_PATH)/crypto/err/err_all.c\r
   $(OPENSSL_PATH)/crypto/err/err_prn.c\r
-  $(OPENSSL_PATH)/crypto/err/err_str.c\r
-  $(OPENSSL_PATH)/crypto/err/err_bio.c\r
-  $(OPENSSL_PATH)/crypto/objects/o_names.c\r
-  $(OPENSSL_PATH)/crypto/objects/obj_dat.c\r
-  $(OPENSSL_PATH)/crypto/objects/obj_lib.c\r
-  $(OPENSSL_PATH)/crypto/objects/obj_err.c\r
+\r
+  #\r
+  # EVP\r
+  #\r
   $(OPENSSL_PATH)/crypto/evp/encode.c\r
   $(OPENSSL_PATH)/crypto/evp/digest.c\r
-  $(OPENSSL_PATH)/crypto/evp/dig_eng.c\r
   $(OPENSSL_PATH)/crypto/evp/evp_enc.c\r
   $(OPENSSL_PATH)/crypto/evp/evp_key.c\r
   $(OPENSSL_PATH)/crypto/evp/evp_acnf.c\r
   $(OPENSSL_PATH)/crypto/evp/e_bf.c\r
   $(OPENSSL_PATH)/crypto/evp/e_idea.c\r
   $(OPENSSL_PATH)/crypto/evp/e_des3.c\r
+  $(OPENSSL_PATH)/crypto/evp/e_camellia.c\r
   $(OPENSSL_PATH)/crypto/evp/e_rc4.c\r
   $(OPENSSL_PATH)/crypto/evp/e_aes.c\r
   $(OPENSSL_PATH)/crypto/evp/names.c\r
+  $(OPENSSL_PATH)/crypto/evp/e_seed.c\r
   $(OPENSSL_PATH)/crypto/evp/e_xcbc_d.c\r
   $(OPENSSL_PATH)/crypto/evp/e_rc2.c\r
   $(OPENSSL_PATH)/crypto/evp/e_cast.c\r
   $(OPENSSL_PATH)/crypto/evp/e_rc5.c\r
-  $(OPENSSL_PATH)/crypto/evp/enc_min.c\r
   $(OPENSSL_PATH)/crypto/evp/m_null.c\r
   $(OPENSSL_PATH)/crypto/evp/m_md2.c\r
   $(OPENSSL_PATH)/crypto/evp/m_md4.c\r
   $(OPENSSL_PATH)/crypto/evp/m_md5.c\r
   $(OPENSSL_PATH)/crypto/evp/m_sha.c\r
   $(OPENSSL_PATH)/crypto/evp/m_sha1.c\r
+  $(OPENSSL_PATH)/crypto/evp/m_wp.c\r
   $(OPENSSL_PATH)/crypto/evp/m_dss.c\r
   $(OPENSSL_PATH)/crypto/evp/m_dss1.c\r
+  $(OPENSSL_PATH)/crypto/evp/m_mdc2.c\r
   $(OPENSSL_PATH)/crypto/evp/m_ripemd.c\r
   $(OPENSSL_PATH)/crypto/evp/m_ecdsa.c\r
   $(OPENSSL_PATH)/crypto/evp/p_open.c\r
   $(OPENSSL_PATH)/crypto/evp/p5_crpt.c\r
   $(OPENSSL_PATH)/crypto/evp/p5_crpt2.c\r
   $(OPENSSL_PATH)/crypto/evp/e_old.c\r
+  $(OPENSSL_PATH)/crypto/evp/pmeth_lib.c\r
+  $(OPENSSL_PATH)/crypto/evp/pmeth_fn.c\r
+  $(OPENSSL_PATH)/crypto/evp/pmeth_gn.c\r
+  $(OPENSSL_PATH)/crypto/evp/m_sigver.c\r
+  $(OPENSSL_PATH)/crypto/evp/e_aes_cbc_hmac_sha1.c\r
+  $(OPENSSL_PATH)/crypto/evp/e_aes_cbc_hmac_sha256.c\r
+  $(OPENSSL_PATH)/crypto/evp/e_rc4_hmac_md5.c\r
+\r
+  #\r
+  # ASN1\r
+  #\r
   $(OPENSSL_PATH)/crypto/asn1/a_object.c\r
   $(OPENSSL_PATH)/crypto/asn1/a_bitstr.c\r
   $(OPENSSL_PATH)/crypto/asn1/a_utctm.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_info.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_spki.c\r
   $(OPENSSL_PATH)/crypto/asn1/nsseq.c\r
+  $(OPENSSL_PATH)/crypto/asn1/x_nx509.c\r
   $(OPENSSL_PATH)/crypto/asn1/d2i_pu.c\r
   $(OPENSSL_PATH)/crypto/asn1/d2i_pr.c\r
   $(OPENSSL_PATH)/crypto/asn1/i2d_pu.c\r
   $(OPENSSL_PATH)/crypto/asn1/tasn_dec.c\r
   $(OPENSSL_PATH)/crypto/asn1/tasn_utl.c\r
   $(OPENSSL_PATH)/crypto/asn1/tasn_typ.c\r
+  $(OPENSSL_PATH)/crypto/asn1/tasn_prn.c\r
+  $(OPENSSL_PATH)/crypto/asn1/ameth_lib.c\r
   $(OPENSSL_PATH)/crypto/asn1/f_int.c\r
   $(OPENSSL_PATH)/crypto/asn1/f_string.c\r
   $(OPENSSL_PATH)/crypto/asn1/n_pkey.c\r
   $(OPENSSL_PATH)/crypto/asn1/f_enum.c\r
-  $(OPENSSL_PATH)/crypto/asn1/a_hdr.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_pkey.c\r
   $(OPENSSL_PATH)/crypto/asn1/a_bool.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_exten.c\r
+  $(OPENSSL_PATH)/crypto/asn1/bio_asn1.c\r
+  $(OPENSSL_PATH)/crypto/asn1/bio_ndef.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn_mime.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn1_gen.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn1_par.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn1_lib.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn1_err.c\r
-  $(OPENSSL_PATH)/crypto/asn1/a_meth.c\r
   $(OPENSSL_PATH)/crypto/asn1/a_bytes.c\r
   $(OPENSSL_PATH)/crypto/asn1/a_strnid.c\r
   $(OPENSSL_PATH)/crypto/asn1/evp_asn1.c\r
   $(OPENSSL_PATH)/crypto/asn1/p5_pbev2.c\r
   $(OPENSSL_PATH)/crypto/asn1/p8_pkey.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn_moid.c\r
+\r
+  #\r
+  # PEM\r
+  #\r
   $(OPENSSL_PATH)/crypto/pem/pem_sign.c\r
   $(OPENSSL_PATH)/crypto/pem/pem_seal.c\r
   $(OPENSSL_PATH)/crypto/pem/pem_info.c\r
   $(OPENSSL_PATH)/crypto/pem/pem_oth.c\r
   $(OPENSSL_PATH)/crypto/pem/pem_pk8.c\r
   $(OPENSSL_PATH)/crypto/pem/pem_pkey.c\r
+  $(OPENSSL_PATH)/crypto/pem/pvkfmt.c\r
+\r
+  #\r
+  # X509\r
+  #\r
   $(OPENSSL_PATH)/crypto/x509/x509_def.c\r
   $(OPENSSL_PATH)/crypto/x509/x509_d2.c\r
   $(OPENSSL_PATH)/crypto/x509/x509_r2x.c\r
   $(OPENSSL_PATH)/crypto/x509/x_all.c\r
   $(OPENSSL_PATH)/crypto/x509/x509_txt.c\r
   $(OPENSSL_PATH)/crypto/x509/x509_trs.c\r
-  $(OPENSSL_PATH)/crypto/x509/by_file.c\r
-  $(OPENSSL_PATH)/crypto/x509/by_dir.c\r
+  #\r
+  #  Not Required by UEFI.\r
+  #\r
+  # $(OPENSSL_PATH)/crypto/x509/by_file.c\r
+  # $(OPENSSL_PATH)/crypto/x509/by_dir.c\r
   $(OPENSSL_PATH)/crypto/x509/x509_vpm.c\r
+\r
+  #\r
+  # X509v3\r
+  #\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_bcons.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_bitst.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_conf.c\r
   $(OPENSSL_PATH)/crypto/x509v3/pcy_lib.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_asid.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_addr.c\r
+  #\r
+  #  Not Required by UEFI.\r
+  #\r
+  # $(OPENSSL_PATH)/crypto/x509v3/v3_scts.c\r
+\r
+  #\r
+  # CONF\r
+  #\r
   $(OPENSSL_PATH)/crypto/conf/conf_err.c\r
   $(OPENSSL_PATH)/crypto/conf/conf_lib.c\r
   $(OPENSSL_PATH)/crypto/conf/conf_api.c\r
   $(OPENSSL_PATH)/crypto/conf/conf_mod.c\r
   $(OPENSSL_PATH)/crypto/conf/conf_mall.c\r
   $(OPENSSL_PATH)/crypto/conf/conf_sap.c\r
+\r
+  #\r
+  # TXT_DB\r
+  #\r
   $(OPENSSL_PATH)/crypto/txt_db/txt_db.c\r
+\r
+  #\r
+  # PKCS7\r
+  #\r
   $(OPENSSL_PATH)/crypto/pkcs7/pk7_asn1.c\r
   $(OPENSSL_PATH)/crypto/pkcs7/pk7_lib.c\r
   $(OPENSSL_PATH)/crypto/pkcs7/pkcs7err.c\r
   $(OPENSSL_PATH)/crypto/pkcs7/pk7_smime.c\r
   $(OPENSSL_PATH)/crypto/pkcs7/pk7_attr.c\r
   $(OPENSSL_PATH)/crypto/pkcs7/pk7_mime.c\r
+  $(OPENSSL_PATH)/crypto/pkcs7/bio_pk7.c\r
+\r
+  #\r
+  # PKCS12\r
+  #\r
   $(OPENSSL_PATH)/crypto/pkcs12/p12_add.c\r
   $(OPENSSL_PATH)/crypto/pkcs12/p12_asn.c\r
   $(OPENSSL_PATH)/crypto/pkcs12/p12_attr.c\r
   $(OPENSSL_PATH)/crypto/pkcs12/pk12err.c\r
   $(OPENSSL_PATH)/crypto/pkcs12/p12_p8d.c\r
   $(OPENSSL_PATH)/crypto/pkcs12/p12_p8e.c\r
+\r
+  #\r
+  # COMP\r
+  #\r
   $(OPENSSL_PATH)/crypto/comp/comp_lib.c\r
   $(OPENSSL_PATH)/crypto/comp/comp_err.c\r
   $(OPENSSL_PATH)/crypto/comp/c_rle.c\r
   $(OPENSSL_PATH)/crypto/comp/c_zlib.c\r
 \r
   #\r
-  # Disabled by OPENSSL_NO_ENGINE\r
+  # OCSP - Disabled by OPENSSL_NO_OCSP\r
   #\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_err.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_lib.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_list.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_init.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_ctrl.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_table.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_pkey.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_fat.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_all.c\r
-  # $(OPENSSL_PATH)/crypto/engine/tb_rsa.c\r
-  # $(OPENSSL_PATH)/crypto/engine/tb_dsa.c\r
-  # $(OPENSSL_PATH)/crypto/engine/tb_ecdsa.c\r
-  # $(OPENSSL_PATH)/crypto/engine/tb_dh.c\r
-  # $(OPENSSL_PATH)/crypto/engine/tb_ecdh.c\r
-  # $(OPENSSL_PATH)/crypto/engine/tb_rand.c\r
-  # $(OPENSSL_PATH)/crypto/engine/tb_store.c\r
-  # $(OPENSSL_PATH)/crypto/engine/tb_cipher.c\r
-  # $(OPENSSL_PATH)/crypto/engine/tb_digest.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_openssl.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_cnf.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_dyn.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_cryptodev.c\r
-  # $(OPENSSL_PATH)/crypto/engine/eng_padlock.c\r
+  $(OPENSSL_PATH)/crypto/ocsp/ocsp_asn.c\r
+  $(OPENSSL_PATH)/crypto/ocsp/ocsp_ext.c\r
+  $(OPENSSL_PATH)/crypto/ocsp/ocsp_ht.c\r
+  $(OPENSSL_PATH)/crypto/ocsp/ocsp_lib.c\r
+  $(OPENSSL_PATH)/crypto/ocsp/ocsp_cl.c\r
+  $(OPENSSL_PATH)/crypto/ocsp/ocsp_srv.c\r
+  $(OPENSSL_PATH)/crypto/ocsp/ocsp_prn.c\r
+  $(OPENSSL_PATH)/crypto/ocsp/ocsp_vfy.c\r
+  $(OPENSSL_PATH)/crypto/ocsp/ocsp_err.c\r
 \r
   #\r
-  # Disabled by OPENSSL_NO_OCSP\r
+  # UI\r
   #\r
-  # $(OPENSSL_PATH)/crypto/ocsp/ocsp_asn.c\r
-  # $(OPENSSL_PATH)/crypto/ocsp/ocsp_ext.c\r
-  # $(OPENSSL_PATH)/crypto/ocsp/ocsp_ht.c\r
-  # $(OPENSSL_PATH)/crypto/ocsp/ocsp_lib.c\r
-  # $(OPENSSL_PATH)/crypto/ocsp/ocsp_cl.c\r
-  # $(OPENSSL_PATH)/crypto/ocsp/ocsp_srv.c\r
-  # $(OPENSSL_PATH)/crypto/ocsp/ocsp_prn.c\r
-  # $(OPENSSL_PATH)/crypto/ocsp/ocsp_vfy.c\r
-  # $(OPENSSL_PATH)/crypto/ocsp/ocsp_err.c\r
-\r
-  $(OPENSSL_PATH)/crypto/ui/ui_err.c\r
   $(OPENSSL_PATH)/crypto/ui/ui_lib.c\r
-\r
   #\r
-  # Not required when OPENSSL_NO_STDIO is set, which is is for UEFI.\r
+  #  Not Required by UEFI.\r
   #\r
+  # $(OPENSSL_PATH)/crypto/ui/ui_err.c\r
   # $(OPENSSL_PATH)/crypto/ui/ui_openssl.c\r
-\r
   $(OPENSSL_PATH)/crypto/ui/ui_util.c\r
   $(OPENSSL_PATH)/crypto/ui/ui_compat.c\r
+\r
+  #\r
+  # KRB5\r
+  #\r
   $(OPENSSL_PATH)/crypto/krb5/krb5_asn.c\r
-  $(OPENSSL_PATH)/crypto/store/str_err.c\r
-  $(OPENSSL_PATH)/crypto/store/str_lib.c\r
-  $(OPENSSL_PATH)/crypto/store/str_meth.c\r
-  $(OPENSSL_PATH)/crypto/store/str_mem.c\r
+\r
+  #\r
+  # CMS - Disabled by OPENSSL_NO_CMS\r
+  #\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_lib.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_asn1.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_att.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_io.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_smime.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_err.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_sd.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_dd.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_cd.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_env.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_enc.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_ess.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_pwri.c\r
+  # $(OPENSSL_PATH)/crypto/cms/cms_kari.c\r
+\r
+  #\r
+  # PQUEUE\r
+  #\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
+\r
+  #\r
+  # SRP - Disabled by OPENSSL_NO_SRP\r
+  #\r
+  # $(OPENSSL_PATH)/crypto/srp/srp_lib.c\r
+  # $(OPENSSL_PATH)/crypto/srp/srp_vfy.c\r
+\r
+  #\r
+  # CMAS\r
+  #\r
+  $(OPENSSL_PATH)/crypto/cmac/cmac.c\r
+  $(OPENSSL_PATH)/crypto/cmac/cm_ameth.c\r
+  $(OPENSSL_PATH)/crypto/cmac/cm_pmeth.c\r
+\r
 [Packages]\r
   MdePkg/MdePkg.dec\r
   CryptoPkg/CryptoPkg.dec\r
   DebugLib\r
 \r
 [BuildOptions]\r
-   #\r
-   # Override MSFT build option to remove /W4 (to silence warning messages when building OpenSSL).\r
-   #\r
-   MSFT:DEBUG_VS2003_IA32_CC_FLAGS        == /nologo /c /WX /Gs32768 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX- /Zi /Gm -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DTHIRTY_TWO_BIT\r
-   MSFT:RELEASE_VS2003_IA32_CC_FLAGS      == /nologo /c /WX /Gs32768 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX- -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w  -DTHIRTY_TWO_BIT\r
-   MSFT:DEBUG_VS2003xASL_IA32_CC_FLAGS    == /nologo /c /WX /Gs32768 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX- /Zi /Gm -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DTHIRTY_TWO_BIT\r
-   MSFT:RELEASE_VS2003xASL_IA32_CC_FLAGS  == /nologo /c /WX /Gs32768 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX- -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DTHIRTY_TWO_BIT\r
-   MSFT:DEBUG_DDK3790_IA32_CC_FLAGS       == /nologo /c /WX /Gy /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DTHIRTY_TWO_BIT\r
-   MSFT:RELEASE_DDK3790_IA32_CC_FLAGS     == /nologo /c /WX /Gy /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DTHIRTY_TWO_BIT\r
-   MSFT:DEBUG_DDK3790xASL_IA32_CC_FLAGS   == /nologo /c /WX /Gy /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DTHIRTY_TWO_BIT\r
-   MSFT:RELEASE_DDK3790xASL_IA32_CC_FLAGS == /nologo /c /WX /Gy /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DTHIRTY_TWO_BIT\r
-   MSFT:DEBUG_*_IA32_CC_FLAGS             == /nologo /c /WX /GS- /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DTHIRTY_TWO_BIT\r
-   MSFT:RELEASE_*_IA32_CC_FLAGS           == /nologo /c /WX /GS- /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DTHIRTY_TWO_BIT\r
-   MSFT:NOOPT_*_IA32_CC_FLAGS             == /nologo /c /WX /GS- /Gs32768 /D UNICODE /Od /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DTHIRTY_TWO_BIT\r
-   MSFT:DEBUG_*_X64_CC_FLAGS              == /nologo /c /WX /GS- /X /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DSIXTY_FOUR_BIT\r
-   MSFT:RELEASE_*_X64_CC_FLAGS            == /nologo /c /WX /GS- /X /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DSIXTY_FOUR_BIT\r
-   MSFT:NOOPT_*_X64_CC_FLAGS              == /nologo /c /WX /GS- /X /Gs32768 /D UNICODE /Od /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DSIXTY_FOUR_BIT\r
-   MSFT:DEBUG_*_IPF_CC_FLAGS              == /nologo /c /WX /GS- /X /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DSIXTY_FOUR_BIT\r
-   MSFT:RELEASE_*_IPF_CC_FLAGS            == /nologo /c /WX /GS- /X /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DSIXTY_FOUR_BIT\r
-   MSFT:NOOPT_*_IPF_CC_FLAGS              == /nologo /c /WX /GS- /X /EHs-c- /GR- /Gy /Od /FIAutoGen.h /QIPF_fr32 /Zi -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w -DSIXTY_FOUR_BIT\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
-   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
-\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
-   #  550: <entity> was set but never used\r
-   # 1293: assignment in condition\r
-   #  111: statement is unreachable (invariably "break;" after "return X;" in case statement)\r
-   #   68: integer conversion resulted in a change of sign ("if (Status == -1)")\r
-   #  177: <entity> was declared but never referenced\r
-   #  223: function <entity> declared implicitly\r
-   #  144: a value of type <type> cannot be used to initialize an entity of type <type>\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
\ No newline at end of file
+  #\r
+  # Disables the following Visual Studio compiler warnings brought by openssl source, so we do not break the build with /WX option:\r
+  # C4244: conversion from type1 to type2, possible loss of data\r
+  # C4702: unreachable code\r
+  # C4706: assignment within conditional expression\r
+  # C4133: incompatible types - from type1 to type2\r
+  # C4245: conversion from type1 to type2, signed/unsigned mismatch\r
+  # C4267: conversion from size_t to type, possible loss of data\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
+  #\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
+\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
+\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
+\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
+  #  550: <entity> was set but never used\r
+  # 1293: assignment in condition\r
+  #  111: statement is unreachable (invariably "break;" after "return X;" in case statement)\r
+  #   68: integer conversion resulted in a change of sign ("if (Status == -1)")\r
+  #  177: <entity> was declared but never referenced\r
+  #  223: function <entity> declared implicitly\r
+  #  144: a value of type <type> cannot be used to initialize an entity of type <type>\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