Inconsistent with specification here:
[edk2.git] / BaseTools / ChangeLog.txt
blobe765210d379153db50de6670348af6185dfa85b8
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
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
18 Non-Compatible and Compatible example format:\r
19 ==========================================================================================\r
20 EDK_0010: Non-Compatible: owner\r
22       Class_HFile: PPI A of MdePkg has been removed.\r
24         Code Change :\r
25         1) Removed the .h file: MdePkg\Include\Ppi\A.h\r
27         Possible Impacts:\r
28         1) All modules that used this PPI A should be updated.\r
30 ==========================================================================================\r
31 EDK_0000: Compatible: owner\r
33       Class_BuildTool: with the EDK_0000 build.exe, the build performance is enhanced great.\r
35         Code Change :\r
36         1) BaseTools\Bin\Win32\build.exe\r
38 !!!!!!!!!!!!!!!!!!                     End of Notes                     !!!!!!!!!!!!!!!!!!\r
40 ##########################################################################################\r
42 ##########################################################################################\r
43 ##########                 Revision number of tools source code                 ##########\r
44     BaseTools/Bin/Win32/build.exe\r
45         r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Autogen\r
46         r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/build\r
47         r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
48         r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/CommonDataClass\r
49         r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/GenFds\r
50         r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Workspace\r
52     BaseTools/Bin/Win32/GenFds.exe\r
53         r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
54         r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/CommonDataClass\r
55         r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/GenFds\r
56         r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Workspace\r
58     BaseTools/Bin/Win32/GenDepex.exe\r
59         r1383 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/AutoGen\r
60         r1383 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
62     BaseTools/Bin/Win32/Trim.exe\r
63         r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Trim\r
64         r1483 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
66     BaseTools/Bin/Win32/MigrationMsa2Inf.exe\r
67         r843 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/MigrationMsa2Inf\r
68         r843 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
70     BaseTools/Bin/Win32/TargetTool.exe\r
71         r843 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/TargetTool\r
72         r843 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
74     BaseTools/Bin/Win32/Spd2Dec.exe\r
75         r777 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/spd2dec\r
77     BaseTools/Bin/Win32/Fpd2Dsc.exe\r
78         r767 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/fpd2dsc\r
80 ==========================================================================================\r
81 basetools_7529: Non-Compatible: jwang36\r
83       Class_BuildTool:\r
84         1) Use FAMILY defined in *_TAGNAME_*_*_FAMILY as the toolchain family\r
85         2) Force file name case check in Windows\r
86         3) Consolidate file/path operations\r
87         4) Support binary file type in build_rule.txt\r
88         5) Generate $(FILE_TYPES) macro only when it's used in build_rule.txt\r
89         6) Use build_rule.txt to solve customized build for USER_DEFINED module\r
90         7) Re-design TemplateString to make it faster\r
91         8) Improve performance of Trim tool\r
92         9) Fix undefined variables issue\r
93         10) Fix HSD202142 and HSD202144\r
95         Code Change :\r
96         1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
97         2) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
98         3) /trunk/edk2/BaseTools/Bin/Win32/Trim.exe\r
99         4) /trunk/edk2/BaseTools/Conf/build_rule.template\r
101         Possible Impacts:\r
102         1) To build Nt32Pkg.dsc correctly, the local version build_rule.txt must\r
103            updated with the change in new build_rule.template.\r
104         2) The case of file path must be the same as in file system, or the build\r
105            will break.\r
107 basetools_7159: Non-Compatible: jwang36\r
109       Class_BuildTool:\r
110         1) Re-fine and fully test the mechanism of getting over the long command\r
111            line limitation\r
112         2) Change the -s option of build from "SpawnMode" to be "SilentMode"\r
113         3) Change the prototype of PeiCoreEntryPoint in AutoGen-ed code\r
114         4) Remove CalcDeps module since it's no longer needed.\r
115         5) Remove "-k", "-g" and "-l" switches from build\r
116         6) Remove MULTIPLE_THREAD in target.template. Use MAX_CONCURRENT_THREAD_NUMBER\r
117            to get the same functionality.\r
119         Code Change :\r
120         1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
121         1) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
123         Possible Impacts:\r
124         1) The local version build_rule.txt must be updated with changes in build_rule.template\r
125         2) Use "build -s" to pass "-s" switch to "make" tool to do silent "make".\r
126            To suppress all message from stdout, use "build -q" instead.\r
127         3) To get over the long command line limitation, use "@$(<FILE_TYPE>S_LIST)"\r
128            in the place of ${src} for those commands encountering such kind of\r
129            problem.\r
131 basetools_7009: Non-Compatible: jwang36\r
133       Class_BuildTool:\r
134         1) Search value of Guid/Protocol/PPI in inf file only in the same category in dec file.\r
135         2) Pass all files in a module's directory to StrGather for R8 modules.\r
137         Code Change :\r
138         1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
140         Possible Impacts:\r
141         1) Those inf files in which the PPI/Protocol/Guid are put in incorrect\r
142            section will encounter build break.\r
144 ==========================================================================================\r
145 EDK_6930: Non-Compatible: jwang36\r
147       Class_BuildTool:\r
148         1) Separate the AutoGen code for PCDs between module and its library instances.\r
149            Only macros for module's PCDs will be put in AutoGen.h. Others will be put\r
150            in AutoGen.c. This is intended to catch missed PCDs in inf file more easily.\r
151         2) For better compatibile between C standards or C compiler, add type cast for\r
152            PCD constants in AutoGen.h according to the PCD datum type.\r
153         3) Add incremental generation capability for FV in GenFds tool.\r
155         Code Change :\r
156         1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
157         2) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
159         Possible Impacts:\r
160         1) If there're PCDs used in a module but not declared in the module's inf file,\r
161            and occasionally they are declared in the library instances, there must be\r
162            a build break. Adding necessary PCDs declarations in the module's inf file\r
163            will solve it.\r
165 ==========================================================================================\r
166 EDK_6828: Compatible: jwang36\r
168       Class_BuildTool:\r
169         1) Add a feature to allow override tools option via "==" in metafile.\r
170         2) Remove the AutoGen.c generation for R8 module without unicode file.\r
173         Code Change :\r
174         1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
176 ==========================================================================================\r
177 EDK_6772: Non-Compatible: jwang36\r
179       Class_BuildTool:\r
180         1) Add /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT) in EBC_CC_FLAGS to ensure\r
181            correct R8's module entry point for EBC arch.\r
183         Code Change :\r
184         1) /trunk/edk2/BaseTools/Conf/tools_def.template\r
186         Possible Impacts:\r
187            The local version of tools_def.txt must be updated with the change in\r
188            tools_def.template.\r
190 ==========================================================================================\r
191 EDK_6762: Non-Compatible: lgao4\r
193       Class_BuildTool:\r
194         1) Declare entry point, constructor into AutoGen.h\r
195         2) Create <ModuleName>StrDefs.h to contain uni code string ID.\r
198         Code Change :\r
199         1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
200         2) /trunk/edk2/BaseTools/Conf/tools_def.template\r
202         Possible Impacts:\r
203            The local version of tools_def.txt must be updated with change in\r
204            tools_def.tempalte.\r
206 ==========================================================================================\r
207 EDK_6671: Compatible: qwang12\r
209       Class_BuildTool:\r
210         1) StrGather (Build.exe) in compatible mode add a Framework Package Header\r
211            to replace the original ¡°ArrayLength¡± generated in the output.\r
212         2) VfrCompiler in compatible mode add a Framework Package Header to replace\r
213            the original ¡°ArrayLength¡± generated in the output.\r
215         Code Change :\r
216         1) /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe\r
217         2) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
220 ==========================================================================================\r
221 EDK_6666: Compatible: lgao4\r
223       Class_BuildTool:\r
224         1) Enhance GenFv WriteFvMap function to print basic debug information\r
225            (entrypoint, baseaddress, .text, .data section base address)  when no\r
226            map can be referred.\r
227         2) Enhance GenFv tool to create the non PI file system firmware volume.\r
228         3) Update VfrComile\r
229            - Set the first framework var store name to ¡°Setup¡±\r
230            - Support DEFAULT and MANUFACTURING for framework CheckBox flags value\r
232         Code Change :\r
233            /trunk/edk2/BaseTools/Bin/Win32/GenFv.exe\r
234            /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe\r
236 ==========================================================================================\r
237 EDK_6640: Compatible: jwang36\r
239       Class_BuildTool:\r
240         1) Change file line format of AutoGen files to native style.\r
242         Code Change :\r
243         1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
245 ==========================================================================================\r
246 EDK_6613: Non-Compatible: qwang12\r
248       Class_BuildTool:\r
249         1) Generate data for ConfigAccess.ExtractConfig() impl\r
251         Code Change :\r
252         1) /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe\r
254 ==========================================================================================\r
255 EDK_6490: Compatible: jwang36\r
257       Class_BuildTool:\r
258         1) Add ImportTool.bat script\r
259         2) Add more error check for Trim.exe\r
262         Code Change :\r
263         1) /trunk/edk2/BaseTools/Bin/Win32/ImportTool.bat\r
264         2) /trunk/edk2/BaseTools/Bin/Win32/Trim.exe\r
266 ==========================================================================================\r
267 EDK_6452: Compatible: jwang36\r
269       Class_BuildTool:\r
270         1) Allow the flags of tools not defined tools_def.txt\r
271         2) Add BUILD as internal tool to pass compatible mode of unicode to build tool.\r
272         3) Add support of [Depex.common.<ModuleType>] in inf file\r
273         4) Add more optimization, especially for architecture protocols, in GeDepex tool\r
274         5) Fix the generation of _gPeimRevision and _gDxeRevision global variables in\r
275            AutoGen.c according to new MdePkg spec.\r
276         6) Change the header file of DxeSmmeEntryPoint.h to UefiDriverEntryPoint.h\r
277            in AutoGen.c since it's no longer exist.\r
278         7) Fix $(PROCESSOR) macro replacement issue in [nmake] section\r
280         Code Change :\r
281            /trunk/edk2/BaseTools/Bin/Win32/GenDepex.exe\r
282            /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
283            /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
285 ==========================================================================================\r
286 EDK_6289: Compatible: jwang36\r
288       Class_BuildTool:\r
289         1) Performance improvement on startup of build.exe\r
291         Code Change :\r
292         1) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
293         2) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
295 ==========================================================================================\r
296 EDK_6269: Compatible: jwang36\r
298       Class_BuildTool:\r
299         1) Bug fixes\r
300         2) Improve the screen output when in quiet build mode\r
301         3) Add "tbuild" target in makefile in order to not created directories in\r
302            makefile. Instead, they will be created in build tool. This will give\r
303            better build performance, especially in incremental build.\r
304         4) Add space check in WORKSPACE and OUTPUT_DIRECTORY (in dsc file) directory\r
305            name and give error message if found.\r
307         Code Change :\r
308         1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
310 ==========================================================================================\r
311 EDK_5762: Compatible: jlin16\r
313       Class_BuildTool:\r
314         1) Enhance the tool to build R8 module via ECP.\r
316         Code Change :\r
317         1) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
318         2) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
320 ==========================================================================================\r
321 EDK_5635: Compatible: lgao4\r
323       Class_BuildTool:\r
324         1) Enhance GenFv tool to print Fv Size and Length, and Get module map by\r
325            module pdb pointer and get module guid by module FFS guid.\r
326         2) And Enhance VfrCompiler to handle framework vfr file, and print more\r
327            debug information into .lst file.\r
329         Code Change :\r
330         1) /trunk/edk2/BaseTools/Bin/Win32/GenFv.exe\r
331         2) /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe\r
333 ==========================================================================================\r
334 EDK_5634: Non-Compatible: jwang36\r
336       Class_BuildTool:\r
337         1) Enhance the format of build_rule.txt to allow module type and arch information.\r
338         2) Enhance Trim to convert ASL style of include to C style of include\r
339         3) Enhance Trim to convert some EDK coding convention to EDK2 ECP convention\r
340         4) Add warning message when encountering unrecognized content in DSC/DEC/INF File\r
341         5) Enhance the GenDepex to ignore everything outside DEPENDENCY_STANT and DEPENDENCY_END in dxs file\r
343         Code Change :\r
344            /trunk/edk2/BaseTools/Bin/Win32/GenDepex.exe\r
345            /trunk/edk2/BaseTools/Bin/Win32/Trim.exe\r
346            /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
347            /trunk/edk2/BaseTools/Conf/build_rule.template\r
348            /trunk/edk2/BaseTools/Conf/tools_def.template\r
350         Possible Impacts:\r
351            The local version tools_def.txt and build_rule.txt must be updated with\r
352            the changes in tools_def.template and build_rule.template respectively.\r
354 ==========================================================================================\r
355 EDK_5193: Compatible: jwang36\r
357       Class_BuildTool:\r
358         1) Add incremental support in GenFds\r
360         Code Change :\r
361           /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
362           /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
364 ==========================================================================================\r
365 EDK_5186: Compatible: jwang36\r
367       Class_BuildTool:\r
368         1) Add explicit banner for pass/fail indication of build\r
369         2) Fix the issue which cause error message from FDF parser won't be printed out.\r
370         3) Fix the error message format of FDF parser\r
371         4) Change the exit code of build tool from always 1 to error code, if error occurred\r
373         Code Change :\r
374            /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
375            /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
377 ==========================================================================================\r
378 EDK_4971: Compatible: lgao4\r
380       Class_BuildTool:\r
381         1) Enhance GenFw tool to always zero .pdata section for PE32 and PE32+ image in\r
382            order to improve compression ratio for them.\r
384         Code Change :\r
385            /trunk/edk2/BaseTools/Bin/Win32/GenFw.exe\r
387 ==========================================================================================\r
388 EDK_4918: Compatible: lgao4\r
390       Class_BuildTool:\r
391         1) Correct Error Message format for these C tools according to the Tool Design Spec.\r
393         Code Change :\r
394            /trunk/edk2/BaseTools/Bin/Win32/EfiLdrImage.exe\r
395            /trunk/edk2/BaseTools/Bin/Win32/GenFv.exe\r
396            /trunk/edk2/BaseTools/Bin/Win32/TianoCompress.exe\r
397            /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe\r
398            /trunk/edk2/BaseTools/Bin/Win32/VolInfo.exe\r
400 ==========================================================================================\r
401 EDK_4859: Non-Compatible: jwang36\r
403       Class_BuildTool:\r
404         1) Changed VfrCompile.exe to be UEFI HII compatible\r
405         2) Improved R8 module build\r
406         3) Added binary file build\r
407         4) Removed "extern int __make_me_compile_correctly" in AutoGen code for\r
408            R9 modules, but kept for R8 modules\r
409         5) Enfored more error check and introduced a optimization for GenDepex\r
410         6) Added BUILD_RULE_CONF in target.txt to specify build rules file\r
411         7) Rebuilt all Python tools with Python2.5.2\r
413         Code Change :\r
414         1) build.exe\r
415         2) VfrCompile.exe\r
416         3) GenFds.exe\r
417         4) GenDepex.exe\r
418         5) target.template\r
421         Possible Impacts:\r
422         1) All EFI code needs to be UEFI HII compatible.\r
423         2) Conf/target.txt needs to be replaced by new target.template\r
425 ==========================================================================================\r
426 EDK_4251: Non-Compatible: jwang36\r
428       Class_BuildTool:\r
429         1) Changed MYTOOLS to use Visual Studio Team Suite for IA32 and X64. IPF is still use WINDKK.\r
430         2) Re-generated build.exe and GenFds.exe to incorporate new changes of build tools\r
431         3) Enabled multi-thread build mode by default (can be disabled by using "-n 0" option or changing\r
432            MULTIPLE_THREAD in target.txt to Disabled)\r
433         4) Fixed an incorrect command (no leading tab/space) generated in top level Makefile.\r
435         Code Change :\r
436         1) BaseTools/Bin/Win32/GenFds.exe\r
437         2) BaseTools/Bin/Win32/build.exe\r
438         3) BaseTools/Conf/target.template\r
439         4) BaseTools/Conf/tools_def.template\r
441         Possible Impacts:\r
442         1) Install Visual Studio 2005 Team Suite Edition.\r
444 ==========================================================================================\r
445 EDK_4190: Non-Compatible: jwang36\r
447       Class_BuildTool:\r
448         1) Added support of using PCD default value from DEC/INF file if one\r
449            PCD is declared in INF file but not found in DSC file.\r
450         2) Added support of breaking build if no library instance is found for\r
451            a library class.\r
453         Code Change :\r
454         1) BaseTools/Bin/Win32/build.exe\r
455         2) BaseTools/Bin/Win32/GenFds.exe\r
457         Possible Impacts:\r
458         1) All packages/platforms/modules, which have wrong library classes\r
459            declared or have no library instance for some library classes, must be\r
460            changed to make sure each library class declared in INF file has\r
461            corresponding library instance.\r
463 ==========================================================================================\r
464 EDK_4096: Non-Compatible: jwang36\r
466       Class_BuildTool:\r
467         1) Removed the calling of vsvars32.bat in edksetup.bat, unless\r
468            "--nt32" switch is used.\r
469         2) Added MAKE command in tools_def.txt. This is used to locate where\r
470            the nmake.exe or make.exe is because it will not be in PATH any more.\r
471         3) Removed the calling of vsvars32.bat in toolsetup.bat.\r
472         4) Solved the hang issue of build.exe when error occurred or Ctrl+C is\r
473            pressed.\r
474         5) Passed "-v/-d/-q" command line option to GenFds.exe in makefile if\r
475            it's used by build.exe.\r
477         Code Change :\r
478         1) BaseTools/Bin/Win32/build.exe\r
479         2) BaseTools/Bin/Win32/GenFds.exe\r
480         3) BaseTools/Conf/tools_def.template\r
481         4) BaseTools/toolsetup.bat\r
482         5) edksetup.bat\r
484         Possible Impacts:\r
485         1) Nt32Pkg build needs to run vsvars32.bat before edksetup.bat or run\r
486            edksetup.bat with "--nt32" option, like\r
488            edksetup.bat --nt32 newbuild\r
490         2) $(WORKSPACE)/Conf/tools_def.txt must be deleted before running\r
491            edksetup.bat because of new tools_def.template. Otherwise the\r
492            build.exe cannot find the nmake.exe to call.\r
494 ==========================================================================================\r
495 EDK_3947: Compatible: jwang36\r
497       Class_BuildTool:\r
498         1) Improved spawn mode (multi-thread) build performance (build -s)\r
499         2) Changed the error/debug/warning message format\r
500         3) Added "--log" command line option to support storing log in file\r
502         Code Change :\r
503         1) BaseTools/Bin/Win32/build.exe\r
506 ==========================================================================================\r
507 EDK_3936: Compatible: klu2\r
509       Class_BuildTool:\r
510         1) The first parameter of PEIM's entry point in autogen.c has been changed to\r
511            EFI_PEI_FILE_HANDLE\r
513         Code Change :\r
514         1) BaseTools/Bin/Win32/build.exe\r
516 ==========================================================================================\r
517 EDK_3926: Compatible: jlin16\r
519       Class_BuildTool:\r
520         1) Added support of Capsule generation from FDF file.\r
522         Code Change :\r
523         1) BaseTools/Bin/Win32/build.exe\r
524         2) BaseTools/Bin/Win32/GenFds.exe\r
526         Possible Impacts:\r
527         1) To generate capsule, insert [Capsule] section after [FV] sections and specifying\r
528         what FV will be put into capsule, For example:\r
529         [Capsule.Fob]\r
530         CAPSULE_GUID = 3B6686BD-0D76-4030-B70E-B5519E2FC5A0\r
531         CAPSULE_FLAG = PersistAcrossReset\r
532         FV = BiosUpdate\r
534 ==========================================================================================\r
535 EDK_3911: Compatible: jlin16\r
537       Class_BuildTool:\r
538         1) Added support of Apriori file generation from FDF file.\r
539         2) Added support of INF that describes binary files to put binary into FV.\r
540         3) Fixed single FV/FD generation error when specifying -i/-r option in GenFds.\r
543         Code Change :\r
544         1) BaseTools/Bin/Win32/build.exe\r
545         2) BaseTools/Bin/Win32/GenFds.exe\r
547         Possible Impacts:\r
548         1) To generate Apriori file in FV, insert APRIORI statement just before the INF or\r
549         FILE statement list of the FV, For example:\r
550         APRIORI PEI {\r
551           INF  MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
552           FILE PEIM = B7A5041A-78BA-49e3-B73B-54C757811FB6 {\r
553                   SECTION PE32 = MyBinPkg\bin\ia32\PeimAfterPcd.efi\r
554           }\r
555           INF  IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf\r
556         }\r
557         2) To add binary file described by INF file into FV, only insert the INF statement\r
558         into the INF statements list of that FV, like this:\r
560         INF RuleOverride=Test MdeModulePkg/Logo/Logo.inf\r
562         Specifying how to process the binary file by defining corresponding Rule like this:\r
563         [Rule.Common.Base.Test]\r
564          FILE FREEFORM = $(NAMED_GUID) {\r
565            COMPRESS PI_STD {\r
566              GUIDED {\r
567                 RAW BIN |.bmp\r
568              }\r
569            }\r
570          }\r
572 ==========================================================================================\r
573 EDK_3832: Non-Compatible: jwang36\r
575       Class_BuildTool:\r
576         1) Added support of MACRO in tools_def.txt\r
577         2) Merged PATH and NAME attributes in tools_def.txt\r
578         3) Changed DPATH attribute to DLL in tools_def.txt\r
579         4) Removed SPATH attribute in tools_def.txt\r
580         5) Added support for library instance without library class\r
581         6) Fixed the issue in Trim tool which zero file will be generated if the trimmed\r
582            file has not line directive\r
584         Code Change :\r
585         1) BaseTools/Bin/Win32/build.exe\r
586         2) BaseTools/Bin/Win32/GenFds.exe\r
587         3) BaseTools/Bin/Win32/Trim.exe\r
588         4) BaseTools/Conf/tools_def.template\r
590         Possible Impacts:\r
591         1) All platforms and modules build\r
593 ==========================================================================================\r
594 EDK_3801: Compatible: jwang36\r
596       Class_BuildConfiguration: Added makefile as dependency for "Dynamic-Library-File" to\r
597         solve the incremental build issue occurred when there's library changes\r
599         Code Change :\r
600         1) BaseTools/Conf/build_rule.template\r
602 ==========================================================================================\r
603 EDK_3800: Compatible: lgao4\r
605       Class_BuildTool: Update EfiRom tool to fix checksum and PCI3.0 data structure\r
607         Code Change :\r
608         1) BaseTools/Bin/Win32/EfiRom.exe\r
610 ==========================================================================================\r
611 EDK_3795: Compatible: htao\r
613       Class_BuildTool: GenVtf tool open/write file with "r+b"/"w+b" attribute, but this cause\r
614                        the RO attribute of the file changed. Fix this issue by changing\r
615                        "r+b"/"w+b" to "rb"/"wb".\r
617         Code Change :\r
618         1) BaseTools/Bin/Win32/GenVtf.exe\r
620 ==========================================================================================\r
621 EDK_3791: Compatible: jlin16\r
623       Class_BuildTool:\r
624         1) use '#' to indicate flash generation progress.\r
625         2) use -v to switch on detail output messages.\r
627         Code Change :\r
628         1) BaseTools/Bin/Win32/GenFds.exe\r
630 ==========================================================================================\r
631 EDK_3789: Non-Compatible: lgao4\r
633       Class_BuildTool: support new Rules format and PCD format defined in FDF file\r
635         Code Change :\r
636         1) BaseTools/Bin/Win32/build.exe\r
637         2) BaseTools/Bin/Win32/GenFds.exe\r
639         Possible Impacts:\r
640         1) All platform's FDF file, if any, must be changed to new format.\r
641           a) PCD format is changed from old PcdName to new PcdTokenSpaceGuid.PcdName,\r
642              for example PcdWinNtFdBaseAddress in old FDF file will be replaced\r
643              by gEfiNt32PkgTokenSpaceGuid.PcdWinNtFdBaseAddres.\r
644           b) Rule format adds binary file type and file postfix name support,\r
645              and doesn't require the full file path. Examples for Peim and AcpiTable module:\r
646           Old Peim Rule:\r
647           [Rule.Common.PEIM]\r
648           FILE PEIM = $(NAMED_GUID) {\r
649              PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).Depex\r
650              PE32                      $(INF_OUTPUT)/$(MODULE_NAME).efi\r
651              UI Optional               $(MODULE_NAME)\r
652              VERSION Optional          BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)\r
653           }\r
654           New Peim Rule:\r
655           [Rule.Common.PEIM]\r
656             FILE PEIM = $(NAMED_GUID) {\r
657                PEI_DEPEX PEI_DEPEX Optional        |.Depex\r
658                PE32      PE32                      |.efi\r
659                UI       STRING="$(MODULE_NAME)" Optional\r
660                VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
661             }\r
663           Old AcpiTable Rule:\r
664           [Rule.Common.DXE_DRIVER.ACPITABLE]\r
665             FILE FREEFORM = $(NAMED_GUID) {\r
666               RAW                    $(INF_OUTPUT)/Madt.acpi\r
667               RAW                    $(INF_OUTPUT)/Fadt.acpi\r
668               RAW                    $(INF_OUTPUT)/Facs.acpi\r
669               RAW                    $(INF_OUTPUT)/Spcr.acpi\r
670               RAW                    $(INF_OUTPUT)/Dsdt.aml\r
671             }\r
672           New AcpiTable Rule:\r
673           [Rule.Common.DXE_DRIVER.ACPITABLE]\r
674             FILE FREEFORM = $(NAMED_GUID) {\r
675               RAW ACPI |.acpi\r
676               RAW ASL  |.aml\r
677             }\r
679 ==========================================================================================\r
680 EDK_3786: Compatible: vjeff\r
682       Class_BuildConfiguration:\r
683         1) Redirect ICC_IA32_*_PATH from C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\r
684            to C:\Program Files\Intel\Compiler\C++\9.1\IA32\Bin.\r
685         2) Add ICC X64 definition to enable ICC X64 build.\r
687         Code Change :\r
688         1) BaseTools/Conf/tools_def.template\r
690 ==========================================================================================\r
691 EDK_3785: Non-Compatible: klu2\r
693       Class_BuildTool: Upgrade the format of EFI_PEIM_ENTRY_POINT to\r
694                        EFI_PEIM_ENTRY_POINT2 according to PI specification.\r
697         Code Change :\r
698         1) BaseTools/Bin/Win32/build.exe\r
700         Possible Impacts:\r
701         1) All modules build\r
704 ==========================================================================================\r
705 EDK_3780: Non-Compatible: qhuang8\r
707       Class_MigrationTool: Update the syntax of PCD section.\r
708                            Update the syntax of binary INF file\r
709                            The generated Extended INF file should follow Extended INF spec 0.44\r
711         Code Change :\r
712         1) BaseTools/Bin/Win32/MigrationMsa2Inf.exe\r
714         Possible Impacts:\r
715         1) New module migrated from old R9\r
718 ==========================================================================================\r
719 EDK_3766: Non-Compatible: lgao4\r
721       Class_BuildConfiguration: Update Acpi Asl file Build rule to remove trim step.\r
723         Code Change :\r
724         1) Conf/build_rule.template\r
726         Possible Impacts:\r
727         1) Platform with ACPI module. Acpi module needs to set /EP preprocessor compiler option\r
728         for APP_FLAGS in module inf to override the default /E option defined in tools_def.txt file.\r