FmpDevicePkg: Add DISABLE_NEW_DEPRECATED_INTERFACES build options
[mirror_edk2.git] / FmpDevicePkg / FmpDevicePkg.dsc
1 ## @file\r
2 # Firmware Management Protocol Device Package\r
3 #\r
4 # This package provides an implementation of a Firmware Management Protocol\r
5 # instance that supports the update of firmware storage devices using UEFI\r
6 # Capsules.  The behavior of the Firmware Management Protocol instance is\r
7 # customized using libraries and PCDs.\r
8 #\r
9 # Copyright (c) 2016, Microsoft Corporation. All rights reserved.<BR>\r
10 # Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>\r
11 #\r
12 # Redistribution and use in source and binary forms, with or without\r
13 # modification, are permitted provided that the following conditions are met:\r
14 # 1. Redistributions of source code must retain the above copyright notice,\r
15 # this list of conditions and the following disclaimer.\r
16 # 2. Redistributions in binary form must reproduce the above copyright notice,\r
17 # this list of conditions and the following disclaimer in the documentation\r
18 # and/or other materials provided with the distribution.\r
19 #\r
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\r
21 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
22 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\r
23 # IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\r
24 # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r
25 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
26 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
27 # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\r
28 # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\r
29 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
30 #\r
31 ##\r
32 \r
33 [Defines]\r
34   PLATFORM_NAME                  = FmpDevicePkg\r
35   PLATFORM_GUID                  = 0af3d540-27c6-11e8-828b-f8597177a00a\r
36   PLATFORM_VERSION               = 0.1\r
37   DSC_SPECIFICATION              = 0x00010005\r
38   OUTPUT_DIRECTORY               = Build/FmpDevicePkg\r
39   SUPPORTED_ARCHITECTURES        = IA32|X64|ARM|AARCH64\r
40   BUILD_TARGETS                  = DEBUG|RELEASE\r
41   SKUID_IDENTIFIER               = DEFAULT\r
42 \r
43   #\r
44   # Define ESRT GUIDs for Firmware Management Protocol instances\r
45   #\r
46   DEFINE FMP_GRAPHICS_ESRT_GUID  = B461B3BD-E62A-4A71-841C-50BA4E500267\r
47   DEFINE FMP_TEXT_ESRT_GUID      = 226034C4-8B67-4536-8653-D6EE7CE5A316\r
48 \r
49 [LibraryClasses]\r
50   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
51   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
52   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
53   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
54   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
55   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
56   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
57   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
58   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf\r
59   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
60   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
61   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
62   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
63   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
64   DebugLib|MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.inf\r
65   DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
66   PostCodeLib|MdePkg/Library/BasePostCodeLibPort80/BasePostCodeLibPort80.inf\r
67   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
68   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
69 \r
70   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
71   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
72   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
73   UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
74   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
75   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
76   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
77   OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf\r
78   IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf\r
79   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf\r
80   FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf\r
81 \r
82   CapsuleUpdatePolicyLib|FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf\r
83   FmpPayloadHeaderLib|FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.inf\r
84   FmpDeviceLib|FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLibNull.inf\r
85   BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf\r
86   SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf\r
87   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf\r
88 \r
89 [LibraryClasses.ARM, LibraryClasses.AARCH64]\r
90   #\r
91   # It is not possible to prevent the ARM compiler for generic intrinsic functions.\r
92   # This library provides the instrinsic functions generate by a given compiler.\r
93   # [LibraryClasses.ARM, LibraryClasses.AARCH64] and NULL mean link this library\r
94   # into all ARM and AARCH64 images.\r
95   #\r
96   NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
97 \r
98   # Add support for stack protector\r
99   NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
100 \r
101 [LibraryClasses.ARM]\r
102   ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf\r
103 \r
104 [Components]\r
105   #\r
106   # Libraries\r
107   #\r
108   FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf\r
109   FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.inf\r
110   FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLibNull.inf\r
111   FmpDevicePkg/FmpDxe/FmpDxeLib.inf\r
112 \r
113   #\r
114   # Modules\r
115   #\r
116   FmpDevicePkg/FmpDxe/FmpDxe.inf {\r
117     <Defines>\r
118       #\r
119       # FILE_GUID is FMP ESRT GUID\r
120       #\r
121       FILE_GUID = $(FMP_GRAPHICS_ESRT_GUID)\r
122     <LibraryClasses>\r
123       DisplayUpdateProgressLib|MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf\r
124   }\r
125 \r
126   FmpDevicePkg/FmpDxe/FmpDxe.inf {\r
127     <Defines>\r
128       #\r
129       # FILE_GUID is used as ESRT GUID\r
130       #\r
131       FILE_GUID = $(FMP_TEXT_ESRT_GUID)\r
132     <LibraryClasses>\r
133       DisplayUpdateProgressLib|MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf\r
134   }\r
135 \r
136 [BuildOptions]\r
137   *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES\r