CryptoPkg IntrinsicLib: Remove GCC -fno-builtin option
[mirror_edk2.git] / CryptoPkg / CryptoPkg.dsc
1 ## @file\r
2 #  Cryptographic Library Package for UEFI Security Implementation.\r
3 #\r
4 #  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>\r
5 #  This program and the accompanying materials\r
6 #  are licensed and made available under the terms and conditions of the BSD License\r
7 #  which accompanies this distribution.  The full text of the license may be found at\r
8 #  http://opensource.org/licenses/bsd-license.php\r
9 #  \r
10 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12 #  \r
13 ##\r
14 \r
15 ################################################################################\r
16 #\r
17 # Defines Section - statements that will be processed to create a Makefile.\r
18 #\r
19 ################################################################################\r
20 [Defines]\r
21   PLATFORM_NAME                  = CryptoPkg\r
22   PLATFORM_GUID                  = E1063286-6C8C-4c25-AEF0-67A9A5B6E6B6\r
23   PLATFORM_VERSION               = 0.96\r
24   DSC_SPECIFICATION              = 0x00010005\r
25   OUTPUT_DIRECTORY               = Build/CryptoPkg\r
26   SUPPORTED_ARCHITECTURES        = IA32|X64|IPF|ARM|AARCH64\r
27   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT\r
28   SKUID_IDENTIFIER               = DEFAULT\r
29 \r
30 ################################################################################\r
31 #\r
32 # Library Class section - list of all Library Classes needed by this Platform.\r
33 #\r
34 ################################################################################\r
35 [LibraryClasses]\r
36   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
37   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
38   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
39   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
40   DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
41   DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf  \r
42   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
43   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
44   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
45   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
46   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
47   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
48   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
49   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
50 \r
51   IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf\r
52   OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf\r
53 \r
54 [LibraryClasses.ARM, LibraryClasses.AARCH64]\r
55   #\r
56   # It is not possible to prevent the ARM compiler for generic intrinsic functions.\r
57   # This library provides the instrinsic functions generate by a given compiler.\r
58   # [LibraryClasses.ARM, LibraryClasses.AARCH64] and NULL mean link this library\r
59   # into all ARM and AARCH64 images.\r
60   #\r
61   NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
62 \r
63   # Add support for stack protector\r
64   NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
65 \r
66 [LibraryClasses.ARM]\r
67   ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf\r
68 \r
69 [LibraryClasses.common.PEIM]\r
70   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf\r
71 \r
72 [LibraryClasses.common.DXE_DRIVER]\r
73   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf\r
74 \r
75 [LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
76   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf\r
77 \r
78 [LibraryClasses.common.DXE_SMM_DRIVER]\r
79   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf\r
80 \r
81 [LibraryClasses.common.DXE_SAL_DRIVER]\r
82   BaseCryptLib|CryptoPkg/Library/BaseCryptLibRuntimeCryptProtocol/BaseCryptLibRuntimeCryptProtocol.inf\r
83 \r
84 [LibraryClasses.common.UEFI_DRIVER]\r
85   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf\r
86 \r
87 [LibraryClasses.common.UEFI_APPLICATION]\r
88   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf\r
89 \r
90 ################################################################################\r
91 #\r
92 # Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
93 #\r
94 ################################################################################\r
95 [PcdsFeatureFlag]\r
96   gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE\r
97   gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE\r
98 \r
99 [PcdsFixedAtBuild]\r
100   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f\r
101   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000\r
102   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06\r
103 \r
104 ###################################################################################################\r
105 #\r
106 # Components Section - list of the modules and components that will be processed by compilation\r
107 #                      tools and the EDK II tools to generate PE32/PE32+/Coff image files.\r
108 #\r
109 # Note: The EDK II DSC file is not used to specify how compiled binary images get placed\r
110 #       into firmware volume images. This section is just a list of modules to compile from\r
111 #       source into UEFI-compliant binaries.\r
112 #       It is the FDF file that contains information on combining binary files into firmware\r
113 #       volume images, whose concept is beyond UEFI and is described in PI specification.\r
114 #       Binary modules do not need to be listed in this section, as they should be\r
115 #       specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),\r
116 #       Logo (Logo.bmp), and etc.\r
117 #       There may also be modules listed in this section that are not required in the FDF file,\r
118 #       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be\r
119 #       generated for it, but the binary will not be put into any firmware volume.\r
120 #\r
121 ###################################################################################################\r
122 [Components]\r
123   CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf\r
124   CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf\r
125   CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf\r
126   CryptoPkg/Library/TlsLib/TlsLib.inf\r
127 \r
128   CryptoPkg/Application/Cryptest/Cryptest.inf\r
129 \r
130   CryptoPkg/CryptRuntimeDxe/CryptRuntimeDxe.inf\r
131 \r
132 [Components.IA32, Components.X64]\r
133   CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf\r
134 \r
135 [Components.IPF]\r
136   CryptoPkg/Library/BaseCryptLibRuntimeCryptProtocol/BaseCryptLibRuntimeCryptProtocol.inf\r
137 \r
138 [BuildOptions]\r
139   *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES\r