Commit Graph

730 Commits

Author SHA1 Message Date
qhuang8 8e2978b4ad Add /GF compiler option for IPF ICC tool chains by default.
This option enables read-only string pools to reduce the final PE/COFF image size.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9220 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-01 15:03:44 +00:00
AJFISH c719e02c14 Adding a python script to enable RVCT 3.1 (ARM ARM compiler) to run in cygwin. The build system passes cygpaths and the Windows tool can not deal with that. The python converts paths to C:\ to make RVCT 3.1 happy. This has been fixed in RVCT 4.0. The ARM processor does not support instructions like divide, so compiler specific intrinsics are required. The .libs are checked in here and referenced from the tools_def.template file, so they are automatically included when the compiler is invoked. The souce to these .lib files will be checkin soon in a new ArmPkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9201 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-26 21:08:05 +00:00
jljusten e0d22735b7 Change the default location for IASL on Unix.
The default is now /usr/bin/iasl, but $(HOME)/programs/iasl is
also shown as a commented example.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9077 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-15 05:05:02 +00:00
jljusten 726d5a8edc Remove '/' directory separator from CYGWIN & UNIXGCC tool specications.
This allows for the UNIXGCC_*_PETOOLS_PREFIX and CYGWIN_* macros
to potentially have a prefix before the executable name.  This allows
more flexibility for gcc/binutils when the executables include
a prefix.  Some commented examples are shown where this might be used.
For example:
  DEFINE UNIXGCC_IA32_PETOOLS_PREFIX = i386-pc-mingw32-
    or
  DEFINE UNIXGCC_IA32_PETOOLS_PREFIX = ENV(HOME)/programs/gcc/ia32/bin/i686-pc-mingw32-

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9076 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-15 05:05:00 +00:00
vanjeff 030529de20 build tools will break if PEIM or DXE driver has no valid [Depex] section.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9057 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-12 06:53:41 +00:00
jljusten 772d3214e9 Update links for broken urls in BaseTools/gcc/mingw-gcc-build.py script.
The new version of mingw-w64-snapshot-20090419.tar.bz2
requires a modification to
  IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/UefiLzma.h
in order to build successfully with the new mingw header files.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9027 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-05 21:11:56 +00:00
klu2 58e4d80096 Hot fixing for the bug that GenFw can not convert ELF to PE format correctly, the root cause is invalid size of OptionalHeader is computed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8976 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-21 16:56:35 +00:00
jljusten 2703f9e230 Restore symlinks & scripts with proper svn properties set.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8972 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-18 00:01:55 +00:00
jljusten e7eabe08c7 Remove broken BinWrappers links/scripts.
They will be re-added in next commit.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8971 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-18 00:01:48 +00:00
lgao4 66775d1cb6 Sync binary tool to main trunk tool source. Update VfrCompiler tool to fix varstore name is not correctly generated.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8969 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-17 11:31:09 +00:00
lgao4 df1780f8bf Fix VfrCompiler bug to create varstore name by varstore name field not structure field for framework Vfr.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8968 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-17 11:11:56 +00:00
lgao4 30fdf1140b Check In tool source code based on Build tool project revision r1655.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8964 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-17 09:10:31 +00:00
lgao4 1252ae4c42 Synchronize build tools binaries with source code r1655 at build tool project.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8919 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-13 05:24:21 +00:00
lgao4 7bc6c82b85 ynchronize build tools binaries with source code r1655 at build tool project.
Fix a bug that GenFv tool can't generate the correct top reset vector table for IA32, X64 and IPF arch SEC module.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8918 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-13 05:23:00 +00:00
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 c9c705a855 add quote for file path in @file option
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8762 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-06 15:03:25 +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
lgao4 38d4998ad4 Add ASL_OUTFLAG to contain the different ASL output options.
ASL_FLAG to contain other ASL options.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8584 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-17 09:34:46 +00:00
klu2 fba25bdd54 Clarify build tools project's combo path
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8535 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-12 01:44:42 +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 ecb11926ec 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@8441 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 07:10:41 +00:00
klu2 c9d0e0815b Add MULTIPLE_THREAD option.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8439 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 03:02:10 +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