Commit Graph

511 Commits

Author SHA1 Message Date
klu2 66e1951f49 Synchronize build tools binaries with source code r1654 at build tool project.
The modifications includes:
1) Correct the issue that build tool generate UINT8 array for unicode string type PCD, it maybe cause alignment issue. Now build tool will generate UINT16 array for unicode string type PCD.
2) Merge FdfParser.py updates to FdfParserLite.py
3) Replace EFI_IMAGE_NT_HEADERS with EFI_IMAGE_OPTIONAL_HEADER_UNION. (GenFv)
The code referencing EFI_IMAGE_NT_HEADERS has been modified to
refer to EFI_IMAGE_OPTIONAL_HEADER_UNION => Pe32/Pe32Plus.
4) Remove definitions of build machine specific types.
Remove EFI_IMAGE_OPTIONAL_HEADER, EFI_IMAGE_NT_HEADERS,
EFI_IMAGE_NT_OPTIONAL_HDR_MAGIC, and EFI_IMAGE_MACHINE_TYPE_SUPPORTED,
since these were defined differently based on the architecture
of the build machine.  The BaseTools should support the edk2
supported processor architectures and not depend on the architecture
of the build platform.
5) Added support for the ARM processor type
Added RVCT as a ToolChainFamily (Real View Compiler Tools from ARM)
Enabled FixedAtBuild 32-bit PCDs to be used from GCC or RVCT assembler.
Updated GenFw to support RVCT ELF images and removed #ifdefs for ELF. Also made ELF to PE/COFF features available on all supported build targets for the tools by adding some FreeBSD ELF headers.
Updated GenFv to support the ARM reset vector in ZeroBytes of the FV header.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8872 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-10 09:38:06 +00:00
lgao4 c437405563 Synchronize the build tools' binary with source files at r1645 in build tool project.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8828 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-09 05:47:15 +00:00
xli24 ee33873da1 Synchronize the build tools' binary with source files at r1640 in build tool project.
This update adds error check for environment path existence.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8823 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-08 15:47:25 +00:00
xli24 ee0b896904 Synchronize the build tools' binary with source files at r1639 in build tool project.
This update fixes the bug of unmatched paths due to case-sensitive comparison on case-insensitive systems.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8814 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-08 08:49:33 +00:00
klu2 61374f5d4f Synchronize the build tools' binary with source files at r1637 in build tool project.
The modifications are:
1. Support BuildRuleFamily attribute of tool chain tag to be filtered build rule.
2. Enhance GenFds tool to get the default PcdValue from DEC file.
3. Enhance AutoGen to generate library function constructors for SEC type module.  

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8764 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-06 15:13:54 +00:00
klu2 e8c42f8a7d Synchronize the binary with modification at build tool project r1634. The modification is adjusting the regular expression to handle more "#include" case when build tool calculate the dependency for source file. This modification has been tested under UNIX and MSFT tool chain.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8699 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-01 06:44:37 +00:00
klu2 03476bf384 Synchronize the binary with build tools' source at r1630 which fix the issue that the dependency of some header files is missed in Gnu makefile
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8623 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-23 05:42:02 +00:00
klu2 23d0599aae Synchronize all binaries with build tools source base on r1628.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8617 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-21 13:33:37 +00:00
klu2 e189fded67 Synchronize binary with modification of r1618 in buildtools project. The modification is made for WorkspaceDatabase.py and affect the frozen binary of build.exe, GenFds.exe and TargetTools.exe
The modification is add additional checking for whether need renew the immediate file workspace database, the renew reason maybe:
The renew reason maybe:
1) If user force to renew;
2) If user do not force renew, and
   a) If the time of last modified python source is newer than database file;
   b) If the time of last modified frozen executable file is newer than database file, the executable file is build.exe in window and build in Linux/Unix/OSX

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8615 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-19 15:55:44 +00:00
klu2 273f5ad101 Add missing python binary freezed from build tools project at r1623
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8534 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-12 01:41:25 +00:00
klu2 94ca8fffcb Synchronize the source of build tool from build tool project (r1623) to binary in edk2 project at (r8530)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8531 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-11 09:45:52 +00:00
klu2 d616bf7593 Fix a typo in help message.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8475 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 05:27:16 +00:00
klu2 33cf9937a9 Fix issue that build is broken if a dynamic PCD's value is L"".
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8460 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-04 03:37:24 +00:00
lgao4 86fe4ef3f8 Update GenFw tool to zero time/date by default.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8450 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 03:22:08 +00:00
lgao4 ac4e7050a3 Fix bug to fill Startup AP Vector address in FvImage
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8443 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 08:49:35 +00:00
klu2 740cce9ec0 The MULTIPLE_THREAD should be choice from "Disable", "Enable" but not "TRUE", "FALSE"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8442 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 07:12:54 +00:00
klu2 a7ef0a80e1 1, Add checking for input parameter tool tag which is used to find external tools.
2, Make some minor fixing for TargetTool.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8424 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 08:56:04 +00:00
rsun3 94fe1ac9f6 Update build.exe after StrGather was updated. Add -s build flag in EdkShellPkg.dsc so that .UNI files with ISO 639-2 language codes of EDK Shell can be built.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8413 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-31 07:46:19 +00:00
klu2 d09651693b Fix the bug that build tool and PCD driver can not deal with byte array or ANSIC type value for dynamic PCD.
This patch including following change:
1) Build tools:
   a) StringTable in generated PCD database is changed to UINT8 array but not original UINT16, because it can also stored the ANSIC and byte array.
   b) The layout of string table in PCD database is changed. To make sure unicode string is in double byte aligned, the item in string table which hold unicode string value will be put ahead than other items. After unicode string item, the HII variable name item is immediate. The byte array item and ANSIC string array item will be put at tail of whole string table.
   c) Fix bug that build tools does not handle the size of unicode string, byte array and ANSIC string.
2) PCD PEI/DXE driver:
   The pointer of StringTable is changed to UINT8* but not original UINT16*.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8392 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-27 11:34:11 +00:00
lgao4 68b54c0c25 Correct GenPage to get the input option value.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8387 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 09:01:42 +00:00
lgao4 8aea08dc20 Correct the parameter parser of GenBootSector.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8385 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 07:26:08 +00:00
rsun3 b0a5e682d6 Update build.exe after StrGather python script was changed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8383 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 03:40:56 +00:00
lgao4 527a098160 Remove the tool PcdSyntaxUpdate.exe. This tool is an obsolete tool. It is added to be used to update PCD format according to INF 0.44, DEC 0.41, DSC 0.40. But, now EDKII code base conforms to the newest public 1.1 version INF, DEC and DSC spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8382 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 03:05:07 +00:00
lgao4 1df9325aee Fix minor bug in tools.
1. Incorrect usage help of TianoCompress tool
2. Wrong check for the input parameters of GenVtf tool.
3. The potential issues to get FFS files in GenFv tool.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8379 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-25 08:24:08 +00:00
lgao4 f6427e83c8 Add the checking to the input parameter of tools.
Support the tool parameter options according to tool user manual.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8378 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-25 05:53:00 +00:00
klu2 ab4e42d903 Build tool need generate different value macro's name for PatchableInModule type PCD against FixedAtBuild PCD.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8368 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-21 08:43:22 +00:00
klu2 14073b3f8c Fix the bug that TAB character in uni file make unicode string missing in autogen file. Corresponding version in build tool project is r1592.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8364 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-21 04:39:36 +00:00
klu2 b20d41df13 temporary roll back build.exe because the some string definition are missed by strgather introduced latest check-in.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8345 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 09:44:31 +00:00
klu2 32685030d8 Freeze for build tool check-in r1591: Fix bug in the processing of backslashes in UNI files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8341 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 02:20:07 +00:00
klu2 8968742e88 Originally, there are following implementation:
1) The collect action of platform's dynamic PCD database is trigged by module's autogen action. 
2) If platform is used for more than one architecture, two platform object will be created

Above two rules will cause an issue for single module building that if
1) platform support IA32 and X64
2) do single module for X64 module

then, the dynamic PCD for IA32 modules will missed in PCD database, because no IA32 module need autogen so collection action for IA32 module is not trigged.

Now, I think the collection action for platform dynamic PCD should be explicitly called after PlatformAutoGen is created.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8323 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-18 07:09:48 +00:00
klu2 133ed0bf9d Fix bug for -b option
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8305 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-13 05:29:20 +00:00
klu2 66b2a7d529 Add valid range checking for count of multi-thread
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8303 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 07:40:59 +00:00
klu2 410ee03367 Add checking for options number to avoid user's confusion. The corresponding patch in source is r1583 in build tools project.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8302 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 07:30:04 +00:00
klu2 f6c412fc33 Make improvement that if target directory does not exist, create it. This patch is corresponding to r1582 in build tool project.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8301 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 06:40:10 +00:00
klu2 8ab1d991dc Make tool more intelligence for missing configuration item. The corresponding version number is r1581 in build tools project.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8300 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 06:10:59 +00:00
lgao4 9920798948 Update GenFw help usage information to clarify -z option.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8298 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 04:51:00 +00:00
klu2 2842d31b8f Add more validation for input parameters.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8293 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 07:44:55 +00:00
klu2 ca2ce09e51 Add warning message that tool chain tag will be ignored if user provide output directory from command line explicitly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8290 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 07:04:28 +00:00
klu2 5796de6792 Add Fv name checking for build.exe if user gives FV name from command line. originally, this checking is only done by GenFds tool, that is too later.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8288 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 05:37:56 +00:00
klu2 6d40c636c2 Fix bug that trim crash when no parameter is input.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8287 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 03:18:42 +00:00
klu2 9449c39f5f Remove -c option for GenFds tool because it does not defined in build specification.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8286 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 03:01:05 +00:00
klu2 512a785d03 Update TargetTools for add set/get/clean BUILD_RULE_CONF option for target.txt file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8285 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 02:34:33 +00:00
lgao4 1a98add516 Update EfiRom to handle ClassCode and CodeRevision options correctly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8240 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-05 07:30:35 +00:00
jlin16 de9c25b173 GenFds change efirom command line option from '-I' to '-l'.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8239 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-05 06:26:45 +00:00
jwang36 174566661a Add SMM_DRIVER and SMM_CORE support
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8238 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-05 06:01:17 +00:00
jlin16 3b2b355772 GenFds add option ROM parameters override of those in INF file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8237 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-05 05:26:26 +00:00
jwang36 15543340da Implemented feature request hsd202262 and incorporated SMM support
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8229 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-03 06:40:59 +00:00
jljusten c470d83142 Add WIN32 binary build of LzmaCompress. Add LzmaCompress to tools_def.template.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8228 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-01 06:45:01 +00:00
qhuang8 33d487d463 Sync bug fix of Base Tools r1559.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8226 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-30 10:45:50 +00:00
lgao4 15a7c2f1fe Update VfrCompiler to handle ideqvallist as the first opcode case. Per UEFI spec, If the expression consists of more than a single opcode, then the first opcode in the expression must have the Scope bit set and the expression must end with EFI_IFR_END
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8143 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-22 02:29:17 +00:00