ECC: Fix C parser to accommodate debug macro strings.
[people/mcb30/basetools.git] / ChangeLog.txt
1 ##########################################################################################\r
2 !!!!!!!!!!!!!!!!!               Notes for this ChangeLog.txt             !!!!!!!!!!!!!!!!!\r
3 \r
4 This log file is used to record two kinds of important information:\r
5  a) "Non-Compatible Changes": all non-compatible changes should be recorded. These info\r
6     will help the package user to merge this package; and some non-compatible changes\r
7     can also be added into release notes as news features when we release this package.\r
8     Normally Non-Compatible Changes contains the following types:\r
9       1) Package's external services were changed/updated\r
10       2) Package's common .h file is renamed, deleted, or the file path is changed.\r
11       3) The definition of package's common data structure is changed\r
12       ...\r
13 \r
14  b) "Important Compatible Changes": some important compatible changes can aslo be recorded\r
15     in this file, and we can add these updating into release notes when we release this\r
16     package.\r
17 \r
18 Non-Compatible and Compatible example format:\r
19 ==========================================================================================\r
20 EDK_0010: Non-Compatible: owner\r
21 \r
22       Class_HFile: PPI A of MdePkg has been removed.\r
23 \r
24         Code Change :\r
25         1) Removed the .h file: MdePkg\Include\Ppi\A.h\r
26 \r
27         Possible Impacts:\r
28         1) All modules that used this PPI A should be updated.\r
29 \r
30 ==========================================================================================\r
31 EDK_0000: Compatible: owner\r
32 \r
33       Class_BuildTool: with the EDK_0000 build.exe, the build performance is enhanced great.\r
34 \r
35         Code Change :\r
36         1) BaseTools\Bin\Win32\build.exe\r
37 \r
38 !!!!!!!!!!!!!!!!!!                     End of Notes                     !!!!!!!!!!!!!!!!!!\r
39 ##########################################################################################\r
40 \r
41 ==========================================================================================\r
42 EDK_3947: Compatible: jwang36\r
43 \r
44       Class_BuildTool:\r
45         1) Improved spawn mode (multi-thread) build performance (build -s)\r
46         2) Changed the error/debug/warning message format\r
47         3) Added "--log" command line option to support storing log in file\r
48  \r
49         Code Change :\r
50         1) BaseTools/Bin/Win32/build.exe\r
51 \r
52 \r
53 ==========================================================================================\r
54 EDK_3936: Compatible: klu2\r
55 \r
56       Class_BuildTool:\r
57         1) The first parameter of PEIM's entry point in autogen.c has been changed to \r
58            EFI_PEI_FILE_HANDLE\r
59  \r
60         Code Change :\r
61         1) BaseTools/Bin/Win32/build.exe\r
62 \r
63 ==========================================================================================\r
64 EDK_3926: Compatible: jlin16\r
65 \r
66       Class_BuildTool:\r
67         1) Added support of Capsule generation from FDF file.\r
68  \r
69         Code Change :\r
70         1) BaseTools/Bin/Win32/build.exe\r
71         2) BaseTools/Bin/Win32/GenFds.exe\r
72 \r
73         Possible Impacts:\r
74         1) To generate capsule, insert [Capsule] section after [FV] sections and specifying\r
75         what FV will be put into capsule, For example:\r
76         [Capsule.Fob]\r
77         CAPSULE_GUID = 3B6686BD-0D76-4030-B70E-B5519E2FC5A0\r
78         CAPSULE_FLAG = PersistAcrossReset\r
79         FV = BiosUpdate\r
80 \r
81 ==========================================================================================\r
82 EDK_3911: Compatible: jlin16\r
83 \r
84       Class_BuildTool:\r
85         1) Added support of Apriori file generation from FDF file.\r
86         2) Added support of INF that describes binary files to put binary into FV.\r
87         3) Fixed single FV/FD generation error when specifying -i/-r option in GenFds.\r
88         \r
89  \r
90         Code Change :\r
91         1) BaseTools/Bin/Win32/build.exe\r
92         2) BaseTools/Bin/Win32/GenFds.exe\r
93 \r
94         Possible Impacts:\r
95         1) To generate Apriori file in FV, insert APRIORI statement just before the INF or\r
96         FILE statement list of the FV, For example:\r
97         APRIORI PEI {\r
98           INF  MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
99           FILE PEIM = B7A5041A-78BA-49e3-B73B-54C757811FB6 {\r
100                   SECTION PE32 = MyBinPkg\bin\ia32\PeimAfterPcd.efi\r
101           }\r
102           INF  IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf\r
103         }\r
104         2) To add binary file described by INF file into FV, only insert the INF statement\r
105         into the INF statements list of that FV, like this:\r
106         \r
107         INF RuleOverride=Test MdeModulePkg/Logo/Logo.inf\r
108         \r
109         Specifying how to process the binary file by defining corresponding Rule like this:\r
110         [Rule.Common.Base.Test]\r
111          FILE FREEFORM = $(NAMED_GUID) {\r
112            COMPRESS PI_STD {\r
113              GUIDED {\r
114                 RAW BIN |.bmp   \r
115              }\r
116            }\r
117          }\r
118 \r
119 ==========================================================================================\r
120 EDK_3832: Non-Compatible: jwang36\r
121 \r
122       Class_BuildTool:\r
123         1) Added support of MACRO in tools_def.txt\r
124         2) Merged PATH and NAME attributes in tools_def.txt\r
125         3) Changed DPATH attribute to DLL in tools_def.txt\r
126         4) Removed SPATH attribute in tools_def.txt\r
127         5) Added support for library instance without library class\r
128         6) Fixed the issue in Trim tool which zero file will be generated if the trimmed \r
129            file has not line directive\r
130  \r
131         Code Change :\r
132         1) BaseTools/Bin/Win32/build.exe\r
133         2) BaseTools/Bin/Win32/GenFds.exe\r
134         3) BaseTools/Bin/Win32/Trim.exe\r
135         4) BaseTools/Conf/tools_def.template\r
136 \r
137         Possible Impacts:\r
138         1) All platforms and modules build\r
139 \r
140 ==========================================================================================\r
141 EDK_3801: Compatible: jwang36\r
142 \r
143       Class_BuildConfiguration: Added makefile as dependency for "Dynamic-Library-File" to \r
144         solve the incremental build issue occurred when there's library changes\r
145 \r
146         Code Change :\r
147         1) BaseTools/Conf/build_rule.template\r
148 \r
149 ==========================================================================================\r
150 EDK_3800: Compatible: lgao4\r
151 \r
152       Class_BuildTool: Update EfiRom tool to fix checksum and PCI3.0 data structure\r
153 \r
154         Code Change :\r
155         1) BaseTools/Bin/Win32/EfiRom.exe\r
156 \r
157 ==========================================================================================\r
158 EDK_3795: Compatible: htao\r
159 \r
160       Class_BuildTool: GenVtf tool open/write file with "r+b"/"w+b" attribute, but this cause\r
161                        the RO attribute of the file changed. Fix this issue by changing \r
162                        "r+b"/"w+b" to "rb"/"wb".\r
163 \r
164         Code Change :\r
165         1) BaseTools/Bin/Win32/GenVtf.exe\r
166 \r
167 ==========================================================================================\r
168 EDK_3791: Compatible: jlin16\r
169 \r
170       Class_BuildTool:\r
171         1) use '#' to indicate flash generation progress.\r
172         2) use -v to switch on detail output messages.\r
173 \r
174         Code Change :\r
175         1) BaseTools/Bin/Win32/GenFds.exe\r
176 \r
177 ==========================================================================================\r
178 EDK_3789: Non-Compatible: lgao4\r
179 \r
180       Class_BuildTool: support new Rules format and PCD format defined in FDF file\r
181 \r
182         Code Change :\r
183         1) BaseTools/Bin/Win32/build.exe\r
184         2) BaseTools/Bin/Win32/GenFds.exe\r
185 \r
186         Possible Impacts:\r
187         1) All platform's FDF file, if any, must be changed to new format.\r
188           a) PCD format is changed from old PcdName to new PcdTokenSpaceGuid.PcdName, \r
189              for example PcdWinNtFdBaseAddress in old FDF file will be replaced \r
190              by gEfiNt32PkgTokenSpaceGuid.PcdWinNtFdBaseAddres.\r
191           b) Rule format adds binary file type and file postfix name support, \r
192              and doesn't require the full file path. Examples for Peim and AcpiTable module:\r
193           Old Peim Rule:\r
194           [Rule.Common.PEIM]\r
195           FILE PEIM = $(NAMED_GUID) {\r
196              PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).Depex\r
197              PE32                      $(INF_OUTPUT)/$(MODULE_NAME).efi\r
198              UI Optional               $(MODULE_NAME)\r
199              VERSION Optional          BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)\r
200           }\r
201           New Peim Rule:\r
202           [Rule.Common.PEIM]\r
203             FILE PEIM = $(NAMED_GUID) {\r
204                PEI_DEPEX PEI_DEPEX Optional        |.Depex\r
205                PE32      PE32                      |.efi\r
206                UI       STRING="$(MODULE_NAME)" Optional         \r
207                VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)   \r
208             }\r
209 \r
210           Old AcpiTable Rule:\r
211           [Rule.Common.DXE_DRIVER.ACPITABLE]\r
212             FILE FREEFORM = $(NAMED_GUID) {\r
213               RAW                    $(INF_OUTPUT)/Madt.acpi\r
214               RAW                    $(INF_OUTPUT)/Fadt.acpi\r
215               RAW                    $(INF_OUTPUT)/Facs.acpi\r
216               RAW                    $(INF_OUTPUT)/Spcr.acpi\r
217               RAW                    $(INF_OUTPUT)/Dsdt.aml\r
218             }\r
219           New AcpiTable Rule:\r
220           [Rule.Common.DXE_DRIVER.ACPITABLE]\r
221             FILE FREEFORM = $(NAMED_GUID) {\r
222               RAW ACPI |.acpi\r
223               RAW ASL  |.aml\r
224             }\r
225 \r
226 ==========================================================================================\r
227 EDK_3786: Compatible: vjeff\r
228 \r
229       Class_BuildConfiguration:\r
230         1) Redirect ICC_IA32_*_PATH from C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin \r
231            to C:\Program Files\Intel\Compiler\C++\9.1\IA32\Bin. \r
232         2) Add ICC X64 definition to enable ICC X64 build.\r
233 \r
234         Code Change :\r
235         1) BaseTools/Conf/tools_def.template\r
236 \r
237 ==========================================================================================\r
238 EDK_3785: Non-Compatible: klu2\r
239 \r
240       Class_BuildTool: Upgrade the format of EFI_PEIM_ENTRY_POINT to \r
241                        EFI_PEIM_ENTRY_POINT2 according to PI specification.\r
242 \r
243 \r
244         Code Change :\r
245         1) BaseTools/Bin/Win32/build.exe\r
246 \r
247         Possible Impacts:\r
248         1) All modules build\r
249 \r
250 \r
251 ==========================================================================================\r
252 EDK_3780: Non-Compatible: qhuang8\r
253 \r
254       Class_MigrationTool: Update the syntax of PCD section.\r
255                            Update the syntax of binary INF file\r
256                            The generated Extended INF file should follow Extended INF spec 0.44\r
257 \r
258         Code Change :\r
259         1) BaseTools/Bin/Win32/MigrationMsa2Inf.exe\r
260 \r
261         Possible Impacts:\r
262         1) New module migrated from old R9\r
263 \r
264 \r
265 ==========================================================================================\r
266 EDK_3766: Non-Compatible: lgao4\r
267 \r
268       Class_BuildConfiguration: Update Acpi Asl file Build rule to remove trim step.\r
269 \r
270         Code Change :\r
271         1) Conf/build_rule.template\r
272 \r
273         Possible Impacts:\r
274         1) Platform with ACPI module. Acpi module needs to set /EP preprocessor compiler option \r
275         for APP_FLAGS in module inf to override the default /E option defined in tools_def.txt file. \r
276 \r
277 \r