CryptoPkg.dsc 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. ## @file
  2. # Cryptographic Library Package for UEFI Security Implementation.
  3. # PEIM, DXE Driver, and SMM Driver with all crypto services enabled.
  4. #
  5. # Copyright (c) 2009 - 2021, Intel Corporation. All rights reserved.<BR>
  6. # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
  7. # Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
  8. # SPDX-License-Identifier: BSD-2-Clause-Patent
  9. #
  10. ##
  11. ################################################################################
  12. #
  13. # Defines Section - statements that will be processed to create a Makefile.
  14. #
  15. ################################################################################
  16. [Defines]
  17. PLATFORM_NAME = CryptoPkg
  18. PLATFORM_GUID = E1063286-6C8C-4c25-AEF0-67A9A5B6E6B6
  19. PLATFORM_VERSION = 0.98
  20. DSC_SPECIFICATION = 0x00010005
  21. OUTPUT_DIRECTORY = Build/CryptoPkg
  22. SUPPORTED_ARCHITECTURES = IA32|X64|ARM|AARCH64|RISCV64|LOONGARCH64
  23. BUILD_TARGETS = DEBUG|RELEASE|NOOPT
  24. SKUID_IDENTIFIER = DEFAULT
  25. #
  26. # Flavor of PEI, DXE, SMM modules to build.
  27. # Must be one of ALL, NONE, MIN_PEI, MIN_DXE_MIN_SMM.
  28. # Default is ALL that is used for package build verification.
  29. # PACKAGE - Package verification build of all components. Null
  30. # versions of libraries are used to minimize build times.
  31. # ALL - Build PEIM, DXE, and SMM drivers. Protocols and PPIs
  32. # publish all services.
  33. # NONE - Build PEIM, DXE, and SMM drivers. Protocols and PPIs
  34. # publish no services. Used to verify compiler/linker
  35. # optimizations are working correctly.
  36. # MIN_PEI - Build PEIM with PPI that publishes minimum required
  37. # services.
  38. # MIN_DXE_MIN_SMM - Build DXE and SMM drivers with Protocols that publish
  39. # minimum required services.
  40. #
  41. DEFINE CRYPTO_SERVICES = PACKAGE
  42. !if $(CRYPTO_SERVICES) IN "PACKAGE ALL NONE MIN_PEI MIN_DXE_MIN_SMM"
  43. !else
  44. !error CRYPTO_SERVICES must be set to one of PACKAGE ALL NONE MIN_PEI MIN_DXE_MIN_SMM.
  45. !endif
  46. !include UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc
  47. ################################################################################
  48. #
  49. # Library Class section - list of all Library Classes needed by this Platform.
  50. #
  51. ################################################################################
  52. !include MdePkg/MdeLibs.dsc.inc
  53. [LibraryClasses]
  54. BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
  55. BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
  56. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  57. DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
  58. UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
  59. UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
  60. BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
  61. TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
  62. HashApiLib|CryptoPkg/Library/BaseHashApiLib/BaseHashApiLib.inf
  63. RngLib|MdePkg/Library/BaseRngLibNull/BaseRngLibNull.inf
  64. SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
  65. [LibraryClasses.ARM, LibraryClasses.AARCH64]
  66. #
  67. # It is not possible to prevent the ARM compiler for generic intrinsic functions.
  68. # This library provides the instrinsic functions generate by a given compiler.
  69. # [LibraryClasses.ARM, LibraryClasses.AARCH64] and NULL mean link this library
  70. # into all ARM and AARCH64 images.
  71. #
  72. NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
  73. # Add support for stack protector
  74. NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
  75. [LibraryClasses.common.PEIM]
  76. PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
  77. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  78. PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
  79. PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
  80. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  81. [LibraryClasses.common.DXE_SMM_DRIVER]
  82. SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
  83. MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
  84. MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
  85. !if $(CRYPTO_SERVICES) IN "ALL NONE MIN_PEI MIN_DXE_MIN_SMM"
  86. [LibraryClasses]
  87. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  88. DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
  89. DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
  90. OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
  91. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  92. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  93. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  94. TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
  95. UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf #???
  96. IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf #???
  97. OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
  98. IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
  99. SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
  100. [LibraryClasses.ARM]
  101. ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
  102. [LibraryClasses.common.SEC]
  103. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf
  104. [LibraryClasses.common.PEIM]
  105. PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
  106. ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
  107. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
  108. TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
  109. [LibraryClasses.IA32.PEIM, LibraryClasses.X64.PEIM]
  110. PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
  111. [LibraryClasses.ARM.PEIM, LibraryClasses.AARCH64.PEIM]
  112. PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
  113. [LibraryClasses.common.DXE_DRIVER]
  114. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  115. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
  116. TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
  117. [LibraryClasses.common.DXE_SMM_DRIVER]
  118. ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
  119. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
  120. TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
  121. !endif
  122. ################################################################################
  123. #
  124. # Pcd Section - list of all EDK II PCD Entries defined by this Platform
  125. #
  126. ################################################################################
  127. [PcdsFixedAtBuild]
  128. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f
  129. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
  130. gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06
  131. !if $(CRYPTO_SERVICES) IN "PACKAGE ALL"
  132. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  133. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  134. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  135. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Dh.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  136. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Random.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  137. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  138. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha1.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  139. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  140. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  141. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha512.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  142. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  143. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.GetContextSize | TRUE
  144. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.Init | TRUE
  145. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcEncrypt | TRUE
  146. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcDecrypt | TRUE
  147. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Arc4.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  148. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sm3.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  149. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Hkdf.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  150. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Tls.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  151. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsSet.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  152. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsGet.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  153. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.RsaPss.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  154. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.ParallelHash.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  155. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.AeadAesGcm.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  156. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Bn.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  157. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Ec.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  158. !endif
  159. !if $(CRYPTO_SERVICES) == MIN_PEI
  160. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  161. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  162. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha1.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  163. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  164. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  165. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha512.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  166. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sm3.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  167. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.Pkcs1Verify | TRUE
  168. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.New | TRUE
  169. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.Free | TRUE
  170. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.SetKey | TRUE
  171. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.Pkcs5HashPassword | TRUE
  172. !endif
  173. !if $(CRYPTO_SERVICES) == MIN_DXE_MIN_SMM
  174. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  175. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  176. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.Pkcs1v2Encrypt | TRUE
  177. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.Pkcs5HashPassword | TRUE
  178. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.Pkcs7Verify | TRUE
  179. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.VerifyEKUsInPkcs7Signature | TRUE
  180. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.Pkcs7GetSigners | TRUE
  181. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.Pkcs7FreeSigners | TRUE
  182. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Services.AuthenticodeVerify | TRUE
  183. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Random.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  184. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.Pkcs1Verify | TRUE
  185. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.New | TRUE
  186. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.Free | TRUE
  187. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.SetKey | TRUE
  188. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Services.GetPublicKeyFromX509 | TRUE
  189. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha1.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  190. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  191. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha256.Services.HashAll | FALSE
  192. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Services.GetSubjectName | TRUE
  193. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Services.GetCommonName | TRUE
  194. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Services.GetOrganizationName | TRUE
  195. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Services.GetTBSCert | TRUE
  196. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Tls.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  197. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsSet.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  198. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsGet.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  199. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.GetContextSize | TRUE
  200. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.Init | TRUE
  201. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcEncrypt | TRUE
  202. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcDecrypt | TRUE
  203. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.AeadAesGcm.Services.Encrypt | TRUE
  204. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.AeadAesGcm.Services.Decrypt | TRUE
  205. !endif
  206. ###################################################################################################
  207. #
  208. # Components Section - list of the modules and components that will be processed by compilation
  209. # tools and the EDK II tools to generate PE32/PE32+/Coff image files.
  210. #
  211. # Note: The EDK II DSC file is not used to specify how compiled binary images get placed
  212. # into firmware volume images. This section is just a list of modules to compile from
  213. # source into UEFI-compliant binaries.
  214. # It is the FDF file that contains information on combining binary files into firmware
  215. # volume images, whose concept is beyond UEFI and is described in PI specification.
  216. # Binary modules do not need to be listed in this section, as they should be
  217. # specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
  218. # Logo (Logo.bmp), and etc.
  219. # There may also be modules listed in this section that are not required in the FDF file,
  220. # When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
  221. # generated for it, but the binary will not be put into any firmware volume.
  222. #
  223. ###################################################################################################
  224. [Components]
  225. CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
  226. CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf
  227. !if $(CRYPTO_SERVICES) == PACKAGE
  228. [Components]
  229. CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
  230. CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf
  231. CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
  232. CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
  233. CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
  234. CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
  235. CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
  236. CryptoPkg/Library/TlsLib/TlsLib.inf
  237. CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
  238. CryptoPkg/Library/OpensslLib/OpensslLib.inf
  239. CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
  240. CryptoPkg/Library/BaseHashApiLib/BaseHashApiLib.inf
  241. CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.inf
  242. CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf
  243. CryptoPkg/Library/BaseCryptLibOnProtocolPpi/SmmCryptLib.inf
  244. !endif
  245. !if $(CRYPTO_SERVICES) IN "PACKAGE ALL NONE MIN_PEI"
  246. [Components.IA32, Components.X64, Components.ARM, Components.AARCH64]
  247. CryptoPkg/Driver/CryptoPei.inf {
  248. <Defines>
  249. !if $(CRYPTO_SERVICES) == ALL
  250. FILE_GUID = 8DF53C2E-3380-495F-A8B7-370CFE28E1C6
  251. !elseif $(CRYPTO_SERVICES) == NONE
  252. FILE_GUID = E5A97EE3-71CC-407F-9DA9-6BE0C8A6C7DF
  253. !elseif $(CRYPTO_SERVICES) == MIN_PEI
  254. FILE_GUID = 0F5827A9-35FD-4F41-8D38-9BAFCE594D31
  255. !endif
  256. }
  257. !endif
  258. !if $(CRYPTO_SERVICES) IN "PACKAGE ALL NONE MIN_DXE_MIN_SMM"
  259. [Components.IA32, Components.X64, Components.AARCH64]
  260. CryptoPkg/Driver/CryptoDxe.inf {
  261. <Defines>
  262. !if $(CRYPTO_SERVICES) == ALL
  263. FILE_GUID = D9444B06-060D-42C5-9344-F04707BE0169
  264. !elseif $(CRYPTO_SERVICES) == NONE
  265. FILE_GUID = C7A340F4-A6CC-4F95-A2DA-42BEA4C3944A
  266. !elseif $(CRYPTO_SERVICES) == MIN_DXE_MIN_SMM
  267. FILE_GUID = DDF5BE9E-159A-4B77-B6D7-82B84B5763A2
  268. !endif
  269. }
  270. [Components.IA32, Components.X64]
  271. CryptoPkg/Driver/CryptoSmm.inf {
  272. <Defines>
  273. !if $(CRYPTO_SERVICES) == ALL
  274. FILE_GUID = A3542CE8-77F7-49DC-A834-45D37D2EC1FA
  275. !elseif $(CRYPTO_SERVICES) == NONE
  276. FILE_GUID = 6DCB3127-01E7-4131-A487-DC77A965A541
  277. !elseif $(CRYPTO_SERVICES) == MIN_DXE_MIN_SMM
  278. FILE_GUID = 85F7EA15-3A2B-474A-8875-180542CD6BF3
  279. !endif
  280. }
  281. !endif
  282. [BuildOptions]
  283. *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
  284. !if $(CRYPTO_SERVICES) IN "PACKAGE ALL"
  285. MSFT:*_*_*_CC_FLAGS = /D ENABLE_MD5_DEPRECATED_INTERFACES
  286. INTEL:*_*_*_CC_FLAGS = /D ENABLE_MD5_DEPRECATED_INTERFACES
  287. GCC:*_*_*_CC_FLAGS = -D ENABLE_MD5_DEPRECATED_INTERFACES
  288. !endif